date_start = CalendarDateField(label=u'Дата начала') date_end = CalendarDateField(label=u'Дата завершения') def __init__(self, *args, **kwrds): super(DefaultGeneralEventForm, self).__init__(*args, **kwrds) self.fields['text'].widget.is_new = not bool(kwrds['instance'].id) class Meta: model = Event fields = ('title', 'description', 'text', 'date_start', 'date_end', 'place', 'contact_name', 'contact_email', 'contact_phone', 'tags') widgets = { 'text': TinyMCEWidget(), 'description': forms.Textarea(attrs={ 'cols': '80', 'rows': '5' }), 'tags': admin_widgets.FilteredSelectMultiple(u'метки', 0) } class Media: js = ('/media/js/admin_jsi18n.js', ) register_type(Event, base=News) register_workspace( Event, u"Событие", u"/news/events/", u'Анонсы событий отображаются в календаре по соответствующим датам и в блоке «Анонсы» с описанием.' )
js = ('/media/js/admin_jsi18n.js',) class DefaultGeneralPollForm: form = DefaultGeneralPollMainForm formset = DefaultGeneralPollFormInline def __init__(self, data=None, files=None, instance=None): self.instance = instance self.data = data self.files = files self.iform = self.form(data, files, instance=instance) self.iformset = self.formset(data, files, instance=instance) print "FS", [x for x in self.iformset.forms[0]], self.iformset.forms[0].fields def is_valid(self): return self.iform.is_valid() and self.iformset.is_valid() def save(self): self.iform.save() self.iformset.save() def __unicode__(self): from django.utils.safestring import mark_safe return mark_safe(u'%s %s'%(self.iform, self.iformset)) register_type(Poll) register_workspace(Poll, u"Голосование", u"/news/polls/items/", u'Голосование по какому-либо вопросу. Если указать метки, то будет отображаться на соответствующих им страницах сайта. Последнее опубликованное голосование отображается в блоке «Опрос».')
def __init__(self, *args, **kwrds): super(DefaultGeneralPageForm, self).__init__(*args, **kwrds) self.fields['text'].widget.is_new = not bool(kwrds['instance'].id) class Meta: model = Page fields = ('title', 'description', 'text', 'tags') widgets = { 'text': TinyMCEWidget(), 'description': forms.Textarea(attrs={ 'cols': '80', 'rows': '5' }), 'tags': admin_widgets.FilteredSelectMultiple(u'метки', 0) } class Media: js = ('/media/js/admin_jsi18n.js', ) register_type(Page) register_workspace( Page, u"Объявление", u"/news/announcements/", u'Короткие текстовые объявления. Отображаются в блоке «Объявления».') register_help( ContextHelpNote( u'Page', u'Страница', u'Страница - основной объект портала. Страница одновременно является и странице, и папкой, в которой могут содержаться объекты. Таким образом весь портал представляет собой дерево (иерархию) страниц. Вложенные в страницу фото, будут отображаться в блоке фото страницы (если выбран шаблон - по умолчанию). Помните, что размещая объемные ресурсы на часто посещаяемых страницах, Вы мешаете работе пользователей и тратите их время и интернет трафик, и что размещая множество изображений на странице, Вы делаете ее нечитаемой.' ))
verbose_name_plural = u"Диссертации" app_label = "core" def save(self, **kwargs): self.description = u"" super(Dissertation, self).save(**kwargs) if self.title != self.dissertant: self.title = self.dissertant self.save() class DefaultGeneralDisserForm(forms.ModelForm): subject = Dissertation._meta.get_field("subject").formfield(label=u'Тема диссертации') dissertant = Dissertation._meta.get_field("dissertant").formfield(label=u'Ф.И.О. соискателя') speciality = Dissertation._meta.get_field("speciality").formfield(label=u'Специальность') autoref = Dissertation._meta.get_field("autoref").formfield(label=u'Ссылка на файл автореферата') council = Dissertation._meta.get_field("council").formfield(widget=forms.Textarea(attrs={'cols':'80','rows':'3'})) date_defend = CalendarDateField(label=u'Дата защиты', required=True) class Meta: model = Dissertation fields = ( 'dissertant','subject', 'date_defend', 'speciality', 'council', 'autoref','tags') widgets = { 'tags':admin_widgets.FilteredSelectMultiple(u'метки', 0) } class Media: js = ('/media/js/admin_jsi18n.js',) register_type(Dissertation, base=None) register_workspace(Dissertation, u"Объявление о защите диссертации", u"/resources/dissers/", u"Объявление о защите диссертации с датой защиты и файлом автореферата.")
class Meta: verbose_name = u"Событие" verbose_name_plural = u"События" app_label = "core" class DefaultGeneralEventForm(forms.ModelForm): date_start = CalendarDateField(label=u'Дата начала') date_end = CalendarDateField(label=u'Дата завершения') def __init__(self, *args, **kwrds): super(DefaultGeneralEventForm, self).__init__(*args, **kwrds) self.fields['text'].widget.is_new = not bool(kwrds['instance'].id) class Meta: model = Event fields = ('title','description','text','date_start','date_end', 'place','contact_name','contact_email','contact_phone', 'tags') widgets = { 'text':TinyMCEWidget(), 'description':forms.Textarea(attrs={'cols':'80','rows':'5'}), 'tags':admin_widgets.FilteredSelectMultiple(u'метки', 0) } class Media: js = ('/media/js/admin_jsi18n.js',) register_type(Event, base=News) register_workspace(Event, u"Событие", u"/news/events/", u'Анонсы событий отображаются в календаре по соответствующим датам и в блоке «Анонсы» с описанием.')
class DefaultGeneralPollForm: form = DefaultGeneralPollMainForm formset = DefaultGeneralPollFormInline def __init__(self, data=None, files=None, instance=None): self.instance = instance self.data = data self.files = files self.iform = self.form(data, files, instance=instance) self.iformset = self.formset(data, files, instance=instance) print "FS", [x for x in self.iformset.forms[0] ], self.iformset.forms[0].fields def is_valid(self): return self.iform.is_valid() and self.iformset.is_valid() def save(self): self.iform.save() self.iformset.save() def __unicode__(self): from django.utils.safestring import mark_safe return mark_safe(u'%s %s' % (self.iform, self.iformset)) register_type(Poll) register_workspace( Poll, u"Голосование", u"/news/polls/items/", u'Голосование по какому-либо вопросу. Если указать метки, то будет отображаться на соответствующих им страницах сайта. Последнее опубликованное голосование отображается в блоке «Опрос».' )
class Meta: model = News fields = ('title','description','text','tags') widgets = { 'text':TinyMCEWidget(), 'description':forms.Textarea(attrs={'cols':'80','rows':'5'}), 'tags':admin_widgets.FilteredSelectMultiple(u'метки', 0) } class Media: js = ('/media/js/admin_jsi18n.js',) register_type(News, base=Page) register_workspace(News, u"Новость", u"/news/university/", u'Новости отображаются на главной странице или на страницах институтов, в зависимости от состояния и присвоенных меток.') register_help( ContextHelpNote( u'News', u'Новость', u'Страница специально выделенная для хранения новостных сообщений (новостью являтся уже произошедшее событие). Все новостные сообщения должны создаваться из рабочей зоны пользователя, иначе они не будут попадать в автоматически собираемые летны новостей. Важно помнить, что агрегация новостей в ленты подразделений происходит по меткам (тегам).', u'http://www.tsogu.ru/video-spravka/razmeshchenie-novostej/') ) register_help( ContextHelpNote( u'News_tags', u'Метки', u'Метки небходимы для агрегации новостей в новостные ленты подразделений')
class DefaultGeneralPageForm(forms.ModelForm): title = forms.CharField(label = u'Заголовок', required=True) def __init__(self, *args, **kwrds): super(DefaultGeneralPageForm, self).__init__(*args, **kwrds) self.fields['text'].widget.is_new = not bool(kwrds['instance'].id) class Meta: model = Page fields = ('title','description','text', 'tags') widgets = { 'text':TinyMCEWidget(), 'description':forms.Textarea(attrs={'cols':'80','rows':'5'}), 'tags':admin_widgets.FilteredSelectMultiple(u'метки', 0) } class Media: js = ('/media/js/admin_jsi18n.js',) register_type(Page) register_workspace(Page, u"Объявление", u"/news/announcements/", u'Короткие текстовые объявления. Отображаются в блоке «Объявления».') register_help( ContextHelpNote( u'Page', u'Страница', u'Страница - основной объект портала. Страница одновременно является и странице, и папкой, в которой могут содержаться объекты. Таким образом весь портал представляет собой дерево (иерархию) страниц. Вложенные в страницу фото, будут отображаться в блоке фото страницы (если выбран шаблон - по умолчанию). Помните, что размещая объемные ресурсы на часто посещаяемых страницах, Вы мешаете работе пользователей и тратите их время и интернет трафик, и что размещая множество изображений на странице, Вы делаете ее нечитаемой.') )
widgets = { 'text': TinyMCEWidget(), 'description': forms.Textarea(attrs={ 'cols': '80', 'rows': '5' }), 'tags': admin_widgets.FilteredSelectMultiple(u'метки', 0) } class Media: js = ('/media/js/admin_jsi18n.js', ) register_type(News, base=Page) register_workspace( News, u"Новость", u"/news/university/", u'Новости отображаются на главной странице или на страницах институтов, в зависимости от состояния и присвоенных меток.' ) register_help( ContextHelpNote( u'News', u'Новость', u'Страница специально выделенная для хранения новостных сообщений (новостью являтся уже произошедшее событие). Все новостные сообщения должны создаваться из рабочей зоны пользователя, иначе они не будут попадать в автоматически собираемые летны новостей. Важно помнить, что агрегация новостей в ленты подразделений происходит по меткам (тегам).', u'http://www.tsogu.ru/video-spravka/razmeshchenie-novostej/')) register_help( ContextHelpNote( u'News_tags', u'Метки', u'Метки небходимы для агрегации новостей в новостные ленты подразделений' )) register_help(
class DefaultGeneralDisserForm(forms.ModelForm): subject = Dissertation._meta.get_field("subject").formfield( label=u'Тема диссертации') dissertant = Dissertation._meta.get_field("dissertant").formfield( label=u'Ф.И.О. соискателя') speciality = Dissertation._meta.get_field("speciality").formfield( label=u'Специальность') autoref = Dissertation._meta.get_field("autoref").formfield( label=u'Ссылка на файл автореферата') council = Dissertation._meta.get_field("council").formfield( widget=forms.Textarea(attrs={ 'cols': '80', 'rows': '3' })) date_defend = CalendarDateField(label=u'Дата защиты', required=True) class Meta: model = Dissertation fields = ('dissertant', 'subject', 'date_defend', 'speciality', 'council', 'autoref', 'tags') widgets = {'tags': admin_widgets.FilteredSelectMultiple(u'метки', 0)} class Media: js = ('/media/js/admin_jsi18n.js', ) register_type(Dissertation, base=None) register_workspace( Dissertation, u"Объявление о защите диссертации", u"/resources/dissers/", u"Объявление о защите диссертации с датой защиты и файлом автореферата.")