Skip to content
Snippets Groups Projects
Commit d107d467 authored by Martin Burchell's avatar Martin Burchell
Browse files

Fixed item update to delete free tags

When the form is submitted, any existing free tags will be deleted
before the ones present in the form are added.
parent dd76735c
No related branches found
No related tags found
1 merge request!46Tagging frontend
......@@ -741,6 +741,22 @@ def test_free_tags_created_on_item_update(view, form):
assert 'free-tags' in taxonomies
@pytest.mark.django_db
def test_existing_tag_deleted_on_item_update(view, form):
transport.items.add_free_terms(view.item['id'], 'free-tags', ['age 35-40'])
form.cleaned_data['terms[free-tags]'] = 'Monrovia'
view.form_valid(form)
assert_no_messages(view.request, messages.ERROR)
item = transport.items.get(view.item['id'])
terms = [t['name'] for t in item['terms']]
assert 'Monrovia' in terms
assert 'age 35-40' not in terms
@pytest.mark.django_db
def test_free_tags_created_for_new_item(add_view, form):
form.cleaned_data['terms[free-tags]'] = 'Monrovia|Important|age 35-40'
......
......@@ -252,6 +252,7 @@ class AddEditItemView(FormView):
def _add_free_terms(self, item_id, free_terms):
for (taxonomy, value) in free_terms.iteritems():
transport.items.delete_all_terms(item_id, taxonomy)
terms = value.split('|')
transport.items.add_free_terms(item_id, taxonomy, terms)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment