def test_get_category_by_name(tag_category_factory): category = tag_category_factory(name="test") db.session.add(category) db.session.flush() assert tag_categories.get_category_by_name("test") == category assert tag_categories.get_category_by_name("TEST") == category with pytest.raises(tag_categories.TagCategoryNotFoundError): tag_categories.get_category_by_name("-")
def test_get_category_by_name(tag_category_factory): category = tag_category_factory(name='test') db.session.add(category) db.session.flush() assert tag_categories.get_category_by_name('test') == category assert tag_categories.get_category_by_name('TEST') == category with pytest.raises(tag_categories.TagCategoryNotFoundError): tag_categories.get_category_by_name('-')
def get(self, ctx, category_name): auth.verify_privilege(ctx.user, 'tag_categories:view') category = tag_categories.get_category_by_name(category_name) if not category: raise tag_categories.TagCategoryNotFoundError( 'Tag category %r not found.' % category_name) return _serialize_category_with_details(category)
def set_tag_category_as_default(ctx, params): auth.verify_privilege(ctx.user, 'tag_categories:set_default') category = tag_categories.get_category_by_name( params['category_name'], lock=True) tag_categories.set_default_category(category) ctx.session.flush() snapshots.modify(category, ctx.user) ctx.session.commit() tags.export_to_json() return _serialize(ctx, category)
def delete_tag_category(ctx, params): category = tag_categories.get_category_by_name( params['category_name'], lock=True) versions.verify_version(category, ctx) auth.verify_privilege(ctx.user, 'tag_categories:delete') tag_categories.delete_category(category) snapshots.delete(category, ctx.user) ctx.session.commit() tags.export_to_json() return {}
def test_reusing_own_name(test_ctx, new_name): db.session.add(test_ctx.tag_category_factory(name='cat', color='black')) db.session.commit() result = test_ctx.api.put( test_ctx.context_factory( input={'name': new_name}, user=test_ctx.user_factory(rank=db.User.RANK_REGULAR)), 'cat') assert result['tagCategory']['name'] == new_name category = tag_categories.get_category_by_name('cat') assert category.name == new_name
def delete_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) auth.verify_privilege(ctx.user, "tag_categories:delete") tag_categories.delete_category(category) snapshots.delete(category, ctx.user) ctx.session.commit() return {}
def set_tag_category_as_default( ctx: rest.Context, params: Dict[str, str]) -> rest.Response: auth.verify_privilege(ctx.user, 'tag_categories:set_default') category = tag_categories.get_category_by_name( params['category_name'], lock=True) tag_categories.set_default_category(category) ctx.session.flush() snapshots.modify(category, ctx.user) ctx.session.commit() return _serialize(ctx, category)
def delete_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) auth.verify_privilege(ctx.user, 'tag_categories:delete') tag_categories.delete_category(category) snapshots.delete(category, ctx.user) ctx.session.commit() return {}
def set_tag_category_as_default(ctx: rest.Context, params: Dict[str, str]) -> rest.Response: auth.verify_privilege(ctx.user, "tag_categories:set_default") category = tag_categories.get_category_by_name(params["category_name"], lock=True) tag_categories.set_default_category(category) ctx.session.flush() snapshots.modify(category, ctx.user) ctx.session.commit() return _serialize(ctx, category)
def test_reusing_own_name(test_ctx, new_name): db.session.add(test_ctx.tag_category_factory(name='cat', color='black')) db.session.commit() result = test_ctx.api.put( test_ctx.context_factory( input={'name': new_name}, user=test_ctx.user_factory(rank=db.User.RANK_REGULAR)), 'cat') assert result['tagCategory']['name'] == new_name category = tag_categories.get_category_by_name('cat') assert category.name == new_name
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)
def delete(self, ctx, category_name): category = tag_categories.get_category_by_name(category_name) auth.verify_privilege(ctx.user, 'tag_categories:delete') if len(tag_categories.get_all_category_names()) == 1: raise tag_categories.TagCategoryIsInUseError( 'Cannot delete the default category.') if category.tag_count > 0: raise tag_categories.TagCategoryIsInUseError( 'Tag category has some usages and cannot be deleted. ' + 'Please remove this category from relevant tags first..') snapshots.save_entity_deletion(category, ctx.user) ctx.session.delete(category) ctx.session.commit() tags.export_to_json() return {}
def put(self, ctx, category_name): category = tag_categories.get_category_by_name(category_name) if not category: raise tag_categories.TagCategoryNotFoundError( 'Tag category %r not found.' % category_name) if ctx.has_param('name'): auth.verify_privilege(ctx.user, 'tag_categories:edit:name') tag_categories.update_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_color( category, ctx.get_param_as_string('color')) snapshots.modify(category, ctx.user) ctx.session.commit() tags.export_to_json() return _serialize_category_with_details(category)
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)
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)
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)
def test_simple_updating(test_ctx): category = test_ctx.tag_category_factory(name='name', color='black') db.session.add(category) db.session.commit() result = test_ctx.api.put( test_ctx.context_factory( input={ 'name': 'changed', 'color': 'white', }, user=test_ctx.user_factory(rank=db.User.RANK_REGULAR)), 'name') assert result['tagCategory'] == { 'name': 'changed', 'color': 'white', 'usages': 0, } assert len(result['snapshots']) == 1 assert tag_categories.try_get_category_by_name('name') is None category = tag_categories.get_category_by_name('changed') assert category is not None assert category.name == 'changed' assert category.color == 'white' assert os.path.exists(os.path.join(config.config['data_dir'], 'tags.json'))
def test_simple_updating(test_ctx): category = test_ctx.tag_category_factory(name='name', color='black') db.session.add(category) db.session.commit() result = test_ctx.api.put( test_ctx.context_factory( input={ 'name': 'changed', 'color': 'white', }, user=test_ctx.user_factory(rank=db.User.RANK_REGULAR)), 'name') assert result['tagCategory'] == { 'name': 'changed', 'color': 'white', 'usages': 0, } assert len(result['snapshots']) == 1 assert tag_categories.try_get_category_by_name('name') is None category = tag_categories.get_category_by_name('changed') assert category is not None assert category.name == 'changed' assert category.color == 'white' assert os.path.exists(os.path.join(config.config['data_dir'], 'tags.json'))
def get_tag_category(ctx, params): auth.verify_privilege(ctx.user, 'tag_categories:view') category = tag_categories.get_category_by_name(params['category_name']) return _serialize(ctx, category)
def get_tag_category(ctx: rest.Context, params: Dict[str, str]) -> rest.Response: auth.verify_privilege(ctx.user, "tag_categories:view") category = tag_categories.get_category_by_name(params["category_name"]) return _serialize(ctx, category)
def update_tag_category_name(tag, category_name): assert tag tag.category = tag_categories.get_category_by_name(category_name)
def get(self, ctx, category_name): auth.verify_privilege(ctx.user, 'tag_categories:view') category = tag_categories.get_category_by_name(category_name) return tag_categories.serialize_category_with_details(category)
def update_tag_category_name(tag: model.Tag, category_name: str) -> None: assert tag tag.category = tag_categories.get_category_by_name(category_name)
def update_tag_category_name(tag: model.Tag, category_name: str) -> None: assert tag tag.category = tag_categories.get_category_by_name(category_name)
def get_tag_category( ctx: rest.Context, params: Dict[str, str]) -> rest.Response: auth.verify_privilege(ctx.user, 'tag_categories:view') category = tag_categories.get_category_by_name(params['category_name']) return _serialize(ctx, category)