inline_forms 6.0.5 → 6.1.1

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
  SHA1:
3
- metadata.gz: b7294976b3ac09b7775c3a0a36925ce4ccb4f73f
4
- data.tar.gz: 945113c29e712687c341ef479de35d5242096fca
3
+ metadata.gz: 7699a366575cf2f80d88f82690e4fa35a745ab62
4
+ data.tar.gz: 2302ad5c8577598ab406f600c4e58da9767557ee
5
5
  SHA512:
6
- metadata.gz: 68737c524ed39ab962da6e43b95ba051e453795dd7f03add546a1145eb44cbda13a7204c786649313fdcec04de70b96001b06f729e34aec55518d2fccef8fe04
7
- data.tar.gz: 2df74e31c2ee0b47e6d0d38c565cf889812e58c60ed851661db018b2140bb8955f2d084157c0c707a9b8086a8529953a691cc5098aa933c04e22f6a4e0d15a64
6
+ metadata.gz: a57adab713ef09d53421d2bb3252518eaee1945652f5f5c8698b830cb3d218c9754d3c3039588b272800b2f59a1f791af50181969bfcd93e532d75d358f46b9e
7
+ data.tar.gz: 99c0ca10e136ab2242836488d20ead84b3fc04f327a8c344d6b90b62f10b5ccefdcda8ee5f7a92d45b6fe6f97e2e65cc07853cb149c3f165892ac85b5b29df4c
@@ -4,6 +4,7 @@
4
4
  //= require jquery.timepicker.js
5
5
  //= require foundation
6
6
  //= require jquery.remotipart
7
+ //= require autocomplete-rails
7
8
 
8
9
  $(function(){ $(document).foundation(); });
9
10
  // initialize datepickers
@@ -2,7 +2,7 @@
2
2
  class InlineFormsApplicationController < ActionController::Base
3
3
  protect_from_forgery
4
4
  layout 'devise' if :devise_controller?
5
-
5
+
6
6
  # limit available locales by setting this. Override in applicaton_controller.
7
7
  I18n.available_locales = [ :en, :nl, :pp ]
8
8
 
@@ -10,7 +10,7 @@ class InlineFormsApplicationController < ActionController::Base
10
10
  def set_locale
11
11
  I18n.locale = extract_locale_from_subdomain || I18n.default_locale
12
12
  end
13
-
13
+
14
14
  # Get locale code from request subdomain (like http://it.application.local:3000)
15
15
  def extract_locale_from_subdomain
16
16
  locale = request.subdomains.first
@@ -95,7 +95,7 @@ class InlineFormsController < ApplicationController
95
95
  @update_span = params[:update]
96
96
  attributes = @inline_forms_attribute_list || @object.inline_forms_attribute_list
97
97
  attributes.each do | attribute, name, form_element |
98
- send("#{form_element.to_s}_update", @object, attribute) unless form_element == :tree || form_element == :associated || (cancan_enabled? && cannot?(:read, @Klass.to_s.underscore.pluralize.to_sym, attribute))
98
+ send("#{form_element.to_s}_update", @object, attribute) unless form_element == :tree || form_element == :associated || (cancan_enabled? && cannot?(:read, @object, attribute))
99
99
  end
100
100
  @parent_class = params[:parent_class]
101
101
  @parent_id = params[:parent_id]
@@ -180,29 +180,41 @@ class InlineFormsController < ApplicationController
180
180
  end
181
181
  end
182
182
 
183
- # :destroy destroys the record, but also shows an undo link (with paper_trail)
183
+ # :soft_delete
184
+ def soft_delete
185
+ @update_span = params[:update]
186
+ @object = referenced_object
187
+ # destroy the object
188
+ @object.soft_delete(current_user)
189
+ respond_to do |format|
190
+ format.html { } unless @Klass.not_accessible_through_html?
191
+ format.js { render :close }
192
+ end
193
+ end
194
+
195
+ # :soft_restore
196
+ def soft_restore
197
+ @update_span = params[:update]
198
+ @object = referenced_object
199
+ # restore the object
200
+ @object.soft_restore
201
+ respond_to do |format|
202
+ format.html { } unless @Klass.not_accessible_through_html?
203
+ format.js { render :close }
204
+ end
205
+ end
206
+
207
+ # :destroy destroys the record. There is no undo!
184
208
  def destroy
