Sha256: c6e2d97c9029664e0ae12edb3ac2f14855e2884717d345e511d76f67d7de1475
Contents?: true
Size: 1.65 KB
Versions: 8
Compression:
Stored size: 1.65 KB
Contents
class Kaui::AccountTagsController < Kaui::EngineController def index cached_options_for_klient = options_for_klient account = Kaui::Account::find_by_id_or_key(params.require(:account_id), true, true, cached_options_for_klient) tags = account.all_tags(nil, false, 'NONE', cached_options_for_klient) formatter = lambda do |tag| url_for_object = view_context.url_for_object(tag.object_id, tag.object_type) [ tag.tag_id, url_for_object ? view_context.link_to(tag.object_id, url_for_object) : tag.object_id, tag.object_type, tag.tag_definition_name ] end @tags_json = [] tags.each { |page| @tags_json << formatter.call(page) } @tags_json = @tags_json.to_json end def edit @account_id = params.require(:account_id) cached_options_for_klient = options_for_klient fetch_tag_names = promise { (Kaui::Tag.all_for_account(@account_id, false, 'NONE', cached_options_for_klient).map { |tag| tag.tag_definition_name }).sort } fetch_available_tags = promise { Kaui::TagDefinition.all_for_account(cached_options_for_klient) } @tag_names = wait(fetch_tag_names) @available_tags = wait(fetch_available_tags) end def update account_id = params.require(:account_id) tags = [] params.each do |tag, tag_name| tag_info = tag.split('_') next if tag_info.size != 2 or tag_info[0] != 'tag' tags << tag_info[1] end Kaui::Tag.set_for_account(account_id, tags, current_user.kb_username, params[:reason], params[:comment], options_for_klient) redirect_to kaui_engine.account_path(account_id), :notice => 'Account tags successfully set' end end
Version data entries
8 entries across 8 versions & 1 rubygems