You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

87 lines
3.6 KiB

# -*- 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