common_core_js 0.3.6 → 0.3.7

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: 0c741cb686a2b2cdbaf0c78412ef5733e82e048d6cd94507675a14288464b617
4
- data.tar.gz: fb86d6cabe810f86faca72ecc1a7cf6045bb24df6fd6124de82289ec70d4386c
3
+ metadata.gz: 5bd570ce32ada5b0551a77526d1b25e82f9b10a4ce9199e9abc60c3256a0c824
4
+ data.tar.gz: 39d7097d4e3daa434959ec9c72d93f83bee971d715f7ccde0fcb791332b8f490
5
5
  SHA512:
6
- metadata.gz: aff7ba81411119d30bc13f18b0fcbdc5bf2d27353758d8795d1d8184a766636fa47faae4f3a9eee294e51ff6ed4a148817065ff51d8f0eef4407bee162e8a971
7
- data.tar.gz: 0b863a346bc88ff5e12f3a942183f8a9f37c527721545a8a353cd16d957d24a176ce0f9751f333906c208b5a0484b367b1cc21096391c5db10e15ae825c76ec3
6
+ metadata.gz: 344db104a6bcca04942313947217d71f786698f6656590b5f49f03974046a557e8de438c3ba9146c1f2041996926341942f84ef3ff2b947883386e6c7ab2e9c0
7
+ data.tar.gz: 5c51d14d8d1055b3652ce5e2351582951a60b0d5cb78b1b91153cbf60aab5e141579f177c4de169dd5de3d9cc059c4795c6b45d3024c9d720dcd361ae37814b9
@@ -0,0 +1,21 @@
1
+ module CommonCoreJs
2
+ module ControllerHelper
3
+ def modify_date_inputs_on_params(modified_params)
4
+ use_timezone = current_account.timezone || Time.now.strftime("%z")
5
+
6
+ modified_params = modified_params.tap do |params|
7
+ params.keys.each{|k|
8
+ if k.ends_with?("_at") || k.ends_with?("_date")
9
+
10
+ begin
11
+ params[k] = DateTime.strptime("#{params[k]} #{use_timezone}", '%Y-%m-%dT%H:%M %z')
12
+ rescue StandardError
13
+
14
+ end
15
+ end
16
+ }
17
+ end
18
+ modified_params
19
+ end
20
+ end
21
+ end
@@ -8,7 +8,7 @@ module CommonCoreJs
8
8
  # Your code goes here...
9
9
  #
10
10
  module ControllerHelpers
11
- def modify_date_inputs_on_params(modified_params)
11
+ def modify_date_inputs_on_params(modified_params, authenticated_user = nil)
12
12
  use_timezone = authenticated_user.timezone || Time.now.strftime("%z")
13
13
 
14
14
  modified_params = modified_params.tap do |params|
@@ -1,3 +1,3 @@
1
1
  module CommonCoreJs
2
- VERSION = '0.3.6'
2
+ VERSION = '0.3.7'
3
3
  end
@@ -83,13 +83,17 @@ module CommonCore
83
83
  end
84
84
  end
85
85
 
86
+
87
+
86
88
  auth_assoc = @auth.gsub("current_","")
87
89
  auth_assoc_field = auth_assoc + "_id"
88
90
 
89
91
 
92
+
93
+ exclude_fields = [auth_assoc_field.to_sym, :id, :created_at, :updated_at, :encrypted_password, :reset_password_token,
94
+ :reset_password_sent_at, :remember_created_at]
90
95
  begin
91
- @columns = object.columns.map(&:name).map(&:to_sym).reject{|field| field==:updated_at ||
92
- field==:created_at || field==:id || field == auth_assoc_field.to_sym }
96
+ @columns = object.columns.map(&:name).map(&:to_sym).reject{|field| exclude_fields.include?(field) }
93
97
  rescue StandardError => e
94
98
  puts "Ooops... it looks like is an object for #{class_name}. Please create the database table with fields first. "
95
99
  exit
@@ -118,6 +122,11 @@ module CommonCore
118
122
  @auth_identifier = @auth.gsub("current_", "")
119
123
  end
120
124
 
125
+
126
+ if auth_identifier == @singular
127
+ @self_auth = true
128
+ end
129
+
121
130
  if !@nest.nil?
