kaui 2.1.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (269) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +8 -7
  3. data/Rakefile +4 -2
  4. data/app/assets/config/kaui_manifest.js +45 -0
  5. data/app/assets/javascripts/jquery.spin.js +76 -0
  6. data/app/assets/javascripts/kaui/kaui.js +76 -0
  7. data/app/assets/javascripts/kaui_application.js +25 -0
  8. data/app/assets/javascripts/spin.js +76 -0
  9. data/app/assets/stylesheets/bootstrap_and_overrides.scss +240 -0
  10. data/app/assets/stylesheets/kaui/{account.less → account.scss} +4 -0
  11. data/app/assets/stylesheets/kaui/{audit.less → audit.scss} +5 -1
  12. data/app/assets/stylesheets/kaui/{common.less → common.scss} +17 -15
  13. data/app/assets/stylesheets/kaui/{datatable.less → datatable.scss} +6 -3
  14. data/app/assets/stylesheets/kaui/{header.less → header.scss} +16 -12
  15. data/app/assets/stylesheets/kaui/{home.less → home.scss} +7 -4
  16. data/app/assets/stylesheets/kaui/{invoice.less → invoice.scss} +7 -3
  17. data/app/assets/stylesheets/kaui/kaui.scss +265 -0
  18. data/app/assets/stylesheets/kaui/kaui_bootstrap.scss +3 -0
  19. data/app/assets/stylesheets/kaui/{overdue.less → overdue.scss} +3 -1
  20. data/app/assets/stylesheets/kaui/{payment.less → payment.scss} +3 -0
  21. data/app/assets/stylesheets/kaui/{subscription.less → subscription.scss} +4 -1
  22. data/app/assets/stylesheets/kaui/{tags.less → tags.scss} +9 -5
  23. data/app/assets/stylesheets/kaui/timeline.scss +7 -0
  24. data/app/assets/stylesheets/kaui/tooltip.scss +15 -0
  25. data/app/controllers/kaui/account_children_controller.rb +25 -28
  26. data/app/controllers/kaui/account_custom_fields_controller.rb +16 -15
  27. data/app/controllers/kaui/account_emails_controller.rb +28 -25
  28. data/app/controllers/kaui/account_tags_controller.rb +37 -34
  29. data/app/controllers/kaui/account_timelines_controller.rb +38 -33
  30. data/app/controllers/kaui/accounts_controller.rb +268 -250
  31. data/app/controllers/kaui/admin_allowed_users_controller.rb +105 -99
  32. data/app/controllers/kaui/admin_controller.rb +32 -31
  33. data/app/controllers/kaui/admin_tenants_controller.rb +434 -388
  34. data/app/controllers/kaui/audit_logs_controller.rb +86 -83
  35. data/app/controllers/kaui/bundle_tags_controller.rb +24 -20
  36. data/app/controllers/kaui/bundles_controller.rb +96 -82
  37. data/app/controllers/kaui/chargebacks_controller.rb +36 -33
  38. data/app/controllers/kaui/charges_controller.rb +23 -20
  39. data/app/controllers/kaui/credits_controller.rb +28 -25
  40. data/app/controllers/kaui/custom_fields_controller.rb +172 -38
  41. data/app/controllers/kaui/engine_controller.rb +2 -1
  42. data/app/controllers/kaui/engine_controller_util.rb +128 -117
  43. data/app/controllers/kaui/home_controller.rb +230 -217
  44. data/app/controllers/kaui/invoice_items_controller.rb +43 -39
  45. data/app/controllers/kaui/invoice_tags_controller.rb +24 -20
  46. data/app/controllers/kaui/invoices_controller.rb +132 -117
  47. data/app/controllers/kaui/login_proxy_controller.rb +2 -1
  48. data/app/controllers/kaui/payment_methods_controller.rb +102 -94
  49. data/app/controllers/kaui/payments_controller.rb +95 -92
  50. data/app/controllers/kaui/queues_controller.rb +47 -14
  51. data/app/controllers/kaui/refunds_controller.rb +36 -33
  52. data/app/controllers/kaui/registrations_controller.rb +7 -7
  53. data/app/controllers/kaui/role_definitions_controller.rb +17 -14
  54. data/app/controllers/kaui/sessions_controller.rb +7 -4
  55. data/app/controllers/kaui/subscriptions_controller.rb +197 -187
  56. data/app/controllers/kaui/tag_definitions_controller.rb +28 -27
  57. data/app/controllers/kaui/tags_controller.rb +25 -22
  58. data/app/controllers/kaui/tenants_controller.rb +30 -28
  59. data/app/controllers/kaui/transactions_controller.rb +43 -38
  60. data/app/helpers/kaui/account_helper.rb +16 -14
  61. data/app/helpers/kaui/application_helper.rb +8 -3
  62. data/app/helpers/kaui/date_helper.rb +4 -3
  63. data/app/helpers/kaui/home_helper.rb +2 -0
  64. data/app/helpers/kaui/locale_helper.rb +7 -6
  65. data/app/helpers/kaui/money_helper.rb +2 -1
  66. data/app/helpers/kaui/object_helper.rb +11 -10
  67. data/app/helpers/kaui/payment_helper.rb +7 -6
  68. data/app/helpers/kaui/payment_method_helper.rb +3 -2
  69. data/app/helpers/kaui/permissions_helper.rb +9 -9
  70. data/app/helpers/kaui/plugin_helper.rb +25 -23
  71. data/app/helpers/kaui/subscription_helper.rb +27 -29
  72. data/app/helpers/kaui/us_states_helper.rb +7 -6
  73. data/app/helpers/kaui/uuid_helper.rb +8 -6
  74. data/app/models/kaui/ability.rb +19 -12
  75. data/app/models/kaui/account.rb +45 -28
  76. data/app/models/kaui/account_email.rb +23 -20
  77. data/app/models/kaui/account_timeline.rb +5 -1
  78. data/app/models/kaui/admin.rb +65 -64
  79. data/app/models/kaui/admin_tenant.rb +81 -82
  80. data/app/models/kaui/allowed_user.rb +13 -9
  81. data/app/models/kaui/allowed_user_tenant.rb +4 -2
  82. data/app/models/kaui/application_record.rb +2 -0
  83. data/app/models/kaui/audit_log.rb +6 -3
  84. data/app/models/kaui/base.rb +13 -7
  85. data/app/models/kaui/bundle.rb +41 -24
  86. data/app/models/kaui/catalog.rb +118 -113
  87. data/app/models/kaui/chargeback.rb +5 -1
  88. data/app/models/kaui/credit.rb +4 -1
  89. data/app/models/kaui/custom_field.rb +9 -6
  90. data/app/models/kaui/invoice.rb +25 -22
  91. data/app/models/kaui/invoice_item.rb +9 -6
  92. data/app/models/kaui/invoice_payment.rb +49 -54
  93. data/app/models/kaui/killbill_authenticatable.rb +14 -8
  94. data/app/models/kaui/killbill_registerable.rb +7 -0
  95. data/app/models/kaui/overdue.rb +64 -65
  96. data/app/models/kaui/payment.rb +22 -19
  97. data/app/models/kaui/payment_method.rb +48 -39
  98. data/app/models/kaui/payment_state.rb +41 -38
  99. data/app/models/kaui/rails_methods.rb +9 -9
  100. data/app/models/kaui/refund.rb +7 -1
  101. data/app/models/kaui/role_definition.rb +5 -1
  102. data/app/models/kaui/simple_plan.rb +5 -3
  103. data/app/models/kaui/subscription.rb +10 -7
  104. data/app/models/kaui/tag.rb +25 -22
  105. data/app/models/kaui/tag_definition.rb +50 -45
  106. data/app/models/kaui/tenant.rb +6 -5
  107. data/app/models/kaui/transaction.rb +43 -31
  108. data/app/models/kaui/user.rb +10 -16
  109. data/app/models/kaui/user_role.rb +8 -5
  110. data/app/views/kaui/accounts/_billing_info.html.erb +1 -1
  111. data/app/views/kaui/accounts/_form.html.erb +2 -2
  112. data/app/views/kaui/accounts/index.html.erb +2 -0
  113. data/app/views/kaui/admin_allowed_users/_form.html.erb +3 -3
  114. data/app/views/kaui/admin_tenants/_form_catalog_translation.erb +1 -1
  115. data/app/views/kaui/admin_tenants/_form_invoice_template.erb +1 -1
  116. data/app/views/kaui/admin_tenants/_form_invoice_translation.erb +1 -1
  117. data/app/views/kaui/admin_tenants/_show_catalog_simple.erb +11 -5
  118. data/app/views/kaui/admin_tenants/new_catalog.html.erb +2 -2
  119. data/app/views/kaui/admin_tenants/new_overdue_config.html.erb +2 -2
  120. data/app/views/kaui/admin_tenants/new_plan_currency.html.erb +1 -1
  121. data/app/views/kaui/bundles/index.html.erb +1 -1
  122. data/app/views/kaui/bundles/transfer.html.erb +13 -5
  123. data/app/views/kaui/invoices/_invoice_table.html.erb +1 -1
  124. data/app/views/kaui/layouts/kaui_flash.html.erb +24 -0
  125. data/app/views/kaui/layouts/kaui_header.html.erb +19 -2
  126. data/app/views/kaui/payment_methods/_payment_methods_details_table.html.erb +13 -4
  127. data/app/views/kaui/payments/_payment_table.html.erb +21 -11
  128. data/app/views/kaui/payments/index.html.erb +9 -9
  129. data/app/views/kaui/queues/index.html.erb +1 -1
  130. data/app/views/kaui/subscriptions/_cancel_by_date_modal.html.erb +1 -4
  131. data/app/views/kaui/subscriptions/_edit_form.html.erb +1 -1
  132. data/app/views/kaui/subscriptions/_form.html.erb +1 -1
  133. data/app/views/kaui/subscriptions/_subscriptions_table.html.erb +3 -3
  134. data/app/views/kaui/subscriptions/edit_bcd.erb +1 -1
  135. data/app/views/kaui/tag_definitions/index.html.erb +2 -2
  136. data/app/views/kaui/tags/index.html.erb +1 -0
  137. data/config/initializers/bootstrap_datepicker_rails.rb +3 -0
  138. data/config/initializers/devise.rb +8 -6
  139. data/config/initializers/js_routes.rb +9 -0
  140. data/config/initializers/kilbill_client_init.rb +13 -0
  141. data/config/initializers/killbill_authenticatable.rb +71 -21
  142. data/config/initializers/killbill_registerable.rb +5 -3
  143. data/config/initializers/time_formats.rb +6 -4
  144. data/config/locales/en.yml +78 -1
  145. data/config/routes.rb +34 -32
  146. data/db/migrate/20130812155313_devise_create_kaui_users.rb +10 -8
  147. data/db/migrate/20150109214021_create_kaui_tenants.rb +10 -8
  148. data/db/migrate/20150112232813_create_kaui_allowed_users.rb +10 -8
  149. data/lib/generators/kaui/install/install_generator.rb +23 -20
  150. data/lib/generators/kaui/install/templates/config/initializers/kaui.rb +3 -1
  151. data/lib/kaui/engine.rb +17 -5
  152. data/lib/kaui/installer/installer.rb +27 -26
  153. data/lib/kaui/version.rb +3 -1
  154. data/lib/kaui.rb +28 -30
  155. data/lib/tasks/kaui_tasks.rake +1 -0
  156. metadata +136 -438
  157. data/app/assets/javascripts/application.js +0 -17
  158. data/app/assets/javascripts/kaui/bootstrap-tweaks.js +0 -172
  159. data/app/assets/stylesheets/bootstrap_and_overrides.css.less +0 -44
  160. data/app/assets/stylesheets/kaui/kaui.less +0 -21
  161. data/app/assets/stylesheets/kaui/timeline.less +0 -4
  162. data/config/initializers/asset.rb +0 -1
  163. data/config/initializers/kilbill-client-init.rb +0 -9
  164. data/db/schema.rb +0 -15
  165. data/test/dummy/README.rdoc +0 -261
  166. data/test/dummy/Rakefile +0 -7
  167. data/test/dummy/app/controllers/application_controller.rb +0 -9
  168. data/test/dummy/app/helpers/application_helper.rb +0 -2
  169. data/test/dummy/bin/bundle +0 -3
  170. data/test/dummy/bin/rails +0 -4
  171. data/test/dummy/bin/rake +0 -4
  172. data/test/dummy/bin/setup +0 -38
  173. data/test/dummy/bin/update +0 -29
  174. data/test/dummy/bin/yarn +0 -11
  175. data/test/dummy/config/application.rb +0 -18
  176. data/test/dummy/config/boot.rb +0 -3
  177. data/test/dummy/config/database.yml +0 -27
  178. data/test/dummy/config/environment.rb +0 -5
  179. data/test/dummy/config/environments/development.rb +0 -58
  180. data/test/dummy/config/environments/production.rb +0 -91
  181. data/test/dummy/config/environments/test.rb +0 -49
  182. data/test/dummy/config/initializers/application_controller_renderer.rb +0 -6
  183. data/test/dummy/config/initializers/assets.rb +0 -14
  184. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  185. data/test/dummy/config/initializers/cookies_serializer.rb +0 -5
  186. data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  187. data/test/dummy/config/initializers/inflections.rb +0 -16
  188. data/test/dummy/config/initializers/killbill_client.rb +0 -1
  189. data/test/dummy/config/initializers/mime_types.rb +0 -4
  190. data/test/dummy/config/initializers/money.rb +0 -2
  191. data/test/dummy/config/initializers/new_framework_defaults_5_1.rb +0 -14
  192. data/test/dummy/config/initializers/secret_token.rb +0 -7
  193. data/test/dummy/config/initializers/session_store.rb +0 -8
  194. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  195. data/test/dummy/config/locales/en.yml +0 -33
  196. data/test/dummy/config/routes.rb +0 -3
  197. data/test/dummy/config/secrets.yml +0 -32
  198. data/test/dummy/config/symmetric-encryption.yml +0 -135
  199. data/test/dummy/config.ru +0 -4
  200. data/test/dummy/db/schema.rb +0 -52
  201. data/test/dummy/public/404.html +0 -26
  202. data/test/dummy/public/422.html +0 -26
  203. data/test/dummy/public/500.html +0 -25
  204. data/test/dummy/public/favicon.ico +0 -0
  205. data/test/dummy/script/rails +0 -6
  206. data/test/fixtures/SpyCarAdvanced.xml +0 -824
  207. data/test/fixtures/catalog-v1.xml +0 -73
  208. data/test/fixtures/catalog_translation_fr-v1.properties +0 -1
  209. data/test/fixtures/invoice_template-v1.html +0 -100
  210. data/test/fixtures/invoice_translation_fr-v1.properties +0 -23
  211. data/test/fixtures/overdue-v1.xml +0 -49
  212. data/test/fixtures/stripe.yml +0 -2
  213. data/test/functional/kaui/account_children_controller_test.rb +0 -32
  214. data/test/functional/kaui/account_custom_fields_controller_test.rb +0 -29
  215. data/test/functional/kaui/account_emails_controller_test.rb +0 -55
  216. data/test/functional/kaui/account_tags_controller_test.rb +0 -48
  217. data/test/functional/kaui/account_timelines_controller_test.rb +0 -20
  218. data/test/functional/kaui/accounts_controller_test.rb +0 -297
  219. data/test/functional/kaui/admin_allowed_users_controller_test.rb +0 -234
  220. data/test/functional/kaui/admin_controller_test.rb +0 -45
  221. data/test/functional/kaui/admin_tenants_controller_test.rb +0 -352
  222. data/test/functional/kaui/audit_logs_controller_test.rb +0 -71
  223. data/test/functional/kaui/bundle_tags_controller_test.rb +0 -23
  224. data/test/functional/kaui/bundles_controller_test.rb +0 -130
  225. data/test/functional/kaui/chargebacks_controller_test.rb +0 -42
  226. data/test/functional/kaui/charges_controller_test.rb +0 -60
  227. data/test/functional/kaui/credits_controller_test.rb +0 -54
  228. data/test/functional/kaui/custom_fields_controller_test.rb +0 -52
  229. data/test/functional/kaui/functional_test_helper.rb +0 -13
  230. data/test/functional/kaui/functional_test_helper_nosetup.rb +0 -120
  231. data/test/functional/kaui/home_controller_test.rb +0 -407
  232. data/test/functional/kaui/invoice_items_controller_test.rb +0 -82
  233. data/test/functional/kaui/invoices_controller_test.rb +0 -88
  234. data/test/functional/kaui/login_proxy_controller_test.rb +0 -12
  235. data/test/functional/kaui/payment_methods_controller_test.rb +0 -52
  236. data/test/functional/kaui/payments_controller_test.rb +0 -59
  237. data/test/functional/kaui/queues_controller_test.rb +0 -17
  238. data/test/functional/kaui/refunds_controller_test.rb +0 -63
  239. data/test/functional/kaui/registrations_controller_test.rb +0 -49
  240. data/test/functional/kaui/role_definitions_controller_test.rb +0 -47
  241. data/test/functional/kaui/subscriptions_controller_test.rb +0 -194
  242. data/test/functional/kaui/tag_definitions_controller_test.rb +0 -29
  243. data/test/functional/kaui/tags_controller_test.rb +0 -21
  244. data/test/functional/kaui/tenants_controller_test.rb +0 -60
  245. data/test/functional/kaui/transactions_controller_test.rb +0 -90
  246. data/test/integration/kaui/date_helper_integration_test.rb +0 -16
  247. data/test/integration/kaui/integration_test_helper.rb +0 -32
  248. data/test/integration/kaui/navigation_test.rb +0 -43
  249. data/test/killbill_test_helper.rb +0 -219
  250. data/test/test_helper.rb +0 -22
  251. data/test/unit/helpers/kaui/admin_allowed_users_helper_test.rb +0 -6
  252. data/test/unit/helpers/kaui/admin_tenants_helper_test.rb +0 -6
  253. data/test/unit/helpers/kaui/payment_method_helper_test.rb +0 -17
  254. data/test/unit/helpers/kaui/tenants_helper_test.rb +0 -6
  255. data/test/unit/helpers/kaui/uuid_helper_test.rb +0 -16
  256. data/test/unit/kaui/account_email_test.rb +0 -19
  257. data/test/unit/kaui/account_test.rb +0 -14
  258. data/test/unit/kaui/admin_tenant_test.rb +0 -132
  259. data/test/unit/kaui/allowed_user_test.rb +0 -34
  260. data/test/unit/kaui/base_test.rb +0 -23
  261. data/test/unit/kaui/date_helper_test.rb +0 -26
  262. data/test/unit/kaui/invoice_item_test.rb +0 -11
  263. data/test/unit/kaui/invoice_payment_test.rb +0 -42
  264. data/test/unit/kaui/invoice_test.rb +0 -20
  265. data/test/unit/kaui/money_helper_test.rb +0 -16
  266. data/test/unit/kaui/payment_test.rb +0 -42
  267. data/test/unit/kaui/tag_definition_test.rb +0 -11
  268. data/test/unit/kaui/tenant_test.rb +0 -19
  269. /data/app/assets/stylesheets/{application.css → kaui_application.css} +0 -0
