diff --git a/accounts/forms.py b/accounts/forms.py index 966a21e0..4de9c291 100644 --- a/accounts/forms.py +++ b/accounts/forms.py @@ -218,7 +218,7 @@ class EmailAnnouncementForm(forms.Form): class RegistrationCompleteForm(forms.ModelForm): - country = forms.ChoiceField(label='Страна', choices=[(c.id, c.name) for c in Country.objects.all()], + country = forms.ModelChoiceField(label='Страна', queryset= Country.objects.all(), widget=forms.Select(attrs={'class': 'select2'})) city = forms.CharField(label='Город', widget=forms.HiddenInput()) url = forms.CharField(widget=forms.TextInput(attrs={'placeholder': _(u'url(обязательно)')})) @@ -254,12 +254,6 @@ class RegistrationCompleteForm(forms.ModelForm): return None - def clean_country(self): - try: - return Country.objects.get(id=self.cleaned_data['country']) - except City.DoesNotExist: - return None - def clean_url(self): url = self.cleaned_data['url'] if not is_latin(url): diff --git a/accounts/views.py b/accounts/views.py index 12b7637a..bf71b293 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -296,7 +296,7 @@ class AvatarView(BaseProfileView): form = self.form_class(self.request.POST, self.request.FILES, instance=profile) profile = form.save() if self.request.is_ajax(): - im = get_thumbnail(profile.avatar, '100x100') + im = get_thumbnail(profile.avatar, '100x100', format="PNG") response = {'success': True, 'url': im.url, 'rating': profile.user.rating} return HttpResponse(json.dumps(response), content_type='application/json') else: diff --git a/article/views.py b/article/views.py index 63ed81ca..ef671190 100644 --- a/article/views.py +++ b/article/views.py @@ -1,7 +1,9 @@ +import json from django.views.generic import DetailView, ListView from django.http import HttpResponse from models import Article from forms import ArticleFilterForm +from theme.models import Tag @@ -18,7 +20,10 @@ class NewsList(ListView): qs = qs.filter(theme__id__in=themes) tags = self.request.GET.getlist('tag') + if u'' in tags: + tags.remove(u'') if tags: + tags = tags[0].split(',') qs = qs.filter(tag__id__in=tags) return qs @@ -29,6 +34,15 @@ class NewsList(ListView): context = super(NewsList, self).get_context_data(object_list=self.object_list) if self.request.GET: filter_form = ArticleFilterForm(self.request.GET) + tags = self.request.GET.getlist('tag') + if u'' in tags: + tags.remove(u'') + if tags: + tags = tags[0].split(',') + tag_qs = Tag.objects.filter(id__in=tags) + tags = [{'id': str(tag.id), 'text': tag.name} for tag in tag_qs] + filter_form.fields['tag'].widget.attrs['data-predifined'] = json.dumps(tags) + filter_form.fields['tag'].widget.attrs['value'] = '' else: filter_form = ArticleFilterForm() @@ -57,6 +71,8 @@ class BlogList(ListView): qs = qs.filter(theme__id__in=themes) tags = self.request.GET.getlist('tag') + if u'' in tags: + tags.remove(u'') if tags: qs = qs.filter(tag__id__in=tags) diff --git a/company/edit_views.py b/company/edit_views.py index 25ecbd10..3e8e0921 100644 --- a/company/edit_views.py +++ b/company/edit_views.py @@ -53,7 +53,7 @@ class LogoView(BaseView): form = self.form_class(self.request.POST, self.request.FILES, instance=company) company = form.save() if self.request.is_ajax(): - im = get_thumbnail(company.logo, '100x100') + im = get_thumbnail(company.logo, '100x100', format="PNG") response = {'success': True, 'url': im.url, 'rating': company.rating} return HttpResponse(json.dumps(response), content_type='application/json') else: diff --git a/company/models.py b/company/models.py index d47a8fd5..4e98f85c 100644 --- a/company/models.py +++ b/company/models.py @@ -119,7 +119,7 @@ class Company(TranslatableModel, ExpoMixin): def calculate_rating(company): rating_simple = {'country': 5, 'city': 5, 'address_inf': 10, 'phone': 10, 'fax': 5, 'email': 10, - 'facebook': 5, 'twitter': 5, 'linkedin': 5, 'vk': 5, 'web_page': 10, #'logo': 20, + 'facebook': 5, 'twitter': 5, 'linkedin': 5, 'vk': 5, 'web_page': 10, 'logo': 20, 'specialization': 5, 'description':15, 'foundation': 5, 'staff_number': 5}# участие и посещение доделать rating_methods = {'theme': 10, 'tag': 5, 'photo':5} # base rating diff --git a/conference/admin.py b/conference/admin.py index c5c4ca62..d5d063b5 100644 --- a/conference/admin.py +++ b/conference/admin.py @@ -236,9 +236,10 @@ class ConferenceView(AdminView): data = {'web_page':obj.web_page, 'foundation_year': obj.foundation_year, 'data_begin':obj.data_begin, 'data_end':obj.data_end, 'currency':obj.currency, 'tax':obj.tax, 'min_price':obj.min_price, 'max_price':obj.max_price, - 'link':obj.link, 'conference_id':obj.id, 'expohit': obj.expohit, + 'link':obj.link, 'conference_id':obj.id, 'expohit': obj.expohit, 'periodic':obj.periodic, 'discount': obj.discount,'canceled': obj.canceled, 'moved': obj.moved, - 'visitors': obj.visitors, 'members': obj.members, + 'visitors': obj.visitors, 'members': obj.members, 'logo': obj.logo, + 'audience':[item for item, bool in obj.audience if bool==True], 'quality_label': [item for item, bool in obj.quality_label if bool==True]} if obj.place: diff --git a/conference/forms.py b/conference/forms.py index b66c0f94..ab952ef3 100644 --- a/conference/forms.py +++ b/conference/forms.py @@ -172,7 +172,7 @@ class ConferenceCreateForm(forms.Form): if data.get('country'): - conference.country = Country.objects.get(id=data['country'].id)#.id cause select uses queryset + conference.country = Country.objects.get(id=data['country'])#.id cause select uses queryset if data.get('city'): conference.city = City.objects.get(id=data['city']) diff --git a/templates/admin/conference/conference.html b/templates/admin/conference/conference.html index 4f9755ae..0201f346 100644 --- a/templates/admin/conference/conference.html +++ b/templates/admin/conference/conference.html @@ -149,6 +149,13 @@ + {# logo #} +
+ +
{{ form.logo }} + {{ form.logo.errors }} +
+
@@ -160,7 +167,13 @@ {% with field='description' form=form languages=languages %} {% include 'admin/forms/multilang.html' %} {% endwith %} - + {# periodic #} +
+ +
{{ form.periodic }} + {{ form.periodic.errors }} +
+
{# web_page #}
diff --git a/templates/admin/conference/conference_all.html b/templates/admin/conference/conference_all.html index 43e458d9..8d0a6bbb 100644 --- a/templates/admin/conference/conference_all.html +++ b/templates/admin/conference/conference_all.html @@ -45,20 +45,16 @@ - + Изменить - - - Копировать - - + - Удалить + Удалить diff --git a/templates/admin/conference/conference_list.html b/templates/admin/conference/conference_list.html index 04a3f2d6..327f4a31 100644 --- a/templates/admin/conference/conference_list.html +++ b/templates/admin/conference/conference_list.html @@ -56,20 +56,14 @@ - + Изменить - - Копировать - - - - - - Удалить + + Удалить @@ -78,7 +72,7 @@ {% endfor %} - Добавить конференцию + Добавить конференцию
{# pagination #} {% include 'admin/includes/admin_pagination.html' with page_obj=object_list %} diff --git a/templates/client/includes/accounts/current_user.html b/templates/client/includes/accounts/current_user.html index e0b6664a..bb0147c4 100644 --- a/templates/client/includes/accounts/current_user.html +++ b/templates/client/includes/accounts/current_user.html @@ -22,7 +22,7 @@
{% if request.user.profile.avatar %} - {% thumbnail request.user.profile.avatar "100x100" as im %} + {% thumbnail request.user.profile.avatar "100x100" format="PNG" as im %} {% endthumbnail %} {% else %} diff --git a/templates/client/includes/accounts/simple_user.html b/templates/client/includes/accounts/simple_user.html index 1e453575..f7e39411 100644 --- a/templates/client/includes/accounts/simple_user.html +++ b/templates/client/includes/accounts/simple_user.html @@ -8,7 +8,7 @@