lotus_admin 1.4.5 → 1.5.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7abae8eb4be2f4c119e4cf91add400abb366b444879111eb93073462db7e1b16
4
- data.tar.gz: 39bdbb6e979939f91d18b25ed5a8e162227fc0ed13c1df55d69549e18096807c
3
+ metadata.gz: '0009428266da5d0d9c3ea09cbbea1c6f4f2e7f09c9da6a5792c5f2891f9f7f09'
4
+ data.tar.gz: 8e0480793bc75ea33106336c1a5fb75d79c09ef1e93fc4b596c92761019fdf93
5
5
  SHA512:
6
- metadata.gz: f8ae4a120f198c54cf944d7b9d995e7acfc0f691bd7a2dbef33ee6c0766643c9e8082ade919efe23d282ab7d9d26961f7e9f4c84ff7107f7b3ad039ca8ed509a
7
- data.tar.gz: 07c53d084ada45c620c1d9626a638706ecf6127c78c1c90cac10e2869e04e3b525d12717b95ae7e3ec06e578480d780c2e7d605bd98a97c72a5264b55a7b90e8
6
+ metadata.gz: 7a92fecdde33a23f2fb010d551aaf90f3db1688d767c01154f0c6d6394a3adc3fa1092edc9575b9a4cce5375a7f8e18f3b1e0bb32241acf8b0d726a9f7f4c971
7
+ data.tar.gz: 5ffdaafacaba4d838bab07471d727614ff17cacd4da9fae3f75b3aab13254050be2986aa7b57fc80ff8ce0b7678161ee6e6a37637dea2bdf8fe362aa8e8c1c64
@@ -12,14 +12,13 @@ $ ->
12
12
  }
13
13
 
14
14
  setup_datepickers = (container)->
15
- container.find('.input-group.date, .form-control.date').datetimepicker
15
+ container.find('.input-group.date').datetimepicker
16
16
  format: 'YYYY-MM-DD',
17
17
  icons: icons
18
18
 
19
- container.find('.input-group.datetime, .form-control.datetime').datetimepicker
19
+ container.find('.input-group.datetime').datetimepicker
20
20
  format: 'YYYY-MM-DD hh:mm a',
21
- icons: icons,
22
- debug: true
21
+ icons: icons
23
22
 
24
23
  # On page load
25
24
  setup_datepickers($('body'))
@@ -43,6 +43,16 @@ class LotusAdmin::ResourceController < LotusAdmin::AuthenticatedController
43
43
  end
44
44
  end
45
45
 
46
+ def edit(&block)
47
+ authorize(resource) if using_pundit?
48
+
49
+ if block.present?
50
+ block.call
51
+ else
52
+ render :edit
53
+ end
54
+ end
55
+
46
56
  def update(&block)
47
57
  authorize(resource) if using_pundit?
48
58
 
@@ -1,25 +1,57 @@
1
1
  module LotusAdmin
2
2
  module LinkHelpers
3
+ def default_table_actions_column(resource)
4
+ render 'lotus_admin/shared/table/actions', resource: resource
5
+ end
6
+
7
+ def undecorated(resource)
8
+ resource.try(:object).presence || resource
9
+ end
10
+
11
+ def view_resource_item(resource)
12
+ if policy(resource).show?
13
+ content_tag(:li) { view_link(resource) }
14
+ end
15
+ end
16
+
17
+ def new_resource_item(parent = nil)
18
+ if policy(resource_class).new?
19
+ content_tag(:li) { new_link(parent) }
20
+ end
21
+ end
22
+
23
+ def edit_resource_item(resource)
24
+ if policy(resource).edit?
25
+ content_tag(:li) { edit_link(resource) }
26
+ end
27
+ end
28
+
29
+ def destroy_resource_item(resource)
30
+ if policy(resource).destroy?
31
+ content_tag(:li) { destroy_link(resource) }
32
+ end
33
+ end
34
+
3
35
  def view_link(resource)
4
- link_to lotus_admin.polymorphic_path(resource) do
36
+ link_to lotus_admin.polymorphic_path(undecorated(resource)) do
5
37
  content_tag(:i, nil, class: 'zmdi zmdi-eye')
6
38
  end
7
39
  end
8
40
 
9
- def new_link
10
- link_to lotus_admin.new_polymorphic_path(resource_class) do
41
+ def new_link(parent = nil)
42
+ link_to lotus_admin.new_polymorphic_path([parent, resource_class].compact) do
11
43
  content_tag(:i, nil, class: 'zmdi zmdi-plus-circle')
12
44
  end
