diff --git a/article/admin.py b/article/admin.py index 62f22d21..f961d887 100644 --- a/article/admin.py +++ b/article/admin.py @@ -157,6 +157,7 @@ class BlogView(FormView): data = {} data['theme'] = [item.id for item in article.theme.all()] data['exposition'] = article.exposition + data['publish_date'] = article.publish_date data['conference'] = article.conference a = ','.join(['%s:%s'%(item.id, item.name) for item in article.tag.all()]) diff --git a/article/forms.py b/article/forms.py index 0f7c8537..5c44439d 100644 --- a/article/forms.py +++ b/article/forms.py @@ -21,6 +21,7 @@ class BlogForm(forms.Form): type = Article.blog theme = forms.ModelMultipleChoiceField(label='Тематики', queryset=Theme.objects.all(), required=False, widget=forms.SelectMultiple(attrs={'style':'width: 550px'})) + publish_date = forms.DateField(label=u'Дата публикации', input_formats=['%Y-%m-%d', '%d.%m.%Y'], required=False) tag = forms.CharField(label=u'Теги', widget=forms.HiddenInput(), required=False) logo = forms.ImageField(label=u'Лого', required=False) def __init__(self, *args, **kwargs): @@ -51,10 +52,12 @@ class BlogForm(forms.Form): #create new Article object or get exists if not article: article = Article() + article.author = author - article.author = author article.type = self.type - article.logo = data['logo'] + if data['logo']: + article.logo = data['logo'] + article.publish_date = data['publish_date'] # fill translated fields and save object fill_with_signal(Article, article, data) # fill manytomany fields diff --git a/article/models.py b/article/models.py index 8cdf6833..9844340e 100644 --- a/article/models.py +++ b/article/models.py @@ -106,7 +106,7 @@ class Article(TranslatableModel): "set a custom description."), default=False) # published = models. - created = models.DateTimeField() + created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) #translated fields diff --git a/exposition/models.py b/exposition/models.py index 4c38ceed..09999242 100644 --- a/exposition/models.py +++ b/exposition/models.py @@ -365,9 +365,9 @@ def logo_name(instance, filename): class Paid(models.Model): expo = models.OneToOneField(Exposition) org_logo = models.ImageField(upload_to=logo_name, blank=True, max_length=255) - oficial_link = models.ForeignKey('banners.Redirect', null=True, blank=True) - participation_link = models.ForeignKey('banners.Redirect', null=True, blank=True) - tickets_link = models.ForeignKey('banners.Redirect', null=True, blank=True) + oficial_link = models.ForeignKey('banners.Redirect', null=True, blank=True, related_name='expo_oficial') + participation_link = models.ForeignKey('banners.Redirect', null=True, blank=True, related_name='expo_participation') + tickets_link = models.ForeignKey('banners.Redirect', null=True, blank=True, related_name='expo_tickets') pre_save.connect(pre_save_handler, sender=Exposition) diff --git a/service/order_forms.py b/service/order_forms.py index f1ecaf4c..e3facc7f 100644 --- a/service/order_forms.py +++ b/service/order_forms.py @@ -131,8 +131,8 @@ LANGS = [(_(u'Русский'), _(u'Русский'))] from theme.models import Theme class TranslationForm(AbstractOrderForm): - languages = forms.CharField(required=False) - themes = forms.CharField(required=False) + languages = forms.CharField(required=False, widget=forms.TextInput(attrs={'placeholder': _(u'Знание языков')})) + themes = forms.CharField(required=False, widget=forms.TextInput(attrs={'placeholder': _(u'Тематика')})) fr = forms.DateField(input_formats=settings.CLIENT_DATE_FORMAT, widget=forms.DateInput(attrs={'class': 'date dateFrom', 'placeholder': _(u'дд.мм.гггг')})) to = forms.DateField(input_formats=settings.CLIENT_DATE_FORMAT, diff --git a/service/views.py b/service/views.py index e7c6c945..67f2c0ac 100644 --- a/service/views.py +++ b/service/views.py @@ -8,6 +8,7 @@ from django.shortcuts import get_object_or_404 from django.http import Http404 import json from django.http import HttpResponseRedirect, HttpResponse +from meta.views import MetadataMixin #from functions.search_forms import CompanySearchForm from order_forms import TranslationForm, CatalogForm, VisitForm, RemoteForm, ParticipationForm, TicketsForm,\ @@ -17,7 +18,10 @@ from order_forms import TranslationForm, CatalogForm, VisitForm, RemoteForm, Par order_forms = {'translator': TranslationForm, 'catalog': CatalogForm, 'participation': ParticipationForm, 'remote': RemoteForm, 'tickets': TicketsForm, 'visit': VisitForm, 'buildstand': BuildStandForm} -class ServiceView(FormView): +meta = {'translator': 80, 'participation': 85, + 'remote': 84, 'tickets': 81, 'visit': 82} + +class ServiceView(MetadataMixin, FormView): success_url = '/service/thanks/' def dispatch(self, request, *args, **kwargs): @@ -45,6 +49,12 @@ class ServiceView(FormView): #messages.success(self.request, _(u'Ваш запрос был успешно отправлен')) return HttpResponseRedirect(self.success_url) + def get_context_data(self, **kwargs): + url = self.kwargs.get('url') + meta_id = meta.get(url) + kwargs.update({'meta_id': meta_id}) + return super(ServiceView, self).get_context_data(**kwargs) + def advertise(request): diff --git a/templates/admin/article/blog_form.html b/templates/admin/article/blog_form.html index 5b221c9f..dd94d948 100644 --- a/templates/admin/article/blog_form.html +++ b/templates/admin/article/blog_form.html @@ -13,6 +13,21 @@ + + + + + {% endblock %} {% block body %} @@ -29,6 +44,14 @@ {# main_title #} {% include 'admin/forms/multilang.html' with field='main_title' form=form languages=languages %} +