Company tasks(100, 101, 102, 103)

remotes/origin/1203
Назар Котюк 11 years ago
parent 614bf306d7
commit 68a5bee70d
  1. 8
      company/edit_forms.py
  2. 47
      company/edit_views.py
  3. 2
      company/urls.py
  4. 12
      company/views.py
  5. 7
      templates/client/accounts/user.html
  6. 7
      templates/client/company/company_detail.html
  7. 18
      templates/client/includes/accounts/simple_user.html
  8. 7
      templates/client/includes/company/company_edit.html
  9. 18
      templates/client/includes/company/company_object.html

@ -4,6 +4,7 @@ from django.utils.translation import ugettext as _, get_language
from country.models import Country from country.models import Country
from city.models import City from city.models import City
from company.models import Company from company.models import Company
from theme.models import Theme
class BaseForm(forms.ModelForm): class BaseForm(forms.ModelForm):
@ -107,6 +108,13 @@ class SocialForm(BaseForm):
fields = ('facebook', 'twitter', 'vk', 'linkedin') fields = ('facebook', 'twitter', 'vk', 'linkedin')
class ThemeForm(BaseForm):
theme = forms.ModelMultipleChoiceField(queryset=Theme.objects.all())
class Meta:
model = Company
fields = ('theme',)
class TagForm(BaseForm): class TagForm(BaseForm):
tag = forms.CharField(required=False, widget=forms.HiddenInput(attrs={'class': 'select2'})) tag = forms.CharField(required=False, widget=forms.HiddenInput(attrs={'class': 'select2'}))
class Meta: class Meta:

@ -87,9 +87,56 @@ class SocialView(BaseView):
form_class = SocialForm form_class = SocialForm
class ThemeView(BaseView):
form_class = ThemeForm
def form_valid(self, form):
slug = self.kwargs.get('slug')
if not slug:
raise Http404
company = Company.objects.get(url=slug)
if company.creator_id != self.request.user.id:
return HttpResponseForbidden()
form = self.form_class(self.request.POST, instance=company)
company = form.save()
try:
rating = company.rating
except AttributeError:
rating = company.master.rating
themes = [{'text': item.name,'id': str(item.id),'url': '/members/theme/%s/'%item.url} for item in company.theme.all()]
response = {'success': True, 'rating': rating, 'tags': themes}
return HttpResponse(json.dumps(response), content_type='application/json')
class TagView(BaseView): class TagView(BaseView):
form_class = TagForm form_class = TagForm
def form_valid(self, form):
slug = self.kwargs.get('slug')
if not slug:
raise Http404
company = Company.objects.get(url=slug)
if company.creator_id != self.request.user.id:
return HttpResponseForbidden()
form = self.form_class(self.request.POST, instance=company)
company = form.save()
try:
rating = company.rating
except AttributeError:
rating = company.master.rating
tags = [{'text': item.name,'id': str(item.id),'url': '/members/tag/%s/'%item.url} for item in company.tag.all()]
response = {'success': True, 'rating': rating, 'tags': tags}
return HttpResponse(json.dumps(response), content_type='application/json')
class FoundationView(BaseView): class FoundationView(BaseView):
form_class = FoundationForm form_class = FoundationForm

