drg_cms 0.7.0.2 → 0.7.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 +4 -4
- data/app/assets/javascripts/drg_cms/drg_cms.js +110 -35
- data/app/assets/javascripts/drg_cms/jquery.bpopup.js +372 -0
- data/app/assets/javascripts/drg_cms_application.js +1 -1
- data/app/assets/javascripts/drg_cms_cms.js +1 -1
- data/app/assets/stylesheets/drg_cms/drg_cms.css +126 -36
- data/app/assets/stylesheets/drg_cms/select-multiple.css +6 -7
- data/app/controllers/cmsedit_controller.rb +78 -47
- data/app/controllers/dc_application_controller.rb +22 -25
- data/app/controllers/dc_common_controller.rb +9 -6
- data/app/controllers/dc_main_controller.rb +0 -1
- data/app/controls/{dc_category_control.rb → dc_gallery_control.rb} +15 -30
- data/app/controls/dc_image_control.rb +180 -0
- data/app/controls/dc_page_control.rb +3 -3
- data/app/controls/dc_poll_result_control.rb +38 -39
- data/app/controls/dc_report.rb +9 -4
- data/app/controls/dc_setup_control.rb +53 -0
- data/app/controls/design_element_settings_control.rb +88 -37
- data/app/forms/all_options.yml +20 -9
- data/app/forms/cms_menu.yml +14 -2
- data/app/forms/dc_gallery.yml +1 -1
- data/app/forms/dc_image.yml +122 -0
- data/app/forms/dc_image_search.yml +72 -0
- data/app/forms/dc_page.yml +11 -8
- data/app/forms/dc_poll.yml +2 -1
- data/app/forms/dc_poll_result.yml +10 -7
- data/app/forms/dc_setup.yml +45 -0
- data/app/forms/dc_steps_template.yml +6 -2
- data/app/helpers/cms_common_helper.rb +36 -24
- data/app/helpers/cms_edit_helper.rb +26 -33
- data/app/helpers/cms_helper.rb +29 -12
- data/app/helpers/cms_index_helper.rb +109 -80
- data/app/helpers/dc_application_helper.rb +108 -86
- data/app/helpers/dc_image_helper.rb +127 -0
- data/app/models/concerns/dc_policy_rule_concern.rb +1 -1
- data/app/models/concerns/dc_user_concern.rb +13 -5
- data/app/models/dc_big_table.rb +1 -1
- data/app/models/dc_category.rb +12 -0
- data/app/models/dc_design.rb +5 -4
- data/app/models/dc_filter.rb +24 -27
- data/app/models/dc_image.rb +237 -0
- data/app/models/dc_internals.rb +5 -9
- data/app/models/dc_memory.rb +2 -2
- data/app/models/dc_policy_role.rb +8 -8
- data/app/models/dc_setup.rb +111 -0
- data/app/models/drgcms_form_fields/datetime_picker.rb +1 -1
- data/app/models/drgcms_form_fields/drgcms_field.rb +9 -26
- data/app/models/drgcms_form_fields/embedded.rb +28 -17
- data/app/models/drgcms_form_fields/journal_diff.rb +2 -2
- data/app/models/drgcms_form_fields/multitext_autocomplete.rb +88 -76
- data/app/models/drgcms_form_fields/select.rb +41 -19
- data/app/models/drgcms_form_fields/text_with_select.rb +5 -9
- data/app/renderers/dc_big_menu_renderer.rb +18 -20
- data/app/renderers/dc_gallery_renderer.rb +10 -4
- data/app/renderers/dc_menu_renderer.rb +21 -58
- data/app/renderers/dc_page_renderer.rb +7 -7
- data/app/renderers/dc_poll_renderer.rb +13 -12
- data/app/renderers/dc_simple_menu_renderer.rb +1 -1
- data/app/views/cmsedit/_edit_stuff.html.erb +4 -1
- data/app/views/cmsedit/edit.html.erb +1 -1
- data/app/views/cmsedit/index.html.erb +1 -1
- data/app/views/cmsedit/new.html.erb +1 -0
- data/config/locales/drgcms_en.yml +22 -2
- data/config/locales/drgcms_sl.yml +25 -6
- data/config/locales/models_en.yml +50 -1
- data/config/locales/models_sl.yml +60 -1
- data/drg_cms.gemspec +1 -1
- data/lib/drg_cms/version.rb +1 -1
- data/lib/drg_cms.rb +40 -27
- data/lib/generators/convert_to_ar/USAGE +8 -0
- data/lib/generators/convert_to_ar/convert_to_ar_generator.rb +158 -0
- data/lib/generators/new_drg_form/new_drg_form_generator.rb +32 -14
- metadata +19 -10
- data/app/assets/javascripts/drg_cms/jquery.bpopup.min.js +0 -7
- data/app/views/layouts/__cmsedit.html.erb +0 -16
@@ -1,4 +1,3 @@
|
|
1
|
-
#encoding: utf-8
|
2
1
|
#--
|
3
2
|
# Copyright (c) 2014+ Damjan Rems
|
4
3
|
#
|
@@ -23,7 +22,7 @@
|
|
23
22
|
#++
|
24
23
|
|
25
24
|
######################################################################
|
26
|
-
#
|
25
|
+
# DRG Controls for editing settings in a document.
|
27
26
|
#
|
28
27
|
# Parameters to settings call:
|
29
28
|
# :location - model_name where settings document is located. Typicaly dc_page or dc_site.
|
@@ -40,33 +39,36 @@ module DesignElementSettingsControl
|
|
40
39
|
# Return:
|
41
40
|
# [document, data] : Mongoid document, yaml as String
|
42
41
|
######################################################################
|
43
|
-
def get_settings
|
44
|
-
# On save. Set required variables
|
42
|
+
def get_settings
|
43
|
+
# On save. Set required variables
|
45
44
|
if params[:record]
|
46
45
|
params[:location] = params[:record][:dc_location]
|
47
46
|
params[:field_name] = params[:record][:dc_field_name]
|
48
47
|
params[:element] = params[:record][:dc_element]
|
49
48
|
params[:id] = params[:record][:dc_document_id]
|
50
49
|
end
|
51
|
-
|
50
|
+
|
51
|
+
# Check model
|
52
52
|
begin
|
53
53
|
model = params[:location].classify.constantize
|
54
54
|
rescue
|
55
55
|
flash[:error] = "Invalid or undefined model name! #{params[:location]}"
|
56
56
|
return false
|
57
57
|
end
|
58
|
-
|
58
|
+
|
59
|
+
# Check fild name
|
59
60
|
begin
|
60
61
|
document = model.find(params[:id])
|
61
62
|
params[:field_name] ||= (params[:location] == 'dc_site' ? 'settings' : 'params')
|
62
|
-
# field not defined on document
|
63
|
+
# field not defined on document
|
63
64
|
raise unless document.respond_to?(params[:field_name])
|
64
65
|
yaml = document[params[:field_name]] || ''
|
65
66
|
rescue
|
66
67
|
flash[:error] = 'Invalid or undefined field name!'
|
67
68
|
return false
|
68
69
|
end
|
69
|
-
|
70
|
+
|
71
|
+
# Check data
|
70
72
|
begin
|
71
73
|
data = YAML.load(yaml) || {}
|
72
74
|
rescue
|
@@ -81,14 +83,12 @@ end
|
|
81
83
|
#
|
82
84
|
# Load fields on form with values from settings document.
|
83
85
|
######################################################################
|
84
|
-
def dc_new_record
|
86
|
+
def dc_new_record
|
85
87
|
document, data = get_settings
|
86
|
-
return false if document.class == FalseClass
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
end
|
91
|
-
# add some fields required at post as hidden fields to form
|
88
|
+
return false if document.class == FalseClass
|
89
|
+
|
90
|
+
record_fill_with_values(data)
|
91
|
+
# add some fields required at post as hidden fields to form
|
92
92
|
form = @form['form']['tabs'] ? @form['form']['tabs'].to_a.last : @form['form']['fields']
|
93
93
|
form[9999] = {'type' => 'hidden_field', 'name' => 'dc_location', 'html' => {'value' => params[:location]}}
|
94
94
|
form[9998] = {'type' => 'hidden_field', 'name' => 'dc_field_name'}
|
@@ -96,7 +96,6 @@ def dc_new_record()
|
|
96
96
|
form[9997] = {'type' => 'hidden_field', 'name' => 'dc_element'}
|
97
97
|
@record.dc_element = params[:element]
|
98
98
|
form[9996] = {'type' => 'hidden_field', 'name' => 'dc_document_id', 'html' => {'value' => params[:id]}}
|
99
|
-
true
|
100
99
|
end
|
101
100
|
|
102
101
|
######################################################################
|
@@ -104,32 +103,84 @@ end
|
|
104
103
|
#
|
105
104
|
# Convert data from fields on form to yaml and save it to document settings field.
|
106
105
|
######################################################################
|
107
|
-
def dc_before_save
|
106
|
+
def dc_before_save
|
108
107
|
document, data = get_settings
|
109
|
-
return false if document.class == FalseClass
|
110
|
-
|
111
|
-
|
112
|
-
session[:form_processing] = v['name'] # for debuging
|
113
|
-
next if v['type'].nil? or
|
114
|
-
v['readonly'] # fields with readonly option don't return value and would be wiped
|
115
|
-
# return value from form field definition
|
116
|
-
value = DrgcmsFormFields.const_get(v['type'].camelize).get_data(params, v['name'])
|
117
|
-
value = value.map {|e| e.to_s} if value.class == Array
|
118
|
-
# set to nil if blank
|
119
|
-
value = nil if value.blank?
|
120
|
-
data['settings'] ||= {}
|
121
|
-
data['settings'][ params[:element] ] ||= {}
|
122
|
-
data['settings'][ params[:element] ][ v['name'] ] = value
|
123
|
-
end
|
124
|
-
# remove nil elements
|
125
|
-
data['settings'][ params[:element] ].compact!
|
126
|
-
# save data to document field
|
108
|
+
return false if document.class == FalseClass
|
109
|
+
|
110
|
+
field_fill_with_values(data)
|
127
111
|
document.send("#{params[:field_name]}=", data.to_yaml)
|
112
|
+
# save to journal
|
113
|
+
params[:table] = params[:location] # for journal
|
114
|
+
save_journal(:update, document.changes)
|
128
115
|
document.save
|
129
|
-
|
116
|
+
params[:table] = 'dc_memory' # restore
|
117
|
+
# to re-set form again
|
130
118
|
dc_new_record
|
131
119
|
false # must be
|
132
120
|
end
|
133
121
|
|
122
|
+
private
|
134
123
|
|
135
|
-
|
124
|
+
######################################################################
|
125
|
+
# Fill @record with values found in document hash field
|
126
|
+
######################################################################
|
127
|
+
def record_fill_with_values(data)
|
128
|
+
# settings
|
129
|
+
if params[:element]
|
130
|
+
if data['settings'] && data['settings'][params[:element]]
|
131
|
+
data['settings'][params[:element]].each { |key, value| @record.send("#{key}=", value) }
|
132
|
+
end
|
133
|
+
else
|
134
|
+
# any field
|
135
|
+
fields_on_form.each do |field|
|
136
|
+
keys = field['key'] ? field['key'].split(/\.|\,|\;/) : [field['name']]
|
137
|
+
value = data.dig(*keys)
|
138
|
+
@record.send("#{field['name']}=", value)
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
######################################################################
|
144
|
+
# Fill field with values entered on a form
|
145
|
+
######################################################################
|
146
|
+
def field_fill_with_values(data)
|
147
|
+
fields_on_form.each do |field|
|
148
|
+
session[:form_processing] = field['name'] # for debuging
|
149
|
+
next if field['type'].nil? || field['readonly']
|
150
|
+
|
151
|
+
# return value from form field definition
|
152
|
+
value = DrgcmsFormFields.const_get(field['type'].camelize).get_data(params, field['name'])
|
153
|
+
value = value.map(&:to_s) if value.class == Array
|
154
|
+
# set to nil if blank
|
155
|
+
value = nil if value.blank?
|
156
|
+
|
157
|
+
keys = field['key'] ? field['key'].split(/\.|\,|\;/) : [field['name']]
|
158
|
+
if params[:element].present?
|
159
|
+
keys = ['settings', params[:element]] + keys
|
160
|
+
end
|
161
|
+
|
162
|
+
h = data
|
163
|
+
if value.blank?
|
164
|
+
# remove field from hash if empty
|
165
|
+
keys.each_with_index do |key, i|
|
166
|
+
if i + 1 == keys.size
|
167
|
+
h.delete(keys.last) if h
|
168
|
+
else
|
169
|
+
h = h[key]
|
170
|
+
end
|
171
|
+
break if h.nil?
|
172
|
+
end
|
173
|
+
# set hash element
|
174
|
+
else
|
175
|
+
keys.each_with_index do |key, i|
|
176
|
+
break if i + 1 == keys.size
|
177
|
+
|
178
|
+
h[key] = {} unless h.key?(key)
|
179
|
+
h = h[key]
|
180
|
+
end
|
181
|
+
h[keys.last] = value
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
end
|
data/app/forms/all_options.yml
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
## DRGCMS Form
|
2
2
|
---
|
3
|
-
extend: form_name
|
3
|
+
extend: form_name,another_form_name
|
4
4
|
table: table_name
|
5
5
|
title: Some title
|
6
6
|
title:
|
7
|
-
text:
|
7
|
+
text: Same as above
|
8
8
|
eval: SomeClass.title_method
|
9
9
|
controls: controls_file
|
10
10
|
readonly: 1
|
11
11
|
permissions:
|
12
12
|
can_view: role_name
|
13
|
+
class: report
|
13
14
|
|
14
15
|
script: "
|
15
16
|
javascript code
|
@@ -129,13 +130,16 @@ result_set:
|
|
129
130
|
eval: dc_name4_value
|
130
131
|
|
131
132
|
form:
|
132
|
-
title:
|
133
|
-
|
134
|
-
|
133
|
+
title: Title text
|
134
|
+
title:
|
135
|
+
field: field_name
|
135
136
|
title:
|
136
|
-
edit: Title for edit
|
137
|
-
show: Title for show
|
138
|
-
|
137
|
+
edit: Title text for edit
|
138
|
+
show: Title text for show
|
139
|
+
|
140
|
+
height: 600
|
141
|
+
labels_pos: top
|
142
|
+
multipart: true
|
139
143
|
|
140
144
|
actions: standard
|
141
145
|
actions: none
|
@@ -214,6 +218,7 @@ form:
|
|
214
218
|
eval: "dc_choices4('model','description_field_name','_id',site: :with_nil)"
|
215
219
|
eval: ModelName.choices4_site
|
216
220
|
eval: dc_big_table 'key-name'
|
221
|
+
depend: field_on_form,another_field_on_form,and_so_on
|
217
222
|
html:
|
218
223
|
include_blank: true
|
219
224
|
90:
|
@@ -274,12 +279,18 @@ form:
|
|
274
279
|
html:
|
275
280
|
height: 800
|
276
281
|
20:
|
277
|
-
name:
|
282
|
+
name: time
|
278
283
|
type: datetime_picker
|
284
|
+
step: 15
|
285
|
+
inline: true
|
279
286
|
20:
|
280
287
|
name: gender
|
281
288
|
type: radio
|
282
289
|
inline: true
|
290
|
+
30:
|
291
|
+
name: galery
|
292
|
+
type: method
|
293
|
+
eval: show_gallery
|
283
294
|
|
284
295
|
40:
|
285
296
|
name: customer_id
|
data/app/forms/cms_menu.yml
CHANGED
@@ -37,12 +37,17 @@ menu:
|
|
37
37
|
controller: cmsedit
|
38
38
|
icon: web
|
39
39
|
table: dc_design
|
40
|
-
30:
|
40
|
+
30:
|
41
41
|
caption: helpers.label.dc_page.tabletitle
|
42
42
|
controller: cmsedit
|
43
43
|
icon: description-o
|
44
44
|
table: dc_page
|
45
|
-
|
45
|
+
40:
|
46
|
+
caption: helpers.label.dc_image.tabletitle
|
47
|
+
controller: cmsedit
|
48
|
+
icon: image-o
|
49
|
+
table: dc_image
|
50
|
+
50:
|
46
51
|
caption: helpers.label.dc_piece.tabletitle
|
47
52
|
controller: cmsedit
|
48
53
|
icon: extension-o
|
@@ -140,6 +145,13 @@ menu:
|
|
140
145
|
icon: history
|
141
146
|
table: dc_journal
|
142
147
|
|
148
|
+
510:
|
149
|
+
caption: helpers.label.dc_setup.tabletitle
|
150
|
+
controller: cmsedit
|
151
|
+
icon: cog-o
|
152
|
+
table: dc_setup
|
153
|
+
form_name: dc_setup
|
154
|
+
|
143
155
|
600:
|
144
156
|
caption: drgcms.browse_collections
|
145
157
|
controller: cmsedit
|
data/app/forms/dc_gallery.yml
CHANGED
@@ -0,0 +1,122 @@
|
|
1
|
+
# Form for dc_image
|
2
|
+
table: dc_image
|
3
|
+
|
4
|
+
index:
|
5
|
+
actions: standard
|
6
|
+
|
7
|
+
result_set:
|
8
|
+
actions: standard
|
9
|
+
|
10
|
+
# Choose from
|
11
|
+
# _id,created_at,updated_at,name,text,size_l,size_m,size_s,categories,created_by,dc_user_id
|
12
|
+
columns:
|
13
|
+
10:
|
14
|
+
name: short
|
15
|
+
width: 20%
|
16
|
+
20:
|
17
|
+
name: created_by
|
18
|
+
eval: dc_name4_id,dc_user,name
|
19
|
+
30:
|
20
|
+
name: created_at
|
21
|
+
format: '%d.%m.%Y'
|
22
|
+
40:
|
23
|
+
name: categories_line
|
24
|
+
width: 40%
|
25
|
+
|
26
|
+
form:
|
27
|
+
actions: standard
|
28
|
+
multipart: true
|
29
|
+
|
30
|
+
fields:
|
31
|
+
10:
|
32
|
+
name: upload_file
|
33
|
+
type: file_field
|
34
|
+
group: 2
|
35
|
+
20:
|
36
|
+
name: image
|
37
|
+
type: method
|
38
|
+
caption: ' '
|
39
|
+
eval: dc_image_preview
|
40
|
+
30:
|
41
|
+
name: short
|
42
|
+
type: text_field
|
43
|
+
size: 50
|
44
|
+
40:
|
45
|
+
name: text
|
46
|
+
type: text_area
|
47
|
+
size: 80x5
|
48
|
+
50:
|
49
|
+
name: cats_input
|
50
|
+
type: text_area
|
51
|
+
size: 50x5
|
52
|
+
line: bottom
|
53
|
+
60:
|
54
|
+
name: keep_original
|
55
|
+
type: check_box
|
56
|
+
70:
|
57
|
+
name: size_o
|
58
|
+
type: readonly
|
59
|
+
|
60
|
+
100:
|
61
|
+
name: size_ls
|
62
|
+
type: text_with_select
|
63
|
+
eval: dc_image_choices_for_image_size
|
64
|
+
size: 8
|
65
|
+
group: 3
|
66
|
+
110:
|
67
|
+
name: size_ms
|
68
|
+
type: text_with_select
|
69
|
+
eval: dc_image_choices_for_image_size
|
70
|
+
size: 8
|
71
|
+
120:
|
72
|
+
name: size_ss
|
73
|
+
type: text_with_select
|
74
|
+
eval: dc_image_choices_for_image_size
|
75
|
+
size: 8
|
76
|
+
210:
|
77
|
+
name: offset_lx
|
78
|
+
type: text_field
|
79
|
+
help: helpers.help.dc_image.offset
|
80
|
+
size: 3
|
81
|
+
group: 3
|
82
|
+
220:
|
83
|
+
name: offset_mx
|
84
|
+
type: text_field
|
85
|
+
help: helpers.help.dc_image.offset
|
86
|
+
size: 3
|
87
|
+
230:
|
88
|
+
name: offset_sx
|
89
|
+
type: text_field
|
90
|
+
help: helpers.help.dc_image.offset
|
91
|
+
size: 3
|
92
|
+
|
93
|
+
310:
|
94
|
+
name: offset_ly
|
95
|
+
type: text_field
|
96
|
+
help: helpers.help.dc_image.offset
|
97
|
+
size: 3
|
98
|
+
group: 3
|
99
|
+
320:
|
100
|
+
name: offset_my
|
101
|
+
type: text_field
|
102
|
+
help: helpers.help.dc_image.offset
|
103
|
+
size: 3
|
104
|
+
330:
|
105
|
+
name: offset_sy
|
106
|
+
type: text_field
|
107
|
+
help: helpers.help.dc_image.offset
|
108
|
+
size: 3
|
109
|
+
|
110
|
+
410:
|
111
|
+
name: preview_l
|
112
|
+
type: method
|
113
|
+
group: 3
|
114
|
+
eval: dc_image_preview_resized
|
115
|
+
420:
|
116
|
+
name: preview_m
|
117
|
+
type: method
|
118
|
+
eval: dc_image_preview_resized
|
119
|
+
430:
|
120
|
+
name: preview_s
|
121
|
+
type: method
|
122
|
+
eval: dc_image_preview_resized
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# Form for dc_image search
|
2
|
+
table: dc_image
|
3
|
+
title: drgcms.dc_image.search
|
4
|
+
|
5
|
+
index:
|
6
|
+
actions:
|
7
|
+
1: close
|
8
|
+
2:
|
9
|
+
type: window
|
10
|
+
action: new
|
11
|
+
icon: plus
|
12
|
+
caption: drgcms.new
|
13
|
+
table: dc_image
|
14
|
+
params:
|
15
|
+
window_close: 0
|
16
|
+
3:
|
17
|
+
type: ajax
|
18
|
+
action: run
|
19
|
+
icon: search
|
20
|
+
caption: drgcms.search
|
21
|
+
method: post
|
22
|
+
control: dc_image.images_search
|
23
|
+
params:
|
24
|
+
field_name:
|
25
|
+
object: params
|
26
|
+
method: field_name
|
27
|
+
|
28
|
+
10:
|
29
|
+
type: field
|
30
|
+
name: short
|
31
|
+
field_type: text_field
|
32
|
+
size: 20
|
33
|
+
|
34
|
+
20:
|
35
|
+
type: field
|
36
|
+
name: categories
|
37
|
+
field_type: text_field
|
38
|
+
size: 40
|
39
|
+
|
40
|
+
30:
|
41
|
+
type: field
|
42
|
+
caption: user
|
43
|
+
name: created_by
|
44
|
+
field_type: select
|
45
|
+
eval: DcImage.all_users
|
46
|
+
html:
|
47
|
+
include_blank: true
|
48
|
+
|
49
|
+
result_set:
|
50
|
+
filter: search_filter
|
51
|
+
actions: false
|
52
|
+
|
53
|
+
# Choose from
|
54
|
+
# _id,created_at,updated_at,name,text,size_l,size_m,size_s,categories,created_by,dc_user_id
|
55
|
+
columns:
|
56
|
+
10:
|
57
|
+
name: preview
|
58
|
+
eval: first_dc_image
|
59
|
+
caption: drgcms.dc_image.image
|
60
|
+
width: 20%
|
61
|
+
20:
|
62
|
+
name: short
|
63
|
+
30:
|
64
|
+
name: links
|
65
|
+
eval: select_links_for_dc_image
|
66
|
+
caption: drgcms.dc_image.available
|
67
|
+
|
68
|
+
css: "
|
69
|
+
.img-link {padding: 2px 4px; margin-right: 1rem; background-color: #ddd; border-bottom: 3px solid #222;}
|
70
|
+
.dc-image-preview img {max-height: 3rem;}
|
71
|
+
.img-link i:hover {color: #2C8EFF; cursor: pointer;}
|
72
|
+
"
|
data/app/forms/dc_page.yml
CHANGED
@@ -58,7 +58,8 @@ form:
|
|
58
58
|
|
59
59
|
70:
|
60
60
|
name: publish_date
|
61
|
-
type:
|
61
|
+
type: datetime_picker
|
62
|
+
step: 15
|
62
63
|
|
63
64
|
80:
|
64
65
|
name: picture
|
@@ -69,14 +70,14 @@ form:
|
|
69
70
|
type: check_box
|
70
71
|
100:
|
71
72
|
name: valid_from
|
72
|
-
type:
|
73
|
-
|
74
|
-
|
73
|
+
type: datetime_picker
|
74
|
+
step: 15
|
75
|
+
|
75
76
|
110:
|
76
77
|
name: valid_to
|
77
|
-
type:
|
78
|
-
|
79
|
-
|
78
|
+
type: datetime_picker
|
79
|
+
step: 15
|
80
|
+
|
80
81
|
# 120:
|
81
82
|
# name: kats
|
82
83
|
# type: select
|
@@ -96,7 +97,9 @@ form:
|
|
96
97
|
10:
|
97
98
|
name: dc_design_id
|
98
99
|
type: select
|
99
|
-
eval: DcDesign.choices4_design(@parent.dc_get_site)
|
100
|
+
# eval: DcDesign.choices4_design(@parent.dc_get_site)
|
101
|
+
eval: DcDesign.choices4_design
|
102
|
+
depend: dc_site_id
|
100
103
|
html:
|
101
104
|
include_blank: true
|
102
105
|
15:
|
data/app/forms/dc_poll.yml
CHANGED
@@ -9,27 +9,30 @@ index:
|
|
9
9
|
10:
|
10
10
|
type: field
|
11
11
|
name: dc_poll_id
|
12
|
+
position: left
|
12
13
|
|
13
14
|
30:
|
14
15
|
type: field
|
15
16
|
name: start_date
|
16
17
|
field_type: date_picker
|
17
|
-
|
18
|
+
position: left
|
19
|
+
|
18
20
|
40:
|
19
21
|
type: field
|
20
22
|
name: end_date
|
21
23
|
field_type: date_picker
|
22
24
|
options:
|
23
25
|
openOnFocus: false
|
24
|
-
|
26
|
+
position: left
|
27
|
+
|
25
28
|
50:
|
26
29
|
type: ajax
|
27
30
|
caption: drgcms.filter_poll
|
28
31
|
title: drgcms.filter_poll_title
|
29
|
-
icon: filter
|
32
|
+
icon: filter-alt-o
|
30
33
|
controller: cmsedit
|
31
34
|
action: run
|
32
|
-
control: dc_poll_result.
|
35
|
+
control: dc_poll_result.filter_set
|
33
36
|
method: post
|
34
37
|
|
35
38
|
60:
|
@@ -37,9 +40,9 @@ index:
|
|
37
40
|
caption: drgcms.export_poll
|
38
41
|
title: drgcms.export_poll_title
|
39
42
|
controller: cmsedit
|
40
|
-
icon:
|
43
|
+
icon: download-o
|
41
44
|
action: run
|
42
|
-
control: dc_poll_result.
|
45
|
+
control: dc_poll_result.data_export
|
43
46
|
method: post
|
44
47
|
|
45
48
|
result_set:
|
@@ -50,7 +53,7 @@ result_set:
|
|
50
53
|
10:
|
51
54
|
name: dc_poll_id
|
52
55
|
eval: dc_name4_id,dc_poll,name
|
53
|
-
width:
|
56
|
+
width: 40%
|
54
57
|
20:
|
55
58
|
name: created_at
|
56
59
|
format: '%d.%m.%Y %H:%M'
|
@@ -0,0 +1,45 @@
|
|
1
|
+
table: dc_setup
|
2
|
+
|
3
|
+
index:
|
4
|
+
filter: data as text_field
|
5
|
+
actions: standard
|
6
|
+
|
7
|
+
result_set:
|
8
|
+
actions: standard
|
9
|
+
|
10
|
+
columns:
|
11
|
+
10:
|
12
|
+
name: name
|
13
|
+
width: 20%
|
14
|
+
20:
|
15
|
+
name: updated_at
|
16
|
+
format: '%d.%m.%Y'
|
17
|
+
width: 10%
|
18
|
+
|
19
|
+
form:
|
20
|
+
title:
|
21
|
+
field: name
|
22
|
+
actions: standard
|
23
|
+
|
24
|
+
tabs:
|
25
|
+
tab0:
|
26
|
+
10:
|
27
|
+
name: name
|
28
|
+
type: text_field
|
29
|
+
size: 20
|
30
|
+
|
31
|
+
20:
|
32
|
+
name: editors
|
33
|
+
type: multitext_autocomplete
|
34
|
+
search: dc_user.name
|
35
|
+
size: 30
|
36
|
+
|
37
|
+
tab00:
|
38
|
+
10:
|
39
|
+
name: form
|
40
|
+
type: text_area
|
41
|
+
size: 80x50
|
42
|
+
|
43
|
+
css: '
|
44
|
+
#record_form {font-family: monospace; font-size: 12px;}
|
45
|
+
'
|
@@ -1,18 +1,22 @@
|
|
1
1
|
## Template for standard options on wizard form
|
2
2
|
form:
|
3
|
-
css: '
|
3
|
+
css: '
|
4
|
+
#dc-form-left {display: block;width: 20%;}
|
5
|
+
#dc-form-container {display: flex;}'
|
6
|
+
|
4
7
|
actions:
|
5
8
|
1:
|
6
9
|
type: ajax
|
7
10
|
caption: drgcms.cancel
|
8
11
|
icon: cancel
|
9
|
-
method: post
|
10
12
|
form_name: x
|
11
13
|
action: run
|
12
14
|
control: x.steps_cancel
|
13
15
|
params:
|
14
16
|
step: x
|
15
17
|
next_step: x
|
18
|
+
html:
|
19
|
+
data-validate: false
|
16
20
|
|
17
21
|
10:
|
18
22
|
type: ajax
|