185
209
  @update_span = params[:update]
186
210
  @object = referenced_object
187
211
  if current_user.role? :superadmin
188
- if (@Klass.soft_deletable? rescue false)
189
- @object.soft_delete(current_user)
190
- respond_to do |format|
191
- format.html { } unless @Klass.not_accessible_through_html?
192
- format.js { render :close }
193
- end
194
- elsif
195
- @object.destroy
196
- respond_to do |format|
197
- format.html { } unless @Klass.not_accessible_through_html?
198
- format.js { render :show_undo }
199
- end
200
- end
201
- elsif (@Klass.soft_deletable? rescue false)
202
- @object.soft_delete(current_user)
212
+ # destroy the object
213
+ @undo_object = @object.versions.last
214
+ @object.destroy
203
215
  respond_to do |format|
204
216
  format.html { } unless @Klass.not_accessible_through_html?
205
- format.js { render :close }
217
+ format.js { render :record_destroyed }
206
218
  end
207
219
  end
208
220
  end
@@ -211,27 +223,12 @@ class InlineFormsController < ApplicationController
211
223
  # Thanks Ryan Bates: http://railscasts.com/episodes/255-undo-with-paper-trail
212
224
  def revert
213
225
  @update_span = params[:update]
226
+ @object = referenced_object
214
227
  if current_user.role? :superadmin
215
- if (@Klass.soft_deletable? rescue false)
216
- @object = referenced_object
217
- @object.soft_restore
218
- respond_to do |format|
219
- format.html { } unless @Klass.not_accessible_through_html?
220
- format.js { render :close }
221
- end
222
- elsif
223
- @version = PaperTrail::Version.find(params[:id])
224
- @version.reify.save!
225
- @object = @Klass.find(@version.item_id)
226
- authorize!(:revert, @object) if cancan_enabled?
227
- respond_to do |format|
228
- format.html { } unless @Klass.not_accessible_through_html?
229
- format.js { render :close }
230
- end
231
- end
232
- elsif (@Klass.soft_deletable? rescue false)
233
- @object = referenced_object
234
- @object.soft_restore
228
+ @version = PaperTrail::Version.find(params[:id])
229
+ @version.reify.save!
230
+ @object = @Klass.find(@version.item_id)
231
+ authorize!(:revert, @object) if cancan_enabled?
235
232
  respond_to do |format|
236
233
  format.html { } unless @Klass.not_accessible_through_html?
237
234
  format.js { render :close }
@@ -30,37 +30,44 @@ module InlineFormsHelper
30
30
  :title => t('inline_forms.view.close')
31
31
  end
32
32
 
33
- # destroy link
34
- def link_to_destroy( object, update_span )
35
- if current_user.role? :superadmin
36
- if cancan_disabled? || ( can? :delete, object )
37
- link_to "<i class='fi-trash'></i>".html_safe,
38
- send( object.class.to_s.underscore + '_path',
39
- object,
40
- :update => update_span ),
41
- :method => :delete,
42
- :remote => true,
43
- :title => t('inline_forms.view.trash')
44
- end
45
- elsif (object.class.safe_deletable? rescue false)
46
- if object.deleted? && (cancan_disabled? || ( can? :revert, object ))
47
- link_to "undelete".html_safe,
48
- send( 'revert_' + object.class.to_s.underscore + '_path',
33
+ # delete link. Mind the difference between delete and destroy.
34
+ def link_to_soft_delete( object, update_span )
35
+ soft=''
36
+ if (object.soft_deletable? rescue false)
37
+ if object.deleted? && (cancan_disabled? || ( can? :soft_restore, object ))
38
+ soft = link_to "<i class='fi-refresh'></i>".html_safe,
39
+ send( 'soft_restore_' + object.class.to_s.underscore + '_path',
49
40
  object,
50
41
  :update => update_span ),
51
42
  :method => :post,
52
43
  :remote => true,
53
- :title => t('inline_forms.view.trash')
54
- elsif !object.deleted? && (cancan_disabled? || ( can? :delete, object ))
55
- link_to "<i class='fi-trash'></i>".html_safe,
56
- send( object.class.to_s.underscore + '_path',
57
- object,
58
- :update => update_span ),
59
- :method => :delete,
60
- :remote => true,
61
- :title => t('inline_forms.view.trash')
44
+ :title => t('inline_forms.view.undelete')
45
+ elsif !object.deleted? && (cancan_disabled? || ( can? :soft_delete, object ))
46
+ soft = link_to "<i class='fi-trash'></i>".html_safe,
47
+ send( 'soft_delete_' + object.class.to_s.underscore + '_path',
48
+ object,
49
+ :update => update_span ),
50
+ :method => :post,
51
+ :remote => true,
52
+ :title => t('inline_forms.view.trash')
62
53
  end
63
54
  end
55
+ soft.html_safe
56
+ end
57
+
58
+ # destroy link. Mind the difference between delete and destroy.
59
+ def link_to_destroy( object, update_span )
60
+ hard=''
61
+ if cancan_disabled? || ( can? :destroy, object )
62
+ hard = link_to "&nbsp;&nbsp;<font color='FF0000'><i class='fi-x'></i></font>".html_safe,
63
+ send( object.class.to_s.underscore + '_path',
64
+ object,
65
+ :update => update_span ),
66
+ :method => :delete,
67
+ :remote => true,
68
+ :title => t('inline_forms.view.trash')
69
+ end
70
+ hard.html_safe
64
71
  end
65
72
 
66
73
  # new link
@@ -76,7 +83,7 @@ module InlineFormsHelper
76
83
  :title => t('inline_forms.view.add_new', :model => model.model_name.human )
77
84
  )
