diff --git a/apps/wizard/__init__.py b/apps/wizard/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/apps/wizard/description.txt b/apps/wizard/description.txt deleted file mode 100644 index 9da7860c..00000000 --- a/apps/wizard/description.txt +++ /dev/null @@ -1,2 +0,0 @@ -Должен был быть модуль для добавления событий и других даных через кабинет пользователя. -Остановленна разработка по ненадобности, так как делается функционал добавление событий через црм \ No newline at end of file diff --git a/apps/wizard/forms.py b/apps/wizard/forms.py deleted file mode 100644 index 374f9dcb..00000000 --- a/apps/wizard/forms.py +++ /dev/null @@ -1,76 +0,0 @@ -# -*- coding: utf-8 -*- -from django import forms -from theme.models import Theme -from place_exposition.models import PlaceExposition -from country.models import Country -from multiupload.fields import MultiFileField, MultiFileInput -from django.utils.translation import ugettext as _ - - -choices = ((0, ''), (1.0, _(u'Ежегодно')), (2.0, _(u'2 раза в год')), (3.0, _(u'3 раза в год')), (4.0, _(u'4 раза в год')), - (5.0, _(u'5 раз в год')), (0.5, _(u'Раз в 2 года')), ( - 0.33, _(u'Раз в 3 года')), (0.25, _(u'Раз в 4 года'))) - -places = [(item.id, item.name) for item in PlaceExposition.objects.language().all()] -places.insert(0,('', _(u'Не выбрано'))) - - -class ExpoForm1(forms.Form): - """ - main information about exposition - """ - name = forms.CharField(max_length=255, widget=forms.TextInput(attrs={'placeholder': _(u"Введите название выставки")})) - main_title = forms.CharField(max_length=255, widget=forms.TextInput(attrs={'placeholder': _(u"Краткое описание выставки (необязательно)")})) - description = forms.CharField(widget=forms.Textarea(attrs={'placeholder': _(u"Полное описание выставки"), 'cols':30, 'rows':10})) - date_start = forms.DateField(widget=forms.TextInput(attrs={'class':'data dateFrom', 'placeholder':_(u'дд.мм.гг')})) - date_end = forms.DateField(widget=forms.TextInput(attrs={'class':'data dateTo','placeholder':_(u'дд.мм.гг')})) - - country = forms.ChoiceField(label=_(u'Страна'), choices=[(c.id, c.name) for c in Country.objects.all()], widget=forms.Select(attrs={'id':'id_country'})) - theme = forms.MultipleChoiceField(label=_('Тематики'), choices=[(item.id, item.name) for item in Theme.objects.language().all()], widget=forms.SelectMultiple(attrs={'id':'id_theme'})) - place = forms.ChoiceField(label=_(u'Место проведения'), required=False, choices=places, widget=forms.Select(attrs={'id':'id_place'})) - city = forms.CharField(label=_(u'Город'), widget=forms.HiddenInput(attrs={'id':'id_city'})) - tag = forms.CharField(label=_(u'Теги'), widget=forms.HiddenInput(attrs={'id':'id_tag'}), required=False) - - audience1 = forms.BooleanField(required=False) - audience2 = forms.BooleanField(required=False) - audience3 = forms.BooleanField(required=False) - periodic = forms.ChoiceField(choices=choices, required=False) - membership1 = forms.BooleanField(required=False) - membership2 = forms.BooleanField(required=False) - membership3 = forms.BooleanField(required=False) - web_site = forms.URLField(required=False, widget=forms.TextInput(attrs={'placeholder': _(u"Веб-сайт (необязательно)")})) - products = forms.CharField(widget=forms.Textarea(attrs={'placeholder': _(u"Экспонируемые продукты"), 'cols':30, 'rows':10})) - time_start = forms.TimeField() - time_end = forms.TimeField() - logo = forms.ImageField(widget=forms.FileInput(attrs={'class':"button big icon-clip"}), required=False) - - -class ExpoForm2(forms.Form): - """ - statistics - """ - found_year = forms.IntegerField() - # ticket price - pre_one_day = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':_(u'на один день')})) - pre_all_days = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':_(u'на все дни')})) - one_day = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':_(u'на один день')})) - all_days = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':_(u'на все дни')})) - - # rent price - equiped = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':_(u'оборудованная площадь')})) - unequiped = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':_(u'необорудованная площадь')})) - open_square = forms.FloatField(widget=forms.TextInput(attrs={'placeholder':_(u'открытая площадь')})) - min_square = forms.FloatField() - registration_depos = forms.FloatField() - deadline_date = forms.DateField(widget=forms.TextInput(attrs={'placeholder':_(u'дд.мм.гг')})) - - -class ExpoForm3(forms.Form): - """ - photos from last expositions - """ - attachments = MultiFileField(min_num=0, max_num=6, max_file_size=1024*1024*5, widget=MultiFileInput( - attrs={'class':'button big icon-camera', 'value': _(u'выберите фотографии'), 'id': 'files'} - )) - - diff --git a/apps/wizard/models.py b/apps/wizard/models.py deleted file mode 100644 index e69de29b..00000000 diff --git a/apps/wizard/tests.py b/apps/wizard/tests.py deleted file mode 100644 index 501deb77..00000000 --- a/apps/wizard/tests.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -This file demonstrates writing tests using the unittest module. These will pass -when you run "manage.py test". - -Replace this with more appropriate tests for your application. -""" - -from django.test import TestCase - - -class SimpleTest(TestCase): - def test_basic_addition(self): - """ - Tests that 1 + 1 always equals 2. - """ - self.assertEqual(1 + 1, 2) diff --git a/apps/wizard/urls.py b/apps/wizard/urls.py deleted file mode 100644 index 527cd96d..00000000 --- a/apps/wizard/urls.py +++ /dev/null @@ -1,7 +0,0 @@ -from django.conf.urls import patterns, url -from .views import ExpoWizard -from .forms import ExpoForm1, ExpoForm2,ExpoForm3 - -formlist = [ExpoForm1,ExpoForm2, ExpoForm3] - -urlpatterns = patterns('', url(r'^$', ExpoWizard.as_view(formlist), name = 'add_exposition')) \ No newline at end of file diff --git a/apps/wizard/views.py b/apps/wizard/views.py deleted file mode 100644 index 01dadcac..00000000 --- a/apps/wizard/views.py +++ /dev/null @@ -1,131 +0,0 @@ -from django.contrib.formtools.wizard.views import SessionWizardView -from django.core.files.storage import FileSystemStorage -from django.http import HttpResponseRedirect, HttpResponseForbidden -from django.conf import settings -from django.contrib.auth.decorators import login_required -from django.utils.decorators import method_decorator -from django.core.exceptions import PermissionDenied - -import os -from photologue.models import Photo -from exposition.models import Exposition -from functions.form_check import translit_with_separator -from accounts.models import User -from country.models import Country -from city.models import City -from place_exposition.models import PlaceExposition -from theme.models import Tag, Theme - -class LoginRequiredMixin(object): - @method_decorator(login_required) - def dispatch(self, request, *args, **kwargs): - if not request.user.organiser: - raise PermissionDenied - return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs) - - -# defining different template for every form -TEMPLATES = { - '0': 'client/wizard/first_step.html', - '1': 'client/wizard/second_step.html', - '2': 'client/wizard/third_step.html' -} - - -class ExpoWizard(LoginRequiredMixin, SessionWizardView): - - """main view that handle all data from 3 forms(steps) and finally create an Exposition""" - - # storing temporary files during upload - location = os.path.join(settings.MEDIA_ROOT, 'temp') - file_storage = FileSystemStorage(location, settings.MEDIA_URL) - SUCCESS_URL = "/" - - def get_template_names(self): - return [TEMPLATES[self.steps.current]] - - def done(self, form_list, **kwargs): - # getting data and files - upload_logo = form_list[0].cleaned_data.get('logo') - upload_images = self.request.FILES.getlist(u'2-attachments') - data = self.get_all_cleaned_data() - - # creating new exposition - lang = self.request.LANGUAGE_CODE - expo = Exposition.objects.language(lang).create( - name=data.get('name'), - data_begin=data.get('date_start'), - data_end=data.get('date_end'), - main_title=data.get('main_title'), - description=data.get('description'), - products=data.get('products'), - - country=Country.objects.language(lang).get(id=data.get('country')), - city=City.objects.language(lang).get(id=data.get('city')), - place=PlaceExposition.objects.language(lang).get(id=data.get('place')), - - periodic=data.get('periodic'), - web_page=data.get('web_site'), - logo=data.get('logo'), - - foundation_year=data.get('found_year'), - area=data.get('square'), - price_day=data.get('one_day'), - price_all=data.get('all_days'), - price_day_bar=data.get('pre_one_day'), - price_all_bar=data.get('pre_all_days'), - - min_area=data.get('min_square'), - registration_payment=data.get('registration_depos'), - application_deadline=data.get('deadline_date'), - min_closed_area=data.get('unequiped'), - min_open_area=data.get('open_square'), - min_closed_equipped_area=data.get('equiped'), - url=translit_with_separator(data.get('name')), - quality_label=0, - audience=0, - creator=User.objects.get(id=self.request.user.id) - ) - # adding photo to gallery - photos = [] - for i, photo in enumerate(upload_images): - photos.append(Photo.objects.language(self.request.LANGUAGE_CODE).create( - image=photo, - title=data.get(u'pdescr_%i' % i, photo.name)) - ) - for photo in photos: - expo.upload_photo(photo) - - expo.tag = Tag.objects.language(lang).filter(id__in=data.get('tag').split(',')) - expo.theme = Theme.objects.language(lang).filter(id__in=data.get('theme')) - - # setting bit fields audience and quality_label - self.set_flags(expo, data) - expo.save() - - # remove temporary files if it has any - if upload_logo: - self.file_storage.delete(upload_logo.name) - if upload_images: - for f in upload_images: - self.file_storage.delete(f.name) - - return HttpResponseRedirect(self.SUCCESS_URL) - - @staticmethod - def set_flags(expo, data): - if data['membership1']: - expo.quality_label = (expo.quality_label | Exposition.quality_label.exporating) - if data['membership2']: - expo.quality_label = (expo.quality_label | Exposition.quality_label.rsva) - if data['membership3']: - expo.quality_label = (expo.quality_label | Exposition.quality_label.ufi) - - if data['audience1']: - expo.audience = (expo.audience | Exposition.audience.experts) - if data['audience2']: - expo.audience = expo.audience | getattr(Exposition.audience, 'experts and consumers') - if data['audience3']: - expo.audience = expo.audience | (getattr(Exposition.audience, 'general public')) - - diff --git a/requirements.txt b/requirements.txt index 3cb5922b..b366156d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,7 +15,6 @@ django-haystack==2.3.2 django-hvad==1.2.0 django-model-utils==2.2 django-modeltranslation==0.12 -django-multiupload==0.5 django-redis==4.0.0 django-redis-cache==0.13.1 django-rosetta==0.7.6 diff --git a/templates/client/wizard/first_step.html b/templates/client/wizard/first_step.html deleted file mode 100644 index b5eb43d2..00000000 --- a/templates/client/wizard/first_step.html +++ /dev/null @@ -1,209 +0,0 @@ -{% extends 'client/base_catalog.html' %} -{% load static %} -{% load i18n %} - -{% block head_scripts %} - - -{% endblock %} - -{% block content_list %} - {{ form.errors }} -
-
-
- {{ wizard.form.media }} -

