drg_cms 0.4.39

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.
Files changed (204) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +39 -0
  5. data/app/assets/images/drg_cms/add.png +0 -0
  6. data/app/assets/images/drg_cms/arrow_in.png +0 -0
  7. data/app/assets/images/drg_cms/arrow_out.png +0 -0
  8. data/app/assets/images/drg_cms/checkbox-checked.png +0 -0
  9. data/app/assets/images/drg_cms/checkbox-unchecked.png +0 -0
  10. data/app/assets/images/drg_cms/cols.png +0 -0
  11. data/app/assets/images/drg_cms/copy.png +0 -0
  12. data/app/assets/images/drg_cms/edit.png +0 -0
  13. data/app/assets/images/drg_cms/edit_design.png +0 -0
  14. data/app/assets/images/drg_cms/edit_page.png +0 -0
  15. data/app/assets/images/drg_cms/edit_site.png +0 -0
  16. data/app/assets/images/drg_cms/html.png +0 -0
  17. data/app/assets/images/drg_cms/pin.png +0 -0
  18. data/app/assets/images/drg_cms/printer.png +0 -0
  19. data/app/assets/images/drg_cms/reload.png +0 -0
  20. data/app/assets/images/drg_cms/search_16.png +0 -0
  21. data/app/assets/images/drg_cms/spinner.gif +0 -0
  22. data/app/assets/images/drg_cms/view_tile.png +0 -0
  23. data/app/assets/images/drg_cms/x.png +0 -0
  24. data/app/assets/javascripts/drg_cms/drg_cms.js +449 -0
  25. data/app/assets/javascripts/drg_cms/jquery-migrate.js +511 -0
  26. data/app/assets/javascripts/drg_cms/jquery.datetimepicker.js +1353 -0
  27. data/app/assets/javascripts/drg_cms/some_scripts.js +33 -0
  28. data/app/assets/javascripts/drg_cms_application.js +11 -0
  29. data/app/assets/javascripts/drg_cms_cms.js +28 -0
  30. data/app/assets/stylesheets/drg_cms/drg_cms.css +632 -0
  31. data/app/assets/stylesheets/drg_cms/jquery-ui.css +339 -0
  32. data/app/assets/stylesheets/drg_cms/jquery.datetimepicker.css +304 -0
  33. data/app/assets/stylesheets/drg_cms/th-bg.png +0 -0
  34. data/app/assets/stylesheets/drg_cms/theme.css +49 -0
  35. data/app/assets/stylesheets/drg_cms_application.css +12 -0
  36. data/app/assets/stylesheets/drg_cms_cms.css +26 -0
  37. data/app/controllers/cmsedit_controller.rb +673 -0
  38. data/app/controllers/dc_application_controller.rb +385 -0
  39. data/app/controllers/dc_at_the_beginning_controller.rb +120 -0
  40. data/app/controllers/dc_common_controller.rb +314 -0
  41. data/app/controllers/dc_mail_controller.rb +89 -0
  42. data/app/controllers/dc_main_controller.rb +40 -0
  43. data/app/controllers/drgcms_controls/dc_page_controls.rb +40 -0
  44. data/app/forms/all_options.yml +176 -0
  45. data/app/forms/cms_forms.yml +93 -0
  46. data/app/forms/cms_menu.yml +142 -0
  47. data/app/forms/dc_ad.yml +130 -0
  48. data/app/forms/dc_big_table.yml +59 -0
  49. data/app/forms/dc_big_table_locale.yml +41 -0
  50. data/app/forms/dc_big_table_value.yml +47 -0
  51. data/app/forms/dc_category.yml +57 -0
  52. data/app/forms/dc_design.yml +68 -0
  53. data/app/forms/dc_folder_permission.yml +49 -0
  54. data/app/forms/dc_forum_cat.yml +54 -0
  55. data/app/forms/dc_forum_forum.yml +53 -0
  56. data/app/forms/dc_forum_msg.yml +124 -0
  57. data/app/forms/dc_forum_privmsg.yml +125 -0
  58. data/app/forms/dc_forum_topic.yml +131 -0
  59. data/app/forms/dc_journal.yml +85 -0
  60. data/app/forms/dc_link.yml +55 -0
  61. data/app/forms/dc_mail.yml +88 -0
  62. data/app/forms/dc_mail_address.yml +56 -0
  63. data/app/forms/dc_mail_list.yml +44 -0
  64. data/app/forms/dc_mail_list_member.yml +42 -0
  65. data/app/forms/dc_menu.yml +62 -0
  66. data/app/forms/dc_menu_item.yml +81 -0
  67. data/app/forms/dc_page.yml +145 -0
  68. data/app/forms/dc_part.yml +102 -0
  69. data/app/forms/dc_permission.yml +50 -0
  70. data/app/forms/dc_piece.yml +105 -0
  71. data/app/forms/dc_policy.yml +57 -0
  72. data/app/forms/dc_policy_role.yml +42 -0
  73. data/app/forms/dc_policy_rule.yml +38 -0
  74. data/app/forms/dc_policy_rule_nocms.yml +38 -0
  75. data/app/forms/dc_poll.yml +113 -0
  76. data/app/forms/dc_poll_item.yml +76 -0
  77. data/app/forms/dc_simple_menu.yml +64 -0
  78. data/app/forms/dc_simple_menu_item.yml +80 -0
  79. data/app/forms/dc_site.yml +149 -0
  80. data/app/forms/dc_user.yml +142 -0
  81. data/app/forms/dc_user_role.yml +54 -0
  82. data/app/forms/drgcms_cms.yml +28 -0
  83. data/app/helpers/cmsedit_helper.rb +698 -0
  84. data/app/helpers/dc_ad_renderer.rb +206 -0
  85. data/app/helpers/dc_application_helper.rb +704 -0
  86. data/app/helpers/dc_big_menu_renderer.rb +180 -0
  87. data/app/helpers/dc_captcha_renderer.rb +100 -0
  88. data/app/helpers/dc_common_renderer.rb +132 -0
  89. data/app/helpers/dc_mail_renderer.rb +76 -0
  90. data/app/helpers/dc_menu_renderer.rb +143 -0
  91. data/app/helpers/dc_page_renderer.rb +80 -0
  92. data/app/helpers/dc_part_renderer.rb +162 -0
  93. data/app/helpers/dc_piece_renderer.rb +124 -0
  94. data/app/helpers/dc_poll_renderer.rb +219 -0
  95. data/app/helpers/dc_renderer.rb +56 -0
  96. data/app/helpers/dc_simple_menu_renderer.rb +244 -0
  97. data/app/helpers/drgcms_form_field.rb +863 -0
  98. data/app/models/__dc_global_data.rb +44 -0
  99. data/app/models/dc_ad.rb +52 -0
  100. data/app/models/dc_ad_stat.rb +34 -0
  101. data/app/models/dc_big_menu.rb +89 -0
  102. data/app/models/dc_big_table.rb +63 -0
  103. data/app/models/dc_big_table_locale.rb +35 -0
  104. data/app/models/dc_big_table_value.rb +38 -0
  105. data/app/models/dc_category.rb +48 -0
  106. data/app/models/dc_design.rb +48 -0
  107. data/app/models/dc_dummy.rb +30 -0
  108. data/app/models/dc_folder_permission.rb +43 -0
  109. data/app/models/dc_global_data.rb +44 -0
  110. data/app/models/dc_journal.rb +39 -0
  111. data/app/models/dc_key_value_store.rb +90 -0
  112. data/app/models/dc_link.rb +39 -0
  113. data/app/models/dc_mail.rb +64 -0
  114. data/app/models/dc_mail_address.rb +69 -0
  115. data/app/models/dc_mail_list.rb +48 -0
  116. data/app/models/dc_mail_list_member.rb +34 -0
  117. data/app/models/dc_menu.rb +59 -0
  118. data/app/models/dc_menu_item.rb +40 -0
  119. data/app/models/dc_page.rb +123 -0
  120. data/app/models/dc_part.rb +28 -0
  121. data/app/models/dc_permission.rb +58 -0
  122. data/app/models/dc_piece.rb +57 -0
  123. data/app/models/dc_policy.rb +94 -0
  124. data/app/models/dc_policy_role.rb +47 -0
  125. data/app/models/dc_policy_rule.rb +65 -0
  126. data/app/models/dc_poll.rb +46 -0
  127. data/app/models/dc_poll_item.rb +40 -0
  128. data/app/models/dc_sendmail.rb +48 -0
  129. data/app/models/dc_simple_menu.rb +58 -0
  130. data/app/models/dc_simple_menu_item.rb +39 -0
  131. data/app/models/dc_site.rb +92 -0
  132. data/app/models/dc_stat.rb +36 -0
  133. data/app/models/dc_user.rb +91 -0
  134. data/app/models/dc_user_role.rb +36 -0
  135. data/app/models/dc_visit.rb +35 -0
  136. data/app/views/cmsedit/_edit_stuff.html.erb +59 -0
  137. data/app/views/cmsedit/_edit_stuff.js.erb +6 -0
  138. data/app/views/cmsedit/_form.html.erb +21 -0
  139. data/app/views/cmsedit/_result.html.erb +20 -0
  140. data/app/views/cmsedit/edit.html.erb +6 -0
  141. data/app/views/cmsedit/error.html.erb +2 -0
  142. data/app/views/cmsedit/index.html.erb +6 -0
  143. data/app/views/cmsedit/new.html.erb +5 -0
  144. data/app/views/cmsedit/show.html.erb +21 -0
  145. data/app/views/dc_at_the_beginning/create.html.erb +9 -0
  146. data/app/views/dc_at_the_beginning/index.html.erb +19 -0
  147. data/app/views/dc_common/paste_clipboard.html.erb +17 -0
  148. data/app/views/dc_mail/subscribe.html.erb +7 -0
  149. data/app/views/dc_mail/unsubscribe.html.erb +19 -0
  150. data/app/views/layouts/cms.html.erb +17 -0
  151. data/app/views/layouts/cmsedit.html.erb +16 -0
  152. data/app/views/layouts/content.html.erb +16 -0
  153. data/config/initializers/kaminari_patch.rb +36 -0
  154. data/config/locales/datetimepicker.yml +13 -0
  155. data/config/locales/drgcms_en.yml +96 -0
  156. data/config/locales/drgcms_sl.yml +97 -0
  157. data/config/locales/en.yml +7 -0
  158. data/config/locales/kaminari.yml +26 -0
  159. data/config/locales/models_en.yml +790 -0
  160. data/config/locales/models_sl.yml +805 -0
  161. data/config/locales/mongoid_sl.yml +60 -0
  162. data/config/locales/sl.yml +211 -0
  163. data/config/routes.rb +2 -0
  164. data/drg_cms.gemspec +28 -0
  165. data/lib/drg_cms.rb +45 -0
  166. data/lib/drg_cms/engine.rb +30 -0
  167. data/lib/drg_cms/version.rb +3 -0
  168. data/lib/tasks/at_the_beginning.yml +26 -0
  169. data/lib/tasks/dc_cleanup.rake +94 -0
  170. data/lib/tasks/drg_cms_tasks.rake +118 -0
  171. data/lib/tasks/send_mail.rake +253 -0
  172. data/lib/tasks/site_statistics.rake +80 -0
  173. data/test/drg_cms_test.rb +7 -0
  174. data/test/dummy/README.rdoc +261 -0
  175. data/test/dummy/Rakefile +7 -0
  176. data/test/dummy/app/assets/javascripts/application.js +15 -0
  177. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  178. data/test/dummy/app/controllers/application_controller.rb +3 -0
  179. data/test/dummy/app/helpers/application_helper.rb +2 -0
  180. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  181. data/test/dummy/config.ru +4 -0
  182. data/test/dummy/config/application.rb +59 -0
  183. data/test/dummy/config/boot.rb +10 -0
  184. data/test/dummy/config/database.yml +25 -0
  185. data/test/dummy/config/environment.rb +5 -0
  186. data/test/dummy/config/environments/development.rb +37 -0
  187. data/test/dummy/config/environments/production.rb +67 -0
  188. data/test/dummy/config/environments/test.rb +37 -0
  189. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  190. data/test/dummy/config/initializers/inflections.rb +15 -0
  191. data/test/dummy/config/initializers/mime_types.rb +5 -0
  192. data/test/dummy/config/initializers/secret_token.rb +7 -0
  193. data/test/dummy/config/initializers/session_store.rb +8 -0
  194. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  195. data/test/dummy/config/locales/en.yml +5 -0
  196. data/test/dummy/config/routes.rb +58 -0
  197. data/test/dummy/public/404.html +26 -0
  198. data/test/dummy/public/422.html +26 -0
  199. data/test/dummy/public/500.html +25 -0
  200. data/test/dummy/public/favicon.ico +0 -0
  201. data/test/dummy/script/rails +6 -0
  202. data/test/integration/navigation_test.rb +10 -0
  203. data/test/test_helper.rb +15 -0
  204. 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
@@ -0,0 +1,2 @@
1
+ Rails.application.routes.draw do
2
+ end
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,3 @@
1
+ module DrgCms
2
+ VERSION = "0.4.39"
3
+ 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