@ -9,7 +9,6 @@ urlpatterns = patterns('',
url(r'company/create-company/$', 'company.views.create_company'), url(r'company/create-company/$', 'company.views.create_company'),
url(r'company/get-company/$', 'company.views.get_company'), url(r'company/get-company/$', 'company.views.get_company'),
# #
url(r'members/search/$', CompanySearchView.as_view()), url(r'members/search/$', CompanySearchView.as_view()),
#url(r'members/(?P<params>.*)/(?P<page>\d+)/$', CompanyView.as_view()), #url(r'members/(?P<params>.*)/(?P<page>\d+)/$', CompanyView.as_view()),
#url(r'members/(?P<page>\d+)/$', CompanyView.as_view()), #url(r'members/(?P<page>\d+)/$', CompanyView.as_view()),
@ -32,6 +31,7 @@ urlpatterns = patterns('',
url(r'^company/update/web-page/(?P<slug>.*)/$', login_required(WebPageView.as_view())), url(r'^company/update/web-page/(?P<slug>.*)/$', login_required(WebPageView.as_view())),
url(r'^company/update/social/(?P<slug>.*)/$', login_required(SocialView.as_view())), url(r'^company/update/social/(?P<slug>.*)/$', login_required(SocialView.as_view())),
url(r'^company/update/tag/(?P<slug>.*)/$', login_required(TagView.as_view())), url(r'^company/update/tag/(?P<slug>.*)/$', login_required(TagView.as_view())),
url(r'^company/update/theme/(?P<slug>.*)/$', login_required(ThemeView.as_view())),
url(r'^company/update/foundation/(?P<slug>.*)/$', login_required(FoundationView.as_view())), url(r'^company/update/foundation/(?P<slug>.*)/$', login_required(FoundationView.as_view())),
url(r'^company/update/staff/(?P<slug>.*)/$', login_required(StaffView.as_view())), url(r'^company/update/staff/(?P<slug>.*)/$', login_required(StaffView.as_view())),
url(r'^company/update/description/(?P<slug>.*)/$', login_required(DescriptionView.as_view())), url(r'^company/update/description/(?P<slug>.*)/$', login_required(DescriptionView.as_view())),

@ -15,7 +15,7 @@ from .edit_forms import NameForm as CompNameForm, HomeForm as CompHomeForm, Phon
EmailForm as CompEmailForm, WebPageForm as CompWebPageForm, SocialForm as CompSocialForm,\ EmailForm as CompEmailForm, WebPageForm as CompWebPageForm, SocialForm as CompSocialForm,\
TagForm as CompTagForm, DescriptionForm as CompDescr, StaffForm as CompStaff, \ TagForm as CompTagForm, DescriptionForm as CompDescr, StaffForm as CompStaff, \
FoundationForm as CompFound, SpecializationForm as CompSpec, AddressForm as CompAddress,\ FoundationForm as CompFound, SpecializationForm as CompSpec, AddressForm as CompAddress,\
LogoForm as CompLogo LogoForm as CompLogo, ThemeForm as CompThemeForm
class CompanySearchView(ListView): class CompanySearchView(ListView):
@ -112,11 +112,17 @@ class MemberDetail(DetailView):
'staff_form': CompStaff(instance=company), 'found_form': CompFound(instance=company), 'staff_form': CompStaff(instance=company), 'found_form': CompFound(instance=company),
'logo_form': CompLogo(instance=company) 'logo_form': CompLogo(instance=company)
} }
tags = [{'id': str(tag.id), 'text': tag.name } for tag in company.tag.all()] tags = [{'id': str(tag.id), 'text': tag.name, 'url': '/members/tag/%s/'%tag.url} for tag in company.tag.all()]
tag_form = CompTagForm() tag_form = CompTagForm()
tag_form.fields['tag'].widget.attrs['data-predifined'] = json.dumps(tags) tag_form.fields['tag'].widget.attrs['data-predifined'] = json.dumps(tags)
tag_form.fields['tag'].widget.attrs['value'] = '' tag_form.fields['tag'].widget.attrs['value'] = ''
forms.update({'tag_form': tag_form})
#themes = [{'id': str(item.id), 'text': item.name } for item in company.theme.all()]
theme_form = CompThemeForm(instance=company)
#theme_form.fields['theme'].widget.attrs['data-predifined'] = json.dumps(themes)
#theme_form.fields['tag'].widget.attrs['value'] = ''
forms.update({'tag_form': tag_form, 'theme_form': theme_form})
lang = get_language() lang = get_language()
comp_transl = company.translations.get(language_code=lang) comp_transl = company.translations.get(language_code=lang)

