drg_manual 0.0.4 → 0.0.5

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
  SHA256:
3
- metadata.gz: 0a666e55db6f88c63215dbac8fe242de14bde0ee1dd64ab94bd2f3f8796431ed
4
- data.tar.gz: 315cb4b0d3674a8e9e5d0a35e87cbfaa7ffa5c272a9d66777ed9aeb22c174045
3
+ metadata.gz: 47c4f5d856a68ffb3c41fd2f495ad40682661e4d76fb323be3f8d602391eb2f5
4
+ data.tar.gz: e723ba98794dbe7e85fafcb482e898d267deb6e3453de2e9ae19bae782c47fae
5
5
  SHA512:
6
- metadata.gz: fffbe35f36ca2e9285dc917ea6d93af305b86caf176f28f5d7f1375cf4f4f8bc6ab507337731c7a82015512095c34926c608170c3bbc586b7a3a54dd02190f47
7
- data.tar.gz: 7cfa02da35744e6fe48dbf58ae9b59ef0bc8e6148baf98be59b4ae9c6380e83b3db19aba668509ce077392716a2cc55e28428a9921a54aa8f2fa5782c16c6425
6
+ metadata.gz: ca2264bac60ea2f840f4906cdc355086b470441943d4bafa6764b57261668b406c6a0a45bde6db3c7f17c929f0a029b1224e5903788ddc6fd327fa331d893ff2
7
+ data.tar.gz: d375d13ecf71ef4e9778cacf03b2b49efc89f1c1b8c2eb42a83cfde01a84c9c95598374501f115b25132c24fc88f05015c95867f03d91df05493fa0a5a71cf63
@@ -29,6 +29,10 @@ form:
29
29
  name: title
30
30
  type: text_field
31
31
  size: 80
32
+ 15:
33
+ name: description
34
+ type: text_field
35
+ size: 80
32
36
  20:
33
37
  name: link
34
38
  type: text_field
@@ -1,4 +1,3 @@
1
- #coding: utf-8
2
1
  #--
3
2
  # Copyright (c) 2018+ Damjan Rems
4
3
  #
@@ -27,6 +26,7 @@
27
26
  ########################################################################
28
27
  class DcManualRenderer
29
28
  include DcApplicationHelper
29
+ include CmsCommonHelper
30
30
 
31
31
  ########################################################################
32
32
  #
@@ -54,27 +54,27 @@ end
54
54
  # Find document.
55
55
  ########################################################################
56
56
  def find_document
57
- # found bookname in path link
57
+ # found bookname in path link
58
58
  book_name_ix = @path.index(@parent.page.link)
59
59
  @manual = DcManual.find_by(link: @path[book_name_ix+1])
60
60
  if @manual
61
61
  @prepand_path = @path.shift(book_name_ix+2)
62
62
  else
63
- # manual_id should be set in page settings
64
- manual_id = @opts.dig(:settings, 'manual', 'manual_id')
63
+ # manual_id should be set in page settings
64
+ manual_id = @opts.dig(:settings, 'manual', 'manual_id')
65
65
  @prepand_path = @path.shift(book_name_ix+1)
66
66
  @manual = DcManual.find(manual_id) if manual_id
67
67
  end
68
68
  return if @manual.nil?
69
- # ids for editing manual page
69
+ # ids for editing manual page
70
70
  @manual_ids = ''
71
- # Determine selected page
71
+ # Determine selected page
72
72
  @manual_page = @manual
73
73
  while (link_page = @path.shift) != nil do
74
74
  @manual_ids << (@manual_ids.blank? ? '' : ';') + "#{@manual_page.id}"
75
75
  @manual_page = @manual_page.dc_manual_pages.find_by(link: link_page)
76
76
  if @manual_page.nil?
77
- # select first page if path is in error
77
+ # select first page if path is in error
78
78
  @manual_page = @manual
79
79
  break
80
80
  end
@@ -95,15 +95,15 @@ end
95
95
  # Create submenus for a menu
96
96
  ########################################################################
97
97
  def submenu(menu_item, menu, parent_path)
98
- # is active when ids path matches parent path or last (my id) matches manual_page
98
+ # is active when ids path matches parent path or last (my id) matches manual_page
99
99
  last_item = menu_item[1].split(';').last
100
100
  is_active = (@manual_ids.match(menu_item[1]) or last_item.match(@manual_page.id.to_s)) ? ' is-active' : ''
