def get_tag_formset(obj=None, data=None, show_labels=False, labels=None, jquery=True): if obj and Tag.get_tags(obj): extra = 0 else: extra = 1 if jquery: tagInlineForm = TagInlineForm else: tagInlineForm = TagInlineFormNoJQuery Formset = generic.generic_inlineformset_factory( Tag, form=tagInlineForm, formset=TagInlineFormset, extra=extra, ) formset = Formset(instance=obj, data=data) formset.show_labels = show_labels formset.item_type_label = 'Item type' formset.field_label = 'Field' formset.value_label = 'Value' if labels: formset.item_type_label = labels.get('item_type', 'Item type') formset.field_label = labels.get('field', 'Field') formset.value_label = labels.get('value', 'Value') for label in labels: field = formset.form.base_fields.get(label) if field: field.label = labels[label] return formset
def edit_post_form(id): post = Post.get_post_by_id(id) tag_names = [tag.name for tag in post.tags] tags = Tag.get_tags() return render_template('edit_post.html', post=post, tag_names=tag_names, tags=tags)
def save(self): try: super(GenericTagInlineFormset, self).save() except TypeError, e: if e.message[0].startswith('Uniqueness'): tag = self.forms[0].instance new_item_type = tag.item_type obj = Tag.get_object(tag) tags = Tag.get_tags(obj) tags.update(item_type=new_item_type) self.save()
def commit_post(id): title = request.form.get('title') content = request.form.get('content') post = Post.add_post(title, content, id) tags = Tag.get_tags() for tag in tags: if (request.form.get(tag.name, None) is not None): PostTag.add(post.id, tag.id) return redirect(f'/users/{id}')
def commit_edit_post(id): title = request.form.get('title') content = request.form.get('content') tags = set() for tag in Tag.get_tags(): if (request.form.get(tag.name, None) is not None): tags.add(tag.id) Post.update_post(id, title, content, tags) return redirect(f'/posts/{id}')
def get_tag_formset(obj=None, data=None): if obj and Tag.get_tags(obj): extra = 0 else: extra = 1 Formset = generic.generic_inlineformset_factory( Tag, form=TagInlineForm, formset=TagInlineFormset, extra=extra, ) formset = Formset(instance=obj, data=data) return formset
def add_post_form(id): tags = Tag.get_tags() return render_template('post_form.html', id=id, tags=tags)
def get_tags(): tags = Tag.get_tags() return render_template('tags.html', tags=tags)