drg_cms 0.6.0.1 → 0.6.1.1.1
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/app/assets/javascripts/drg_cms/drg_cms.js +454 -145
- data/app/assets/javascripts/drg_cms_application.js +1 -1
- data/app/assets/stylesheets/drg_cms/drg_cms.css +635 -244
- data/app/assets/stylesheets/drg_cms/select-multiple.css +18 -12
- data/app/assets/stylesheets/drg_cms_cms.css +1 -1
- data/app/controllers/cmsedit_controller.rb +515 -335
- data/app/controllers/dc_application_controller.rb +378 -111
- data/app/controllers/dc_common_controller.rb +105 -14
- data/app/{controllers → controls}/browse_models_control.rb +0 -0
- data/app/controls/dc_help_control.rb +126 -0
- data/app/{controllers → controls}/dc_page_control.rb +24 -8
- data/app/controls/dc_poll_result_control.rb +88 -0
- data/app/controls/dc_report.rb +223 -0
- data/app/{controllers → controls}/design_element_settings_control.rb +0 -0
- data/app/forms/all_options.yml +44 -9
- data/app/forms/cms_menu.yml +28 -18
- data/app/forms/dc_ad.yml +11 -22
- data/app/forms/dc_big_table.yml +1 -0
- data/app/forms/dc_big_table_value.yml +1 -0
- data/app/forms/dc_category.yml +2 -1
- data/app/forms/dc_design.yml +20 -16
- data/app/forms/dc_filter.yml +3 -6
- data/app/forms/dc_help_1.yml +109 -0
- data/app/forms/dc_journal.yml +3 -1
- data/app/forms/dc_json_ld.yml +59 -0
- data/app/forms/dc_key_value.yml +32 -0
- data/app/forms/dc_link.yml +1 -1
- data/app/forms/dc_menu.yml +2 -0
- data/app/forms/dc_menu_item.yml +2 -0
- data/app/forms/dc_page.yml +3 -5
- data/app/forms/dc_part.yml +1 -0
- data/app/forms/dc_piece.yml +1 -0
- data/app/forms/dc_poll.yml +15 -5
- data/app/forms/dc_poll_item.yml +2 -1
- data/app/forms/dc_poll_result.yml +83 -0
- data/app/forms/dc_poll_result_export.yml +35 -0
- data/app/forms/dc_seo.yml +33 -0
- data/app/forms/dc_simple_menu.yml +2 -0
- data/app/forms/dc_site.yml +4 -12
- data/app/forms/dc_user.yml +27 -11
- data/app/forms/dc_user_role.yml +3 -0
- data/app/forms/json_ld_schema.yml +168 -0
- data/app/helpers/cms_common_helper.rb +375 -0
- data/app/helpers/cms_edit_helper.rb +506 -0
- data/app/helpers/cms_helper.rb +268 -0
- data/app/helpers/cms_index_helper.rb +580 -0
- data/app/helpers/dc_application_helper.rb +218 -306
- data/app/models/concerns/dc_page_concern.rb +40 -6
- data/app/models/concerns/dc_policy_rule_concern.rb +20 -8
- data/app/models/concerns/dc_seo_concern.rb +66 -0
- data/app/models/concerns/dc_site_concern.rb +67 -44
- data/app/models/concerns/dc_user_concern.rb +57 -18
- data/app/models/dc_design.rb +30 -18
- data/app/models/dc_filter.rb +22 -13
- data/app/models/dc_json_ld.rb +152 -0
- data/app/models/dc_key_value.rb +48 -0
- data/app/models/dc_key_value_store.rb +1 -0
- data/app/models/dc_memory.rb +8 -1
- data/app/models/dc_page.rb +0 -1
- data/app/models/dc_permission.rb +49 -9
- data/app/models/dc_policy.rb +25 -14
- data/app/models/dc_policy_role.rb +22 -11
- data/app/models/dc_poll.rb +39 -19
- data/app/models/dc_poll_result.rb +46 -0
- data/app/models/dc_temp.rb +140 -0
- data/app/models/dc_user_role.rb +2 -2
- data/app/models/drgcms_form_fields.rb +12 -1
- data/app/models/drgcms_form_fields/action.rb +61 -0
- data/app/models/drgcms_form_fields/comment.rb +8 -4
- data/app/models/drgcms_form_fields/date_picker.rb +11 -9
- data/app/models/drgcms_form_fields/date_select.rb +1 -1
- data/app/models/drgcms_form_fields/datetime_picker.rb +12 -10
- data/app/models/drgcms_form_fields/datetime_select.rb +1 -1
- data/app/models/drgcms_form_fields/drgcms_field.rb +55 -9
- data/app/models/drgcms_form_fields/embedded.rb +26 -16
- data/app/models/drgcms_form_fields/file_field.rb +52 -0
- data/app/models/drgcms_form_fields/file_select.rb +2 -2
- data/app/models/drgcms_form_fields/hash_field.rb +90 -0
- data/app/models/drgcms_form_fields/hidden_field.rb +1 -1
- data/app/models/drgcms_form_fields/html_field.rb +1 -1
- data/app/models/drgcms_form_fields/link_to.rb +2 -2
- data/app/models/drgcms_form_fields/method.rb +66 -0
- data/app/models/drgcms_form_fields/multitext_autocomplete.rb +23 -14
- data/app/models/drgcms_form_fields/number_field.rb +15 -6
- data/app/models/drgcms_form_fields/radio.rb +96 -0
- data/app/models/drgcms_form_fields/readonly.rb +2 -2
- data/app/models/drgcms_form_fields/select.rb +92 -29
- data/app/models/drgcms_form_fields/text_area.rb +1 -1
- data/app/models/drgcms_form_fields/text_autocomplete.rb +31 -17
- data/app/models/drgcms_form_fields/text_field.rb +1 -1
- data/app/models/drgcms_form_fields/text_with_select.rb +6 -3
- data/app/models/drgcms_form_fields/tree_select.rb +15 -4
- data/app/{helpers → renderers}/dc_ad_renderer.rb +0 -0
- data/app/{helpers → renderers}/dc_big_menu_renderer.rb +1 -0
- data/app/{helpers → renderers}/dc_captcha_renderer.rb +0 -0
- data/app/{helpers → renderers}/dc_common_renderer.rb +0 -0
- data/app/{helpers → renderers}/dc_gallery_renderer.rb +1 -0
- data/app/{helpers → renderers}/dc_menu_renderer.rb +11 -4
- data/app/{helpers → renderers}/dc_page_renderer.rb +1 -0
- data/app/{helpers → renderers}/dc_part_renderer.rb +5 -4
- data/app/{helpers → renderers}/dc_piece_renderer.rb +1 -1
- data/app/{helpers → renderers}/dc_poll_renderer.rb +91 -64
- data/app/{helpers → renderers}/dc_renderer.rb +1 -0
- data/app/{helpers → renderers}/dc_simple_menu_renderer.rb +1 -0
- data/app/views/cmsedit/{remove_edit_stuff.js.erb → __remove_edit_stuff.js.erb} +0 -0
- data/app/views/cmsedit/{show.html.erb → __show.html.erb} +0 -0
- data/app/views/cmsedit/_edit_stuff.html.erb +4 -25
- data/app/views/cmsedit/_form.html.erb +4 -3
- data/app/views/cmsedit/_result.html.erb +2 -3
- data/app/views/cmsedit/edit.html.erb +4 -1
- data/app/views/cmsedit/index.html.erb +7 -1
- data/app/views/cmsedit/new.html.erb +3 -1
- 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 +27 -3
- data/config/locales/drgcms_sl.yml +32 -5
- data/config/locales/models_en.yml +65 -17
- data/config/locales/models_sl.yml +69 -18
- data/drg_cms.gemspec +1 -1
- data/lib/drg_cms.rb +61 -1
- data/lib/drg_cms/version.rb +1 -1
- data/lib/generators/new_drg_form/new_drg_form_generator.rb +9 -2
- data/lib/tasks/database.rake +6 -56
- metadata +73 -54
- data/app/assets/stylesheets/drg_cms/__jquery-ui.css +0 -339
- data/app/helpers/application_helper.rb +0 -2
- data/app/helpers/cmsedit_helper.rb +0 -888
- data/app/models/dc_dummy.rb +0 -102
- data/test/fixtures/drg_cms_test_data.rb +0 -87
|
@@ -72,6 +72,7 @@ sl:
|
|
|
72
72
|
name: Ime
|
|
73
73
|
description: Opis
|
|
74
74
|
body: Vsebina
|
|
75
|
+
params: Parametri
|
|
75
76
|
css: CSS
|
|
76
77
|
author: Avtor
|
|
77
78
|
updated_by: Spremenil
|
|
@@ -81,23 +82,24 @@ sl:
|
|
|
81
82
|
site_id: Spletišče
|
|
82
83
|
control: Kontrolna datoteka
|
|
83
84
|
control_method: Kontrolna metoda
|
|
84
|
-
|
|
85
|
+
updated_at: Spremenjeno
|
|
85
86
|
|
|
86
87
|
dc_user:
|
|
87
88
|
tabletitle: Uporabniki
|
|
88
|
-
|
|
89
|
+
1base: Osnova
|
|
89
90
|
|
|
90
91
|
id: Id
|
|
91
92
|
username: Uporabnik
|
|
92
93
|
title: Titula
|
|
93
94
|
first_name: Ime
|
|
95
|
+
middle_name: Srednje ime
|
|
94
96
|
last_name: Priimek
|
|
95
97
|
name: Naziv
|
|
96
98
|
address: Naslov
|
|
97
99
|
post: Pošta
|
|
98
100
|
country: Država
|
|
99
101
|
phone: Telefon
|
|
100
|
-
email: e-
|
|
102
|
+
email: e-Naslov
|
|
101
103
|
picture: Slika
|
|
102
104
|
birthdate: Datum rojstva
|
|
103
105
|
about: Več o
|
|
@@ -106,8 +108,8 @@ sl:
|
|
|
106
108
|
valid_from: Velja od
|
|
107
109
|
valid_to: Velja do
|
|
108
110
|
updated_by: Spremenil
|
|
109
|
-
|
|
110
|
-
|
|
111
|
+
group: Je skupina
|
|
112
|
+
member: Član v skupinah
|
|
111
113
|
dc_user_roles: Uporabniške vloge
|
|
112
114
|
password: Geslo
|
|
113
115
|
password_confirmation: Potrdi geslo
|
|
@@ -126,18 +128,21 @@ sl:
|
|
|
126
128
|
dc_poll:
|
|
127
129
|
tabletitle: Ankete
|
|
128
130
|
choices4_operation: 'Poženi program:poll_submit,Povezava:link'
|
|
129
|
-
choices4_display: '
|
|
131
|
+
choices4_display: 'Zgoraj:td,Levo:lr,Znotraj:in'
|
|
130
132
|
tab1: Podatki
|
|
131
|
-
tab2:
|
|
132
|
-
tab3:
|
|
133
|
+
tab2: Skriptna koda
|
|
134
|
+
tab3: Vsebina
|
|
135
|
+
tab4: Vsebina - napredno
|
|
133
136
|
|
|
134
137
|
name: Ime
|
|
135
138
|
title: Naslov
|
|
136
139
|
sub_text: Kratek opis
|
|
137
140
|
operation: Operacija
|
|
138
141
|
parameters: Parametri
|
|
139
|
-
display:
|
|
142
|
+
display: Napis
|
|
140
143
|
css: CSS
|
|
144
|
+
js: Skriptna koda
|
|
145
|
+
pre_display: Pred prikazom zaženi
|
|
141
146
|
valid_from: Velja od
|
|
142
147
|
valid_to: Velja do
|
|
143
148
|
dc_poll_items: Vrstice
|
|
@@ -147,7 +152,7 @@ sl:
|
|
|
147
152
|
|
|
148
153
|
dc_poll_item:
|
|
149
154
|
tabletitle: Vnosne vrstice
|
|
150
|
-
choices4_type: Podatek:text_field,Tekst:text_area,Izbirno:select,Izbirni gumb:check_box,Zaključek:submit_tag,Povezava:link_to,Geslo:password_field,Komentar:comment
|
|
155
|
+
choices4_type: Podatek:text_field,Tekst:text_area,Izbirno:select,Izbirni gumb:check_box,Zaključek:submit_tag,Povezava:link_to,Geslo:password_field,Komentar:comment,Radio:radio
|
|
151
156
|
choices4_separator: Presledek: ,Prazna vrstica:<br />,Ravnilo:<hr>
|
|
152
157
|
|
|
153
158
|
name: Naziv
|
|
@@ -159,6 +164,14 @@ sl:
|
|
|
159
164
|
options: Opcije
|
|
160
165
|
order: Zaporedje
|
|
161
166
|
active: Aktivna
|
|
167
|
+
|
|
168
|
+
dc_poll_result:
|
|
169
|
+
tabletitle: Rezultati anket
|
|
170
|
+
|
|
171
|
+
dc_poll_id: Anketa
|
|
172
|
+
created_at: Nastalo
|
|
173
|
+
data: Podatki
|
|
174
|
+
confirmed: Potrjen
|
|
162
175
|
|
|
163
176
|
dc_policy:
|
|
164
177
|
tabletitle: Politike za dostop
|
|
@@ -285,7 +298,6 @@ sl:
|
|
|
285
298
|
|
|
286
299
|
subject: Zadeva
|
|
287
300
|
subject_link: Povezava
|
|
288
|
-
title: Naslov za brskalnik
|
|
289
301
|
sub_subject: Povzetek
|
|
290
302
|
picture: Slika
|
|
291
303
|
alt_link: Alt povezava
|
|
@@ -322,6 +334,13 @@ sl:
|
|
|
322
334
|
if_class: CSS class
|
|
323
335
|
_update_menu: Spremeni meni
|
|
324
336
|
|
|
337
|
+
dc_seo:
|
|
338
|
+
seo: SEO
|
|
339
|
+
title: Naslov za brskalnik
|
|
340
|
+
meta_description: Meta opis
|
|
341
|
+
canonical_link: Canonical link
|
|
342
|
+
dc_json_lds: Strukturni podatki
|
|
343
|
+
|
|
325
344
|
dc_part:
|
|
326
345
|
tabletitle: Elementi strani
|
|
327
346
|
1base: Osnovno
|
|
@@ -542,6 +561,18 @@ sl:
|
|
|
542
561
|
active: Aktiven
|
|
543
562
|
created_at: Ustvarjeno
|
|
544
563
|
|
|
564
|
+
dc_json_ld:
|
|
565
|
+
tabletitle: Struktirirani podatki za spletno stran
|
|
566
|
+
choices4_type: Organizacija:Organization,Kontakt:ContactPoint
|
|
567
|
+
|
|
568
|
+
name: Ime
|
|
569
|
+
type: Tip
|
|
570
|
+
data: Podatki
|
|
571
|
+
created_at: Narejeno
|
|
572
|
+
updated_at: Spremenjeno
|
|
573
|
+
active: Aktiven
|
|
574
|
+
dc_json_lds: Podelement strukture
|
|
575
|
+
|
|
545
576
|
# help pomoč na obrazcih ####################################################
|
|
546
577
|
|
|
547
578
|
help:
|
|
@@ -580,14 +611,14 @@ sl:
|
|
|
580
611
|
body: Vsebina dizajna, ki se bo izvedla kot vsaka Rails view datoteka
|
|
581
612
|
css: CSS za dizajn
|
|
582
613
|
author: Ime avtorja
|
|
614
|
+
params: Parametri povezani z dizajnom strani
|
|
583
615
|
updated_by: Zadnji spreminjal
|
|
584
616
|
active: Ali je dizajn aktiven
|
|
585
617
|
dc_parts: Elementi, sestavni deli dizajna
|
|
586
618
|
rails_view: Ime Rails view datoteke, ki bo uporabljena za izris strani
|
|
587
619
|
site_id: Izberite spletišče, če dizajn pripada samo enemu spletišču
|
|
588
620
|
control: Izvorna datoteka z akcijami za izris dizajna
|
|
589
|
-
control_method: Kontrolna metoda (akcija), ki se bo klicala v izvorni datoteki
|
|
590
|
-
|
|
621
|
+
control_method: Kontrolna metoda (akcija), ki se bo klicala v izvorni datoteki
|
|
591
622
|
|
|
592
623
|
dc_user:
|
|
593
624
|
username: Uporabniško ime
|
|
@@ -609,14 +640,13 @@ sl:
|
|
|
609
640
|
valid_from: Začetni datum veljavnosti
|
|
610
641
|
valid_to: Končni datum veljavnosti
|
|
611
642
|
updated_by: Spremenil
|
|
612
|
-
|
|
613
|
-
|
|
643
|
+
group: Račun predstavlja uporabniško skupino
|
|
644
|
+
member: Seznam skupin za uporabnika
|
|
614
645
|
dc_user_roles: Vloge, ki pripadajo temu uporabniku
|
|
615
646
|
password: Geslo
|
|
616
647
|
password_confirmation: Še enkrat vpišite geslo
|
|
617
648
|
signature: Podpis, ki se doda k vsakemu sporočilu tega uporabnika
|
|
618
649
|
|
|
619
|
-
|
|
620
650
|
dc_user_role:
|
|
621
651
|
dc_policy_role_id: Uporabnikova vloga
|
|
622
652
|
has_cms_menu: Vloga dovoljuje prikaz opcije za CMS menu
|
|
@@ -631,8 +661,10 @@ sl:
|
|
|
631
661
|
sub_text: Kratek opis ankete
|
|
632
662
|
operation: Operacija, ki se izvede ob kliku na izbiro
|
|
633
663
|
parameters: Dodatni parametri za operacijo
|
|
634
|
-
display:
|
|
664
|
+
display: Postavitev napisa glede na vpisno polje
|
|
635
665
|
css: CSS samo za to anketo
|
|
666
|
+
js: Javascript koda samo za to anketo
|
|
667
|
+
pre_display: Metoda. ki se zažene pred prikazom obrazca. Običajno za privzeto polnjenje podatkov obrazca
|
|
636
668
|
valid_from: Anketa je veljavna od
|
|
637
669
|
valid_to: Anketa je veljavna do
|
|
638
670
|
dc_poll_items: Posamezni podatki ankete
|
|
@@ -649,6 +681,12 @@ sl:
|
|
|
649
681
|
options: Opcije, odvisne od vrste vpisnega polja
|
|
650
682
|
order: Zaporedje prikaza na anketi
|
|
651
683
|
active: Vrstica je aktivna
|
|
684
|
+
|
|
685
|
+
dc_poll_result:
|
|
686
|
+
dc_poll_id: Naziv ankete
|
|
687
|
+
created_at: Čas nastanka zapisa
|
|
688
|
+
data: Podatki v YAML formatu
|
|
689
|
+
confirmed: Podatki potrjeni. Npr. Uporabnik mora klikniti povezavo v e-pošti.
|
|
652
690
|
|
|
653
691
|
dc_policy:
|
|
654
692
|
name: Naziv politike
|
|
@@ -740,7 +778,6 @@ sl:
|
|
|
740
778
|
subject: Zadeva (kratek naslov) sestavka
|
|
741
779
|
subject_link: Povezava (link) do sestavka
|
|
742
780
|
sub_subject: Povzetek, kratek opis vsebine
|
|
743
|
-
title: Naslov, ki se izpiše v gornji vrstici brskalnika. Optimiziraj za SEO.
|
|
744
781
|
alt_link: Alternativna povezava do sestavka
|
|
745
782
|
picture: Slika v povezavi s stranjo
|
|
746
783
|
gallery: Dokument vsebuje slikovno galerijo.
|
|
@@ -774,6 +811,12 @@ sl:
|
|
|
774
811
|
if_id: CSS id IFrame objekta
|
|
775
812
|
if_class: CSS class IFrame objekta
|
|
776
813
|
_update_menu: Popravi tudi povezavo do dokumenta v menuju
|
|
814
|
+
|
|
815
|
+
dc_seo:
|
|
816
|
+
title: Naslov, ki se izpiše v gornji vrstici brskalnika. Optimiziraj za SEO.
|
|
817
|
+
meta_description: SEO optimiziran opis strani
|
|
818
|
+
canonical_link: Canonical link, kadar je stran uporabljena z različnimi parametri
|
|
819
|
+
dc_json_lds: Schema strukturni podatki, ki dodatno opisujejo spletno stran
|
|
777
820
|
|
|
778
821
|
dc_part:
|
|
779
822
|
name: Naziv elementa
|
|
@@ -932,3 +975,11 @@ sl:
|
|
|
932
975
|
doc_id: Dokument povezan z galerijo
|
|
933
976
|
order: Vrstni red slike v galeriji
|
|
934
977
|
active: Dokument je aktiven
|
|
978
|
+
|
|
979
|
+
dc_json_ld:
|
|
980
|
+
name: Naziv elementa podatkovne strukture
|
|
981
|
+
type: Tip podatkovne strukture
|
|
982
|
+
data: Podatki v YAML formatu
|
|
983
|
+
active: Podatki so aktivni
|
|
984
|
+
add_schema: Dodaj strukturo
|
|
985
|
+
add_error: Element %{schema} že obstaja!
|
data/drg_cms.gemspec
CHANGED
|
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
|
26
26
|
s.add_dependency 'non-stupid-digest-assets'
|
|
27
27
|
|
|
28
28
|
s.add_dependency 'bcrypt' #, '~> 3.0.0'
|
|
29
|
-
s.add_dependency 'mongoid', '~> 7
|
|
29
|
+
s.add_dependency 'mongoid', '~> 7'
|
|
30
30
|
|
|
31
31
|
s.add_dependency 'kaminari-mongoid'
|
|
32
32
|
s.add_dependency 'kaminari-actionview'
|
data/lib/drg_cms.rb
CHANGED
|
@@ -118,6 +118,63 @@ 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 = ""
|
|
144
|
+
document.errors.each do |attribute, errors_array|
|
|
145
|
+
msg << "#{attribute}: #{errors_array}\n"
|
|
146
|
+
end
|
|
147
|
+
#
|
|
148
|
+
if crash and msg.size > 0
|
|
149
|
+
msg = "Validation errors in #{document.class}:\n" + msg
|
|
150
|
+
pp msg
|
|
151
|
+
Rails.logger.error(msg)
|
|
152
|
+
raise "Validation error. See log for more information."
|
|
153
|
+
end
|
|
154
|
+
msg
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
####################################################################
|
|
158
|
+
# Clear cache. If key is specified only this key will be deleted.
|
|
159
|
+
#
|
|
160
|
+
# @param [String] Optional key to be deleted
|
|
161
|
+
####################################################################
|
|
162
|
+
def self.cache_clear(key = nil)
|
|
163
|
+
return Rails.cache.clear if key.nil?
|
|
164
|
+
|
|
165
|
+
if ((Rails.application.config.cache_store.first == :redis_cache_store) rescue false)
|
|
166
|
+
Rails.cache.redis.del(key)
|
|
167
|
+
else
|
|
168
|
+
Rails.cache.delete_matched("#{key}*")
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
def self.__cache_clear(key = nil)
|
|
173
|
+
return Rails.cache.clear if key.nil?
|
|
174
|
+
|
|
175
|
+
Rails.cache.delete_matched("#{key}*")
|
|
176
|
+
end
|
|
177
|
+
|
|
121
178
|
###############################################################################
|
|
122
179
|
# All Routes required by DrgCms.
|
|
123
180
|
#
|
|
@@ -135,10 +192,13 @@ def self.routes
|
|
|
135
192
|
get 'dc_common/logout' => :logout
|
|
136
193
|
get 'dc_common/login' => :login
|
|
137
194
|
get 'dc_common/copy_clipboard' => :copy_clipboard
|
|
138
|
-
match 'dc_common/paste_clipboard'
|
|
195
|
+
match 'dc_common/paste_clipboard' => :paste_clipboard, via: [:get, :post]
|
|
139
196
|
put 'dc_common/restore_from_journal' => :restore_from_journal
|
|
197
|
+
get 'dc_common/add_json_ld_schema' => :add_json_ld_schema
|
|
198
|
+
get 'dc_common/help' => :help
|
|
140
199
|
end
|
|
141
200
|
match 'elfinder' => 'dc_elfinder#connector', via: [:get, :post]
|
|
201
|
+
match 'cmsedit/run' => 'cmsedit#run', via: [:get, :put, :post]
|
|
142
202
|
resources :cmsedit
|
|
143
203
|
resources :cms, controller: :cmsedit
|
|
144
204
|
end
|
data/lib/drg_cms/version.rb
CHANGED
|
@@ -12,8 +12,15 @@ def create_form_file
|
|
|
12
12
|
#:TODO: find out how to prevent error when model class is not defined
|
|
13
13
|
@file_name = file_name
|
|
14
14
|
form_name = file_name #if formname.size == 0
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
begin
|
|
16
|
+
@model = file_name.classify.constantize
|
|
17
|
+
rescue Exception => e
|
|
18
|
+
msg = ([e.message]+e.backtrace).join($/)
|
|
19
|
+
Rails.logger.error(msg)
|
|
20
|
+
pp msg
|
|
21
|
+
@model = nil
|
|
22
|
+
end
|
|
23
|
+
return (pp "Error loading #{file_name.classify} model! Aborting.") if @model.nil?
|
|
17
24
|
#
|
|
18
25
|
yml = top_level_options + index_options + result_set_options + form_top_options + form_fields_options + localize_options
|
|
19
26
|
create_file "app/forms/#{form_name}.yml", yml
|
data/lib/tasks/database.rake
CHANGED
|
@@ -6,61 +6,9 @@
|
|
|
6
6
|
#########################################################################
|
|
7
7
|
def determine_model(path)
|
|
8
8
|
path =~ /(.*)\/(.*).rb/
|
|
9
|
-
|
|
10
|
-
$2.camelize.constantize
|
|
11
|
-
rescue Exception # it happends
|
|
12
|
-
nil
|
|
13
|
-
end
|
|
9
|
+
$2.camelize.constantize rescue nil # nil happens
|
|
14
10
|
end
|
|
15
11
|
|
|
16
|
-
#########################################################################
|
|
17
|
-
# Create index for single module
|
|
18
|
-
#########################################################################
|
|
19
|
-
def create_index(model)
|
|
20
|
-
return if model.index_specifications.empty?
|
|
21
|
-
#
|
|
22
|
-
if !model.embedded? || model.cyclic?
|
|
23
|
-
@logger.info("DRGCMS: Creating indexes on #{model}:")
|
|
24
|
-
model.create_indexes
|
|
25
|
-
model.index_specifications.each do |spec|
|
|
26
|
-
@logger.info("DRGCMS: Index: #{spec.key}, Options: #{spec.options}")
|
|
27
|
-
end
|
|
28
|
-
model
|
|
29
|
-
else
|
|
30
|
-
@logger.info("DRGCMS: Index ignored on: #{model}, please define in the root model.")
|
|
31
|
-
nil
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
#########################################################################
|
|
36
|
-
# Will remove all undefined indexes from collection.
|
|
37
|
-
#########################################################################
|
|
38
|
-
def remove_undefined_indexes(model)
|
|
39
|
-
return if model.embedded?
|
|
40
|
-
#
|
|
41
|
-
begin
|
|
42
|
-
undefined = []
|
|
43
|
-
model.collection.indexes.each do |index|
|
|
44
|
-
# ignore default index
|
|
45
|
-
next if index['name'] == '_id_'
|
|
46
|
-
|
|
47
|
-
key = index['key'].symbolize_keys
|
|
48
|
-
spec = model.index_specification(key)
|
|
49
|
-
undefined << index unless spec
|
|
50
|
-
end
|
|
51
|
-
rescue Mongo::Error::OperationFailure; end
|
|
52
|
-
#
|
|
53
|
-
undefined.each do |index|
|
|
54
|
-
key = index['key'].symbolize_keys
|
|
55
|
-
collection = model.collection
|
|
56
|
-
collection.indexes.drop(key)
|
|
57
|
-
@logger.info(
|
|
58
|
-
"MONGOID: Removed index '#{index['name']}' on collection " +
|
|
59
|
-
"'#{collection.name}' in database '#{collection.database.name}'."
|
|
60
|
-
)
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
|
|
64
12
|
#########################################################################
|
|
65
13
|
# Return array of all models found in application.
|
|
66
14
|
#########################################################################
|
|
@@ -70,7 +18,7 @@ def all_models()
|
|
|
70
18
|
models_dir = File.expand_path("../models", path)
|
|
71
19
|
Dir["#{models_dir}/*.rb"].each do |model_file|
|
|
72
20
|
model = determine_model(model_file)
|
|
73
|
-
models << model if
|
|
21
|
+
models << model if model and model.respond_to?(:index_specifications)
|
|
74
22
|
end
|
|
75
23
|
end
|
|
76
24
|
models
|
|
@@ -82,12 +30,14 @@ end
|
|
|
82
30
|
namespace :drg_cms do
|
|
83
31
|
desc "Create indexes for all mongoid models. Including those in gem plugins."
|
|
84
32
|
task :create_indexes => :environment do
|
|
85
|
-
|
|
33
|
+
@logger.info( "MONGOID: Checking indexes.")
|
|
34
|
+
Mongoid::Tasks::Database.create_indexes(all_models)
|
|
86
35
|
end
|
|
87
36
|
|
|
88
37
|
desc "Remove undefined indexes for all mongoid models. Including those in gem plugins."
|
|
89
38
|
task :remove_undefined_indexes => :environment do
|
|
90
|
-
|
|
39
|
+
@logger.info( "MONGOID: Remove undefined indexes.")
|
|
40
|
+
Mongoid::Tasks::Database.remove_undefined_indexes(all_models)
|
|
91
41
|
end
|
|
92
42
|
|
|
93
43
|
end
|
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.1.1
|
|
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:
|
|
11
|
+
date: 2021-04-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -86,14 +86,14 @@ dependencies:
|
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 7
|
|
89
|
+
version: '7'
|
|
90
90
|
type: :runtime
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: 7
|
|
96
|
+
version: '7'
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: kaminari-mongoid
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -197,7 +197,6 @@ files:
|
|
|
197
197
|
- app/assets/javascripts/drg_cms/some_scripts.js
|
|
198
198
|
- app/assets/javascripts/drg_cms_application.js
|
|
199
199
|
- app/assets/javascripts/drg_cms_cms.js
|
|
200
|
-
- app/assets/stylesheets/drg_cms/__jquery-ui.css
|
|
201
200
|
- app/assets/stylesheets/drg_cms/drg_cms.css
|
|
202
201
|
- app/assets/stylesheets/drg_cms/jquery.datetimepicker.css
|
|
203
202
|
- app/assets/stylesheets/drg_cms/jstree.css
|
|
@@ -206,13 +205,16 @@ files:
|
|
|
206
205
|
- app/assets/stylesheets/drg_cms/theme.css
|
|
207
206
|
- app/assets/stylesheets/drg_cms_application.css
|
|
208
207
|
- app/assets/stylesheets/drg_cms_cms.css
|
|
209
|
-
- app/controllers/browse_models_control.rb
|
|
210
208
|
- app/controllers/cmsedit_controller.rb
|
|
211
209
|
- app/controllers/dc_application_controller.rb
|
|
212
210
|
- app/controllers/dc_common_controller.rb
|
|
213
211
|
- app/controllers/dc_main_controller.rb
|
|
214
|
-
- app/
|
|
215
|
-
- app/
|
|
212
|
+
- app/controls/browse_models_control.rb
|
|
213
|
+
- app/controls/dc_help_control.rb
|
|
214
|
+
- app/controls/dc_page_control.rb
|
|
215
|
+
- app/controls/dc_poll_result_control.rb
|
|
216
|
+
- app/controls/dc_report.rb
|
|
217
|
+
- app/controls/design_element_settings_control.rb
|
|
216
218
|
- app/forms/all_options.yml
|
|
217
219
|
- app/forms/cms_forms.yml
|
|
218
220
|
- app/forms/cms_menu.yml
|
|
@@ -227,8 +229,11 @@ files:
|
|
|
227
229
|
- app/forms/dc_filter.yml
|
|
228
230
|
- app/forms/dc_folder_permission.yml
|
|
229
231
|
- app/forms/dc_gallery.yml
|
|
232
|
+
- app/forms/dc_help_1.yml
|
|
230
233
|
- app/forms/dc_ident.yml
|
|
231
234
|
- app/forms/dc_journal.yml
|
|
235
|
+
- app/forms/dc_json_ld.yml
|
|
236
|
+
- app/forms/dc_key_value.yml
|
|
232
237
|
- app/forms/dc_key_value_store.yml
|
|
233
238
|
- app/forms/dc_link.yml
|
|
234
239
|
- app/forms/dc_menu.yml
|
|
@@ -243,31 +248,26 @@ files:
|
|
|
243
248
|
- app/forms/dc_policy_rule_nocms.yml
|
|
244
249
|
- app/forms/dc_poll.yml
|
|
245
250
|
- app/forms/dc_poll_item.yml
|
|
251
|
+
- app/forms/dc_poll_result.yml
|
|
252
|
+
- app/forms/dc_poll_result_export.yml
|
|
246
253
|
- app/forms/dc_removed_url.yml
|
|
254
|
+
- app/forms/dc_seo.yml
|
|
247
255
|
- app/forms/dc_simple_menu.yml
|
|
248
256
|
- app/forms/dc_simple_menu_item.yml
|
|
249
257
|
- app/forms/dc_site.yml
|
|
250
258
|
- app/forms/dc_user.yml
|
|
251
259
|
- app/forms/dc_user_role.yml
|
|
252
260
|
- app/forms/drgcms_cms.yml
|
|
253
|
-
- app/
|
|
254
|
-
- app/helpers/
|
|
255
|
-
- app/helpers/
|
|
261
|
+
- app/forms/json_ld_schema.yml
|
|
262
|
+
- app/helpers/cms_common_helper.rb
|
|
263
|
+
- app/helpers/cms_edit_helper.rb
|
|
264
|
+
- app/helpers/cms_helper.rb
|
|
265
|
+
- app/helpers/cms_index_helper.rb
|
|
256
266
|
- app/helpers/dc_application_helper.rb
|
|
257
|
-
- app/helpers/dc_big_menu_renderer.rb
|
|
258
|
-
- app/helpers/dc_captcha_renderer.rb
|
|
259
|
-
- app/helpers/dc_common_renderer.rb
|
|
260
|
-
- app/helpers/dc_gallery_renderer.rb
|
|
261
|
-
- app/helpers/dc_menu_renderer.rb
|
|
262
|
-
- app/helpers/dc_page_renderer.rb
|
|
263
|
-
- app/helpers/dc_part_renderer.rb
|
|
264
|
-
- app/helpers/dc_piece_renderer.rb
|
|
265
|
-
- app/helpers/dc_poll_renderer.rb
|
|
266
|
-
- app/helpers/dc_renderer.rb
|
|
267
|
-
- app/helpers/dc_simple_menu_renderer.rb
|
|
268
267
|
- app/models/concerns/dc_page_concern.rb
|
|
269
268
|
- app/models/concerns/dc_piece_concern.rb
|
|
270
269
|
- app/models/concerns/dc_policy_rule_concern.rb
|
|
270
|
+
- app/models/concerns/dc_seo_concern.rb
|
|
271
271
|
- app/models/concerns/dc_site_concern.rb
|
|
272
272
|
- app/models/concerns/dc_user_concern.rb
|
|
273
273
|
- app/models/dc_ad.rb
|
|
@@ -278,13 +278,14 @@ files:
|
|
|
278
278
|
- app/models/dc_big_table_value.rb
|
|
279
279
|
- app/models/dc_category.rb
|
|
280
280
|
- app/models/dc_design.rb
|
|
281
|
-
- app/models/dc_dummy.rb
|
|
282
281
|
- app/models/dc_filter.rb
|
|
283
282
|
- app/models/dc_folder_permission.rb
|
|
284
283
|
- app/models/dc_gallery.rb
|
|
285
284
|
- app/models/dc_ident.rb
|
|
286
285
|
- app/models/dc_internals.rb
|
|
287
286
|
- app/models/dc_journal.rb
|
|
287
|
+
- app/models/dc_json_ld.rb
|
|
288
|
+
- app/models/dc_key_value.rb
|
|
288
289
|
- app/models/dc_key_value_store.rb
|
|
289
290
|
- app/models/dc_link.rb
|
|
290
291
|
- app/models/dc_memory.rb
|
|
@@ -299,15 +300,18 @@ files:
|
|
|
299
300
|
- app/models/dc_policy_rule.rb
|
|
300
301
|
- app/models/dc_poll.rb
|
|
301
302
|
- app/models/dc_poll_item.rb
|
|
303
|
+
- app/models/dc_poll_result.rb
|
|
302
304
|
- app/models/dc_removed_url.rb
|
|
303
305
|
- app/models/dc_simple_menu.rb
|
|
304
306
|
- app/models/dc_simple_menu_item.rb
|
|
305
307
|
- app/models/dc_site.rb
|
|
306
308
|
- app/models/dc_stat.rb
|
|
309
|
+
- app/models/dc_temp.rb
|
|
307
310
|
- app/models/dc_user.rb
|
|
308
311
|
- app/models/dc_user_role.rb
|
|
309
312
|
- app/models/dc_visit.rb
|
|
310
313
|
- app/models/drgcms_form_fields.rb
|
|
314
|
+
- app/models/drgcms_form_fields/action.rb
|
|
311
315
|
- app/models/drgcms_form_fields/check_box.rb
|
|
312
316
|
- app/models/drgcms_form_fields/comment.rb
|
|
313
317
|
- app/models/drgcms_form_fields/date_picker.rb
|
|
@@ -316,14 +320,18 @@ files:
|
|
|
316
320
|
- app/models/drgcms_form_fields/datetime_select.rb
|
|
317
321
|
- app/models/drgcms_form_fields/drgcms_field.rb
|
|
318
322
|
- app/models/drgcms_form_fields/embedded.rb
|
|
323
|
+
- app/models/drgcms_form_fields/file_field.rb
|
|
319
324
|
- app/models/drgcms_form_fields/file_select.rb
|
|
325
|
+
- app/models/drgcms_form_fields/hash_field.rb
|
|
320
326
|
- app/models/drgcms_form_fields/hidden_field.rb
|
|
321
327
|
- app/models/drgcms_form_fields/html_field.rb
|
|
322
328
|
- app/models/drgcms_form_fields/journal_diff.rb
|
|
323
329
|
- app/models/drgcms_form_fields/link_to.rb
|
|
330
|
+
- app/models/drgcms_form_fields/method.rb
|
|
324
331
|
- app/models/drgcms_form_fields/multitext_autocomplete.rb
|
|
325
332
|
- app/models/drgcms_form_fields/number_field.rb
|
|
326
333
|
- app/models/drgcms_form_fields/password_field.rb
|
|
334
|
+
- app/models/drgcms_form_fields/radio.rb
|
|
327
335
|
- app/models/drgcms_form_fields/readonly.rb
|
|
328
336
|
- app/models/drgcms_form_fields/select.rb
|
|
329
337
|
- app/models/drgcms_form_fields/submit_tag.rb
|
|
@@ -332,6 +340,20 @@ files:
|
|
|
332
340
|
- app/models/drgcms_form_fields/text_field.rb
|
|
333
341
|
- app/models/drgcms_form_fields/text_with_select.rb
|
|
334
342
|
- app/models/drgcms_form_fields/tree_select.rb
|
|
343
|
+
- app/renderers/dc_ad_renderer.rb
|
|
344
|
+
- app/renderers/dc_big_menu_renderer.rb
|
|
345
|
+
- app/renderers/dc_captcha_renderer.rb
|
|
346
|
+
- app/renderers/dc_common_renderer.rb
|
|
347
|
+
- app/renderers/dc_gallery_renderer.rb
|
|
348
|
+
- app/renderers/dc_menu_renderer.rb
|
|
349
|
+
- app/renderers/dc_page_renderer.rb
|
|
350
|
+
- app/renderers/dc_part_renderer.rb
|
|
351
|
+
- app/renderers/dc_piece_renderer.rb
|
|
352
|
+
- app/renderers/dc_poll_renderer.rb
|
|
353
|
+
- app/renderers/dc_renderer.rb
|
|
354
|
+
- app/renderers/dc_simple_menu_renderer.rb
|
|
355
|
+
- app/views/cmsedit/__remove_edit_stuff.js.erb
|
|
356
|
+
- app/views/cmsedit/__show.html.erb
|
|
335
357
|
- app/views/cmsedit/_edit_stuff.html.erb
|
|
336
358
|
- app/views/cmsedit/_form.html.erb
|
|
337
359
|
- app/views/cmsedit/_result.html.erb
|
|
@@ -340,8 +362,7 @@ files:
|
|
|
340
362
|
- app/views/cmsedit/index.html.erb
|
|
341
363
|
- app/views/cmsedit/login.html.erb
|
|
342
364
|
- app/views/cmsedit/new.html.erb
|
|
343
|
-
- app/views/
|
|
344
|
-
- app/views/cmsedit/show.html.erb
|
|
365
|
+
- app/views/dc_common/_help.html.erb
|
|
345
366
|
- app/views/dc_common/_iframe_edit.html.erb
|
|
346
367
|
- app/views/dc_common/paste_clipboard.html.erb
|
|
347
368
|
- app/views/layouts/__cmsedit.html.erb
|
|
@@ -402,14 +423,13 @@ files:
|
|
|
402
423
|
- test/dummy/public/500.html
|
|
403
424
|
- test/dummy/public/favicon.ico
|
|
404
425
|
- test/dummy/script/rails
|
|
405
|
-
- test/fixtures/drg_cms_test_data.rb
|
|
406
426
|
- test/integration/navigation_test.rb
|
|
407
427
|
- test/lib/generators/new_drg_form_generator_test.rb
|
|
408
428
|
homepage: http://www.drgcms.org
|
|
409
429
|
licenses:
|
|
410
430
|
- MIT
|
|
411
431
|
metadata: {}
|
|
412
|
-
post_install_message:
|
|
432
|
+
post_install_message:
|
|
413
433
|
rdoc_options: []
|
|
414
434
|
require_paths:
|
|
415
435
|
- lib
|
|
@@ -424,41 +444,40 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
424
444
|
- !ruby/object:Gem::Version
|
|
425
445
|
version: '0'
|
|
426
446
|
requirements: []
|
|
427
|
-
rubygems_version: 3.
|
|
428
|
-
signing_key:
|
|
447
|
+
rubygems_version: 3.1.2
|
|
448
|
+
signing_key:
|
|
429
449
|
specification_version: 4
|
|
430
450
|
summary: 'DRG: Rapid web application development tool and CMS for Ruby, Rails and
|
|
431
451
|
MongoDB'
|
|
432
452
|
test_files:
|
|
433
|
-
- test/lib/generators/new_drg_form_generator_test.rb
|
|
434
453
|
- test/drg_cms_test.rb
|
|
435
454
|
- test/integration/navigation_test.rb
|
|
436
|
-
- test/
|
|
455
|
+
- test/lib/generators/new_drg_form_generator_test.rb
|
|
456
|
+
- test/dummy/script/rails
|
|
437
457
|
- test/dummy/README.rdoc
|
|
438
|
-
- test/dummy/
|
|
439
|
-
- test/dummy/
|
|
440
|
-
- test/dummy/
|
|
441
|
-
- test/dummy/
|
|
442
|
-
- test/dummy/
|
|
443
|
-
- test/dummy/
|
|
444
|
-
- test/dummy/
|
|
458
|
+
- test/dummy/app/views/layouts/application.html.erb
|
|
459
|
+
- test/dummy/app/helpers/application_helper.rb
|
|
460
|
+
- test/dummy/app/controllers/application_controller.rb
|
|
461
|
+
- test/dummy/app/assets/stylesheets/application.css
|
|
462
|
+
- test/dummy/app/assets/javascripts/application.js
|
|
463
|
+
- test/dummy/public/422.html
|
|
464
|
+
- test/dummy/public/404.html
|
|
465
|
+
- test/dummy/public/favicon.ico
|
|
466
|
+
- test/dummy/public/500.html
|
|
467
|
+
- test/dummy/Rakefile
|
|
468
|
+
- test/dummy/config.ru
|
|
445
469
|
- test/dummy/config/environment.rb
|
|
470
|
+
- test/dummy/config/boot.rb
|
|
471
|
+
- test/dummy/config/routes.rb
|
|
446
472
|
- test/dummy/config/application.rb
|
|
447
473
|
- test/dummy/config/database.yml
|
|
448
|
-
- test/dummy/config/routes.rb
|
|
449
|
-
- test/dummy/config/boot.rb
|
|
450
|
-
- test/dummy/config/environments/development.rb
|
|
451
474
|
- test/dummy/config/environments/test.rb
|
|
452
475
|
- test/dummy/config/environments/production.rb
|
|
453
|
-
- test/dummy/
|
|
454
|
-
- test/dummy/
|
|
455
|
-
- test/dummy/
|
|
456
|
-
- test/dummy/
|
|
457
|
-
- test/dummy/
|
|
458
|
-
- test/dummy/
|
|
459
|
-
- test/dummy/
|
|
460
|
-
- test/dummy/
|
|
461
|
-
- test/dummy/app/assets/javascripts/application.js
|
|
462
|
-
- test/dummy/app/assets/stylesheets/application.css
|
|
463
|
-
- test/dummy/config.ru
|
|
464
|
-
- test/dummy/script/rails
|
|
476
|
+
- test/dummy/config/environments/development.rb
|
|
477
|
+
- test/dummy/config/locales/en.yml
|
|
478
|
+
- test/dummy/config/initializers/secret_token.rb
|
|
479
|
+
- test/dummy/config/initializers/inflections.rb
|
|
480
|
+
- test/dummy/config/initializers/mime_types.rb
|
|
481
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
|
482
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
|
483
|
+
- test/dummy/config/initializers/session_store.rb
|