@@ -0,0 +1,15 @@
1
+
2
+ .tooltip-arrow,
3
+ .kb-tooltip + .tooltip > .tooltip-inner {background-color: #C0E0E3;}
4
+ .kb-tooltip + .tooltip.top > .tooltip-arrow {background-color: #fff; border-top: #C0E0E3;}
5
+
6
+
7
+ .kb-tooltip + .bs-tooltip-auto[x-placement^=top] .arrow::before,
8
+ .kb-tooltip + .bs-tooltip-top .arrow::before {
9
+ border-bottom-color: #C0E0E3;
10
+ }
11
+
12
+ .tooltip .tooltip-arrow {
13
+ border-top: 5px solid #C0E0E3 !important;}
14
+
15
+
@@ -1,47 +1,44 @@
1
+ # frozen_string_literal: true
1
2
 
2
- class Kaui::AccountChildrenController < Kaui::EngineController
3
+ module Kaui
4
+ class AccountChildrenController < Kaui::EngineController
5
+ def index
6
+ # check that the required parent account id is provided and get its data
3
7
 
4
- def index
5
-
6
- # check that the required parent account id is provided and get its data
7
- begin
8
- @account = Kaui::Account::find_by_id(params.require(:account_id), false, false, options_for_klient)
8
+ @account = Kaui::Account.find_by_id(params.require(:account_id), false, false, options_for_klient)
9
9
  rescue KillBillClient::API::NotFound
10
10
  flash[:error] = "Invalid parent account id supplied #{params.require(:account_id)}"
11
11
  redirect_to kaui_engine.home_path and return
12
12
  end
13
13
 
14
- end
14
+ # It will fetch all the children. It use the paginate to fetch all children as permitting for future exchange
15
+ # when killbill account/{account_id}/children endpoint includes offset and limit parameters.
16
+ def pagination
17
+ cached_options_for_klient = options_for_klient
18
+ searcher = lambda do |parent_account_id, _offset, _limit|
19
+ Kaui::Account.find_children(parent_account_id, true, true, 'NONE', cached_options_for_klient)
20
+ end
15
21
 
16
- # It will fetch all the children. It use the paginate to fetch all children as permitting for future exchange
17
- # when killbill account/{account_id}/children endpoint includes offset and limit parameters.
18
- def pagination
19
- cached_options_for_klient = options_for_klient
20
- searcher = lambda do |parent_account_id, offset, limit|
21
- Kaui::Account.find_children(parent_account_id, true, true, 'NONE', cached_options_for_klient)
22
- end
23
-
24
- data_extractor = lambda do |account_child, column|
25
- [
22
+ data_extractor = lambda do |account_child, column|
23
+ [
26
24
  account_child.name,
27
25
  account_child.account_id,
28
26
  account_child.external_key,
29
27
  account_child.account_balance,
30
28
  account_child.city,
31
29
  account_child.country
32
- ][column]
33
- end
30
+ ][column]
31
+ end
34
32
 
35
- formatter = lambda do |account_child|
36
- [
33
+ formatter = lambda do |account_child|
34
+ [
37
35
  view_context.link_to(account_child.account_id, account_path(account_child.account_id)),
38
36
  account_child.external_key,
39
- view_context.humanized_money_with_symbol(account_child.balance_to_money),
40
- ]
41
- end
37
+ view_context.humanized_money_with_symbol(account_child.balance_to_money)
38
+ ]
39
+ end
42
40
 
43
- paginate searcher, data_extractor, formatter
41
+ paginate searcher, data_extractor, formatter
42
+ end
44
43
  end
45
-
46
-
47
- end
44
+ end
@@ -1,24 +1,25 @@
1
- class Kaui::AccountCustomFieldsController < Kaui::EngineController
1
+ # frozen_string_literal: true
2
2
 
3
- def index
4
- cached_options_for_klient = options_for_klient
5
- account = Kaui::Account::find_by_id_or_key(params.require(:account_id), true, true, cached_options_for_klient)
6
- custom_fields = account.all_custom_fields(nil, 'NONE', cached_options_for_klient)
3
+ module Kaui
4
+ class AccountCustomFieldsController < Kaui::EngineController
5
+ def index
6
+ cached_options_for_klient = options_for_klient
7
+ account = Kaui::Account.find_by_id_or_key(params.require(:account_id), true, true, cached_options_for_klient)
8
+ custom_fields = account.all_custom_fields(nil, 'NONE', cached_options_for_klient)
7
9
 
8
-
9
- formatter = lambda do |custom_field|
10
- url_for_object = view_context.url_for_object(custom_field.object_id, custom_field.object_type)
11
- [
10
+ formatter = lambda do |custom_field|
11
+ url_for_object = view_context.url_for_object(custom_field.object_id, custom_field.object_type)
12
+ [
12
13
  url_for_object ? view_context.link_to(custom_field.object_id, url_for_object) : custom_field.object_id,
13
14
  custom_field.object_type,
14
15
  custom_field.name,
15
16
  custom_field.value
16
- ]
17
- end
18
- @custom_fields_json = []
19
- custom_fields.each { |page| @custom_fields_json << formatter.call(page) }
17
+ ]
18
+ end
19
+ @custom_fields_json = []
20
+ custom_fields.each { |page| @custom_fields_json << formatter.call(page) }
20
21
 
21
- @custom_fields_json = @custom_fields_json.to_json
22
+ @custom_fields_json = @custom_fields_json.to_json
23
+ end
22
24
  end
23
-
24
25
  end
@@ -1,36 +1,39 @@
1
- class Kaui::AccountEmailsController < Kaui::EngineController
1
+ # frozen_string_literal: true
2
2
 
3
- def new
4
- @account_email = Kaui::AccountEmail.new(:account_id => params.require(:account_id),
5
- :email => params[:email])
6
- end
3
+ module Kaui
4
+ class AccountEmailsController < Kaui::EngineController
5
+ def new
6
+ @account_email = Kaui::AccountEmail.new(account_id: params.require(:account_id),
7
+ email: params[:email])
8
+ end
7
9
 
8
- def create
9
- @account_email = Kaui::AccountEmail.new(account_email_params.merge(:account_id => params.require(:account_id)))
10
+ def create
11
+ @account_email = Kaui::AccountEmail.new(account_email_params.merge(account_id: params.require(:account_id)))
10
12
 
11
- begin
12
- @account_email.create(current_user.kb_username, params[:reason], params[:comment], options_for_klient)
13
- redirect_to kaui_engine.account_path(@account_email.account_id), :notice => 'Account email was successfully added'
14
- rescue => e
15
- flash.now[:error] = "Error while adding the email: #{as_string(e)}"
16
- render :action => :new
13
+ begin
14
+ @account_email.create(current_user.kb_username, params[:reason], params[:comment], options_for_klient)
15
+ redirect_to kaui_engine.account_path(@account_email.account_id), notice: 'Account email was successfully added'
16
+ rescue StandardError => e
17
+ flash.now[:error] = "Error while adding the email: #{as_string(e)}"
18
+ render action: :new
19
+ end
17
20
  end
18
- end
19
21
 
20
- def destroy
21
- account_email = Kaui::AccountEmail.new(:account_id => params.require(:account_id),
22
- :email => params.require(:id))
22
+ def destroy
23
+ account_email = Kaui::AccountEmail.new(account_id: params.require(:account_id),
24
+ email: params.require(:id))
23
25
 
24
- account_email.destroy(current_user.kb_username, params[:reason], params[:comment], options_for_klient)
26
+ account_email.destroy(current_user.kb_username, params[:reason], params[:comment], options_for_klient)
25
27
 
26
- redirect_to kaui_engine.account_path(account_email.account_id), :notice => 'Account email was successfully deleted'
27
- end
28
+ redirect_to kaui_engine.account_path(account_email.account_id), notice: 'Account email was successfully deleted'
29
+ end
28
30
 
29
- private
31
+ private
30
32
 
31
- def account_email_params
32
- account_email = params.require(:account_email)
33
- account_email.require(:email)
34
- account_email
33
+ def account_email_params
34
+ account_email = params.require(:account_email)
35
+ account_email.require(:email)
36
+ account_email
37
+ end
35
38
  end
36
39
  end
@@ -1,48 +1,51 @@
1
- class Kaui::AccountTagsController < Kaui::EngineController
2
-
3
- def index
4
- cached_options_for_klient = options_for_klient
5
- account = Kaui::Account::find_by_id_or_key(params.require(:account_id), true, true, cached_options_for_klient)
6
- tags = account.all_tags(nil, false, 'NONE', cached_options_for_klient)
7
-
8
-
9
- formatter = lambda do |tag|
10
- url_for_object = view_context.url_for_object(tag.object_id, tag.object_type)
11
- [
1
+ # frozen_string_literal: true
2
+
3
+ module Kaui
4
+ class AccountTagsController < Kaui::EngineController
5
+ def index
6
+ cached_options_for_klient = options_for_klient
7
+ account = Kaui::Account.find_by_id_or_key(params.require(:account_id), true, true, cached_options_for_klient)
8
+ tags = account.all_tags(nil, false, 'NONE', cached_options_for_klient)
9
+
10
+ formatter = lambda do |tag|
11
+ url_for_object = view_context.url_for_object(tag.object_id, tag.object_type)
12
+ [
12
13
  tag.tag_id,
13
14
  url_for_object ? view_context.link_to(tag.object_id, url_for_object) : tag.object_id,
14
15
  tag.object_type,
15
16
  tag.tag_definition_name
16
- ]
17
+ ]
18
+ end
19
+ @tags_json = []
20
+ tags.each { |page| @tags_json << formatter.call(page) }
21
+
22
+ @tags_json = @tags_json.to_json
17
23
  end
18
- @tags_json = []
19
- tags.each { |page| @tags_json << formatter.call(page) }
20
24
 
21
- @tags_json = @tags_json.to_json
22
- end
25
+ def edit
26
+ @account_id = params.require(:account_id)
23
27
 
24
- def edit
25
- @account_id = params.require(:account_id)
28
+ cached_options_for_klient = options_for_klient
29
+ fetch_tag_names = promise { Kaui::Tag.all_for_account(@account_id, false, 'NONE', cached_options_for_klient).map(&:tag_definition_name).sort }
30
+ fetch_available_tags = promise { Kaui::TagDefinition.all_for_account(cached_options_for_klient) }
26
31
 
27
- cached_options_for_klient = options_for_klient
28
- fetch_tag_names = promise { (Kaui::Tag.all_for_account(@account_id, false, 'NONE', cached_options_for_klient).map { |tag| tag.tag_definition_name }).sort }
29
- fetch_available_tags = promise { Kaui::TagDefinition.all_for_account(cached_options_for_klient) }
32
+ @tag_names = wait(fetch_tag_names)
33
+ @available_tags = wait(fetch_available_tags)
34
+ end
30
35
 
31
- @tag_names = wait(fetch_tag_names)
32
- @available_tags = wait(fetch_available_tags)
33
- end
36
+ def update
37
+ account_id = params.require(:account_id)
34
38
 
35
- def update
36
- account_id = params.require(:account_id)
39
+ tags = []
40
+ params.each do |tag, _tag_name|
41
+ tag_info = tag.split('_')
42
+ next if (tag_info.size != 2) || (tag_info[0] != 'tag')
37
43
 
38
- tags = []
39
- params.each do |tag, tag_name|
40
- tag_info = tag.split('_')
41
- next if tag_info.size != 2 or tag_info[0] != 'tag'
42
- tags << tag_info[1]
43
- end
44
+ tags << tag_info[1]
45
+ end
44
46
 
45
- Kaui::Tag.set_for_account(account_id, tags, current_user.kb_username, params[:reason], params[:comment], options_for_klient)
46
- redirect_to kaui_engine.account_path(account_id), :notice => 'Account tags successfully set'
47
+ Kaui::Tag.set_for_account(account_id, tags, current_user.kb_username, params[:reason], params[:comment], options_for_klient)
48
+ redirect_to kaui_engine.account_path(account_id), notice: 'Account tags successfully set'
49
+ end
47
50
  end
48
51
  end
@@ -1,43 +1,48 @@
1
- class Kaui::AccountTimelinesController < Kaui::EngineController
1
+ # frozen_string_literal: true
2
2
 
3
- def show
4
- timeline = Kaui::AccountTimeline.find_by_account_id(params.require(:account_id), 'FULL', options_for_klient)
5
- @account = timeline.account
6
- @bundles = timeline.bundles
7
- @invoices = timeline.invoices
8
- @payments = timeline.payments
9
- extract_invoices_by_id(@invoices)
3
+ module Kaui
4
+ class AccountTimelinesController < Kaui::EngineController
5
+ def show
6
+ timeline = Kaui::AccountTimeline.find_by_account_id(params.require(:account_id), 'FULL', options_for_klient)
7
+ @account = timeline.account
8
+ @bundles = timeline.bundles
9
+ @invoices = timeline.invoices
10
+ @payments = timeline.payments
11
+ extract_invoices_by_id(@invoices)
10
12
 
11
- # Lookup all bundle names
12
- @bundle_names = {}
13
- @bundle_names_by_invoice_id = {}
14
- @bundle_keys_by_invoice_id = {}
15
- @bundles.each do |bundle|
16
- load_bundle_name_for_timeline(bundle.external_key)
17
- end
18
- @invoices.each do |invoice|
19
- @bundle_names_by_invoice_id[invoice.invoice_id] = Set.new
20
- @bundle_keys_by_invoice_id[invoice.invoice_id] = Set.new
21
- (invoice.bundle_keys || '').split(',').each do |bundle_key|
22
- load_bundle_name_for_timeline(bundle_key)
23
- @bundle_names_by_invoice_id[invoice.invoice_id] << @bundle_names[bundle_key]
24
- @bundle_keys_by_invoice_id[invoice.invoice_id] << bundle_key
13
+ # Lookup all bundle names
14
+ @bundle_names = {}
15
+ @bundle_names_by_invoice_id = {}
16
+ @bundle_keys_by_invoice_id = {}
17
+ @bundles.each do |bundle|
18
+ load_bundle_name_for_timeline(bundle.external_key)
19
+ end
20
+ @invoices.each do |invoice|
21
+ @bundle_names_by_invoice_id[invoice.invoice_id] = Set.new
22
+ @bundle_keys_by_invoice_id[invoice.invoice_id] = Set.new
23
+ (invoice.bundle_keys || '').split(',').each do |bundle_key|
24
+ load_bundle_name_for_timeline(bundle_key)
25
+ @bundle_names_by_invoice_id[invoice.invoice_id] << @bundle_names[bundle_key]
26
+ @bundle_keys_by_invoice_id[invoice.invoice_id] << bundle_key
27
+ end
25
28
  end
26
- end
27
29
 
28
- @selected_bundle = params.has_key?(:external_key) ? @bundle_names[params[:external_key]] : nil
29
- end
30
+ @selected_bundle = params.key?(:external_key) ? @bundle_names[params[:external_key]] : nil
31
+ end
30
32
 
31
- private
33
+ private
32
34
 
33
- def load_bundle_name_for_timeline(bundle_key)
34
- @bundle_names[bundle_key] ||= Kaui.bundle_key_display_string.call(bundle_key)
35
- end
35
+ def load_bundle_name_for_timeline(bundle_key)
36
+ @bundle_names[bundle_key] ||= Kaui.bundle_key_display_string.call(bundle_key)
37
+ end
36
38
 
37
- def extract_invoices_by_id(all_invoices)
38
- return {} if all_invoices.nil? || all_invoices.empty?
39
+ def extract_invoices_by_id(all_invoices)
40
+ return {} if all_invoices.nil? || all_invoices.empty?
39
41
 
40
- # Convert into Kaui::Invoice to benefit from additional methods xxx_to_money
41
- @invoices_by_id = all_invoices.inject({}) { |hsh, invoice| hsh[invoice.invoice_id] = Kaui::Invoice.build_from_raw_invoice(invoice); hsh }
42
+ # Convert into Kaui::Invoice to benefit from additional methods xxx_to_money
43
+ @invoices_by_id = all_invoices.each_with_object({}) do |invoice, hsh|
44
+ hsh[invoice.invoice_id] = Kaui::Invoice.build_from_raw_invoice(invoice)
45
+ end
46
+ end
42
47
  end
43
48
  end