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,14 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class DeviseCreateKauiUsers < ActiveRecord::Migration[5.0]
2
4
  def change
3
- unless table_exists?(:kaui_users)
4
- create_table(:kaui_users) do |t|
5
- # From Kill Bill
6
- t.string :kb_username, :null => false
7
- t.string :kb_session_id, :null => true
8
- t.timestamps
9
- end
5
+ return if table_exists?(:kaui_users)
10
6
 
11
- add_index :kaui_users, [:kb_username], :unique => true
7
+ create_table(:kaui_users) do |t|
8
+ # From Kill Bill
9
+ t.string :kb_username, null: false
10
+ t.string :kb_session_id, null: true
11
+ t.timestamps
12
12
  end
13
+
14
+ add_index :kaui_users, [:kb_username], unique: true
13
15
  end
14
16
  end
@@ -1,14 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class CreateKauiTenants < ActiveRecord::Migration[5.0]
2
4
  def change
3
- unless table_exists?(:kaui_tenants)
4
- create_table :kaui_tenants do |t|
5
- t.string :name
6
- t.string :kb_tenant_id
7
- t.string :api_key
8
- t.string :encrypted_api_secret
5
+ return if table_exists?(:kaui_tenants)
6
+
7
+ create_table :kaui_tenants do |t|
8
+ t.string :name
9
+ t.string :kb_tenant_id
10
+ t.string :api_key
11
+ t.string :encrypted_api_secret
9
12
 
10
- t.timestamps
11
- end
13
+ t.timestamps
12
14
  end
13
15
  end
14
16
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class CreateKauiAllowedUsers < ActiveRecord::Migration[5.0]
2
4
  def change
3
5
  unless table_exists?(:kaui_allowed_users)
@@ -7,17 +9,17 @@ class CreateKauiAllowedUsers < ActiveRecord::Migration[5.0]
7
9
  t.timestamps
8
10
  end
9
11
 
10
- add_index :kaui_allowed_users, [:kb_username], :unique => true
12
+ add_index :kaui_allowed_users, [:kb_username], unique: true
11
13
  end
12
14
 
13
- unless table_exists?(:kaui_allowed_user_tenants)
14
- create_table :kaui_allowed_user_tenants do |t|
15
- t.belongs_to :kaui_allowed_user
16
- t.belongs_to :kaui_tenant
17
- t.timestamps null: false
18
- end
15
+ return if table_exists?(:kaui_allowed_user_tenants)
19
16
 
20
- add_index :kaui_allowed_user_tenants, [:kaui_allowed_user_id, :kaui_tenant_id], :unique => true, :name => 'kaui_allowed_user_tenants_uniq'
17
+ create_table :kaui_allowed_user_tenants do |t|
18
+ t.belongs_to :kaui_allowed_user
19
+ t.belongs_to :kaui_tenant
20
+ t.timestamps null: false
21
21
  end
22
+
23
+ add_index :kaui_allowed_user_tenants, %i[kaui_allowed_user_id kaui_tenant_id], unique: true, name: 'kaui_allowed_user_tenants_uniq'
22
24
  end
23
25
  end
@@ -1,15 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails/generators'
2
4
  require 'kaui/version'
3
5
 
4
6
  module Kaui
5
7
  class InstallGenerator < Rails::Generators::Base
6
- class_option :lib_name, :type => :string, :default => 'kaui'
8
+ class_option :lib_name, type: :string, default: 'kaui'
7
9
 
8
10
  def self.source_paths
9
- paths = self.superclass.source_paths
11
+ paths = superclass.source_paths
10
12
  paths << File.expand_path('../templates', "../../#{__FILE__}")
11
13
  paths << File.expand_path('../templates', "../#{__FILE__}")
12
- paths << File.expand_path('../templates', __FILE__)
14
+ paths << File.expand_path('templates', __dir__)
13
15
  paths.flatten
14
16
  end
15
17
 
@@ -18,7 +20,7 @@ module Kaui
18
20
  end
19
21
 
20
22
  def config_kaui_yml
21
- create_file "config/kaui.yml" do
23
+ create_file 'config/kaui.yml' do
22
24
  settings = { 'version' => Kaui::VERSION }
23
25
 
24
26
  settings.to_yaml
