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
@@ -1,132 +1,138 @@
1
- class Kaui::AdminAllowedUsersController < Kaui::EngineController
1
+ # frozen_string_literal: true
2
2
 
3
- skip_before_action :check_for_redirect_to_tenant_screen
3
+ module Kaui
4
+ class AdminAllowedUsersController < Kaui::EngineController
5
+ skip_before_action :check_for_redirect_to_tenant_screen
4
6
 
5
- def index
6
- @allowed_users = retrieve_allowed_users_for_current_user
7
- end
7
+ def index
8
+ @allowed_users = retrieve_allowed_users_for_current_user
9
+ end
8
10
 
9
- def new
10
- @allowed_user = Kaui::AllowedUser.new
11
- @is_killbill_managed = true
11
+ def new
12
+ @allowed_user = Kaui::AllowedUser.new
13
+ @is_killbill_managed = true
12
14
 
13
- @roles = []
14
- end
15
+ @roles = []
16
+ end
15
17
 
16
- def create
17
- @is_killbill_managed = nil
18
- @allowed_user = Kaui::AllowedUser.new(allowed_user_params)
19
-
20
- existing_user = Kaui::AllowedUser.find_by_kb_username(@allowed_user.kb_username)
21
- unless existing_user.blank?
22
- flash[:error] = "User with name #{@allowed_user.kb_username} already exists!"
23
- @roles = roles_for_user(existing_user)
24
- render :new and return
25
- else
26
- if params[:external] == '1'
27
- # Create locally only
28
- @allowed_user.save!
18
+ def create
19
+ @is_killbill_managed = nil
20
+ @allowed_user = Kaui::AllowedUser.new(allowed_user_params)
21
+
22
+ existing_user = Kaui::AllowedUser.find_by_kb_username(@allowed_user.kb_username)
23
+ if existing_user.blank?
24
+ if params[:external] == '1'
25
+ # Create locally only
26
+ @allowed_user.save!
27
+ else
28
+ @allowed_user.create_in_kb!(params.require(:password),
29
+ params[:roles].blank? ? [] : params[:roles].split(','),
30
+ current_user.kb_username,
31
+ params[:reason],
32
+ params[:comment],
33
+ options_for_klient)
34
+ end
35
+
36
+ redirect_to kaui_engine.admin_allowed_user_path(@allowed_user.id), notice: 'User was successfully configured'
29
37
  else
30
- @allowed_user.create_in_kb!(params.require(:password) ,
31
- params[:roles].blank? ? [] : params[:roles].split(','),
32
- current_user.kb_username,
33
- params[:reason],
34
- params[:comment],
35
- options_for_klient)
38
+ flash[:error] = "User with name #{@allowed_user.kb_username} already exists!"
39
+ @roles = roles_for_user(existing_user)
40
+ render :new and return
36
41
  end
37
-
38
- redirect_to kaui_engine.admin_allowed_user_path(@allowed_user.id), :notice => 'User was successfully configured'
39
42
  end
40
- end
41
43
 
42
- def show
43
- @allowed_user = Kaui::AllowedUser.find(params.require(:id))
44
- raise ActiveRecord::RecordNotFound.new("Could not find user #{@allowed_user.id}") unless (current_user.root? || @allowed_user.kb_username == current_user.kb_username)
44
+ def show
45
+ @allowed_user = Kaui::AllowedUser.find(params.require(:id))
46
+ raise ActiveRecord::RecordNotFound, "Could not find user #{@allowed_user.id}" unless current_user.root? || @allowed_user.kb_username == current_user.kb_username
45
47
 
46
- @roles = roles_for_user(@allowed_user)
48
+ @roles = roles_for_user(@allowed_user)
47
49
 
48
- tenants_for_current_user = retrieve_tenants_for_current_user
49
- @tenants = Kaui::Tenant.all.select { |tenant| tenants_for_current_user.include?(tenant.kb_tenant_id) }
50
- end
51
-
52
- def edit
53
- @allowed_user = Kaui::AllowedUser.find(params.require(:id))
54
- @is_killbill_managed = killbill_managed?(@allowed_user, options_for_klient)
55
-
56
- @roles = roles_for_user(@allowed_user)
57
- end
50
+ tenants_for_current_user = retrieve_tenants_for_current_user
51
+ @tenants = Kaui::Tenant.all.select { |tenant| tenants_for_current_user.include?(tenant.kb_tenant_id) }
52
+ end
58
53
 
59
- def update
60
- @allowed_user = Kaui::AllowedUser.find(params.require(:id))
54
+ def edit
55
+ @allowed_user = Kaui::AllowedUser.find(params.require(:id))
56
+ @is_killbill_managed = killbill_managed?(@allowed_user, options_for_klient)
61
57
 
