drg_cms 0.6.0.3 → 0.6.0.6
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 +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
|