@@ -26,43 +28,44 @@ module Kaui
26
28
  end
27
29
 
28
30
  def additional_tweaks
29
- return unless File.exists? 'public/robots.txt'
30
- append_file "public/robots.txt", <<-ROBOTS
31
- User-agent: *
32
- Disallow: /kaui
31
+ return unless File.exist? 'public/robots.txt'
32
+
33
+ append_file 'public/robots.txt', <<~ROBOTS
34
+ User-agent: *
35
+ Disallow: /kaui
33
36
  ROBOTS
34
37
  end
35
38
 
36
39
  def setup_assets
37
40
  @lib_name = 'kaui'
38
- %w{javascripts stylesheets images}.each do |path|
41
+ %w[javascripts stylesheets images].each do |path|
39
42
  empty_directory "app/assets/#{path}/kaui"
40
43
  end
41
44
 
42
- template "app/assets/javascripts/kaui/all.js"
43
- template "app/assets/stylesheets/kaui/all.css"
45
+ template 'app/assets/javascripts/kaui/all.js'
46
+ template 'app/assets/stylesheets/kaui/all.css'
44
47
  end
45
48
 
46
49
  def update_routes
47
- insert_into_file File.join('config', 'routes.rb'), :after => "Application.routes.draw do\n" do
48
- %Q{
50
+ insert_into_file File.join('config', 'routes.rb'), after: "Application.routes.draw do\n" do
51
+ %(
49
52
  # This line mounts Kaui's routes at the root of your application.
50
53
  # If you're mounting this engine into an existing application, change it to e.g.
51
54
  # mount Kaui::Engine, :at => '/kaui', :as => "kaui_engine"
52
55
  #
53
56
  # Don't modify the :as => "kaui_engine" option though.
54
57
  mount Kaui::Engine, :at => '/', :as => "kaui_engine"
55
- }
58
+ )
56
59
  end
57
60
  end
58
61
 
59
62
  def complete
60
- unless options[:quiet]
61
- puts "*" * 50
62
- puts "Kaui has been installed successfully. You're all ready to go!"
63
- puts " "
64
- puts "Enjoy!"
65
- end
63
+ return if options[:quiet]
64
+
65
+ puts '*' * 50
66
+ puts "Kaui has been installed successfully. You're all ready to go!"
67
+ puts ' '
68
+ puts 'Enjoy!'
66
69
  end
67
70
  end
68
71
  end
@@ -1,3 +1,5 @@
1
- # Configure Kaui Preferences
1
+ # frozen_string_literal: true
2
+
2
3
  Kaui.config do |config|
4
+ # Configure Kaui Preferences
3
5
  end
data/lib/kaui/engine.rb CHANGED
@@ -1,17 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Dependencies
2
4
  #
3
5
  # Sigh. Rails autoloads the gems specified in the Gemfile and nothing else.
4
6
  # We need to explicitly require all of our dependencies listed in kaui.gemspec
5
7
  #
6
8
  # See also https://github.com/carlhuda/bundler/issues/49
9
+
7
10
  require 'js-routes'
8
11
  require 'jquery-rails'
9
12
  require 'jquery-ui-rails'
10
13
  require 'jquery-datatables-rails'
11
- require 'font-awesome-rails'
12
- require 'twitter-bootstrap-rails'
14
+ require 'font-awesome-sass'
15
+ require 'bootstrap-sass'
13
16
  require 'bootstrap-datepicker-rails'
14
- require 'less-rails'
15
17
  require 'json'
16
18
  require 'money-rails'
17
19
  require 'killbill_client'
@@ -21,13 +23,23 @@ require 'cancan'
21
23
  require 'country_select'
22
24
  require 'concurrent'
23
25
  require 'mustache-js-rails'
26
+ require 'nokogiri'
27
+ require 'time'
28
+ require 'd3-rails'
29
+ require 'spinjs-rails'
30
+ require 'popper_js'
24
31
 
25
32
  module Kaui
26
33
  class Engine < ::Rails::Engine
27
34
  isolate_namespace Kaui
35
+ config.autoload_once_paths = %W[
36
+ #{root}/app/controllers
37
+ #{root}/app/helpers
38
+ #{root}/app/models
39
+ ]
28
40
 