122
131
  @nested_args = @nest.split("/")
123
132
 
@@ -141,6 +150,9 @@ module CommonCore
141
150
 
142
151
  unless @specs_only
143
152
  template "controller.rb", File.join("app/controllers#{namespace_with_dash}", "#{plural}_controller.rb")
153
+ if @namespace
154
+ template "base_controller.rb", File.join("app/controllers#{namespace_with_dash}", "base_controller.rb")
155
+ end
144
156
  end
145
157
 
146
158
  unless @no_specs
@@ -270,7 +282,9 @@ module CommonCore
270
282
 
271
283
  def all_objects_root
272
284
  if @auth
273
- if @nested_args.none?
285
+ if @self_auth
286
+ @singular_class + ".where(id: #{@auth}.id)"
287
+ elsif @nested_args.none?
274
288
  @auth + ".#{plural}"
275
289
  else
276
290
  "@" + @nested_args.last + ".#{plural}"
@@ -346,7 +360,7 @@ module CommonCore
346
360
 
347
361
 
348
362
  def create_merge_params
349
- if @auth
363
+ if @auth && ! @self_auth
350
364
  "#{@auth_identifier}: #{@auth}"
351
365
  else
352
366
  ""
@@ -394,6 +408,8 @@ module CommonCore
394
408
  display_column = "display_name"
395
409
  elsif assoc.active_record.column_names.include?("email")
396
410
  display_column = "email"
411
+ else
412
+ puts "Can't find a display_column on {singular_class} object"
397
413
  end
398
414
 
399
415
  ".row
@@ -411,7 +427,7 @@ module CommonCore
411
427
  end
412
428
  when :string
413
429
  limit ||= 256
414
- if limit < 256
430
+ if limit <= 256
415
431
  field_output(col, nil, limit)
416
432
  else
417
433
  text_area_output(col, limit)
@@ -419,7 +435,7 @@ module CommonCore
419
435
 
420
436
  when :text
421
437
  limit ||= 256
422
- if limit < 256
438
+ if limit <= 256
423
439
  field_output(col, nil, limit)
424
440
  else
425
441
  text_area_output(col, limit)
@@ -536,6 +552,17 @@ module CommonCore
536
552
  end
537
553
 
538
554
 
555
+ def destroy_action
556
+ return false if @self_auth
557
+ return true
558
+ end
559
+
560
+ def create_action
561
+ return false if @self_auth
562
+ return true
563
+ end
564
+
565
+
539
566
  private # thor does something fancy like sending the class all of its own methods during some strange run sequence
540
567
  # does not like public methods
541
568
 
@@ -1,5 +1,7 @@
1
1
  <%= all_line_fields %>
2
2
  %td
3
+ <% if destroy_action %>
3
4
  = link_to "Delete <i class='fa fa-1x fa-remove'></i>".html_safe, <%= path_helper_singular %>(<%= singular %>), remote: true ,method: :delete, disable_with: "Loading...", class: "delete-<%= singular %>-button btn btn-primary "
5
+ <% end %>
4
6
  &nbsp;
5
7
  = link_to "Edit <i class='fa fa-1x fa-list-alt'></i>".html_safe, edit_<%= path_helper_singular %>(<%= singular %>), remote: true , disable_with: "Loading...", class: "edit-<%= singular %>-button btn btn-primary "
@@ -1,9 +1,9 @@
1
1
 
2
+ <% if create_action %>
2
3
  = link_to "New <%= singular.gsub('_',' ') %>", new_<%= path_helper_singular %>(<%= nested_arity_for_path %>), disable_with: "Loading...", remote: true, class: "new-<%= singular %>-button btn btn-primary pull-right"
3
-
4
4
  .clearfix
5
5
  .new-<%= singular %>-form{style: "display: none; position: relative;"}
6
-
6
+ <% end %>
7
7
 
8
8
 
9
9
  %table.table.table-striped.<%= singular %>-table
@@ -0,0 +1,3 @@
1
+ class <%= controller_descends_from %> < ApplicationController
2
+ end
3
+
@@ -7,6 +7,7 @@ class <%= controller_class_name %> < <%= controller_descends_from %>
7
7
  before_action :load_<%= arg %><% end %> <% end %>