@ -12,10 +12,11 @@
{% block content_list %} {% block content_list %}
{% if request.user == member %} {% if request.user != member or request.GET.logout %}
{% include 'client/includes/accounts/current_user.html' %}
{% else %}
{% include 'client/includes/accounts/simple_user.html' %} {% include 'client/includes/accounts/simple_user.html' %}
{% else %}
{% include 'client/includes/accounts/current_user.html' %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}

@ -13,11 +13,10 @@
{% endblock %} {% endblock %}
{% block content_list %} {% block content_list %}
{% if request.user == object.creator %} {% if request.user != object.creator or request.GET.logout %}
{% include 'client/includes/company/company_edit.html' with company=object %}
{% else %}
{% include 'client/includes/company/company_object.html' with company=object %} {% include 'client/includes/company/company_object.html' with company=object %}
{% else %}
{% include 'client/includes/company/company_edit.html' with company=object %}
{% endif %} {% endif %}

@ -48,16 +48,24 @@
<ul class="soc-media-buttons"> <ul class="soc-media-buttons">
{% if member.profile.facebook %} {% if member.profile.facebook %}
<li><a href="{{ member.profile.facebook }}"><img src="{% static 'client/img/soc-medias/sm-icon-fb.png' %}" title="Facebook" alt="Facebook" /></a></li> <li>
<a target="_blank" href="#" data-type="href" data-hash="fb" data-url="{{ member.profile.facebook|base64_encode }}" class="link-encode"><img src="{% static 'client/img/soc-medias/sm-icon-fb.png' %}" title="Facebook" alt="Facebook" /></a>
</li>
{% endif %} {% endif %}
{% if member.profile.linkedin %} {% if member.profile.linkedin %}
<li><a href="{{ member.profile.linkedin }}"><img src="{% static 'client/img/soc-medias/sm-icon-lin.png' %}" title="LinkedIn" alt="LinkedIn" /></a></li> <li>
<a target="_blank" href="#" data-type="href" data-hash="ld" data-url="{{ member.profile.linkedin|base64_encode }}" class="link-encode"><img src="{% static 'client/img/soc-medias/sm-icon-lin.png' %}" title="LinkedIn" alt="LinkedIn" /></a>
</li>
{% endif %} {% endif %}
{% if member.profile.vk %} {% if member.profile.vk %}
<li><a href="{{ member.profile.vk }}"><img src="{% static 'client/img/soc-medias/sm-icon-vk.png' %}" title="В контакте" alt="В контакте" /></a></li> <li>
<a target="_blank" href="#" data-type="href" data-hash="vk" data-url="{{ member.profile.vk|base64_encode }}" class="link-encode"><img src="{% static 'client/img/soc-medias/sm-icon-vk.png' %}" title="В контакте" alt="В контакте" /></a>
</li>
{% endif %} {% endif %}
{% if member.profile.twitter %} {% if member.profile.twitter %}
<li><a href="{{ member.profile.twitter }}"><img src="{% static 'client/img/soc-medias/sm-icon-twit.png' %}" title="Twitter" alt="Twitter" /></a></li> <li>
<a target="_blank" href="#" data-type="href" data-hash="tw" data-url="{{ member.profile.twitter|base64_encode }}" class="link-encode"><img src="{% static 'client/img/soc-medias/sm-icon-twit.png' %}" title="Twitter" alt="Twitter" /></a>
</li>
{% endif %} {% endif %}
</ul> </ul>
</div> </div>
@ -75,7 +83,7 @@
{% endif %} {% endif %}
{% if member.profile.web_page %} {% if member.profile.web_page %}
<div class="ic-site"> <div class="ic-site">
<a class="icon-ext-link" href="{{ member.profile.web_page }}" target="_blank">{{ member.profile.web_page }}</a> <a target="_blank" href="#" data-type="href" data-hash="web" data-url="{{ member.profile.web_page|base64_encode }}" class="icon-ext-link link-encode">{{ member.profile.web_page }}</a>
</div> </div>
{% endif %} {% endif %}
</div> </div>

