drg_cms 0.5.52.16 → 0.6.1.0
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/drg_cms/drg_cms.js +446 -144
- data/app/assets/javascripts/drg_cms/jstree.min.js +6 -6
- data/app/assets/javascripts/drg_cms_application.js +1 -1
- data/app/assets/stylesheets/drg_cms/drg_cms.css +625 -243
- data/app/assets/stylesheets/drg_cms/jstree.css +6 -12
- data/app/assets/stylesheets/drg_cms/select-multiple.css +18 -12
- data/app/assets/stylesheets/drg_cms_cms.css +1 -1
- data/app/controllers/cmsedit_controller.rb +536 -331
- data/app/controllers/dc_application_controller.rb +380 -117
- data/app/controllers/dc_common_controller.rb +105 -14
- data/app/{controllers → controls}/browse_models_control.rb +0 -0
- data/app/controls/dc_help_control.rb +126 -0
- data/app/{controllers → controls}/dc_page_control.rb +24 -8
- data/app/controls/dc_poll_result_control.rb +88 -0
- data/app/controls/dc_report.rb +225 -0
- data/app/{controllers → controls}/design_element_settings_control.rb +0 -0
- data/app/forms/all_options.yml +50 -9
- data/app/forms/cms_menu.yml +28 -18
- data/app/forms/dc_ad.yml +11 -22
- data/app/forms/dc_big_table.yml +1 -0
- data/app/forms/dc_big_table_value.yml +1 -0
- data/app/forms/dc_category.yml +2 -1
- data/app/forms/dc_design.yml +20 -16
- data/app/forms/dc_filter.yml +3 -6
- data/app/forms/dc_help_1.yml +109 -0
- data/app/forms/dc_journal.yml +3 -1
- data/app/forms/dc_json_ld.yml +59 -0
- data/app/forms/dc_key_value.yml +32 -0
- data/app/forms/dc_link.yml +1 -1
- data/app/forms/dc_menu.yml +2 -0
- data/app/forms/dc_menu_item.yml +2 -0
- data/app/forms/dc_page.yml +3 -5
- data/app/forms/dc_part.yml +1 -0
- data/app/forms/dc_piece.yml +1 -0
- data/app/forms/dc_poll.yml +19 -9
- data/app/forms/dc_poll_item.yml +2 -1
- data/app/forms/dc_poll_result.yml +83 -0
- data/app/forms/dc_poll_result_export.yml +35 -0
- data/app/forms/dc_seo.yml +33 -0
- data/app/forms/dc_simple_menu.yml +2 -0
- data/app/forms/dc_site.yml +4 -12
- data/app/forms/dc_user.yml +27 -11
- data/app/forms/dc_user_role.yml +3 -0
- data/app/forms/json_ld_schema.yml +168 -0
- data/app/helpers/cms_common_helper.rb +376 -0
- data/app/helpers/cms_edit_helper.rb +506 -0
- data/app/helpers/cms_helper.rb +268 -0
- data/app/helpers/cms_index_helper.rb +576 -0
- data/app/helpers/dc_application_helper.rb +183 -271
- data/app/models/concerns/dc_page_concern.rb +40 -6
- data/app/models/concerns/dc_policy_rule_concern.rb +20 -8
- data/app/models/concerns/dc_seo_concern.rb +66 -0
- data/app/models/concerns/dc_site_concern.rb +67 -44
- data/app/models/concerns/dc_user_concern.rb +62 -21
- data/app/models/dc_design.rb +30 -18
- data/app/models/dc_filter.rb +22 -13
- data/app/models/dc_json_ld.rb +152 -0
- data/app/models/dc_key_value.rb +48 -0
- data/app/models/dc_key_value_store.rb +1 -0
- data/app/models/dc_memory.rb +8 -1
- data/app/models/dc_page.rb +0 -1
- data/app/models/dc_permission.rb +49 -9
- data/app/models/dc_policy.rb +25 -14
- data/app/models/dc_policy_role.rb +22 -11
- data/app/models/dc_poll.rb +39 -19
- data/app/models/{drgcms_form_fields/drgcms_form_fields.rb → dc_poll_result.rb} +23 -2
- data/app/models/dc_temp.rb +140 -0
- data/app/models/dc_user_role.rb +2 -2
- data/app/models/drgcms_form_fields.rb +14 -6
- data/app/models/drgcms_form_fields/action.rb +61 -0
- data/app/models/drgcms_form_fields/check_box.rb +3 -0
- data/app/models/drgcms_form_fields/comment.rb +8 -4
- data/app/models/drgcms_form_fields/date_picker.rb +11 -9
- data/app/models/drgcms_form_fields/date_select.rb +1 -1
- data/app/models/drgcms_form_fields/{date_time_picker.rb → datetime_picker.rb} +12 -10
- data/app/models/drgcms_form_fields/datetime_select.rb +1 -1
- data/app/models/drgcms_form_fields/drgcms_field.rb +55 -9
- data/app/models/drgcms_form_fields/embedded.rb +26 -16
- data/app/models/drgcms_form_fields/file_field.rb +52 -0
- data/app/models/drgcms_form_fields/file_select.rb +2 -2
- data/app/models/drgcms_form_fields/hash_field.rb +90 -0
- data/app/models/drgcms_form_fields/hidden_field.rb +1 -1
- data/app/models/drgcms_form_fields/html_field.rb +1 -1
- data/app/models/drgcms_form_fields/link_to.rb +2 -2
- data/app/models/drgcms_form_fields/method.rb +66 -0
- data/app/models/drgcms_form_fields/multitext_autocomplete.rb +23 -14
- data/app/models/drgcms_form_fields/number_field.rb +15 -6
- data/app/models/drgcms_form_fields/radio.rb +96 -0
- data/app/models/drgcms_form_fields/readonly.rb +2 -2
- data/app/models/drgcms_form_fields/select.rb +92 -29
- data/app/models/drgcms_form_fields/text_area.rb +1 -1
- data/app/models/drgcms_form_fields/text_autocomplete.rb +29 -17
- data/app/models/drgcms_form_fields/text_field.rb +1 -1
- data/app/models/drgcms_form_fields/text_with_select.rb +6 -3
- data/app/models/drgcms_form_fields/tree_select.rb +29 -10
- data/app/{helpers → renderers}/dc_ad_renderer.rb +0 -0
- data/app/{helpers → renderers}/dc_big_menu_renderer.rb +1 -0
- data/app/{helpers → renderers}/dc_captcha_renderer.rb +0 -0
- data/app/{helpers → renderers}/dc_common_renderer.rb +0 -0
- data/app/{helpers → renderers}/dc_gallery_renderer.rb +1 -0
- data/app/{helpers → renderers}/dc_menu_renderer.rb +11 -4
- data/app/{helpers → renderers}/dc_page_renderer.rb +1 -0
- data/app/{helpers → renderers}/dc_part_renderer.rb +5 -4
- data/app/{helpers → renderers}/dc_piece_renderer.rb +1 -1
- data/app/{helpers → renderers}/dc_poll_renderer.rb +84 -48
- data/app/{helpers → renderers}/dc_renderer.rb +1 -0
- data/app/{helpers → renderers}/dc_simple_menu_renderer.rb +1 -0
- data/app/views/cmsedit/{remove_edit_stuff.js.erb → __remove_edit_stuff.js.erb} +0 -0
- data/app/views/cmsedit/{show.html.erb → __show.html.erb} +0 -0
- data/app/views/cmsedit/_edit_stuff.html.erb +4 -25
- data/app/views/cmsedit/_form.html.erb +4 -3
- data/app/views/cmsedit/_result.html.erb +2 -3
- data/app/views/cmsedit/edit.html.erb +4 -1
- data/app/views/cmsedit/index.html.erb +7 -1
- data/app/views/cmsedit/new.html.erb +3 -1
- data/app/views/dc_common/_help.html.erb +8 -0
- data/app/views/layouts/models.html.erb +2 -1
- data/config/locales/drgcms_en.yml +26 -3
- data/config/locales/drgcms_sl.yml +31 -5
- data/config/locales/models_en.yml +66 -18
- data/config/locales/models_sl.yml +71 -20
- data/drg_cms.gemspec +3 -3
- data/lib/drg_cms.rb +63 -1
- data/lib/drg_cms/version.rb +2 -2
- data/lib/generators/new_drg_form/new_drg_form_generator.rb +9 -2
- data/lib/tasks/database.rake +6 -56
- metadata +81 -63
- data/app/assets/stylesheets/drg_cms/__jquery-ui.css +0 -339
- data/app/helpers/application_helper.rb +0 -2
- data/app/helpers/cmsedit_helper.rb +0 -885
- data/app/models/dc_dummy.rb +0 -102
- data/test/fixtures/drg_cms_test_data.rb +0 -87
@@ -0,0 +1,225 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2020+ Damjan Rems
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
|
24
|
+
######################################################################
|
25
|
+
# Common methods required by reports
|
26
|
+
######################################################################
|
27
|
+
module DcReport
|
28
|
+
attr_accessor :report_id
|
29
|
+
attr_accessor :bulk
|
30
|
+
|
31
|
+
######################################################################
|
32
|
+
# Clear result if params[:clear] is 'yes' when form is first displayed
|
33
|
+
######################################################################
|
34
|
+
def dc_new_record
|
35
|
+
DcTemp.clear(temp_key) unless params[:clear].to_s == 'no'
|
36
|
+
end
|
37
|
+
|
38
|
+
######################################################################
|
39
|
+
# If exists, set report section as form, so it can be used to display result.
|
40
|
+
######################################################################
|
41
|
+
def dc_update_form
|
42
|
+
return unless @form && @form['report'] && params[:table] == 'dc_temp'
|
43
|
+
|
44
|
+
@form = @form['report']
|
45
|
+
end
|
46
|
+
|
47
|
+
######################################################################
|
48
|
+
# Print to PDF action
|
49
|
+
######################################################################
|
50
|
+
def print
|
51
|
+
begin
|
52
|
+
pdf_do
|
53
|
+
rescue Exception => e
|
54
|
+
dc_dump_exception(e)
|
55
|
+
render json: { msg_error: t('drgcms.runtime_error') } and return
|
56
|
+
end
|
57
|
+
|
58
|
+
pdf_file = "tmp/dokument-#{Time.now.to_i}.pdf"
|
59
|
+
@pdf.render_file Rails.root.join('public', pdf_file)
|
60
|
+
|
61
|
+
render json: print_response(pdf_file)
|
62
|
+
end
|
63
|
+
|
64
|
+
######################################################################
|
65
|
+
# Export data do excel action
|
66
|
+
######################################################################
|
67
|
+
def export
|
68
|
+
export_to_excel( temp_key )
|
69
|
+
end
|
70
|
+
|
71
|
+
######################################################################
|
72
|
+
# Default filter to select data for result.
|
73
|
+
######################################################################
|
74
|
+
def data_filter
|
75
|
+
params['clear'].to_s == 'yes' ? DcTemp.where(key: false) : DcTemp.where(key: temp_key).order_by(order: 1)
|
76
|
+
end
|
77
|
+
|
78
|
+
private
|
79
|
+
|
80
|
+
######################################################################
|
81
|
+
# Will create response message for print action. Response consists of
|
82
|
+
# opening pdf file in new browser tab and additional print_message if defined.
|
83
|
+
######################################################################
|
84
|
+
def print_response(pdf_file)
|
85
|
+
response = { window: "/#{pdf_file}" }
|
86
|
+
response.merge!(report_message) if respond_to?(:report_message, true)
|
87
|
+
response
|
88
|
+
end
|
89
|
+
|
90
|
+
######################################################################
|
91
|
+
# Temp key consists of report name and user's id. Key should be added
|
92
|
+
# to every dc_temp document and is used to define data, which belongs
|
93
|
+
# to current user.
|
94
|
+
######################################################################
|
95
|
+
def temp_key
|
96
|
+
"#{@report_id}-#{session[:user_id]}"
|
97
|
+
end
|
98
|
+
|
99
|
+
######################################################################
|
100
|
+
# Initialize report. Set report_id internal variable and initialize bulk
|
101
|
+
# for bulk saving data to dc_temp collection.
|
102
|
+
######################################################################
|
103
|
+
def init_report(id)
|
104
|
+
@report_id = id
|
105
|
+
@bulk = []
|
106
|
+
end
|
107
|
+
|
108
|
+
######################################################################
|
109
|
+
# Check if all send fields are blank.
|
110
|
+
######################################################################
|
111
|
+
def all_blank?(*fields)
|
112
|
+
fields.each {|e| e.blank? ? true : (break false) }
|
113
|
+
end
|
114
|
+
|
115
|
+
######################################################################
|
116
|
+
# Will write bulk data to dc_temp collection.
|
117
|
+
######################################################################
|
118
|
+
def bulk_write(doc, the_end = false)
|
119
|
+
if doc.nil? || doc.class == TrueClass
|
120
|
+
the_end = true
|
121
|
+
else
|
122
|
+
@bulk << doc
|
123
|
+
end
|
124
|
+
|
125
|
+
if (the_end && @bulk.size > 0) || @bulk.size > 100
|
126
|
+
DcTemp.collection.insert_many(@bulk)
|
127
|
+
@bulk = []
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
######################################################################
|
132
|
+
# Export data to Excel
|
133
|
+
######################################################################
|
134
|
+
def export_to_excel(report_id)
|
135
|
+
read_drg_form if @form.blank?
|
136
|
+
# use report options if present
|
137
|
+
columns = (@form['report'] ? @form['report'] : @form)['result_set']['columns'].sort
|
138
|
+
|
139
|
+
n, workbook = 0, Spreadsheet::Workbook.new
|
140
|
+
excel = workbook.create_worksheet(name: report_id)
|
141
|
+
# header
|
142
|
+
columns.each_with_index do |column, i|
|
143
|
+
caption = column.last['caption'] || column.last['label']
|
144
|
+
label = t(caption)
|
145
|
+
excel[n, i] = label.match('translation missing') ? caption : label
|
146
|
+
end
|
147
|
+
|
148
|
+
data_filter.each do |doc|
|
149
|
+
n += 1
|
150
|
+
columns.each_with_index do |column, i|
|
151
|
+
value = doc[column.last['name']].to_s.gsub('<br>', ";")
|
152
|
+
value = value.gsub(/\<\/strong\>|\<strong\>|\<\/b\>|\<b\>/, '')
|
153
|
+
excel[n, i] = value
|
154
|
+
end
|
155
|
+
end
|
156
|
+
workbook.write Rails.root.join("public/tmp/#{report_id}.xls")
|
157
|
+
dc_render_ajax(operation: :window, value: "/tmp/#{report_id}.xls")
|
158
|
+
end
|
159
|
+
|
160
|
+
############################################################################
|
161
|
+
# Returns html code for displaying date/time formatted by strftime. Will return '' if value is nil.
|
162
|
+
#
|
163
|
+
# Parameters:
|
164
|
+
# [value] Date/DateTime/Time.
|
165
|
+
# [format] String. strftime format mask. Defaults to locale's default format.
|
166
|
+
############################################################################
|
167
|
+
def dc_format_date_time(value, format = nil)
|
168
|
+
return '' if value.nil?
|
169
|
+
|
170
|
+
format ||= value.class == Date ? t('date.formats.default') : t('time.formats.default')
|
171
|
+
value.strftime(format)
|
172
|
+
end
|
173
|
+
|
174
|
+
##############################################################################
|
175
|
+
# Initialize PDF document for print
|
176
|
+
##############################################################################
|
177
|
+
def pdf_init(opts={})
|
178
|
+
opts[:margin] ||= [30,30,30,30]
|
179
|
+
opts[:page_size] ||= 'A4'
|
180
|
+
|
181
|
+
pdf = Prawn::Document.new(opts)
|
182
|
+
pdf.font_size = opts[:font_size] if opts[:font_size]
|
183
|
+
|
184
|
+
pdf.encrypt_document( owner_password: :random,
|
185
|
+
permissions: { print_document: true,
|
186
|
+
modify_contents: false,
|
187
|
+
copy_contents: false,
|
188
|
+
modify_annotations: false })
|
189
|
+
pdf.font_families.update(
|
190
|
+
'Arial' => { normal: Rails.root.join('public', 'arial.ttf'),
|
191
|
+
bold: Rails.root.join('public', 'arialbd.ttf') }
|
192
|
+
)
|
193
|
+
pdf.font 'Arial'
|
194
|
+
pdf
|
195
|
+
end
|
196
|
+
|
197
|
+
################################################################################
|
198
|
+
# Prints out single text (or object) on report.
|
199
|
+
#
|
200
|
+
# @param [Object] txt : Text or object. Result of to_s method of the object is
|
201
|
+
# @param [Hash] opts
|
202
|
+
###############################################################################
|
203
|
+
def pdf_text(txt, opts={})
|
204
|
+
box_opts = {}
|
205
|
+
ypos = @pdf.cursor
|
206
|
+
xpos = opts.delete(:atx) || 0
|
207
|
+
box_opts.merge!(single_line: (opts.delete(:single_line) || true))
|
208
|
+
box_opts.merge!(at: (opts.delete(:at) || [xpos, ypos]))
|
209
|
+
box_opts.merge!(width: opts[:width]) if opts[:width]
|
210
|
+
box_opts.merge!(align: opts[:align]) if opts[:align]
|
211
|
+
box_opts.merge!(inline_format: opts[:inline_format]) if opts[:inline_format]
|
212
|
+
|
213
|
+
@pdf.text_box(txt.to_s, box_opts)
|
214
|
+
end
|
215
|
+
|
216
|
+
################################################################################
|
217
|
+
# Skip line on report
|
218
|
+
#
|
219
|
+
# @param [Integer] skip . Number of lines to skip. Default 1.
|
220
|
+
###############################################################################
|
221
|
+
def pdf_skip(skip = 1)
|
222
|
+
@pdf.text('<br>' * skip, inline_format: true)
|
223
|
+
end
|
224
|
+
|
225
|
+
end
|
File without changes
|
data/app/forms/all_options.yml
CHANGED
@@ -3,13 +3,21 @@
|
|
3
3
|
extend: form_name
|
4
4
|
table: table_name
|
5
5
|
title: Some title
|
6
|
+
title:
|
7
|
+
text: Dynamicaly defined title
|
8
|
+
eval: SomeClass.title_method
|
6
9
|
controls: controls_file
|
7
10
|
readonly: 1
|
8
11
|
permissions:
|
9
12
|
can_view: role_name
|
13
|
+
|
14
|
+
script: "
|
15
|
+
javascript code
|
16
|
+
"
|
10
17
|
|
11
18
|
index:
|
12
19
|
filter: name, id as text_field
|
20
|
+
|
13
21
|
actions: standard
|
14
22
|
|
15
23
|
actions:
|
@@ -18,6 +26,7 @@ index:
|
|
18
26
|
3: sort
|
19
27
|
|
20
28
|
actions:
|
29
|
+
standard: yes
|
21
30
|
1:
|
22
31
|
type: new
|
23
32
|
caption: Alternative caption
|
@@ -47,11 +56,21 @@ result_set:
|
|
47
56
|
footer: custom_footer
|
48
57
|
actions_width: 100
|
49
58
|
per_page: 10
|
59
|
+
select_fields: id,name
|
60
|
+
deny_fields: body,email
|
61
|
+
|
62
|
+
dblclick:
|
63
|
+
table: model_name
|
64
|
+
form_name: form_name
|
65
|
+
readonly: 1
|
66
|
+
action: show
|
67
|
+
window_close: 1 (close), 2 (history.back)
|
68
|
+
|
50
69
|
table_style: 'color: green;'
|
51
70
|
table_class: tclass
|
52
71
|
tr_style: 'color: green;'
|
53
72
|
tr_class: trclass
|
54
|
-
|
73
|
+
tr_style:
|
55
74
|
eval: "document['result'] < 0 ? 'color: red;' : 'color: #000;'"
|
56
75
|
|
57
76
|
actions: standard
|
@@ -67,6 +86,8 @@ result_set:
|
|
67
86
|
type: delete
|
68
87
|
title: Delete it
|
69
88
|
icon: delete.png
|
89
|
+
icon: arrow-left
|
90
|
+
icon: home
|
70
91
|
4:
|
71
92
|
type: link
|
72
93
|
caption: Caption
|
@@ -82,6 +103,7 @@ result_set:
|
|
82
103
|
name: name
|
83
104
|
eval: dc_name4_id,dc_site,name
|
84
105
|
width: 10%
|
106
|
+
width: none || hidden
|
85
107
|
align: right (center)
|
86
108
|
style: 'color: red;'
|
87
109
|
td_class: class-name
|
@@ -92,6 +114,7 @@ result_set:
|
|
92
114
|
3:
|
93
115
|
name: valid_from
|
94
116
|
format: '%d.%m.%Y'
|
117
|
+
format: N2
|
95
118
|
4:
|
96
119
|
name: active
|
97
120
|
eval: dc_icon4_boolean
|
@@ -104,8 +127,7 @@ form:
|
|
104
127
|
title:
|
105
128
|
edit: Title for edit
|
106
129
|
show: Title for show
|
107
|
-
labels_pos: top
|
108
|
-
|
130
|
+
labels_pos: top
|
109
131
|
|
110
132
|
actions: standard
|
111
133
|
actions: none
|
@@ -117,6 +139,7 @@ form:
|
|
117
139
|
action: action
|
118
140
|
method: (get),put,post
|
119
141
|
caption: ajax_call
|
142
|
+
control: control_name.method_to_call
|
120
143
|
when_new: false
|
121
144
|
5:
|
122
145
|
type: window
|
@@ -149,6 +172,8 @@ form:
|
|
149
172
|
|
150
173
|
tabs:
|
151
174
|
tab1:
|
175
|
+
caption: my_caption
|
176
|
+
caption: helpers.label.table.tab1
|
152
177
|
|
153
178
|
10:
|
154
179
|
name: name
|
@@ -171,7 +196,13 @@ form:
|
|
171
196
|
eval: ModelName.choices4_site
|
172
197
|
eval: dc_big_table 'key-name'
|
173
198
|
html:
|
174
|
-
include_blank: true
|
199
|
+
include_blank: true
|
200
|
+
90:
|
201
|
+
name: kats
|
202
|
+
type: multitext_autocomplete
|
203
|
+
search: dc_category.name
|
204
|
+
with_new: model_name
|
205
|
+
size: 30
|
175
206
|
|
176
207
|
40:
|
177
208
|
name: operation
|
@@ -199,8 +230,8 @@ form:
|
|
199
230
|
100:
|
200
231
|
name: css
|
201
232
|
type: text_area
|
202
|
-
|
203
|
-
|
233
|
+
size: 100x20
|
234
|
+
|
204
235
|
|
205
236
|
110:
|
206
237
|
name: active
|
@@ -210,20 +241,26 @@ form:
|
|
210
241
|
10:
|
211
242
|
name: form
|
212
243
|
type: text_area
|
244
|
+
size: 100x50
|
213
245
|
html:
|
214
|
-
|
215
|
-
style: 'font-family:courier;'
|
246
|
+
style: 'font-family:courier;'
|
216
247
|
|
217
248
|
tab3:
|
218
249
|
20:
|
219
250
|
name: dc_poll_items
|
220
251
|
type: embedded
|
252
|
+
load: default,delay,always
|
221
253
|
form_name: dc_poll_item
|
222
254
|
html:
|
223
255
|
height: 800
|
224
256
|
20:
|
225
257
|
name: odhod
|
226
|
-
type: datetime_picker
|
258
|
+
type: datetime_picker
|
259
|
+
20:
|
260
|
+
name: gender
|
261
|
+
type: radio
|
262
|
+
inline: true
|
263
|
+
|
227
264
|
40:
|
228
265
|
name: customer_id
|
229
266
|
type: text_autocomplete
|
@@ -232,10 +269,14 @@ form:
|
|
232
269
|
field: custumer_name
|
233
270
|
method: search
|
234
271
|
with_new: customer
|
272
|
+
is_id: false
|
235
273
|
size: 50
|
236
274
|
50:
|
237
275
|
name: kats
|
238
276
|
type: tree_select
|
239
277
|
eval: "DcCategory.choices4_categories(@parent.dc_get_site)"
|
278
|
+
multiple: true
|
279
|
+
parent_disabled: true
|
280
|
+
parent_opened: true
|
240
281
|
style: 'max-height: 300px'
|
241
282
|
|
data/app/forms/cms_menu.yml
CHANGED
@@ -45,38 +45,42 @@ menu:
|
|
45
45
|
50:
|
46
46
|
caption: helpers.label.dc_piece.tabletitle
|
47
47
|
controller: cmsedit
|
48
|
-
icon: puzzle-piece lg
|
48
|
+
icon: puzzle-piece lg
|
49
49
|
table: dc_piece
|
50
50
|
60:
|
51
51
|
caption: helpers.label.dc_link.tabletitle
|
52
52
|
controller: cmsedit
|
53
|
-
icon: link lg
|
53
|
+
icon: link lg
|
54
54
|
table: dc_link
|
55
55
|
70:
|
56
56
|
caption: helpers.label.dc_menu.tabletitle
|
57
57
|
controller: cmsedit
|
58
|
-
icon: th-list lg
|
58
|
+
icon: th-list lg
|
59
59
|
table: dc_menu
|
60
60
|
80:
|
61
61
|
caption: helpers.label.dc_simple_menu.tabletitle
|
62
62
|
controller: cmsedit
|
63
|
-
icon: ellipsis-h lg
|
63
|
+
icon: ellipsis-h lg
|
64
64
|
table: dc_simple_menu
|
65
65
|
90:
|
66
66
|
caption: helpers.label.dc_category.tabletitle
|
67
67
|
controller: cmsedit
|
68
|
-
icon: list lg
|
68
|
+
icon: list lg
|
69
69
|
table: dc_category
|
70
|
-
|
71
70
|
100:
|
72
71
|
caption: helpers.label.dc_poll.tabletitle
|
73
72
|
controller: cmsedit
|
74
|
-
icon: list-alt lg
|
73
|
+
icon: list-alt lg
|
75
74
|
table: dc_poll
|
76
75
|
110:
|
76
|
+
caption: helpers.label.dc_poll_result.tabletitle
|
77
|
+
controller: cmsedit
|
78
|
+
icon: database lg
|
79
|
+
table: dc_poll_result
|
80
|
+
120:
|
77
81
|
caption: helpers.label.dc_ad.tabletitle
|
78
82
|
controller: cmsedit
|
79
|
-
icon: money lg
|
83
|
+
icon: money lg
|
80
84
|
table: dc_ad
|
81
85
|
|
82
86
|
11_system_menu:
|
@@ -86,52 +90,58 @@ menu:
|
|
86
90
|
10:
|
87
91
|
caption: helpers.label.dc_user.tabletitle
|
88
92
|
controller: cmsedit
|
89
|
-
icon: users lg
|
93
|
+
icon: users lg
|
90
94
|
table: dc_user
|
91
95
|
20:
|
92
96
|
caption: helpers.label.dc_policy_role.tabletitle
|
93
97
|
controller: cmsedit
|
94
|
-
icon: user-secret lg
|
98
|
+
icon: user-secret lg
|
95
99
|
table: dc_policy_role
|
96
100
|
30:
|
97
101
|
caption: helpers.label.dc_permission.tabletitle
|
98
102
|
controller: cmsedit
|
99
|
-
icon: shield lg
|
103
|
+
icon: shield lg
|
100
104
|
table: dc_permission
|
101
105
|
40:
|
102
106
|
caption: helpers.label.dc_folder_permission.tabletitle
|
103
107
|
controller: cmsedit
|
104
|
-
icon: shield lg
|
108
|
+
icon: shield lg
|
105
109
|
table: dc_folder_permission
|
106
110
|
60:
|
107
111
|
caption: helpers.label.dc_big_table.tabletitle
|
108
112
|
controller: cmsedit
|
109
|
-
icon: table lg
|
113
|
+
icon: table lg
|
110
114
|
table: dc_big_table
|
111
115
|
70:
|
112
116
|
caption: helpers.label.dc_key_value_store.tabletitle
|
113
117
|
controller: cmsedit
|
114
|
-
icon: list lg
|
118
|
+
icon: list lg
|
115
119
|
table: dc_key_value_store
|
116
120
|
80:
|
117
121
|
caption: helpers.label.dc_filter.tabletitle
|
118
122
|
controller: cmsedit
|
119
|
-
icon: filter lg
|
123
|
+
icon: filter lg
|
120
124
|
table: dc_filter
|
121
125
|
90:
|
122
126
|
caption: helpers.label.dc_removed_url.tabletitle
|
123
127
|
controller: cmsedit
|
124
|
-
icon: trash-o lg
|
128
|
+
icon: trash-o lg
|
125
129
|
table: dc_removed_url
|
130
|
+
400:
|
131
|
+
caption: drgcms.dc_help.title
|
132
|
+
controller: cmsedit
|
133
|
+
icon: question-circle lg
|
134
|
+
table: dc_temp
|
135
|
+
form_name: dc_help_1
|
126
136
|
500:
|
127
137
|
caption: helpers.label.dc_journal.tabletitle
|
128
138
|
controller: cmsedit
|
129
|
-
icon:
|
139
|
+
icon: history lg
|
130
140
|
table: dc_journal
|
131
141
|
|
132
142
|
600:
|
133
143
|
caption: drgcms.browse_collections
|
134
144
|
controller: cmsedit
|
135
|
-
icon: table lg
|
145
|
+
icon: table lg
|
136
146
|
table: dc_memory
|
137
147
|
form_name: dc_browse_models
|