62
- @allowed_user.description = params[:allowed_user][:description].presence
58
+ @roles = roles_for_user(@allowed_user)
59
+ end
63
60
 
64
- @allowed_user.update_in_kb!(params[:password].presence,
65
- params[:roles].blank? ? nil : params[:roles].split(','),
66
- current_user.kb_username,
67
- params[:reason],
68
- params[:comment],
69
- options_for_klient)
61
+ def update
62
+ @allowed_user = Kaui::AllowedUser.find(params.require(:id))
70
63
 
71
- redirect_to kaui_engine.admin_allowed_user_path(@allowed_user.id), :notice => 'User was successfully updated'
72
- end
64
+ @allowed_user.description = params[:allowed_user][:description].presence
73
65
 
74
- def destroy
75
- allowed_user = Kaui::AllowedUser.find(params.require(:id))
66
+ @allowed_user.update_in_kb!(params[:password].presence,
67
+ params[:roles].blank? ? nil : params[:roles].split(','),
68
+ current_user.kb_username,
69
+ params[:reason],
70
+ params[:comment],
71
+ options_for_klient)
76
72
 
77
- if allowed_user
78
- # Delete locally and in KB
79
- allowed_user.destroy_in_kb!(current_user.kb_username, params[:reason], params[:comment], options_for_klient)
80
- redirect_to kaui_engine.admin_allowed_users_path, :notice => 'User was successfully deleted'
81
- else
82
- flash[:error] = "User #{params.require(:id)} not found"
83
- redirect_to kaui_engine.admin_allowed_users_path
73
+ redirect_to kaui_engine.admin_allowed_user_path(@allowed_user.id), notice: 'User was successfully updated'
84
74
  end
85
- end
86
75
 
87
- def add_tenant
88
- allowed_user = Kaui::AllowedUser.find(params.require(:allowed_user).require(:id))
76
+ def destroy
77
+ allowed_user = Kaui::AllowedUser.find(params.require(:id))
89
78
 
90
- if !current_user.root?
91
- redirect_to admin_allowed_user_path(allowed_user.id), :alert => 'Only the root user can set tenants for user'
92
- return
79
+ if allowed_user
80
+ # Delete locally and in KB
81
+ allowed_user.destroy_in_kb!(current_user.kb_username, params[:reason], params[:comment], options_for_klient)
82
+ redirect_to kaui_engine.admin_allowed_users_path, notice: 'User was successfully deleted'
83
+ else
84
+ flash[:error] = "User #{params.require(:id)} not found"
85
+ redirect_to kaui_engine.admin_allowed_users_path
86
+ end
93
87
  end
94
88
 
95
- tenants = []
96
- params.each do |tenant, _|
97
- tenant_info = tenant.split('_')
98
- next if tenant_info.size != 2 or tenant_info[0] != 'tenant'
99
- tenants << tenant_info[1]
100
- end
89
+ def add_tenant
90
+ allowed_user = Kaui::AllowedUser.find(params.require(:allowed_user).require(:id))
101
91
 
102
- tenants_for_current_user = retrieve_tenants_for_current_user
103
- tenants = (Kaui::Tenant.where(:id => tenants).select { |tenant| tenants_for_current_user.include?(tenant.kb_tenant_id) }).map(&:id)
92
+ unless current_user.root?
93
+ redirect_to admin_allowed_user_path(allowed_user.id), alert: 'Only the root user can set tenants for user'
94
+ return
95
+ end
104
96
 
105
- allowed_user.kaui_tenant_ids = tenants
97
+ tenants = []
98
+ params.each do |tenant, _|
99
+ tenant_info = tenant.split('_')
100
+ next if (tenant_info.size != 2) || (tenant_info[0] != 'tenant')
106
101
 
107
- redirect_to admin_allowed_user_path(allowed_user.id), :notice => 'Successfully set tenants for user'
108
- end
102
+ tenants << tenant_info[1]
103
+ end
109
104
 
110
- private
105
+ tenants_for_current_user = retrieve_tenants_for_current_user
106
+ tenants = (Kaui::Tenant.where(id: tenants).select { |tenant| tenants_for_current_user.include?(tenant.kb_tenant_id) }).map(&:id)
111
107
 
112
- # this will check if the user is managed by killbill (not managed externally or internally by a shiro config file).
113
- def killbill_managed?(allowed_user, options = {})
114
- begin
115
- Kaui::UserRole.find_roles_by_username(allowed_user.kb_username, options)
116
- rescue KillBillClient::API::ClientError => _
117
- return false
108
+ allowed_user.kaui_tenant_ids = tenants
109
+
110
+ redirect_to admin_allowed_user_path(allowed_user.id), notice: 'Successfully set tenants for user'
118
111
  end