13
45
  end
14
46
 
15
47
  def edit_link(resource)
16
- link_to lotus_admin.edit_polymorphic_path(resource) do
48
+ link_to lotus_admin.edit_polymorphic_path(undecorated(resource)) do
17
49
  content_tag(:i, nil, class: 'zmdi zmdi-edit')
18
50
  end
19
51
  end
20
52
 
21
53
  def destroy_link(resource)
22
- link_to lotus_admin.polymorphic_path(resource), data: { method: :delete, confirm: "Are you sure you want to remove this #{ resource.model_name.human }?" } do
54
+ link_to lotus_admin.polymorphic_path(undecorated(resource)), data: { method: :delete, confirm: "Are you sure you want to remove this #{ resource.model_name.human }?" } do
23
55
  content_tag(:i, nil, class: 'zmdi zmdi-delete')
24
56
  end
25
57
  end
@@ -0,0 +1,22 @@
1
+ class CurrencyInput < SimpleForm::Inputs::Base
2
+ def input(wrapper_options)
3
+ currency = options.delete(:currency) || default_currency
4
+ merged_input_options = merge_wrapper_options(input_html_options, wrapper_options)
5
+
6
+ content_tag(:div, input_group(currency, merged_input_options), class: "input-group")
7
+ end
8
+
9
+ private
10
+
11
+ def input_group(currency, merged_input_options)
12
+ "#{currency_addon(currency)} #{@builder.text_field(attribute_name, merged_input_options)}".html_safe
13
+ end
14
+
15
+ def currency_addon(currency)
16
+ content_tag(:span, currency, class: "input-group-addon")
17
+ end
18
+
19
+ def default_currency
20
+ "$"
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ class DateTimeInput < SimpleForm::Inputs::Base
2
+ def input(wrapper_options)
3
+ merged_input_options = merge_wrapper_options(input_html_options, wrapper_options)
4
+
5
+ content_tag(:div, input_group(merged_input_options), class: "input-group datetime")
6
+ end
7
+
8
+ private
9
+
10
+ def input_group(merged_input_options)
11
+ "#{calendar_addon} #{@builder.text_field(attribute_name, merged_input_options)}".html_safe
12
+ end
13
+
14
+ def calendar_addon
15
+ content_tag(:span, calendar_icon, class: "input-group-addon")
16
+ end
17
+
18
+ def calendar_icon
19
+ @builder.template.fa_icon(:calendar)
20
+ end
21
+
22
+ def input_html_options
23
+ super.merge({
24
+ class: 'datetime',
25
+ value: @builder.object.public_send(attribute_name)&.strftime('%Y-%m-%d %l:%M %P')
26
+ })
27
+ end
28
+ end
@@ -1,15 +1,17 @@
1
- = material_form_for [lotus_admin, resource] do |f|
2
- .form-inputs
3
- - f.object.class.columns.each do |column|
4
- - case column.type
5
- - when :text
6
- = f.input column.name, as: :text, input_html: { rows: 5 }
7
- - else
8
- - case column.name
9
- - when /_at$/
10
- - else
11
- = f.input column.name
1
+ .card
2
+ .card-body.card-padding
3
+ = material_form_for [lotus_admin, resource] do |f|
4
+ .form-inputs
5
+ - f.object.class.columns.each do |column|
6
+ - case column.type
7
+ - when :text
8
+ = f.input column.name, as: :text, input_html: { rows: 5 }
9
+ - else
10
+ - case column.name
11
+ - when /_at$/
12
+ - else
13
+ = f.input column.name
12
14
 
13
- .form-actions
14
- = material_form_submit(resource)
15
- = material_form_cancel(lotus_admin.polymorphic_path(resource_class))
15
+ .form-actions
16
+ = material_form_submit(resource)
17
+ = material_form_cancel(lotus_admin.polymorphic_path(resource_class))
@@ -2,11 +2,6 @@
2
2
  %h2= page_title!("Edit #{ resource_class.model_name.human }")
3
3
 
4
4
  %ul.actions
5
- %li= new_link
5
+ = new_resource_item
6
6
 
7
- .card
8
- .card-header
9
- = t('.help', resource: resource_class.model_name.human)
10
-
11
- .card-body.card-padding
12
- = render 'form'
7
+ = render 'form'
@@ -1,5 +1,5 @@
1
1
  - content_for :action_items do
2
- %li= new_link
2
+ = new_resource_item
3
3
 
4
4
  = render_index do
5
5
  .table-responsive
@@ -12,8 +12,4 @@
12
12
  - collection.each do |resource|
