diff --git a/apps/core/forms.py b/apps/core/forms.py index fe61cd31..1836f4eb 100644 --- a/apps/core/forms.py +++ b/apps/core/forms.py @@ -10,48 +10,6 @@ from haystack.query import SearchQuerySet, EmptySearchQuerySet from hvad.forms import TranslatableModelForm from models import Page - -class PlaceSearchForm(forms.Form): - q = forms.CharField(label=_(u'Поиск'), required=False) - w = forms.CharField(label=_(u'Где'), required=False) - - def search(self): - q = self.cleaned_data.get('q') - w = self.cleaned_data.get('w') - - if not q and not w: - return EmptySearchQuerySet() - - sqs = SearchQuerySet().models(PlaceExposition, PlaceConference) - - if q: - sqs = sqs.auto_query(q) - if w: - sqs = sqs.filter(where__contains=w) - - return sqs - -class CallbackForm(forms.Form): - callback_phone = forms.CharField() - - def clean_callback_phone(self): - phone = self.cleaned_data['callback_phone'] - phone_str = self.cleaned_data['callback_phone'] - deduct = ('-','(',')','.',' ') - for elem in deduct: - phone = phone.replace(elem, '') - if phone.isdigit(): - return phone_str - else: - raise forms.ValidationError(_(u'Введите правильный телефон')) - - def send(self): - phone = self.cleaned_data['callback_phone'] - send_mail(phone, phone, None, [settings.CALLBACK_EMAIL]) - - -# ------------------ Page Form ----------------------- - from django.conf import settings from django.forms import Textarea from ckeditor.widgets import CKEditorWidget diff --git a/apps/core/simple_index_view.py b/apps/core/simple_index_view.py index d5de62ab..9a2c6436 100644 --- a/apps/core/simple_index_view.py +++ b/apps/core/simple_index_view.py @@ -13,11 +13,11 @@ from settings.models import LandingComment, ParticipationComment class AdvertisingView(MetadataMixin, TemplateView): - template_name = 'simple_pages/advertising.html' + template_name = 'client/simple_pages/advertising.html' class AdvertisingViewLanding(JitterCacheMixin, AdvertisingView): - template_name = 'simple_pages/advertising_landing.html' + template_name = 'client/simple_pages/advertising_landing.html' def get_context_data(self, **kwargs): context = super(AdvertisingViewLanding, self).get_context_data(**kwargs) @@ -26,7 +26,7 @@ class AdvertisingViewLanding(JitterCacheMixin, AdvertisingView): class ParticipationViewLanding(JitterCacheMixin, MetadataMixin, FormView): - template_name = 'simple_pages/participation_landing.html' + template_name = 'client/simple_pages/participation_landing.html' form_class = ParticipationLandingForm def get_initial(self): @@ -61,17 +61,4 @@ class ParticipationViewLanding(JitterCacheMixin, MetadataMixin, FormView): class AboutView(MetadataMixin, TemplateView): - template_name = 'simple_pages/about.html' - - -def callback(request): - response = {'success': False} - if request.GET: - form = CallBackForm(request.GET) - if form.is_valid(): - form.save() - response['success'] = True - else: - response['errors'] = form.errors - - return HttpResponse(json.dumps(response), content_type='application/json') + template_name = 'client/simple_pages/about.html' diff --git a/apps/core/utils.py b/apps/core/utils.py index 1ae82b4c..de6edb26 100644 --- a/apps/core/utils.py +++ b/apps/core/utils.py @@ -33,33 +33,6 @@ CELL_STYLE_MAP = ( ) -def multi_getattr(obj, attr, default=None): - attributes = attr.split(".") - for i in attributes: - try: - obj = getattr(obj, i) - except AttributeError: - if default: - return default - else: - return '-' - return obj - - -def get_column_cell(obj, name): - try: - attr = multi_getattr(obj, name) - except ObjectDoesNotExist: - return '' - if hasattr(attr, '_meta'): - # A Django Model (related object) - return unicode(attr).strip() - elif hasattr(attr, 'all'): - # A Django queryset (ManyRelatedManager) - return ', '.join(unicode(x).strip() for x in attr.all()) - return attr - - def queryset_to_workbook(queryset, columns, report_date = None): # localization diff --git a/apps/core/views.py b/apps/core/views.py index 277067c9..f2d2356a 100644 --- a/apps/core/views.py +++ b/apps/core/views.py @@ -9,136 +9,6 @@ from django.core.urlresolvers import reverse_lazy from functions.views_help import split_params from django.utils.translation import ugettext as _ - -class PlaceListView(ListView): - paginate_by = 10 - params = None - single_page = False - template_name = 'place_catalog_test.html' - model = 'places' - order = 'data_begin' - - def get_params(self): - model_names = {'places': _(u'Места')} - model_alternative_name = {'places': 'place'} - params = [{'type':'model', 'url':self.model, 'name': model_names.get(self.model), - 'alternative_name': model_alternative_name.get(self.model)}] - - st = self.kwargs.get('params') - if st: - params = params + split_params(st) - - return params - - def get_queryset(self): - pl_ex = PlaceExposition.objects.all() - pl_conf = PlaceConference.objects.all() - - params = self.get_params() - for param in params: - - if param.get('type') == 'country': - country = Country.objects.safe_get(url=param.get('url')) - if country: - param['name'] = country.name - pl_ex = pl_ex.filter(country=country) - pl_conf = pl_conf.filter(country=country) - if param.get('type') == 'city': - city = City.objects.safe_get(url=param.get('url')) - if city: - param['name'] = city.name - pl_ex = pl_ex.filter(city=city) - pl_conf = pl_conf.filter(city=city) - - if param.get('type') == 'place': - pl_ex = pl_ex.filter(url=param.get('url')) - if pl_ex: - query = pl_ex - else: - query = pl_conf.filter(url=param.get('url')) - - self.single_page = True - - if query: - param['name'] = query[0].name - - #if self.request: - # views = query[0].views - # query.update(views=views+1) - self.params = params - return query - - self.params = params - return list(pl_ex) + list(pl_conf) - - - def get_context_data(self, **kwargs): - context = super(PlaceListView, self).get_context_data(**kwargs) - context['filter'] = self.params - context['single_page'] = self.single_page - context['search_form'] = self.search_form - context['search_action'] = '/places/search/' - context['type'] = 'places search' - return context - -class PlacePhotoView(PlaceListView): - paginate_by = 12 - template_name = 'place/place_photo.html' - obj = None - - def get_queryset(self): - pl_ex = PlaceExposition.objects.all() - pl_conf = PlaceConference.objects.all() - - params = self.get_params() - for param in params: - - if param.get('type') == 'country': - country = Country.objects.safe_get(url=param.get('url')) - if country: - param['name'] = country.name - pl_ex = pl_ex.filter(country=country) - pl_conf = pl_conf.filter(country=country) - if param.get('type') == 'city': - city = City.objects.safe_get(url=param.get('url')) - if city: - param['name'] = city.name - pl_ex = pl_ex.filter(city=city) - pl_conf = pl_conf.filter(city=city) - - if param.get('type') == 'place': - pl_ex = pl_ex.filter(url=param.get('url')) - if pl_ex: - query = pl_ex - else: - query = pl_conf.filter(url=param.get('url')) - - self.single_page = True - - if query: - param['name'] = query[0].name - - #if self.request: - # views = query[0].views - # query.update(views=views+1) - - params.append({'type':'photo', 'name':_(u'Фото')}) - self.params = params - self.obj = query[0] - - return query[0].photogallery.photos.all() - - self.params = params - return list(pl_ex) + list(pl_conf) - - def get_context_data(self, **kwargs): - context = super(PlacePhotoView, self).get_context_data(**kwargs) - context['object'] = self.obj - return context - - -# --------------------- Page views ------------------------ - from forms import PageForm from models import Page