drg_cms 0.6.0.3 → 0.6.0.6
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 +259 -102
- data/app/assets/javascripts/drg_cms_cms.js +1 -1
- data/app/assets/stylesheets/drg_cms/drg_cms.css +314 -142
- data/app/assets/stylesheets/drg_cms/select-multiple.css +11 -2
- data/app/controllers/cmsedit_controller.rb +313 -236
- data/app/controllers/dc_application_controller.rb +29 -4
- data/app/controllers/dc_common_controller.rb +19 -16
- data/app/{controllers → controls}/browse_models_control.rb +0 -0
- data/app/{controllers → controls}/dc_page_control.rb +24 -8
- data/app/controls/dc_poll_result_control.rb +88 -0
- data/app/{controllers → controls}/design_element_settings_control.rb +0 -0
- data/app/forms/all_options.yml +11 -3
- data/app/forms/cms_menu.yml +22 -18
- data/app/forms/dc_design.yml +6 -3
- data/app/forms/dc_filter.yml +3 -6
- data/app/forms/dc_poll_result.yml +74 -0
- data/app/forms/dc_poll_result_export.yml +35 -0
- data/app/helpers/cmsedit_edit_helper.rb +471 -0
- data/app/helpers/cmsedit_helper.rb +151 -821
- data/app/helpers/cmsedit_index_helper.rb +567 -0
- data/app/helpers/dc_application_helper.rb +48 -31
- data/app/models/{dc_dummy.rb → __dc_dummy.rb} +0 -0
- data/app/models/dc_filter.rb +12 -5
- data/app/models/dc_memory.rb +8 -1
- data/app/models/dc_poll.rb +38 -19
- data/app/models/dc_poll_result.rb +44 -0
- data/app/models/dc_temp.rb +137 -0
- data/app/models/drgcms_form_fields/action.rb +61 -0
- data/app/models/drgcms_form_fields/comment.rb +8 -4
- data/app/models/drgcms_form_fields/date_picker.rb +7 -6
- data/app/models/drgcms_form_fields/date_select.rb +1 -1
- data/app/models/drgcms_form_fields/datetime_picker.rb +8 -7
- data/app/models/drgcms_form_fields/datetime_select.rb +1 -1
- data/app/models/drgcms_form_fields/drgcms_field.rb +39 -7
- data/app/models/drgcms_form_fields/embedded.rb +7 -2
- data/app/models/drgcms_form_fields/file_field.rb +52 -0
- data/app/models/drgcms_form_fields/html_field.rb +1 -1
- data/app/models/drgcms_form_fields/multitext_autocomplete.rb +7 -4
- data/app/models/drgcms_form_fields/number_field.rb +15 -6
- data/app/models/drgcms_form_fields/radio.rb +91 -0
- data/app/models/drgcms_form_fields/readonly.rb +1 -1
- data/app/models/drgcms_form_fields/select.rb +14 -2
- data/app/models/drgcms_form_fields/text_area.rb +1 -1
- data/app/models/drgcms_form_fields/text_autocomplete.rb +1 -1
- 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 +11 -3
- data/app/renderers/dc_poll_renderer.rb +29 -11
- 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 +2 -4
- 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 +2 -1
- data/app/views/cmsedit/index.html.erb +6 -1
- data/app/views/cmsedit/new.html.erb +1 -1
- data/config/locales/drgcms_en.yml +7 -0
- data/config/locales/drgcms_sl.yml +8 -1
- data/config/locales/models_en.yml +13 -4
- data/config/locales/models_sl.yml +13 -2
- data/drg_cms.gemspec +1 -1
- data/lib/drg_cms.rb +1 -0
- data/lib/drg_cms/version.rb +1 -1
- data/lib/generators/new_drg_form/new_drg_form_generator.rb +7 -2
- metadata +20 -13
- data/app/assets/stylesheets/drg_cms/__jquery-ui.css +0 -339
- data/test/fixtures/drg_cms_test_data.rb +0 -87
@@ -128,8 +128,7 @@ def dc_find_form_file(form_file)
|
|
128
128
|
f = "#{path}/#{form_file}.yml"
|
129
129
|
return f if File.exist?(f) and (form_path.nil? or path.to_s.match(/\/#{form_path}\//i))
|
130
130
|
end
|
131
|
-
|
132
|
-
nil
|
131
|
+
raise "Exception: Form file '#{form_file}' not found!"
|
133
132
|
end
|
134
133
|
|
135
134
|
#######################################################################
|
@@ -598,6 +597,14 @@ def clear_login_data
|
|
598
597
|
cookies.delete :remember_me
|
599
598
|
end
|
600
599
|
|
600
|
+
############################################################################
|
601
|
+
# Sets at least default guest user to user roles when no user is set.
|
602
|
+
############################################################################
|
603
|
+
def set_default_guest_user_role
|
604
|
+
guest = DcPolicyRole.find_by(system_name: 'guest')
|
605
|
+
session[:user_roles] = [guest.id] if guest
|
606
|
+
end
|
607
|
+
|
601
608
|
####################################################################
|
602
609
|
# Fills session with data related to successful login.
|
603
610
|
#
|
@@ -610,8 +617,9 @@ def fill_login_data(user, remember_me=false)
|
|
610
617
|
session[:edit_mode] = 0
|
611
618
|
session[:user_roles] = []
|
612
619
|
# Every user has guest role
|
613
|
-
guest = DcPolicyRole.find_by(system_name: 'guest')
|
614
|
-
session[:user_roles] << guest.id if guest
|
620
|
+
# guest = DcPolicyRole.find_by(system_name: 'guest')
|
621
|
+
# session[:user_roles] << guest.id if guest
|
622
|
+
set_default_guest_user_role
|
615
623
|
return unless user and user.active
|
616
624
|
# special for SUPERADMIN
|
617
625
|
sa = DcPolicyRole.find_by(system_name: 'superadmin')
|
@@ -715,4 +723,21 @@ def dc_add_meta_tag(type, name, content)
|
|
715
723
|
@meta_tags[key] = content
|
716
724
|
end
|
717
725
|
|
726
|
+
########################################################################
|
727
|
+
# Will prepare flash[:update] data, which will be used for updating fields
|
728
|
+
# on forms parent form fields.
|
729
|
+
#
|
730
|
+
# Parameters:
|
731
|
+
# [field_name] String: Field name
|
732
|
+
# [value] String: New value
|
733
|
+
# [readonly] Boolean: Field is readonly
|
734
|
+
#
|
735
|
+
########################################################################
|
736
|
+
def dc_update_form_field(field_name, value, readonly=false)
|
737
|
+
key_name = (readonly ? 'td_' : '') + "record_#{field_name}"
|
738
|
+
flash[:update] ||= {}
|
739
|
+
flash[:update][key_name] = value
|
740
|
+
end
|
741
|
+
|
742
|
+
|
718
743
|
end
|
@@ -45,7 +45,12 @@ layout false
|
|
45
45
|
# JSON array [label, value, id] of first 20 documents that confirm to query.
|
46
46
|
########################################################################
|
47
47
|
def autocomplete
|
48
|
-
#
|
48
|
+
# table parameter must be defined. If not, get it from search parameter
|
49
|
+
if params['table'].nil? and params['search'].match(/\./)
|
50
|
+
name = params['search'].split('.').first
|
51
|
+
params['table'] = name.underscore
|
52
|
+
end
|
53
|
+
|
49
54
|
return render plain: t('drgcms.not_authorized') unless dc_user_can(DcPermission::CAN_VIEW)
|
50
55
|
# TODO Double check if previous line works as it should.
|
51
56
|
table = params['table'].classify.constantize
|
@@ -88,26 +93,24 @@ end
|
|
88
93
|
##########################################################################
|
89
94
|
def toggle_edit_mode
|
90
95
|
session[:edit_mode] ||= 0
|
91
|
-
#
|
92
|
-
if session[:edit_mode] < 1
|
93
|
-
dc_render_404
|
94
|
-
else
|
96
|
+
# error when not logged in
|
97
|
+
return dc_render_404 if session[:edit_mode] < 1
|
95
98
|
# if return_to_ypos parameter is present it will forward it and thus scroll to
|
96
99
|
# aproximate position it was when toggle was clicked
|
97
|
-
|
98
|
-
|
100
|
+
session[:edit_mode] = (session[:edit_mode] == 1) ? 2 : 1
|
101
|
+
uri = Rack::Utils.parse_nested_query(request.url)
|
99
102
|
# it parses only on & so first (return_to) parameter also contains url
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
103
|
+
url = uri.first.last
|
104
|
+
if (i = url.index('return_to_ypos')).to_i > 0
|
105
|
+
url = url[0,i-1]
|
106
|
+
end
|
104
107
|
# offset CMS menu
|
105
|
-
|
106
|
-
|
107
|
-
end
|
108
|
-
url << "?return_to_ypos=#{ypos}"
|
109
|
-
redirect_to url
|
108
|
+
if (ypos = uri['return_to_ypos'].to_i) > 0
|
109
|
+
ypos += session[:edit_mode] == 2 ? 250 : -250
|
110
110
|
end
|
111
|
+
url << (url.match(/\?/) ? '&' : '?')
|
112
|
+
url << "return_to_ypos=#{ypos}"
|
113
|
+
redirect_to url
|
111
114
|
end
|
112
115
|
|
113
116
|
####################################################################
|
File without changes
|
@@ -31,12 +31,29 @@ module DcPageControl
|
|
31
31
|
# Called when new empty record is created
|
32
32
|
######################################################################
|
33
33
|
def dc_new_record()
|
34
|
-
|
35
|
-
|
36
|
-
#
|
37
|
-
|
38
|
-
|
39
|
-
|
34
|
+
# Called from menu. Fill in values, that could be obtained from menu
|
35
|
+
if params[:from_menu]
|
36
|
+
# find menu and submenu. Menu class is defined in Site.
|
37
|
+
menu_a = params[:id].split(';')
|
38
|
+
menu = dc_get_site.menu_klass.find(menu_a.shift)
|
39
|
+
menu_items_method = "#{dc_get_site.menu_class}_items".underscore
|
40
|
+
menu_i = menu.send(menu_items_method).find(menu_a.shift)
|
41
|
+
while menu_a.size > 0 do menu_i = menu_i.send(menu_items_method).find(menu_a.shift) end
|
42
|
+
# Fill values for form
|
43
|
+
@record.subject = menu_i.caption
|
44
|
+
@record.dc_site_id = menu.dc_site_id
|
45
|
+
@record.menu_id = params[:id]
|
46
|
+
# set update_menu on save parameter
|
47
|
+
params['p__update_menu'] = '1'
|
48
|
+
else
|
49
|
+
@record.design_id = params[:design_id] if params[:design_id]
|
50
|
+
return unless params[:page_id]
|
51
|
+
# inherit some values from currently active page
|
52
|
+
if page = DcPage.find(params[:page_id])
|
53
|
+
@record.design_id = page.design_id
|
54
|
+
@record.menu = page.menu
|
55
|
+
@record.dc_site_id = page.dc_site_id
|
56
|
+
end
|
40
57
|
end
|
41
58
|
end
|
42
59
|
|
@@ -44,8 +61,7 @@ end
|
|
44
61
|
# Called just after record is saved to DB.
|
45
62
|
######################################################################
|
46
63
|
def dc_after_save()
|
47
|
-
if params
|
48
|
-
# menu_class = dc_get_site.menu_class.classify.constantize
|
64
|
+
if params.dig(:_record,:_update_menu).to_s == '1'
|
49
65
|
dc_get_site.menu_klass.update_menu_item_link(@record)
|
50
66
|
end
|
51
67
|
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
#--
|
3
|
+
# Copyright (c) 2014+ Damjan Rems
|
4
|
+
#
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
# a copy of this software and associated documentation files (the
|
7
|
+
# "Software"), to deal in the Software without restriction, including
|
8
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
# the following conditions:
|
12
|
+
#
|
13
|
+
# The above copyright notice and this permission notice shall be
|
14
|
+
# included in all copies or substantial portions of the Software.
|
15
|
+
#
|
16
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
23
|
+
#++
|
24
|
+
|
25
|
+
######################################################################
|
26
|
+
# DrgcmsControls for DcPage model.
|
27
|
+
######################################################################
|
28
|
+
module DcPollResultControl
|
29
|
+
|
30
|
+
######################################################################
|
31
|
+
# Filter result data when filter is set
|
32
|
+
######################################################################
|
33
|
+
def poll_filter()
|
34
|
+
get_query
|
35
|
+
end
|
36
|
+
|
37
|
+
######################################################################
|
38
|
+
# Filter action called. Update url to reflect filter conditions and reload form.
|
39
|
+
######################################################################
|
40
|
+
def do_filter
|
41
|
+
url = url_for(controller: :cmsedit, action: :index, table: :dc_poll_result,
|
42
|
+
'record[dc_poll_id]' => params[:record][:dc_poll_id],
|
43
|
+
'record[start_date]' => params[:record][:start_date],
|
44
|
+
'record[end_date]' => params[:record][:end_date]
|
45
|
+
)
|
46
|
+
dc_render_ajax(operation: :url, value: url)
|
47
|
+
end
|
48
|
+
|
49
|
+
######################################################################
|
50
|
+
# Export data to file
|
51
|
+
######################################################################
|
52
|
+
def do_export
|
53
|
+
c, keys = '', []
|
54
|
+
get_query.to_a.each do |doc|
|
55
|
+
# ensure, that fields are always in same order
|
56
|
+
data = YAML.load(doc.data)
|
57
|
+
if c.blank?
|
58
|
+
data.each {|k,v| keys << k}
|
59
|
+
c << I18n.t('helpers.label.dc_poll_result.created_at') + "\t"
|
60
|
+
c << keys.join("\t") + "\n"
|
61
|
+
end
|
62
|
+
c << doc.created_at.strftime(I18n.t('date.formats.default') ) + "\t"
|
63
|
+
keys.each {|k| c << data[k] + "\t"}
|
64
|
+
c << "\n"
|
65
|
+
end
|
66
|
+
File.write(Rails.root.join('public','export.csv'), c)
|
67
|
+
dc_render_ajax(operation: :window, value: 'export.csv')
|
68
|
+
end
|
69
|
+
|
70
|
+
private
|
71
|
+
######################################################################
|
72
|
+
# Creates query for Poll results
|
73
|
+
######################################################################
|
74
|
+
def get_query()
|
75
|
+
if params.dig(:record,:dc_poll_id).nil?
|
76
|
+
qry = DcPollResult.all
|
77
|
+
else
|
78
|
+
qry = DcPollResult.where(dc_poll_id: params[:record][:dc_poll_id])
|
79
|
+
unless params[:record][:start_date].blank?
|
80
|
+
start_date = DrgcmsFormFields::DatePicker.get_data(params,'start_date').beginning_of_day
|
81
|
+
end_date = DrgcmsFormFields::DatePicker.get_data(params,'end_date').end_of_day
|
82
|
+
qry = qry.and(:created_at.gt => start_date).and(:created_at.lt => end_date)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
qry
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
File without changes
|
data/app/forms/all_options.yml
CHANGED
@@ -7,9 +7,16 @@ controls: controls_file
|
|
7
7
|
readonly: 1
|
8
8
|
permissions:
|
9
9
|
can_view: role_name
|
10
|
+
|
11
|
+
script: "
|
12
|
+
javascript code
|
13
|
+
"
|
10
14
|
|
11
15
|
index:
|
12
16
|
filter: name, id as text_field
|
17
|
+
select_fields: id,name
|
18
|
+
deny_fields: body,email
|
19
|
+
|
13
20
|
actions: standard
|
14
21
|
|
15
22
|
actions:
|
@@ -18,6 +25,7 @@ index:
|
|
18
25
|
3: sort
|
19
26
|
|
20
27
|
actions:
|
28
|
+
standard: yes
|
21
29
|
1:
|
22
30
|
type: new
|
23
31
|
caption: Alternative caption
|
@@ -51,7 +59,7 @@ result_set:
|
|
51
59
|
table_class: tclass
|
52
60
|
tr_style: 'color: green;'
|
53
61
|
tr_class: trclass
|
54
|
-
|
62
|
+
tr_style:
|
55
63
|
eval: "document['result'] < 0 ? 'color: red;' : 'color: #000;'"
|
56
64
|
|
57
65
|
actions: standard
|
@@ -107,8 +115,7 @@ form:
|
|
107
115
|
title:
|
108
116
|
edit: Title for edit
|
109
117
|
show: Title for show
|
110
|
-
labels_pos: top
|
111
|
-
|
118
|
+
labels_pos: top
|
112
119
|
|
113
120
|
actions: standard
|
114
121
|
actions: none
|
@@ -120,6 +127,7 @@ form:
|
|
120
127
|
action: action
|
121
128
|
method: (get),put,post
|
122
129
|
caption: ajax_call
|
130
|
+
control: control_name.method_to_call
|
123
131
|
when_new: false
|
124
132
|
5:
|
125
133
|
type: window
|
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,52 @@ 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
|
126
130
|
500:
|
127
131
|
caption: helpers.label.dc_journal.tabletitle
|
128
132
|
controller: cmsedit
|
129
|
-
icon: undo lg
|
133
|
+
icon: undo lg
|
130
134
|
table: dc_journal
|
131
135
|
|
132
136
|
600:
|
133
137
|
caption: drgcms.browse_collections
|
134
138
|
controller: cmsedit
|
135
|
-
icon: table lg
|
139
|
+
icon: table lg
|
136
140
|
table: dc_memory
|
137
141
|
form_name: dc_browse_models
|
data/app/forms/dc_design.yml
CHANGED
@@ -4,7 +4,7 @@ title: Site design
|
|
4
4
|
table: dc_design
|
5
5
|
|
6
6
|
index:
|
7
|
-
filter: description, body as text_field
|
7
|
+
filter: description, body as text_field, site_id
|
8
8
|
actions: standard
|
9
9
|
|
10
10
|
result_set:
|
@@ -17,9 +17,12 @@ result_set:
|
|
17
17
|
3: delete
|
18
18
|
|
19
19
|
columns:
|
20
|
-
|
20
|
+
10:
|
21
21
|
name: description
|
22
|
-
width:
|
22
|
+
width: 50%
|
23
|
+
20:
|
24
|
+
name: updated_at
|
25
|
+
|
23
26
|
|
24
27
|
form:
|
25
28
|
title:
|
data/app/forms/dc_filter.yml
CHANGED
@@ -29,15 +29,13 @@ form:
|
|
29
29
|
10:
|
30
30
|
name: description
|
31
31
|
type: text_field
|
32
|
-
|
33
|
-
size: 50
|
32
|
+
size: 50
|
34
33
|
|
35
34
|
20:
|
36
35
|
name: table
|
37
36
|
type: text_with_select
|
38
37
|
eval: dc_choices4_all_collections
|
39
|
-
|
40
|
-
size: 30
|
38
|
+
size: 30
|
41
39
|
|
42
40
|
30:
|
43
41
|
name: dc_user_id
|
@@ -52,5 +50,4 @@ form:
|
|
52
50
|
50:
|
53
51
|
name: filter
|
54
52
|
type: text_area
|
55
|
-
|
56
|
-
size: 80x20
|
53
|
+
size: 80x20
|