Sha256: f7e744244506bda15b29092157381954be6f854c541e070445fc8ab81ce702cb
Contents?: true
Size: 1.74 KB
Versions: 3
Compression:
Stored size: 1.74 KB
Contents
# frozen_string_literal: true module Kaui class 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_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_key do |tag| tag_info = tag.split('_') next if (tag_info.size != 2) || (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 end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
kaui-3.0.5 | app/controllers/kaui/account_tags_controller.rb |
kaui-3.0.4 | app/controllers/kaui/account_tags_controller.rb |
kaui-3.0.2 | app/controllers/kaui/account_tags_controller.rb |