dynamic_scaffold 1.4.0 → 1.6.0
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 +4 -4
- data/app/views/dynamic_scaffold/bootstrap/_list.html.erb +1 -1
- data/app/views/dynamic_scaffold/bootstrap/form/_row.html.erb +2 -2
- data/lib/dynamic_scaffold/controller.rb +22 -4
- data/lib/dynamic_scaffold/form/item/base.rb +5 -1
- data/lib/dynamic_scaffold/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c38dbab86d238886a3fc797a81804715a0b4299473cda34cbee0878f6c17500e
|
4
|
+
data.tar.gz: 9a2c173022936a56a7d6af715d60c71accadf070c9d34698af8a2512c841ee07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93cc76ad613015794c0cdbb260e0d2e94c5246997bbadffa9d89c18839224439f7101ab6ccafa42b1e740aa57288888db93a8fa87ff1ea6430404606b773c537
|
7
|
+
data.tar.gz: 842c32cce00a22e526bb1db3f9adc5f017ec188e5b8fd2ec0a91c693e999fc5e46de3272b80884cad0b60c27138afe31e17faeb89477540f905cabcd8ed77a53
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%unless flash[:dynamic_scaffold_danger].nil? -%>
|
2
2
|
<div class="alert alert-danger" role="alert">
|
3
|
-
|
3
|
+
<%== flash[:dynamic_scaffold_danger] %>
|
4
4
|
</div>
|
5
5
|
<%end%>
|
6
6
|
<input type="hidden" class="authenticity_param_name" value="<%= request_forgery_protection_token %>">
|
@@ -3,9 +3,9 @@
|
|
3
3
|
<%= elem.render(self, form) %>
|
4
4
|
<% else %>
|
5
5
|
<%- errors = elem.errors(form) -%>
|
6
|
-
<div class="<%= class_names('form-group', 'has-error': errors.present?) %>">
|
6
|
+
<div class="<%= class_names('form-group', 'has-error': errors.present?) %>" data-name="<%= elem.unique_name %>">
|
7
7
|
<%= elem.render_label(self, depth) %>
|
8
|
-
<div>
|
8
|
+
<div class="ds-form-item">
|
9
9
|
<%- elem.insert(:before).each do |block| -%>
|
10
10
|
<%= self.instance_exec(@record, &block) %>
|
11
11
|
<%-end-%>
|
@@ -77,13 +77,28 @@ module DynamicScaffold
|
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
80
|
-
def update
|
80
|
+
def update # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
81
81
|
values = update_values
|
82
82
|
@record = find_record(dynamic_scaffold.model.primary_key => params['id'])
|
83
|
-
|
83
|
+
datetime_select_keys = []
|
84
|
+
prev_values = values.keys.map do |k|
|
85
|
+
# handle paramters like `start_time(1i)`
|
86
|
+
match = k.match(/(.*?)\(\d+i\)/)
|
87
|
+
if match
|
88
|
+
next if datetime_select_keys.include?(match[1])
|
89
|
+
|
90
|
+
datetime_select_keys << k = match[1]
|
91
|
+
end
|
92
|
+
|
93
|
+
# globalize
|
94
|
+
next [:translations_attributes, @record.translations] if k == 'translations_attributes'
|
95
|
+
|
96
|
+
[k, @record.public_send(k)]
|
97
|
+
end.compact.to_h.with_indifferent_access
|
98
|
+
|
84
99
|
@record.attributes = values
|
85
100
|
dynamic_scaffold.model.transaction do
|
86
|
-
yield(@record,
|
101
|
+
yield(@record, prev_values) if block_given?
|
87
102
|
if @record.save
|
88
103
|
redirect_to dynamic_scaffold_path(:index, request_queries)
|
89
104
|
else
|
@@ -92,7 +107,7 @@ module DynamicScaffold
|
|
92
107
|
end
|
93
108
|
end
|
94
109
|
|
95
|
-
def destroy
|
110
|
+
def destroy # rubocop:disable Metrics/AbcSize
|
96
111
|
# `Destroy` also does not support multiple primary keys too.
|
97
112
|
record = find_record(dynamic_scaffold.model.primary_key => params['id'])
|
98
113
|
begin
|
@@ -107,6 +122,9 @@ module DynamicScaffold
|
|
107
122
|
flash[:dynamic_scaffold_danger] = I18n.t('dynamic_scaffold.alert.destroy.failed')
|
108
123
|
logger.error(e)
|
109
124
|
end
|
125
|
+
|
126
|
+
flash[:dynamic_scaffold_danger] = record.errors[:base].join('<br>') if record.errors[:base].any?
|
127
|
+
|
110
128
|
redirect_to dynamic_scaffold_path(:index, request_queries)
|
111
129
|
end
|
112
130
|
|
@@ -31,6 +31,10 @@ module DynamicScaffold
|
|
31
31
|
@label_block = nil
|
32
32
|
end
|
33
33
|
|
34
|
+
def unique_name
|
35
|
+
"#{@config.model.table_name}_#{name}"
|
36
|
+
end
|
37
|
+
|
34
38
|
def notes?
|
35
39
|
!@notes.empty?
|
36
40
|
end
|
@@ -95,7 +99,7 @@ module DynamicScaffold
|
|
95
99
|
# return label unless label.nil?
|
96
100
|
# end
|
97
101
|
|
98
|
-
view.tag.label(proxy_field.label, label_attrs)
|
102
|
+
view.tag.label(proxy_field.label, label_attrs) if proxy_field.label.present?
|
99
103
|
end
|
100
104
|
|
101
105
|
def extract_parameters(permitting)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynamic_scaffold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masamoto Miyata
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: classnames-rails-view
|