coalla-cms 0.4.2.0

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 (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