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 #} +