Class: Kaui::BundlesController
- Inherits:
-
EngineController
- Object
- ApplicationController
- EngineController
- Kaui::BundlesController
- Defined in:
- app/controllers/kaui/bundles_controller.rb
Constant Summary
Constants included from EngineControllerUtil
EngineControllerUtil::SIMPLE_PAGINATION_THRESHOLD
Instance Method Summary collapse
- #do_pause_resume ⇒ Object
- #do_transfer ⇒ Object
-
#index ⇒ Object
rubocop:disable Lint/HashCompareByIdentity.
- #pause_resume ⇒ Object
- #restful_show ⇒ Object
-
#transfer ⇒ Object
rubocop:enable Lint/HashCompareByIdentity.
Methods inherited from EngineController
#check_for_redirect_to_tenant_screen, #current_ability, #current_user, #options_for_klient, #populate_account_details, #retrieve_allowed_users_for_current_user, #retrieve_tenants_for_current_user
Instance Method Details
#do_pause_resume ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'app/controllers/kaui/bundles_controller.rb', line 86 def do_pause_resume bundle = Kaui::Bundle.new(bundle_id: params.require(:id)) paused = false resumed = false if params[:pause_requested_date].present? bundle.pause(params[:pause_requested_date], current_user.kb_username, params[:reason], params[:comment], ) paused = true end if params[:resume_requested_date].present? bundle.resume(params[:resume_requested_date], current_user.kb_username, params[:reason], params[:comment], ) resumed = true end msg = 'Bundle was successfully ' msg += if paused && !resumed 'paused' elsif !paused && resumed 'resumed' else 'updated' end redirect_to kaui_engine.account_bundles_path(@account.account_id), notice: msg end |
#do_transfer ⇒ Object
65 66 67 68 69 70 71 72 73 74 |
# File 'app/controllers/kaui/bundles_controller.rb', line 65 def do_transfer = new_account = Kaui::Account.find_by_id_or_key(params.require(:new_account_key), false, false, ) bundle = Kaui::Bundle.new(bundle_id: params.require(:id), account_id: new_account.account_id) bundle.transfer(nil, params[:billing_policy], current_user.kb_username, params[:reason], params[:comment], ) redirect_to kaui_engine.account_bundles_path(new_account.account_id), notice: 'Bundle was successfully transferred' end |
#index ⇒ Object
rubocop:disable Lint/HashCompareByIdentity
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'app/controllers/kaui/bundles_controller.rb', line 6 def index = fetch_bundles = promise { @account.bundles() } = promise do = @account.(:BUNDLE, false, 'NONE', ) .each_with_object({}) do |entry, hsh| (hsh[entry.object_id] ||= []) << entry end end = promise do = @account.(:SUBSCRIPTION, false, 'NONE', ) .each_with_object({}) do |entry, hsh| (hsh[entry.object_id] ||= []) << entry end end fetch_bundle_fields = promise do all_bundle_fields = @account.all_custom_fields(:BUNDLE, 'NONE', ) all_bundle_fields.each_with_object({}) do |entry, hsh| (hsh[entry.object_id] ||= []) << entry end end fetch_subscription_fields = promise do all_subscription_fields = @account.all_custom_fields(:SUBSCRIPTION, 'NONE', ) all_subscription_fields.each_with_object({}) do |entry, hsh| (hsh[entry.object_id] ||= []) << entry end end = promise { Kaui::TagDefinition.all_for_bundle() } = promise { Kaui::TagDefinition.all_for_subscription() } @bundles = wait(fetch_bundles) @tags_per_bundle = wait() @tags_per_subscription = wait() @custom_fields_per_bundle = wait(fetch_bundle_fields) @custom_fields_per_subscription = wait(fetch_subscription_fields) @available_tags = wait() @available_subscription_tags = wait() # TODO: This doesn't take into account catalog versions catalogs = Kaui::Catalog.get_account_catalog_json(@account.account_id, nil, ) || [] @catalog = catalogs[-1] @subscription = {} @bundles.each do |bundle| bundle.subscriptions.each do |sub| next if sub.product_category == 'ADD_ON' @subscription[bundle.bundle_id] = sub break end end end |
#pause_resume ⇒ Object
81 82 83 84 |
# File 'app/controllers/kaui/bundles_controller.rb', line 81 def pause_resume @bundle = Kaui::Bundle.find_by_id_or_key(params.require(:id), ) @base_subscription = @bundle.subscriptions.find { |sub| sub.product_category == 'BASE' } end |
#restful_show ⇒ Object
76 77 78 79 |
# File 'app/controllers/kaui/bundles_controller.rb', line 76 def restful_show bundle = Kaui::Bundle.find_by_id_or_key(params.require(:id), ) redirect_to kaui_engine.account_bundles_path(bundle.account_id) end |
#transfer ⇒ Object
rubocop:enable Lint/HashCompareByIdentity
61 62 63 |
# File 'app/controllers/kaui/bundles_controller.rb', line 61 def transfer @bundle_id = params.require(:id) end |