78
85
  if cancan_enabled?
79
- if can? :create, model.to_s.pluralize.underscore.to_sym
86
+ if can? :create, model
80
87
  if parent_class.nil?
81
88
  raw out
82
89
  else
@@ -99,7 +106,7 @@ module InlineFormsHelper
99
106
  :class => html_class,
100
107
  :title => t('inline_forms.view.list_versions')
101
108
  )
102
- if can? :list_versions, object.class.name.pluralize.underscore.to_sym
109
+ if can? :list_versions, object
103
110
  raw out
104
111
  end
105
112
  end
@@ -123,7 +130,8 @@ module InlineFormsHelper
123
130
  spaces = attribute_value.length > 40 ? 0 : 40 - attribute_value.length
124
131
  value = h(attribute_value) + ("&nbsp;" * spaces).html_safe
125
132
  css_class_id = "#{object.class.to_s.underscore}_#{object.id}_#{attribute}"
126
- if cancan_disabled? || ( can? :update, object, attribute )
133
+ if (cancan_disabled? rescue true) || ( can? :update, object, attribute )
134
+ # some problem with concerns makes this function not available when called direct. FIXME
127
135
  link_to value,
128
136
  send( 'edit_' + object.class.to_s.underscore + '_path',
129
137
  object,
@@ -14,21 +14,21 @@ module InlineForms::SoftDeletable
14
14
  # end
15
15
  # end
16
16
 
17
- def self.soft_deletable?
17
+ def soft_deletable?
18
18
  true
19
19
  end
20
20
 
21
21
  def soft_delete(current_user)
22
- deleted = 2
23
- deleter = current_user
24
- deleted_at = Time.current
22
+ self.deleted = 2
23
+ self.deleter = current_user
24
+ self.deleted_at = Time.current
25
25
  save
26
26
  end
27
27
 
28
28
  def soft_restore
29
- deleted = 1
30
- deleted_by = nil
31
- deleted_at = nil
29
+ self.deleted = 1
30
+ self.deleted_by = nil
31
+ self.deleted_at = nil
32
32
  save
33
33
  end
34
34
 
@@ -1,5 +1,6 @@
1
- <% if cancan_disabled? || ( can? :delete, @object ) %>
1
+ <% if cancan_disabled? || ( can? :soft_delete, @object ) %>
2
2
  <div class="small-1 column">
3
+ <%= link_to_soft_delete(@object, @update_span) -%>
3
4
  <%= link_to_destroy(@object, @update_span) -%>
4
5
  </div>
5
6
  <div class="small-11 column">
@@ -22,7 +22,7 @@
22
22
  <% MODEL_TABS.each do |m| %>
23
23
  <% model = m.singularize.camelcase.constantize rescue nil %>
24
24
  <% unless model.nil? || model.not_accessible_through_html? %>
25
- <% if can? :update, m.to_sym %>
25
+ <% if can? :update, model %>
26
26
  <li>
27
27
  <%= link_to model.model_name.human, '/' + m %>
28
28
  </li>
@@ -53,8 +53,9 @@
53
53
  <% path_to_object = attribute.to_s.singularize.underscore + "_path" %>
54
54
  <% end %>
55
55
  <div class="row <%= cycle('odd', 'even') %><%= " top-level" if parent_class.nil? %>" id="<%= css_class_id -%>">
56
- <% if cancan_disabled? || ( can? :delete, object ) %>
56
+ <% if cancan_disabled? || ( can? :soft_delete, object ) %>
57
57
  <div class="small-1 column">
58
+ <%= link_to_soft_delete(object, css_class_id) -%>
58
59
  <%= link_to_destroy(object, css_class_id) -%>
59
60
  </div>
60
61
  <div class="small-11 column">
@@ -23,7 +23,7 @@
23
23
  :multipart => true, :remote => true, :class => "edit_form" do -%>
24
24
  <% attributes = @inline_forms_attribute_list || @object.inline_forms_attribute_list -%>
25
25
  <% attributes.each do | attribute, name, form_element | -%>
26
- <% unless form_element.to_sym == :associated || form_element.to_sym == :tree || (cancan_enabled? && cannot?(:read, @Klass.to_s.underscore.pluralize.to_sym, attribute)) -%>
26
+ <% unless form_element.to_sym == :associated || form_element.to_sym == :tree || (cancan_enabled? && cannot?(:read, @object, attribute)) -%>
27
27
  <% css_class_id = "attribute_#{attribute}_#{@object.id}" -%>
28
28
  <% if form_element && form_element.to_sym == :header %>
29
29
  <div class="row form_element_header" >
@@ -115,7 +115,7 @@
115
115
  <% end %>
116
116
  <% end %>
117
117
  <% end %>
118
- <% if can? :list_versions, @object.class.name.pluralize.underscore.to_sym %>
118
+ <% if can? :list_versions, @object %>
119
119
  <% css_class_id = "#{@object.class.name.underscore}_#{@object.id}_versions" -%>
120
120
  <div id="<%= css_class_id -%>">
121
121
  <%= render 'versions' %>
@@ -44,11 +44,14 @@
44
44
  <div class="small-1 column">
45
45
  <%= version.event -%>
46
46
  </div>
47
+ <div class="small-2 column">
48
+ <%= version.created_at -%>
49
+ </div>
47
50
  <div class="small-2 column">
48
51
  <%= version_modified_by version.whodunnit -%>
49
52
  </div>
50
- <div class="small-8 column">
51
- <% if version.changeset.empty? %>
53
+ <div class="small-6 column">
54
+ <% if version.changeset.nil? || version.changeset.empty? %>
52
55
  <em>empty</em>
53
56
  <% else %>
54
57
  <% version.changeset.each do |attribute, value| %>
@@ -0,0 +1 @@
1
+ $('#<%= @update_span %>').fadeOut("slow")
@@ -10,6 +10,7 @@ gem 'ckeditor', git: 'https://github.com/galetahub/ckeditor'
10
10
  #gem 'bootsnap', require: false
11
11
  gem 'coffee-rails'
12
12
  #gem 'compass-rails'
13
+ gem 'rails-jquery-autocomplete'
13
14
  gem 'devise'
14
15
  gem 'foundation-icons-sass-rails'
15
16
  gem 'foundation-rails', '~> 5.5'
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module InlineForms
3
- VERSION = "6.0.5"
3
+ VERSION = "6.1.1"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inline_forms
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.5
4
+ version: 6.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ace Suares
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-06-10 00:00:00.000000000 Z
13
+ date: 2021-01-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rvm
@@ -246,6 +246,7 @@ files:
246
246
  - app/views/inline_forms/extract_translations.erb
247
247
  - app/views/inline_forms/list.js.erb
248
248
  - app/views/inline_forms/new.js.erb
249
+ - app/views/inline_forms/record_destroyed.js.erb
249
250
  - app/views/inline_forms/show.js.erb
250
251
  - app/views/inline_forms/show_element.js.erb
251
252
  - app/views/inline_forms/show_undo.js.erb