drg_cms 0.5.2 → 0.5.3
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 +1 -1
- data/app/controllers/dc_application_controller.rb +10 -3
- data/app/forms/dc_page.yml +13 -8
- data/app/forms/dc_user.yml +109 -113
- data/app/helpers/dc_application_helper.rb +3 -1
- data/app/helpers/dc_simple_menu_renderer.rb +6 -4
- data/app/models/dc_page.rb +1 -0
- data/app/views/cmsedit/_result.html.erb +1 -1
- data/config/locales/models_en.yml +3 -0
- data/config/locales/models_sl.yml +7 -4
- data/lib/drg_cms/version.rb +1 -1
- data/lib/examples/extend_database_model/dc_user.rb +19 -0
- data/lib/examples/extend_database_model/dc_user.yml +11 -0
- data/lib/examples/extend_database_model/locale_en.yml +13 -0
- data/lib/examples/extend_database_model/locale_sl.yml +13 -0
- data/lib/examples/image gallery/gallery.yml +58 -0
- data/lib/examples/image gallery/gallery_renderer.rb +74 -0
- data/lib/examples/picture gallery/gallery_renderer.rb +74 -0
- data/lib/examples/responsive/design.erb +35 -0
- data/lib/examples/responsive/mailing.rb +32 -0
- data/lib/examples/responsive/responsive.css +27 -0
- data/lib/examples/responsive/responsive_controller.rb +56 -0
- data/lib/examples/responsive/responsive_renderer.rb +104 -0
- data/lib/examples/responsive/responsive_views/_send_mail.erb +4 -0
- data/lib/tasks/dc_at_the_beginning.rake +103 -12
- metadata +15 -3
- data/lib/tasks/drg_cms_tasks.rake +0 -118
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65d229ac8eb1045776751d341d8f0d15964a7006
|
4
|
+
data.tar.gz: 035c9ee8254c4c9c2d2933eb498366c73279afc8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db1f82f1c6c9bd23dbde2e59f687d4ff5890b9169600dba872c538213cb6e60866a20f32a4cb5e2e067246b046effb0975ef67c945dff6708ad1dc2d176d7ce6
|
7
|
+
data.tar.gz: 182856d300f43127a0539b66bfb4339e206c9e68e77e37261a24895b6edb1b8e92d8fffae9fe2ab7b65964d7309c052ce9d48fb31630062d94038d723f37631e
|
@@ -467,7 +467,7 @@ element = $(this).find(':first').attr('id');
|
|
467
467
|
$('.dc-result tr').on('dblclick', function(e) {
|
468
468
|
e.preventDefault();
|
469
469
|
url = this.getAttribute("data");
|
470
|
-
if (url !== null) { location.href = url; }
|
470
|
+
if (url !== null & url.length > 5) { location.href = url; } // prevent when url not set
|
471
471
|
});
|
472
472
|
|
473
473
|
});
|
@@ -109,15 +109,22 @@ end
|
|
109
109
|
# Searches forms path for file_name and returns full file name or nil if not found.
|
110
110
|
#
|
111
111
|
# [Parameters:]
|
112
|
-
# [form_file]
|
112
|
+
# [form_file] Form file name. File name can be passed as gem_name.filename. This can
|
113
|
+
# be useful when you are extending form but want to retain same name as original form
|
114
|
+
# For example. You are extending dc_user form from drg_cms gem and want to
|
115
|
+
# retain same dc_user name. This can be done by setting drg_cms.dc_user to extend option.
|
113
116
|
#
|
114
117
|
# [Return:]
|
115
118
|
# String. Full form file name or nil if not found.
|
116
119
|
########################################################################
|
117
120
|
def dc_find_form_file(form_file)
|
121
|
+
form_path=nil
|
122
|
+
if form_file.match(/\.|\//)
|
123
|
+
form_path,form_file=form_file.split(/\.|\//)
|
124
|
+
end
|
118
125
|
DrgCms.paths(:forms).reverse.each do |path|
|
119
126
|
f = "#{path}/#{form_file}.yml"
|
120
|
-
return f if File.exist?(f)
|
127
|
+
return f if File.exist?(f) and (form_path.nil? or path.to_s.match(/\/#{form_path}\//i))
|
121
128
|
end
|
122
129
|
p "Form file #{form_file} not found!"
|
123
130
|
nil
|
@@ -293,7 +300,7 @@ def dc_process_default_request()
|
|
293
300
|
# Log only visits from non-editors
|
294
301
|
dc_log_visit()
|
295
302
|
end
|
296
|
-
@page_title = @page.
|
303
|
+
@page_title = @page.title.blank? ? "#{@site.page_title}-#{@page.subject}" : @page.title
|
297
304
|
layout = @site.site_layout.to_s.size > 2 ? @site.site_layout : 'content'
|
298
305
|
# render view. inline if defined in design
|
299
306
|
view_filename = ''
|
data/app/forms/dc_page.yml
CHANGED
@@ -42,47 +42,52 @@ form:
|
|
42
42
|
html:
|
43
43
|
size: 50
|
44
44
|
30:
|
45
|
+
name: title
|
46
|
+
type: text_field
|
47
|
+
html:
|
48
|
+
size: 50
|
49
|
+
40:
|
45
50
|
name: alt_link
|
46
51
|
type: text_field
|
47
52
|
html:
|
48
53
|
size: 50
|
49
54
|
text: Alternative link
|
50
|
-
|
55
|
+
50:
|
51
56
|
name: sub_subject
|
52
57
|
type: text_area
|
53
58
|
html:
|
54
59
|
size: 100x10
|
55
|
-
|
60
|
+
60:
|
56
61
|
name: author_name
|
57
62
|
type: text_field
|
58
63
|
html:
|
59
64
|
size: 30
|
60
65
|
|
61
|
-
|
66
|
+
70:
|
62
67
|
name: publish_date
|
63
68
|
type: datetime_select
|
64
69
|
|
65
|
-
|
70
|
+
80:
|
66
71
|
name: picture
|
67
72
|
type: file_select
|
68
73
|
html:
|
69
74
|
size: 50
|
70
|
-
|
75
|
+
90:
|
71
76
|
name: gallery
|
72
77
|
type: text_field
|
73
78
|
html:
|
74
79
|
size: 20
|
75
|
-
|
80
|
+
100:
|
76
81
|
name: valid_from
|
77
82
|
type: datetime_select
|
78
83
|
options:
|
79
84
|
include_blank: true
|
80
|
-
|
85
|
+
110:
|
81
86
|
name: valid_to
|
82
87
|
type: datetime_select
|
83
88
|
options:
|
84
89
|
include_blank: true
|
85
|
-
|
90
|
+
120:
|
86
91
|
name: kats
|
87
92
|
type: multitext_autocomplete
|
88
93
|
search: dc_category.name
|
data/app/forms/dc_user.yml
CHANGED
@@ -28,116 +28,112 @@ form:
|
|
28
28
|
|
29
29
|
actions: standard
|
30
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
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
# 20:
|
142
|
-
# name: password_digest
|
143
|
-
# type: hidden_field
|
31
|
+
tabs:
|
32
|
+
tab1:
|
33
|
+
|
34
|
+
10:
|
35
|
+
name: username
|
36
|
+
type: text_field
|
37
|
+
html:
|
38
|
+
size: 10
|
39
|
+
20:
|
40
|
+
name: title
|
41
|
+
type: text_field
|
42
|
+
html:
|
43
|
+
size: 5
|
44
|
+
30:
|
45
|
+
name: first_name
|
46
|
+
type: text_field
|
47
|
+
html:
|
48
|
+
size: 20
|
49
|
+
|
50
|
+
40:
|
51
|
+
name: middle_name
|
52
|
+
type: text_field
|
53
|
+
html:
|
54
|
+
size: 20
|
55
|
+
|
56
|
+
50:
|
57
|
+
name: last_name
|
58
|
+
type: text_field
|
59
|
+
html:
|
60
|
+
size: 20
|
61
|
+
|
62
|
+
60:
|
63
|
+
name: company
|
64
|
+
type: text_field
|
65
|
+
html:
|
66
|
+
size: 50
|
67
|
+
|
68
|
+
70:
|
69
|
+
name: address
|
70
|
+
type: text_field
|
71
|
+
html:
|
72
|
+
size: 50
|
73
|
+
|
74
|
+
80:
|
75
|
+
name: post
|
76
|
+
type: text_field
|
77
|
+
html:
|
78
|
+
size: 50
|
79
|
+
|
80
|
+
90:
|
81
|
+
name: country
|
82
|
+
type: text_field
|
83
|
+
html:
|
84
|
+
size: 20
|
85
|
+
|
86
|
+
100:
|
87
|
+
name: email
|
88
|
+
type: text_field
|
89
|
+
html:
|
90
|
+
size: 30
|
91
|
+
|
92
|
+
110:
|
93
|
+
name: phone
|
94
|
+
type: text_field
|
95
|
+
html:
|
96
|
+
size: 30
|
97
|
+
|
98
|
+
120:
|
99
|
+
name: birthdate
|
100
|
+
type: date_select
|
101
|
+
options:
|
102
|
+
start_year: 1930
|
103
|
+
|
104
|
+
130:
|
105
|
+
name: picture
|
106
|
+
type: text_field
|
107
|
+
html:
|
108
|
+
size: 50
|
109
|
+
|
110
|
+
140:
|
111
|
+
name: about
|
112
|
+
type: text_area
|
113
|
+
html:
|
114
|
+
size: 100x10
|
115
|
+
|
116
|
+
150:
|
117
|
+
name: password
|
118
|
+
type: password_field
|
119
|
+
html:
|
120
|
+
size: 20
|
121
|
+
|
122
|
+
160:
|
123
|
+
name: password_confirmation
|
124
|
+
type: password_field
|
125
|
+
html:
|
126
|
+
size: 20
|
127
|
+
|
128
|
+
170:
|
129
|
+
name: dc_user_roles
|
130
|
+
type: embedded
|
131
|
+
formname: dc_user_role
|
132
|
+
html:
|
133
|
+
size: 20
|
134
|
+
|
135
|
+
180:
|
136
|
+
name: signature
|
137
|
+
type: text_area
|
138
|
+
html:
|
139
|
+
size: 100x5
|
@@ -44,6 +44,8 @@ attr_reader :form
|
|
44
44
|
# options object
|
45
45
|
attr_reader :options
|
46
46
|
|
47
|
+
# page title
|
48
|
+
attr_accessor :page_title
|
47
49
|
# all parts read from page, design, ...
|
48
50
|
attr_accessor :parts
|
49
51
|
|
@@ -614,7 +616,7 @@ end
|
|
614
616
|
# eval: dc_icon4_boolean
|
615
617
|
############################################################################
|
616
618
|
def dc_icon4_boolean(value)
|
617
|
-
dc_dont?(value) ? fa_icon('square-o lg') : fa_icon('check-square-o lg')
|
619
|
+
dc_dont?(value, true) ? fa_icon('square-o lg') : fa_icon('check-square-o lg')
|
618
620
|
end
|
619
621
|
|
620
622
|
############################################################################
|
@@ -128,7 +128,7 @@ def as_table
|
|
128
128
|
klas = item.id == @selected.id ? "#{div_name}-selected" : "#{div_name}-item"
|
129
129
|
html << "<td class=\"td-#{klas}\">#{ link_4menu(item) }</td>" #
|
130
130
|
end
|
131
|
-
html << "</table>"
|
131
|
+
html << "</tr></table>"
|
132
132
|
end
|
133
133
|
########################################################################
|
134
134
|
# Renders menu as table. This is single level menu only and uses table elements to
|
@@ -274,9 +274,11 @@ def default
|
|
274
274
|
# submenu
|
275
275
|
html << "<div class=\"sub-#{div_name}\">
|
276
276
|
<ul class=\"ul-sub-#{div_name}\">"
|
277
|
-
y = YAML.load(@selected.submenu)
|
278
|
-
y.
|
279
|
-
|
277
|
+
y = YAML.load(@selected.submenu) rescue []
|
278
|
+
if y.class == Array
|
279
|
+
y.each do |k,v|
|
280
|
+
html << "<li class=\"li-sub-#{div_name}\">#{@parent.link_to(v['title'], v['link'])}</li>"
|
281
|
+
end
|
280
282
|
end
|
281
283
|
html << '</ul></div>'
|
282
284
|
end
|
data/app/models/dc_page.rb
CHANGED
@@ -33,6 +33,7 @@ include Mongoid::Document
|
|
33
33
|
include Mongoid::Timestamps
|
34
34
|
|
35
35
|
field :subject, type: String, default: ''
|
36
|
+
field :title, type: String
|
36
37
|
field :subject_link, type: String, default: ''
|
37
38
|
field :alt_link, type: String, default: ''
|
38
39
|
field :sub_subject, type: String, default: ''
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<tr class="dc-<%= cycle("odd","even")%>"
|
12
12
|
data="<%= url_for(action: 'show', controller: 'cmsedit', id: r,
|
13
13
|
readonly: (params[:readonly] ? 2 : 1), table: params[:table],
|
14
|
-
formname: params[:formname], ids: params[:ids]) %>" >
|
14
|
+
formname: params[:formname], ids: params[:ids]) if @form['form']%>" >
|
15
15
|
<%= dc_actions_for_result r %>
|
16
16
|
<%= dc_columns_for_result r %>
|
17
17
|
</tr>
|
@@ -85,6 +85,7 @@ en:
|
|
85
85
|
|
86
86
|
dc_user:
|
87
87
|
tabletitle: Users
|
88
|
+
tab1: Base
|
88
89
|
|
89
90
|
id: Id
|
90
91
|
username: Username
|
@@ -246,6 +247,7 @@ en:
|
|
246
247
|
|
247
248
|
subject: Subject
|
248
249
|
subject_link: Subject link
|
250
|
+
title: Browser title
|
249
251
|
sub_subject: Sub subject
|
250
252
|
picture: Picture
|
251
253
|
gallery: Gallery id
|
@@ -641,6 +643,7 @@ en:
|
|
641
643
|
dc_page:
|
642
644
|
subject: Articles subject
|
643
645
|
subject_link: Friendly link defined
|
646
|
+
title: Browser title. Optimization for SEO.
|
644
647
|
sub_subject: Sub subject, short description of text
|
645
648
|
picture: Picture used in conjunction with page
|
646
649
|
gallery: Picture gallery id used with page. Id defines id's of parts which consist gallery
|
@@ -78,6 +78,7 @@ sl:
|
|
78
78
|
|
79
79
|
dc_user:
|
80
80
|
tabletitle: Uporabniki
|
81
|
+
tab1: Osnova
|
81
82
|
|
82
83
|
id: Id
|
83
84
|
username: Uporabnik
|
@@ -273,9 +274,10 @@ sl:
|
|
273
274
|
3content: Vsebina
|
274
275
|
4parts: Elementi
|
275
276
|
|
276
|
-
subject:
|
277
|
+
subject: Zadeva
|
277
278
|
subject_link: Povezava
|
278
|
-
|
279
|
+
title: Naslov za brskalnik
|
280
|
+
sub_subject: Povzetek
|
279
281
|
picture: Slika
|
280
282
|
gallery: Id galerije
|
281
283
|
alt_link: Alt povezava
|
@@ -667,9 +669,10 @@ sl:
|
|
667
669
|
link_target: Odpri povezavo v novem oknu ali v istem oknu
|
668
670
|
|
669
671
|
dc_page:
|
670
|
-
subject:
|
672
|
+
subject: Zadeva (kratek naslov) sestavka
|
671
673
|
subject_link: Povezava (link) do sestavka
|
672
|
-
sub_subject:
|
674
|
+
sub_subject: Povzetek, kratek opis vsebine
|
675
|
+
title: Naslov, ki se izpiše v gornji vrstici brskalnika. Optimiziraj za SEO.
|
673
676
|
alt_link: Alternativna povezava do sestavka
|
674
677
|
picture: Slika v povezavi s stranjo
|
675
678
|
gallery: Id sestavnih elementov, ki sestavljajo slikovno galerijo te strani.
|