diff --git a/apps/import_xls/admin.py b/apps/import_xls/admin.py index e43f4b44..3c95d7e0 100644 --- a/apps/import_xls/admin.py +++ b/apps/import_xls/admin.py @@ -45,7 +45,7 @@ class ExportView(FormView): def form_valid(self, form): workbook = form.export() - if workbook: + if workbook is not None: f_name = form.get_fname() else: messages.error(self.request, _('No objects found')) @@ -55,32 +55,32 @@ class ExportView(FormView): class ExportTheme(ExportView): form_class = ExportThemeForm - success_url = '/admin/export-theme' + success_url = '/admin/export-theme/' class ExportTag(ExportView): form_class = ExportTagForm - success_url = '/admin/export-tag' + success_url = '/admin/export-tag/' class ExportUser(ExportView): form_class = ExportUserForm - success_url = '/admin/export-user' + success_url = '/admin/export-user/' class ExportCompany(ExportView): form_class = ExportCompanyForm - success_url = '/admin/export-company' + success_url = '/admin/export-company/' class ExportPlaceConference(ExportView): form_class = ExportPlaceConferenceForm - success_url = '/admin/export-place_conference' + success_url = '/admin/export-place_conference/' class ExportPlaceExposition(ExportView): form_class = ExportPlaceExpositionForm - success_url = '/admin/export-place_exposition' + success_url = '/admin/export-place_exposition/' class ExportBlog(ExportView): @@ -120,7 +120,7 @@ class ImportPlaceExposition(FormView): class ImportPlaceConference(ImportView): form_class = ImportPlaceConferenceForm - success_url = '/admin/import-place_conference' + success_url = '/admin/import-place_conference/' def form_valid(self, form): errors = form.save_file_debug() @@ -129,12 +129,12 @@ class ImportPlaceConference(ImportView): class ImportTheme(ImportView): form_class = ImportThemeForm - success_url = '/admin/import-theme' + success_url = '/admin/import-theme/' class ImportTag(ImportView): form_class = ImportTagForm - success_url = '/admin/import-tag' + success_url = '/admin/import-tag/' @@ -143,7 +143,7 @@ class ImportTag(ImportView): class ExportEvent(ExportView): form_class = ExportEventForm template_name = 'export_event.html' - success_url = '/admin/export-event' + success_url = '/admin/export-event/' class LogList(ListView): diff --git a/apps/import_xls/excel_settings.py b/apps/import_xls/excel_settings.py index 11a7af80..622aaada 100644 --- a/apps/import_xls/excel_settings.py +++ b/apps/import_xls/excel_settings.py @@ -59,6 +59,7 @@ def get_periodic(value): def get_quality(value, field): + # print value, field flags = {u'UFI': 'ufi', u'РСВЯ': 'rsva', u'EXPORATING': 'exporating'} v = flags.get(field) if v: diff --git a/apps/import_xls/export_forms.py b/apps/import_xls/export_forms.py index 0236bd88..432d1549 100644 --- a/apps/import_xls/export_forms.py +++ b/apps/import_xls/export_forms.py @@ -174,8 +174,8 @@ class ExportEventForm(forms.Form): language = forms.ChoiceField(label=_(u'Выберите язык'), choices=languages) date_from = forms.DateField(label=_(u'С'), input_formats=settings.CLIENT_DATE_FORMAT) date_to = forms.DateField(label=_(u'До'), input_formats=settings.CLIENT_DATE_FORMAT) - theme = forms.ModelMultipleChoiceField(label=_(u'Направление'), queryset=Theme.objects.all(), required=False) - country = forms.ModelMultipleChoiceField(label=_(u'Страны'), queryset=Country.objects.all(), required=False) + theme = forms.ModelMultipleChoiceField(label=_(u'Направление'), queryset=Theme.objects.language().all(), required=False) + country = forms.ModelMultipleChoiceField(label=_(u'Страны'), queryset=Country.objects.language().all(), required=False) def export(self): data = self.cleaned_data @@ -185,20 +185,17 @@ class ExportEventForm(forms.Form): lang, date_from, date_to, co, th = data['language'], data['date_from'], data['date_to'], data['country'], data['theme'] # get objects - qs = model.objects.language(lang).filter(data_begin__range=[date_from, date_to]) + qs = model.objects.language(lang).filter(data_begin__gte=date_from, data_begin__lte=date_to).select_related('place', 'country', 'city').prefetch_related('theme', 'tag', 'organiser', 'audience').distinct() if co: qs = qs.filter(country__in=co) if th: qs = qs.filter(theme__in=th) - objects = list(qs.distinct()) - - if not objects: - # not found any objects + if not qs.exists(): + # not found any objects return None - - workbook = xlwt.Workbook(encoding = 'utf8') + workbook = xlwt.Workbook(encoding='utf8') # new tab worksheet = workbook.add_sheet('My Worksheet') @@ -210,7 +207,7 @@ class ExportEventForm(forms.Form): # Create the Style style.font = font - for row, object in enumerate(objects): + for row, object in enumerate(qs): # column number col = 0 @@ -222,7 +219,7 @@ class ExportEventForm(forms.Form): continue if row == 0: - # first iteration. set names. set columns width + # first iteration. set names. set columns width worksheet.write(0, col, field.get('verbose_name', 'default'), style) worksheet.col(col).width = field.get('width', 3333) if field['name'] != 'quality_label': diff --git a/requirements.txt b/requirements.txt index ccab8019..2c435d49 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ -awesome-slugify==1.6 +awesome-slugify==1.6.5 BeautifulSoup==3.2.1 -beautifulsoup4==4.4.0 +beautifulsoup4==4.6.0 chainmap==1.0.2 chardet==2.3.0 contextlib2==0.5.4 @@ -14,7 +14,7 @@ django-debug-toolbar==1.2.1 django-haystack==2.3.2 django-hvad==1.2.2 django-model-utils==2.2 -django-modeltranslation==0.12 +django-modeltranslation==0.12.1 django-recaptcha==1.2.1 django-redis==4.0.0 django-redis-cache==0.13.1 @@ -50,9 +50,9 @@ python-memcached==1.48 python-openid==2.2.5 python-social-auth==0.1.23 pytils==0.3 -pytz==2016.10 -raven==5.32.0 -redis==2.10.1 +pytz==2017.2 +raven==6.1.0 +redis==2.10.5 redis-collections==0.4.2 regex==2014.11.14 requests==2.2.1 @@ -66,8 +66,8 @@ South==1.0.2 sqlparse==0.1.11 suds==0.4 Unidecode==0.4.16 -uWSGI==2.0.14 +uWSGI==2.0.15 vobject==0.8.2 wstools==0.4.3 -xlrd==0.9.2 -xlwt==0.7.5 +xlrd==1.0.0 +xlwt==1.2.0