29
- initializer 'kaui_engine.action_controller' do |app|
30
- ActiveSupport.on_load :action_controller do
41
+ initializer 'kaui_engine.action_controller', before: :load_config_initializers do |_app|
42
+ ActiveSupport.on_load :action_controller_base do
31
43
  helper Kaui::Engine.helpers
32
44
  end
33
45
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rbconfig'
2
4
  require 'active_support/core_ext/string'
3
5
  require 'thor'
@@ -5,31 +7,30 @@ require 'thor/group'
5
7
  require 'kaui/version'
6
8
 
7
9
  module KauiCmd
8
-
9
10
  class Installer < Thor::Group
10
11
  include Thor::Actions
11
12
 
12
13
  desc 'Install Kaui inside an existing rails project'
13
14
 
14
- argument :app_path, :type => :string, :desc => 'rails app_path', :default => '.'
15
+ argument :app_path, type: :string, desc: 'rails app_path', default: '.'
15
16
 
16
- class_option :version, :type => :string, :desc => 'Kaui Version to use'
17
+ class_option :version, type: :string, desc: 'Kaui Version to use'
17
18
 
18
- class_option :edge, :type => :boolean
19
+ class_option :edge, type: :boolean
19
20
 
20
- class_option :path, :type => :string, :desc => 'Kaui gem path'
21
- class_option :git, :type => :string, :desc => 'Kaui gem git url'
22
- class_option :ref, :type => :string, :desc => 'Kaui gem git ref'
23
- class_option :branch, :type => :string, :desc => 'Kaui gem git branch'
24
- class_option :tag, :type => :string, :desc => 'Kaui gem git tag'
21
+ class_option :path, type: :string, desc: 'Kaui gem path'
22
+ class_option :git, type: :string, desc: 'Kaui gem git url'
23
+ class_option :ref, type: :string, desc: 'Kaui gem git ref'
24
+ class_option :branch, type: :string, desc: 'Kaui gem git branch'
25
+ class_option :tag, type: :string, desc: 'Kaui gem git tag'
25
26
 
26
- class_option :skip_bundle, :type => :boolean, :desc => "Don't run bundle install"
27
+ class_option :skip_bundle, type: :boolean, desc: "Don't run bundle install"
27
28
 
28
29
  def verify_rails
29
- unless rails_project?
30
- say "#{@app_path} is not a rails project."
31
- exit 1
32
- end
30
+ return if rails_project?
31
+
32
+ say "#{@app_path} is not a rails project."
33
+ exit 1
33
34
  end
34
35
 
35
36
  def prepare_options
@@ -55,28 +56,28 @@ module KauiCmd
55
56
  def add_gems
56
57
  inside @app_path do
57
58
  gem :kaui, @kaui_gem_options
58
- run 'bundle install', :capture => true unless options[:skip_bundle]
59
+ run 'bundle install', capture: true unless options[:skip_bundle]
59
60
  end
60
61
  end
61
62
 
62
63
  def initialize_kaui
63
64
  inside @app_path do
64
- run "rails generate kaui:install", :verbose => false
65
+ run 'rails generate kaui:install', verbose: false
65
66
  end
66
67
  end
67
68
 
68
69
  private
69
70
 
70
- def rails_project?
71
- File.exists?(File.join(@app_path, 'script', 'rails')) || File.exists?(File.join(@app_path, 'bin', 'rails'))
72
- end
71
+ def rails_project?
72
+ File.exist?(File.join(@app_path, 'script', 'rails')) || File.exist?(File.join(@app_path, 'bin', 'rails'))
73
+ end
73
74
 
74
- def gem(name, gem_options={})
75
- say_status :gemfile, name
76
- parts = ["'#{name}'"]
77
- parts << ["'#{gem_options.delete(:version)}'"] if gem_options[:version]
78
- gem_options.each { |key, value| parts << ":#{key} => '#{value}'" }
79
- append_file 'Gemfile', "gem #{parts.join(', ')}\n", :verbose => false
80
- end
75
+ def gem(name, gem_options = {})
76
+ say_status :gemfile, name
77
+ parts = ["'#{name}'"]
78
+ parts << ["'#{gem_options.delete(:version)}'"] if gem_options[:version]
79
+ gem_options.each { |key, value| parts << ":#{key} => '#{value}'" }
80
+ append_file 'Gemfile', "gem #{parts.join(', ')}\n", verbose: false
81
+ end
81
82
  end
