kaui 3.0.9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/kaui/account/authorize.svg +4 -0
  3. data/app/assets/images/kaui/account/credit.svg +4 -0
  4. data/app/assets/images/kaui/account/down-arrow.svg +3 -0
  5. data/app/assets/images/kaui/account/edit.svg +4 -0
  6. data/app/assets/images/kaui/account/pay-all.svg +5 -0
  7. data/app/assets/images/kaui/account/plus.svg +3 -0
  8. data/app/assets/images/kaui/account/purchase.svg +5 -0
  9. data/app/assets/images/kaui/account/refresh.svg +5 -0
  10. data/app/assets/images/kaui/arrow.svg +3 -0
  11. data/app/assets/images/kaui/card.svg +5 -0
  12. data/app/assets/images/kaui/copy.svg +12 -0
  13. data/app/assets/images/kaui/dashboard/aviate.svg +6 -0
  14. data/app/assets/images/kaui/dashboard/custom-field.svg +5 -0
  15. data/app/assets/images/kaui/dashboard/kaui-doc-img.png +0 -0
  16. data/app/assets/images/kaui/dashboard/plugins.svg +7 -0
  17. data/app/assets/images/kaui/dashboard/tags.svg +4 -0
  18. data/app/assets/images/kaui/dashboard/users.svg +6 -0
  19. data/app/assets/images/kaui/delete.svg +6 -0
  20. data/app/assets/images/kaui/dots.svg +5 -0
  21. data/app/assets/images/kaui/download-csv.svg +5 -0
  22. data/app/assets/images/kaui/download.svg +4 -0
  23. data/app/assets/images/kaui/eye-off.svg +9 -0
  24. data/app/assets/images/kaui/eye.svg +7 -0
  25. data/app/assets/images/kaui/file-upload.svg +34 -0
  26. data/app/assets/images/kaui/generate.svg +5 -0
  27. data/app/assets/images/kaui/header/account.svg +4 -0
  28. data/app/assets/images/kaui/header/cog_icon.svg +4 -0
  29. data/app/assets/images/kaui/header/invoice.svg +5 -0
  30. data/app/assets/images/kaui/header/payment.svg +5 -0
  31. data/app/assets/images/kaui/header/search_icon.svg +4 -0
  32. data/app/assets/images/kaui/header/subscription.svg +6 -0
  33. data/app/assets/images/kaui/logout.svg +4 -0
  34. data/app/assets/images/kaui/modal/close.svg +3 -0
  35. data/app/assets/images/kaui/modal/plus.svg +3 -0
  36. data/app/assets/images/kaui/modal/red-close.svg +10 -0
  37. data/app/assets/images/kaui/modal/search.svg +4 -0
  38. data/app/assets/images/kaui/payment/payment.svg +4 -0
  39. data/app/assets/images/kaui/payment/refund.svg +4 -0
  40. data/app/assets/images/kaui/plus.svg +3 -0
  41. data/app/assets/images/kaui/search.svg +4 -0
  42. data/app/assets/images/kaui/setting/account.svg +10 -0
  43. data/app/assets/images/kaui/setting/analytics.svg +7 -0
  44. data/app/assets/images/kaui/setting/custom-field.svg +5 -0
  45. data/app/assets/images/kaui/setting/e-notifications.svg +6 -0
  46. data/app/assets/images/kaui/setting/plugins.svg +7 -0
  47. data/app/assets/images/kaui/setting/plus.svg +3 -0
  48. data/app/assets/images/kaui/setting/reset.svg +4 -0
  49. data/app/assets/images/kaui/setting/tag-definitions.svg +5 -0
  50. data/app/assets/images/kaui/setting/tags.svg +4 -0
  51. data/app/assets/images/kaui/setting/tenants.svg +6 -0
  52. data/app/assets/images/kaui/setting/users.svg +6 -0
  53. data/app/assets/images/kaui/setting.svg +4 -0
  54. data/app/assets/images/kaui/sidebar/account.svg +4 -0
  55. data/app/assets/images/kaui/sidebar/audit.svg +5 -0
  56. data/app/assets/images/kaui/sidebar/custom-fields.svg +5 -0
  57. data/app/assets/images/kaui/sidebar/invoices.svg +5 -0
  58. data/app/assets/images/kaui/sidebar/payments.svg +5 -0
  59. data/app/assets/images/kaui/sidebar/queues.svg +5 -0
  60. data/app/assets/images/kaui/sidebar/subscriptions.svg +6 -0
  61. data/app/assets/images/kaui/sidebar/tags.svg +5 -0
  62. data/app/assets/images/kaui/sidebar/timeline.svg +5 -0
  63. data/app/assets/images/kaui/sign_in_background.svg +57 -0
  64. data/app/assets/images/kaui/sort-down.svg +3 -0
  65. data/app/assets/images/kaui/sort-up.svg +3 -0
  66. data/app/assets/images/kaui/subscription/add-on.svg +7 -0
  67. data/app/assets/images/kaui/subscription/cancel.svg +6 -0
  68. data/app/assets/images/kaui/subscription/change.svg +6 -0
  69. data/app/assets/images/kaui/subscription/date.svg +6 -0
  70. data/app/assets/images/kaui/subscription/pause.svg +4 -0
  71. data/app/assets/images/kaui/timeline/authorize.svg +5 -0
  72. data/app/assets/images/kaui/timeline/capture.svg +5 -0
  73. data/app/assets/images/kaui/timeline/chargeback.svg +3 -0
  74. data/app/assets/images/kaui/timeline/credit.svg +6 -0
  75. data/app/assets/images/kaui/timeline/invoice.svg +5 -0
  76. data/app/assets/images/kaui/timeline/purchase.svg +5 -0
  77. data/app/assets/images/kaui/timeline/refund.svg +4 -0
  78. data/app/assets/images/kaui/timeline/void.svg +4 -0
  79. data/app/assets/images/kaui/view-doc.svg +6 -0
  80. data/app/assets/images/kaui/warning.png +0 -0
  81. data/app/assets/javascripts/application.js +2 -2
  82. data/app/assets/javascripts/kaui/kaui_override.js +232 -0
  83. data/app/assets/javascripts/kaui/multi_functions_bar_utils.js +125 -24
  84. data/app/assets/stylesheets/application.css +13 -1
  85. data/app/assets/stylesheets/kaui/account.css +2028 -14
  86. data/app/assets/stylesheets/kaui/account_timeline.css +183 -0
  87. data/app/assets/stylesheets/kaui/admin_allowed_users.css +260 -0
  88. data/app/assets/stylesheets/kaui/audit.css +26 -16
  89. data/app/assets/stylesheets/kaui/audit_logs.css +443 -0
  90. data/app/assets/stylesheets/kaui/auth_pages.css +72 -0
  91. data/app/assets/stylesheets/kaui/breadcrumb.css +38 -0
  92. data/app/assets/stylesheets/kaui/chargebacks.css +118 -0
  93. data/app/assets/stylesheets/kaui/clock.css +103 -0
  94. data/app/assets/stylesheets/kaui/common.css +1744 -401
  95. data/app/assets/stylesheets/kaui/custom_fields.css +546 -0
  96. data/app/assets/stylesheets/kaui/dashboard.css +26 -0
  97. data/app/assets/stylesheets/kaui/datatable.css +114 -56
  98. data/app/assets/stylesheets/kaui/header.css +221 -114
  99. data/app/assets/stylesheets/kaui/home.css +89 -62
  100. data/app/assets/stylesheets/kaui/invoice.css +1061 -27
  101. data/app/assets/stylesheets/kaui/kaui.css +217 -145
  102. data/app/assets/stylesheets/kaui/overdue.css +5 -3
  103. data/app/assets/stylesheets/kaui/payment.css +1102 -13
  104. data/app/assets/stylesheets/kaui/queues.css +269 -0
  105. data/app/assets/stylesheets/kaui/refunds.css +185 -0
  106. data/app/assets/stylesheets/kaui/role_definitions.css +111 -0
  107. data/app/assets/stylesheets/kaui/sidebar.css +122 -0
  108. data/app/assets/stylesheets/kaui/subscription.css +677 -0
  109. data/app/assets/stylesheets/kaui/tag_definitions.css +524 -0
  110. data/app/assets/stylesheets/kaui/tags.css +592 -121
  111. data/app/assets/stylesheets/kaui/tenants.css +1478 -0
  112. data/app/assets/stylesheets/kaui/tooltip.css +9 -5
  113. data/app/assets/stylesheets/kaui/wallets.css +121 -0
  114. data/app/controllers/kaui/accounts_controller.rb +3 -2
  115. data/app/controllers/kaui/admin_tenants_controller.rb +33 -0
  116. data/app/controllers/kaui/custom_fields_controller.rb +1 -1
  117. data/app/controllers/kaui/engine_controller.rb +1 -2
  118. data/app/controllers/kaui/engine_controller_util.rb +5 -7
  119. data/app/controllers/kaui/home_controller.rb +24 -17
  120. data/app/controllers/kaui/invoices_controller.rb +4 -15
  121. data/app/controllers/kaui/payments_controller.rb +1 -1
  122. data/app/controllers/kaui/sessions_controller.rb +1 -0
  123. data/app/controllers/kaui/tag_definitions_controller.rb +1 -0
  124. data/app/helpers/kaui/account_helper.rb +13 -0
  125. data/app/helpers/kaui/plugin_helper.rb +27 -0
  126. data/app/views/kaui/account_custom_fields/index.html.erb +95 -29
  127. data/app/views/kaui/account_emails/_account_emails_table.html.erb +13 -3
  128. data/app/views/kaui/account_emails/_form.html.erb +23 -6
  129. data/app/views/kaui/account_emails/new.html.erb +12 -6
  130. data/app/views/kaui/account_tags/_form_bar.html.erb +10 -1
  131. data/app/views/kaui/account_tags/index.html.erb +103 -24
  132. data/app/views/kaui/account_timelines/_multi_functions_bar.html.erb +302 -69
  133. data/app/views/kaui/account_timelines/show.html.erb +360 -254
  134. data/app/views/kaui/accounts/_account_details.html.erb +165 -0
  135. data/app/views/kaui/accounts/_account_filterbar.html.erb +70 -80
  136. data/app/views/kaui/accounts/_add_parent.html.erb +26 -0
  137. data/app/views/kaui/accounts/_billing_details.html.erb +196 -0
  138. data/app/views/kaui/accounts/_close_account_modal.html.erb +62 -40
  139. data/app/views/kaui/accounts/_form_account.html.erb +157 -0
  140. data/app/views/kaui/accounts/_functions_bar.html.erb +606 -0
  141. data/app/views/kaui/accounts/_link_parent_modal.html.erb +1 -1
  142. data/app/views/kaui/accounts/_link_parent_to_modal.html.erb +62 -0
  143. data/app/views/kaui/accounts/_multi_functions_bar.html.erb +67 -28
  144. data/app/views/kaui/accounts/_payment_gateways.html.erb +43 -0
  145. data/app/views/kaui/accounts/_personal_details.html.erb +67 -0
  146. data/app/views/kaui/accounts/edit.html.erb +15 -9
  147. data/app/views/kaui/accounts/index.html.erb +77 -27
  148. data/app/views/kaui/accounts/new.html.erb +14 -8
  149. data/app/views/kaui/accounts/show.html.erb +17 -11
  150. data/app/views/kaui/admin/index.html.erb +44 -19
  151. data/app/views/kaui/admin_allowed_users/_form.html.erb +123 -31
  152. data/app/views/kaui/admin_allowed_users/edit.html.erb +15 -9
  153. data/app/views/kaui/admin_allowed_users/index.html.erb +150 -30
  154. data/app/views/kaui/admin_allowed_users/new.html.erb +14 -8
  155. data/app/views/kaui/admin_allowed_users/show.html.erb +137 -32
  156. data/app/views/kaui/admin_tenants/_add_allowed_user_modal.html.erb +42 -15
  157. data/app/views/kaui/admin_tenants/_clock.html.erb +72 -0
  158. data/app/views/kaui/admin_tenants/_form.html.erb +32 -20
  159. data/app/views/kaui/admin_tenants/_form_catalog_translation.erb +21 -8
  160. data/app/views/kaui/admin_tenants/_form_invoice_template.erb +25 -9
  161. data/app/views/kaui/admin_tenants/_form_invoice_translation.erb +36 -20
  162. data/app/views/kaui/admin_tenants/_form_plugin_config.erb +16 -20
  163. data/app/views/kaui/admin_tenants/_show_catalog.erb +13 -6
  164. data/app/views/kaui/admin_tenants/_show_catalog_simple.erb +95 -46
  165. data/app/views/kaui/admin_tenants/_show_catalog_xml.erb +62 -37
  166. data/app/views/kaui/admin_tenants/_show_overdue.erb +91 -75
  167. data/app/views/kaui/admin_tenants/_tenant_details.html.erb +106 -17
  168. data/app/views/kaui/admin_tenants/_tenants_table.html.erb +67 -6
  169. data/app/views/kaui/admin_tenants/_useful_links.html.erb +21 -16
  170. data/app/views/kaui/admin_tenants/index.html.erb +35 -11
  171. data/app/views/kaui/admin_tenants/index.js.erb +3 -0
  172. data/app/views/kaui/admin_tenants/new.html.erb +19 -13
  173. data/app/views/kaui/admin_tenants/new_catalog.html.erb +230 -98
  174. data/app/views/kaui/admin_tenants/new_overdue_config.html.erb +152 -80
  175. data/app/views/kaui/admin_tenants/new_plan_currency.html.erb +44 -30
  176. data/app/views/kaui/admin_tenants/show.html.erb +211 -78
  177. data/app/views/kaui/admin_tenants/show.js.erb +3 -0
  178. data/app/views/kaui/audit_logs/_multi_functions_bar.html.erb +298 -101
  179. data/app/views/kaui/audit_logs/index.html.erb +137 -38
  180. data/app/views/kaui/bundle_tags/_form_bar.html.erb +11 -4
  181. data/app/views/kaui/bundles/_bundle_details.html.erb +24 -12
  182. data/app/views/kaui/bundles/index.html.erb +79 -104
  183. data/app/views/kaui/bundles/pause_resume.html.erb +73 -38
  184. data/app/views/kaui/chargebacks/_form.html.erb +35 -18
  185. data/app/views/kaui/chargebacks/new.html.erb +16 -9
  186. data/app/views/kaui/charges/_form.html.erb +54 -42
  187. data/app/views/kaui/charges/new.html.erb +15 -8
  188. data/app/views/kaui/components/breadcrumb/_breadcrumb.html.erb +146 -0
  189. data/app/views/kaui/components/button/_button.html.erb +16 -0
  190. data/app/views/kaui/components/dashboard/_card.html.erb +15 -0
  191. data/app/views/kaui/components/dashboard/_setting.html.erb +15 -0
  192. data/app/views/kaui/components/form_input/_form_input.html.erb +4 -0
  193. data/app/views/kaui/components/form_password/_form_password.html.erb +6 -0
  194. data/app/views/kaui/components/logo/_logo.html.erb +1 -0
  195. data/app/views/kaui/components/menu_dropdown/_menu_dropdown.html.erb +59 -0
  196. data/app/views/kaui/components/search_input/_search_input.html.erb +81 -0
  197. data/app/views/kaui/credits/_form.html.erb +42 -25
  198. data/app/views/kaui/credits/new.html.erb +15 -8
  199. data/app/views/kaui/custom_fields/_form.html.erb +37 -25
  200. data/app/views/kaui/custom_fields/_list_bar.html.erb +11 -10
  201. data/app/views/kaui/custom_fields/index.html.erb +121 -27
  202. data/app/views/kaui/custom_fields/new.html.erb +19 -8
  203. data/app/views/kaui/errors/500.html.erb +1 -1
  204. data/app/views/kaui/home/index.html.erb +77 -30
  205. data/app/views/kaui/invoice_items/_edit_form.html.erb +30 -14
  206. data/app/views/kaui/invoice_items/edit.html.erb +15 -7
  207. data/app/views/kaui/invoice_tags/_form_bar.html.erb +13 -3
  208. data/app/views/kaui/invoices/_invoice_filterbar.html.erb +53 -69
  209. data/app/views/kaui/invoices/_invoice_table.html.erb +77 -92
  210. data/app/views/kaui/invoices/_multi_functions_bar.html.erb +351 -140
  211. data/app/views/kaui/invoices/index.html.erb +89 -27
  212. data/app/views/kaui/invoices/show.html.erb +392 -80
  213. data/app/views/kaui/layouts/kaui_account_sidebar.html.erb +42 -0
  214. data/app/views/kaui/layouts/kaui_application.html.erb +29 -15
  215. data/app/views/kaui/layouts/kaui_flash.html.erb +82 -31
  216. data/app/views/kaui/layouts/kaui_navbar.html.erb +109 -82
  217. data/app/views/kaui/layouts/kaui_setting_sidebar.html.erb +36 -0
  218. data/app/views/kaui/payment_methods/_form.html.erb +32 -11
  219. data/app/views/kaui/payment_methods/_new_creditcard_payment_method.html.erb +35 -34
  220. data/app/views/kaui/payment_methods/_payment_methods_details_table.html.erb +27 -29
  221. data/app/views/kaui/payment_methods/_payment_methods_table.html.erb +116 -38
  222. data/app/views/kaui/payment_methods/_plugin_properties.html.erb +19 -9
  223. data/app/views/kaui/payment_methods/new.html.erb +14 -8
  224. data/app/views/kaui/payments/_form.html.erb +30 -13
  225. data/app/views/kaui/payments/_multi_functions_bar.html.erb +351 -141
  226. data/app/views/kaui/payments/_payment_filterbar.html.erb +63 -79
  227. data/app/views/kaui/payments/_payment_invoice_table.html.erb +105 -0
  228. data/app/views/kaui/payments/_payment_table.html.erb +4 -67
  229. data/app/views/kaui/payments/index.html.erb +90 -26
  230. data/app/views/kaui/payments/new.html.erb +15 -8
  231. data/app/views/kaui/payments/show.html.erb +222 -28
  232. data/app/views/kaui/queues/index.html.erb +329 -111
  233. data/app/views/kaui/refunds/_form.html.erb +68 -45
  234. data/app/views/kaui/refunds/new.html.erb +15 -8
  235. data/app/views/kaui/role_definitions/_form.html.erb +104 -17
  236. data/app/views/kaui/role_definitions/new.html.erb +15 -8
  237. data/app/views/kaui/sessions/_form.html.erb +9 -19
  238. data/app/views/kaui/sessions/new.html.erb +10 -9
  239. data/app/views/kaui/subscriptions/_cancel_by_date_modal.html.erb +65 -35
  240. data/app/views/kaui/subscriptions/_edit_form.html.erb +66 -35
  241. data/app/views/kaui/subscriptions/_form.html.erb +63 -32
  242. data/app/views/kaui/subscriptions/_subscriptions_table.html.erb +215 -57
  243. data/app/views/kaui/subscriptions/edit.html.erb +19 -8
  244. data/app/views/kaui/subscriptions/edit_bcd.erb +46 -16
  245. data/app/views/kaui/subscriptions/new.html.erb +22 -15
  246. data/app/views/kaui/tag_definitions/_form.html.erb +51 -30
  247. data/app/views/kaui/tag_definitions/index.html.erb +151 -40
  248. data/app/views/kaui/tag_definitions/new.html.erb +15 -8
  249. data/app/views/kaui/tags/index.html.erb +136 -47
  250. data/app/views/kaui/tenants/_form.html.erb +8 -5
  251. data/app/views/kaui/tenants/index.html.erb +15 -9
  252. data/app/views/kaui/transactions/_control_plugin_names.html.erb +18 -10
  253. data/app/views/kaui/transactions/_form.html.erb +86 -25
  254. data/app/views/kaui/transactions/new.html.erb +15 -9
  255. data/config/routes.rb +1 -0
  256. data/lib/kaui/engine.rb +11 -0
  257. data/lib/kaui/version.rb +1 -1
  258. data/lib/kaui.rb +0 -1
  259. metadata +120 -2