101
101
 
102
102
  html = parent_path.blank? ? '' : "<li class=\"#{is_active}\">#{menu_link_for(menu_item, parent_path)}"
103
- # select subpages
103
+ # select subpages
104
104
  sub_pages = menu.select {|e| e[2] == menu_item[1]}
105
105
  return html if sub_pages.size == 0
106
- #
106
+
107
107
  sub_pages.sort! {|a,b| a[3] <=> b[3]}
108
108
  sub_pages.each do |page|
109
109
  html << %Q[<ul class="menu vertical nested #{is_active}" >]
@@ -125,13 +125,20 @@ def manual_menu
125
125
  </ul>]
126
126
  end
127
127
 
128
+ ########################################################################
129
+ #
130
+ ########################################################################
131
+ def body_for_examples
132
+ @manual_page.body
133
+ end
134
+
128
135
  #######################################################################
129
136
  # Render manual data
130
137
  #######################################################################
131
138
  def default
132
139
  @path = @opts[:path]
133
- return list if @path.size == 1
134
- # link for manual settings on the page
140
+ return list if @path.size == 1 and @opts.dig(:settings, 'manual', 'manual_id').nil?
141
+ # link for manual settings on the page
135
142
  edit_html = ''
136
143
  if dc_edit_mode?
137
144
  edit_html << @parent.dc_link_for_edit(table: 'dc_memory', title: 'dc_manual.settings',
@@ -142,13 +149,13 @@ def default
142
149
  end
143
150
  find_document()
144
151
  return "ERROR! #{@parent.params[:path]} #{edit_html}" if @manual.nil? or @manual_page.nil?
145
- #
152
+
146
153
  if dc_edit_mode?
147
154
  opts = { action: 'edit', table: 'dc_manual',
148
155
  id: @manual._id, title: 'dc_manual.edit' }
149
156
  edit_html << dc_link_for_edit(opts)
150
157
  end
151
- #
158
+
152
159
  html = %Q[
153
160
  <div class="wrap">
154
161
  <div class="row manual">
@@ -156,8 +163,8 @@ def default
156
163
  #{edit_html}#{manual_menu()}
157
164
  </div>
158
165
  <div class="column small-12 medium-9 large-8 body">]
159
- #
160
- # ;add dc_manual_pages
166
+
167
+ # ;add dc_manual_pages
161
168
  no_subsections = @manual_ids.split(';').size
162
169
  table = 'dc_manual' + ';dc_manual_page'*no_subsections
163
170
  form_name = @manual_ids.blank? ? 'dc_manual' : 'dc_manual_page'
@@ -168,7 +175,7 @@ def default
168
175
  title: I18n.t('dc_manual.edit_chapter', title: @manual_page.title) }
169
176
  html << dc_link_for_edit(opts) + '<br>'.html_safe
170
177
  end
171
- # Add new subchapter
178
+ # Add new subchapter
172
179
  ids = @manual_ids + (@manual_ids.blank? ? '' : ';') + @manual_page.id.to_s
173
180
  table = 'dc_manual' + ';dc_manual_page'*(no_subsections+1)
174
181
  opts = { controller: 'cmsedit', action: 'new', form_name: 'dc_manual_page',
@@ -176,17 +183,19 @@ def default
176
183
  title: I18n.t('dc_manual.new_chapter', title: @manual_page.title) }
177
184
  html << dc_link_for_create(opts) + '<br>'.html_safe
178
185
  end
179
- #
186
+
180
187
  can_view, msg = dc_user_can_view(@parent, @manual_page)
188
+ # process body before it is outputed to browser
189
+ body = @opts[:body_render] ? send(@opts[:body_render]) : @manual_page.body
181
190
  html << if can_view
