Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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)
Esempio n. 4
0
 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()
Esempio n. 5
0
 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()
Esempio n. 6
0
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}')
Esempio n. 7
0
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}')
Esempio n. 8
0
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
Esempio n. 9
0
def add_post_form(id):
    tags = Tag.get_tags()
    return render_template('post_form.html', id=id, tags=tags)
Esempio n. 10
0
def get_tags():
    tags = Tag.get_tags()
    return render_template('tags.html', tags=tags)