common_core_js 0.3.6 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
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