qm-acts-as-generic-controller 0.1.18 → 0.1.19
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.
data/Rakefile
CHANGED
@@ -10,7 +10,7 @@ begin
|
|
10
10
|
gemspec.email = "marcin@saepia.net"
|
11
11
|
gemspec.homepage = "http://q.saepia.net"
|
12
12
|
gemspec.authors = ["Marcin Lewandowski"]
|
13
|
-
gemspec.version = "0.1.
|
13
|
+
gemspec.version = "0.1.19"
|
14
14
|
gemspec.files = Rake::FileList.new [ "MIT-LICENSE", "Rakefile", "lib/*", "app/views/generic_controller/*" ]
|
15
15
|
gemspec.add_dependency "qui-common-helpers", ">= 0.0.8"
|
16
16
|
gemspec.add_dependency "qui-index-table", ">= 0.0.8"
|
@@ -18,6 +18,14 @@
|
|
18
18
|
<%= hidden_field_tag :association_attribute_value, params[:association_attribute_value] %>
|
19
19
|
<%- end -%>
|
20
20
|
|
21
|
+
<%- if klass.respond_to? "document?" and klass.document? and params[:scan_original_id] -%>
|
22
|
+
<%= hidden_field_tag :scan_original_id, params[:scan_original_id] %>
|
23
|
+
|
24
|
+
<%- content_tag :div, :class => "dialog notice" do -%>
|
25
|
+
<%= image_tag("actions/document_scan.png", :alt => "") %> Załączono skan dokumentu
|
26
|
+
<%- end -%>
|
27
|
+
<%- end -%>
|
28
|
+
|
21
29
|
<%= f.error_messages %>
|
22
30
|
<%- unless klass.generic_form_fieldsets -%>
|
23
31
|
<fieldset>
|
@@ -92,72 +92,86 @@ module QM
|
|
92
92
|
end
|
93
93
|
|
94
94
|
def create
|
95
|
-
|
95
|
+
model.transaction do
|
96
|
+
if model.respond_to? "document?" and model.document? and params[:scan_original_id]
|
97
|
+
document = Document.find(params[:scan_original_id])
|
98
|
+
logger.info document.inspect
|
99
|
+
end
|
96
100
|
|
97
|
-
|
98
|
-
|
99
|
-
save_creator
|
100
|
-
save_updator
|
101
|
+
remove_unprivileged_keys_from_params
|
101
102
|
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
103
|
+
instance_variable_set(singular_variable, model.new(params[singular_variable(true)])) unless instance_variable_defined?(singular_variable)
|
104
|
+
|
105
|
+
if document
|
106
|
+
document.send("#{model.to_s.tableize.singularize}=", instance_variable_get(singular_variable))
|
107
|
+
logger.info document.inspect
|
108
|
+
document.save
|
109
|
+
end
|
110
|
+
|
111
|
+
save_creator
|
112
|
+
save_updator
|
113
|
+
|
114
|
+
|
115
|
+
respond_to do |format|
|
116
|
+
if instance_variable_get(singular_variable).save
|
117
|
+
flash[:notice] = :savedAsFlash
|
118
|
+
if defined?(section)
|
119
|
+
format.html {
|
120
|
+
if params[:commit_and_create]
|
121
|
+
if params[:association_attribute_name] and params[:association_attribute_value]
|
122
|
+
redirect_to polymorphic_url([ "new", section, model.table_name.singularize ], :association_attribute => params[:association_attribute_name], params[:association_attribute_name] => params[:association_attribute_value])
|
123
|
+
else
|
124
|
+
redirect_to polymorphic_url([ "new", section, model.table_name.singularize ])
|
125
|
+
|
126
|
+
end
|
110
127
|
else
|
111
|
-
redirect_to
|
112
|
-
|
128
|
+
redirect_to [ section, instance_variable_get(singular_variable) ]
|
113
129
|
end
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
}
|
118
|
-
|
119
|
-
format.xml { render :xml => instance_variable_get(singular_variable).to_xml(:only => current_user_xml_privileged_attributes), :status => :created, :location => [ section, instance_variable_get(singular_variable) ] }
|
130
|
+
}
|
131
|
+
|
132
|
+
format.xml { render :xml => instance_variable_get(singular_variable).to_xml(:only => current_user_xml_privileged_attributes), :status => :created, :location => [ section, instance_variable_get(singular_variable) ] }
|
120
133
|
|
121
134
|
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
135
|
+
else
|
136
|
+
format.html {
|
137
|
+
if params[:commit_and_create]
|
138
|
+
if params[:association_attribute_name] and params[:association_attribute_value]
|
139
|
+
redirect_to polymorphic_url([ "new", model.table_name.singularize ], :association_attribute => params[:association_attribute_name], params[:association_attribute_name] => params[:association_attribute_value])
|
140
|
+
else
|
141
|
+
redirect_to polymorphic_url([ "new", model.table_name.singularize ])
|
142
|
+
end
|
143
|
+
|
127
144
|
else
|
128
|
-
redirect_to
|
145
|
+
redirect_to instance_variable_get(singular_variable)
|
129
146
|
end
|
130
|
-
|
131
|
-
else
|
132
|
-
redirect_to instance_variable_get(singular_variable)
|
133
|
-
end
|
134
147
|
|
135
|
-
|
136
|
-
|
148
|
+
}
|
149
|
+
|
150
|
+
format.xml {
|
151
|
+
if defined?(current_user) and current_user.respond_to? :privileged_attributes
|
152
|
+
render :xml => instance_variable_get(singular_variable).to_xml(:only => current_user_xml_privileged_attributes), :status => :created, :location => instance_variable_get(singular_variable)
|
153
|
+
else
|
154
|
+
render :xml => instance_variable_get(singular_variable).to_xml(:only => current_user_xml_privileged_attributes), :status => :created, :location => instance_variable_get(singular_variable)
|
155
|
+
end
|
156
|
+
}
|
157
|
+
end
|
158
|
+
else
|
159
|
+
format.html {
|
160
|
+
begin
|
161
|
+
render :action => "new"
|
162
|
+
|
163
|
+
rescue ActionView::MissingTemplate
|
164
|
+
render :template => "generic_controller/form"
|
165
|
+
end
|
166
|
+
}
|
137
167
|
format.xml {
|
138
168
|
if defined?(current_user) and current_user.respond_to? :privileged_attributes
|
139
|
-
render :xml => instance_variable_get(singular_variable).to_xml(:only => current_user_xml_privileged_attributes), :status => :
|
169
|
+
render :xml => instance_variable_get(singular_variable).to_xml(:only => current_user_xml_privileged_attributes), :status => :unprocessable_entity
|
140
170
|
else
|
141
|
-
render :xml => instance_variable_get(singular_variable)
|
171
|
+
render :xml => instance_variable_get(singular_variable), :status => :unprocessable_entity
|
142
172
|
end
|
143
173
|
}
|
144
174
|
end
|
145
|
-
else
|
146
|
-
format.html {
|
147
|
-
begin
|
148
|
-
render :action => "new"
|
149
|
-
|
150
|
-
rescue ActionView::MissingTemplate
|
151
|
-
render :template => "generic_controller/form"
|
152
|
-
end
|
153
|
-
}
|
154
|
-
format.xml {
|
155
|
-
if defined?(current_user) and current_user.respond_to? :privileged_attributes
|
156
|
-
render :xml => instance_variable_get(singular_variable).to_xml(:only => current_user_xml_privileged_attributes), :status => :unprocessable_entity
|
157
|
-
else
|
158
|
-
render :xml => instance_variable_get(singular_variable), :status => :unprocessable_entity
|
159
|
-
end
|
160
|
-
}
|
161
175
|
end
|
162
176
|
end
|
163
177
|
end
|
@@ -12,7 +12,15 @@ module QM
|
|
12
12
|
raise ArgumentError, "You must pass options[:user] to limit_with_security_scheme" unless options.has_key? :user
|
13
13
|
|
14
14
|
# Return empty set if user has no privileges at all (nor index_any and index_created)
|
15
|
-
|
15
|
+
unless options[:user].has_privileges?(:class_name => self, :generic_action => :index_any) or options[:user].has_privileges?(:class_name => self, :generic_action => :index_created)
|
16
|
+
# puts ":("
|
17
|
+
# puts options[:user].inspect
|
18
|
+
# puts self
|
19
|
+
# puts options[:user].has_privileges?(:class_name => self, :generic_action => :index_any)
|
20
|
+
# puts options[:user].has_privileges?(:class_name => self, :generic_action => :index_created)
|
21
|
+
# puts options[:user].has_privileges?(:class_name => self, :generic_action => :index_any) or options[:user].has_privileges?(:class_name => self, :generic_action => :index_created)
|
22
|
+
return []
|
23
|
+
end
|
16
24
|
|
17
25
|
creator_column = "creator_#{options[:user].class.to_s.tableize.singularize}_id"
|
18
26
|
should_limit_index_for_created = columns_hash.has_key?(creator_column) && options[:user].respond_to?(:has_privileges?) && !options[:user].has_privileges?(:class_name => self, :generic_action => :index_any) && options[:user].has_privileges?(:class_name => self, :generic_action => :index_created)
|
@@ -85,6 +93,8 @@ module QM
|
|
85
93
|
@named_scopes[name.to_sym] = options.dup
|
86
94
|
|
87
95
|
options.delete(:generic) if options.is_a? Hash
|
96
|
+
|
97
|
+
options[:block] = block if block
|
88
98
|
|
89
99
|
super name, options, &block
|
90
100
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qm-acts-as-generic-controller
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 61
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 19
|
10
|
+
version: 0.1.19
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Marcin Lewandowski
|