drg_cms 0.4.39

Sign up to get free protection for your applications and to get access to all the features.
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