inline_forms 6.0.5 → 6.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/inline_forms/inline_forms.js +1 -0
- data/app/controllers/inline_forms_application_controller.rb +2 -2
- data/app/controllers/inline_forms_controller.rb +35 -38
- data/app/helpers/inline_forms_helper.rb +36 -28
- data/app/models/concerns/inline_forms/soft_deletable.rb +7 -7
- data/app/views/inline_forms/_close.html.erb +2 -1
- data/app/views/inline_forms/_header.html.erb +1 -1
- data/app/views/inline_forms/_list.html.erb +2 -1
- data/app/views/inline_forms/_new.html.erb +1 -1
- data/app/views/inline_forms/_show.html.erb +1 -1
- data/app/views/inline_forms/_versions_list.html.erb +5 -2
- data/app/views/inline_forms/record_destroyed.js.erb +1 -0
- data/bin/inline_forms_installer_core.rb +1 -0
- data/lib/inline_forms/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7699a366575cf2f80d88f82690e4fa35a745ab62
|
4
|
+
data.tar.gz: 2302ad5c8577598ab406f600c4e58da9767557ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a57adab713ef09d53421d2bb3252518eaee1945652f5f5c8698b830cb3d218c9754d3c3039588b272800b2f59a1f791af50181969bfcd93e532d75d358f46b9e
|
7
|
+
data.tar.gz: 99c0ca10e136ab2242836488d20ead84b3fc04f327a8c344d6b90b62f10b5ccefdcda8ee5f7a92d45b6fe6f97e2e65cc07853cb149c3f165892ac85b5b29df4c
|
@@ -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, @
|
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
|
-
# :
|
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
|
-
|
189
|
-
|
190
|
-
|
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 :
|
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
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
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
|
-
#
|
34
|
-
def
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
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.
|
54
|
-
elsif !object.deleted? && (cancan_disabled? || ( can? :
|
55
|
-
link_to "<i class='fi-trash'></i>".html_safe,
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
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 " <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
|
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
|
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) + (" " * 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
|
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? :
|
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,
|
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? :
|
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, @
|
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
|
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-
|
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'
|
data/lib/inline_forms/version.rb
CHANGED
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.
|
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:
|
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
|