82
83
  end
data/lib/kaui/version.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Kaui
2
- VERSION = '2.1.0'
4
+ VERSION = '3.0.1'
3
5
  end
data/lib/kaui.rb CHANGED
@@ -1,10 +1,11 @@
1
- #lib_dir = File.expand_path("..", __FILE__)
2
- #$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
1
+ # frozen_string_literal: true
3
2
 
4
- require "kaui/engine"
3
+ # lib_dir = File.expand_path("..", __FILE__)
4
+ # $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
5
 
6
- module Kaui
6
+ require 'kaui/engine'
7
7
 
8
+ module Kaui
8
9
  mattr_accessor :home_path
9
10
  mattr_accessor :tenant_home_path
10
11
  mattr_accessor :new_user_session_path
@@ -46,16 +47,16 @@ module Kaui
46
47
 
47
48
  mattr_accessor :disable_sign_up_link
48
49
 
49
- self.home_path = lambda { Kaui::Engine.routes.url_helpers.home_path }
50
- self.tenant_home_path = lambda { Kaui::Engine.routes.url_helpers.tenants_path }
50
+ self.home_path = -> { Kaui::Engine.routes.url_helpers.home_path }
51
+ self.tenant_home_path = -> { Kaui::Engine.routes.url_helpers.tenants_path }
51
52
 
52
53
  self.bundle_details_partial = 'kaui/bundles/bundle_details'
53
54
 
54
- self.pretty_account_identifier = lambda { |account| account.name.presence || account.email.presence || Kaui::UuidHelper.truncate_uuid(account.external_key) }
55
- self.bundle_key_display_string = lambda {|bundle_key| bundle_key }
56
- self.creditcard_plugin_name = lambda { '__EXTERNAL_PAYMENT__' }
55
+ self.pretty_account_identifier = ->(account) { account.name.presence || account.email.presence || Kaui::UuidHelper.truncate_uuid(account.external_key) }
56
+ self.bundle_key_display_string = ->(bundle_key) { bundle_key }
57
+ self.creditcard_plugin_name = -> { '__EXTERNAL_PAYMENT__' }
57
58
 
