Fixes before photogalery

;

q
remotes/origin/1203
Nazar Kotjuk 10 years ago
parent ce702bcd69
commit db56241d66
  1. 11
      conference/forms.py
  2. 7
      exposition/forms.py
  3. 14
      exposition/models.py
  4. 55
      meta/models.py
  5. 4
      photologue/models.py
  6. 2
      templates/client/includes/exposition/exposition_object.html

@ -34,10 +34,9 @@ class ConferenceCreateForm(forms.Form):
save function saves data in Conference object. If it doesnt exist create new object
"""
PERIODIC = ((0, u'Не выбрано'),
(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 года'))
PERIODIC = ((0, u'Не выбрано'), (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 года'), (0.2, u'Раз в 5 лет'))
public = [(item1, item2) for item1, item2 in BIT_AUDIENCE]
@ -68,8 +67,8 @@ class ConferenceCreateForm(forms.Form):
web_page = forms.CharField(label='Веб страница', required=False)
link = forms.CharField(label='Линк на регистрацию', required=False)
foundation_year = forms.CharField(label='Год основания', required=False)
members = forms.CharField(label='Посетители', required=False)
visitors = forms.CharField(label='Участники', required=False)
members = forms.CharField(label='Участники', required=False)
visitors = forms.CharField(label='Посетители', required=False)
discount = forms.CharField(label='Cкидка(%)', required=False)
#
currency = forms.ChoiceField(label='Валюта', choices=currencies, required=False)

@ -32,10 +32,9 @@ class ExpositionCreateForm(forms.Form):
save function saves data in Exposition object. If it doesnt exist create new object
"""
PERIODIC = ((0, u'Не выбрано'),
(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 года'))
PERIODIC = ((0, u'Не выбрано'), (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 года'), (0.2, u'Раз в 5 лет'))
public = [(item1, item2) for item1, item2 in BIT_AUDIENCE]
currencies = [(item, item) for item in CURRENCY]

@ -218,9 +218,10 @@ class Exposition(TranslatableModel, EventMixin, ExpoMixin):
data = {}
model = type(self)
for code, name in settings.LANGUAGES:
obj = model._meta.translations_model.objects.get(language_code = code,master__id=self.id) #access to translated fields
data['title_%s'%code] = obj.name
data['description_%s'%code] = obj.description
# access to translated fields
obj = model._meta.translations_model.objects.get(language_code=code, master__id=self.id) #access to translated fields
data['title_%s' % code] = obj.name
data['description_%s ' % code] = obj.description
gallery = Gallery()
@ -235,7 +236,7 @@ class Exposition(TranslatableModel, EventMixin, ExpoMixin):
return self.tag.language().all()
def statistic_exists(self):
return Statistic.objects,filter(exposition=self).exists()
return Statistic.objects.filter(exposition=self).exists()
def upload_photo(self, photo ,gallery=None):
@ -262,11 +263,10 @@ class Exposition(TranslatableModel, EventMixin, ExpoMixin):
return ', '.join(audience)
def get_periodic(self):
periodic = {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 года')}
0.33: _(u'Раз в 3 года'), 0.25: _(u'Раз в 4 года'), 0.2: _(u'Раз в 5 лет')}
return periodic.get(self.periodic)
def get_nearest_events(self):
@ -281,8 +281,6 @@ class Exposition(TranslatableModel, EventMixin, ExpoMixin):
def get_catalog_url(self):
return self.catalog
#return '/expositions/'
def get_event_type(self):
return _(u'Выставки')

@ -1,25 +1,25 @@
# -*- coding: utf-8 -*-
import copy
from django.db import models
from django.utils import translation
from django.db.models.signals import post_save
from django.utils.translation import ugettext_lazy as _
from django.conf import settings
from django.core.urlresolvers import reverse_lazy
from django.core.cache import cache
from functions.signal_handlers import post_save_handler
from hvad.models import TranslatableModel, TranslatedFields, TranslationManager
from pymorphy.django_conf import default_morph as morph
from functions.signal_handlers import post_save_handler
import copy
# additional funcs
MONTHES = {'jan': _(u'январе'), 'feb': _(u'феврале'), 'mar': _(u'марте'), 'apr': _(u'апреле'),
def get_month_inflect(value, key):
MONTHES = {'jan': _(u'январе'), 'feb': _(u'феврале'), 'mar': _(u'марте'), 'apr': _(u'апреле'),
'may': _(u'мае'), 'jun': _(u'июне'), u'jul': _(u'июле'), 'aug': _(u'августе'),
'sep': _(u'сентябре'), 'oct': _(u'октябре'), 'nov': _(u'ноябре'), 'dec': _(u'декабре'),}
def get_month_inflect(value, key):
return {key: MONTHES.get(value, '') }
def get_obj_inflect(obj, key):
if translation.get_language() == 'ru':
result = {key: getattr(obj, 'inflect', '')}
@ -27,6 +27,7 @@ def get_obj_inflect(obj, key):
result = {key: getattr(obj, 'name', '')}
return result
def get_theme_inflect(obj, key):
if translation.get_language() == 'ru':
result = {'theme_inflect': getattr(obj, 'inflect', ''),
@ -36,6 +37,7 @@ def get_theme_inflect(obj, key):
'theme_name': getattr(obj, 'name', '')}
return result
def get_tag_inflect(obj, key):
if translation.get_language() == 'ru':
result = {'tag_inflect': getattr(obj, 'inflect', ''),
@ -47,47 +49,54 @@ def get_tag_inflect(obj, key):
class MetaSetting(TranslatableModel):
"""
setting that generates meta fields
"""
name = models.CharField(max_length=100, unique=True)
translations = TranslatedFields(
title = models.CharField(max_length=255, blank=True),
description = models.CharField(max_length=255, blank=True),
keywords = models.CharField(max_length=255, blank=True),
h1 = models.CharField(max_length=255, blank=True),
title=models.CharField(max_length=255, blank=True),
description=models.CharField(max_length=255, blank=True),
keywords=models.CharField(max_length=255, blank=True),
h1=models.CharField(max_length=255, blank=True),
)
# params that handles for objects
object_params = {'object_name': 'name', 'object_title': 'main_title', 'city': 'city', 'country': 'country'}
# default params
params = {'month': get_month_inflect, 'country': get_obj_inflect, 'city': get_obj_inflect,
'theme': get_theme_inflect, 'tag': get_tag_inflect}
monthes = {'jan': _(u'январе'), 'feb': _(u'феврале'), 'mar': _(u'марте'), 'apr': _(u'апреле'),
'may': _(u'мае'), 'jun': _(u'июне'), u'jul': _(u'июле'), 'aug': _(u'августе'),
'sep': _(u'сентябре'), 'oct': _(u'октябре'), 'nov': _(u'ноябре'), 'dec': _(u'декабре'),}
def __unicode__(self):
return self.name
def generate_meta(self, params, obj=None):
"""
generating meta fields by given params and current object fields
obj must be in current language
"""
# current language
lang = translation.get_language()
updates = {}
if obj:
# if objects - generate fields from object_params field
for key, value in self.object_params.iteritems():
updates.update({key: getattr(obj, value, '')})
for key, value in params.iteritems():
# iterate through default params
if key in self.params:
updates.update(self.params[key](value, key))
params.update(updates)
# current translation object
tr = self.translations.get(language_code=lang)
title = tr.title.format(**params)
description = tr.description.format(**params)
keywords = []#tr.keywords.format(**params)
keywords = []#tr.keywords.format(**params) uncoment if keywords need
h1 = tr.h1.format(**params)
return {'title': title, 'description': description, 'keywords': keywords, 'h1': h1}
@ -101,7 +110,6 @@ class MetaSetting(TranslatableModel):
s = morph.inflect_ru(s, u'пр')
return s
def get_title(self):
title = self.title
return title
@ -119,11 +127,6 @@ class MetaSetting(TranslatableModel):
return []
post_save.connect(post_save_handler, sender=MetaSetting)
# SEO - tests #
class SeoTextManager(TranslationManager):
cache_time = 120
@ -142,6 +145,9 @@ class SeoTextManager(TranslationManager):
class SeoText(TranslatableModel):
"""
store seo data for specified urls
"""
url = models.CharField(max_length=50, unique=True, verbose_name=u"URL: www.expomap.ru")
translations = TranslatedFields(
@ -191,3 +197,6 @@ class SeoText(TranslatableModel):
def __unicode__(self):
return self.url
post_save.connect(post_save_handler, sender=MetaSetting)

@ -171,8 +171,8 @@ class UserMark(models.Model):
@python_2_unicode_compatible
class Gallery(TranslatableModel):
translations = TranslatedFields(
title = models.CharField(_('title'), max_length=200),
description = models.TextField(_('description'), blank=True)
title=models.CharField(_('title'), max_length=200),
description=models.TextField(_('description'), blank=True)
)
date_added = models.DateTimeField(_('date published'),
default=now)

@ -161,7 +161,7 @@
<li><a href="{{ exposition.get_permanent_url }}price/">{% trans 'Условия участия' %}</a></li>
{% if exposition.statistic_exists %}
<li><a href="{{ exposition.get_permanent_url }}statistic/">{% trans 'Статистика' %}</a></li>
<li><a href="{{ exposition.get_permanent_url }}statistic/">{% trans 'Статистика' %}</a></li>
{% endif %}
</ul>
<dl class="add-info">

Loading…
Cancel
Save