# -*- coding: utf-8 -*- from django.shortcuts import render_to_response from django.http import HttpResponseRedirect, HttpResponse from django.core.context_processors import csrf from django.conf import settings from django.forms.formsets import BaseFormSet, formset_factory from django.forms.models import modelformset_factory from django.contrib.contenttypes.models import ContentType from django.contrib.auth.decorators import login_required #models and forms from models import MetaSetting from forms import MetaForm, MetaFilterForm from theme.models import Tag from city.models import City from file.models import FileModel, TmpFile from file.forms import FileModelForm, FileForm from photologue.forms import PhotoForm #python import random #custom views from functions.custom_views import objects_list, delete_object from functions.views_help import get_referer from functions.admin_views import AdminListView, AdminView, upload_photo class MetaListView(AdminListView): template_name = 'admin/meta/meta_list.html' form_class = MetaFilterForm model = MetaSetting class MetaView(AdminView): form_class = MetaForm model = MetaSetting success_url = '/admin/meta/all/' template_name = 'admin/meta/meta_setting.html' def form_valid(self, form): self.set_obj() expo = form.save(obj=self.obj) return HttpResponseRedirect(self.success_url) def get_form(self, form_class): if self.request.POST: return super(MetaView, self).get_form(form_class) obj = self.set_obj() if obj: data = {'name':obj.name} for code, name in settings.LANGUAGES: trans_obj = self.model._meta.translations_model.objects.get(language_code = code,master__id=obj.id) #access to translated fields data['title_%s' % code] = trans_obj.title data['description_%s' % code] = trans_obj.description data['keywords_%s' % code] = trans_obj.keywords data['h1_%s' % code] = trans_obj.h1 form =form_class(initial=data) return form else: return form_class() def get_context_data(self, **kwargs): context = super(MetaView, self).get_context_data(**kwargs) obj = self.set_obj() return context