def form_valid(self, form): from tags.models import PageTagSet, Tag from tags.models import slugify as tag_slugify val = super(PageUpdateView, self).form_valid(form) if 'tag' in self.request.GET: # Add tag to page t = self.request.GET.get('tag') t = Tag.objects.get(slug=tag_slugify(t), region=self.object.region) if PageTagSet.objects.filter(page=self.object, region=self.object.region).exists(): pts = self.object.pagetagset else: pts = PageTagSet(page=self.object, region=self.object.region) tag_name = Tag._meta.verbose_name.lower() pts.save(comment=_("added %(name)s %(added)s.") % { 'name': tag_name, 'added': t }) pts.tags.add(t) return val
def form_valid(self, form): from tags.models import PageTagSet, Tag from tags.models import slugify as tag_slugify val = super(PageUpdateView, self).form_valid(form) if 'tag' in self.request.GET: # Add tag to page t = self.request.GET.get('tag') t = Tag.objects.get(slug=tag_slugify(t), region=self.object.region) if PageTagSet.objects.filter(page=self.object, region=self.object.region).exists(): pts = self.object.pagetagset else: pts = PageTagSet(page=self.object, region=self.object.region) tag_name = Tag._meta.verbose_name.lower() pts.save(comment=_("added %(name)s %(added)s.") % {'name': tag_name, 'added': t}) pts.tags.add(t) return val
def get_or_create_tag(word, region): tag, created = Tag.objects.get_or_create( slug=tag_slugify(word), region=region, defaults={'name': word} ) return tag