182
- %Q[<h1>#{@manual_page.title}</h1>#{@manual_page.body}<br>
191
+ %Q[<h1>#{@manual_page.title}</h1>#{body}<br>
183
192
  <div class='updated'>
184
193
  #{t('dc_manual.updated')} <b>#{@manual_page.updated_at.strftime('%d.%m.%Y')}</b>
185
194
  </div>]
186
195
  else
187
196
  msg
188
197
  end
189
- html << '</div></div></div>'
198
+ html << '</div>'*3
190
199
  end
191
200
 
192
201
  ########################################################################
@@ -1,3 +1,3 @@
1
1
  module DrgManual
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drg_manual
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damjan Rems
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-27 00:00:00.000000000 Z
11
+ date: 2021-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: drg_cms
@@ -39,9 +39,9 @@ files:
39
39
  - app/forms/dc_manual.yml
40
40
  - app/forms/dc_manual_page.yml
41
41
  - app/forms/dc_manual_settings.yml
42
- - app/helpers/dc_manual_renderer.rb
43
42
  - app/models/dc_manual.rb
44
43
  - app/models/dc_manual_page.rb
44
+ - app/renderers/dc_manual_renderer.rb
45
45
  - app/views/dc_manual/_list.html.erb
46
46
  - config/locales/dc_manual_en.yml
47
47
  - config/locales/dc_manual_sl.yml
@@ -87,7 +87,7 @@ licenses:
87
87
  - MIT-LICENSE
88
88
  metadata:
89
89
  source_code: https://github.com/drgcms/drg-manual
90
- post_install_message:
90
+ post_install_message:
91
91
  rdoc_options: []
92
92
  require_paths:
93
93
  - lib
@@ -102,39 +102,39 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  requirements: []
105
- rubygems_version: 3.0.3
106
- signing_key:
105
+ rubygems_version: 3.1.2
106
+ signing_key:
107
107
  specification_version: 4
108
108
  summary: 'DRG CMS: Manual plugin'
109
109
  test_files:
110
- - test/drg_manual_test.rb
111
- - test/test_helper.rb
112
110
  - test/integration/navigation_test.rb
111
+ - test/test_helper.rb
112
+ - test/dummy/script/rails
113
113
  - test/dummy/README.rdoc
114
- - test/dummy/config/locales/en.yml
115
- - test/dummy/config/initializers/secret_token.rb
116
- - test/dummy/config/initializers/backtrace_silencers.rb
117
- - test/dummy/config/initializers/inflections.rb
118
- - test/dummy/config/initializers/session_store.rb
119
- - test/dummy/config/initializers/mime_types.rb
120
- - test/dummy/config/initializers/wrap_parameters.rb
114
+ - test/dummy/app/views/layouts/application.html.erb
115
+ - test/dummy/app/helpers/application_helper.rb
116
+ - test/dummy/app/controllers/application_controller.rb
117
+ - test/dummy/app/assets/stylesheets/application.css
118
+ - test/dummy/app/assets/javascripts/application.js
119
+ - test/dummy/public/422.html
120
+ - test/dummy/public/404.html
121
+ - test/dummy/public/favicon.ico
122
+ - test/dummy/public/500.html
123
+ - test/dummy/Rakefile
124
+ - test/dummy/config.ru
121
125
  - test/dummy/config/environment.rb
126
+ - test/dummy/config/boot.rb
127
+ - test/dummy/config/routes.rb
122
128
  - test/dummy/config/application.rb
123
129
  - test/dummy/config/database.yml
124
- - test/dummy/config/routes.rb
125
- - test/dummy/config/boot.rb
126
- - test/dummy/config/environments/development.rb
127
130
  - test/dummy/config/environments/test.rb
128
131
  - test/dummy/config/environments/production.rb
129
- - test/dummy/public/favicon.ico
130
- - test/dummy/public/404.html
131
- - test/dummy/public/422.html
132
- - test/dummy/public/500.html
133
- - test/dummy/Rakefile
134
- - test/dummy/app/controllers/application_controller.rb
135
- - test/dummy/app/views/layouts/application.html.erb
136
- - test/dummy/app/helpers/application_helper.rb
137
- - test/dummy/app/assets/javascripts/application.js
138
- - test/dummy/app/assets/stylesheets/application.css
139
- - test/dummy/config.ru
140
- - test/dummy/script/rails
132
+ - test/dummy/config/environments/development.rb
133
+ - test/dummy/config/locales/en.yml
134
+ - test/dummy/config/initializers/secret_token.rb
135
+ - test/dummy/config/initializers/inflections.rb
136
+ - test/dummy/config/initializers/mime_types.rb
137
+ - test/dummy/config/initializers/backtrace_silencers.rb
138
+ - test/dummy/config/initializers/wrap_parameters.rb
139
+ - test/dummy/config/initializers/session_store.rb
140
+ - test/drg_manual_test.rb