{% blocktrans with step=wizard.steps.step1%}Шаг {{ step }}. Основная информация{% endblocktrans %}

-
-
{% csrf_token %} - {{ wizard.management_form }} - {% with wizard.form as form %} -
-
-
- - {{ form.theme }} -
-
- - {{ form.tag }} -
-
-
- -

{% trans "Описание выставки" %}

- -
-
- {{ form.name }} -
-
- -
-
- {{ form.main_title }} -
-
- -
-
- {{ form.description }} -
-
- -
- -
- - -
-
-
- - {{ form.date_start }} -
-
- - {{ form.date_end }} -
-
-
-
- -
- -
- -

{% trans "Локация" %}

- -
-
-

{% trans "Место проведения:" %}

- {{ form.place }} -
-
- -
-
-

{% trans "Страна:" %}

- {{ form.country }} -
- -
-

{% trans "Город:" %}

- {{ form.city }} -
-
- -
-
- -
-

{% trans "Дополнительная информация" %}

- -
- - -
- -
-
- - - -
- -
- {% trans "Периодичность:" %} - {{ form.periodic }} -
-
- -
- -
-
- -
- - -
- - - -
-
-
- -
-
- {{ form.web_site }} - - {{ form.products }} - -
- -
-
- -
- - -
-
-
- - {{ form.time_start }} -
- -
- - {{ form.time_end }} -
-
-
-
- -
-
- - - -
-
-
- -
- -
- -
- -
- - {% endwith %} -
- -
-
-

