coalla-cms 0.4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (300) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +81 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +168 -0
  5. data/Rakefile +29 -0
  6. data/app/assets/fonts/glyphicons/glyphicons-halflings-regular.eot +0 -0
  7. data/app/assets/fonts/glyphicons/glyphicons-halflings-regular.svg +229 -0
  8. data/app/assets/fonts/glyphicons/glyphicons-halflings-regular.ttf +0 -0
  9. data/app/assets/fonts/glyphicons/glyphicons-halflings-regular.woff +0 -0
  10. data/app/assets/images/ajax-loader.gif +0 -0
  11. data/app/assets/images/blank.gif +0 -0
  12. data/app/assets/images/bootstrap/glyphicons-halflings-white.png +0 -0
  13. data/app/assets/images/bootstrap/glyphicons-halflings.png +0 -0
  14. data/app/assets/javascripts/admin/admin.js +295 -0
  15. data/app/assets/javascripts/admin/custom_admin.js +0 -0
  16. data/app/assets/javascripts/admin/jquery-migrate.min.js +2 -0
  17. data/app/assets/javascripts/admin/photo_uploader.js +67 -0
  18. data/app/assets/javascripts/admin/vendor/bootstrap.min.js +7 -0
  19. data/app/assets/javascripts/admin/vendor/jquery-ui-timepicker-addon-ru.js +40 -0
  20. data/app/assets/javascripts/admin/vendor/jquery.tagsinput.js +365 -0
  21. data/app/assets/javascripts/admin/vendor/jquery.tokeninput.patched.js +875 -0
  22. data/app/assets/javascripts/admin/vendor/underscore-min.js +5 -0
  23. data/app/assets/javascripts/ckeditor/plugins/autogrow/plugin.js +209 -0
  24. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png +0 -0
  25. data/app/assets/javascripts/ckeditor/plugins/mediaembed/icons/mediaembed.png +0 -0
  26. data/app/assets/javascripts/ckeditor/plugins/mediaembed/plugin.js +64 -0
  27. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/LICENSE.txt +303 -0
  28. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/ad-gallery-css-diff.htm +831 -0
  29. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/ad_next.png +0 -0
  30. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/ad_prev.png +0 -0
  31. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/ad_scroll_back.png +0 -0
  32. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/ad_scroll_forward.png +0 -0
  33. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/jquery.ad-gallery.css +185 -0
  34. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/jquery.ad-gallery.js +984 -0
  35. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/jquery.ad-gallery.min - ref.js +10 -0
  36. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/jquery.ad-gallery.min.js +1 -0
  37. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/loader.gif +0 -0
  38. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/opa75.png +0 -0
  39. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/placeholder.png +0 -0
  40. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/ad-gallery/trans.gif +0 -0
  41. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/blank.gif +0 -0
  42. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/fancybox_loading.gif +0 -0
  43. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/fancybox_loading@2x.gif +0 -0
  44. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/fancybox_overlay.png +0 -0
  45. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/fancybox_sprite.png +0 -0
  46. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/fancybox_sprite@2x.png +0 -0
  47. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/fancybox_buttons.png +0 -0
  48. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/jquery.fancybox-buttons.css +97 -0
  49. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/jquery.fancybox-buttons.js +122 -0
  50. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/jquery.fancybox-media.js +199 -0
  51. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/jquery.fancybox-thumbs.css +55 -0
  52. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/jquery.fancybox-thumbs.js +162 -0
  53. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/jquery.fancybox.css +274 -0
  54. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/jquery.fancybox.js +2020 -0
  55. data/app/assets/javascripts/ckeditor/plugins/slideshow/3rdParty/fancybox2/jquery.fancybox.pack.js +46 -0
  56. data/app/assets/javascripts/ckeditor/plugins/slideshow/README.md +66 -0
  57. data/app/assets/javascripts/ckeditor/plugins/slideshow/dialogs/slideshow.js +1396 -0
  58. data/app/assets/javascripts/ckeditor/plugins/slideshow/dialogs/slideshow.min.js +1 -0
  59. data/app/assets/javascripts/ckeditor/plugins/slideshow/icons/placeholder.png +0 -0
  60. data/app/assets/javascripts/ckeditor/plugins/slideshow/icons/slideshow.png +0 -0
  61. data/app/assets/javascripts/ckeditor/plugins/slideshow/lang/Serbian_translation.txt +9 -0
  62. data/app/assets/javascripts/ckeditor/plugins/slideshow/lang/el.js +37 -0
  63. data/app/assets/javascripts/ckeditor/plugins/slideshow/lang/en.js +35 -0
  64. data/app/assets/javascripts/ckeditor/plugins/slideshow/lang/fr.js +35 -0
  65. data/app/assets/javascripts/ckeditor/plugins/slideshow/lang/ru.js +35 -0
  66. data/app/assets/javascripts/ckeditor/plugins/slideshow/lang/sr-latn.js +35 -0
  67. data/app/assets/javascripts/ckeditor/plugins/slideshow/lang/sr.js +35 -0
  68. data/app/assets/javascripts/ckeditor/plugins/slideshow/plugin.js +217 -0
  69. data/app/assets/stylesheets/admin/admin.scss +302 -0
  70. data/app/assets/stylesheets/admin/custom_admin.scss +1 -0
  71. data/app/assets/stylesheets/admin/vendor/bootstrap.min.css +14 -0
  72. data/app/assets/stylesheets/admin/vendor/jquery.tagsinput.css +99 -0
  73. data/app/assets/stylesheets/admin/vendor/token-input-facebook.patched.css +126 -0
  74. data/app/assets/stylesheets/admin/vendor/token-input.patched.css +116 -0
  75. data/app/controllers/admin/autocomplete_controller.rb +14 -0
  76. data/app/controllers/admin/image_upload_controller.rb +27 -0
  77. data/app/controllers/admin/lookups_controller.rb +47 -0
  78. data/app/controllers/admin/sortable_controller.rb +26 -0
  79. data/app/controllers/concerns/admin/path_history.rb +39 -0
  80. data/app/helpers/admin/search_helper.rb +59 -0
  81. data/app/helpers/admin_helper.rb +29 -0
  82. data/app/helpers/common_helper.rb +16 -0
  83. data/app/helpers/lookup_helper.rb +45 -0
  84. data/app/helpers/nested_fields_helper.rb +12 -0
  85. data/app/helpers/static_text_formatter.rb +25 -0
  86. data/app/helpers/twitter_builder_helper.rb +253 -0
  87. data/app/helpers/twitter_form_builder.rb +196 -0
  88. data/app/models/file_upload.rb +19 -0
  89. data/app/models/lookup.rb +6 -0
  90. data/app/uploaders/file_uploader.rb +10 -0
  91. data/app/uploaders/generic_image_uploader.rb +74 -0
  92. data/app/utils/admin_structure.rb +67 -0
  93. data/app/utils/bootstrap_link_renderer.rb +40 -0
  94. data/app/utils/table_helpers.rb +196 -0
  95. data/app/views/admin/base/_sort.haml +34 -0
  96. data/app/views/admin/common/_file_upload_template.haml +14 -0
  97. data/app/views/admin/common/_header.html.haml +27 -0
  98. data/app/views/admin/common/_image_upload_template.html.haml +40 -0
  99. data/app/views/admin/common/_menu.html.haml +2 -0
  100. data/app/views/admin/common/_menu_section.haml +10 -0
  101. data/app/views/admin/common/_menu_separator.haml +1 -0
  102. data/app/views/admin/common/_nested_fields_for.html.haml +5 -0
  103. data/app/views/admin/common/_nested_fields_for_element.html.haml +5 -0
  104. data/app/views/admin/common/_slide.haml +41 -0
  105. data/app/views/admin/common/_slides.html.haml +17 -0
  106. data/app/views/admin/common/_table_template.html.haml +14 -0
  107. data/app/views/admin/common/_upload_form.html.haml +5 -0
  108. data/app/views/admin/common/image_uploaded.js.haml +7 -0
  109. data/app/views/admin/common/upload_failed.js.erb +11 -0
  110. data/app/views/admin/common/upload_image.js.erb +6 -0
  111. data/app/views/admin/home/dashboard.html.haml +5 -0
  112. data/app/views/admin/lookups/_form.html.haml +16 -0
  113. data/app/views/admin/lookups/edit.html.haml +5 -0
  114. data/app/views/admin/lookups/index.html.haml +6 -0
  115. data/app/views/layouts/admin.html.haml +38 -0
  116. data/app/views/structure/_section.haml +16 -0
  117. data/coalla-cms.gemspec +39 -0
  118. data/config/locales/devise.ru.yml +59 -0
  119. data/config/locales/will_paginate.ru.yml +6 -0
  120. data/lib/coalla/cms/engine.rb +16 -0
  121. data/lib/coalla/cms/version.rb +5 -0
  122. data/lib/coalla/ext/mapper.rb +14 -0
  123. data/lib/coalla/orm/page_slider.rb +53 -0
  124. data/lib/coalla/orm/relation.rb +32 -0
  125. data/lib/coalla/orm/sanitized.rb +16 -0
  126. data/lib/coalla/sanitize/config/default.rb +526 -0
  127. data/lib/coalla-cms.rb +16 -0
  128. data/lib/generators/coalla/cms/create_admin_generator.rb +50 -0
  129. data/lib/generators/coalla/cms/create_admin_login_view_generator.rb +23 -0
  130. data/lib/generators/coalla/cms/file_uploads/install_generator.rb +35 -0
  131. data/lib/generators/coalla/cms/file_uploads/mount_generator.rb +34 -0
  132. data/lib/generators/coalla/cms/file_uploads/templates/add_column_migration.rb.erb +5 -0
  133. data/lib/generators/coalla/cms/file_uploads/templates/migration.rb +17 -0
  134. data/lib/generators/coalla/cms/image/install_generator.rb +39 -0
  135. data/lib/generators/coalla/cms/image/mount_generator.rb +50 -0
  136. data/lib/generators/coalla/cms/image/templates/migration.rb.erb +9 -0
  137. data/lib/generators/coalla/cms/image/templates/model.rb.erb +5 -0
  138. data/lib/generators/coalla/cms/image/templates/mount/migration.rb.erb +6 -0
  139. data/lib/generators/coalla/cms/image/templates/mount/uploader.rb.erb +3 -0
  140. data/lib/generators/coalla/cms/image/templates/uploader.rb.erb +3 -0
  141. data/lib/generators/coalla/cms/init_generator.rb +113 -0
  142. data/lib/generators/coalla/cms/lookups/install_generator.rb +43 -0
  143. data/lib/generators/coalla/cms/lookups/templates/migration.rb +13 -0
  144. data/lib/generators/coalla/cms/market/install_generator.rb +71 -0
  145. data/lib/generators/coalla/cms/market/templates/controllers/categories_controller.rb +47 -0
  146. data/lib/generators/coalla/cms/market/templates/controllers/products_controller.rb +50 -0
  147. data/lib/generators/coalla/cms/market/templates/controllers/properties_controller.rb +59 -0
  148. data/lib/generators/coalla/cms/market/templates/market.rb +5 -0
  149. data/lib/generators/coalla/cms/market/templates/market.ru.yml +53 -0
  150. data/lib/generators/coalla/cms/market/templates/migrations/create_categories.rb +15 -0
  151. data/lib/generators/coalla/cms/market/templates/migrations/create_product_properties.rb +18 -0
  152. data/lib/generators/coalla/cms/market/templates/migrations/create_products.rb +18 -0
  153. data/lib/generators/coalla/cms/market/templates/migrations/create_properties.rb +11 -0
  154. data/lib/generators/coalla/cms/market/templates/models/category.rb +36 -0
  155. data/lib/generators/coalla/cms/market/templates/models/product.rb +16 -0
  156. data/lib/generators/coalla/cms/market/templates/models/product_property.rb +14 -0
  157. data/lib/generators/coalla/cms/market/templates/models/property.rb +7 -0
  158. data/lib/generators/coalla/cms/market/templates/views/categories/_form.html.haml +10 -0
  159. data/lib/generators/coalla/cms/market/templates/views/categories/edit.html.haml +5 -0
  160. data/lib/generators/coalla/cms/market/templates/views/categories/index.html.haml +17 -0
  161. data/lib/generators/coalla/cms/market/templates/views/categories/new.html.haml +4 -0
  162. data/lib/generators/coalla/cms/market/templates/views/products/_form.html.haml +17 -0
  163. data/lib/generators/coalla/cms/market/templates/views/products/_product_property_fields.html.haml +13 -0
  164. data/lib/generators/coalla/cms/market/templates/views/products/edit.html.haml +5 -0
  165. data/lib/generators/coalla/cms/market/templates/views/products/index.html.haml +17 -0
  166. data/lib/generators/coalla/cms/market/templates/views/products/new.html.haml +4 -0
  167. data/lib/generators/coalla/cms/market/templates/views/properties/_form.html.haml +9 -0
  168. data/lib/generators/coalla/cms/market/templates/views/properties/edit.html.haml +5 -0
  169. data/lib/generators/coalla/cms/market/templates/views/properties/index.html.haml +15 -0
  170. data/lib/generators/coalla/cms/market/templates/views/properties/new.html.haml +4 -0
  171. data/lib/generators/coalla/cms/news/scaffold_generator.rb +50 -0
  172. data/lib/generators/coalla/cms/news/templates/entity.rb.erb +10 -0
  173. data/lib/generators/coalla/cms/news/templates/entity_controller_template.rb.erb +47 -0
  174. data/lib/generators/coalla/cms/news/templates/entity_image_uploader.rb.erb +7 -0
  175. data/lib/generators/coalla/cms/news/templates/migration.rb.erb +15 -0
  176. data/lib/generators/coalla/cms/news/templates/views/_form.haml.erb +16 -0
  177. data/lib/generators/coalla/cms/news/templates/views/edit.haml.erb +5 -0
  178. data/lib/generators/coalla/cms/news/templates/views/index.haml.erb +18 -0
  179. data/lib/generators/coalla/cms/news/templates/views/new.haml.erb +5 -0
  180. data/lib/generators/coalla/cms/orm_helpers.rb +31 -0
  181. data/lib/generators/coalla/cms/scaffold_generator.rb +53 -0
  182. data/lib/generators/coalla/cms/scaffold_helper.rb +11 -0
  183. data/lib/generators/coalla/cms/setup_admin_generator.rb +60 -0
  184. data/lib/generators/coalla/cms/setup_routes_generator.rb +28 -0
  185. data/lib/generators/coalla/cms/slider/init_generator.rb +41 -0
  186. data/lib/generators/coalla/cms/slider/templates/migration.rb.erb +25 -0
  187. data/lib/generators/coalla/cms/slider/templates/slider_image.rb.erb +10 -0
  188. data/lib/generators/coalla/cms/slider/templates/slider_image_uploader.rb.erb +7 -0
  189. data/lib/generators/coalla/cms/slider/templates/slider_upload_controller.rb.erb +19 -0
  190. data/lib/generators/coalla/cms/templates/.gitattributes +4 -0
  191. data/lib/generators/coalla/cms/templates/.gitignore +86 -0
  192. data/lib/generators/coalla/cms/templates/activerecord.ru.yml +13 -0
  193. data/lib/generators/coalla/cms/templates/assets.rb +13 -0
  194. data/lib/generators/coalla/cms/templates/controllers/admin/base_controller.rb.erb +35 -0
  195. data/lib/generators/coalla/cms/templates/controllers/admin/home_controller.rb.erb +6 -0
  196. data/lib/generators/coalla/cms/templates/controllers/admin/scaffold_controller_template.rb.erb +45 -0
  197. data/lib/generators/coalla/cms/templates/controllers/home_controller.rb.erb +6 -0
  198. data/lib/generators/coalla/cms/templates/database.yml.erb +35 -0
  199. data/lib/generators/coalla/cms/templates/devise.ru.yml +59 -0
  200. data/lib/generators/coalla/cms/templates/initializers/carrierwave.rb +51 -0
  201. data/lib/generators/coalla/cms/templates/migration.rb +11 -0
  202. data/lib/generators/coalla/cms/templates/migration_existing.rb +15 -0
  203. data/lib/generators/coalla/cms/templates/schedule.rb +3 -0
  204. data/lib/generators/coalla/cms/templates/structure.rb +0 -0
  205. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/_form.html.haml.erb +14 -0
  206. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/edit.html.haml.erb +5 -0
  207. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/index.html.haml.erb +15 -0
  208. data/lib/generators/coalla/cms/templates/views/admin/scaffold_template/new.html.haml.erb +4 -0
  209. data/lib/generators/coalla/cms/templates/views/administrators/sessions/new.html.haml +19 -0
  210. data/lib/generators/coalla/cms/templates/views/home/index.html.haml.erb +1 -0
  211. data/lib/generators/coalla/cms/wysiwyg/ckeditor_generator.rb +17 -0
  212. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png +0 -0
  213. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/mediaembed/icons/mediaembed.png +0 -0
  214. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/mediaembed/plugin.js +64 -0
  215. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/LICENSE.txt +303 -0
  216. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/ad-gallery-css-diff.htm +831 -0
  217. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/ad_next.png +0 -0
  218. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/ad_prev.png +0 -0
  219. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/ad_scroll_back.png +0 -0
  220. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/ad_scroll_forward.png +0 -0
  221. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/jquery.ad-gallery.css +185 -0
  222. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/jquery.ad-gallery.js +984 -0
  223. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/jquery.ad-gallery.min - ref.js +10 -0
  224. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/jquery.ad-gallery.min.js +1 -0
  225. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/loader.gif +0 -0
  226. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/opa75.png +0 -0
  227. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/placeholder.png +0 -0
  228. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/ad-gallery/trans.gif +0 -0
  229. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/blank.gif +0 -0
  230. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/fancybox_loading.gif +0 -0
  231. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/fancybox_loading@2x.gif +0 -0
  232. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/fancybox_overlay.png +0 -0
  233. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/fancybox_sprite.png +0 -0
  234. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/fancybox_sprite@2x.png +0 -0
  235. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/fancybox_buttons.png +0 -0
  236. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/jquery.fancybox-buttons.css +97 -0
  237. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/jquery.fancybox-buttons.js +122 -0
  238. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/jquery.fancybox-media.js +199 -0
  239. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/jquery.fancybox-thumbs.css +55 -0
  240. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/helpers/jquery.fancybox-thumbs.js +162 -0
  241. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/jquery.fancybox.css +274 -0
  242. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/jquery.fancybox.js +2020 -0
  243. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/3rdParty/fancybox2/jquery.fancybox.pack.js +46 -0
  244. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/README.md +66 -0
  245. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/dialogs/slideshow.js +1396 -0
  246. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/dialogs/slideshow.min.js +1 -0
  247. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/icons/placeholder.png +0 -0
  248. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/icons/slideshow.png +0 -0
  249. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/lang/Serbian_translation.txt +9 -0
  250. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/lang/el.js +37 -0
  251. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/lang/en.js +35 -0
  252. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/lang/fr.js +35 -0
  253. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/lang/ru.js +35 -0
  254. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/lang/sr-latn.js +35 -0
  255. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/lang/sr.js +35 -0
  256. data/lib/generators/coalla/cms/wysiwyg/templates/ckeditor/plugins/slideshow/plugin.js +217 -0
  257. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/lbl-blockquote.png +0 -0
  258. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/lbl-h1.png +0 -0
  259. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/lbl-h2.png +0 -0
  260. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/lbl-h3.png +0 -0
  261. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/lbl-h4.png +0 -0
  262. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/lbl-h5.png +0 -0
  263. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/lbl-h6.png +0 -0
  264. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/lbl-p.png +0 -0
  265. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/lbl-pre.png +0 -0
  266. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/wymiframe.css +276 -0
  267. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/iframe/default/wymiframe.html +26 -0
  268. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/jquery.wymeditor.js +4819 -0
  269. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/lang/en.js +45 -0
  270. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/lang/ru.js +55 -0
  271. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/plugins/imageupload/icons.png +0 -0
  272. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/plugins/imageupload/jquery.wymeditor.imageupload.js +150 -0
  273. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/plugins/resizable/jquery.wymeditor.resizable.js +91 -0
  274. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/plugins/resizable/readme.txt +124 -0
  275. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/compact/icons.png +0 -0
  276. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/compact/skin.css +134 -0
  277. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/compact/skin.js +35 -0
  278. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/default/icons.png +0 -0
  279. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/default/skin.css +341 -0
  280. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/default/skin.js +40 -0
  281. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/minimal/images/bg.header.gif +0 -0
  282. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/minimal/images/bg.selector.silver.gif +0 -0
  283. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/minimal/images/bg.wymeditor.png +0 -0
  284. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/minimal/images/icons.silver.gif +0 -0
  285. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/minimal/skin.css +131 -0
  286. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/minimal/skin.js +30 -0
  287. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/silver/COPYING +674 -0
  288. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/silver/README +27 -0
  289. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/silver/images/bg.header.gif +0 -0
  290. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/silver/images/bg.selector.silver.gif +0 -0
  291. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/silver/images/bg.wymeditor.png +0 -0
  292. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/silver/images/icons.silver.gif +0 -0
  293. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/silver/skin.css +297 -0
  294. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/silver/skin.js +61 -0
  295. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/twopanels/icons.png +0 -0
  296. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/twopanels/skin.css +134 -0
  297. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/twopanels/skin.js +39 -0
  298. data/lib/generators/coalla/cms/wysiwyg/templates/wymeditor/skins/wymeditor_icon.png +0 -0
  299. data/lib/generators/coalla/cms/wysiwyg/wymeditor_generator.rb +17 -0
  300. metadata +581 -0