@@ -1,41 +1,66 @@
1
- <div id="catalog_xml">
2
- <hr/>
3
-
4
- <div>
5
- <h1>Catalog XML
6
- <a class="btn btn btn-xs" href="javascript:void(0);" onclick="switchBasicConfig();">Enable Simple Configuration</a>
7
- </h1>
8
-
9
-
10
- <table id="catalog-xml-for-tenant" class="table table-condensed">
11
-
12
- <thead>
13
- <tr>
14
- <th>Catalog Version</th>
15
- <th>Effective Date</th>
16
- <th>Catalog XML</th>
17
- </tr>
18
- </thead>
19
- <tbody>
20
- <% @catalog_versions.each do |catalog| %>
21
- <tr>
22
- <td><%= catalog[:version] %></td>
23
- <td><%= catalog[:version_date] %></td>
24
- <td>
25
- <%= form_tag(kaui_engine.admin_tenant_display_catalog_xml_path, :id => "submit_form_xml_#{catalog[:version]}", :method => 'post', :multipart => true, :class => "hide") do %>
26
- <%= hidden_field_tag(:effective_date, catalog[:version_date]) %>
27
- <%= hidden_field_tag(:id, @tenant.id) %>
28
- <%= submit_tag 'submit' %>
29
- <% end %>
30
- <a class='btn btn-xs' href="javascript:void(0);" onclick="submit_xml(<%= catalog[:version] %>);">view xml</a>
31
- </td>
32
- </tr>
33
- <% end %>
34
- </tbody>
35
- </table>
36
-
1
+ <div class="kaui-container show-catalog-xml" id="catalog_xml">
2
+ <div class="catalog-container mt-4">
3
+ <div class="d-flex flex-column">
4
+ <div class="catalog-header mb-3">
5
+ <div class="d-flex align-items-start flex-column">
6
+ <h2>Catalog XML</h2>
7
+ </div>
8
+ <span>
9
+ <%= link_to "javascript:void(0);", onclick: "switchBasicConfig();", class:"text-decoration-none" do %>
10
+ <%= render "kaui/components/button/button", {
11
+ label: "Simple Configuration",
12
+ icon: "kaui/view-doc.svg",
13
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
14
+ type: "button",
15
+ html_class: "kaui-button custom-hover"
16
+ } %>
17
+ <% end %>
18
+ </span>
19
+ </div>
20
+ <div class="">
21
+ <table id="catalog-xml-for-tenant" class="catalog-table">
22
+ <thead>
23
+ <tr>
24
+ <th>Catalog Version</th>
25
+ <th>Effective Date</th>
26
+ <th class="text-end">Catalog XML</th>
27
+ </tr>
28
+ </thead>
29
+ <tbody>
30
+ <% @catalog_versions.each do |catalog| %>
31
+ <tr>
32
+ <td><%= catalog[:version] %></td>
33
+ <td><%= catalog[:version_date] %></td>
34
+ <td class="text-end">
35
+ <div class="d-flex align-items-center justify-content-end gap-2 w-fit">
36
+ <%= form_tag(kaui_engine.admin_tenant_display_catalog_xml_path, :id => "submit_form_xml_#{catalog[:version]}", :method => 'post', :multipart => true, :class => "d-none") do %>
37
+ <%= hidden_field_tag(:effective_date, catalog[:version_date]) %>
38
+ <%= hidden_field_tag(:id, @tenant.id) %>
39
+ <%= render "kaui/components/button/button", {
40
+ label: "Submit",
41
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
42
+ type: "submit",
43
+ html_class: "kaui-dropdown custom-hover py-0 px-2 rounded-pill",
44
+ } %>
45
+ <% end %>
46
+ <%= link_to "javascript:void(0);", onclick: "submit_xml(#{catalog[:version]});", class: "text-decoration-none" do %>
47
+ <%= render "kaui/components/button/button", {
48
+ label: "View XML",
49
+ variant: "outline-secondary d-inline-flex align-items-center",
50
+ type: "button",
51
+ html_class: "currency-button kaui-button",
52
+ } %>
53
+ <% end %>
54
+ </div>
55
+ </td>
56
+ </tr>
57
+ <% end %>
58
+ </tbody>
59
+ </table>
60
+ </div>
61
+ </div>
62
+ </div>
37
63
  </div>
