qm-acts-as-generic-controller 0.1.3 → 0.1.5
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 +1 -1
- data/app/views/generic_controller/form.erb +32 -27
- metadata +4 -4
data/Rakefile
CHANGED
@@ -9,7 +9,7 @@ begin
|
|
9
9
|
gemspec.email = "marcin@saepia.net"
|
10
10
|
gemspec.homepage = "http://q.saepia.net"
|
11
11
|
gemspec.authors = ["Marcin Lewandowski"]
|
12
|
-
gemspec.version = "0.1.
|
12
|
+
gemspec.version = "0.1.5"
|
13
13
|
gemspec.files = Rake::FileList.new [ "MIT-LICENSE", "Rakefile", "lib/*", "app/views/generic_controller/*" ]
|
14
14
|
gemspec.add_dependency "qui-common-helpers", ">= 0.0.8"
|
15
15
|
gemspec.add_dependency "qui-index-table", ">= 0.0.8"
|
@@ -36,38 +36,43 @@
|
|
36
36
|
<li>
|
37
37
|
<%= f.label field[:name] %>
|
38
38
|
|
39
|
-
<%- if
|
40
|
-
<%=
|
39
|
+
<%- if field[:options].has_key? :renderer -%>
|
40
|
+
<%= send field[:options][:renderer], { :record => record, :field => field, :action => :form, :form => f } -%>
|
41
41
|
|
42
|
-
<%-
|
43
|
-
<%- if klass.
|
44
|
-
<%=
|
42
|
+
<%- else -%>
|
43
|
+
<%- if klass.is_enum?(field[:name]) -%>
|
44
|
+
<%= f.select field[:name], t("activerecord.enums.#{table_name}.#{field[:name]}").collect{|k,v| [v, k.to_s] }.sort{|x,y| x.last.to_i <=> y.last.to_i }, { :selected => params[table_name] ? params[table_name][field[:name]].to_s : f.object.send(field[:name]).to_s } %>
|
45
45
|
|
46
|
-
<%- elsif klass.generic_field_associations[field[:name]]
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
<%- case record.column_for_attribute(field[:name]).type -%>
|
53
|
-
<%- when :text -%>
|
54
|
-
<%= f.text_area field[:name], :rows => 5, :cols => 60 %>
|
55
|
-
<%- when :date, :datetime -%>
|
56
|
-
<%= f.calendar_date_select field[:name] %>
|
57
|
-
<%- when :boolean -%>
|
58
|
-
<span class="boolean">
|
59
|
-
<%= f.radio_button field[:name], "1", { :checked => params[table_name] && params[table_name].has_key?(field[:name]) ? params[table_name][field[:name]] == "1" : f.object.send(field[:name]) == true } %><%= f.label field[:name], t(:"genericController.yesAsBooleanOption"), { :for => "#{f.object.class.to_s.tableize.singularize}_#{field[:name]}_1" } %>
|
60
|
-
<%= f.radio_button field[:name], "0", { :checked => params[table_name] && params[table_name].has_key?(field[:name]) ? params[table_name][field[:name]] == "0" : f.object.send(field[:name]) == false } %><%= f.label field[:name], t(:"genericController.noAsBooleanOption"), { :for => "#{f.object.class.to_s.tableize.singularize}_#{field[:name]}_0" } %>
|
61
|
-
</span>
|
46
|
+
<%- elsif klass.generic_field_associations[field[:name]] -%>
|
47
|
+
<%- if klass.generic_field_associations[field[:name]][:kind] == :belongs_to -%>
|
48
|
+
<%= multiple_select :kind => :radio, :field => field, :record => record %>
|
49
|
+
|
50
|
+
<%- elsif klass.generic_field_associations[field[:name]][:kind] == :has_and_belongs_to_many or klass.generic_field_associations[field[:name]][:kind] == :has_many-%>
|
51
|
+
<%= multiple_select :kind => :check, :field => field, :record => record %>
|
62
52
|
|
63
|
-
<%-
|
53
|
+
<%- end -%>
|
64
54
|
|
65
|
-
|
66
|
-
|
67
|
-
|
55
|
+
<%- else -%>
|
56
|
+
<%- case record.column_for_attribute(field[:name]).type -%>
|
57
|
+
<%- when :text -%>
|
58
|
+
<%= f.text_area field[:name], :rows => 5, :cols => 60 %>
|
59
|
+
<%- when :date, :datetime -%>
|
60
|
+
<%= f.calendar_date_select field[:name] %>
|
61
|
+
<%- when :boolean -%>
|
62
|
+
<span class="boolean">
|
63
|
+
<%= f.radio_button field[:name], "1", { :checked => params[table_name] && params[table_name].has_key?(field[:name]) ? params[table_name][field[:name]] == "1" : f.object.send(field[:name]) == true } %><%= f.label field[:name], t(:"genericController.yesAsBooleanOption"), { :for => "#{f.object.class.to_s.tableize.singularize}_#{field[:name]}_1" } %>
|
64
|
+
<%= f.radio_button field[:name], "0", { :checked => params[table_name] && params[table_name].has_key?(field[:name]) ? params[table_name][field[:name]] == "0" : f.object.send(field[:name]) == false } %><%= f.label field[:name], t(:"genericController.noAsBooleanOption"), { :for => "#{f.object.class.to_s.tableize.singularize}_#{field[:name]}_0" } %>
|
65
|
+
</span>
|
66
|
+
|
68
67
|
<%- else -%>
|
69
|
-
|
70
|
-
|
68
|
+
|
69
|
+
<%- if record.respond_to?(field[:name]) and record.respond_to?("#{field[:name]}_file_name") and record.respond_to?("#{field[:name]}_content_type") -%>
|
70
|
+
<%= f.file_field field[:name] %>
|
71
|
+
|
72
|
+
<%- else -%>
|
73
|
+
<%= f.text_field field[:name] %>
|
74
|
+
<%- end -%>
|
75
|
+
<%- end -%>
|
71
76
|
<%- end -%>
|
72
77
|
<%- end -%>
|
73
78
|
</li>
|
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: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 5
|
10
|
+
version: 0.1.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Marcin Lewandowski
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-10-
|
18
|
+
date: 2010-10-28 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|