{% trans "Шаг 2. Статистика и условия участия" %}

-
-
- -
-
-

{% trans "Шаг 3. Добавление фото" %}

-
-
- -
-
-{% endblock %} diff --git a/templates/client/wizard/second_step.html b/templates/client/wizard/second_step.html deleted file mode 100644 index 6d8dd833..00000000 --- a/templates/client/wizard/second_step.html +++ /dev/null @@ -1,259 +0,0 @@ -{% extends 'client/base_catalog.html' %} -{% load static %} -{% load i18n %} - -{% block head_scripts %} - - -{% endblock %} - - -{% block content_list %} - {{ form.errors }} -
-

{% trans "Добавить событие" %}

-
-
-
{% csrf_token %} - - {{ wizard.form.media }} -
-
-

{% trans "Шаг 1. Основная информация" %}

- -
- -
-
-
- - -
-
-

{% trans "Шаг 2. Статистика и условия участия" %}

- -
-
{% blocktrans %}+ 0,9 баллов к рейтингу{% endblocktrans %}
-
-
- - {{ wizard.management_form }} - {% if wizard.form.forms %} - {{ wizard.form.management_form }} - {% for form in wizard.form.forms %} - {{ form }} - {% endfor %} - {% else %} - {% with wizard.form as form %} -
- -
- -
- - {{ form.found_year }} -
- -
-
- -
- -