38
- </div>
39
64
 
40
65
  <%= javascript_tag do %>
41
66
  function submit_xml(version_id) {
@@ -1,97 +1,113 @@
1
- <div class="tab-pane fade" id="OverdueShow">
2
-
3
-
4
- <hr/>
5
-
6
- <h1>Existing Overdue Config
7
- <% if can? :config_upload, Kaui::AdminTenant %>
8
- <%= link_to '<i class="fa fa-plus-square"></i>'.html_safe,
9
- kaui_engine.admin_tenant_new_overdue_config_path(:id => @tenant.id),
10
- :class => 'btn btn-xs' %>
11
- <% end %>
12
- <a class='btn btn-xs' href="javascript:void(0);" onclick="submit_overdue_xml();">View overdue xml</a>
13
- </h1>
14
-
15
- <table id="existing-overdue-config-for-tenants" class="table table-condensed">
16
-
17
- <span class='label'>
18
- </span>
19
- <% if @overdue.nil? || @overdue.has_states %>
20
- No overdue configuration defined for tenant
21
- <% else %>
22
- <thead>
23
- <tr>
24
- <th>Name</th>
25
- <th>External Message</th>
26
- <th>Actions</th>
27
- <th>Conditions</th>
28
- </tr>
29
- </thead>
30
- <tbody>
31
- <% @overdue.overdue_states.reverse_each do |state| %>
32
- <tr class="overdue_state_<%= state %>">
33
- <td><%= state.name %></td>
34
- <td><%= state.external_message %></td>
35
- <td>
36
- <ul>
37
- <% if state.is_block_changes %>
38
- <li>
39
- <%= 'Block changes:' %><%= state.is_block_changes %>
40
- </li>
41
- <% end %>
42
- <% if state.is_disable_entitlement %>
43
- <li>
44
- <%= 'Cancel subscriptions:' %><%= state.is_disable_entitlement %>
45
- (policy:<%= state.subscription_cancellation_policy %>)
46
- </li>
47
- <% end %>
48
- </ul>
49
- </td>
50
- <td>
51
- <% if state.condition %>
1
+ <div class="kaui-container tab-pane fade" id="OverdueShow">
2
+ <div class="existing-overdue-config-for-tenants-container mt-4">
3
+ <div class="d-flex flex-column">
4
+ <div class="existing-overdue-config-for-tenants-header mb-3">
5
+ <div class="d-flex align-items-start flex-column">
6
+ <h2>Existing Overdue Config</h2>
7
+ </div>
8
+ <span>
9
+ <%= link_to "javascript:void(0);", onclick: "submit_overdue_xml();", class:"text-decoration-none" do %>
10
+ <%= render "kaui/components/button/button", {
11
+ label: "XML View",
12
+ icon: "kaui/view-doc.svg",
13
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
14
+ type: "button",
15
+ html_class: "kaui-button custom-hover"
16
+ } %>
17
+ <% end %>
18
+ <% if can? :config_upload, Kaui::AdminTenant %>
19
+ <%= link_to kaui_engine.admin_tenant_new_overdue_config_path(:id => @tenant.id), class:"text-decoration-none" do %>
20
+ <%= render "kaui/components/button/button", {
21
+ label: "Add Overdue",
22
+ icon: "kaui/plus.svg",
23
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
24
+ type: "button",
25
+ html_class: "kaui-dropdown custom-hover"
26
+ } %>
27
+ <% end %>
28
+ <% end %>
29
+ </span>
30
+ </div>
31
+ <div>
32
+ <table id="existing-overdue-config-for-tenants" class="existing-overdue-config-for-tenants-table">
33
+ <span class='label'>
34
+ </span>
35
+ <% if @overdue.nil? || @overdue.has_states %>
36
+ No overdue configuration defined for tenant
37
+ <% else %>
38
+ <thead>
39
+ <tr>
40
+ <th>Name</th>
41
+ <th>External Message</th>
42
+ <th>Actions</th>
43
+ <th>Conditions</th>
44
+ </tr>
45
+ </thead>
46
+ <tbody>
47
+ <% @overdue.overdue_states.reverse_each do |state| %>
48
+ <tr class="overdue_state_<%= state %>">
49
+ <td><%= state.name %></td>
50
+ <td><%= state.external_message %></td>
51
+ <td>
52
52
  <ul>
53
- <% if state.condition.time_since_earliest_unpaid_invoice_equals_or_exceeds %>
53
+ <% if state.is_block_changes %>
54
+ <li>
55
+ <%= 'Block changes:' %><%= state.is_block_changes %>
56
+ </li>
57
+ <% end %>
58
+ <% if state.is_disable_entitlement %>
59
+ <li>
60
+ <%= 'Cancel subscriptions:' %><%= state.is_disable_entitlement %>
61
+ (policy:<%= state.subscription_cancellation_policy %>)
62
+ </li>
63
+ <% end %>
64
+ </ul>
65
+ </td>
66
+ <td>
67
+ <% if state.condition %>
68
+ <ul>
69
+ <% if state.condition.time_since_earliest_unpaid_invoice_equals_or_exceeds %>
54
70
  <li>
55
71
  <%= 'Time Since earliest unpaid invoice >=' %> <%= state.condition.time_since_earliest_unpaid_invoice_equals_or_exceeds.number %><%= state.condition.time_since_earliest_unpaid_invoice_equals_or_exceeds.unit %>
56
72
  </li>
57
- <% end %>
58
- <% if state.condition.control_tag_inclusion %>
73
+ <% end %>
74
+ <% if state.condition.control_tag_inclusion %>
59
75
  <li>
60
76
  <%= 'Control tag inclusion' %> <%= state.condition.control_tag_inclusion %>
61
77
  </li>
62
- <% end %>
63
- <% if state.condition.control_tag_exclusion %>
78
+ <% end %>
79
+ <% if state.condition.control_tag_exclusion %>
64
80
  <li>
65
81
  <%= 'Control tag exclusion' %> <%= state.condition.control_tag_exclusion %>
66
82
  </li>
67
- <% end %>
68
- <% if state.condition.number_of_unpaid_invoices_equals_or_exceeds %>
83
+ <% end %>
84
+ <% if state.condition.number_of_unpaid_invoices_equals_or_exceeds %>
69
85
  <li>
70
86
  <%= 'Number of unpaid invoices >=' %> <%= state.condition.number_of_unpaid_invoices_equals_or_exceeds %>
71
87
  </li>
72
- <% end %>
73
- <% if state.condition.total_unpaid_invoice_balance_equals_or_exceeds %>
88
+ <% end %>
89
+ <% if state.condition.total_unpaid_invoice_balance_equals_or_exceeds %>
74
90
  <li>
75
91
  <%= 'Total unpaid invoice balance >=' %> <%= state.condition.total_unpaid_invoice_balance_equals_or_exceeds %>
76
92
  </li>
77
- <% end %>
78
- </ul>
79
- <% end %>
80
- </td>
81
- </tr>
93
+ <% end %>
94
+ </ul>
95
+ <% end %>
96
+ </td>
97
+ </tr>
98
+ <% end %>
99
+ <% end %>
100
+ </tbody>
101
+ </table>
102
+ <%= form_tag(kaui_engine.admin_tenant_display_overdue_xml_path, :id => "submit_overdue_form_xml", :method => 'post', :multipart => true, :class => "hide") do %>
103
+ <%= hidden_field_tag(:xml, @overdue_xml) %>
104
+ <%= submit_tag 'submit', class: 'd-none' %>
82
105
  <% end %>
83
- <% end %>
84
- </tbody>
85
- </table>
86
-
87
- <%= form_tag(kaui_engine.admin_tenant_display_overdue_xml_path, :id => "submit_overdue_form_xml", :method => 'post', :multipart => true, :class => "hide") do %>
88
- <%= hidden_field_tag(:xml, @overdue_xml) %>
89
- <%= submit_tag 'submit' %>
90
- <% end %>
91
-
106
+ </div>
107
+ </div>
108
+ </div>
92
109
  </div>
93
110
 
94
-
95
111
  <%= javascript_tag do %>
96
112
  function submit_overdue_xml() {
97
113
  $("#submit_overdue_form_xml").submit();
@@ -1,21 +1,110 @@
1
- <div class="col-md-6">
1
+ <div class="kaui-container gap-container">
2
+ <div class="tenant-details-container">
3
+ <div class="d-flex flex-column">
4
+ <div class="tenant-details-header mb-3">
5
+ <div class="d-flex align-items-start flex-column">
6
+ <h2>Tenant details</h2>
7
+ </div>
8
+ <span>
9
+ </span>
10
+ </div>
11
+ <div class="row tenant-details">
12
+ <div class="col-sm-3">
13
+ <b>Name:</b>
14
+ <p><%= @tenant.name %>&nbsp;
15
+ <% if session[:kb_tenant_name] == @tenant.name %>
16
+ <i class="fa fa-toggle-on switch-tenant-active" title="Currently selected"></i>
17
+ <% else %>
18
+ <%= link_to("<i class=\"fa fa-toggle-off\" aria-hidden=\"true\"></i>".html_safe, switch_tenant_path(:kb_tenant_id => @tenant.kb_tenant_id), title: 'Click the toggle to switch tenant') %>
19
+ <% end %>
20
+ </p>
21
+ </div>
22
+ <div class="col-sm-3">
23
+ <b>Tenant ID:</b>
24
+ <p>
25
+ <%= @tenant.kb_tenant_id %>
26
+ <%= render "kaui/components/button/button", {
27
+ label: '',
28
+ icon: "kaui/copy.svg",
29
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
30
+ type: "button",
31
+ html_class: "dots-menu kaui-button",
32
+ html_options: {
33
+ onclick: "navigator.clipboard.writeText('#{@tenant.kb_tenant_id}')"
34
+ }
35
+ } %>
36
+ </p>
37
+ </div>
38
+ <div class="col-sm-3">
39
+ <b>API Key:</b>
40
+ <p class="d-flex align-items-center gap-2 flex-nowrap">
41
+ <%= @tenant.api_key %>
42
+ <%= render "kaui/components/button/button", {
43
+ label: '',
44
+ icon: "kaui/copy.svg",
45
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
46
+ type: "button",
47
+ html_class: "dots-menu kaui-button flex-shrink-0",
48
+ html_options: {
49
+ onclick: "navigator.clipboard.writeText('#{@tenant.api_key}')"
50
+ }
51
+ } %>
52
+ </p>
53
+ </div>
54
+ <div class="col-sm-3">
55
+ <b>API Secret:</b>
56
+ <p class="d-flex align-items-center gap-2 flex-nowrap">
57
+ <span class="mx-0" id="api-secret">
58
+ <%= @tenant.api_secret %>
59
+ </span>
2
60
 
3
- <div class="column-block">
61
+ <%= render "kaui/components/button/button", {
62
+ label: '',
63
+ icon: "kaui/eye.svg",
64
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
65
+ type: "button",
66
+ html_class: "dots-menu kaui-button flex-shrink-0",
67
+ html_options: {
68
+ id: "toggle-eye-btn",
69
+ onclick: "toggleSecret()"
70
+ }
71
+ } %>
72
+ <%= render "kaui/components/button/button", {
73
+ label: '',
74
+ icon: "kaui/copy.svg",
75
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
76
+ type: "button",
77
+ html_class: "dots-menu kaui-button flex-shrink-0",
78
+ html_options: {
79
+ onclick: "navigator.clipboard.writeText('#{@tenant.api_secret}')"
80
+ }
81
+ } %>
82
+ </p>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </div>
87
+ </div>
4
88
 
5
- <h1>Tenant details</h1>
89
+ <script>
90
+ function toggleSecret() {
91
+ const secretSpan = document.getElementById("api-secret");
92
+ const eyeBtn = document.getElementById("toggle-eye-btn").querySelector("img");
6
93
 
7
- <b>Name:</b> <%= @tenant.name %>&nbsp;
8
- <% if session[:kb_tenant_name] == @tenant.name %>
9
- <i class="fa fa-toggle-on switch-tenant-active" title="Currently selected"></i>
10
- <% else %>
11
- <%= link_to("<i class=\"fa fa-toggle-off\" aria-hidden=\"true\"></i>".html_safe,
12
- switch_tenant_path(:kb_tenant_id => @tenant.kb_tenant_id), title: 'Click the toggle to switch tenant') %>
13
- <% end %>
14
- <br/>
15
- <b>Tenant ID:</b> <%= @tenant.kb_tenant_id %>
16
- <br/>
17
- <b>API Key:</b> <%= @tenant.api_key %>
94
+ if (secretSpan.dataset.visible === "true") {
95
+ secretSpan.textContent = "✴✴✴✴✴";
96
+ secretSpan.dataset.visible = "false";
97
+ eyeBtn.src = "/assets/kaui/eye.svg"; // eye closed
98
+ } else {
99
+ secretSpan.textContent = "<%= j @tenant.api_secret %>";
100
+ secretSpan.dataset.visible = "true";
101
+ eyeBtn.src = "/assets/kaui/eye-off.svg"; // eye open
102
+ }
103
+ }
18
104
 
19
- </div>
20
-
21
- </div>
105
+ document.addEventListener("DOMContentLoaded", () => {
106
+ const secretSpan = document.getElementById("api-secret");
107
+ secretSpan.dataset.visible = "false";
108
+ secretSpan.textContent = "✴✴✴✴✴";
109
+ });
110
+ </script>
@@ -1,9 +1,33 @@
1
- <table id="tenants-table" class="table table-condensed table-striped mobile-data">
1
+ <table id="tenants-table" class="tenants-table">
2
2
  <thead>
3
3
  <tr>
4
- <th>Name</th>
5
- <th>Tenant Id</th>
6
- <th>Api Key</th>
4
+ <th class="sortable-header" data-column="0">
5
+ <div class="header-content">
6
+ <span class="header-text">Name</span>
7
+ <div class="sort-icons">
8
+ <%= image_tag "kaui/sort-up.svg", class: "sort-icon sort-asc" %>
9
+ <%= image_tag "kaui/sort-down.svg", class: "sort-icon sort-desc" %>
10
+ </div>
11
+ </div>
12
+ </th>
13
+ <th class="sortable-header" data-column="1">
14
+ <div class="header-content">
15
+ <span class="header-text">Tenant Id</span>
16
+ <div class="sort-icons">
17
+ <%= image_tag "kaui/sort-up.svg", class: "sort-icon sort-asc" %>
18
+ <%= image_tag "kaui/sort-down.svg", class: "sort-icon sort-desc" %>
19
+ </div>
20
+ </div>
21
+ </th>
22
+ <th class="sortable-header" data-column="2">
23
+ <div class="header-content">
24
+ <span class="header-text">Api Key</span>
25
+ <div class="sort-icons">
26
+ <%= image_tag "kaui/sort-up.svg", class: "sort-icon sort-asc" %>
27
+ <%= image_tag "kaui/sort-down.svg", class: "sort-icon sort-desc" %>
28
+ </div>
29
+ </div>
30
+ </th>
7
31
  </tr>
8
32
  </thead>
9
33
  <tbody>
@@ -19,9 +43,46 @@
19
43
 
20
44
  <%= javascript_tag do %>
21
45
  $(document).ready(function() {
22
- $('#tenants-table').dataTable({
46
+ var table = $('#tenants-table').DataTable({
23
47
  "dom": "t",
24
- "paging": false
48
+ "paging": false,
49
+ "ordering": true
25
50
  });
51
+
52
+ // Custom sorting functionality
53
+ var currentSortColumn = -1;
54
+ var currentSortDirection = 'asc';
55
+
56
+ // Handle custom header clicks
57
+ $('.sortable-header').on('click', function() {
58
+ var columnIndex = parseInt($(this).data('column'));
59
+ var newDirection = 'asc';
60
+
61
+ // If clicking the same column, toggle direction
62
+ if (currentSortColumn === columnIndex) {
63
+ newDirection = currentSortDirection === 'asc' ? 'desc' : 'asc';
64
+ }
65
+
66
+ currentSortColumn = columnIndex;
67
+ currentSortDirection = newDirection;
68
+
69
+ // Update visual indicators
70
+ updateSortIndicators(columnIndex, newDirection);
71
+
72
+ // Apply DataTable sorting
73
+ table.order([columnIndex, newDirection]).draw();
74
+ });
75
+
76
+ // Function to update sort indicators
77
+ function updateSortIndicators(columnIndex, direction) {
78
+ // Reset all headers
79
+ $('.sortable-header').removeClass('sort-asc-active sort-desc-active');
80
+ $('.sort-icon').removeClass('active');
81
+
82
+ // Set active state for current column
83
+ var $header = $('.sortable-header[data-column="' + columnIndex + '"]');
84
+ $header.addClass(direction + '-active');
85
+ $header.find('.sort-' + direction).addClass('active');
86
+ }
26
87
  });
27
88
  <% end %>
@@ -1,18 +1,23 @@
1
- <div class="col-md-6">
2
-
3
- <div class="column-block">
4
-
5
- <h1>Useful links</h1>
6
-
7
- <ul>
8
- <li><%= link_to 'Parked accounts', kaui_engine.tags_path(:q => '__PARK__') %></li>
9
- <li><%= link_to 'AUTO_INVOICING_OFF accounts', kaui_engine.tags_path(:q => 'AUTO_INVOICING_OFF') %></li>
10
- <li><%= link_to 'AUTO_PAY_OFF accounts', kaui_engine.tags_path(:q => 'AUTO_PAY_OFF') %></li>
11
- <li><%= link_to 'PENDING payments', kaui_engine.payments_path(:q => 'PENDING') %></li>
12
- <li><%= link_to 'UNKNOWN and PLUGIN_FAILURE payments', kaui_engine.payments_path(:q => 'UNKNOWN') %></li>
13
- <li><%= link_to 'Queues', kaui_engine.queues_path %></li>
14
- </ul>
15
-
1
+ <div class="kaui-container pb-0">
2
+ <div class="useful-links-container">
3
+ <div class="d-flex flex-column">
4
+ <div class="useful-links-header mb-3">
5
+ <div class="d-flex align-items-start flex-column">
6
+ <h2>Useful links</h2>
7
+ </div>
8
+ <span>
9
+ </span>
10
+ </div>
11
+ <div class="useful-links">
12
+ <ul>
13
+ <li><%= link_to 'Parked accounts', kaui_engine.tags_path(:q => '__PARK__') %></li>
14
+ <li><%= link_to 'AUTO_INVOICING_OFF accounts', kaui_engine.tags_path(:q => 'AUTO_INVOICING_OFF') %></li>
15
+ <li><%= link_to 'AUTO_PAY_OFF accounts', kaui_engine.tags_path(:q => 'AUTO_PAY_OFF') %></li>
16
+ <li><%= link_to 'PENDING payments', kaui_engine.payments_path(:q => 'PENDING') %></li>
17
+ <li><%= link_to 'UNKNOWN and PLUGIN_FAILURE payments', kaui_engine.payments_path(:q => 'UNKNOWN') %></li>
18
+ <li><%= link_to 'Queues', kaui_engine.queues_path %></li>
19
+ </ul>
20
+ </div>
21
+ </div>
16
22
  </div>
17
-
18
23
  </div>
@@ -1,16 +1,40 @@
1
- <div class="search">
1
+ <div class="kaui-container admin-tenant-details">
2
+ <%= render partial: 'kaui/components/breadcrumb/breadcrumb', locals: {
3
+ breadcrumbs: [
4
+ { label: 'Settings', href: '/' },
5
+ { label: "Tenants", href: '#' }
6
+ ]
7
+ } %>
2
8
 
3
- <div class="column-block">
9
+ <div class="d-flex" style="gap: 4rem;">
10
+ <%= render :template => 'kaui/layouts/kaui_setting_sidebar' %>
11
+
12
+ <div class="w-100">
13
+ <div class="d-flex flex-column">
14
+ <div class="admin-tenant-details-header">
15
+ <h2>Tenants</h2>
16
+ <span>
17
+ <% if can? :create, Kaui::AdminTenant %>
18
+ <%= link_to new_admin_tenant_path do %>
19
+ <%= render "kaui/components/button/button", {
20
+ label: "Create Tenant",
21
+ icon: "kaui/plus.svg",
22
+ variant: "outline-secondary d-inline-flex align-items-center gap-1",
23
+ type: "button",
24
+ html_class: "kaui-dropdown custom-hover",
25
+ } %>
26
+ <% end %>
27
+ <% end %>
28
+ </span>
29
+ </div>
4
30
 
5
- <h1>Kaui tenants
6
- <% if can? :create, Kaui::AdminTenant %>
7
- <%= link_to '&nbsp;<i class="fa fa-plus-square"></i>'.html_safe, new_admin_tenant_path %>
8
- <% end %></h1>
9
-
10
- <% unless @tenants.empty? %>
11
- <%= render :partial => 'kaui/admin_tenants/tenants_table', :locals => {:tenants => @tenants} %>
12
- <% end %>
31
+ <div class="mt-4">
32
+ <% unless @tenants.empty? %>
33
+ <%= render :partial => 'kaui/admin_tenants/tenants_table', :locals => {:tenants => @tenants} %>
34
+ <% end %>
13
35
 
36
+ </div>
37
+ </div>
38
+ </div>
14
39
  </div>
15
-
16
40
  </div>
@@ -0,0 +1,3 @@
1
+ $('#kb_clock').html("<%= @clock['currentUtcTime'] %>");
2
+
3
+ scheduleRefresh();
@@ -1,14 +1,20 @@
1
- <div class="register">
2
- <div class="col-md-8 col-md-offset-2">
3
-
4
- <% if can? :create, Kaui::AdminTenant %>
5
- <div class="column-block">
6
- <h1>Add new tenant</h1>
7
- <%= render 'form' %>
8
- </div>
9
- <% else %>
1
+ <div class="register add-new-tenant-details">
2
+ <div>
3
+ <div class="mx-auto" style="max-width: 37.5rem;">
4
+ <% if can? :create, Kaui::AdminTenant %>
5
+ <h5 class="add-new-tenant-title border-bottom pb-3 mb-3">
6
+ <span class="icon-container">
7
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
8
+ <path d="M13.3334 5.83333C13.3334 7.67428 11.841 9.16667 10.0001 9.16667C8.15913 9.16667 6.66675 7.67428 6.66675 5.83333C6.66675 3.99238 8.15913 2.5 10.0001 2.5C11.841 2.5 13.3334 3.99238 13.3334 5.83333Z" stroke="#414651" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
9
+ <path d="M15.8334 15.8337C15.8334 13.5325 13.9679 11.667 11.6667 11.667H8.33341C6.03223 11.667 4.16675 13.5325 4.16675 15.8337V17.5003H15.8334V15.8337Z" stroke="#414651" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
10
+ </svg>
11
+ </span>
12
+ Add New Tenant
13
+ </h5>
14
+ <%= render 'form' %>
15
+ <% else %>
10
16
  <p>You are not allowed to create tenants, please contact your administrator.</p>
11
- <% end %>
12
-
13
- </div>
14
- </div>
17
+ <% end %>
18
+ </div>
19
+ </div>
20
+ </div>