redde 0.1.18 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (362) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.hound.yml +2 -0
  4. data/.rubocop.yml +19 -0
  5. data/.travis.yml +5 -4
  6. data/Gemfile +8 -5
  7. data/MIT-LICENSE +20 -0
  8. data/README.md +96 -105
  9. data/Rakefile +20 -1
  10. data/app/assets/fonts/redde-admin.eot +0 -0
  11. data/app/assets/fonts/redde-admin.svg +12 -0
  12. data/app/assets/fonts/redde-admin.ttf +0 -0
  13. data/app/assets/fonts/redde-admin.woff +0 -0
  14. data/app/assets/images/redde/close-hover.svg +4 -0
  15. data/app/assets/images/redde/close.svg +6 -0
  16. data/app/assets/images/redde/enter.svg +4 -0
  17. data/app/assets/images/redde/eye.svg +5 -0
  18. data/app/assets/images/redde/eye_disactive.svg +5 -0
  19. data/app/assets/images/redde/main-menu/cog.svg +8 -0
  20. data/app/assets/images/redde/main-menu/cog_active.svg +8 -0
  21. data/app/assets/images/redde/main-menu/folder.svg +4 -0
  22. data/app/assets/images/redde/main-menu/folder_active.svg +4 -0
  23. data/app/assets/images/redde/main-menu/home.svg +4 -0
  24. data/app/assets/images/redde/main-menu/home_active.svg +4 -0
  25. data/app/assets/images/redde/main-menu/list.svg +4 -0
  26. data/app/assets/images/redde/main-menu/list_active.svg +4 -0
  27. data/app/assets/images/redde/next.svg +7 -0
  28. data/app/assets/images/redde/plus.svg +3 -0
  29. data/app/assets/images/redde/sel.svg +6 -0
  30. data/app/assets/images/redde/user.svg +12 -0
  31. data/app/assets/javascripts/redde/fileapi.js.coffee +17 -0
  32. data/app/assets/javascripts/redde/index.js.coffee +12 -0
  33. data/app/assets/javascripts/redde/redactor/index.coffee +8 -0
  34. data/{lib/generators/redde/layout/templates/assets/redactor/javascripts/jquery-migrate-1.2.1.js → app/assets/javascripts/redde/redactor/jquery-migrate-1.3.0.js} +215 -34
  35. data/{lib/generators/redde/layout/templates/assets/redactor/javascripts → app/assets/javascripts/redde}/redactor/redactor.js.erb +250 -250
  36. data/app/assets/javascripts/redde/sortTree/index.js.coffee +47 -0
  37. data/app/assets/javascripts/redde/sortable.coffee +47 -0
  38. data/{spec/dummy/app/assets/stylesheets/admin → app/assets/stylesheets/redde}/blocks/error-msg.sass +4 -2
  39. data/app/assets/stylesheets/redde/blocks/flash-msg.sass +22 -0
  40. data/app/assets/stylesheets/redde/blocks/list-v2.sass +96 -0
  41. data/app/assets/stylesheets/redde/blocks/photos-uploader.sass +21 -0
  42. data/app/assets/stylesheets/redde/blocks/photos.sass +56 -0
  43. data/app/assets/stylesheets/redde/blocks/redde-form.sass +55 -0
  44. data/app/assets/stylesheets/redde/blocks/sort-tree.sass +46 -0
  45. data/app/assets/stylesheets/redde/defaults/btn.sass +30 -0
  46. data/app/assets/stylesheets/redde/defaults/del.sass +23 -0
  47. data/app/assets/stylesheets/redde/defaults/index.sass +87 -0
  48. data/app/assets/stylesheets/redde/defaults/inp.sass +20 -0
  49. data/app/assets/stylesheets/redde/defaults/reset.sass +25 -0
  50. data/app/assets/stylesheets/redde/defaults/sbm.sass +32 -0
  51. data/app/assets/stylesheets/redde/defaults/sel.sass +29 -0
  52. data/app/assets/stylesheets/redde/fonts.sass +42 -0
  53. data/app/assets/stylesheets/redde/index.scss +5 -0
  54. data/app/assets/stylesheets/redde/layouts/header.sass +63 -0
  55. data/app/assets/stylesheets/redde/layouts/main-menu.sass +63 -0
  56. data/app/assets/stylesheets/redde/layouts/main.sass +48 -0
  57. data/app/assets/stylesheets/redde/layouts/page-header.sass +34 -0
  58. data/app/assets/stylesheets/redde/layouts/page-sidebar.sass +9 -0
  59. data/app/assets/stylesheets/redde/mixins.sass +10 -0
  60. data/{spec/dummy/app/assets/stylesheets → app/assets/stylesheets/redde}/redactor/index.scss +46 -49
  61. data/app/assets/stylesheets/redde-admin/blocks/list-v2.sass +96 -0
  62. data/app/assets/stylesheets/redde-admin/defaults/del.sass +23 -0
  63. data/app/controllers/admin/base_controller.rb +81 -0
  64. data/{lib/generators/redde/layout/templates/controllers → app/controllers/admin}/managers_controller.rb +10 -6
  65. data/app/controllers/admin/redde_photos_controller.rb +31 -0
  66. data/app/controllers/admin/system_commands_controller.rb +11 -0
  67. data/app/form_builders/redde_form_builder.rb +106 -0
  68. data/app/helpers/redde/admin_helper.rb +33 -0
  69. data/app/helpers/redde/form_helper.rb +59 -0
  70. data/app/helpers/redde/index_helper.rb +61 -0
  71. data/{lib/redde/concerns/layout.rb → app/models/concerns/redde/layouts.rb} +1 -1
  72. data/app/models/concerns/redde/photoable.rb +5 -0
  73. data/{lib/redde/concerns → app/models/concerns/redde}/sluggable.rb +6 -3
  74. data/app/models/concerns/redde/tree_sortable.rb +40 -0
  75. data/{lib/redde/concerns → app/models/concerns/redde}/with_photo.rb +5 -5
  76. data/app/models/redde/photo.rb +16 -0
  77. data/app/models/redde/system_command.rb +43 -0
  78. data/{lib → app/models}/redde/url_generator.rb +7 -3
  79. data/{lib/generators/redde/photo/templates/uploader.rb → app/uploaders/photo_uploader.rb} +4 -4
  80. data/app/views/admin/base/_tree_item.html.haml +10 -0
  81. data/app/views/admin/base/edit.html.haml +21 -0
  82. data/app/views/admin/base/index.html.haml +68 -0
  83. data/app/views/admin/base/tree.html.haml +14 -0
  84. data/app/views/admin/managers/edit.html.haml +11 -0
  85. data/app/views/admin/managers/index.html.haml +17 -0
  86. data/{lib/generators/redde/layout/templates/base → app/views/admin/redde}/_header.html.haml +5 -6
  87. data/app/views/admin/redde/_main_menu.html.haml +12 -0
  88. data/app/views/admin/redde/_page_header.html.haml +3 -0
  89. data/app/views/admin/redde/_sidebar.html.haml +16 -0
  90. data/{lib/generators/redde/layout/templates/base → app/views/admin/redde}/_validate.haml +2 -2
  91. data/app/views/admin/redde_photos/_photo.haml +11 -0
  92. data/app/views/admin/redde_photos/_photos.haml +28 -0
  93. data/app/views/admin/system_commands/index.html.haml +25 -0
  94. data/app/views/kaminari/redde/_first_page.html.haml +9 -0
  95. data/app/views/kaminari/redde/_gap.html.haml +8 -0
  96. data/app/views/kaminari/redde/_last_page.html.haml +9 -0
  97. data/app/views/kaminari/redde/_next_page.html.haml +9 -0
  98. data/app/views/kaminari/redde/_page.html.haml +10 -0
  99. data/app/views/kaminari/redde/_paginator.html.haml +18 -0
  100. data/app/views/kaminari/redde/_prev_page.html.haml +9 -0
  101. data/{lib/generators/redde/layout/templates → app/views}/layouts/admin.html.haml +28 -29
  102. data/{lib/generators/redde/layout/templates → app/views}/layouts/login.html.haml +32 -32
  103. data/bin/rails +12 -0
  104. data/config/locales/paginate.ru.yml +9 -0
  105. data/config/routes.rb +8 -0
  106. data/db/migrate/20160121152706_create_redde_photos.rb +16 -0
  107. data/lib/generators/redde/layout/layout_generator.rb +3 -26
  108. data/lib/generators/redde/layout/templates/assets/javascripts/admin.js +1 -0
  109. data/lib/generators/redde/layout/templates/assets/stylesheets/admin.css +15 -0
  110. data/lib/generators/redde/scaffold/scaffold_generator.rb +45 -8
  111. data/lib/generators/redde/scaffold/templates/controllers/controller.rb +2 -45
  112. data/lib/generators/redde/scaffold/templates/edit.html.haml +4 -9
  113. data/lib/generators/redde/scaffold/templates/index.html.haml +2 -6
  114. data/lib/generators/redde/scaffold/templates/ru.yml +14 -0
  115. data/lib/redde/engine.rb +16 -0
  116. data/lib/redde/version.rb +1 -1
  117. data/lib/redde.rb +20 -4
  118. data/lib/tasks/redde_tasks.rake +4 -0
  119. data/redde.gemspec +44 -22
  120. metadata +482 -455
  121. data/Guardfile +0 -24
  122. data/LICIENSE.md +0 -21
  123. data/lib/generators/redde/layout/templates/assets/images/admin/del.png +0 -0
  124. data/lib/generators/redde/layout/templates/assets/images/admin/folder_.png +0 -0
  125. data/lib/generators/redde/layout/templates/assets/javascripts/admin/index.js +0 -20
  126. data/lib/generators/redde/layout/templates/assets/redactor/javascripts/redactor/index.coffee +0 -4
  127. data/lib/generators/redde/layout/templates/assets/redactor/stylesheets/redactor/index.scss +0 -369
  128. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/blocks/error-msg.sass +0 -47
  129. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/blocks/notice.scss +0 -39
  130. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/blocks/photos.scss +0 -31
  131. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/blocks/sortable.sass +0 -44
  132. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/custom/index.scss +0 -1
  133. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/defaults/index.scss +0 -131
  134. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/defaults/input.sass +0 -35
  135. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/defaults/reset.sass +0 -33
  136. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/defaults/table.scss +0 -24
  137. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/index.scss +0 -6
  138. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/layouts/header.sass +0 -50
  139. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/layouts/launchbar.sass +0 -23
  140. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/layouts/main.sass +0 -38
  141. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/layouts/page-header.sass +0 -22
  142. data/lib/generators/redde/layout/templates/assets/stylesheets/admin/layouts/page-sidebar.sass +0 -24
  143. data/lib/generators/redde/layout/templates/base/_launchbar.html.haml +0 -11
  144. data/lib/generators/redde/layout/templates/base/_sidebar.html.haml +0 -14
  145. data/lib/generators/redde/layout/templates/controllers/base_controller.rb +0 -28
  146. data/lib/generators/redde/layout/templates/form_builders/redde_form_builder.rb +0 -63
  147. data/lib/generators/redde/layout/templates/helpers/admin_helper.rb +0 -94
  148. data/lib/generators/redde/photo/photo_generator.rb +0 -35
  149. data/lib/generators/redde/photo/templates/controller.rb +0 -20
  150. data/lib/generators/redde/photo/templates/create_photos.rb +0 -16
  151. data/lib/generators/redde/photo/templates/photo.rb +0 -4
  152. data/lib/generators/redde/photo/templates/photos/_photo.haml +0 -5
  153. data/lib/generators/redde/photo/templates/photos/_photos.haml +0 -19
  154. data/lib/generators/redde/photo/templates/photos/create.js.erb +0 -1
  155. data/lib/redde/concerns/photoable.rb +0 -17
  156. data/spec/dummy/.rspec +0 -1
  157. data/spec/dummy/README.rdoc +0 -28
  158. data/spec/dummy/Rakefile +0 -6
  159. data/spec/dummy/app/assets/images/admin/addphoto.png +0 -0
  160. data/spec/dummy/app/assets/images/admin/ajaxloader2.gif +0 -0
  161. data/spec/dummy/app/assets/images/admin/arrow_down.png +0 -0
  162. data/spec/dummy/app/assets/images/admin/arrow_enter.png +0 -0
  163. data/spec/dummy/app/assets/images/admin/arrow_right.png +0 -0
  164. data/spec/dummy/app/assets/images/admin/coins.png +0 -0
  165. data/spec/dummy/app/assets/images/admin/confirm.png +0 -0
  166. data/spec/dummy/app/assets/images/admin/del.png +0 -0
  167. data/spec/dummy/app/assets/images/admin/delete.png +0 -0
  168. data/spec/dummy/app/assets/images/admin/email.png +0 -0
  169. data/spec/dummy/app/assets/images/admin/error-label-triangle.png +0 -0
  170. data/spec/dummy/app/assets/images/admin/error.png +0 -0
  171. data/spec/dummy/app/assets/images/admin/favicon.png +0 -0
  172. data/spec/dummy/app/assets/images/admin/fio.png +0 -0
  173. data/spec/dummy/app/assets/images/admin/folder.png +0 -0
  174. data/spec/dummy/app/assets/images/admin/folder_.png +0 -0
  175. data/spec/dummy/app/assets/images/admin/icon_eye.gif +0 -0
  176. data/spec/dummy/app/assets/images/admin/lightbox/css/jquery.lightbox-0.5.css +0 -101
  177. data/spec/dummy/app/assets/images/admin/lightbox/images/lightbox-blank.gif +0 -0
  178. data/spec/dummy/app/assets/images/admin/lightbox/images/lightbox-btn-close.gif +0 -0
  179. data/spec/dummy/app/assets/images/admin/lightbox/images/lightbox-btn-next.gif +0 -0
  180. data/spec/dummy/app/assets/images/admin/lightbox/images/lightbox-btn-prev.gif +0 -0
  181. data/spec/dummy/app/assets/images/admin/lightbox/images/lightbox-ico-loading.gif +0 -0
  182. data/spec/dummy/app/assets/images/admin/lightbox/js/jquery.js +0 -32
  183. data/spec/dummy/app/assets/images/admin/lightbox/js/jquery.lightbox-0.5.js +0 -477
  184. data/spec/dummy/app/assets/images/admin/lightbox/js/jquery.lightbox-0.5.min.js +0 -42
  185. data/spec/dummy/app/assets/images/admin/lightbox/js/jquery.lightbox-0.5.pack.js +0 -14
  186. data/spec/dummy/app/assets/images/admin/logo.png +0 -0
  187. data/spec/dummy/app/assets/images/admin/logo_reddeshop.png +0 -0
  188. data/spec/dummy/app/assets/images/admin/move_handler.png +0 -0
  189. data/spec/dummy/app/assets/images/admin/phone.png +0 -0
  190. data/spec/dummy/app/assets/images/admin/photo_ico.png +0 -0
  191. data/spec/dummy/app/assets/images/admin/print.png +0 -0
  192. data/spec/dummy/app/assets/images/admin/refresh.png +0 -0
  193. data/spec/dummy/app/assets/images/admin/submit.png +0 -0
  194. data/spec/dummy/app/assets/images/admin/submit_hover.png +0 -0
  195. data/spec/dummy/app/assets/images/admin/view.png +0 -0
  196. data/spec/dummy/app/assets/images/admin/view_mk.png +0 -0
  197. data/spec/dummy/app/assets/images/redactor/icons.png +0 -0
  198. data/spec/dummy/app/assets/images/redactor/plugins/file.html +0 -3
  199. data/spec/dummy/app/assets/images/redactor/plugins/image.html +0 -39
  200. data/spec/dummy/app/assets/images/redactor/plugins/image_edit.html +0 -35
  201. data/spec/dummy/app/assets/images/redactor/plugins/link.html +0 -74
  202. data/spec/dummy/app/assets/images/redactor/plugins/table.html +0 -25
  203. data/spec/dummy/app/assets/images/redactor/plugins/video.html +0 -15
  204. data/spec/dummy/app/assets/javascripts/admin/jquery.mjs.nestedSortable.js +0 -429
  205. data/spec/dummy/app/assets/javascripts/admin.js +0 -21
  206. data/spec/dummy/app/assets/javascripts/application.js +0 -14
  207. data/spec/dummy/app/assets/javascripts/jquery-migrate-1.2.1.js +0 -521
  208. data/spec/dummy/app/assets/javascripts/redactor/langs/en.js +0 -76
  209. data/spec/dummy/app/assets/javascripts/redactor/langs/ru.js +0 -75
  210. data/spec/dummy/app/assets/javascripts/redactor/redactor.js.erb +0 -2248
  211. data/spec/dummy/app/assets/javascripts/redactor/toolbars/default.js +0 -219
  212. data/spec/dummy/app/assets/stylesheets/admin/blocks/list.scss +0 -22
  213. data/spec/dummy/app/assets/stylesheets/admin/blocks/notice.scss +0 -39
  214. data/spec/dummy/app/assets/stylesheets/admin/blocks/orders.scss +0 -22
  215. data/spec/dummy/app/assets/stylesheets/admin/blocks/paginate.sass +0 -28
  216. data/spec/dummy/app/assets/stylesheets/admin/blocks/pagination.scss +0 -28
  217. data/spec/dummy/app/assets/stylesheets/admin/blocks/partners.scss +0 -15
  218. data/spec/dummy/app/assets/stylesheets/admin/blocks/phead-tabs.sass +0 -27
  219. data/spec/dummy/app/assets/stylesheets/admin/blocks/photos.scss +0 -31
  220. data/spec/dummy/app/assets/stylesheets/admin/blocks/sortable.sass +0 -44
  221. data/spec/dummy/app/assets/stylesheets/admin/custom/index.scss +0 -1
  222. data/spec/dummy/app/assets/stylesheets/admin/defaults/index.scss +0 -131
  223. data/spec/dummy/app/assets/stylesheets/admin/defaults/input.sass +0 -35
  224. data/spec/dummy/app/assets/stylesheets/admin/defaults/reset.sass +0 -33
  225. data/spec/dummy/app/assets/stylesheets/admin/defaults/table.scss +0 -24
  226. data/spec/dummy/app/assets/stylesheets/admin/index.scss +0 -6
  227. data/spec/dummy/app/assets/stylesheets/admin/layouts/header.sass +0 -50
  228. data/spec/dummy/app/assets/stylesheets/admin/layouts/launchbar.sass +0 -23
  229. data/spec/dummy/app/assets/stylesheets/admin/layouts/login.sass +0 -25
  230. data/spec/dummy/app/assets/stylesheets/admin/layouts/main.sass +0 -38
  231. data/spec/dummy/app/assets/stylesheets/admin/layouts/page-header.sass +0 -22
  232. data/spec/dummy/app/assets/stylesheets/admin/layouts/page-sidebar.sass +0 -24
  233. data/spec/dummy/app/assets/stylesheets/admin/layouts/sidebar.sass +0 -30
  234. data/spec/dummy/app/assets/stylesheets/admin/shop/_filter.scss +0 -16
  235. data/spec/dummy/app/assets/stylesheets/admin/shop/_order-sh.scss +0 -59
  236. data/spec/dummy/app/assets/stylesheets/admin/shop/_pe.scss +0 -43
  237. data/spec/dummy/app/assets/stylesheets/redactor/wym.css +0 -136
  238. data/spec/dummy/app/controllers/admin/base_controller.rb +0 -28
  239. data/spec/dummy/app/controllers/admin/managers_controller.rb +0 -36
  240. data/spec/dummy/app/controllers/application_controller.rb +0 -6
  241. data/spec/dummy/app/controllers/articles_controller.rb +0 -8
  242. data/spec/dummy/app/controllers/managers/registrations_controller.rb +0 -21
  243. data/spec/dummy/app/helpers/admin_helper.rb +0 -94
  244. data/spec/dummy/app/models/article.rb +0 -4
  245. data/spec/dummy/app/models/article_category.rb +0 -2
  246. data/spec/dummy/app/models/photo.rb +0 -3
  247. data/spec/dummy/app/views/admin/base/_header.html.haml +0 -12
  248. data/spec/dummy/app/views/admin/base/_launchbar.html.haml +0 -11
  249. data/spec/dummy/app/views/admin/base/_sidebar.html.haml +0 -14
  250. data/spec/dummy/app/views/admin/base/_validate.haml +0 -8
  251. data/spec/dummy/app/views/admin/base/welcome.haml +0 -2
  252. data/spec/dummy/app/views/admin/photos/_photo.haml +0 -5
  253. data/spec/dummy/app/views/admin/photos/_photos.haml +0 -19
  254. data/spec/dummy/app/views/admin/photos/create.js.erb +0 -1
  255. data/spec/dummy/app/views/admin/photos/destroy.js.erb +0 -1
  256. data/spec/dummy/app/views/articles/show.html.haml +0 -2
  257. data/spec/dummy/app/views/layouts/admin.html.haml +0 -29
  258. data/spec/dummy/app/views/layouts/application.html.erb +0 -15
  259. data/spec/dummy/app/views/layouts/login.html.haml +0 -32
  260. data/spec/dummy/bin/bundle +0 -3
  261. data/spec/dummy/bin/rails +0 -4
  262. data/spec/dummy/bin/rake +0 -4
  263. data/spec/dummy/config/application.rb +0 -33
  264. data/spec/dummy/config/boot.rb +0 -5
  265. data/spec/dummy/config/database.yml +0 -25
  266. data/spec/dummy/config/environment.rb +0 -5
  267. data/spec/dummy/config/environments/development.rb +0 -29
  268. data/spec/dummy/config/environments/production.rb +0 -80
  269. data/spec/dummy/config/environments/test.rb +0 -36
  270. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  271. data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  272. data/spec/dummy/config/initializers/inflections.rb +0 -16
  273. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  274. data/spec/dummy/config/initializers/secret_token.rb +0 -12
  275. data/spec/dummy/config/initializers/session_store.rb +0 -3
  276. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
  277. data/spec/dummy/config/locales/en.yml +0 -36
  278. data/spec/dummy/config/routes.rb +0 -4
  279. data/spec/dummy/config.ru +0 -4
  280. data/spec/dummy/db/migrate/20130908123351_create_articles.rb +0 -9
  281. data/spec/dummy/db/migrate/20140128152208_create_article_categories.rb +0 -11
  282. data/spec/dummy/db/migrate/20140607122532_create_photos.rb +0 -16
  283. data/spec/dummy/db/schema.rb +0 -98
  284. data/spec/dummy/public/404.html +0 -58
  285. data/spec/dummy/public/422.html +0 -58
  286. data/spec/dummy/public/500.html +0 -57
  287. data/spec/dummy/public/favicon.ico +0 -0
  288. data/spec/generators/layout_generator_spec.rb +0 -42
  289. data/spec/generators/photo_generator_spec.rb +0 -32
  290. data/spec/generators/scaffold_generator_spec.rb +0 -58
  291. data/spec/models/sluggable_spec.rb +0 -42
  292. data/spec/models/url_generator_spec.rb +0 -18
  293. data/spec/models/with_photo_spec.rb +0 -25
  294. data/spec/spec_helper.rb +0 -52
  295. /data/{lib/generators/redde/layout/templates/assets/redactor → app/assets}/images/.keep +0 -0
  296. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/addphoto.png +0 -0
  297. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/ajaxloader2.gif +0 -0
  298. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/arrow_down.png +0 -0
  299. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/arrow_enter.png +0 -0
  300. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/arrow_right.png +0 -0
  301. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/coins.png +0 -0
  302. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/confirm.png +0 -0
  303. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/delete.png +0 -0
  304. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/email.png +0 -0
  305. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/error.png +0 -0
  306. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/favicon.png +0 -0
  307. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/fio.png +0 -0
  308. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/icon_eye.gif +0 -0
  309. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/lightbox/css/jquery.lightbox-0.5.css +0 -0
  310. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/lightbox/images/lightbox-blank.gif +0 -0
  311. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/lightbox/images/lightbox-btn-close.gif +0 -0
  312. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/lightbox/images/lightbox-btn-next.gif +0 -0
  313. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/lightbox/images/lightbox-btn-prev.gif +0 -0
  314. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/lightbox/images/lightbox-ico-loading.gif +0 -0
  315. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/lightbox/js/jquery.js +0 -0
  316. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/lightbox/js/jquery.lightbox-0.5.js +0 -0
  317. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/lightbox/js/jquery.lightbox-0.5.min.js +0 -0
  318. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/lightbox/js/jquery.lightbox-0.5.pack.js +0 -0
  319. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/logo_reddeshop.png +0 -0
  320. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/phone.png +0 -0
  321. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/photo_ico.png +0 -0
  322. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/print.png +0 -0
  323. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/refresh.png +0 -0
  324. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/submit.png +0 -0
  325. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/submit_hover.png +0 -0
  326. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/view.png +0 -0
  327. /data/{lib/generators/redde/layout/templates → app}/assets/images/admin/view_mk.png +0 -0
  328. /data/{lib/generators/redde/layout/templates/assets/images/admin → app/assets/images/redde}/error-label-triangle.png +0 -0
  329. /data/{lib/generators/redde/layout/templates/assets/images/admin → app/assets/images/redde}/folder.png +0 -0
  330. /data/{lib/generators/redde/layout/templates/assets/images/admin → app/assets/images/redde}/logo.png +0 -0
  331. /data/{lib/generators/redde/layout/templates/assets/images/admin/move_handler.png → app/assets/images/redde/move-handler.png} +0 -0
  332. /data/{lib/generators/redde/layout/templates/assets/redactor/images → app/assets/images/redde}/redactor/icons.png +0 -0
  333. /data/{lib/generators/redde/layout/templates/assets/redactor/images → app/assets/images/redde}/redactor/plugins/file.html +0 -0
  334. /data/{lib/generators/redde/layout/templates/assets/redactor/images → app/assets/images/redde}/redactor/plugins/image.html +0 -0
  335. /data/{lib/generators/redde/layout/templates/assets/redactor/images → app/assets/images/redde}/redactor/plugins/image_edit.html +0 -0
  336. /data/{lib/generators/redde/layout/templates/assets/redactor/images → app/assets/images/redde}/redactor/plugins/link.html +0 -0
  337. /data/{lib/generators/redde/layout/templates/assets/redactor/images → app/assets/images/redde}/redactor/plugins/table.html +0 -0
  338. /data/{lib/generators/redde/layout/templates/assets/redactor/images → app/assets/images/redde}/redactor/plugins/video.html +0 -0
  339. /data/{lib/generators/redde/layout/templates/assets/redactor/javascripts → app/assets/javascripts/redde}/redactor/langs/en.js +0 -0
  340. /data/{lib/generators/redde/layout/templates/assets/redactor/javascripts → app/assets/javascripts/redde}/redactor/langs/ru.js +0 -0
  341. /data/{lib/generators/redde/layout/templates/assets/redactor/javascripts → app/assets/javascripts/redde}/redactor/toolbars/default.js +0 -0
  342. /data/{lib/generators/redde/layout/templates/assets/javascripts/admin → app/assets/javascripts/redde/sortTree}/jquery.mjs.nestedSortable.js +0 -0
  343. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/blocks/list.scss +0 -0
  344. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/blocks/orders.scss +0 -0
  345. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/blocks/paginate.sass +0 -0
  346. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/blocks/pagination.scss +0 -0
  347. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/blocks/partners.scss +0 -0
  348. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/blocks/phead-tabs.sass +0 -0
  349. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/layouts/login.sass +0 -0
  350. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/layouts/sidebar.sass +0 -0
  351. /data/{lib/generators/redde/layout/templates/assets/redactor/stylesheets → app/assets/stylesheets/redde}/redactor/wym.css +0 -0
  352. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/shop/_filter.scss +0 -0
  353. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/shop/_order-sh.scss +0 -0
  354. /data/{lib/generators/redde/layout/templates/assets/stylesheets/admin → app/assets/stylesheets/redde}/shop/_pe.scss +0 -0
  355. /data/{spec/dummy/app/assets/images → app/controllers}/.keep +0 -0
  356. /data/{lib/generators/redde/layout/templates → app}/controllers/managers/registrations_controller.rb +0 -0
  357. /data/{spec/dummy/app/models → app/helpers}/.keep +0 -0
  358. /data/{spec/dummy/lib/assets → app/mailers}/.keep +0 -0
  359. /data/{spec/dummy/log → app/models}/.keep +0 -0
  360. /data/{spec/dummy/app/assets/stylesheets/application.css.scss → app/views/.keep} +0 -0
  361. /data/{lib/generators/redde/layout/templates → app/views/admin}/base/welcome.haml +0 -0
  362. /data/{lib/generators/redde/photo/templates/photos → app/views/admin/redde_photos}/destroy.js.erb +0 -0
