add link to feed + update requirements
[prawokultury.git] / questions / models.py
index 1540191..43c6cc5 100644 (file)
@@ -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 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):
 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
 
         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")
     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)
 
 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)
     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=_("Leave empty if question doesn't need editing."))
     answer = MarkupField(_('answer'), markup_type='textile_pl', blank=True,
-            help_text=_('Use <a href="http://textile.thresholdstate.com/">Textile</a> syntax.'))
+            help_text=_('Use <a href="http://txstyle.org/">Textile</a> 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)
     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)
 
         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']
 
     class Meta:
         ordering = ['-created_at']