58
- self.account_search_columns = lambda do |account=nil, view_context=nil|
59
+ self.account_search_columns = lambda do |account = nil, view_context = nil|
59
60
  [
60
61
  ['External key', 'Balance'],
61
62
  [
@@ -65,13 +66,13 @@ module Kaui
65
66
  ]
66
67
  end
67
68
 
68
- self.invoice_search_columns = lambda do |invoice=nil, view_context=nil|
69
+ self.invoice_search_columns = lambda do |invoice = nil, view_context = nil|
69
70
  default_label = 'label-info'
70
71
  default_label = 'label-default' if invoice&.status == 'DRAFT'
71
72
  default_label = 'label-success' if invoice&.status == 'COMMITTED'
72
73
  default_label = 'label-danger' if invoice&.status == 'VOID'
73
74
  [
74
- ['Date', 'Status'],
75
+ %w[Date Status],
75
76
  [
76
77
  invoice&.invoice_date,
77
78
  invoice.nil? || view_context.nil? ? nil : view_context.content_tag(:span, invoice.status, class: ['label', default_label])
@@ -79,13 +80,13 @@ module Kaui
79
80
  ]
80
81
  end
81
82
 
82
- self.account_invoices_columns = lambda do |invoice=nil, view_context=nil|
83
+ self.account_invoices_columns = lambda do |invoice = nil, view_context = nil|
83
84
  default_label = 'label-info'
84
85
  default_label = 'label-default' if invoice&.status == 'DRAFT'
85
86
  default_label = 'label-success' if invoice&.status == 'COMMITTED'
86
87
  default_label = 'label-danger' if invoice&.status == 'VOID'
87
88
  [
88
- ['Date', 'Amount', 'Balance', 'Status'],
89
+ %w[Date Amount Balance Status],
89
90
  [
90
91
  invoice&.invoice_date,
91
92
  invoice.nil? || view_context.nil? ? nil : view_context.humanized_money_with_symbol(invoice.amount_to_money),
@@ -95,7 +96,7 @@ module Kaui
95
96
  ]
96
97
  end
97
98
 
98
- self.customer_invoice_link = lambda { |invoice, ctx| ctx.link_to 'View customer invoice html', ctx.kaui_engine.show_html_invoice_path(invoice.invoice_id), :class => 'btn', :target => '_blank' }
99
+ self.customer_invoice_link = ->(invoice, ctx) { ctx.link_to 'View customer invoice html', ctx.kaui_engine.show_html_invoice_path(invoice.invoice_id), class: 'btn', target: '_blank' }
99
100
 
100
101
  self.demo_mode = false
101
102
 
@@ -153,14 +154,14 @@ module Kaui
153
154
 
154
155
  # Default URLs
155
156
  self.gateways_urls = {
156
- 'killbill-adyen' => 'https://ca-test.adyen.com/ca/ca/accounts/showTx.shtml?txType=Payment&pspReference=FIRST_PAYMENT_REFERENCE_ID',
157
- 'killbill-cybersource' => 'https://ebctest.cybersource.com/ebctest/transactionsearch/TransactionSearchDetailsLoad.do?requestId=FIRST_PAYMENT_REFERENCE_ID',
158
- 'killbill-stripe' => 'https://dashboard.stripe.com/test/payments/FIRST_PAYMENT_REFERENCE_ID'
157
+ 'killbill-adyen' => 'https://ca-test.adyen.com/ca/ca/accounts/showTx.shtml?txType=Payment&pspReference=FIRST_PAYMENT_REFERENCE_ID',
158
+ 'killbill-cybersource' => 'https://ebctest.cybersource.com/ebctest/transactionsearch/TransactionSearchDetailsLoad.do?requestId=FIRST_PAYMENT_REFERENCE_ID',
159
+ 'killbill-stripe' => 'https://dashboard.stripe.com/test/payments/FIRST_PAYMENT_REFERENCE_ID'
159
160
  }
160
161
 
161
162
  self.disable_sign_up_link = true
162
163
 
163
- def self.is_user_assigned_valid_tenant?(user, session)
164
+ def self.user_assigned_valid_tenant?(user, session)
164
165
  #
165
166
  # If those are set in config initializer then we bypass the check
166
167
  # For multi-tenant production deployment, those should not be set!
@@ -177,16 +178,16 @@ module Kaui
177
178
  au = Kaui::AllowedUser.find_by_kb_username(user.kb_username)
178
179
  return false if au.nil?
179
180
 
180
- return au.kaui_tenants.select { |t| t.kb_tenant_id == session[:kb_tenant_id] }.first
181
+ au.kaui_tenants.select { |t| t.kb_tenant_id == session[:kb_tenant_id] }.first
181
182
  end
182
183
 
183
184
  def self.current_tenant_user_options(user, session)
184
185
  kb_tenant_id = session[:kb_tenant_id]
185
186
  user_tenant = Kaui::Tenant.find_by_kb_tenant_id(kb_tenant_id) if kb_tenant_id
186
187
  result = {
187
- :username => user.kb_username,
188
- :password => user.password,
189
- :session_id => user.kb_session_id,
188
+ username: user.kb_username,
189
+ password: user.password,
190
+ session_id: user.kb_session_id
190
191
  }
191
192
  if user_tenant
192
193
  result[:api_key] = user_tenant.api_key
@@ -195,21 +196,18 @@ module Kaui
195
196
  result
196
197
  end
197
198
 
198
-
199
-
200
-
201
- def self.config(&block)
199
+ def self.config
202
200
  {
203
- :layout => layout || 'kaui/layouts/kaui_application',
201
+ layout: layout || 'kaui/layouts/kaui_application'
204
202
  }
205
203
  end
206
204
  end
207
205
 
208
206
  # ruby-1.8 compatibility
209
207
  module Kernel
210
- def define_singleton_method(*args, &block)
208
+ def define_singleton_method(*args, &)
211
209
  class << self
212
210
  self
213
- end.send(:define_method, *args, &block)
211
+ end.send(:define_method, *args, &)
214
212
  end
215
213
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # desc "Explaining what the task does"
2
3
  # task :kaui do
3
4
  # # Task goes here