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 city.models import City
from company.models import Company
from theme.models import Theme
class BaseForm(forms.ModelForm):
@ -107,6 +108,13 @@ class SocialForm(BaseForm):
fields = ('facebook', 'twitter', 'vk', 'linkedin')
class ThemeForm(BaseForm):
theme = forms.ModelMultipleChoiceField(queryset=Theme.objects.all())
class Meta:
model = Company
fields = ('theme',)
class TagForm(BaseForm):
tag = forms.CharField(required=False, widget=forms.HiddenInput(attrs={'class': 'select2'}))
class Meta:

@ -87,9 +87,56 @@ class SocialView(BaseView):
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):
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):
form_class = FoundationForm

@ -9,7 +9,6 @@ urlpatterns = patterns('',
url(r'company/create-company/$', 'company.views.create_company'),
url(r'company/get-company/$', 'company.views.get_company'),
#
url(r'members/search/$', CompanySearchView.as_view()),
#url(r'members/(?P<params>.*)/(?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/social/(?P<slug>.*)/$', login_required(SocialView.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/staff/(?P<slug>.*)/$', login_required(StaffView.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,\
TagForm as CompTagForm, DescriptionForm as CompDescr, StaffForm as CompStaff, \
FoundationForm as CompFound, SpecializationForm as CompSpec, AddressForm as CompAddress,\
LogoForm as CompLogo
LogoForm as CompLogo, ThemeForm as CompThemeForm
class CompanySearchView(ListView):
@ -112,11 +112,17 @@ class MemberDetail(DetailView):
'staff_form': CompStaff(instance=company), 'found_form': CompFound(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.fields['tag'].widget.attrs['data-predifined'] = json.dumps(tags)
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()
comp_transl = company.translations.get(language_code=lang)

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

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

@ -48,16 +48,24 @@
<ul class="soc-media-buttons">
{% 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 %}
{% 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 %}
{% 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 %}
{% 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 %}
</ul>
</div>
@ -75,7 +83,7 @@
{% endif %}
{% if member.profile.web_page %}
<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>
{% endif %}
</div>

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

@ -53,16 +53,24 @@
-->
<ul class="soc-media-buttons">
{% 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 %}
{% 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 %}
{% 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 %}
{% 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 %}
</ul>
</div>
@ -80,7 +88,7 @@
{% endif %}
{% if company.web_page %}
<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>
{% endif %}
</div>

Loading…
Cancel
Save