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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fd80aba913afa715795f1a5e814d44400b5f7f0a
4
- data.tar.gz: ee6d578127bd8196b70f07b97e0b3245e4deb861
3
+ metadata.gz: 65d229ac8eb1045776751d341d8f0d15964a7006
4
+ data.tar.gz: 035c9ee8254c4c9c2d2933eb498366c73279afc8
5
5
  SHA512:
6
- metadata.gz: 857de918747abfe9c56afbe92ee350d60947f641f16648135474157ac0bf3faddec43194abffdf644dbaa1cfebb8c3a24b04e74cb0d98f57ba027f2bd3876903
7
- data.tar.gz: 4a888718ed39eb65e58fd611feb82444121e53c2f218c6c0e1a6866c2840a87774f60f5c681752fc0f14c79f540b8e356e8d123cf7288d006807eac9077c7c89
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] Additional data can be displayed with error.
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.subject.empty? ? @site.page_title : @page.subject
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 = ''
@@ -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
- 40:
55
+ 50:
51
56
  name: sub_subject
52
57
  type: text_area
53
58
  html:
54
59
  size: 100x10
55
- 45:
60
+ 60:
56
61
  name: author_name
57
62
  type: text_field
58
63
  html:
59
64
  size: 30
60
65
 
61
- 50:
66
+ 70:
62
67
  name: publish_date
63
68
  type: datetime_select
64
69
 
65
- 60:
70
+ 80:
66
71
  name: picture
67
72
  type: file_select
68
73
  html:
69
74
  size: 50
70
- 65:
75
+ 90:
71
76
  name: gallery
72
77
  type: text_field
73
78
  html:
74
79
  size: 20
75
- 70:
80
+ 100:
76
81
  name: valid_from
77
82
  type: datetime_select
78
83
  options:
79
84
  include_blank: true
80
- 80:
85
+ 110:
81
86
  name: valid_to
82
87
  type: datetime_select
83
88
  options:
84
89
  include_blank: true
85
- 90:
90
+ 120:
86
91
  name: kats
87
92
  type: multitext_autocomplete
88
93
  search: dc_category.name
@@ -28,116 +28,112 @@ form:
28
28
 
29
29
  actions: standard
30
30
 
31
- fields:
32
-
33
- 0:
34
- name: username
35
- type: text_field
36
- html:
37
- size: 10
38
- 10:
39
- name: title
40
- type: text_field
41
- html:
42
- size: 5
43
- 20:
44
- name: first_name
45
- type: text_field
46
- html:
47
- size: 20
48
-
49
- 30:
50
- name: middle_name
51
- type: text_field
52
- html:
53
- size: 20
54
-
55
- 40:
56
- name: last_name
57
- type: text_field
58
- html:
59
- size: 20
60
-
61
- 45:
62
- name: company
63
- type: text_field
64
- html:
65
- size: 50
66
-
67
- 50:
68
- name: address
69
- type: text_field
70
- html:
71
- size: 50
72
-
73
- 55:
74
- name: post
75
- type: text_field
76
- html:
77
- size: 50
78
-
79
- 60:
80
- name: country
81
- type: text_field
82
- html:
83
- size: 20
84
-
85
- 70:
86
- name: email
87
- type: text_field
88
- html:
89
- size: 30
90
-
91
- 80:
92
- name: phone
93
- type: text_field
94
- html:
95
- size: 30
96
-
97
- 90:
98
- name: birthdate
99
- type: date_select
100
- options:
101
- start_year: 1930
102
-
103
- 100:
104
- name: picture
105
- type: text_field
106
- html:
107
- size: 50
108
-
109
- 110:
110
- name: about
111
- type: text_area
112
- html:
113
- size: 100x10
114
-
115
- 120:
116
- name: password
117
- type: password_field
118
- html:
119
- size: 20
120
-
121
- 130:
122
- name: password_confirmation
123
- type: password_field
124
- html:
125
- size: 20
126
-
127
- 140:
128
- name: dc_user_roles
129
- type: embedded
130
- formname: dc_user_role
131
- html:
132
- size: 20
133
-
134
- 150:
135
- name: signature
136
- type: text_area
137
- html:
138
- size: 100x5
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.each do |k,v|
279
- html << "<li class=\"li-sub-#{div_name}\">#{@parent.link_to(v['title'], v['link'])}</li>"
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
@@ -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: Naslov
277
+ subject: Zadeva
277
278
  subject_link: Povezava
278
- sub_subject: Podnaslov
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: Naslov sestavka
672
+ subject: Zadeva (kratek naslov) sestavka
671
673
  subject_link: Povezava (link) do sestavka
672
- sub_subject: Podnaslov, kratek opis vsebine
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.