Example #1
0
 def put(self, ctx, category_name):
     category = tag_categories.get_category_by_name(category_name)
     if ctx.has_param('name'):
         auth.verify_privilege(ctx.user, 'tag_categories:edit:name')
         tag_categories.update_category_name(
             category, ctx.get_param_as_string('name'))
     if ctx.has_param('color'):
         auth.verify_privilege(ctx.user, 'tag_categories:edit:color')
         tag_categories.update_category_color(
             category, ctx.get_param_as_string('color'))
     ctx.session.flush()
     snapshots.save_entity_modification(category, ctx.user)
     ctx.session.commit()
     tags.export_to_json()
     return tag_categories.serialize_category_with_details(category)
Example #2
0
def update_tag_category(ctx: rest.Context, params: Dict[str,
                                                        str]) -> rest.Response:
    category = tag_categories.get_category_by_name(params["category_name"],
                                                   lock=True)
    versions.verify_version(category, ctx)
    versions.bump_version(category)
    if ctx.has_param("name"):
        auth.verify_privilege(ctx.user, "tag_categories:edit:name")
        tag_categories.update_category_name(category,
                                            ctx.get_param_as_string("name"))
    if ctx.has_param("color"):
        auth.verify_privilege(ctx.user, "tag_categories:edit:color")
        tag_categories.update_category_color(category,
                                             ctx.get_param_as_string("color"))
    ctx.session.flush()
    snapshots.modify(category, ctx.user)
    ctx.session.commit()
    return _serialize(ctx, category)
Example #3
0
def update_tag_category(ctx, params):
    category = tag_categories.get_category_by_name(
        params['category_name'], lock=True)
    versions.verify_version(category, ctx)
    versions.bump_version(category)
    if ctx.has_param('name'):
        auth.verify_privilege(ctx.user, 'tag_categories:edit:name')
        tag_categories.update_category_name(
            category, ctx.get_param_as_string('name'))
    if ctx.has_param('color'):
        auth.verify_privilege(ctx.user, 'tag_categories:edit:color')
        tag_categories.update_category_color(
            category, ctx.get_param_as_string('color'))
    ctx.session.flush()
    snapshots.modify(category, ctx.user)
    ctx.session.commit()
    tags.export_to_json()
    return _serialize(ctx, category)
Example #4
0
def update_tag_category(
        ctx: rest.Context, params: Dict[str, str]) -> rest.Response:
    category = tag_categories.get_category_by_name(
        params['category_name'], lock=True)
    versions.verify_version(category, ctx)
    versions.bump_version(category)
    if ctx.has_param('name'):
        auth.verify_privilege(ctx.user, 'tag_categories:edit:name')
        tag_categories.update_category_name(
            category, ctx.get_param_as_string('name'))
    if ctx.has_param('color'):
        auth.verify_privilege(ctx.user, 'tag_categories:edit:color')
        tag_categories.update_category_color(
            category, ctx.get_param_as_string('color'))
    ctx.session.flush()
    snapshots.modify(category, ctx.user)
    ctx.session.commit()
    return _serialize(ctx, category)
Example #5
0
def test_update_category_color(attempt, tag_category_factory):
    category = tag_category_factory()
    tag_categories.update_category_color(category, attempt)
    assert category.color == attempt
Example #6
0
def test_update_category_color_with_invalid_string(tag_category_factory):
    category = tag_category_factory()
    with pytest.raises(tag_categories.InvalidTagCategoryColorError):
        tag_categories.update_category_color(category, "NOPE")
Example #7
0
def test_update_category_color_with_too_long_string(tag_category_factory):
    category = tag_category_factory()
    with pytest.raises(tag_categories.InvalidTagCategoryColorError):
        tag_categories.update_category_color(category, "a" * 3000)
Example #8
0
def test_update_category_color(attempt, tag_category_factory):
    category = tag_category_factory()
    tag_categories.update_category_color(category, attempt)
    assert category.color == attempt
Example #9
0
def test_update_category_color_with_invalid_string(tag_category_factory):
    category = tag_category_factory()
    with pytest.raises(tag_categories.InvalidTagCategoryColorError):
        tag_categories.update_category_color(category, 'NOPE')
Example #10
0
def test_update_category_color_with_too_long_string(tag_category_factory):
    category = tag_category_factory()
    with pytest.raises(tag_categories.InvalidTagCategoryColorError):
        tag_categories.update_category_color(category, 'a' * 3000)