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

Version Path
kaui-2.1.0 app/controllers/kaui/account_tags_controller.rb
kaui-2.0.4 app/controllers/kaui/account_tags_controller.rb
kaui-2.0.3 app/controllers/kaui/account_tags_controller.rb
kaui-2.0.2 app/controllers/kaui/account_tags_controller.rb
kaui-2.0.1 app/controllers/kaui/account_tags_controller.rb
kaui-2.0.0 app/controllers/kaui/account_tags_controller.rb
kaui-1.4.1 app/controllers/kaui/account_tags_controller.rb
kaui-1.4.0 app/controllers/kaui/account_tags_controller.rb