drg_cms 0.6.0.8 → 0.6.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +25 -10
- data/app/assets/javascripts/drg_cms/drg_cms.js +208 -81
- data/app/assets/stylesheets/drg_cms/drg_cms.css +298 -93
- data/app/assets/stylesheets/drg_cms/select-multiple.css +1 -1
- data/app/controllers/cmsedit_controller.rb +174 -167
- data/app/controllers/dc_application_controller.rb +230 -196
- data/app/controllers/dc_common_controller.rb +88 -50
- data/app/controls/dc_help_control.rb +138 -0
- data/app/controls/dc_report.rb +12 -16
- data/app/forms/all_options.yml +14 -5
- data/app/forms/cms_menu.yml +7 -1
- data/app/forms/dc_big_table.yml +0 -2
- data/app/forms/dc_big_table_value.yml +0 -2
- data/app/forms/dc_category.yml +2 -1
- data/app/forms/dc_design.yml +2 -2
- data/app/forms/dc_folder_permission.yml +0 -2
- data/app/forms/dc_help_1.yml +110 -0
- data/app/forms/dc_journal.yml +3 -1
- data/app/forms/dc_json_ld.yml +0 -3
- data/app/forms/dc_link.yml +1 -1
- data/app/forms/dc_menu.yml +8 -12
- data/app/forms/dc_menu_item.yml +2 -3
- data/app/forms/dc_page.yml +7 -2
- data/app/forms/dc_part.yml +1 -0
- data/app/forms/dc_piece.yml +1 -0
- data/app/forms/dc_policy.yml +2 -5
- data/app/forms/dc_poll.yml +13 -16
- data/app/forms/dc_seo.yml +1 -2
- data/app/forms/dc_simple_menu.yml +3 -2
- data/app/forms/dc_site.yml +5 -8
- data/app/forms/dc_user.yml +27 -11
- data/app/forms/dc_user_role.yml +3 -0
- data/app/helpers/cms_common_helper.rb +68 -4
- data/app/helpers/cms_edit_helper.rb +73 -55
- data/app/helpers/cms_helper.rb +70 -32
- data/app/helpers/cms_index_helper.rb +155 -102
- data/app/helpers/dc_application_helper.rb +132 -109
- data/app/models/concerns/dc_page_concern.rb +14 -4
- data/app/models/concerns/dc_piece_concern.rb +1 -1
- data/app/models/concerns/dc_policy_rule_concern.rb +20 -8
- data/app/models/concerns/dc_site_concern.rb +56 -44
- data/app/models/concerns/dc_user_concern.rb +58 -19
- data/app/models/dc_big_table.rb +2 -2
- data/app/models/dc_design.rb +29 -19
- data/app/models/dc_filter.rb +28 -22
- data/app/models/dc_key_value_store.rb +1 -0
- data/app/models/dc_permission.rb +19 -9
- data/app/models/dc_policy.rb +25 -14
- data/app/models/dc_policy_role.rb +22 -11
- data/app/models/dc_temp.rb +8 -1
- data/app/models/dc_user_role.rb +2 -2
- data/app/models/drgcms_form_fields/comment.rb +11 -2
- data/app/models/drgcms_form_fields/date_picker.rb +2 -0
- data/app/models/drgcms_form_fields/drgcms_field.rb +2 -1
- data/app/models/drgcms_form_fields/embedded.rb +9 -10
- data/app/models/drgcms_form_fields/file_field.rb +1 -1
- data/app/models/drgcms_form_fields/file_select.rb +2 -2
- data/app/models/drgcms_form_fields/hash_field.rb +11 -7
- data/app/models/drgcms_form_fields/link_to.rb +2 -2
- data/app/models/drgcms_form_fields/method.rb +5 -4
- data/app/models/drgcms_form_fields/multitext_autocomplete.rb +1 -1
- data/app/models/drgcms_form_fields/number_field.rb +4 -3
- data/app/models/drgcms_form_fields/readonly.rb +13 -17
- data/app/models/drgcms_form_fields/select.rb +24 -25
- data/app/models/drgcms_form_fields/text_autocomplete.rb +22 -14
- data/app/renderers/dc_page_renderer.rb +7 -6
- data/app/renderers/dc_poll_renderer.rb +16 -20
- data/app/views/cmsedit/_edit_stuff.html.erb +5 -2
- data/app/views/cmsedit/_form.html.erb +3 -2
- data/app/views/cmsedit/_result.html.erb +21 -18
- data/app/views/cmsedit/edit.html.erb +4 -1
- data/app/views/cmsedit/index.html.erb +3 -2
- data/app/views/cmsedit/new.html.erb +5 -2
- data/app/views/dc_common/_help.html.erb +17 -0
- data/app/views/layouts/models.html.erb +2 -1
- data/config/locales/drgcms_en.yml +17 -2
- data/config/locales/drgcms_sl.yml +20 -2
- data/config/locales/models_en.yml +7 -5
- data/config/locales/models_sl.yml +12 -9
- data/drg_cms.gemspec +16 -16
- data/lib/drg_cms/version.rb +1 -1
- data/lib/drg_cms.rb +94 -2
- metadata +32 -30
- data/app/models/__dc_dummy.rb +0 -102
@@ -1,6 +1,9 @@
|
|
1
1
|
<%= dc_head_for_form %>
|
2
2
|
<%= dc_table_title dc_edit_title() %>
|
3
3
|
|
4
|
-
<%= form_tag( @parms, method: :put, id: '
|
4
|
+
<%= form_tag( @parms, method: :put, id: params['form_name'] || params['table'],
|
5
|
+
class: 'cmsform', multipart: @form['form']['multipart'] ) do %>
|
5
6
|
<%= render partial: 'form' %>
|
6
7
|
<% end %>
|
8
|
+
|
9
|
+
<div id="popup" style="display: none;"></div>
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<div class="dc-form-frame">
|
2
|
-
<%=
|
1
|
+
<div id="<%= params['form_name'] || params['table'] %>" class="dc-form-frame">
|
2
|
+
<%= dc_title_for_index @records %>
|
3
3
|
|
4
4
|
<%= dc_actions_for_index %>
|
5
5
|
<%= dc_div_filter %>
|
@@ -9,3 +9,4 @@
|
|
9
9
|
|
10
10
|
<%= javascript_tag(@js) unless @js.blank? %>
|
11
11
|
<% unless @css.blank? %><style type="text/css"><%= @css %></style><% end %>
|
12
|
+
<div id="popup" style="display: none;"></div>
|
@@ -1,5 +1,8 @@
|
|
1
|
-
<%= dc_table_title dc_new_title
|
1
|
+
<%= dc_table_title dc_new_title %>
|
2
2
|
|
3
|
-
<%= form_tag(
|
3
|
+
<%= form_tag(@parms, method: :post, id: params['form_name'] || params['table'],
|
4
|
+
class: 'cmsform', multipart: @form['form']['multipart']) do %>
|
4
5
|
<%= render partial: 'form' %>
|
5
6
|
<% end %>
|
7
|
+
|
8
|
+
<div id="popup" style="display: none;"></div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
<div class="dc-help"><a id="help-top"></a>
|
3
|
+
<h1><%= t('drgcms.dc_help.help') %>: <%= dc_form_title %></h1>
|
4
|
+
<div class="help-buttons">
|
5
|
+
<% if params[:type] == 'form' %>
|
6
|
+
<button onclick="location.href='#fields'; return false;"><%= t('drgcms.dc_help.fields_button') %></button>
|
7
|
+
<% end %>
|
8
|
+
<% if @commnets %>
|
9
|
+
<button onclick="location.href='#comments'; return false;"><%= t('drgcms.dc_help.comments_button') %></button>
|
10
|
+
<% end %>
|
11
|
+
</div>
|
12
|
+
|
13
|
+
<div class="help-body"><%= dc_help_body if @help %></div>
|
14
|
+
<div class="help-fields"><%= dc_help_fields if params[:type] == 'form' %></div>
|
15
|
+
|
16
|
+
<div class="help-top" onclick="location.href='#help-top'; return false;"><%= fa_icon('arrow-up') %></div>
|
17
|
+
</div>
|
@@ -60,9 +60,10 @@ en:
|
|
60
60
|
login: Login into CMS
|
61
61
|
username: User name
|
62
62
|
password: Password
|
63
|
-
form_error: Error loading form
|
63
|
+
form_error: Error loading form %{form_name}
|
64
64
|
img_large: Click for larger image
|
65
|
-
no_class: Class %{class} not defined!
|
65
|
+
no_class: Class [%{class}] not defined!
|
66
|
+
no_method: Method (helper) [%{method}] not defined!
|
66
67
|
img_alt_not_present: All images in body must have alternative text entered
|
67
68
|
|
68
69
|
toggle_cms: Toggle CMS edit/view mode
|
@@ -118,3 +119,17 @@ en:
|
|
118
119
|
filters:
|
119
120
|
this_site_only: Documents for currently selected site only
|
120
121
|
|
122
|
+
dc_help:
|
123
|
+
help: HELP
|
124
|
+
fields_button: Data description
|
125
|
+
comments_button: Comments
|
126
|
+
title: Manage help documents
|
127
|
+
project: Project
|
128
|
+
lang: Locale
|
129
|
+
project_refresh: Refresh
|
130
|
+
project_refresh_title: Refresh list of available documents
|
131
|
+
form_name: Form
|
132
|
+
updated_at: Updated
|
133
|
+
1basic: Basic
|
134
|
+
2index: Index
|
135
|
+
3form: Form
|
@@ -60,9 +60,10 @@ sl:
|
|
60
60
|
login: Prijava v CMS
|
61
61
|
username: Uporabnik
|
62
62
|
password: Geslo
|
63
|
-
form_error: Napaka pri branju forme
|
63
|
+
form_error: Napaka pri branju forme %{form_name}
|
64
64
|
img_large: Klik za večjo sliko
|
65
|
-
no_class:
|
65
|
+
no_class: Razred (class) [%{class}] ni definiran!
|
66
|
+
no_method: Metoda (helper) [%{method}] ne obstaja!
|
66
67
|
img_alt_not_present: Vse slike v vsebini morajo imeti vpisano nadomestno besedilo
|
67
68
|
|
68
69
|
toggle_cms: Preklopi med CMS urejanjem in prikazom
|
@@ -114,3 +115,20 @@ sl:
|
|
114
115
|
|
115
116
|
filters:
|
116
117
|
this_site_only: Dokumenti samo trenutno izbrane strani
|
118
|
+
|
119
|
+
dc_help:
|
120
|
+
help: POMOČ
|
121
|
+
fields_button: Opis podatkov
|
122
|
+
comments_button: Opombe
|
123
|
+
title: Urejanje dokumentov pomoči
|
124
|
+
project: Projekt
|
125
|
+
lang: Jezik
|
126
|
+
project_refresh: Osveži
|
127
|
+
project_refresh_title: Osveži seznam že pripravljenih dokumentov
|
128
|
+
form_name: Forma
|
129
|
+
updated_at: Spremenjeno
|
130
|
+
1basic: Osnovno
|
131
|
+
2index: Index
|
132
|
+
3form: Forma
|
133
|
+
|
134
|
+
|
@@ -94,7 +94,7 @@ en:
|
|
94
94
|
|
95
95
|
dc_user:
|
96
96
|
tabletitle: Users
|
97
|
-
|
97
|
+
1base: Base
|
98
98
|
|
99
99
|
id: Id
|
100
100
|
username: Username
|
@@ -116,8 +116,8 @@ en:
|
|
116
116
|
valid_from: Valid from
|
117
117
|
valid_to: Valid to
|
118
118
|
updated_by: Updated by
|
119
|
-
|
120
|
-
|
119
|
+
group: Is group
|
120
|
+
member: Member in groups
|
121
121
|
dc_user_roles: Roles
|
122
122
|
password: Password
|
123
123
|
password_confirmation: Confirm password
|
@@ -302,6 +302,7 @@ en:
|
|
302
302
|
if_id: CSS id
|
303
303
|
if_class: CSS class
|
304
304
|
_update_menu: Update menu
|
305
|
+
div_class: DIV class
|
305
306
|
|
306
307
|
dc_seo:
|
307
308
|
seo: SEO
|
@@ -620,8 +621,8 @@ en:
|
|
620
621
|
valid_from: Account is valid from
|
621
622
|
valid_to: Account is valid until
|
622
623
|
updated_by: Account last updated by
|
623
|
-
|
624
|
-
|
624
|
+
group: This is group account
|
625
|
+
member: User is member in selected groups
|
625
626
|
dc_user_roles: Roles for this user
|
626
627
|
password: Password
|
627
628
|
password_confirmation: Password confirmation
|
@@ -780,6 +781,7 @@ en:
|
|
780
781
|
if_id: CSS id of IFrame object
|
781
782
|
if_class: CSS class of IFrame object
|
782
783
|
_update_menu: Update link in selected menu to point to this document
|
784
|
+
div_class: Class name given to top level div
|
783
785
|
|
784
786
|
dc_seo:
|
785
787
|
title: SEO optimised page title
|
@@ -86,19 +86,20 @@ sl:
|
|
86
86
|
|
87
87
|
dc_user:
|
88
88
|
tabletitle: Uporabniki
|
89
|
-
|
89
|
+
1base: Osnova
|
90
90
|
|
91
91
|
id: Id
|
92
92
|
username: Uporabnik
|
93
93
|
title: Titula
|
94
94
|
first_name: Ime
|
95
|
+
middle_name: Srednje ime
|
95
96
|
last_name: Priimek
|
96
97
|
name: Naziv
|
97
98
|
address: Naslov
|
98
99
|
post: Pošta
|
99
100
|
country: Država
|
100
101
|
phone: Telefon
|
101
|
-
email: e-
|
102
|
+
email: e-Naslov
|
102
103
|
picture: Slika
|
103
104
|
birthdate: Datum rojstva
|
104
105
|
about: Več o
|
@@ -107,8 +108,8 @@ sl:
|
|
107
108
|
valid_from: Velja od
|
108
109
|
valid_to: Velja do
|
109
110
|
updated_by: Spremenil
|
110
|
-
|
111
|
-
|
111
|
+
group: Je skupina
|
112
|
+
member: Član v skupinah
|
112
113
|
dc_user_roles: Uporabniške vloge
|
113
114
|
password: Geslo
|
114
115
|
password_confirmation: Potrdi geslo
|
@@ -332,7 +333,8 @@ sl:
|
|
332
333
|
if_id: CSS id
|
333
334
|
if_class: CSS class
|
334
335
|
_update_menu: Spremeni meni
|
335
|
-
|
336
|
+
div_class: DIV class
|
337
|
+
|
336
338
|
dc_seo:
|
337
339
|
seo: SEO
|
338
340
|
title: Naslov za brskalnik
|
@@ -639,8 +641,8 @@ sl:
|
|
639
641
|
valid_from: Začetni datum veljavnosti
|
640
642
|
valid_to: Končni datum veljavnosti
|
641
643
|
updated_by: Spremenil
|
642
|
-
|
643
|
-
|
644
|
+
group: Račun predstavlja uporabniško skupino
|
645
|
+
member: Seznam skupin za uporabnika
|
644
646
|
dc_user_roles: Vloge, ki pripadajo temu uporabniku
|
645
647
|
password: Geslo
|
646
648
|
password_confirmation: Še enkrat vpišite geslo
|
@@ -778,7 +780,6 @@ sl:
|
|
778
780
|
subject_link: Povezava (link) do sestavka
|
779
781
|
sub_subject: Povzetek, kratek opis vsebine
|
780
782
|
alt_link: Alternativna povezava do sestavka
|
781
|
-
picture: Slika v povezavi s stranjo
|
782
783
|
gallery: Dokument vsebuje slikovno galerijo.
|
783
784
|
css: CSS
|
784
785
|
script: Skript
|
@@ -799,7 +800,7 @@ sl:
|
|
799
800
|
dc_design_id: Dizajn, mu pripada sestavek
|
800
801
|
dc_site_id: Spletišče. ki mu pripada stran
|
801
802
|
kats: Kategorije, ki jim pripada članek
|
802
|
-
picture: Slika uporabljena
|
803
|
+
picture: Slika uporabljena v zvezi s sestavkom
|
803
804
|
dc_poll_id: Anketa, če sestavek vsebuje tudi anketo
|
804
805
|
if_url: URL naslov od koder bo naložena vsebina IFrame-a
|
805
806
|
if_width: Širina IFrame področja
|
@@ -810,6 +811,7 @@ sl:
|
|
810
811
|
if_id: CSS id IFrame objekta
|
811
812
|
if_class: CSS class IFrame objekta
|
812
813
|
_update_menu: Popravi tudi povezavo do dokumenta v menuju
|
814
|
+
div_class: Class, ki bo določen na vrhnem razdelku (DIV)
|
813
815
|
|
814
816
|
dc_seo:
|
815
817
|
title: Naslov, ki se izpiše v gornji vrstici brskalnika. Optimiziraj za SEO.
|
@@ -982,3 +984,4 @@ sl:
|
|
982
984
|
active: Podatki so aktivni
|
983
985
|
add_schema: Dodaj strukturo
|
984
986
|
add_error: Element %{schema} že obstaja!
|
987
|
+
|
data/drg_cms.gemspec
CHANGED
@@ -1,26 +1,26 @@
|
|
1
|
-
# Copyright 2012-
|
1
|
+
# Copyright 2012-2021 Damjan Rems
|
2
2
|
|
3
|
-
$:.push File.expand_path(
|
3
|
+
$:.push File.expand_path('../lib', __FILE__)
|
4
4
|
|
5
|
-
# Maintain
|
6
|
-
require
|
5
|
+
# Maintain gem's version:
|
6
|
+
require 'drg_cms/version'
|
7
7
|
|
8
|
-
# Describe
|
8
|
+
# Describe gem and declare its dependencies:
|
9
9
|
Gem::Specification.new do |s|
|
10
|
-
s.name =
|
10
|
+
s.name = 'drg_cms'
|
11
11
|
s.version = DrgCms::VERSION
|
12
|
-
s.authors = [
|
13
|
-
s.email = [
|
14
|
-
s.homepage =
|
15
|
-
s.summary =
|
16
|
-
s.description =
|
17
|
-
s.license =
|
18
|
-
s.files
|
19
|
-
s.test_files
|
12
|
+
s.authors = ['Damjan Rems']
|
13
|
+
s.email = ['damjan.rems@gmail.com']
|
14
|
+
s.homepage = 'https://www.drgcms.org'
|
15
|
+
s.summary = 'DRG: Rapid web application development tool and CMS for Ruby, Rails and MongoDB'
|
16
|
+
s.description = 'DRG, development tool for rapid building of in-house (Intranet, private cloud) applications as well as CMS for creating complex, data-entry intensive web sites.'
|
17
|
+
s.license = 'MIT'
|
18
|
+
s.files = Dir['{app,config,db,lib}/**/*'] + %w[MIT-LICENSE Rakefile README.md History.log drg_cms.gemspec]
|
19
|
+
s.test_files = Dir['test/**/*']
|
20
20
|
|
21
|
-
s.required_ruby_version = '>= 2.
|
21
|
+
s.required_ruby_version = '>= 2.7'
|
22
22
|
|
23
|
-
s.add_dependency 'rails', '~> 6'
|
23
|
+
s.add_dependency 'rails', '~> 6.1'
|
24
24
|
s.add_dependency 'jquery-rails'
|
25
25
|
s.add_dependency 'jquery-ui-rails'
|
26
26
|
s.add_dependency 'non-stupid-digest-assets'
|
data/lib/drg_cms/version.rb
CHANGED
data/lib/drg_cms.rb
CHANGED
@@ -118,6 +118,99 @@ def self.from_root(file=nil)
|
|
118
118
|
File.expand_path("../../#{file}", __FILE__).to_s
|
119
119
|
end
|
120
120
|
|
121
|
+
####################################################################
|
122
|
+
# Checks if any errors exist on document and writes error log. It can also
|
123
|
+
# crash if requested. This is mostly usefull in development for debuging
|
124
|
+
# model errors or when updating multiple collections and each save must be
|
125
|
+
# checked if succesfull.
|
126
|
+
#
|
127
|
+
# @param [Document] Document object which will be checked
|
128
|
+
# @param [Boolean] If true method should end in runtime error. Default = false.
|
129
|
+
#
|
130
|
+
# @return [String] Error messages or empty string if everything is OK.
|
131
|
+
#
|
132
|
+
# @Example Check for error when data is saved.
|
133
|
+
# model.save
|
134
|
+
# if (msg = DrgCms.model_check(model) ).size > 0
|
135
|
+
# p msg
|
136
|
+
# error process ......
|
137
|
+
# end
|
138
|
+
#
|
139
|
+
####################################################################
|
140
|
+
def self.model_check(document, crash = false)
|
141
|
+
return nil unless document.errors.any?
|
142
|
+
|
143
|
+
msg = document.errors.inject('') { |r, error| r << "#{error.attribute}: #{error.message}\n" }
|
144
|
+
if crash && msg.size > 0
|
145
|
+
msg = "Validation errors in #{document.class}:\n" + msg
|
146
|
+
pp msg
|
147
|
+
Rails.logger.error(msg)
|
148
|
+
raise "Validation error. See log for more information."
|
149
|
+
end
|
150
|
+
msg
|
151
|
+
end
|
152
|
+
|
153
|
+
########################################################################
|
154
|
+
# Determines if redis cache store is active
|
155
|
+
#
|
156
|
+
# @return [Boolean] : True if redis cache store is active
|
157
|
+
########################################################################
|
158
|
+
def self.redis_cache_store?
|
159
|
+
(Rails.application.config.cache_store.first == :redis_cache_store) rescue false
|
160
|
+
end
|
161
|
+
|
162
|
+
####################################################################
|
163
|
+
# Clear cache. If key is specified only this key will be deleted.
|
164
|
+
#
|
165
|
+
# @param [String] Optional key to be deleted
|
166
|
+
####################################################################
|
167
|
+
def self.cache_clear(key = nil)
|
168
|
+
return Rails.cache.clear if key.nil?
|
169
|
+
|
170
|
+
if redis_cache_store?
|
171
|
+
Rails.cache.redis.del(key)
|
172
|
+
else
|
173
|
+
Rails.cache.delete_matched("#{key}*")
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
####################################################################
|
178
|
+
# Read from cache
|
179
|
+
#
|
180
|
+
# @keys [Array] Array of keys
|
181
|
+
#
|
182
|
+
# @return [Object] Data returned from cache
|
183
|
+
####################################################################
|
184
|
+
def self.cache_read(keys)
|
185
|
+
if redis_cache_store?
|
186
|
+
keys = keys.dup
|
187
|
+
first = keys.shift
|
188
|
+
data = Rails.cache.redis.hget(first, keys.join(''))
|
189
|
+
data ? Marshal.load(data) : nil
|
190
|
+
else
|
191
|
+
Rails.cache.read(keys.join(''))
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
195
|
+
####################################################################
|
196
|
+
# Write data to cache
|
197
|
+
#
|
198
|
+
# @param [Array] keys : array of keys
|
199
|
+
# @param [Object] data : Document object
|
200
|
+
#
|
201
|
+
# @return [Object] data so dc_cache_write can be used as last statement in method.
|
202
|
+
####################################################################
|
203
|
+
def self.cache_write(keys, data)
|
204
|
+
if redis_cache_store?
|
205
|
+
keys = keys.dup
|
206
|
+
first = keys.shift
|
207
|
+
Rails.cache.redis.hset(first, keys.join(''), Marshal.dump(data))
|
208
|
+
else
|
209
|
+
Rails.cache.write(keys.join(''), data)
|
210
|
+
end
|
211
|
+
data
|
212
|
+
end
|
213
|
+
|
121
214
|
###############################################################################
|
122
215
|
# All Routes required by DrgCms.
|
123
216
|
#
|
@@ -138,6 +231,7 @@ def self.routes
|
|
138
231
|
match 'dc_common/paste_clipboard' => :paste_clipboard, via: [:get, :post]
|
139
232
|
put 'dc_common/restore_from_journal' => :restore_from_journal
|
140
233
|
get 'dc_common/add_json_ld_schema' => :add_json_ld_schema
|
234
|
+
get 'dc_common/help' => :help
|
141
235
|
end
|
142
236
|
match 'elfinder' => 'dc_elfinder#connector', via: [:get, :post]
|
143
237
|
match 'cmsedit/run' => 'cmsedit#run', via: [:get, :put, :post]
|
@@ -147,5 +241,3 @@ def self.routes
|
|
147
241
|
end
|
148
242
|
|
149
243
|
end
|
150
|
-
|
151
|
-
DrgCms.add_patches_path(File.dirname(__FILE__) + '../app/models/drgcms_form_fields/patches')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: drg_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Damjan Rems
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '6'
|
19
|
+
version: '6.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '6'
|
26
|
+
version: '6.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: jquery-rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,6 +210,7 @@ files:
|
|
210
210
|
- app/controllers/dc_common_controller.rb
|
211
211
|
- app/controllers/dc_main_controller.rb
|
212
212
|
- app/controls/browse_models_control.rb
|
213
|
+
- app/controls/dc_help_control.rb
|
213
214
|
- app/controls/dc_page_control.rb
|
214
215
|
- app/controls/dc_poll_result_control.rb
|
215
216
|
- app/controls/dc_report.rb
|
@@ -228,6 +229,7 @@ files:
|
|
228
229
|
- app/forms/dc_filter.yml
|
229
230
|
- app/forms/dc_folder_permission.yml
|
230
231
|
- app/forms/dc_gallery.yml
|
232
|
+
- app/forms/dc_help_1.yml
|
231
233
|
- app/forms/dc_ident.yml
|
232
234
|
- app/forms/dc_journal.yml
|
233
235
|
- app/forms/dc_json_ld.yml
|
@@ -262,7 +264,6 @@ files:
|
|
262
264
|
- app/helpers/cms_helper.rb
|
263
265
|
- app/helpers/cms_index_helper.rb
|
264
266
|
- app/helpers/dc_application_helper.rb
|
265
|
-
- app/models/__dc_dummy.rb
|
266
267
|
- app/models/concerns/dc_page_concern.rb
|
267
268
|
- app/models/concerns/dc_piece_concern.rb
|
268
269
|
- app/models/concerns/dc_policy_rule_concern.rb
|
@@ -361,6 +362,7 @@ files:
|
|
361
362
|
- app/views/cmsedit/index.html.erb
|
362
363
|
- app/views/cmsedit/login.html.erb
|
363
364
|
- app/views/cmsedit/new.html.erb
|
365
|
+
- app/views/dc_common/_help.html.erb
|
364
366
|
- app/views/dc_common/_iframe_edit.html.erb
|
365
367
|
- app/views/dc_common/paste_clipboard.html.erb
|
366
368
|
- app/views/layouts/__cmsedit.html.erb
|
@@ -423,7 +425,7 @@ files:
|
|
423
425
|
- test/dummy/script/rails
|
424
426
|
- test/integration/navigation_test.rb
|
425
427
|
- test/lib/generators/new_drg_form_generator_test.rb
|
426
|
-
homepage:
|
428
|
+
homepage: https://www.drgcms.org
|
427
429
|
licenses:
|
428
430
|
- MIT
|
429
431
|
metadata: {}
|
@@ -435,47 +437,47 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
435
437
|
requirements:
|
436
438
|
- - ">="
|
437
439
|
- !ruby/object:Gem::Version
|
438
|
-
version: '2.
|
440
|
+
version: '2.7'
|
439
441
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
440
442
|
requirements:
|
441
443
|
- - ">="
|
442
444
|
- !ruby/object:Gem::Version
|
443
445
|
version: '0'
|
444
446
|
requirements: []
|
445
|
-
rubygems_version: 3.
|
447
|
+
rubygems_version: 3.2.22
|
446
448
|
signing_key:
|
447
449
|
specification_version: 4
|
448
450
|
summary: 'DRG: Rapid web application development tool and CMS for Ruby, Rails and
|
449
451
|
MongoDB'
|
450
452
|
test_files:
|
451
453
|
- test/drg_cms_test.rb
|
452
|
-
- test/integration/navigation_test.rb
|
453
|
-
- test/lib/generators/new_drg_form_generator_test.rb
|
454
|
-
- test/dummy/script/rails
|
455
454
|
- test/dummy/README.rdoc
|
456
|
-
- test/dummy/app/views/layouts/application.html.erb
|
457
|
-
- test/dummy/app/helpers/application_helper.rb
|
458
|
-
- test/dummy/app/controllers/application_controller.rb
|
459
|
-
- test/dummy/app/assets/stylesheets/application.css
|
460
|
-
- test/dummy/app/assets/javascripts/application.js
|
461
|
-
- test/dummy/public/422.html
|
462
|
-
- test/dummy/public/404.html
|
463
|
-
- test/dummy/public/favicon.ico
|
464
|
-
- test/dummy/public/500.html
|
465
455
|
- test/dummy/Rakefile
|
466
|
-
- test/dummy/
|
467
|
-
- test/dummy/
|
468
|
-
- test/dummy/
|
469
|
-
- test/dummy/
|
456
|
+
- test/dummy/app/assets/javascripts/application.js
|
457
|
+
- test/dummy/app/assets/stylesheets/application.css
|
458
|
+
- test/dummy/app/controllers/application_controller.rb
|
459
|
+
- test/dummy/app/helpers/application_helper.rb
|
460
|
+
- test/dummy/app/views/layouts/application.html.erb
|
470
461
|
- test/dummy/config/application.rb
|
462
|
+
- test/dummy/config/boot.rb
|
471
463
|
- test/dummy/config/database.yml
|
472
|
-
- test/dummy/config/
|
473
|
-
- test/dummy/config/environments/production.rb
|
464
|
+
- test/dummy/config/environment.rb
|
474
465
|
- test/dummy/config/environments/development.rb
|
475
|
-
- test/dummy/config/
|
476
|
-
- test/dummy/config/
|
466
|
+
- test/dummy/config/environments/production.rb
|
467
|
+
- test/dummy/config/environments/test.rb
|
468
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
477
469
|
- test/dummy/config/initializers/inflections.rb
|
478
470
|
- test/dummy/config/initializers/mime_types.rb
|
479
|
-
- test/dummy/config/initializers/
|
480
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
471
|
+
- test/dummy/config/initializers/secret_token.rb
|
481
472
|
- test/dummy/config/initializers/session_store.rb
|
473
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
474
|
+
- test/dummy/config/locales/en.yml
|
475
|
+
- test/dummy/config/routes.rb
|
476
|
+
- test/dummy/config.ru
|
477
|
+
- test/dummy/public/404.html
|
478
|
+
- test/dummy/public/422.html
|
479
|
+
- test/dummy/public/500.html
|
480
|
+
- test/dummy/public/favicon.ico
|
481
|
+
- test/dummy/script/rails
|
482
|
+
- test/integration/navigation_test.rb
|
483
|
+
- test/lib/generators/new_drg_form_generator_test.rb
|
data/app/models/__dc_dummy.rb
DELETED
@@ -1,102 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2012+ Damjan Rems
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#++
|
23
|
-
|
24
|
-
########################################################################
|
25
|
-
# == Schema information
|
26
|
-
#
|
27
|
-
# Collection name: dc_dummy : Collection name used when form does not belong to database model.
|
28
|
-
#
|
29
|
-
# _id BSON::ObjectId _id
|
30
|
-
#
|
31
|
-
# Which is not collection at all. DcDummy model is used for entering data on forms
|
32
|
-
# where data will not be saved to database but will instead be processed by custom
|
33
|
-
# made routine. For example entering begin and end date on report.
|
34
|
-
#
|
35
|
-
# Example (as used in forms):
|
36
|
-
#
|
37
|
-
# table: dc_dummy
|
38
|
-
# title: Enter time period
|
39
|
-
#
|
40
|
-
# form:
|
41
|
-
# actions:
|
42
|
-
# 1:
|
43
|
-
# type: ajax
|
44
|
-
# method: post
|
45
|
-
# controller: reports
|
46
|
-
# action: do_some_report
|
47
|
-
# caption: Run report
|
48
|
-
#
|
49
|
-
# fields:
|
50
|
-
# 10:
|
51
|
-
# name: date_start
|
52
|
-
# type: date_picker
|
53
|
-
# caption: Start date
|
54
|
-
# 20:
|
55
|
-
# name: date_end
|
56
|
-
# type: date_picker
|
57
|
-
# caption: End date
|
58
|
-
#
|
59
|
-
# And suppose your report saved data to file named public/report.pdf.
|
60
|
-
# Put this line at the end of do_some_report method:
|
61
|
-
#
|
62
|
-
# render inline: { :window_report => '/report.pdf' }.to_json, formats: 'js'
|
63
|
-
#
|
64
|
-
# As result report.pdf file will be opened in new browser window.
|
65
|
-
########################################################################
|
66
|
-
class DcDummy
|
67
|
-
include Mongoid::Document
|
68
|
-
|
69
|
-
########################################################################
|
70
|
-
# Respond_to should always return true.
|
71
|
-
########################################################################
|
72
|
-
def respond_to?(m)
|
73
|
-
true
|
74
|
-
end
|
75
|
-
|
76
|
-
########################################################################
|
77
|
-
# Redefine send method. Send is used to assign value by cmsedit controller.
|
78
|
-
########################################################################
|
79
|
-
def send(field,value=nil)
|
80
|
-
if field.to_s.match('=')
|
81
|
-
field.chomp!('=')
|
82
|
-
@internals ||= {}
|
83
|
-
@internals[field] = value
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
########################################################################
|
88
|
-
# Method missing will return value if value defined by m parameter is saved to
|
89
|
-
# @internals array or will assign new value to @internals hash if m matches '='.
|
90
|
-
########################################################################
|
91
|
-
def method_missing(m, *args, &block) #:nodoc:
|
92
|
-
@internals ||= {}
|
93
|
-
m = m.to_s
|
94
|
-
if m.match('=')
|
95
|
-
m.chomp!('=')
|
96
|
-
@internals[m] = args.first
|
97
|
-
else
|
98
|
-
@internals[m]
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
end
|