drg_cms 0.4.39 → 0.4.53
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/README.md +49 -0
- data/app/assets/images/drg_cms/file_manager.png +0 -0
- data/app/assets/javascripts/drg_cms/drg_cms.js +8 -8
- data/app/assets/stylesheets/drg_cms/drg_cms.css +22 -20
- data/app/controllers/cmsedit_controller.rb +170 -114
- data/app/controllers/dc_application_controller.rb +142 -56
- data/app/controllers/dc_common_controller.rb +56 -34
- data/app/controllers/dc_main_controller.rb +1 -4
- data/app/controllers/drgcms_controls/dc_page_controls.rb +3 -0
- data/app/forms/all_options.yml +3 -0
- data/app/forms/cms_menu.yml +100 -117
- data/app/forms/dc_design.yml +1 -1
- data/app/forms/dc_ident.yml +37 -0
- data/app/forms/dc_menu_item.yml +1 -1
- data/app/forms/dc_permission.yml +1 -1
- data/app/forms/dc_site.yml +4 -0
- data/app/helpers/cmsedit_helper.rb +44 -80
- data/app/helpers/dc_ad_renderer.rb +27 -15
- data/app/helpers/dc_application_helper.rb +433 -196
- data/app/helpers/dc_big_menu_renderer.rb +40 -40
- data/app/helpers/dc_captcha_renderer.rb +38 -25
- data/app/helpers/dc_common_renderer.rb +15 -48
- data/app/helpers/dc_menu_renderer.rb +30 -20
- data/app/helpers/dc_page_renderer.rb +14 -18
- data/app/helpers/dc_part_renderer.rb +45 -16
- data/app/helpers/dc_piece_renderer.rb +23 -29
- data/app/helpers/dc_poll_renderer.rb +31 -20
- data/app/helpers/dc_renderer.rb +5 -4
- data/app/helpers/dc_simple_menu_renderer.rb +90 -68
- data/app/models/{__dc_global_data.rb → __dc_stat.rb} +20 -21
- data/app/models/dc_ad.rb +13 -1
- data/app/models/dc_ad_stat.rb +6 -0
- data/app/models/dc_big_menu.rb +15 -2
- data/app/models/dc_big_table.rb +27 -4
- data/app/models/dc_big_table_locale.rb +7 -0
- data/app/models/dc_big_table_value.rb +7 -0
- data/app/models/dc_category.rb +9 -3
- data/app/models/dc_design.rb +50 -0
- data/app/models/dc_dummy.rb +41 -1
- data/app/models/dc_folder_permission.rb +9 -2
- data/app/models/{dc_global_data.rb → dc_ident.rb} +20 -22
- data/app/models/dc_journal.rb +9 -1
- data/app/models/dc_key_value_store.rb +41 -4
- data/app/models/dc_link.rb +7 -0
- data/app/models/dc_menu.rb +20 -3
- data/app/models/dc_menu_item.rb +7 -0
- data/app/models/dc_page.rb +31 -12
- data/app/models/dc_part.rb +34 -4
- data/app/models/dc_permission.rb +32 -12
- data/app/models/dc_piece.rb +32 -4
- data/app/models/dc_policy.rb +17 -11
- data/app/models/dc_policy_role.rb +12 -7
- data/app/models/dc_policy_rule.rb +32 -4
- data/app/models/dc_poll.rb +8 -0
- data/app/models/dc_poll_item.rb +6 -0
- data/app/models/dc_simple_menu.rb +18 -3
- data/app/models/dc_simple_menu_item.rb +20 -2
- data/app/models/dc_site.rb +13 -3
- data/app/models/dc_stat.rb +8 -1
- data/app/models/dc_user.rb +18 -2
- data/app/models/dc_user_role.rb +7 -0
- data/app/models/dc_visit.rb +5 -0
- data/app/{helpers → models}/drgcms_form_field.rb +171 -73
- data/app/views/__dc_at_the_beginning/create.html.erb +9 -0
- data/app/views/__dc_at_the_beginning/index.html.erb +19 -0
- data/app/views/cmsedit/_edit_stuff.html.erb +2 -0
- data/app/views/cmsedit/_form.html.erb +0 -1
- data/app/views/dc_mail/subscribe.html.erb +0 -0
- data/config/initializers/kaminari_patch.rb +5 -4
- data/config/locales/drgcms_en.yml +4 -0
- data/config/locales/drgcms_sl.yml +1 -0
- data/config/locales/models_en.yml +14 -3
- data/config/locales/models_sl.yml +13 -4
- data/drg_cms.gemspec +4 -4
- data/lib/drg_cms.rb +37 -8
- data/lib/drg_cms/engine.rb +2 -2
- data/lib/drg_cms/version.rb +3 -2
- data/lib/tasks/at_the_beginning.yml +0 -0
- data/lib/tasks/dc_at_the_beginning.rake +118 -0
- data/lib/tasks/dc_cleanup.rake +19 -7
- data/lib/tasks/log_statistics.rb +66 -0
- data/lib/tasks/site_statistics.rake +29 -12
- data/test/dummy/app/controllers/application_controller.rb +1 -1
- data/test/dummy/app/helpers/application_helper.rb +1 -1
- metadata +15 -26
- data/README.rdoc +0 -3
- data/app/controllers/dc_at_the_beginning_controller.rb +0 -120
- data/app/controllers/dc_mail_controller.rb +0 -89
- data/app/forms/dc_forum_cat.yml +0 -54
- data/app/forms/dc_forum_forum.yml +0 -53
- data/app/forms/dc_forum_msg.yml +0 -124
- data/app/forms/dc_forum_privmsg.yml +0 -125
- data/app/forms/dc_forum_topic.yml +0 -131
- data/app/forms/dc_mail.yml +0 -88
- data/app/forms/dc_mail_address.yml +0 -56
- data/app/forms/dc_mail_list.yml +0 -44
- data/app/forms/dc_mail_list_member.yml +0 -42
- data/app/helpers/dc_mail_renderer.rb +0 -76
- data/app/models/dc_mail.rb +0 -64
- data/app/models/dc_mail_address.rb +0 -69
- data/app/models/dc_mail_list.rb +0 -48
- data/app/models/dc_mail_list_member.rb +0 -34
- data/app/models/dc_sendmail.rb +0 -48
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
#++
|
|
24
24
|
|
|
25
25
|
##########################################################################
|
|
26
|
-
#
|
|
26
|
+
# DRG CMS entry point for processing page request.
|
|
27
27
|
##########################################################################
|
|
28
28
|
class DcMainController < DcApplicationController
|
|
29
29
|
|
|
@@ -34,7 +34,4 @@ def page
|
|
|
34
34
|
dc_process_default_request
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
# It's easy to alias default action
|
|
38
|
-
#alias :default_action :page
|
|
39
|
-
|
|
40
37
|
end
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
23
23
|
#++
|
|
24
24
|
|
|
25
|
+
######################################################################
|
|
26
|
+
# DrgcmsControls for DcPage model.
|
|
27
|
+
######################################################################
|
|
25
28
|
module DrgcmsControls::DcPageControls
|
|
26
29
|
|
|
27
30
|
######################################################################
|
data/app/forms/all_options.yml
CHANGED
data/app/forms/cms_menu.yml
CHANGED
|
@@ -22,121 +22,104 @@
|
|
|
22
22
|
#++
|
|
23
23
|
|
|
24
24
|
menu:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
controller: cmsedit
|
|
126
|
-
picture: dc_permission.png
|
|
127
|
-
params:
|
|
128
|
-
table: dc_permission
|
|
129
|
-
-
|
|
130
|
-
caption: helpers.label.dc_folder_permission.tabletitle
|
|
131
|
-
controller: cmsedit
|
|
132
|
-
picture: dc_permission.png
|
|
133
|
-
params:
|
|
134
|
-
table: dc_folder_permission
|
|
135
|
-
-
|
|
136
|
-
caption: helpers.label.dc_journal.tabletitle
|
|
137
|
-
controller: cmsedit
|
|
138
|
-
picture: dc_journal.png
|
|
139
|
-
params:
|
|
140
|
-
table: dc_journal
|
|
141
|
-
|
|
25
|
+
50_system_menu:
|
|
26
|
+
caption: drgcms.system_menu
|
|
27
|
+
items:
|
|
28
|
+
10:
|
|
29
|
+
caption: helpers.label.dc_site.tabletitle
|
|
30
|
+
controller: cmsedit
|
|
31
|
+
picture: dc_site.png
|
|
32
|
+
params:
|
|
33
|
+
table: dc_site
|
|
34
|
+
20:
|
|
35
|
+
caption: helpers.label.dc_design.tabletitle
|
|
36
|
+
controller: cmsedit
|
|
37
|
+
picture: dc_design.png
|
|
38
|
+
params:
|
|
39
|
+
table: dc_design
|
|
40
|
+
30:
|
|
41
|
+
caption: helpers.label.dc_category.tabletitle
|
|
42
|
+
controller: cmsedit
|
|
43
|
+
picture: dc_category.png
|
|
44
|
+
params:
|
|
45
|
+
table: dc_category
|
|
46
|
+
40:
|
|
47
|
+
caption: helpers.label.dc_page.tabletitle
|
|
48
|
+
controller: cmsedit
|
|
49
|
+
picture: dc_page.png
|
|
50
|
+
params:
|
|
51
|
+
table: dc_page
|
|
52
|
+
50:
|
|
53
|
+
caption: helpers.label.dc_piece.tabletitle
|
|
54
|
+
controller: cmsedit
|
|
55
|
+
picture: dc_piece.png
|
|
56
|
+
params:
|
|
57
|
+
table: dc_piece
|
|
58
|
+
60:
|
|
59
|
+
caption: helpers.label.dc_link.tabletitle
|
|
60
|
+
controller: cmsedit
|
|
61
|
+
picture: dc_link.png
|
|
62
|
+
params:
|
|
63
|
+
table: dc_link
|
|
64
|
+
70:
|
|
65
|
+
caption: helpers.label.dc_menu.tabletitle
|
|
66
|
+
controller: cmsedit
|
|
67
|
+
picture: dc_menu.png
|
|
68
|
+
params:
|
|
69
|
+
table: dc_menu
|
|
70
|
+
80:
|
|
71
|
+
caption: helpers.label.dc_simple_menu.tabletitle
|
|
72
|
+
controller: cmsedit
|
|
73
|
+
picture: dc_simple_menu.png
|
|
74
|
+
params:
|
|
75
|
+
table: dc_simple_menu
|
|
76
|
+
90:
|
|
77
|
+
caption: helpers.label.dc_poll.tabletitle
|
|
78
|
+
controller: cmsedit
|
|
79
|
+
picture: dc_poll.png
|
|
80
|
+
params:
|
|
81
|
+
table: dc_poll
|
|
82
|
+
100:
|
|
83
|
+
caption: helpers.label.dc_ad.tabletitle
|
|
84
|
+
controller: cmsedit
|
|
85
|
+
picture: dc_ad.png
|
|
86
|
+
params:
|
|
87
|
+
table: dc_ad
|
|
88
|
+
110:
|
|
89
|
+
caption: helpers.label.dc_user.tabletitle
|
|
90
|
+
controller: cmsedit
|
|
91
|
+
picture: dc_user.png
|
|
92
|
+
params:
|
|
93
|
+
table: dc_user
|
|
94
|
+
120:
|
|
95
|
+
caption: helpers.label.dc_big_table.tabletitle
|
|
96
|
+
controller: cmsedit
|
|
97
|
+
picture: dc_big_table.png
|
|
98
|
+
params:
|
|
99
|
+
table: dc_big_table
|
|
100
|
+
130:
|
|
101
|
+
caption: helpers.label.dc_policy_role.tabletitle
|
|
102
|
+
controller: cmsedit
|
|
103
|
+
picture: dc_policy_role.png
|
|
104
|
+
params:
|
|
105
|
+
table: dc_policy_role
|
|
106
|
+
140:
|
|
107
|
+
caption: helpers.label.dc_permission.tabletitle
|
|
108
|
+
controller: cmsedit
|
|
109
|
+
picture: dc_permission.png
|
|
110
|
+
params:
|
|
111
|
+
table: dc_permission
|
|
112
|
+
150:
|
|
113
|
+
caption: helpers.label.dc_folder_permission.tabletitle
|
|
114
|
+
controller: cmsedit
|
|
115
|
+
picture: dc_permission.png
|
|
116
|
+
params:
|
|
117
|
+
table: dc_folder_permission
|
|
118
|
+
160:
|
|
119
|
+
caption: helpers.label.dc_journal.tabletitle
|
|
120
|
+
controller: cmsedit
|
|
121
|
+
picture: dc_journal.png
|
|
122
|
+
params:
|
|
123
|
+
table: dc_journal
|
|
124
|
+
|
|
142
125
|
|
data/app/forms/dc_design.yml
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Additional identification
|
|
3
|
+
table: dc_ident
|
|
4
|
+
|
|
5
|
+
index:
|
|
6
|
+
actions:
|
|
7
|
+
1: new
|
|
8
|
+
|
|
9
|
+
result_set:
|
|
10
|
+
actions:
|
|
11
|
+
1: edit
|
|
12
|
+
2: delete
|
|
13
|
+
|
|
14
|
+
columns:
|
|
15
|
+
1:
|
|
16
|
+
name: key
|
|
17
|
+
style: "text-align: left;"
|
|
18
|
+
2:
|
|
19
|
+
name: value
|
|
20
|
+
style: "text-align: left;"
|
|
21
|
+
|
|
22
|
+
form:
|
|
23
|
+
edit_title: caption
|
|
24
|
+
actions: standard
|
|
25
|
+
|
|
26
|
+
fields:
|
|
27
|
+
10:
|
|
28
|
+
name: key
|
|
29
|
+
type: text_field
|
|
30
|
+
html:
|
|
31
|
+
size: 30
|
|
32
|
+
20:
|
|
33
|
+
name: value
|
|
34
|
+
type: file_select
|
|
35
|
+
html:
|
|
36
|
+
size: 50
|
|
37
|
+
|
data/app/forms/dc_menu_item.yml
CHANGED
data/app/forms/dc_permission.yml
CHANGED
data/app/forms/dc_site.yml
CHANGED
|
@@ -20,35 +20,19 @@
|
|
|
20
20
|
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
21
21
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
22
|
#++
|
|
23
|
-
module CmseditHelper
|
|
24
|
-
attr_reader :js
|
|
25
23
|
|
|
26
|
-
|
|
24
|
+
###########################################################################
|
|
27
25
|
#
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
########################################################################
|
|
37
|
-
# Since tabs it is a little more complicated to return all field names on form
|
|
38
|
-
########################################################################
|
|
39
|
-
def dc_fields_on_form()
|
|
40
|
-
r = []
|
|
41
|
-
@form['form'].keys.each do |k|
|
|
42
|
-
# ignore some keywords
|
|
43
|
-
next if k.match('actions')
|
|
44
|
-
# second element of array is hash. Get only name element of hash
|
|
45
|
-
@form['form'][k].each {|f| r << f[1]['name'] }
|
|
46
|
-
end
|
|
47
|
-
r
|
|
48
|
-
end
|
|
26
|
+
# CmseditHelper module defines helper methods used by cmsedit actions. Output is controlled by
|
|
27
|
+
# data found in 3 major sections of DRG CMS form: index, result_set and form sections.
|
|
28
|
+
#
|
|
29
|
+
###########################################################################
|
|
30
|
+
module CmseditHelper
|
|
31
|
+
# javascript part created by form helpers
|
|
32
|
+
attr_reader :js
|
|
49
33
|
|
|
50
34
|
############################################################################
|
|
51
|
-
# Creates
|
|
35
|
+
# Creates action div for cmsedit index action.
|
|
52
36
|
############################################################################
|
|
53
37
|
def dc_actions_for_index()
|
|
54
38
|
return '' if @form['index'].nil?
|
|
@@ -126,7 +110,7 @@ end
|
|
|
126
110
|
############################################################################
|
|
127
111
|
# Subroutine of dc_div_filter
|
|
128
112
|
############################################################################
|
|
129
|
-
def _get_field_def(name)
|
|
113
|
+
def _get_field_def(name) #:nodoc:
|
|
130
114
|
@form['form'].each do |tab|
|
|
131
115
|
next if tab.first.match('actions')
|
|
132
116
|
tab.each do |field|
|
|
@@ -140,7 +124,7 @@ end
|
|
|
140
124
|
############################################################################
|
|
141
125
|
# Finds field definition on form and use it for filter input. Subroutine of dc_div_filter.
|
|
142
126
|
############################################################################
|
|
143
|
-
def _get_field_div(name)
|
|
127
|
+
def _get_field_div(name) #:nodoc:
|
|
144
128
|
# field not defined on form. Must be defined: name as form_field_type
|
|
145
129
|
if name.match(' as ')
|
|
146
130
|
name, dummy, type = name.split(' ')
|
|
@@ -156,7 +140,7 @@ def _get_field_div(name) #NODOC
|
|
|
156
140
|
end
|
|
157
141
|
|
|
158
142
|
############################################################################
|
|
159
|
-
# Creates filter div for index/filter action.
|
|
143
|
+
# Creates filter div for cmsedit index/filter action.
|
|
160
144
|
############################################################################
|
|
161
145
|
def dc_div_filter()
|
|
162
146
|
choices, inputs = [], ''
|
|
@@ -190,7 +174,8 @@ EOT
|
|
|
190
174
|
end
|
|
191
175
|
|
|
192
176
|
############################################################################
|
|
193
|
-
# Creates title for result
|
|
177
|
+
# Creates title div for cmsedit index result set records. Title div also includes paging
|
|
178
|
+
# options.
|
|
194
179
|
############################################################################
|
|
195
180
|
def dc_table_title_for_result(result=nil)
|
|
196
181
|
title = if @form['title'] # form has title section
|
|
@@ -202,9 +187,9 @@ def dc_table_title_for_result(result=nil)
|
|
|
202
187
|
end
|
|
203
188
|
|
|
204
189
|
############################################################################
|
|
205
|
-
# Creates code for link or ajax action type
|
|
190
|
+
# Creates code for link or ajax action type. Subroutine of dc_actions_for_result.
|
|
206
191
|
############################################################################
|
|
207
|
-
def dc_link_or_ajax(yaml, parms)
|
|
192
|
+
def dc_link_or_ajax(yaml, parms) #:nodoc:
|
|
208
193
|
method = yaml['method'] || yaml['request'] || 'get'
|
|
209
194
|
caption = yaml['caption'] || yaml['text']
|
|
210
195
|
p "Form: result_set:action:text directive will be deprecated. Use caption instead of text." if yaml['text']
|
|
@@ -226,7 +211,7 @@ def dc_link_or_ajax(yaml, parms)
|
|
|
226
211
|
end
|
|
227
212
|
|
|
228
213
|
############################################################################
|
|
229
|
-
# Creates actions
|
|
214
|
+
# Creates actions that could be performed on single row of result set.
|
|
230
215
|
############################################################################
|
|
231
216
|
def dc_actions_for_result(record)
|
|
232
217
|
actions = @form['result_set']['actions']
|
|
@@ -286,7 +271,7 @@ def dc_actions_for_result(record)
|
|
|
286
271
|
end
|
|
287
272
|
|
|
288
273
|
############################################################################
|
|
289
|
-
# Creates
|
|
274
|
+
# Creates header div for result set.
|
|
290
275
|
############################################################################
|
|
291
276
|
def dc_header_for_result()
|
|
292
277
|
c = ''
|
|
@@ -314,10 +299,10 @@ def dc_header_for_result()
|
|
|
314
299
|
end
|
|
315
300
|
|
|
316
301
|
############################################################################
|
|
317
|
-
# Formats value
|
|
318
|
-
#TODO Enable formating numbers.
|
|
302
|
+
# Formats value according to format supplied or data type. There is lots of things missing here.
|
|
319
303
|
############################################################################
|
|
320
304
|
def dc_format_value(value, format=nil)
|
|
305
|
+
# :TODO: Enable formating numbers.
|
|
321
306
|
return '' if value.nil?
|
|
322
307
|
klass = value.class.to_s
|
|
323
308
|
if klass.match('Time')
|
|
@@ -332,7 +317,7 @@ def dc_format_value(value, format=nil)
|
|
|
332
317
|
end
|
|
333
318
|
|
|
334
319
|
############################################################################
|
|
335
|
-
# Creates
|
|
320
|
+
# Creates div with documents of current result set.
|
|
336
321
|
############################################################################
|
|
337
322
|
def dc_columns_for_result(document)
|
|
338
323
|
html = ''
|
|
@@ -379,19 +364,12 @@ def dc_columns_for_result(document)
|
|
|
379
364
|
end
|
|
380
365
|
|
|
381
366
|
############################################################################
|
|
382
|
-
#
|
|
383
|
-
############################################################################
|
|
384
|
-
def dc_dialog_for_sort()
|
|
385
|
-
|
|
386
|
-
end
|
|
387
|
-
|
|
388
|
-
############################################################################
|
|
389
|
-
# Creates actions for form
|
|
367
|
+
# Creates actions div for edit form
|
|
390
368
|
############################################################################
|
|
391
369
|
def dc_actions_for_form()
|
|
392
370
|
# create standard actions
|
|
393
|
-
std_actions = {' 1' => 'back', ' 2' => {'type' => 'submit', 'caption' => '
|
|
394
|
-
' 3' => {'type' => 'submit', 'caption' => '
|
|
371
|
+
std_actions = {' 1' => 'back', ' 2' => {'type' => 'submit', 'caption' => 'drgcms.save'},
|
|
372
|
+
' 3' => {'type' => 'submit', 'caption' => 'drgcms.save&back'} }
|
|
395
373
|
# when edit only
|
|
396
374
|
unless @record.id.nil?
|
|
397
375
|
# std_actions.merge!({' 4' => 'delete', ' 6' => 'new'} ) # delete is not OK here
|
|
@@ -411,9 +389,9 @@ def dc_actions_for_form()
|
|
|
411
389
|
actions.each do |k,v|
|
|
412
390
|
if v.class == String
|
|
413
391
|
if v.match(/save\&back/i)
|
|
414
|
-
actions[k] = {'type' => 'submit', 'caption' => '
|
|
392
|
+
actions[k] = {'type' => 'submit', 'caption' => 'drgcms.save&back'}
|
|
415
393
|
elsif v == 'save'
|
|
416
|
-
actions[k] = {'type' => 'submit', 'caption' => '
|
|
394
|
+
actions[k] = {'type' => 'submit', 'caption' => 'drgcms.save'}
|
|
417
395
|
end
|
|
418
396
|
end
|
|
419
397
|
end
|
|
@@ -438,7 +416,7 @@ def dc_actions_for_form()
|
|
|
438
416
|
c << case
|
|
439
417
|
when (v == 'back' or v == 'cancle') then
|
|
440
418
|
# If return_to is present link directly to URL
|
|
441
|
-
if parms['xreturn_to']
|
|
419
|
+
if parms['xreturn_to'] # disabled for now
|
|
442
420
|
link_to(t('drgcms.back'), parms['return_to'] )
|
|
443
421
|
else
|
|
444
422
|
parms['action'] = 'index'
|
|
@@ -465,16 +443,17 @@ def dc_actions_for_form()
|
|
|
465
443
|
c << case
|
|
466
444
|
# submit button
|
|
467
445
|
when v['type'] == 'submit'
|
|
468
|
-
|
|
446
|
+
caption = v['caption'] || 'drgcms.save'
|
|
469
447
|
'<td class="dc-link-submit dc-animate">' +
|
|
470
|
-
submit_tag(t(
|
|
448
|
+
submit_tag(t(caption, caption), :data => v['params'], :class => 'dc-submit') +
|
|
471
449
|
'</td>'
|
|
472
450
|
# delete with some sugar added
|
|
473
451
|
when v['type'] == 'delete'
|
|
474
452
|
parms['id'] = @record.id
|
|
475
453
|
parms.merge!(v['params'])
|
|
454
|
+
caption = v['caption'] || 'drgcms.delete'
|
|
476
455
|
'<td class="dc-link dc-animate">' +
|
|
477
|
-
link_to( t(
|
|
456
|
+
link_to( t(caption, caption), parms, data: t('drgcms.confirm_delete'), method: :delete ) +
|
|
478
457
|
'</td>'
|
|
479
458
|
# ajax or link button
|
|
480
459
|
when v['type'] == 'ajax' || v['type'] == 'link'
|
|
@@ -523,14 +502,15 @@ end
|
|
|
523
502
|
|
|
524
503
|
############################################################################
|
|
525
504
|
# Checks if value is defined and sets default. If values are sent it also checks
|
|
526
|
-
# if value is found in values. If not it will report error and set value to default
|
|
505
|
+
# if value is found in values. If not it will report error and set value to default.
|
|
506
|
+
# Subroutine of dc_fields_for_tab.
|
|
527
507
|
############################################################################
|
|
528
|
-
def dc_check_and_default(value, default, values=nil)
|
|
508
|
+
def dc_check_and_default(value, default, values=nil) #:nodoc:
|
|
529
509
|
return default if value.nil?
|
|
530
510
|
# check if value is within allowed values
|
|
531
511
|
if values
|
|
532
512
|
if !values.index(value)
|
|
533
|
-
# parameters should be in
|
|
513
|
+
# parameters should be in downcase. Check downcase version.
|
|
534
514
|
if n = values.index(value.downcase)
|
|
535
515
|
return values[n]
|
|
536
516
|
else
|
|
@@ -545,7 +525,7 @@ end
|
|
|
545
525
|
############################################################################
|
|
546
526
|
# Creates input field for one tab. Subroutine of dc_fields_for_form.
|
|
547
527
|
############################################################################
|
|
548
|
-
def dc_fields_for_tab(fields)
|
|
528
|
+
def dc_fields_for_tab(fields) #:nodoc:
|
|
549
529
|
@js ||= ''
|
|
550
530
|
html = '<table class="dc-form-table">'
|
|
551
531
|
labels_pos = dc_check_and_default(@form['form']['labels_pos'], 'right', ['top','left','right'])
|
|
@@ -574,9 +554,9 @@ def dc_fields_for_tab(fields) #NODOC
|
|
|
574
554
|
klas_string = options['type'].camelize
|
|
575
555
|
field_html = if DrgcmsFormField.const_defined?(klas_string) # check if field type is defined
|
|
576
556
|
klas = DrgcmsFormField.const_get(klas_string)
|
|
577
|
-
|
|
578
|
-
@js <<
|
|
579
|
-
|
|
557
|
+
field = klas.new(self, @record, options).render
|
|
558
|
+
@js << field.js
|
|
559
|
+
field.html
|
|
580
560
|
else # litle error string
|
|
581
561
|
"Error: Code for field type #{options['type']} not defined!"
|
|
582
562
|
end
|
|
@@ -590,22 +570,12 @@ def dc_fields_for_tab(fields) #NODOC
|
|
|
590
570
|
<label for="record_#{options['name']}">#{text} </label></td>
|
|
591
571
|
<td id=\"td_record_#{options['name']}\" class=\"dc-form-field dc-color-#{odd_even}\">#{field_html}</td></tr>]
|
|
592
572
|
end
|
|
593
|
-
=begin
|
|
594
|
-
html << "<tr><td class=\"dc-form-label-#{odd_even}\" title=\"#{help}\">"
|
|
595
|
-
html << "<label for=\"record_#{options['name']}\">#{text} </label>"
|
|
596
|
-
html << (labels_pos == 'top' ? '<br> ': '</td>')
|
|
597
|
-
html << (labels_pos == 'top' ? '<div ' : '<td ')
|
|
598
|
-
html << "id=\"td_record_#{options['name']}\" class=\"dc-form-field-#{odd_even}\">#{field_html}"
|
|
599
|
-
html << (labels_pos == 'top' ? '</div>': '</td>')
|
|
600
|
-
html << '</tr>'
|
|
601
|
-
=end
|
|
602
|
-
# html << "<td id=\"td_record_#{options['name']}\" class=\"dc-form-field-#{odd_even}\">#{field_html}</td></tr>"
|
|
603
573
|
end
|
|
604
574
|
html << '</table></table>'
|
|
605
575
|
end
|
|
606
576
|
|
|
607
577
|
############################################################################
|
|
608
|
-
#
|
|
578
|
+
# Creates edit form div.
|
|
609
579
|
############################################################################
|
|
610
580
|
def dc_fields_for_form()
|
|
611
581
|
if @form['edit']
|
|
@@ -651,9 +621,9 @@ def dc_fields_for_form()
|
|
|
651
621
|
end
|
|
652
622
|
|
|
653
623
|
############################################################################
|
|
654
|
-
# Subroutine of dc_document_statistics
|
|
624
|
+
# Returns username for id. Subroutine of dc_document_statistics
|
|
655
625
|
############################################################################
|
|
656
|
-
def _get_user_for(field_name)
|
|
626
|
+
def _get_user_for(field_name) #:nodoc:
|
|
657
627
|
if @record[field_name]
|
|
658
628
|
u = DcUser.find(@record[field_name])
|
|
659
629
|
return u ? u.name : @record[field_name]
|
|
@@ -662,8 +632,8 @@ def _get_user_for(field_name) #NODOC
|
|
|
662
632
|
end
|
|
663
633
|
|
|
664
634
|
############################################################################
|
|
665
|
-
#
|
|
666
|
-
# + lots of more.
|
|
635
|
+
# Creates current document statistics div (created_by, created_at, ....) at the bottom of edit form.
|
|
636
|
+
# + lots of more. At the moment also adds icon for dumping current document as json text.
|
|
667
637
|
############################################################################
|
|
668
638
|
def dc_document_statistics
|
|
669
639
|
return '' if @record.new_record? or dc_dont?(@form['form']['info'])
|
|
@@ -689,10 +659,4 @@ def dc_document_statistics
|
|
|
689
659
|
html.html_safe
|
|
690
660
|
end
|
|
691
661
|
|
|
692
|
-
############################################################################
|
|
693
|
-
# Insert edit menu into page
|
|
694
|
-
############################################################################
|
|
695
|
-
def dc_get_edit_stuff(body) #NODOC
|
|
696
|
-
end
|
|
697
|
-
|
|
698
662
|
end
|