drg_cms 0.4.39
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +39 -0
- data/app/assets/images/drg_cms/add.png +0 -0
- data/app/assets/images/drg_cms/arrow_in.png +0 -0
- data/app/assets/images/drg_cms/arrow_out.png +0 -0
- data/app/assets/images/drg_cms/checkbox-checked.png +0 -0
- data/app/assets/images/drg_cms/checkbox-unchecked.png +0 -0
- data/app/assets/images/drg_cms/cols.png +0 -0
- data/app/assets/images/drg_cms/copy.png +0 -0
- data/app/assets/images/drg_cms/edit.png +0 -0
- data/app/assets/images/drg_cms/edit_design.png +0 -0
- data/app/assets/images/drg_cms/edit_page.png +0 -0
- data/app/assets/images/drg_cms/edit_site.png +0 -0
- data/app/assets/images/drg_cms/html.png +0 -0
- data/app/assets/images/drg_cms/pin.png +0 -0
- data/app/assets/images/drg_cms/printer.png +0 -0
- data/app/assets/images/drg_cms/reload.png +0 -0
- data/app/assets/images/drg_cms/search_16.png +0 -0
- data/app/assets/images/drg_cms/spinner.gif +0 -0
- data/app/assets/images/drg_cms/view_tile.png +0 -0
- data/app/assets/images/drg_cms/x.png +0 -0
- data/app/assets/javascripts/drg_cms/drg_cms.js +449 -0
- data/app/assets/javascripts/drg_cms/jquery-migrate.js +511 -0
- data/app/assets/javascripts/drg_cms/jquery.datetimepicker.js +1353 -0
- data/app/assets/javascripts/drg_cms/some_scripts.js +33 -0
- data/app/assets/javascripts/drg_cms_application.js +11 -0
- data/app/assets/javascripts/drg_cms_cms.js +28 -0
- data/app/assets/stylesheets/drg_cms/drg_cms.css +632 -0
- data/app/assets/stylesheets/drg_cms/jquery-ui.css +339 -0
- data/app/assets/stylesheets/drg_cms/jquery.datetimepicker.css +304 -0
- data/app/assets/stylesheets/drg_cms/th-bg.png +0 -0
- data/app/assets/stylesheets/drg_cms/theme.css +49 -0
- data/app/assets/stylesheets/drg_cms_application.css +12 -0
- data/app/assets/stylesheets/drg_cms_cms.css +26 -0
- data/app/controllers/cmsedit_controller.rb +673 -0
- data/app/controllers/dc_application_controller.rb +385 -0
- data/app/controllers/dc_at_the_beginning_controller.rb +120 -0
- data/app/controllers/dc_common_controller.rb +314 -0
- data/app/controllers/dc_mail_controller.rb +89 -0
- data/app/controllers/dc_main_controller.rb +40 -0
- data/app/controllers/drgcms_controls/dc_page_controls.rb +40 -0
- data/app/forms/all_options.yml +176 -0
- data/app/forms/cms_forms.yml +93 -0
- data/app/forms/cms_menu.yml +142 -0
- data/app/forms/dc_ad.yml +130 -0
- data/app/forms/dc_big_table.yml +59 -0
- data/app/forms/dc_big_table_locale.yml +41 -0
- data/app/forms/dc_big_table_value.yml +47 -0
- data/app/forms/dc_category.yml +57 -0
- data/app/forms/dc_design.yml +68 -0
- data/app/forms/dc_folder_permission.yml +49 -0
- data/app/forms/dc_forum_cat.yml +54 -0
- data/app/forms/dc_forum_forum.yml +53 -0
- data/app/forms/dc_forum_msg.yml +124 -0
- data/app/forms/dc_forum_privmsg.yml +125 -0
- data/app/forms/dc_forum_topic.yml +131 -0
- data/app/forms/dc_journal.yml +85 -0
- data/app/forms/dc_link.yml +55 -0
- data/app/forms/dc_mail.yml +88 -0
- data/app/forms/dc_mail_address.yml +56 -0
- data/app/forms/dc_mail_list.yml +44 -0
- data/app/forms/dc_mail_list_member.yml +42 -0
- data/app/forms/dc_menu.yml +62 -0
- data/app/forms/dc_menu_item.yml +81 -0
- data/app/forms/dc_page.yml +145 -0
- data/app/forms/dc_part.yml +102 -0
- data/app/forms/dc_permission.yml +50 -0
- data/app/forms/dc_piece.yml +105 -0
- data/app/forms/dc_policy.yml +57 -0
- data/app/forms/dc_policy_role.yml +42 -0
- data/app/forms/dc_policy_rule.yml +38 -0
- data/app/forms/dc_policy_rule_nocms.yml +38 -0
- data/app/forms/dc_poll.yml +113 -0
- data/app/forms/dc_poll_item.yml +76 -0
- data/app/forms/dc_simple_menu.yml +64 -0
- data/app/forms/dc_simple_menu_item.yml +80 -0
- data/app/forms/dc_site.yml +149 -0
- data/app/forms/dc_user.yml +142 -0
- data/app/forms/dc_user_role.yml +54 -0
- data/app/forms/drgcms_cms.yml +28 -0
- data/app/helpers/cmsedit_helper.rb +698 -0
- data/app/helpers/dc_ad_renderer.rb +206 -0
- data/app/helpers/dc_application_helper.rb +704 -0
- data/app/helpers/dc_big_menu_renderer.rb +180 -0
- data/app/helpers/dc_captcha_renderer.rb +100 -0
- data/app/helpers/dc_common_renderer.rb +132 -0
- data/app/helpers/dc_mail_renderer.rb +76 -0
- data/app/helpers/dc_menu_renderer.rb +143 -0
- data/app/helpers/dc_page_renderer.rb +80 -0
- data/app/helpers/dc_part_renderer.rb +162 -0
- data/app/helpers/dc_piece_renderer.rb +124 -0
- data/app/helpers/dc_poll_renderer.rb +219 -0
- data/app/helpers/dc_renderer.rb +56 -0
- data/app/helpers/dc_simple_menu_renderer.rb +244 -0
- data/app/helpers/drgcms_form_field.rb +863 -0
- data/app/models/__dc_global_data.rb +44 -0
- data/app/models/dc_ad.rb +52 -0
- data/app/models/dc_ad_stat.rb +34 -0
- data/app/models/dc_big_menu.rb +89 -0
- data/app/models/dc_big_table.rb +63 -0
- data/app/models/dc_big_table_locale.rb +35 -0
- data/app/models/dc_big_table_value.rb +38 -0
- data/app/models/dc_category.rb +48 -0
- data/app/models/dc_design.rb +48 -0
- data/app/models/dc_dummy.rb +30 -0
- data/app/models/dc_folder_permission.rb +43 -0
- data/app/models/dc_global_data.rb +44 -0
- data/app/models/dc_journal.rb +39 -0
- data/app/models/dc_key_value_store.rb +90 -0
- data/app/models/dc_link.rb +39 -0
- data/app/models/dc_mail.rb +64 -0
- data/app/models/dc_mail_address.rb +69 -0
- data/app/models/dc_mail_list.rb +48 -0
- data/app/models/dc_mail_list_member.rb +34 -0
- data/app/models/dc_menu.rb +59 -0
- data/app/models/dc_menu_item.rb +40 -0
- data/app/models/dc_page.rb +123 -0
- data/app/models/dc_part.rb +28 -0
- data/app/models/dc_permission.rb +58 -0
- data/app/models/dc_piece.rb +57 -0
- data/app/models/dc_policy.rb +94 -0
- data/app/models/dc_policy_role.rb +47 -0
- data/app/models/dc_policy_rule.rb +65 -0
- data/app/models/dc_poll.rb +46 -0
- data/app/models/dc_poll_item.rb +40 -0
- data/app/models/dc_sendmail.rb +48 -0
- data/app/models/dc_simple_menu.rb +58 -0
- data/app/models/dc_simple_menu_item.rb +39 -0
- data/app/models/dc_site.rb +92 -0
- data/app/models/dc_stat.rb +36 -0
- data/app/models/dc_user.rb +91 -0
- data/app/models/dc_user_role.rb +36 -0
- data/app/models/dc_visit.rb +35 -0
- data/app/views/cmsedit/_edit_stuff.html.erb +59 -0
- data/app/views/cmsedit/_edit_stuff.js.erb +6 -0
- data/app/views/cmsedit/_form.html.erb +21 -0
- data/app/views/cmsedit/_result.html.erb +20 -0
- data/app/views/cmsedit/edit.html.erb +6 -0
- data/app/views/cmsedit/error.html.erb +2 -0
- data/app/views/cmsedit/index.html.erb +6 -0
- data/app/views/cmsedit/new.html.erb +5 -0
- data/app/views/cmsedit/show.html.erb +21 -0
- data/app/views/dc_at_the_beginning/create.html.erb +9 -0
- data/app/views/dc_at_the_beginning/index.html.erb +19 -0
- data/app/views/dc_common/paste_clipboard.html.erb +17 -0
- data/app/views/dc_mail/subscribe.html.erb +7 -0
- data/app/views/dc_mail/unsubscribe.html.erb +19 -0
- data/app/views/layouts/cms.html.erb +17 -0
- data/app/views/layouts/cmsedit.html.erb +16 -0
- data/app/views/layouts/content.html.erb +16 -0
- data/config/initializers/kaminari_patch.rb +36 -0
- data/config/locales/datetimepicker.yml +13 -0
- data/config/locales/drgcms_en.yml +96 -0
- data/config/locales/drgcms_sl.yml +97 -0
- data/config/locales/en.yml +7 -0
- data/config/locales/kaminari.yml +26 -0
- data/config/locales/models_en.yml +790 -0
- data/config/locales/models_sl.yml +805 -0
- data/config/locales/mongoid_sl.yml +60 -0
- data/config/locales/sl.yml +211 -0
- data/config/routes.rb +2 -0
- data/drg_cms.gemspec +28 -0
- data/lib/drg_cms.rb +45 -0
- data/lib/drg_cms/engine.rb +30 -0
- data/lib/drg_cms/version.rb +3 -0
- data/lib/tasks/at_the_beginning.yml +26 -0
- data/lib/tasks/dc_cleanup.rake +94 -0
- data/lib/tasks/drg_cms_tasks.rake +118 -0
- data/lib/tasks/send_mail.rake +253 -0
- data/lib/tasks/site_statistics.rake +80 -0
- data/test/drg_cms_test.rb +7 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/test_helper.rb +15 -0
- metadata +375 -0
@@ -0,0 +1,60 @@
|
|
1
|
+
sl:
|
2
|
+
mongoid:
|
3
|
+
errors:
|
4
|
+
messages:
|
5
|
+
blank:
|
6
|
+
ne sme biti prazen
|
7
|
+
taken:
|
8
|
+
je že zaseden
|
9
|
+
callbacks:
|
10
|
+
"Klic %{method} v %{klass} je vrnil rezultat false."
|
11
|
+
document_not_found:
|
12
|
+
Dokument za razred %{klass} z id(ji) %{identifiers} ne obstaja.
|
13
|
+
eager_load:
|
14
|
+
"Eager loading :%{name} ni podprt ker je v many-to-many ali polymorphic belongs_to relaciji."
|
15
|
+
invalid_database:
|
16
|
+
"Podatkovna baza naj bi bila Mongo::DB in ne %{name}."
|
17
|
+
invalid_time:
|
18
|
+
"'%{value}' ni veljaven čas."
|
19
|
+
invalid_options:
|
20
|
+
"Napačna opcija:%{invalid} za relacijo :%{name}. Dovoljene opcije so: %{valid}."
|
21
|
+
invalid_type:
|
22
|
+
Podatek definiran kot %{klass}, je prejel %{other} vrednost %{value}.
|
23
|
+
unsupported_version:
|
24
|
+
MongoDB %{version} ni podprta. Prosimo nadgradite na verzijo %{mongo_version}.
|
25
|
+
validations:
|
26
|
+
Validacija ni uspela - %{errors}.
|
27
|
+
invalid_collection:
|
28
|
+
Access to the collection for %{klass} is not allowed since it
|
29
|
+
is an embedded document, please access a collection from
|
30
|
+
the root document.
|
31
|
+
invalid_field:
|
32
|
+
Defining a field named %{name} is not allowed. Do not define
|
33
|
+
fields that conflict with Mongoid internal attributes or method
|
34
|
+
names. Use Mongoid.destructive_fields to see what names this includes.
|
35
|
+
too_many_nested_attribute_records:
|
36
|
+
Accepting nested attributes for %{association} is limited
|
37
|
+
to %{limit} records.
|
38
|
+
embedded_in_must_have_inverse_of:
|
39
|
+
Options for embedded_in association must include inverse_of.
|
40
|
+
dependent_only_references_one_or_many:
|
41
|
+
The dependent => destroy|delete option that was supplied
|
42
|
+
is only valid on references_one or references_many associations.
|
43
|
+
association_cant_have_inverse_of:
|
44
|
+
Defining an inverse_of on this association is not allowed. Only
|
45
|
+
use this option on embedded_in or references_many as array.
|
46
|
+
calling_document_find_with_nil_is_invalid:
|
47
|
+
Calling Document#find with nil is invalid
|
48
|
+
unsaved_document:
|
49
|
+
"You cannot call create or create! through a relational association
|
50
|
+
relation (%{document}) who's parent (%{base}) is not already saved."
|
51
|
+
mixed_relations:
|
52
|
+
Referencing a(n) %{embedded} document from the %{root} document via a
|
53
|
+
relational association is not allowed since the %{embedded} is embedded.
|
54
|
+
no_environment:
|
55
|
+
"Mongoid attempted to find the appropriate environment but no Rails.env,
|
56
|
+
Sinatra::Base.environment, or RACK_ENV could be found."
|
57
|
+
scope_overwrite:
|
58
|
+
"Cannot create scope :%{scope_name}, because of existing method
|
59
|
+
%{model_name}.%{scope_name}."
|
60
|
+
blank_on_locale: "can't be blank in %{location}"
|
@@ -0,0 +1,211 @@
|
|
1
|
+
sl:
|
2
|
+
date:
|
3
|
+
abbr_day_names:
|
4
|
+
- ned
|
5
|
+
- pon
|
6
|
+
- tor
|
7
|
+
- sre
|
8
|
+
- čet
|
9
|
+
- pet
|
10
|
+
- sob
|
11
|
+
abbr_month_names:
|
12
|
+
-
|
13
|
+
- jan
|
14
|
+
- feb
|
15
|
+
- mar
|
16
|
+
- apr
|
17
|
+
- maj
|
18
|
+
- jun
|
19
|
+
- jul
|
20
|
+
- avg
|
21
|
+
- sep
|
22
|
+
- okt
|
23
|
+
- nov
|
24
|
+
- dec
|
25
|
+
day_names:
|
26
|
+
- nedelja
|
27
|
+
- ponedeljek
|
28
|
+
- torek
|
29
|
+
- sreda
|
30
|
+
- četrtek
|
31
|
+
- petek
|
32
|
+
- sobota
|
33
|
+
formats:
|
34
|
+
default: ! '%d.%m.%Y'
|
35
|
+
long: ! '%d. %b %Y'
|
36
|
+
short: ! '%d. %b'
|
37
|
+
month_names:
|
38
|
+
-
|
39
|
+
- januar
|
40
|
+
- februar
|
41
|
+
- marec
|
42
|
+
- april
|
43
|
+
- maj
|
44
|
+
- junij
|
45
|
+
- julij
|
46
|
+
- avgust
|
47
|
+
- september
|
48
|
+
- oktober
|
49
|
+
- november
|
50
|
+
- december
|
51
|
+
order:
|
52
|
+
- :day
|
53
|
+
- :month
|
54
|
+
- :year
|
55
|
+
datetime:
|
56
|
+
distance_in_words:
|
57
|
+
about_x_hours:
|
58
|
+
few: okoli %{count} ure
|
59
|
+
one: okoli 1 ura
|
60
|
+
other: okoli %{count} ur
|
61
|
+
two: okoli 2 uri
|
62
|
+
about_x_months:
|
63
|
+
few: okoli %{count} mesece
|
64
|
+
one: okoli 1 mesec
|
65
|
+
other: okoli %{count} mesecev
|
66
|
+
two: okoli 2 meseca
|
67
|
+
about_x_years:
|
68
|
+
few: okoli %{count} leta
|
69
|
+
one: okoli 1 leto
|
70
|
+
other: okoli %{count} let
|
71
|
+
two: okoli 2 leti
|
72
|
+
almost_x_years:
|
73
|
+
few: skoraj %{count} leta
|
74
|
+
one: skoraj 1 leto
|
75
|
+
other: skoraj %{count} let
|
76
|
+
two: skoraj 2 leti
|
77
|
+
half_a_minute: pol minute
|
78
|
+
less_than_x_minutes:
|
79
|
+
few: manj kot %{count} minute
|
80
|
+
one: manj kot ena minuta
|
81
|
+
other: manj kot %{count} minut
|
82
|
+
two: manj kot dve minuti
|
83
|
+
less_than_x_seconds:
|
84
|
+
few: manj kot %{count} sekunde
|
85
|
+
one: manj kot 1 sekunda
|
86
|
+
other: manj kot %{count} sekund
|
87
|
+
two: manj kot 2 sekundi
|
88
|
+
over_x_years:
|
89
|
+
few: več kot %{count} leta
|
90
|
+
one: več kot 1 leto
|
91
|
+
other: več kot %{count} let
|
92
|
+
two: več kot 2 leti
|
93
|
+
x_days:
|
94
|
+
few: ! '%{count} dnevi'
|
95
|
+
one: 1 dan
|
96
|
+
other: ! '%{count} dni'
|
97
|
+
two: 2 dneva
|
98
|
+
x_minutes:
|
99
|
+
few: ! '%{count} minute'
|
100
|
+
one: 1 minuta
|
101
|
+
other: ! '%{count} minut'
|
102
|
+
two: 2 minuti
|
103
|
+
x_months:
|
104
|
+
few: ! '%{count} mesece'
|
105
|
+
one: 1 mesec
|
106
|
+
other: ! '%{count} mesecev'
|
107
|
+
two: 2 meseca
|
108
|
+
x_seconds:
|
109
|
+
few: ! '%{count} sekunde'
|
110
|
+
one: 1 sekunda
|
111
|
+
other: ! '%{count} sekund'
|
112
|
+
two: 2 sekundi
|
113
|
+
prompts:
|
114
|
+
day: Dan
|
115
|
+
hour: Ura
|
116
|
+
minute: Minute
|
117
|
+
month: Mesec
|
118
|
+
second: Sekunde
|
119
|
+
year: Leto
|
120
|
+
errors: &errors
|
121
|
+
format: ! '%{attribute} %{message}'
|
122
|
+
messages:
|
123
|
+
accepted: mora biti sprejeto
|
124
|
+
blank: ne sme biti prazno
|
125
|
+
confirmation: se ne ujema s potrditvijo
|
126
|
+
empty: ne sme biti prazno
|
127
|
+
equal_to: mora biti enako %{count}
|
128
|
+
even: mora biti sodo
|
129
|
+
exclusion: je rezervirano
|
130
|
+
greater_than: mora biti večje kot %{count}
|
131
|
+
greater_than_or_equal_to: mora biti večje ali enako %{count}
|
132
|
+
inclusion: ni vključeno v seznam
|
133
|
+
invalid: je nepravilno
|
134
|
+
less_than: mora biti manj kot %{count}
|
135
|
+
less_than_or_equal_to: mora biti manj ali enako %{count}
|
136
|
+
not_a_number: ni številka
|
137
|
+
odd: mora biti liho
|
138
|
+
record_invalid: ''
|
139
|
+
taken: je že zasedeno
|
140
|
+
too_long: je predolgo (dovoljeno je do %{count} znakov)
|
141
|
+
too_short: je prekratko (zahtevano je najmanj %{count} znakov)
|
142
|
+
wrong_length: je napačne dolžine (mora biti natančno %{count} znakov)
|
143
|
+
template:
|
144
|
+
body: ! 'Napačno izpolnjena polja:'
|
145
|
+
header:
|
146
|
+
few: ! '%{count} napake preprečujejo, da bi shranili %{model}'
|
147
|
+
one: Ena napaka preprečuje, da bi shranili %{model}
|
148
|
+
other: ! '%{count} napak preprečuje, da bi shranili %{model}'
|
149
|
+
two: Dve napaki preprečujeta, da bi shranili %{model}
|
150
|
+
number:
|
151
|
+
currency:
|
152
|
+
format:
|
153
|
+
delimiter: .
|
154
|
+
format: ! '%u%n'
|
155
|
+
precision: 2
|
156
|
+
separator: ! ','
|
157
|
+
significant: false
|
158
|
+
strip_insignificant_zeros: false
|
159
|
+
unit: €
|
160
|
+
format:
|
161
|
+
delimiter: .
|
162
|
+
precision: 2
|
163
|
+
separator: ! ','
|
164
|
+
significant: false
|
165
|
+
strip_insignificant_zeros: false
|
166
|
+
human:
|
167
|
+
decimal_units:
|
168
|
+
format: ! '%n %u'
|
169
|
+
units:
|
170
|
+
unit: ''
|
171
|
+
format:
|
172
|
+
delimiter: ''
|
173
|
+
precision: 1
|
174
|
+
significant: true
|
175
|
+
strip_insignificant_zeros: true
|
176
|
+
storage_units:
|
177
|
+
format: ! '%n %u'
|
178
|
+
units:
|
179
|
+
byte:
|
180
|
+
one: Byte
|
181
|
+
other: Bytes
|
182
|
+
gb: GB
|
183
|
+
kb: KB
|
184
|
+
mb: MB
|
185
|
+
tb: TB
|
186
|
+
percentage:
|
187
|
+
format:
|
188
|
+
delimiter: ''
|
189
|
+
precision:
|
190
|
+
format:
|
191
|
+
delimiter: ''
|
192
|
+
support:
|
193
|
+
array:
|
194
|
+
last_word_connector: ! ' in '
|
195
|
+
two_words_connector: ! ' in '
|
196
|
+
words_connector: ! ', '
|
197
|
+
time:
|
198
|
+
am: dopoldan
|
199
|
+
formats:
|
200
|
+
# default: ! '%A, %d %b %Y ob %H:%M:%S'
|
201
|
+
default: ! '%d.%m.%Y %H:%M'
|
202
|
+
long: ! '%d. %B, %Y %H:%M'
|
203
|
+
short: ! '%d. %b %H:%M'
|
204
|
+
pm: popoldan
|
205
|
+
# remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from Rails repository
|
206
|
+
activemodel:
|
207
|
+
errors:
|
208
|
+
<<: *errors
|
209
|
+
activerecord:
|
210
|
+
errors:
|
211
|
+
<<: *errors
|
data/config/routes.rb
ADDED
data/drg_cms.gemspec
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
|
3
|
+
# Maintain your gem's version:
|
4
|
+
require "drg_cms/version"
|
5
|
+
|
6
|
+
# Describe your gem and declare its dependencies:
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "drg_cms"
|
9
|
+
s.version = DrgCms::VERSION
|
10
|
+
s.authors = ["Damjan Rems"]
|
11
|
+
s.email = ["drgcms@gmail.com"]
|
12
|
+
s.homepage = "http://www.drgcms.org"
|
13
|
+
s.summary = "DRGCMS: CMS for Ruby, Rails and MongoDB "
|
14
|
+
s.description = "DRGCMS: Content management system for Ruby, Rails and MongoDB"
|
15
|
+
s.license = "MIT-LICENSE"
|
16
|
+
|
17
|
+
s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc", "drg_cms.gemspec"]
|
18
|
+
s.test_files = Dir["test/**/*"]
|
19
|
+
|
20
|
+
s.add_dependency 'rails' #, '~> 3.2.16'
|
21
|
+
s.add_dependency 'jquery-rails'
|
22
|
+
s.add_dependency 'jquery-ui-rails'
|
23
|
+
|
24
|
+
s.add_dependency 'bcrypt' #, '~> 3.0.0'
|
25
|
+
s.add_dependency 'bson'
|
26
|
+
s.add_dependency 'mongoid'
|
27
|
+
s.add_dependency 'kaminari'
|
28
|
+
end
|
data/lib/drg_cms.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'drg_cms/engine'
|
2
|
+
require 'drg_cms/version'
|
3
|
+
|
4
|
+
module DrgCms
|
5
|
+
@@paths = {}
|
6
|
+
################################################################################
|
7
|
+
# Returns source file name of required model.
|
8
|
+
#
|
9
|
+
# Used wherever end user wants to extend basic DrgCms model. Model source definition
|
10
|
+
# file is tricky to require since it is included in DrgCms gem and thus a moving
|
11
|
+
# target. Whenever gem version changes file location changes with it. This way
|
12
|
+
# end user doesn't have to care about actual source file location.
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
# require DrgCms.model 'dc_page'
|
16
|
+
#
|
17
|
+
# @param [ model_name ]. Must be passed in lower case, just like the file name is.
|
18
|
+
#
|
19
|
+
###############################################################################
|
20
|
+
def self.model(model_name)
|
21
|
+
File.expand_path("../../app/models/#{model_name}.rb", __FILE__)
|
22
|
+
end
|
23
|
+
|
24
|
+
###############################################################################
|
25
|
+
#
|
26
|
+
###############################################################################
|
27
|
+
def self.add_form_path(path)
|
28
|
+
if @@paths[:forms].nil?
|
29
|
+
@@paths[:forms] = []
|
30
|
+
# default application forms path
|
31
|
+
# @@paths[:forms] << Rails.root.join('app/forms')
|
32
|
+
# DrgCms forms path
|
33
|
+
@@paths[:forms] << File.expand_path("../../app/forms", __FILE__)
|
34
|
+
end
|
35
|
+
@@paths[:forms] << path
|
36
|
+
end
|
37
|
+
|
38
|
+
###############################################################################
|
39
|
+
#
|
40
|
+
###############################################################################
|
41
|
+
def self.paths what
|
42
|
+
@@paths[what]
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#coding: utf-8
|
2
|
+
#--
|
3
|
+
# Copyright (c) 2012-2013 Damjan Rems
|
4
|
+
#
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
# a copy of this software and associated documentation files (the
|
7
|
+
# "Software"), to deal in the Software without restriction, including
|
8
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
# the following conditions:
|
12
|
+
#
|
13
|
+
# The above copyright notice and this permission notice shall be
|
14
|
+
# included in all copies or substantial portions of the Software.
|
15
|
+
#
|
16
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
23
|
+
#++
|
24
|
+
|
25
|
+
module DrgCms
|
26
|
+
|
27
|
+
class Engine < ::Rails::Engine
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
## YAML Template.
|
2
|
+
dc_poll:
|
3
|
+
name: login
|
4
|
+
display: td
|
5
|
+
operation: link
|
6
|
+
parameters: '/dc_common/process_login'
|
7
|
+
title: Autocreated login form
|
8
|
+
|
9
|
+
dc_poll_items:
|
10
|
+
1:
|
11
|
+
type: text_field
|
12
|
+
name: username
|
13
|
+
size: 15
|
14
|
+
text: Username
|
15
|
+
|
16
|
+
2:
|
17
|
+
type: password_field
|
18
|
+
name: password
|
19
|
+
size: 15
|
20
|
+
text: Password
|
21
|
+
|
22
|
+
3:
|
23
|
+
type: submit_tag
|
24
|
+
name: send
|
25
|
+
text: Login
|
26
|
+
|
@@ -0,0 +1,94 @@
|
|
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
|
+
namespace :drg_cms do
|
25
|
+
desc 'Clears mongodb session collection.'
|
26
|
+
task :clear_sessions, [:name] => :environment do |t, args|
|
27
|
+
p 'This is just an example how to clear sessions collection.'
|
28
|
+
return if true
|
29
|
+
ActionDispatch::Session::MongoidStore::Session.where(:updated_at.lt => 1.week.ago).delete
|
30
|
+
DcSite.collection.database.command(eval: "db.runCommand ( { compact: 'sessions' } )" )
|
31
|
+
end
|
32
|
+
|
33
|
+
###########################################################################
|
34
|
+
desc 'Removes all statistics from dc_visits up to specified date and save them to visits_date.json.'
|
35
|
+
task :clear_visits, [:name] => :environment do |t, args|
|
36
|
+
date = read_input("Enter from date (yyyymmdd): ")
|
37
|
+
return unless date.size == 8
|
38
|
+
|
39
|
+
archive_file = "visits_#{date}.json"
|
40
|
+
return (p "#{archive_file} exists") if File.exist?(archive_file)
|
41
|
+
|
42
|
+
date_to = Time.local(date[0,4].to_i, date[4,2].to_i, date[6,2].to_i).beginning_of_day
|
43
|
+
n = 0
|
44
|
+
save = ''
|
45
|
+
DcVisit.where(:time.lt => date_to).each do |visit|
|
46
|
+
save << visit.to_json + "\n"
|
47
|
+
# visit.delete
|
48
|
+
p "Deleted #{n}" if (n+=1)%1000 == 0
|
49
|
+
end
|
50
|
+
DcVisit.where(:time.lt => date_to).delete
|
51
|
+
File.open(archive_file,'w') {|f| f.write(save)}
|
52
|
+
DcSite.collection.database.command(eval: "db.runCommand ( { compact: 'dc_visits' } )" )
|
53
|
+
end
|
54
|
+
|
55
|
+
###########################################################################
|
56
|
+
desc "Removes all statistics of not active ads and save them to ads_#{Time.now.strftime('%Y%d%m')}.json."
|
57
|
+
task :clear_ad_stats, [:name] => :environment do |t, args|
|
58
|
+
input = read_input("Just press Enter to start. If you type in anything process wont start.")
|
59
|
+
return unless input.to_s.size == 0
|
60
|
+
today = Time.now.beginning_of_day
|
61
|
+
n = 0
|
62
|
+
save_stat, save_ads = '', ''
|
63
|
+
DcAd.all.each do |ad|
|
64
|
+
if !ad.active or (ad.valid_to and ad.valid_to < today)
|
65
|
+
save_ads << ad.to_json + "\n"
|
66
|
+
DcAdStat.where(:dc_ad_id => ad._id).each do |stat|
|
67
|
+
save_stat << stat.to_json + "\n"
|
68
|
+
# stat.delete
|
69
|
+
p "Deleted #{n}" if (n+=1)%1000 == 0
|
70
|
+
end
|
71
|
+
DcAdStat.where(:dc_ad_id => ad._id).delete
|
72
|
+
end
|
73
|
+
end
|
74
|
+
File.open("ads_stat_#{Time.now.strftime('%Y%d%m')}.json",'w') {|f| f.write(save_stat)}
|
75
|
+
File.open("ads_#{Time.now.strftime('%Y%d%m')}.json",'w') {|f| f.write(save_ads)}
|
76
|
+
DcSite.collection.database.command(eval: "db.runCommand ( { compact: 'dc_ad_stats' } )" )
|
77
|
+
end
|
78
|
+
|
79
|
+
###########################################################################
|
80
|
+
desc "Popravi napako kjer se hrani dc_ad_id in ne ad_id"
|
81
|
+
task :repair_ad_stats, [:name] => :environment do |t, args|
|
82
|
+
input = read_input("Just press Enter to start. If you type in anything process won't start.")
|
83
|
+
return unless input.to_s.size == 0
|
84
|
+
n = 0
|
85
|
+
p DcAdStat.only(:id).where(:dc_ad_id => nil).to_a.size
|
86
|
+
DcAdStat.where(:dc_ad_id => nil).each do |stat|
|
87
|
+
stat.dc_ad_id = stat.ad_id
|
88
|
+
stat.ad_id = nil
|
89
|
+
stat.save
|
90
|
+
|
91
|
+
p n if (n+=1)%1000 == 0
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|