X-Git-Url: https://git.mdrn.pl/prawokultury.git/blobdiff_plain/5fc3b1a4a446715d859440b474ae206ff672b4cd..0d97f4ad5dae65bb8de8ff1afef912dca820fa2d:/questions/models.py?ds=sidebyside diff --git a/questions/models.py b/questions/models.py index 1540191..43c6cc5 100644 --- a/questions/models.py +++ b/questions/models.py @@ -9,16 +9,31 @@ from django.utils.translation import ugettext_lazy as _ from markupfield.fields import MarkupField from taggit.models import TagBase, GenericTaggedItemBase from taggit_autosuggest.managers import TaggableManager -from fnpdjango.utils.text.slughifi import slughifi +from slugify import slugify +class TagCategory(models.Model): + name = models.CharField(verbose_name=_('Name'), unique = True, max_length = 100) + slug = models.SlugField(verbose_name=_('Slug'), unique = True, max_length = 100) + + class Meta: + verbose_name = _("Tag Category") + verbose_name_plural = _("Tag Categories") + + def __unicode__(self): + return self.name + + class Tag(TagBase): def slugify(self, tag, i=None): - slug = slughifi(tag) + slug = slugify(tag) if i is not None: slug += "_%d" % i return slug + category = models.ForeignKey(TagCategory, blank = True, null = True, on_delete = models.SET_NULL, related_name = 'tags') + click_count = models.IntegerField(null = False, default = 0) + class Meta: verbose_name = _("Tag") verbose_name_plural = _("Tags") @@ -30,14 +45,15 @@ class TagItem(GenericTaggedItemBase): class Question(models.Model): email = models.EmailField(_('contact e-mail'), null=True, blank=True) - question = models.TextField(_('question'), db_index=True) + question = models.TextField(_('question'), db_index=False) created_at = models.DateTimeField(_('created at'), auto_now_add=True) changed_at = models.DateTimeField(_('changed at'), auto_now=True) approved = models.BooleanField(_('approved'), default=False) - edited_question = models.TextField(_('edited question'), db_index=True, null=True, blank=True, + edited_question = models.TextField(_('edited question'), db_index=False, null=True, blank=True, help_text=_("Leave empty if question doesn't need editing.")) answer = MarkupField(_('answer'), markup_type='textile_pl', blank=True, - help_text=_('Use Textile syntax.')) + help_text=_('Use Textile syntax.')) + answered_by = models.CharField(_('answered by'), max_length=127, null=True, blank=True) answered = models.BooleanField(_('answered'), db_index=True, default=False, help_text=_('Check to send the answer to user.')) answered_at = models.DateTimeField(_('answered at'), null=True, blank=True, db_index=True) @@ -45,7 +61,7 @@ class Question(models.Model): help_text=_('Check to display answered question on site.')) published_at = models.DateTimeField(_('published at'), null=True, blank=True, db_index=True) - tags = TaggableManager(through=TagItem) + tags = TaggableManager(through=TagItem, blank=True) class Meta: ordering = ['-created_at']