{% trans "Стоимость посещения и участия" %}

- -
-
- -
-
- -
{% trans "Стоимость билетов" %}
- -
- -
    - -
  • - {{ form.one_day }} - -
  • - -
  • - {{ form.all_days }} - -
  • - -
- -
{% trans "Предварительная регистрация" %}
- -
- -
- -
- -
    - -
  • - {{ form.pre_one_day }} - -
  • - -
  • - {{ form.pre_all_days }} - -
  • - -
- -
{% trans "Регистрация на стойке" %}
- -
- -
- -
- -
-
- -
{% trans "Стоимость аренды 1м²" %}
- -
    - -
  • - {{ form.equiped }} - -
  • - -
  • - {{ form.unequiped }} - -
  • - -
  • - {{ form.open_square }} - -
  • - -
- -
- -
- - -
- {{ form.min_square }} - м² -
-
- -
- -
- - -
- {{ form.registration_depos }} - -
-
- -
- -
- - -
-
-
- {{ form.deadline_date }} -
-
-
-
- -
-
- -
-
- -
- -
- -
-
- {# #} - -
-

{% trans "более полная информация повышает рейтинг вашего мероприятия и позволяет ранжировать его выше других" %}

-
-
- -
- - -
- -
-
-
-

{% trans "Шаг 3. Добавление фото" %}

- - -
-
- -
- - {% endwith %} - {% endif %} - -{% endblock %} diff --git a/templates/client/wizard/third_step.html b/templates/client/wizard/third_step.html deleted file mode 100644 index f1ae1f07..00000000 --- a/templates/client/wizard/third_step.html +++ /dev/null @@ -1,147 +0,0 @@ -{% extends "client/base_catalog.html" %} -{% load i18n %} - -{% block styles %} - -{% endblock %} - -{% block content_list %} - {{ wizard.form.media }} - -
-

{% trans "Добавить событие" %}

-
- -
-
{% csrf_token %} - - -
-
-

{% trans "Шаг 1. Основная информация" %}

- -
- -
- -
-
-
-
-

{% trans "Шаг 2. Статистика и условия участия" %}

- -
- -
-
-
-
-
-

{% trans "Шаг 3. Добавление фото" %}

- -
-
{% blocktrans %}+ 1,2 балла к рейтингу{% endblocktrans %}
-
-
- {{ form.errors }} - {{ wizard.management_form }} - {% if wizard.form.forms %} - {{ wizard.form.management_form }} - {% for form in wizard.form.forms %} - {{ form }} - {% endfor %} - {% else %} - {% with wizard.form as form %} -
-
-
-
- {{ form.attachments }} -
- -
-

{% trans "более полная информация повышает рейтинг вашего мероприятия и позволяет ранжировать его выше других" %}

-
-
- -
- -
    -
    - -
    - -
    - -
    - -
    -
    - -
    - {% endwith %} - {% endif %} -
    -
    - -
    - - {% comment %} {% endcomment %} - - -{% endblock %} diff --git a/templates/client/wizard/wizard.html b/templates/client/wizard/wizard.html deleted file mode 100644 index 4288417d..00000000 --- a/templates/client/wizard/wizard.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends 'client/base_catalog.html' %} -{% load i18n %} - -{% block content_list %} - {{ wizard.form.media }} -

    {% blocktrans with step=wizard.steps.step1 count=wizard.steps.count %}Step {{ step }} of {{ count }}{% endblocktrans %}

    -
    {% csrf_token %} - -{{ wizard.management_form }} -{% if wizard.form.forms %} - {{ wizard.form.management_form }} - {% for form in wizard.form.forms %} - {{ form }} - {% endfor %} -{% else %} - {{ wizard.form }} -{% endif %} -
    -{% if wizard.steps.prev %} - - -{% endif %} - -
    -{% endblock %}