13
13
  %tr
14
14
  %td= link_to resource.id, [lotus_admin, resource]
15
- %td.actions-col
16
- %ul.actions
17
- %li= view_link(resource)
18
- %li= edit_link(resource)
19
- %li= destroy_link(resource)
15
+ = default_table_actions_column(resource)
@@ -1,9 +1,4 @@
1
1
  .block-header
2
2
  %h2= page_title!("New #{ resource_class.model_name.human }")
3
3
 
4
- .card
5
- .card-header
6
- = t('.help', resource: resource_class.model_name.human)
7
-
8
- .card-body.card-padding
9
- = render 'form'
4
+ = render 'form'
@@ -2,9 +2,9 @@
2
2
  %h2= page_title!("#{ resource_class.model_name.human } Details")
3
3
 
4
4
  %ul.actions
5
- %li= edit_link(resource)
6
- %li= destroy_link(resource)
7
- %li= new_link
5
+ = edit_resource_item(resource)
6
+ = destroy_resource_item(resource)
7
+ = new_resource_item
8
8
 
9
9
  .card
10
10
  .card-header
@@ -0,0 +1,5 @@
1
+ %td.actions-col
2
+ %ul.actions
3
+ = view_resource_item(resource)
4
+ = edit_resource_item(resource)
5
+ = destroy_resource_item(resource)
@@ -2,7 +2,7 @@
2
2
  %h2= page_title!("Edit #{ resource_class.model_name.human }")
3
3
 
4
4
  %ul.actions
5
- %li= new_link
5
+ = new_resource_item
6
6
 
7
7
  .card
8
8
  .card-header
@@ -1,5 +1,5 @@
1
1
  - content_for :action_items do
2
- %li= new_link
2
+ = new_resource_item
3
3
 
4
4
  = render_index do
5
5
  .table-responsive
@@ -20,6 +20,6 @@
20
20
  %td= user.email
21
21
  %td.actions-col
22
22
  %ul.actions
23
- %li= view_link(user)
24
- %li= edit_link(user)
25
- %li= destroy_link(user)
23
+ = view_resource_item(user)
24
+ = edit_resource_item(user)
25
+ = destroy_resource_item(user)
@@ -2,8 +2,8 @@
2
2
  %h2= page_title!("#{ resource_class.model_name.human } Details")
3
3
 
4
4
  %ul.actions
5
- %li= edit_link(resource)
6
- %li= destroy_link(resource)
5
+ = edit_resource_item(resource)
6
+ = destroy_resource_item(resource)
7
7
 
8
8
  .card
9
9
  .card-header
@@ -205,7 +205,7 @@ Devise.setup do |config|
205
205
  # Time interval you can reset your password with a reset password key.
206
206
  # Don't put a too small interval or your users won't have the time to
207
207
  # change their passwords.
208
- config.reset_password_within = 6.hours
208
+ config.reset_password_within = 2.days
209
209
 
210
210
  # When set to false, does not sign a user in automatically after their password is
211
211
  # reset. Defaults to true, so a user is signed in automatically after a reset.
@@ -1,3 +1,3 @@
1
1
  module LotusAdmin
2
- VERSION = '1.4.5'
2
+ VERSION = '1.5.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lotus_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.5
4
+ version: 1.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Millsaps-Brewer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-06 00:00:00.000000000 Z
11
+ date: 2020-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -405,7 +405,9 @@ files:
405
405
  - app/helpers/lotus_admin/panel_helpers.rb
406
406
  - app/helpers/lotus_admin/render_helpers.rb
407
407
  - app/helpers/lotus_admin/sidebar_helpers.rb
408
+ - app/inputs/currency_input.rb
408
409
  - app/inputs/date_picker_input.rb
410
+ - app/inputs/date_time_input.rb
409
411
  - app/jobs/lotus_admin/application_job.rb
410
412
  - app/mailers/lotus_admin/application_mailer.rb
411
413
  - app/mailers/lotus_admin/user_mailer.rb
@@ -453,6 +455,7 @@ files:
453
455
  - app/views/lotus_admin/shared/_index.html.haml
454
456
  - app/views/lotus_admin/shared/filters/_modal.html.haml
455
457
  - app/views/lotus_admin/shared/filters/_results_banner.html.haml
458
+ - app/views/lotus_admin/shared/table/_actions.html.haml
456
459
  - app/views/lotus_admin/user_mailer/invited.html.haml
457
460
  - app/views/lotus_admin/user_mailer/invited.text.erb
458
461
  - app/views/lotus_admin/users/_form.html.haml