@@ -0,0 +1,53 @@
1
+ require 'rails'
2
+ require 'rails/generators/active_record'
3
+ require 'generators/coalla/cms/scaffold_helper'
4
+
5
+ module Coalla
6
+ module Cms
7
+ class ScaffoldGenerator < ActiveRecord::Generators::Base
8
+ argument :name, type: :string
9
+
10
+ source_root File.expand_path("../templates", __FILE__)
11
+
12
+ include Coalla::Cms::ScaffoldHelper
13
+
14
+ def setup_names
15
+ @instance_name = name.underscore
16
+ @collection_name = name.pluralize.underscore
17
+ @class_name = name
18
+ end
19
+
20
+ def setup_table_columns
21
+ a_class = name.constantize
22
+ @table_columns = a_class.columns.reject{|c| [:id, :type, :created_at, :updated_at, :position].include?(c.name.to_sym) }.collect{|c| [c.name, c.type]}
23
+
24
+ @reflections = {}
25
+ a_class.reflections.values.find_all{|r| r.macro == :belongs_to}.each{|r| @reflections[r.foreign_key] = r}
26
+ end
27
+
28
+ def create_controller
29
+ template 'controllers/admin/scaffold_controller_template.rb.erb', "app/controllers/admin/#{@collection_name}_controller.rb"
30
+ end
31
+
32
+ def create_views
33
+ dir = "views/admin/"
34
+ empty_directory "app/#{dir}/#{@collection_name}"
35
+
36
+ templates = %w{_form edit index new}
37
+ templates.each do |t|
38
+ template "#{dir}/scaffold_template/#{t}.html.haml.erb", "app/#{dir}/#{@collection_name}/#{t}.html.haml"
39
+ end
40
+ end
41
+
42
+ def setup_routes
43
+ sentinel = /namespace :admin do\s*$/
44
+
45
+ routing_code = " resources :#{@collection_name}"
46
+ in_root do
47
+ inject_into_file 'config/routes.rb', "\n #{routing_code}", { :after => sentinel, :verbose => false }
48
+ end
49
+ end
50
+
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,11 @@
1
+ module Coalla
2
+ module Cms
3
+ module ScaffoldHelper
4
+
5
+ def cms_select_name klass
6
+ (([:title, :name, :caption] & klass.new.methods) << :id).first
7
+ end
8
+
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,60 @@
1
+ require 'rails/generators/active_record'
2
+
3
+ module Coalla
4
+ module Cms
5
+
6
+ class SetupAdminGenerator < ActiveRecord::Generators::Base
7
+ argument :name, :type => :string, :default => ""
8
+ source_root File.expand_path("../templates", __FILE__)
9
+
10
+ def setup_directory
11
+ invoke "coalla:cms:create_admin"
12
+ invoke "coalla:cms:setup_routes"
13
+ invoke "coalla:cms:create_admin_login_view"
14
+ end
15
+
16
+ def copy_structure
17
+ copy_file 'structure.rb', 'config/structure.rb'
18
+ end
19
+
20
+ def patch_application_controller
21
+ inject_into_class "app/controllers/application_controller.rb", ApplicationController do
22
+ " layout :layout_by_resource\n\n"
23
+ end
24
+
25
+ gsub_file 'app/controllers/application_controller.rb', /protect_from_forgery with: :exception/ do |match|
26
+ c = <<-RUBY
27
+
28
+
29
+ def layout_by_resource
30
+ if devise_controller? && resource_name === :administrator
31
+ 'admin'
32
+ else
33
+ 'application'
34
+ end
35
+ end
36
+
37
+ def after_sign_in_path_for resource
38
+ case resource
39
+ when Administrator
40
+ admin_dashboard_path
41
+ else
42
+ root_path
43
+ end
44
+ end
45
+ RUBY
46
+ match << c
47
+ end
48
+ end
49
+
50
+ def install_wysiwyg
51
+ generate 'coalla:cms:wysiwyg:wymeditor'
52
+ end
53
+
54
+ def install_ckeditor
55
+ generate 'coalla:cms:wysiwyg:ckeditor'
56
+ end
57
+
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,28 @@
1
+ require 'rails/generators/active_record'
2
+ #require 'generators/coalla/cms/orm_helpers'
3
+
4
+ module Coalla
5
+ module Cms
6
+ class SetupRoutesGenerator < ActiveRecord::Generators::Base
7
+ argument :name, :type => :string, :default => "administrator"
8
+
9
+ def create_route
10
+ route "devise_for :#{name.pluralize}
11
+ devise_scope :#{name} do
12
+ get '/admin' => 'devise/sessions#new'
13
+ end
14
+ namespace :admin do
15
+ scope controller: :image_upload do
16
+ post 'uploads/:image_class/:field' => :upload_image, as: 'upload_image'
17
+ end
18
+ scope controller: :home do
19
+ get :dashboard
20
+ end
21
+ scope controller: :autocomplete do
22
+ get 'list/:model/:field' => :list, as: 'autocomplete'
23
+ end
24
+ end"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,41 @@
1
+ require 'rails'
2
+ require 'rails/generators/active_record'
3
+
4
+ module Coalla
5
+ module Cms
6
+ module Slider
7
+
8
+ class InitGenerator < ::ActiveRecord::Generators::Base
9
+ argument :name, type: :string, default: 'SliderImage'
10
+ source_root File.expand_path('../templates', __FILE__)
11
+
12
+ def setup
13
+ @class_name = name
14
+ @uploader_name = "#{@class_name}Uploader"
15
+ @table_name = @class_name.pluralize.underscore
16
+ end
17
+
18
+ def create_model
19
+ template 'slider_image.rb.erb', "app/models/#{@class_name.underscore}.rb"
20
+ template 'slider_image_uploader.rb.erb', "app/uploaders/#{@uploader_name.underscore}.rb"
21
+ end
22
+
23
+ def create_upload_migration
24
+ migration_template 'migration.rb.erb', "db/migrate/create_#{@table_name}.rb"
25
+ end
26
+
27
+ def create_upload_controller
28
+ template 'slider_upload_controller.rb.erb', "app/controllers/admin/#{@class_name.pluralize.underscore}_controller.rb"
29
+
30
+ sentinel = /namespace :admin do\s*$/
31
+ routing_code = " resource :#{@class_name.underscore}, only: :create, as: :upload_#{@class_name.underscore}"
32
+ in_root do
33
+ inject_into_file 'config/routes.rb', "\n #{routing_code}", {:after => sentinel, :verbose => false}
34
+ end
35
+ end
36
+
37
+ end
38
+ end
39
+ end
40
+ end
41
+
@@ -0,0 +1,25 @@
1
+ class Create<%= @class_name.pluralize %> < ActiveRecord::Migration
2
+
3
+ def up
4
+ create_table :<%= @table_name %> do |t|
5
+ t.text :slider_type, null: false
6
+ t.text :image
7
+ t.text :title
8
+ t.text :file_name
9
+ t.text :content_type
10
+ t.integer :size
11
+ t.integer :width
12
+ t.integer :height
13
+ t.integer :position, :integer
14
+ t.integer :container_slider_id
15
+ t.timestamps
16
+ end
17
+ add_index :<%= @table_name %>, :position
18
+ add_index :<%= @table_name %>, :container_slider_id
19
+ end
20
+
21
+ def down
22
+ drop_table :<%= @table_name %>
23
+ end
24
+
25
+ end
@@ -0,0 +1,10 @@
1
+ class <%= @class_name %> < ActiveRecord::Base
2
+
3
+ mount_uploader :image, <%= @uploader_name %>
4
+ acts_as_list scope: 'container_slider_id = #{container_slider_id} AND slider_type = \'#{slider_type}\''
5
+
6
+ def self.with_type(slider_type)
7
+ where(slider_type: slider_type)
8
+ end
9
+
10
+ end
@@ -0,0 +1,7 @@
1
+ class <%= @uploader_name %> < GenericImageUploader
2
+
3
+ version :thumb do
4
+ resize_to_fill 80, 80
5
+ end
6
+
7
+ end
@@ -0,0 +1,19 @@
1
+ class Admin::<%= @class_name.pluralize %>Controller < Admin::BaseController
2
+
3
+ def create
4
+ image_param_name = "#{params[:slider_type]}_image".to_sym
5
+ image_params = create_params(image_param_name)
6
+ @master_object_id = image_params[:master_object_id]
7
+ @slides = image_params[image_param_name].map do |image|
8
+ <%= @class_name %>.new(image: image, slider_type: image_params[:slider_type])
9
+ end
10
+ render 'admin/common/image_uploaded'
11
+ end
12
+
13
+ private
14
+
15
+ def create_params(image_param_name)
16
+ params.permit({image_param_name => []}, :master_object_id, :slider_type)
17
+ end
18
+
19
+ end
@@ -0,0 +1,4 @@
1
+ *.ttf -crlf
2
+ *.eot -crlf
3
+ *.woff -crlf
4
+ *.svg -crlf
@@ -0,0 +1,86 @@
1
+ .bundle
2
+ Gemfile.lock
3
+ db/*.sqlite3
4
+ log/*.log
5
+ tmp/
6
+ # Rails
7
+ .bundle
8
+ db/*.sqlite3
9
+ db/*.sqlite3-journal
10
+ *.log
11
+ tmp
12
+ tmp/**/*
13
+
14
+ /db/sphinx
15
+ /db/schema.rb
16
+ /log/development.sphinx.pid
17
+
18
+ # Documentation
19
+ doc/api
20
+ doc/app
21
+ .yardoc
22
+ .yardopts
23
+
24
+ # Public Uploads
25
+ public/system/*
26
+ public/themes/*
27
+ public/uploads/*
28
+
29
+ # Public Cache
30
+ public/javascripts/cache
31
+ public/stylesheets/cache
32
+
33
+ # Vendor Cache
34
+ vendor/cache
35
+
36
+ # Acts as Indexed
37
+ index/**/*
38
+
39
+ # Refinery Specific
40
+ *.tmproj
41
+ *.autobackupbyrefinery.*
42
+ refinerycms-*.gem
43
+ .autotest
44
+
45
+ # Mac
46
+ .DS_Store
47
+
48
+ # Windows
49
+ Thumbs.db
50
+
51
+ # NetBeans
52
+ nbproject
53
+
54
+ # Eclipse
55
+ .project
56
+
57
+ # Redcar
58
+ .redcar
59
+
60
+ # Rubinius
61
+ *.rbc
62
+
63
+ # Vim
64
+ *.swp
65
+ *.swo
66
+
67
+ # RubyMine
68
+ .idea
69
+
70
+ # E-texteditor
71
+ .eprj
72
+
73
+ # Backup
74
+ *~
75
+
76
+ # Capybara Bug
77
+ capybara-*html
78
+
79
+ # sass
80
+ .sass-cache
81
+ .sass-cache/*
82
+
83
+ #rvm
84
+ .rvmrc
85
+ .rvmrc.*
86
+
@@ -0,0 +1,13 @@
1
+ ru:
2
+ activerecord:
3
+ models:
4
+ administrator: Администратор
5
+ lookup: Тексты
6
+
7
+ attributes:
8
+ administrator:
9
+ email: Электронная почта
10
+ password: Пароль
11
+ lookup:
12
+ code: Название
13
+ value: Значение
@@ -0,0 +1,13 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Version of your assets, change this if you want to expire all your assets.
4
+ Rails.application.config.assets.version = '1.0'
5
+
6
+ # Precompile additional assets.
7
+ # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
8
+ # Rails.application.config.assets.precompile += %w( search.js )
9
+ Rails.application.config.assets.precompile += %w( admin/admin.css )
10
+ Rails.application.config.assets.precompile += [->(path) {
11
+ full_path = Rails.application.assets.resolve(path)
12
+ File.extname(full_path).in?(%w(.js .css))
13
+ }]
@@ -0,0 +1,35 @@
1
+ module Admin
2
+
3
+ class BaseController < ApplicationController
4
+
5
+ layout 'admin'
6
+
7
+ include Admin::PathHistory
8
+ helper_method :back_uri
9
+
10
+ before_action :no_cache!
11
+ before_action :authenticate_administrator!
12
+ before_action :load_structure
13
+ before_action :store_path_history
14
+
15
+ protected
16
+
17
+ def load_structure
18
+ @structure = ::AdminStructure.new
19
+ end
20
+
21
+ def add_success_msg
22
+ flash.now[:admin_success] = 'Информация успешно сохранена'
23
+ end
24
+
25
+ def redirect_or_render partial
26
+ if params[:save].present?
27
+ redirect_to_back
28
+ else
29
+ add_success_msg
30
+ render partial
31
+ end
32
+ end
33
+ end
34
+
35
+ end
@@ -0,0 +1,6 @@
1
+ class Admin::HomeController < Admin::BaseController
2
+
3
+ def dashboard
4
+ end
5
+
6
+ end
@@ -0,0 +1,45 @@
1
+ module Admin
2
+
3
+ class <%= name.camelize.pluralize %>Controller < BaseController
4
+
5
+ PER_PAGE = 20
6
+
7
+ def index
8
+ @<%= @collection_name %> = <%= @class_name %>.order(created_at: :desc).paginate(page: params[:page], per_page: PER_PAGE)
9
+ end
10
+
11
+ def new
12
+ @<%= @instance_name %> = <%= @class_name %>.new
13
+ end
14
+
15
+ def create
16
+ @<%= @instance_name %> = <%= @class_name %>.new(params[:<%= @instance_name %>].permit!)
17
+ if @<%= @instance_name %>.save
18
+ redirect_or_render :edit
19
+ else
20
+ render :new
21
+ end
22
+ end
23
+
24
+ def edit
25
+ @<%= @instance_name %> = <%= @class_name %>.find(params[:id])
26
+ end
27
+
28
+ def update
29
+ @<%= @instance_name %> = <%= @class_name %>.find(params[:id])
30
+ if @<%= @instance_name %>.update_attributes(params[:<%= @instance_name %>].permit!)
31
+ redirect_or_render :edit
32
+ else
33
+ render :edit
34
+ end
35
+ end
36
+
37
+ def destroy
38
+ @<%= @instance_name %> = <%= @class_name %>.find(params[:id])
39
+ @<%= @instance_name %>.destroy
40
+ redirect_to_last
41
+ end
42
+
43
+ end
44
+
45
+ end
@@ -0,0 +1,6 @@
1
+ class HomeController < ApplicationController
2
+
3
+ def index
4
+ end
5
+
6
+ end
@@ -0,0 +1,35 @@
1
+ development:
2
+ adapter: postgresql
3
+ encoding: unicode
4
+ database: <%= @name %>_development
5
+ pool: 5
6
+ username: postgres
7
+ password: resolve
8
+ host: 127.0.0.1
9
+
10
+ test:
11
+ adapter: postgresql
12
+ encoding: unicode
13
+ database: <%= @name %>_test
14
+ pool: 5
15
+ username: postgres
16
+ password: resolve
17
+ host: 127.0.0.1
18
+
19
+ staging:
20
+ adapter: postgresql
21
+ encoding: unicode
22
+ database: <%= @name %>_test
23
+ pool: 5
24
+ username: <%= @name %>_test
25
+ password: <%= generate_password %>
26
+ host: 127.0.0.1
27
+
28
+ production:
29
+ adapter: postgresql
30
+ encoding: unicode
31
+ database: <%= @name %>
32
+ pool: 5
33
+ username: <%= @name %>
34
+ password: <%= generate_password %>
35
+ host: 127.0.0.1
@@ -0,0 +1,59 @@
1
+ ru:
2
+ errors:
3
+ messages:
4
+ expired: "устарела. Пожалуйста, запросите новую"
5
+ not_found: "Учетная запись с таким E-mail не найдена в базе данных"
6
+ already_confirmed: "уже подтверждена. Пожалуйста, попробуйте войти в систему"
7
+ not_locked: "не заблокирована"
8
+ not_saved:
9
+ one: "%{resource}: сохранение не удалось из-за %{count} ошибки"
10
+ few: "%{resource}: сохранение не удалось из-за %{count} ошибок"
11
+ many: "%{resource}: сохранение не удалось из-за %{count} ошибок"
12
+ other: "%{resource}: сохранение не удалось из-за %{count} ошибки"
13
+
14
+ devise:
15
+ failure:
16
+ already_authenticated: "Вы уже вошли в систему."
17
+ unauthenticated: "Вам необходимо войти в систему."
18
+ unconfirmed: "Вы должны подтвердить вашу учётную запись."
19
+ locked: "Ваша учётная запись заблокирована."
20
+ invalid: "Неверный E-mail или пароль."
21
+ not_found_in_database: "Неверный e-mail или пароль."
22
+ invalid_token: "Неверный ключ аутентификации."
23
+ timeout: "Ваш сеанс закончился. Пожалуйста, войдите в систему снова."
24
+ inactive: "Ваша учётная запись заблокирована."
25
+ deleted: "Ваша учетная запись удалена."
26
+ sessions:
27
+ signed_in: "Вход в систему выполнен."
28
+ signed_out: "Выход из системы выполнен."
29
+ passwords:
30
+ send_instructions: "В течение нескольких минут вы получите письмо с инструкциями по восстановлению вашего пароля."
31
+ updated: "Ваш пароль изменён. Теперь вы вошли в систему."
32
+ updated_not_active: "Ваш пароль изменён."
33
+ send_paranoid_instructions: "Если ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут вы получите письмо с инструкциями по восстановлению вашего пароля."
34
+ confirmations:
35
+ send_instructions: "В течение нескольких минут вы получите письмо с инструкциями по подтверждению вашей учётной записи."
36
+ send_paranoid_instructions: "Если ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут вы получите письмо с инструкциями по подтверждению вашей учётной записи."
37
+ confirmed: "Ваша учётная запись подтверждена. Теперь вы вошли в систему."
38
+ registrations:
39
+ signed_up: "Добро пожаловать! Вы успешно зарегистрировались."
40
+ signed_up_but_unconfirmed: "Добро пожаловать! Вы успешно зарегистрировались. Но пока вы не можете войти в систему, т.к. ваша учётная запись не подтверждена."
41
+ signed_up_but_inactive: "Добро пожаловать! Вы успешно зарегистрировались. Но пока вы не можете войти в систему, т.к. ваша учётная запись не активна."
42
+ signed_up_but_locked: "Добро пожаловать! Вы успешно зарегистрировались. Но пока вы не можете войти в систему, т.к. ваша учётная запись заблокирована."
43
+ updated: "Ваша учётная запись изменена."
44
+ update_needs_confirmation: "Ваша учётная запись обновлена, но нам нужно проверить ваш новый адрес e-mail. Через несколько минут вы получите письмо со ссылкой для подтверждения нового адреса e-mail."
45
+ destroyed: "До свидания! Ваша учётная запись удалена. Надеемся снова увидеть вас."
46
+ unlocks:
47
+ send_instructions: "В течение нескольких минут вы получите письмо с инструкциями по разблокировке вашей учётной записи."
48
+ unlocked: "Ваша учётная запись разблокирована. Пожалуйста, войдите в систему."
49
+ send_paranoid_instructions: "Если ваша учётная запись существует, то в течение нескольких минут вы получите письмо с инструкциями по её разблокировке."
50
+ omniauth_callbacks:
51
+ success: "Вход в систему выполнен с учётной записью из %{kind}."
52
+ failure: "Вы не можете войти в систему с учётной записью из %{kind}, т.к. \"%{reason}\"."
53
+ mailer:
54
+ confirmation_instructions:
55
+ subject: "Инструкции по подтверждению учётной записи"
56
+ reset_password_instructions:
57
+ subject: "Инструкции по восстановлению пароля"
58
+ unlock_instructions:
59
+ subject: "Инструкции по разблокировке учётной записи"
@@ -0,0 +1,51 @@
1
+ # We need to have an ability to upload files which includes russian characters, so we
2
+ # have to extend upload carrierwave security rules (see code below). Because of ruby
3
+ # bug you can't upload such files in Windows OS
4
+ unless RUBY_PLATFORM.downcase.include?("win") || RUBY_PLATFORM.downcase.include?("mingw")
5
+
6
+ CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/
7
+
8
+ end
9
+
10
+ if RUBY_VERSION == "1.9.3"
11
+
12
+ module CarrierWave
13
+
14
+ class SanitizedFile
15
+
16
+ private
17
+
18
+ # Sanitize the filename, to prevent hacking
19
+ def sanitize(name)
20
+ name = name.force_encoding(Encoding::UTF_8)
21
+ name = name.gsub("\\", "/") # work-around for IE
22
+ name = File.basename(name)
23
+ name = name.gsub(sanitize_regexp, "_")
24
+ name = "_#{name}" if name =~ /\A\.+\z/
25
+ name = "unnamed" if name.size == 0
26
+ return name.mb_chars.to_s
27
+ end
28
+
29
+ end
30
+
31
+ end
32
+
33
+ module CarrierWave
34
+
35
+ module Mount
36
+
37
+ class Mounter
38
+
39
+ def url(*args)
40
+ url = uploader.url(*args)
41
+ url = url.force_encoding(Encoding::UTF_8) if url
42
+ url
43
+ end
44
+
45
+ end
46
+
47
+ end
48
+
49
+ end
50
+
51
+ end
@@ -0,0 +1,11 @@
1
+ class Create<%= table_name.camelize %>Model < ActiveRecord::Migration
2
+ def change
3
+ create_table(:<%= table_name %>) do |t|
4
+ <%= migration_data -%>
5
+ t.timestamps
6
+ end
7
+ add_index :<%= table_name %>, :email, unique: true
8
+
9
+ <%= create_default_admin %>
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ class AddAdminRoleTo<%= table_name.camelize %> < ActiveRecord::Migration
2
+ def self.up
3
+ change_table(:<%= table_name %>) do |t|
4
+ <%= migration_data -%>
5
+ end
6
+ add_index :<%= table_name %>, :email, unique: true
7
+ <%= create_default_admin %>
8
+ end
9
+
10
+ def self.down
11
+ # By default, we don't want to make any assumption about how to roll back a migration when your
12
+ # model already existed. Please edit below which fields you would like to remove in this migration.
13
+ raise ActiveRecord::IrreversibleMigration
14
+ end
15
+ end
@@ -0,0 +1,3 @@
1
+ set :output, {error: 'log/error.log', standard: 'log/cron.log'}
2
+ job_type :runner, "cd :path && rvmsudo -u www-data bundle exec rails runner -e :environment ':task' :output"
3
+ job_type :rake, "cd :path && rvmsudo -u www-data RAILS_ENV=:environment bundle exec rake :task :output"
File without changes