8
8
  before_action :load_<%= singular_name %>, only: [:show, :edit, :update, :destroy]
9
9
  helper :common_core
10
+ include CommonCoreJs::ControllerHelpers
10
11
 
11
12
  <% if any_nested? %><% nest_chain = [] %> <% @nested_args.each do |arg| %>
12
13
  <% if nest_chain.empty?
@@ -19,20 +20,29 @@ class <%= controller_class_name %> < <%= controller_descends_from %>
19
20
  @<%= arg %> = <%= this_scope %>.find(params[:<%= arg %>_id])
20
21
  end<% end %> <% end %>
21
22
 
23
+
24
+ <% if !@self_auth %>
22
25
  def load_<%= singular_name %>
23
26
  @<%= singular_name %> = <%= object_scope %>.find(params[:id])
24
27
  end
28
+ <% else %>
29
+ def load_<%= singular_name %>
30
+ @<%= singular_name %> = <%= auth_object %>
31
+ end<% end %>
25
32
 
26
33
  def index
34
+ <% if !@self_auth %>
27
35
  @<%= plural_name %> = <%= object_scope %><% if model_has_strings? %>.where(<%=class_name %>.arel_table[:email].matches("%#{@__general_string}%"))<% end %>.page(params[:page])
28
-
36
+ <% else %>
37
+ @<%= plural_name %> = [<%= auth_object %>]
38
+ <% end %>
29
39
  respond_to do |format|
30
40
  format.js<% if @with_index %>
31
41
  format.html {render 'all.haml'}<% end %>
32
42
  end
33
43
  end
34
44
 
35
- def new
45
+ <% if create_action %> def new
36
46
  @<%= singular_name %> = <%= class_name %>.new(<%= create_merge_params %>)
37
47
  respond_to do |format|
38
48
  format.js
@@ -49,7 +59,7 @@ class <%= controller_class_name %> < <%= controller_descends_from %>
49
59
  end
50
60
  format.js
51
61
  end
52
- end
62
+ end<% end %>
53
63
 
54
64
  def show
55
65
  respond_to do |format|
@@ -65,14 +75,14 @@ class <%= controller_class_name %> < <%= controller_descends_from %>
65
75
 
66
76
  def update
67
77
  respond_to do |format|
68
- if !@<%=singular_name %>.update(modify_date_inputs_on_params(<%= singular %>_params ))
78
+ if !@<%=singular_name %>.update(modify_date_inputs_on_params(<%= singular %>_params, <%= @auth ? @auth : "nil" %> ))
69
79
  flash[:alert] = "<%=singular_name.titlecase %> could not be saved"
70
80
  end
71
81
  format.js {}
72
82
  end
73
83
  end
74
84
 
75
- def destroy
85
+ <% if destroy_action %>def destroy
76
86
  respond_to do |format|
77
87
  begin
78
88
  @<%=singular_name%>.destroy
@@ -81,7 +91,7 @@ class <%= controller_class_name %> < <%= controller_descends_from %>
81
91
  end
82
92
  format.js {}
83
93
  end
84
- end
94
+ end<% end %>
85
95
 
86
96
  def <%=singular_name%>_params
87
97
  params.require(:<%=singular_name%>).permit( <%= @columns %> )
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: common_core_js
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Fleetwood-Boldt
@@ -143,6 +143,7 @@ files:
143
143
  - app/assets/stylesheets/common_core_js/common_core.scss
144
144
  - app/controllers/common_core_js/application_controller.rb
145
145
  - app/helpers/common_core_helper.rb
146
+ - app/helpers/common_core_js/controller_helper.rb
146
147
  - app/jobs/common_core_js/application_job.rb
147
148
  - app/mailers/common_core_js/application_mailer.rb
148
149
  - app/models/common_core_js/application_record.rb
@@ -176,6 +177,7 @@ files:
176
177
  - lib/generators/common_core/templates/_list.haml
177
178
  - lib/generators/common_core/templates/_new.haml
178
179
  - lib/generators/common_core/templates/all.haml
180
+ - lib/generators/common_core/templates/base_controller.rb
179
181
  - lib/generators/common_core/templates/common_core.js
180
182
  - lib/generators/common_core/templates/common_core.scss
181
183
  - lib/generators/common_core/templates/controller.rb