@ -189,9 +189,10 @@
</div> </div>
{% with themes=company.theme.all %} {% with themes=company.theme.all %}
<div class="i-area" id="theme-inf" data-theme="{% for th in themes %}{{ th.id }},{% endfor %}"> <div class="i-area" id="theme-inf" data-theme="{% for th in themes %}{{ th.id }},{% endfor %}">
{% for th in themes %} <form class="inline-block" id="theme_form" action="/company/update/theme/{{ company.url }}/" method="post">
<a href="/members/theme/{{ th.url }}">{{ th.name }}</a>{% ifnotequal forloop.counter themes|length %},{% endifnotequal %} {% csrf_token %}
{% endfor %} <div class="tag-select">{{ theme_form.theme }}</div>
</form>
</div> </div>
{% endwith %} {% endwith %}

@ -53,16 +53,24 @@
--> -->
<ul class="soc-media-buttons"> <ul class="soc-media-buttons">
{% if company.facebook %} {% if company.facebook %}
<li><a href="{{ company.facebook }}"><img src="{% static 'client/img/soc-medias/sm-icon-fb.png' %}" title="Facebook" alt="Facebook" /></a></li> <li>
<a target="_blank" href="#" data-type="href" data-hash="fb" data-url="{{ company.facebook |base64_encode }}" class="link-encode"><img src="{% static 'client/img/soc-medias/sm-icon-fb.png' %}" title="Facebook" alt="Facebook" /></a>
</li>
{% endif %} {% endif %}
{% if company.linkedin %} {% if company.linkedin %}
<li><a href="{{ company.linkedin }}"><img src="{% static 'client/img/soc-medias/sm-icon-lin.png' %}" title="LinkedIn" alt="LinkedIn" /></a></li> <li>
<a target="_blank" href="#" data-type="href" data-hash="ld" data-url="{{ company.linkedin|base64_encode }}" class="link-encode"><img src="{% static 'client/img/soc-medias/sm-icon-lin.png' %}" title="LinkedIn" alt="LinkedIn" /></a>
</li>
{% endif %} {% endif %}
{% if company.vk %} {% if company.vk %}
<li><a href="{{ company.vk }}"><img src="{% static 'client/img/soc-medias/sm-icon-vk.png' %}" title="В контакте" alt="В контакте" /></a></li> <li>
<a target="_blank" href="#" data-type="href" data-hash="vk" data-url="{{ company.vk|base64_encode }}" class="link-encode"><img src="{% static 'client/img/soc-medias/sm-icon-vk.png' %}" title="В контакте" alt="В контакте" /></a>
</li>
{% endif %} {% endif %}
{% if company.twitter %} {% if company.twitter %}
<li><a href="{{ company.twitter }}"><img src="{% static 'client/img/soc-medias/sm-icon-twit.png' %}" title="Twitter" alt="Twitter" /></a></li> <li>
<a target="_blank" href="#" data-type="href" data-hash="tw" data-url="{{ company.twitter|base64_encode }}" class="link-encode"><img src="{% static 'client/img/soc-medias/sm-icon-twit.png' %}" title="Twitter" alt="Twitter" /></a>
</li>
{% endif %} {% endif %}
</ul> </ul>
</div> </div>
@ -80,7 +88,7 @@
{% endif %} {% endif %}
{% if company.web_page %} {% if company.web_page %}
<div class="ic-site"> <div class="ic-site">
<a class="icon-ext-link" href="{{ company.web_page }}" target="_blank">{{ company.web_page }}</a> <a target="_blank" href="#" data-type="href" data-hash="web" data-url="{{ company.web_page|base64_encode }}" class="icon-ext-link link-encode">{{ company.web_page }}</a>
</div> </div>
{% endif %} {% endif %}
</div> </div>

Loading…
Cancel
Save