@@ -1,131 +0,0 @@
1
- //= require admin/defaults/reset
2
- //= require_self
3
- //= require_directory .
4
-
5
- a.del {
6
- background:image-url("admin/del.png") no-repeat 100% 0; display:inline-block; height:20px; line-height:20px; padding:0 22px 0 0;
7
- &:hover {background-position:100% -80px;}
8
- }
9
-
10
- .actions {margin:10px 0;}
11
-
12
- .ac_results {
13
- padding: 0px;
14
- border: 1px solid black;
15
- background-color: white;
16
- overflow: hidden;
17
- z-index: 99999;
18
- }
19
-
20
- .ac_results ul {width: 100%;list-style-position: outside;list-style: none;padding: 0;margin: 0;}
21
-
22
- .ac_results li {
23
- margin: 0px;
24
- padding: 2px 5px;
25
- cursor: default;
26
- display: block;
27
- /*
28
- if width will be 100% horizontal scrollbar will apear
29
- when scroll mode will be used
30
- */
31
- /*width: 100%;*/
32
- font: menu;
33
- font-size: 12px;
34
- /*
35
- it is very important, if line-height not setted or setted
36
- in relative units scroll will be broken in firefox
37
- */
38
- line-height: 16px;
39
- overflow: hidden;
40
- color:#004D83;
41
- }
42
-
43
- /*.ac_results li strong {color:#4490BC;}
44
- */
45
- .ac_loading {
46
- background: white image-url('admin/ajaxloader2.gif') right center no-repeat;
47
- }
48
-
49
- .ac_odd {
50
- background-color: #eee;
51
- }
52
-
53
- .ac_over {
54
- background-color: #4490BC;
55
- color: #fff !important;
56
- }
57
-
58
- .ac_results2 {min-width:333px; max-width:600px; width:auto !important;}
59
-
60
- table.lang {
61
- td {text-align:right;}
62
- a.selected {color:#000;}
63
- }
64
-
65
- #main #page-header {
66
- h1.partner {font-size:22px; line-height:22px; font-weight:normal; float:none;}
67
- p.partner {color:#777; float:none; }
68
- a.partner-lnk { font-size:12px; color:#0047B3; line-height:12px; }
69
- }
70
-
71
- .edit-box {
72
- float:right; margin-left:-100%;
73
- a.red {color:#f00;}
74
- }
75
-
76
- .full #page_sidebar {display:none;}
77
-
78
- .order-list {list-style-position: inside}
79
-
80
- .tbl {
81
- border-collapse:collapse; width:100%;
82
- .for_img {width:1px; text-align:left; padding-right:5px; border-bottom:3px solid #EDEDED; vertical-align:bottom; }
83
- tr.bot {
84
- th, td {border-bottom-width:3px;}
85
- th {vertical-align:top;}
86
- }
87
- th, td {vertical-align:middle;}
88
- th {padding:5px 10px 5px 5px; width:1%;}
89
- td {width:auto; padding-top:4px; }
90
- td.handle { width:25px; text-align:left; vertical-align:middle;}
91
- th.handle {width:auto;}
92
- td.handle img {display:block;}
93
- th {width:auto;}
94
- td.last {text-align:right; width:1px;}
95
- }
96
-
97
- .tusers {
98
- tr:hover td {background:#ffc; cursor:pointer;}
99
- .plast { width:1px; text-align:left; padding-left:10px; padding-right:10px; border-left:1px solid #ededed;}
100
- }
101
-
102
- .tmenu {
103
- .i2 {width:40%;}
104
- }
105
-
106
- .article {
107
- clear:both; overflow:hidden; margin-bottom:10px;
108
- p.delete-link {clear:both;}
109
- }
110
-
111
- #showcases {
112
- .red {color:#f00;}
113
- .green {color:green;}
114
- }
115
-
116
- #sales_sortable {
117
- td,th {vertical-align:middle;}
118
- }
119
- #sale_product_ids {
120
- optgroup option {
121
- margin-left:17px;
122
- &.red {
123
- background:red !important; color:#fff !important;
124
- &:after {content:"*"};
125
- }
126
- }
127
- }
128
-
129
- .vam {vertical-align:middle !important;}
130
- .vab {vertical-align:bottom !important;}
131
-
@@ -1,35 +0,0 @@
1
- input[type=submit]
2
- cursor: pointer
3
- padding: 3px 17px
4
- font-family: Helvetica, Arial, sans-serif
5
- font-weight: bold
6
- color: #444
7
- background: image-url("admin/submit.png") repeat-x 0 50%
8
- background: linear-gradient(to bottom, #f2f2f2 0%, #ebebeb 50%, #dddddd 51%, #cfcfcf 100%)
9
- border: 1px solid #707070
10
- border-radius: 2px
11
- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.85)
12
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), 1px 1px 0 #fff inset, -1px -1px 0 #fff inset
13
-
14
- &[value=Сохранить],
15
- &[value=Применить]
16
- padding-left: 37px
17
- &[value=Сохранить]
18
- background: image-url("admin/arrow_enter.png") 4px -102px no-repeat, linear-gradient(to bottom, #f2f2f2 0%, #ebebeb 50%, #dddddd 51%, #cfcfcf 100%) 0 0
19
- &:hover
20
- background: image-url("admin/arrow_enter.png") 4px -1px no-repeat, linear-gradient(to bottom, #eaf6fd 0%, #d9f0fc 50%, #bee6fd 51%, #a7d9f5 100%) 0 0
21
- &[value=Применить]
22
- background: image-url("admin/arrow_down.png") 4px -102px no-repeat, linear-gradient(to bottom, #f2f2f2 0%, #ebebeb 50%, #dddddd 51%, #cfcfcf 100%) 0 0
23
- &:hover
24
- background: image-url("admin/arrow_down.png") 4px -1px no-repeat, linear-gradient(to bottom, #eaf6fd 0%, #d9f0fc 50%, #bee6fd 51%, #a7d9f5 100%) 0 0
25
- &[value=Далее]
26
- padding-right: 37px
27
- background: image-url("admin/arrow_right.png") right -100px no-repeat, linear-gradient(to bottom, #f2f2f2 0%, #ebebeb 50%, #dddddd 51%, #cfcfcf 100%) 0 0
28
- &:hover
29
- background: image-url("admin/arrow_right.png") right 2px no-repeat, linear-gradient(to bottom, #eaf6fd 0%, #d9f0fc 50%, #bee6fd 51%, #a7d9f5 100%) 0 0
30
- &:hover
31
- background-image:image-url("admin/submit_hover.png")
32
- background: linear-gradient(to bottom, #eaf6fd 0%, #d9f0fc 50%, #bee6fd 51%, #a7d9f5 100%)
33
- border-color: #3c7fb1
34
- box-shadow: 0 1px 6px rgb(44, 146, 193)
35
- color: #025984
@@ -1,33 +0,0 @@
1
- *
2
- margin: 0
3
- padding: 0
4
-
5
- th
6
- text-align: left
7
-
8
- a
9
- color: #0047B3
10
- &:hover
11
- text-decoration:none
12
-
13
- html,
14
- body
15
- width: 100%
16
- height: 100%
17
-
18
- body
19
- min-width: 1000px
20
- overflow-y: scroll
21
- background-color: #F3F1EC
22
- text-align: left
23
- font: 12px "Lucida Grande", "Lucida Sans Unicode", helvetica, arial, verdana, sans-serif
24
-
25
- label
26
- font-size: 14px
27
- font-weight: bold
28
- textarea
29
- width: 100%
30
- min-width: 275px
31
- font-size: 12px
32
- input
33
- font-size: 18px
@@ -1,24 +0,0 @@
1
- table {
2
- border-collapse:collapse; width:100%;
3
- thead {
4
- th, td {padding-top:0; padding-bottom:0; }
5
- }
6
- th, td {vertical-align:baseline; padding: 4px 0; border-bottom: 1px solid #EDEDED;}
7
- th {
8
- border-bottom: 1px solid #EDEDED; width:1px; padding-right:10px;
9
- label {white-space:nowrap;}
10
- }
11
- td {
12
- padding-left:2px;
13
- a { color: #999; text-decoration: none; font-size: 11px; }
14
- input[type=text], input[type=password], textarea {
15
- border-radius:1px;
16
- width:100%; margin-left:-2px; border:1px solid #000; border-color:#abadb3 #dbdfe6 #e3e9ef #e2e3ea;
17
- &:hover {border-color:#5794bf #b7d5ea #c7e2f1 #c5daed;}
18
- }
19
- textarea.mini {height:60px; resize:none;}
20
- input[type=password] {width:auto;}
21
- select {margin-left:-2px;}
22
- .imp_redactor_box {margin-left:-2px;}
23
- }
24
- }
@@ -1,6 +0,0 @@
1
- //= require admin/defaults
2
- //= require_directory ./layouts
3
- //= require_directory ./blocks
4
- //= require redactor
5
- //= require admin/lightbox/css/jquery.lightbox-0.5
6
- //= require admin/custom
@@ -1,50 +0,0 @@
1
- .header
2
- padding: 0 30px
3
- color: #fff
4
- line-height: 23px
5
- text-decoration: none
6
- margin-bottom: 20px
7
- box-shadow: #666 0 0 3px
8
- background-color: #005782
9
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1A719C', endColorstr='#005782')
10
- background: linear-gradient(to bottom, #1A719C 0%, #005782 100%)
11
-
12
- .header__init
13
- box-sizing: border-box
14
- max-width: 1200px
15
- min-width: 580px
16
- padding: 6px 0 6px (185px + 31px)
17
- margin: 0 auto
18
- overflow: hidden
19
- position: relative
20
-
21
- .header__logo
22
- position: absolute
23
- width: 123px
24
- height: 31px
25
- left: 0
26
- top: 0
27
- bottom: 0
28
- margin: auto
29
- overflow: hidden
30
- background: image-url('admin/logo.png') no-repeat 0 0
31
- text-indent: -9999px
32
- display: block
33
-
34
- .header__center
35
- overflow: hidden
36
- float: left
37
- font-size: (14em/12)
38
- a
39
- color: #fff
40
-
41
- .header__links
42
- float: right
43
- margin-right: 1px
44
- a
45
- margin-left: (8em/12)
46
- color: #fff
47
- font-size: (10em/12)
48
- text-decoration: none
49
- line-height: 46px
50
-
@@ -1,23 +0,0 @@
1
- .launchbar
2
- background: #000
3
- overflow: hidden
4
- font-size: (14em/12)
5
-
6
- .launchbar__menu
7
- padding: 0 25px
8
-
9
- .launchbar__link
10
- float: left
11
- margin-right: 4px
12
- padding: 5px 7px 6px 4px
13
- color: #999
14
- border-right: 1px solid #222
15
- text-decoration: none
16
- &._active
17
- color: #ddd
18
- font-weight: bold
19
-
20
- .launchbar__time
21
- float: right
22
- color: #fff
23
- padding: 5px 4px 6px
@@ -1,38 +0,0 @@
1
- .main
2
- box-shadow: 0 0 3px #ccc
3
- border-radius: 6px
4
- border: 1px solid #D7D7D7
5
- min-height: 500px
6
- background-color: #fff
7
- padding: 0
8
- border-bottom: 1px solid #DADEE5
9
- margin: 0
10
-
11
- .wrapper
12
- box-sizing: border-box
13
- padding: 0 30px 30px 215px
14
- max-width: 1260px
15
- min-width: 800px
16
- margin: 0 auto
17
- &:after
18
- content: ''
19
- display: table
20
- clear: both
21
-
22
- .sidebar
23
- margin-left: -215px
24
-
25
- .main
26
- margin-left: -185px
27
- .sidebar + &
28
- float: left
29
- width: 100%
30
- margin-left: 0
31
-
32
- .content
33
- padding: 30px
34
- .page._sidebar &
35
- margin-right: 305px
36
-
37
- // .sidebar .page-sidebar
38
- // float: right
@@ -1,22 +0,0 @@
1
- .page-header
2
- background: #F1F5F9
3
- border-bottom: 1px solid #DADEE5
4
- padding: 15px 30px
5
- margin: 0
6
- border-top-right-radius: 5px
7
- border-top-left-radius: 5px
8
- &:after
9
- content: ''
10
- display: table
11
- clear: both
12
- h1
13
- font-size: 16px
14
- float: left
15
- font-weight: normal
16
- p
17
- margin: 0
18
- font-size: 11px
19
- float: right
20
- line-height: 1.8em
21
- a
22
- color: #0047B3
@@ -1,24 +0,0 @@
1
- .page-sidebar
2
- float: right
3
- margin: 0 30px 0 0
4
- padding: 30px 0 0 30px
5
- width: 245px
6
- border-left: 1px solid #efefef
7
- .page._full &
8
- display: none
9
- ul.photos
10
- list-style-type: none
11
- li
12
- display: inline
13
-
14
- h5
15
- line-height: 1.0em
16
- padding: 0 0 3px 0
17
- font-size: 12px
18
- text-transform: none
19
- border-bottom: 1px solid #efefef
20
- color: #222
21
- font-weight: bold
22
-
23
- p
24
- font-size: 12px
@@ -1,11 +0,0 @@
1
- - case controller_name
2
- - when 'products' then @active = :shop
3
- - when 'articles' then @active = :materials
4
- - when 'users', 'managers' then @active = :system
5
-
6
- .launchbar
7
- %nav.launchbar__menu
8
- = link_to 'Материалы', nil, class: ['launchbar__link', ('_active' if @active == :shop)]
9
- = link_to 'Обратная связь', nil, class: ['launchbar__link', ('_active' if @active == :materials)]
10
- = link_to 'Система', [:admin, :managers], class: ['launchbar__link', ('_active' if @active == :system)]
11
- %span.launchbar__time= Russian.strftime(Time.now, '%d %b, %Y %H:%M ')
@@ -1,14 +0,0 @@
1
- %nav.sidebar
2
- - case @active
3
- - when :shop
4
- = link_to 'Товары', [:admin, :products], class: 'sidebar__link'
5
- - when :materials
6
- = link_to 'Статьи', [:admin, :articles], class: 'sidebar__link'
7
- - when :system
8
- = link_to 'Администраторы', [:admin, :managers], class: 'sidebar__link'
9
- = link_to 'Пользователи', [:admin, :users], class: 'sidebar__link'
10
- - else
11
- = link_to 'Демо active', nil, class: ['sidebar__link', '_active']
12
- = link_to nil, class: ['sidebar__link'] do
13
- Демо
14
- %span.sidebar__badge 2
@@ -1,28 +0,0 @@
1
- class Admin::BaseController < ActionController::Base
2
- layout 'admin'
3
- before_filter :authenticate_manager!
4
- include AdminHelper
5
-
6
- def welcome
7
- end
8
-
9
- private
10
-
11
- def redirect_or_edit(obj, saved, notice = nil)
12
- if saved
13
- redirect_to url_for_obj(obj), notice: notice_for(obj, notice)
14
- else
15
- render 'edit'
16
- end
17
- end
18
-
19
- def notice_for(obj, notice = nil)
20
- notice ||= 'сохранен'
21
- "#{obj.class.model_name.human} #{notice}."
22
- end
23
-
24
- def url_for_obj(obj)
25
- return [:edit, :admin, obj] if params[:commit] == 'Применить'
26
- [:admin, obj.class.model_name.plural.to_sym]
27
- end
28
- end
@@ -1,63 +0,0 @@
1
- class ReddeFormBuilder < ActionView::Helpers::FormBuilder
2
- delegate :content_tag, :tag, :raw, :link_to, :t, :render, :params, to: :@template
3
-
4
- def error_messages
5
- render 'validate', { f: self }
6
- end
7
-
8
- def inline_check_box(name, *args)
9
- content_tag :tr do
10
- content_tag :th, colspan: 2 do
11
- check_box(name, *args) + ' ' + label(name) + '?'
12
- end
13
- end
14
- end
15
-
16
- def inline_text_field(name, *args)
17
- inline_field name, text_field(name, *args)
18
- end
19
-
20
- def inline_email_field(name, *args)
21
- inline_field name, email_field(name, *args)
22
- end
23
-
24
- def inline_text_area(name, *args)
25
- content_tag :tr do
26
- content_tag :td, smart_label(name) + text_area(name, *args), colspan: 2
27
- end
28
- end
29
-
30
- def select_or_create(name, valuesarray)
31
- inline_field name, hidden_field(name, class: 'select_or_create', data: {valuesarray: valuesarray, placeholder: 'выберите или введите новое значение'})
32
- end
33
-
34
- def redde_select(name, opts, *args)
35
- inline_field name, select(name, opts, *args)
36
- end
37
-
38
- def inline_submit
39
- content_tag :div, class: 'actions' do
40
- submit('Сохранить') + submit('Применить')
41
- end
42
- end
43
-
44
- private
45
-
46
- def inline_field(name, some_field)
47
- content_tag :tr do
48
- inline_label(name) + content_tag(:td, some_field)
49
- end
50
- end
51
-
52
- def inline_label(name)
53
- content_tag :th, smart_label(name)
54
- end
55
-
56
- def smart_label(name)
57
- label(name, nil, class: ['', ('_required' if required_field?(name))])
58
- end
59
-
60
- def required_field?(name)
61
- object.class.validators_on(name).any? { |v| v.kind_of? ActiveModel::Validations::PresenceValidator }
62
- end
63
- end
@@ -1,94 +0,0 @@
1
- # coding: utf-8
2
- module AdminHelper
3
- def act_menu(cond)
4
- cond ? 'active' : nil
5
- end
6
-
7
- def sortable(url)
8
- html = %Q{
9
- <script type="text/javascript">
10
- $(document).ready(function() {
11
- $("table.sortable").each(function(){
12
- var self = $(this);
13
- self.sortable({
14
- dropOnEmpty: false,
15
- cursor: 'crosshair',
16
- opacity: 0.75,
17
- handle: '.handle',
18
- axis: 'y',
19
- items: 'tr',
20
- scroll: true,
21
- update: function() {
22
- $.ajax({
23
- type: 'post',
24
- data: self.sortable('serialize') + '&authenticity_token=#{u(form_authenticity_token)}',
25
- dataType: 'script',
26
- url: '#{url}'
27
- })
28
- }
29
- });
30
- });
31
- });
32
- </script>
33
- }.gsub(/[\n ]+/, ' ').strip.html_safe
34
- content_for(:js, html)
35
- end
36
-
37
- def show_tree(c)
38
- link = link_to c.name, [:edit, :admin, c]
39
- edit = link_to 'Удал', [:admin, c], data: { confirm: 'Точно удалить?' },
40
- method: :delete, class: 'del'
41
- html = content_tag(:div, link + content_tag(:p, edit))
42
- if c.children.any?
43
- html << content_tag(:ol) do
44
- raw c.children.map { |ch| show_tree(ch) }.join('')
45
- end
46
- end
47
- content_tag :li, raw(html), id: "list_#{c.id}"
48
- end
49
-
50
- def sort_tree(url, maxLevels = 2)
51
- %Q{
52
- <script type="text/javascript">
53
- $(document).ready(function(){
54
-
55
- $('ol.sortable').nestedSortable({
56
- disableNesting: 'no-nest',
57
- forcePlaceholderSize: true,
58
- handle: 'div',
59
- helper: 'clone',
60
- items: 'li',
61
- maxLevels: #{maxLevels},
62
- opacity: .6,
63
- placeholder: 'placeholder',
64
- revert: 250,
65
- rootID: 'root',
66
- tabSize: 25,
67
- tolerance: 'pointer',
68
- toleranceElement: '> div',
69
- update: function(){
70
- var serialized = $(this).nestedSortable('serialize');
71
- $.ajax({
72
- method: 'POST',
73
- url: '#{url}',
74
- data: serialized
75
- });
76
- }
77
- });
78
- });
79
- </script>
80
- }.gsub(/[\n ]+/, ' ').strip.html_safe
81
- end
82
-
83
- def tsingular(model)
84
- model.model_name.human
85
- end
86
-
87
- def taccusative(model_name)
88
- t("activerecord.models.#{model_name}.acc")
89
- end
90
-
91
- def tplural(model)
92
- model.model_name.human(count: 'other')
93
- end
94
- end
@@ -1,35 +0,0 @@
1
- require 'rails/generators'
2
- require 'rails/generators/generated_attribute'
3
-
4
- module Redde
5
- module Generators
6
- class PhotoGenerator < ::Rails::Generators::Base
7
- include Rails::Generators::Migration
8
- source_root File.expand_path('../templates', __FILE__)
9
-
10
- def self.next_migration_number(_path)
11
- Time.now.utc.strftime('%Y%m%d%H%M%S')
12
- end
13
-
14
- def copy_controller
15
- template 'controller.rb', 'app/controllers/admin/photos_controller.rb'
16
- end
17
-
18
- def copy_views
19
- directory 'photos', 'app/views/admin/photos'
20
- end
21
-
22
- def copy_model
23
- template 'photo.rb', 'app/models/photo.rb'
24
- end
25
-
26
- def copy_uploader
27
- template 'uploader.rb', 'app/uploaders/photo_uploader.rb'
28
- end
29
-
30
- def copy_migration
31
- migration_template 'create_photos.rb', 'db/migrate/create_photos.rb'
32
- end
33
- end
34
- end
35
- end
@@ -1,20 +0,0 @@
1
- class Admin::PhotosController < ActionController::Base
2
- def sort
3
- params[:photo].each_with_index do |id, idx|
4
- p = Photo.find(id)
5
- p.update(position: idx)
6
- end
7
- render nothing: true
8
- end
9
-
10
- def create
11
- parent = Product.find(params[:product_id]) if params[:product_id].present?
12
- @photo = parent.photos.build(src: params[:file])
13
- render js: 'alert("Ошибка! Фото не загружено")' unless @photo.save
14
- end
15
-
16
- def destroy
17
- @photo = Photo.find(params[:id])
18
- render 'admin/photos/destroy' if @photo.destroy
19
- end
20
- end
@@ -1,16 +0,0 @@
1
- class CreatePhotos < ActiveRecord::Migration
2
- def change
3
- create_table :photos do |t|
4
- t.integer :imageable_id
5
- t.string :imageable_type
6
- t.integer :position
7
- t.string :src
8
- t.string :token
9
-
10
- t.timestamps
11
- end
12
- add_index :photos, :imageable_id
13
- add_index :photos, :imageable_type
14
- add_index :photos, :token
15
- end
16
- end
@@ -1,4 +0,0 @@
1
- class Photo < ActiveRecord::Base
2
- include Redde::Photoable
3
- mount_uploader :src, PhotoUploader
4
- end