# -*- coding: utf-8 -*- from django.db import models from django.core.urlresolvers import reverse class Category(models.Model): """Категория.""" name = models.CharField(u'название', max_length=255, help_text=u'Название в меню.') slug = models.SlugField(unique=True, help_text=u'Уникальная часть названия, используемая в URL.') page_title = models.CharField(u'заголовок страницы', max_length=255, help_text=u'Заголовок страницы.', default='') description = models.TextField(u'описание', max_length=5000) ordering = models.IntegerField(u'сортировка', null=True, blank=True, db_index=True, help_text=u'Изменяет порядок сортировки.') meta_description = models.TextField(u'meta description', max_length=255, blank=True) meta_keywords = models.CharField(u'meta keywords', max_length=255, blank=True) created_at = models.DateTimeField(u'создан', auto_now_add=True) updated_at = models.DateTimeField(u'изменен', auto_now=True) class Meta: verbose_name = u'категория' verbose_name_plural = u'категории вопросов-ответов' ordering = ['ordering', 'name', '-pk'] def __unicode__(self): return self.name def get_absolute_url(self): return reverse('guestbook-category-list', kwargs={'slug': self.slug}) def get_menu_title(self): return self.name class Entry(models.Model): """Запись.""" category = models.ForeignKey(Category, verbose_name=u'категория', blank=True, null=True, default=None) name = models.CharField(u'имя', max_length=100) email = models.EmailField(u'email', max_length=50, blank=True, default='') message = models.TextField(u'текст сообщения', max_length=2000) reply = models.TextField(u'ваш ответ', max_length=2000, blank=True, default='') published = models.BooleanField(u'показывать', blank=True, default=False) pub_date = models.DateTimeField(u'дата публикации', blank=True, null=True, default=None) notified_user = models.BooleanField(u'уведомление пользователю', blank=True, default=False, help_text=u'Уведомили пользователя об ответе на его вопрос?') added_origtext = models.BooleanField(u'добавлено в ориг.тексты', blank=True, default=False, help_text=u'Добавили в оригинальные тексты Яндекс.Вебмастера?') created_at = models.DateTimeField(u'создан', auto_now_add=True) updated_at = models.DateTimeField(u'изменен', auto_now=True) class Meta: verbose_name = u'вопрос-ответ' verbose_name_plural = u'вопросы-ответы' ordering = ['-pub_date', '-created_at'] def __unicode__(self): return u'%s, %s' % (self.name, self.email) def save(self, *args, **kwargs): self.name = self.name.strip() self.email = self.email.strip() self.message = self.message.strip() self.reply = self.reply.strip() super(Entry, self).save(*args, **kwargs) class Recipient(models.Model): """Почучатель уведомлений о новых заявках.""" email = models.EmailField(u'email', unique=True) class Meta: verbose_name = u'получатель' verbose_name_plural = u'получатели уведомлений' ordering = ['email'] def __unicode__(self): return self.email