119
112
 
120
- return true
121
- end
113
+ private
122
114
 
123
- def allowed_user_params
124
- allowed_user = params.require(:allowed_user)
125
- allowed_user.require(:kb_username)
126
- allowed_user.permit!
127
- end
115
+ # this will check if the user is managed by killbill (not managed externally or internally by a shiro config file).
116
+ def killbill_managed?(allowed_user, options = {})
117
+ begin
118
+ Kaui::UserRole.find_roles_by_username(allowed_user.kb_username, options)
119
+ rescue KillBillClient::API::ClientError => _e
120
+ return false
121
+ end
128
122
 
129
- def roles_for_user(allowed_user)
130
- Kaui::UserRole.find_roles_by_username(allowed_user.kb_username, options_for_klient).map(&:presence).compact rescue []
123
+ true
124
+ end
125
+
126
+ def allowed_user_params
127
+ allowed_user = params.require(:allowed_user)
128
+ allowed_user.require(:kb_username)
129
+ allowed_user.permit!
130
+ end
131
+
132
+ def roles_for_user(allowed_user)
133
+ Kaui::UserRole.find_roles_by_username(allowed_user.kb_username, options_for_klient).map(&:presence).compact
134
+ rescue StandardError
135
+ []
136
+ end
131
137
  end
132
138
  end
@@ -1,40 +1,41 @@
1
- class Kaui::AdminController < Kaui::EngineController
1
+ # frozen_string_literal: true
2
2
 
3
- skip_before_action :check_for_redirect_to_tenant_screen
3
+ module Kaui
4
+ class AdminController < Kaui::EngineController
5
+ skip_before_action :check_for_redirect_to_tenant_screen
4
6
 
5
- def index
6
- begin
7
- @clock = Kaui::Admin.get_clock(nil, options_for_klient)
8
- rescue KillBillClient::API::NotFound
9
- flash[:error] = "Failed to get current KB clock: Kill Bill server must be started with system property org.killbill.server.test.mode=true"
10
- redirect_to admin_tenants_path and return
11
- end
7
+ def index
8
+ begin
9
+ @clock = Kaui::Admin.get_clock(nil, options_for_klient)
10
+ rescue KillBillClient::API::NotFound
11
+ flash[:error] = 'Failed to get current KB clock: Kill Bill server must be started with system property org.killbill.server.test.mode=true'
12
+ redirect_to admin_tenants_path and return
13
+ end
12
14
 
13
- params.permit!
15
+ params.permit!
14
16
 
15
- respond_to do |format|
16
- format.html
17
- format.js
17
+ respond_to do |format|
18
+ format.html
19
+ format.js
20
+ end
18
21
  end
19
- end
20
22
 
21
- def set_clock
22
- if params[:commit] == 'Submit'
23
- current_datetime = DateTime.parse(Kaui::Admin.get_clock(nil, options_for_klient)['currentUtcTime'])
24
- new_local_date = Date.parse(params[:new_date])
25
- new_datetime = DateTime.new(new_local_date.year, new_local_date.month, new_local_date.day, current_datetime.hour, current_datetime.min, current_datetime.sec, 'Z').to_s
26
- msg = "Clock was successfully updated to #{new_datetime}"
27
- else
28
- new_datetime = nil
29
- msg = 'Clock was successfully reset'
30
- end
31
- begin
32
- Kaui::Admin.set_clock(new_datetime, nil, options_for_klient)
33
- rescue KillBillClient::API::NotFound
34
- flash[:error] = "Failed to set current KB clock: Kill Bill server must be started with system property org.killbill.server.test.mode=true"
35
- redirect_to admin_tenants_path and return
36
- end
23
+ def set_clock
24
+ if params[:commit] == 'Submit'
25
+ date = Date.parse(params[:new_date]).strftime('%Y-%m-%d')
26
+ msg = I18n.translate('flashes.notices.clock_updated_successfully', new_date: date)
27
+ else
28
+ date = nil
29
+ msg = I18n.translate('flashes.notices.clock_reset_successfully')
30
+ end
31
+ begin
32
+ Kaui::Admin.set_clock(date, nil, options_for_klient)
33
+ rescue KillBillClient::API::NotFound
34
+ flash[:error] = 'Failed to set current KB clock: Kill Bill server must be started with system property org.killbill.server.test.mode=true'
35
+ redirect_to admin_tenants_path and return
36
+ end
37
37
 
38
- redirect_to admin_path, :notice => msg
38
+ redirect_to admin_path, notice: msg
39
+ end
39
40
  end
40
41
  end