ab_admin 0.3.6 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (419) hide show
  1. checksums.yaml +7 -0
  2. data/{LICENSE.txt → MIT-LICENSE} +2 -4
  3. data/README.md +3 -3
  4. data/Rakefile +21 -3
  5. data/app/assets/images/admin/flags/b_de.png +0 -0
  6. data/app/assets/images/admin/flags/b_es.png +0 -0
  7. data/app/assets/images/admin/flags/b_fr.png +0 -0
  8. data/app/assets/images/admin/flags/flag_de.gif +0 -0
  9. data/app/assets/images/admin/flags/flag_de_nonact.gif +0 -0
  10. data/app/assets/images/admin/flags/flag_es.gif +0 -0
  11. data/app/assets/images/admin/flags/flag_es_nonact.gif +0 -0
  12. data/app/assets/images/admin/flags/flag_fr.gif +0 -0
  13. data/app/assets/images/admin/flags/flag_fr_nonact.gif +0 -0
  14. data/app/assets/javascripts/ab_admin/components/admin_assets.js.coffee +50 -60
  15. data/app/assets/javascripts/ab_admin/components/base_assets.js.coffee +86 -0
  16. data/app/assets/javascripts/ab_admin/components/croppable_image.js.coffee +4 -4
  17. data/app/assets/javascripts/ab_admin/components/gmaps.js.coffee +5 -0
  18. data/app/assets/javascripts/ab_admin/components/google_translate.js.coffee +0 -1
  19. data/app/assets/javascripts/ab_admin/components/in_place_edit.js.coffee +7 -3
  20. data/app/assets/javascripts/ab_admin/components/locator.js.coffee +1 -1
  21. data/app/assets/javascripts/ab_admin/components/select2_bridge.js.coffee +152 -0
  22. data/app/assets/javascripts/ab_admin/components/sortable_tree.js.coffee +1 -1
  23. data/app/assets/javascripts/ab_admin/core/batch_actions.js.coffee +5 -4
  24. data/app/assets/javascripts/ab_admin/core/columns_hider.js.coffee +4 -11
  25. data/app/assets/javascripts/ab_admin/core/confirmation.js.coffee +4 -43
  26. data/app/assets/javascripts/ab_admin/core/deprecated_utils.js.coffee +44 -0
  27. data/app/assets/javascripts/ab_admin/core/init.js.coffee +8 -25
  28. data/app/assets/javascripts/ab_admin/core/pjax.js.coffee +18 -4
  29. data/app/assets/javascripts/ab_admin/core/search_form.js.coffee +5 -5
  30. data/app/assets/javascripts/ab_admin/core/ui_utils.js.coffee +15 -86
  31. data/app/assets/javascripts/ab_admin/core/utils.js.coffee +38 -51
  32. data/app/assets/javascripts/ab_admin/core/view_layout.js.coffee +1 -1
  33. data/app/assets/javascripts/ab_admin/inputs/datetime_input.js.coffee +16 -18
  34. data/app/assets/javascripts/ab_admin/main.js +7 -7
  35. data/app/assets/stylesheets/ab_admin/bootstrap_and_overrides.css.scss +21 -8
  36. data/app/assets/stylesheets/ab_admin/components/_admin_comments.css.scss +17 -5
  37. data/app/assets/stylesheets/ab_admin/components/_base.css.scss +4 -0
  38. data/app/assets/stylesheets/ab_admin/components/_colored_tabs.css.scss +1 -4
  39. data/app/assets/stylesheets/ab_admin/components/_columns_hider.css.scss +5 -0
  40. data/app/assets/stylesheets/ab_admin/components/_form.css.scss +45 -16
  41. data/app/assets/stylesheets/ab_admin/components/_grid_view.css.scss +11 -0
  42. data/app/assets/stylesheets/ab_admin/components/_locale_tabs.css.scss +1 -1
  43. data/app/assets/stylesheets/ab_admin/components/_navigation.css.scss +11 -9
  44. data/app/assets/stylesheets/ab_admin/components/_table_view.css.scss +1 -1
  45. data/app/assets/stylesheets/ab_admin/components/_translations.css.scss +1 -0
  46. data/app/assets/stylesheets/ab_admin/components/{_sortable_tree.css.scss → _tree_view.css.scss} +8 -3
  47. data/app/assets/stylesheets/ab_admin/fileupload.css.scss +51 -43
  48. data/app/assets/stylesheets/ab_admin/main.css.scss +1 -3
  49. data/app/controllers/admin/admin_comments_controller.rb +14 -4
  50. data/app/controllers/admin/assets_controller.rb +44 -35
  51. data/app/controllers/admin/base_controller.rb +93 -38
  52. data/app/controllers/admin/locators_controller.rb +3 -2
  53. data/app/controllers/admin/manager_controller.rb +20 -9
  54. data/app/controllers/admin/structures_controller.rb +9 -1
  55. data/app/controllers/admin/users_controller.rb +1 -2
  56. data/app/views/ab_admin/devise/sessions/new.html.slim +1 -1
  57. data/app/views/admin/admin_comments/_comment.html.slim +21 -7
  58. data/app/views/admin/admin_comments/_comments.html.slim +1 -1
  59. data/app/views/admin/admin_comments/_form.html.slim +8 -3
  60. data/app/views/admin/admin_comments/_list_block.html.slim +7 -0
  61. data/app/views/admin/admin_comments/create.js.erb +3 -2
  62. data/app/views/admin/admin_comments/destroy.js.erb +1 -1
  63. data/app/views/admin/admin_comments/index.js.erb +14 -0
  64. data/app/views/admin/assets/batch_edit.html.slim +14 -0
  65. data/app/views/admin/base/_modal_form_layout.html.slim +12 -0
  66. data/app/views/admin/base/_search_layout.html.slim +4 -3
  67. data/app/views/admin/base/_table.html.slim +2 -2
  68. data/app/views/admin/base/create.js.erb +13 -8
  69. data/app/views/admin/base/history.html.slim +18 -0
  70. data/app/views/admin/base/index.html.slim +3 -3
  71. data/app/views/admin/base/new.js.erb +14 -8
  72. data/app/views/admin/base/show.html.slim +1 -2
  73. data/app/views/admin/base/show.js.erb +7 -0
  74. data/app/views/admin/fileupload/_asset_templates.html.slim +29 -0
  75. data/app/views/admin/fileupload/_container.html.slim +13 -12
  76. data/app/views/admin/fileupload/_file.html.slim +2 -2
  77. data/app/views/admin/fileupload/_image.html.slim +8 -0
  78. data/app/views/admin/fileupload/_video.html.slim +2 -2
  79. data/app/views/admin/headers/_form.html.slim +2 -0
  80. data/app/views/admin/locators/edit.html.slim +1 -1
  81. data/app/views/admin/locators/show.html.slim +1 -2
  82. data/app/views/admin/manager/_form.html.slim +17 -3
  83. data/app/views/admin/manager/_modal_form.html.slim +19 -0
  84. data/app/views/admin/manager/_table.html.slim +3 -3
  85. data/app/views/admin/manager/show.html.slim +1 -0
  86. data/app/views/admin/shared/_content_actions.html.slim +39 -0
  87. data/app/views/admin/shared/_locale_tabs.html.slim +3 -3
  88. data/app/views/admin/shared/inputs/_checkbox_tree.html.slim +9 -3
  89. data/app/views/admin/structures/_form.html.slim +4 -7
  90. data/app/views/admin/users/_form.html.slim +2 -4
  91. data/app/views/admin/users/_search_form.html.slim +0 -1
  92. data/app/views/admin/users/_table.html.slim +8 -10
  93. data/app/views/layouts/admin/_footer.html.slim +3 -4
  94. data/app/views/layouts/admin/_navigation.html.slim +2 -2
  95. data/app/views/layouts/admin/application.html.slim +7 -9
  96. data/app/views/layouts/admin/devise.html.slim +3 -4
  97. data/config/locales/de.yml +319 -0
  98. data/config/locales/en.devise.yml +44 -31
  99. data/config/locales/en.yml +166 -143
  100. data/config/locales/it.devise.yml +54 -41
  101. data/config/locales/it.yml +178 -163
  102. data/config/locales/ru.devise.yml +70 -56
  103. data/config/locales/ru.yml +280 -264
  104. data/config/routes.rb +6 -3
  105. data/db/migrate/20130101000001_create_users.rb +7 -11
  106. data/db/migrate/20130101000003_create_assets.rb +5 -5
  107. data/db/migrate/20130101000004_create_headers.rb +2 -6
  108. data/db/migrate/20130101000005_create_static_pages.rb +1 -5
  109. data/db/migrate/20130101000006_create_structures.rb +5 -9
  110. data/db/migrate/20130101000007_base_translations.rb +3 -1
  111. data/db/migrate/20130101000008_create_admin_comments.rb +5 -5
  112. data/db/migrate/20130101000009_create_tracks.rb +20 -0
  113. data/lib/ab_admin.rb +36 -4
  114. data/lib/ab_admin/abstract_resource.rb +28 -7
  115. data/lib/ab_admin/carrierwave/base_uploader.rb +85 -5
  116. data/lib/ab_admin/carrierwave/glue.rb +6 -1
  117. data/lib/ab_admin/concerns/admin_addition.rb +26 -9
  118. data/lib/ab_admin/concerns/asset_human_names.rb +23 -0
  119. data/lib/ab_admin/concerns/fileuploads.rb +102 -0
  120. data/lib/ab_admin/concerns/has_tracking.rb +32 -0
  121. data/lib/ab_admin/concerns/nested_set.rb +9 -9
  122. data/lib/ab_admin/concerns/silencer.rb +5 -5
  123. data/lib/ab_admin/concerns/utilities.rb +28 -16
  124. data/lib/ab_admin/concerns/validations.rb +1 -1
  125. data/lib/ab_admin/config/base.rb +10 -2
  126. data/lib/ab_admin/controllers/callbacks.rb +2 -2
  127. data/lib/ab_admin/controllers/can_can_manager_resource.rb +3 -2
  128. data/lib/ab_admin/controllers/fv.rb +16 -0
  129. data/lib/ab_admin/controllers/head_options.rb +6 -4
  130. data/lib/ab_admin/core_ext/hash.rb +25 -70
  131. data/lib/ab_admin/core_ext/string.rb +17 -4
  132. data/lib/ab_admin/engine.rb +2 -8
  133. data/lib/ab_admin/hooks.rb +8 -3
  134. data/lib/ab_admin/hooks/active_model_hooks.rb +1 -1
  135. data/lib/ab_admin/hooks/globalize_hooks.rb +35 -0
  136. data/lib/ab_admin/hooks/paginate_hooks.rb +3 -1
  137. data/lib/ab_admin/i18n_tools/model_translator.rb +1 -1
  138. data/lib/ab_admin/menu/abstract_builder.rb +14 -0
  139. data/lib/ab_admin/menu/base_group.rb +26 -0
  140. data/lib/ab_admin/menu/builder.rb +16 -0
  141. data/lib/ab_admin/menu/group.rb +24 -0
  142. data/lib/ab_admin/menu/item.rb +23 -0
  143. data/lib/ab_admin/models/admin_comment.rb +68 -0
  144. data/lib/ab_admin/models/asset.rb +30 -19
  145. data/lib/ab_admin/models/attachment_file.rb +2 -1
  146. data/lib/ab_admin/models/header.rb +15 -0
  147. data/lib/ab_admin/models/locator.rb +1 -3
  148. data/lib/ab_admin/models/settings.rb +10 -10
  149. data/lib/ab_admin/models/structure.rb +20 -9
  150. data/lib/ab_admin/models/track.rb +61 -0
  151. data/lib/ab_admin/models/type_model.rb +30 -17
  152. data/lib/ab_admin/models/user.rb +18 -49
  153. data/lib/ab_admin/utils.rb +16 -7
  154. data/lib/ab_admin/utils/logger.rb +11 -7
  155. data/lib/ab_admin/utils/mysql.rb +10 -0
  156. data/lib/ab_admin/version.rb +1 -1
  157. data/lib/ab_admin/views/admin_helpers.rb +20 -9
  158. data/lib/ab_admin/views/admin_navigation_helpers.rb +44 -21
  159. data/lib/ab_admin/views/content_only_wrapper.rb +14 -0
  160. data/lib/ab_admin/views/form_builder.rb +27 -89
  161. data/lib/ab_admin/views/helpers.rb +1 -28
  162. data/lib/ab_admin/views/inputs/capture_block_input.rb +16 -0
  163. data/lib/ab_admin/views/inputs/date_time_picker_input.rb +45 -0
  164. data/lib/ab_admin/views/inputs/token_input.rb +2 -1
  165. data/lib/ab_admin/views/inputs/uploader_input.rb +101 -0
  166. data/lib/ab_admin/views/manager_helpers.rb +12 -0
  167. data/lib/ab_admin/views/search_form_builder.rb +36 -13
  168. data/lib/generators/ab_admin/ckeditor_assets/ckeditor_assets_generator.rb +1 -1
  169. data/lib/generators/ab_admin/install/install_generator.rb +3 -2
  170. data/lib/generators/ab_admin/install/templates/config/ab_admin.rb.erb +1 -1
  171. data/lib/generators/ab_admin/install/templates/config/admin_menu.rb +1 -1
  172. data/lib/generators/ab_admin/install/templates/config/i18n-js.yml +1 -1
  173. data/lib/generators/ab_admin/install/templates/config/nginx.conf +22 -9
  174. data/lib/generators/ab_admin/install/templates/config/robots.txt +7 -0
  175. data/lib/generators/ab_admin/install/templates/config/seeds.rb +2 -1
  176. data/lib/generators/ab_admin/install/templates/models/ability.rb +2 -7
  177. data/lib/generators/ab_admin/install/templates/models/admin_comment.rb +3 -28
  178. data/lib/generators/ab_admin/install/templates/models/asset.rb +4 -2
  179. data/lib/generators/ab_admin/install/templates/models/attachment_file.rb +1 -1
  180. data/lib/generators/ab_admin/install/templates/models/avatar.rb +2 -2
  181. data/lib/generators/ab_admin/install/templates/models/gender_type.rb +1 -1
  182. data/lib/generators/ab_admin/install/templates/models/header.rb +2 -2
  183. data/lib/generators/ab_admin/install/templates/models/locator.rb +0 -1
  184. data/lib/generators/ab_admin/install/templates/models/picture.rb +1 -1
  185. data/lib/generators/ab_admin/install/templates/models/settings.rb +1 -1
  186. data/lib/generators/ab_admin/install/templates/models/structure.rb +6 -8
  187. data/lib/generators/ab_admin/install/templates/models/track.rb +5 -0
  188. data/lib/generators/ab_admin/install/templates/models/user.rb +2 -3
  189. data/lib/generators/ab_admin/install/templates/script/unicorn.sh +0 -2
  190. data/lib/generators/ab_admin/install/templates/spec/factories/user_factory.rb +1 -2
  191. data/lib/generators/ab_admin/install/templates/uploaders/attachment_file_uploader.rb +1 -1
  192. data/lib/generators/ab_admin/install/templates/uploaders/avatar_uploader.rb +1 -1
  193. data/lib/generators/ab_admin/install/templates/uploaders/picture_uploader.rb +1 -1
  194. data/lib/generators/ab_admin/model/templates/resource.erb +1 -1
  195. data/lib/generators/ab_admin/resource/templates/_form.slim.erb +49 -45
  196. data/lib/generators/ab_admin/resource/templates/_table.slim.erb +1 -1
  197. data/lib/generators/template.rb +32 -56
  198. data/lib/tasks/assets.rake +1 -0
  199. metadata +197 -698
  200. data/.gitignore +0 -41
  201. data/Gemfile +0 -77
  202. data/Guardfile +0 -35
  203. data/TODO +0 -4
  204. data/ab_admin.gemspec +0 -59
  205. data/app/views/admin/fileupload/_asset.html.slim +0 -8
  206. data/app/views/admin/fileupload/_ftmpl.html.slim +0 -6
  207. data/app/views/admin/fileupload/_tmpl.html.slim +0 -9
  208. data/app/views/admin/fileupload/_vtmpl.html.slim +0 -10
  209. data/app/views/admin/shared/_batch_actions.html.slim +0 -27
  210. data/cucumber.yml +0 -10
  211. data/features/dsl/action_items.feature +0 -79
  212. data/features/dsl/admin_comments.feature +0 -30
  213. data/features/dsl/batch_actions.feature +0 -69
  214. data/features/dsl/config.feature +0 -44
  215. data/features/dsl/custom_actions.feature +0 -62
  216. data/features/dsl/export.feature +0 -42
  217. data/features/dsl/form.feature +0 -77
  218. data/features/dsl/in_place_edit.feature +0 -26
  219. data/features/dsl/list_edit.feature +0 -46
  220. data/features/dsl/parent_resource.feature +0 -18
  221. data/features/dsl/resource_action_items.feature +0 -40
  222. data/features/dsl/search.feature +0 -41
  223. data/features/dsl/show.feature +0 -37
  224. data/features/dsl/table.feature +0 -71
  225. data/features/dsl/tree.feature +0 -37
  226. data/features/index_views/table.feature +0 -20
  227. data/features/locators.feature +0 -40
  228. data/features/menu.feature +0 -35
  229. data/features/settings.feature +0 -36
  230. data/features/step_definitions/configuration_steps.rb +0 -94
  231. data/features/step_definitions/dsl/action_items_steps.rb +0 -13
  232. data/features/step_definitions/dsl/admin_comments_steps.rb +0 -12
  233. data/features/step_definitions/dsl/batch_actions_steps.rb +0 -27
  234. data/features/step_definitions/dsl/in_place_edit_steps.rb +0 -7
  235. data/features/step_definitions/dsl/parent_resource_steps.rb +0 -8
  236. data/features/step_definitions/dsl/resource_action_items_steps.rb +0 -14
  237. data/features/step_definitions/dsl/show_steps.rb +0 -8
  238. data/features/step_definitions/dsl/table_steps.rb +0 -38
  239. data/features/step_definitions/dsl/tree_steps.rb +0 -28
  240. data/features/step_definitions/menu_steps.rb +0 -20
  241. data/features/step_definitions/settings_steps.rb +0 -7
  242. data/features/step_definitions/structure_steps.rb +0 -7
  243. data/features/step_definitions/table_steps.rb +0 -23
  244. data/features/step_definitions/user_steps.rb +0 -72
  245. data/features/step_definitions/web_steps/browsing_steps.rb +0 -108
  246. data/features/step_definitions/web_steps/debug_steps.rb +0 -6
  247. data/features/step_definitions/web_steps/form_steps.rb +0 -190
  248. data/features/step_definitions/web_steps/i18n_steps.rb +0 -8
  249. data/features/step_definitions/web_steps/step_scoper.rb +0 -9
  250. data/features/step_definitions/web_steps/transforms_steps.rb +0 -3
  251. data/features/structure/tree.feature +0 -21
  252. data/features/support/capybara_helpers.rb +0 -15
  253. data/features/support/carrierwave.rb +0 -21
  254. data/features/support/env.rb +0 -40
  255. data/features/support/paths.rb +0 -55
  256. data/features/support/selector_helpers.rb +0 -9
  257. data/features/support/selectors.rb +0 -43
  258. data/features/support/tolerance_for_selenium_sync_issues.rb +0 -27
  259. data/features/user/sign_in.feature +0 -27
  260. data/features/user/sign_out.feature +0 -11
  261. data/features/user/user_edit.feature +0 -19
  262. data/features/user/user_show.feature +0 -9
  263. data/lib/ab_admin/hooks/quiet_scope_page.rb +0 -16
  264. data/lib/ab_admin/hooks/simple_form_hooks.rb +0 -31
  265. data/lib/ab_admin/menu_builder.rb +0 -89
  266. data/lib/ab_admin/views/inputs/date_time_input.rb +0 -65
  267. data/lib/generators/ab_admin/install/templates/models/user_state.rb +0 -6
  268. data/lib/generators/ab_admin/resource/templates/_form.haml.erb +0 -71
  269. data/lib/generators/ab_admin/resource/templates/_search_form.haml.erb +0 -35
  270. data/lib/generators/ab_admin/resource/templates/_table.haml.erb +0 -33
  271. data/spec/ab_admin_spec.rb +0 -23
  272. data/spec/dummy/Rakefile +0 -7
  273. data/spec/dummy/app/assets/images/rails.png +0 -0
  274. data/spec/dummy/app/assets/javascripts/application.js +0 -15
  275. data/spec/dummy/app/assets/stylesheets/application.css +0 -13
  276. data/spec/dummy/app/controllers/application_controller.rb +0 -3
  277. data/spec/dummy/app/controllers/products_controller.rb +0 -5
  278. data/spec/dummy/app/controllers/welcome_controller.rb +0 -5
  279. data/spec/dummy/app/mailers/.gitkeep +0 -0
  280. data/spec/dummy/app/models/ab_admin/ab_admin_catalogue.rb +0 -5
  281. data/spec/dummy/app/models/ab_admin/ab_admin_collection.rb +0 -35
  282. data/spec/dummy/app/models/ab_admin/ab_admin_product.rb +0 -74
  283. data/spec/dummy/app/models/admin_menu.rb +0 -18
  284. data/spec/dummy/app/models/catalogue.rb +0 -10
  285. data/spec/dummy/app/models/ckeditor/asset.rb +0 -7
  286. data/spec/dummy/app/models/ckeditor/attachment_file.rb +0 -7
  287. data/spec/dummy/app/models/ckeditor/picture.rb +0 -7
  288. data/spec/dummy/app/models/collection.rb +0 -20
  289. data/spec/dummy/app/models/product.rb +0 -32
  290. data/spec/dummy/app/uploaders/ckeditor_attachment_file_uploader.rb +0 -42
  291. data/spec/dummy/app/uploaders/ckeditor_picture_uploader.rb +0 -53
  292. data/spec/dummy/app/views/admin/collections/_form.html.slim +0 -24
  293. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  294. data/spec/dummy/app/views/products/show.html.erb +0 -2
  295. data/spec/dummy/app/views/welcome/index.html.erb +0 -2
  296. data/spec/dummy/config.ru +0 -4
  297. data/spec/dummy/config/application.rb +0 -82
  298. data/spec/dummy/config/boot.rb +0 -10
  299. data/spec/dummy/config/database.yml +0 -26
  300. data/spec/dummy/config/environment.rb +0 -5
  301. data/spec/dummy/config/environments/development.rb +0 -37
  302. data/spec/dummy/config/environments/production.rb +0 -67
  303. data/spec/dummy/config/environments/test.rb +0 -37
  304. data/spec/dummy/config/i18n-js.yml +0 -21
  305. data/spec/dummy/config/initializers/ab_admin.rb +0 -15
  306. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  307. data/spec/dummy/config/initializers/ckeditor.rb +0 -18
  308. data/spec/dummy/config/initializers/devise.rb +0 -232
  309. data/spec/dummy/config/initializers/inflections.rb +0 -15
  310. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  311. data/spec/dummy/config/initializers/secret_token.rb +0 -7
  312. data/spec/dummy/config/initializers/session_store.rb +0 -8
  313. data/spec/dummy/config/initializers/simple_form.rb +0 -142
  314. data/spec/dummy/config/initializers/simple_form_bootstrap.rb +0 -45
  315. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
  316. data/spec/dummy/config/locales/devise.en.yml +0 -60
  317. data/spec/dummy/config/locales/en.yml +0 -5
  318. data/spec/dummy/config/locales/simple_form.en.yml +0 -26
  319. data/spec/dummy/config/routes.rb +0 -14
  320. data/spec/dummy/config/settings/development.local.yml +0 -9
  321. data/spec/dummy/config/settings/development.yml +0 -7
  322. data/spec/dummy/db/migrate/20130129151853_create_ckeditor_assets.rb +0 -26
  323. data/spec/dummy/db/migrate/20130130161853_create_collections.rb +0 -10
  324. data/spec/dummy/db/migrate/20130130162046_create_products.rb +0 -13
  325. data/spec/dummy/db/migrate/20130130175446_create_globalize_collection_product.rb +0 -11
  326. data/spec/dummy/db/migrate/20130207224516_create_catalogues.rb +0 -16
  327. data/spec/dummy/db/migrate/20130209223506_add_lat_lon_zoom_to_products.rb +0 -7
  328. data/spec/dummy/db/seeds.rb +0 -46
  329. data/spec/dummy/lib/assets/.gitkeep +0 -0
  330. data/spec/dummy/lib/capybara_irb.rb +0 -42
  331. data/spec/dummy/lib/tasks/.gitkeep +0 -0
  332. data/spec/dummy/lib/tasks/cucumber.rake +0 -65
  333. data/spec/dummy/lib/templates/slim/scaffold/_form.html.slim +0 -10
  334. data/spec/dummy/log/.gitkeep +0 -0
  335. data/spec/dummy/public/404.html +0 -26
  336. data/spec/dummy/public/422.html +0 -26
  337. data/spec/dummy/public/500.html +0 -25
  338. data/spec/dummy/public/favicon.ico +0 -0
  339. data/spec/dummy/script/cucumber +0 -10
  340. data/spec/dummy/script/rails +0 -6
  341. data/spec/factories/assets.rb +0 -52
  342. data/spec/factories/catalogues.rb +0 -7
  343. data/spec/factories/collections.rb +0 -8
  344. data/spec/factories/files/rails.png +0 -0
  345. data/spec/factories/products.rb +0 -17
  346. data/spec/factories/sequences.rb +0 -7
  347. data/spec/factories/structures.rb +0 -17
  348. data/spec/factories/users.rb +0 -30
  349. data/spec/generators/ckeditor_assets_generator_spec.rb +0 -19
  350. data/spec/generators/install_generator_spec.rb +0 -48
  351. data/spec/generators/model_generator_spec.rb +0 -31
  352. data/spec/generators/resource_generator_spec.rb +0 -36
  353. data/spec/models/ab_admin/abstract_resource_spec.rb +0 -5
  354. data/spec/models/avatar_spec.rb +0 -162
  355. data/spec/models/picture_uploader_spec.rb +0 -49
  356. data/spec/models/structure_spec.rb +0 -69
  357. data/spec/models/user_spec.rb +0 -159
  358. data/spec/shared_behaviors/concerns.rb +0 -20
  359. data/spec/spec_helper.rb +0 -96
  360. data/spec/support/controller_macros.rb +0 -52
  361. data/spec/support/custom_capybara_matchers.rb +0 -58
  362. data/spec/support/mailer_macros.rb +0 -17
  363. data/spec/support/shared_connection.rb +0 -11
  364. data/vendor/assets/images/ab_admin/clear.png +0 -0
  365. data/vendor/assets/images/ab_admin/loading.gif +0 -0
  366. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/core.js +0 -899
  367. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/index.js +0 -2
  368. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.bg.js +0 -14
  369. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.br.js +0 -13
  370. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.cs.js +0 -14
  371. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.da.js +0 -14
  372. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.de.js +0 -14
  373. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.es.js +0 -14
  374. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.fi.js +0 -14
  375. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.fr.js +0 -14
  376. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.id.js +0 -13
  377. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.is.js +0 -14
  378. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.it.js +0 -14
  379. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.ja.js +0 -13
  380. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.kr.js +0 -13
  381. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.lt.js +0 -15
  382. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.lv.js +0 -16
  383. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.ms.js +0 -14
  384. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.nb.js +0 -14
  385. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.nl.js +0 -14
  386. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.pl.js +0 -14
  387. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.js +0 -14
  388. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.pt.js +0 -14
  389. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.ro.js +0 -15
  390. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.ru.js +0 -14
  391. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.sk.js +0 -14
  392. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.sl.js +0 -14
  393. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.sv.js +0 -14
  394. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.th.js +0 -14
  395. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.tr.js +0 -15
  396. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.js +0 -14
  397. data/vendor/assets/javascripts/ab_admin/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.js +0 -13
  398. data/vendor/assets/javascripts/ab_admin/bootstrap-editable-inline.js +0 -2895
  399. data/vendor/assets/javascripts/ab_admin/bootstrap-editable.js +0 -4523
  400. data/vendor/assets/javascripts/ab_admin/bootstrap-tab-multi.js +0 -135
  401. data/vendor/assets/javascripts/ab_admin/bootstrap-timepicker.js +0 -377
  402. data/vendor/assets/javascripts/ab_admin/fileupload/admin-fileuploader.js.coffee +0 -111
  403. data/vendor/assets/javascripts/ab_admin/fileupload/fileuploader.js +0 -1301
  404. data/vendor/assets/javascripts/ab_admin/jquery.Jcrop.js +0 -1083
  405. data/vendor/assets/javascripts/ab_admin/jquery_nested_form.js.coffee +0 -66
  406. data/vendor/assets/javascripts/bootstrap-wysihtml5/locales/ru.js +0 -48
  407. data/vendor/assets/javascripts/handlebars.min.js +0 -1
  408. data/vendor/assets/javascripts/jquery.cookie.js +0 -42
  409. data/vendor/assets/javascripts/jquery.hotkeys.js +0 -106
  410. data/vendor/assets/javascripts/jquery.pjax.js +0 -688
  411. data/vendor/assets/javascripts/jquery.tmpl.min.js +0 -10
  412. data/vendor/assets/javascripts/jquery.ui.nestedSortable.js +0 -356
  413. data/vendor/assets/javascripts/jquery/jquery-ui.min.js +0 -15
  414. data/vendor/assets/javascripts/jquery/jquery.min.js +0 -4
  415. data/vendor/assets/javascripts/underscore.min.js +0 -5
  416. data/vendor/assets/stylesheets/ab_admin/bootstrap-datepicker.css.scss +0 -274
  417. data/vendor/assets/stylesheets/ab_admin/bootstrap-editable.scss +0 -461
  418. data/vendor/assets/stylesheets/ab_admin/bootstrap-timepicker.css.scss +0 -88
  419. data/vendor/assets/stylesheets/ab_admin/jquery.Jcrop.min.css.scss +0 -28
@@ -1,8 +0,0 @@
1
- Given /^i18n key "(.*?)" with value "(.*?)"$/ do |keys, value|
2
- data = {}.store_multi(value, *keys.split('.'))
3
- I18n.backend.store_translations(I18n.locale, data)
4
- end
5
-
6
- When /^i18n key "(.*?)" should have "(.*?)" value$/ do |key, value|
7
- I18n.t(key).should == value
8
- end
@@ -1,9 +0,0 @@
1
- # Single-line step scoper
2
- When /^(.*) within ([^:]+)$/ do |step_def, parent|
3
- with_scope(parent) { step step_def }
4
- end
5
-
6
- # Multi-line step scoper
7
- When /^(.*) within ([^:]+):$/ do |step_def, parent, table_or_string|
8
- with_scope(parent) { step "#{step_def}:", table_or_string }
9
- end
@@ -1,3 +0,0 @@
1
- Transform /^(\d+)$/ do |number|
2
- number.to_i
3
- end
@@ -1,21 +0,0 @@
1
- Feature: Sortable tree index view
2
-
3
- Background:
4
- Given I am logged in
5
- And structures tree exists:
6
- | title | parent_name |
7
- | _1_ | |
8
- | _1-1_ | _1_ |
9
- | _1-2_ | _1_ |
10
- | _2_ | |
11
- | _2-1_ | _2_ |
12
- | _2-1-1_ | _2-1_ |
13
- And I am on the admin structures page
14
-
15
- Scenario: Structure tree
16
- Then I should see structures tree
17
-
18
- # Scenario: Structure tree
19
- # Then pause
20
- # When I drag "_2-1_" to "_1-1_"
21
- # Then pause
@@ -1,15 +0,0 @@
1
- module CapybaraHelpers
2
- def pause
3
- STDIN.getc
4
- end
5
-
6
- def mini_sleep
7
- sleep 0.1
8
- end
9
-
10
- def with_scope(locator)
11
- locator ? within(*selector_for(locator)) { yield } : yield
12
- end
13
- end
14
-
15
- World(::CapybaraHelpers)
@@ -1,21 +0,0 @@
1
- #FileUtils.rm_rf(Dir["#{Rails.root}/spec/support/uploads"])
2
-
3
- if defined?(CarrierWave)
4
- #CarrierWave.configure do |config|
5
- # config.storage = :file
6
- # config.enable_processing = false
7
- #end
8
-
9
- CarrierWave::Uploader::Base.descendants.each do |klass|
10
- next if klass.anonymous?
11
- klass.class_eval do
12
- def cache_dir
13
- "#{Rails.root}/public/tmp/spec/uploads/tmp"
14
- end
15
-
16
- def store_dir
17
- "#{Rails.root}/public/tmp/spec/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
18
- end
19
- end
20
- end
21
- end
@@ -1,40 +0,0 @@
1
- SPEC_PATH = File.expand_path('../../../spec', __FILE__)
2
- ENV['RAILS_ROOT'] = File.expand_path('../../../spec/dummy', __FILE__)
3
-
4
- require 'cucumber/rails'
5
-
6
- Capybara.default_selector = :css
7
-
8
- ActionController::Base.allow_rescue = false
9
-
10
- require 'database_cleaner'
11
- require 'database_cleaner/cucumber'
12
- DatabaseCleaner.strategy = :transaction
13
- Cucumber::Rails::Database.javascript_strategy = :transaction
14
- Cucumber::Rails::World.use_transactional_fixtures = false
15
-
16
- require 'factory_girl'
17
- FactoryGirl.definition_file_paths = [File.join(SPEC_PATH, 'factories')]
18
- FactoryGirl.find_definitions
19
-
20
- Capybara.default_wait_time = 5
21
- BCrypt::Engine::DEFAULT_COST = 1
22
-
23
- require File.join(SPEC_PATH, 'support/shared_connection')
24
-
25
- include Warden::Test::Helpers
26
- Warden.test_mode!
27
- DatabaseCleaner.clean_with(:truncation)
28
-
29
- After do
30
- Warden.test_reset!
31
- end
32
-
33
- Before '@locator' do
34
- FileUtils.cp_r Rails.root.join('config', 'locales'), Rails.root.join('tmp')
35
- end
36
-
37
- After '@locator' do
38
- FileUtils.rm_rf Rails.root.join('config', 'locales')
39
- FileUtils.cp_r Rails.root.join('tmp/locales'), Rails.root.join('config')
40
- end
@@ -1,55 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- module NavigationHelpers
3
- # Maps a name to a path. Used by the
4
- #
5
- # When /^I go to (.+)$/ do |page_name|
6
- #
7
- # step definition in web_steps.rb
8
- #
9
- def path_to(page_name)
10
- case page_name
11
-
12
- when /the dashboard page/
13
- '/admin'
14
-
15
- when /the sign in page/
16
- '/users/sign_in'
17
-
18
- when /edit profile page/
19
- "/admin/users/#{@me.id}/edit"
20
-
21
- when /new admin product page/
22
- '/admin/products/new'
23
-
24
- when /edit admin product page/
25
- "/admin/products/#{@product.id}/edit"
26
-
27
- when /the admin product page/
28
- "/admin/products/#{@product.id}"
29
-
30
- when /the collection products page/
31
- "/admin/collections/#{@collection.id}/products"
32
-
33
- when /the edit admin settings page/
34
- '/admin/settings/edit'
35
-
36
- when /the admin locators page/
37
- '/admin/locators'
38
-
39
- when /admin (\w+) page/
40
- "/admin/#{$1}"
41
-
42
- else
43
- begin
44
- page_name =~ /the (.*) page/
45
- path_components = $1.split(/\s+/)
46
- self.send(path_components.push('path').join('_').to_sym)
47
- rescue Object => e
48
- raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
49
- "Now, go and add a mapping in #{__FILE__}"
50
- end
51
- end
52
- end
53
- end
54
-
55
- World(NavigationHelpers)
@@ -1,9 +0,0 @@
1
- module SelectorHelpers
2
- def chosen_select(item_text, options)
3
- field_id = find_field(options[:from])[:id]
4
- option_value = page.evaluate_script("$(\"##{field_id} option:contains('#{item_text}')\").val()")
5
- page.execute_script("$('##{field_id}').val('#{option_value}')")
6
- end
7
- end
8
-
9
- World(::SelectorHelpers)
@@ -1,43 +0,0 @@
1
- module HtmlSelectorsHelpers
2
- # Maps a name to a selector. Used primarily by the
3
- #
4
- # When /^(.+) within (.+)$/ do |step, scope|
5
- #
6
- # step definitions in web_steps.rb
7
- #
8
- def selector_for(locator)
9
- case locator
10
-
11
- when 'the page'
12
- 'html > body'
13
- when 'table\'s header'
14
- 'table tbody > tr th'
15
- when /^paragraphs?$/
16
- 'p'
17
-
18
- # Add more mappings here.
19
- # Here is an example that pulls values out of the Regexp:
20
- #
21
- # when /^the (notice|error|info) flash$/
22
- # ".flash.#{$1}"
23
-
24
- # You can also return an array to use a different selector
25
- # type, like:
26
- #
27
- # when /the header/
28
- # [:xpath, "//header"]
29
-
30
- # This allows you to provide a quoted selector as the scope
31
- # for "within" steps as was previously the default for the
32
- # web steps:
33
- when /^"(.+)"$/
34
- $1
35
-
36
- else
37
- raise "Can't find mapping from \"#{locator}\" to a selector.\n" +
38
- "Now, go and add a mapping in #{__FILE__}"
39
- end
40
- end
41
- end
42
-
43
- World(HtmlSelectorsHelpers)
@@ -1,27 +0,0 @@
1
- # coding: UTF-8
2
-
3
- module ToleranceForSeleniumSyncIssues
4
- # This is similiar but not entirely the same as Capybara::Node::Base#wait_until or Capybara::Session#wait_until
5
- def patiently(seconds=Capybara.default_wait_time, &block)
6
- old_wait_time = Capybara.default_wait_time
7
- # dont make nested wait_untils use up all the alloted time
8
- Capybara.default_wait_time = 0 # for we are a jealous gem
9
- if page.driver.wait?
10
- start_time = Time.now
11
- begin
12
- block.call
13
- rescue => e
14
- raise e if (Time.now - start_time) >= seconds
15
- sleep(0.05)
16
- raise Capybara::FrozenInTime, 'time appears to be frozen, Capybara does not work with libraries which freeze time, consider using time travelling instead' if Time.now == start_time
17
- retry
18
- end
19
- else
20
- block.call
21
- end
22
- ensure
23
- Capybara.default_wait_time = old_wait_time
24
- end
25
- end
26
-
27
- World(ToleranceForSeleniumSyncIssues)
@@ -1,27 +0,0 @@
1
- Feature: Sign in
2
- In order to get access to protected sections of the site
3
- As a user
4
- I want to sign in
5
-
6
- Background:
7
- Given I am signed out
8
-
9
- Scenario: User do not exist
10
- Given I do not exist as a user
11
- When I sign in with valid credentials
12
- Then I see an invalid login message
13
- And I should be signed out
14
-
15
- Scenario: User enters wrong password
16
- Given I exist as a user
17
- When I sign in with a wrong password
18
- Then I see an invalid login message
19
- And I should be signed out
20
-
21
- Scenario: User signs in successfully
22
- Given I exist as a user
23
- When I sign in with valid credentials
24
- Then I see a successful sign in message
25
- And I should be on the dashboard page
26
- And I should see "Sign out"
27
- And I should see my name
@@ -1,11 +0,0 @@
1
- Feature: Sign out
2
- To protect my account from unauthorized access
3
- Aa a signed in user
4
- I want to sign out
5
-
6
- Scenario: User signs out
7
- Given I am logged in
8
- When I sign out
9
- Then I should see a signed out message
10
- When I return to the site
11
- Then I should be signed out
@@ -1,19 +0,0 @@
1
- #Feature: Edit User
2
- # As a registered user of the website
3
- # I want to edit my user profile
4
- # so I can change my username
5
- #
6
- # Scenario: I sign in and edit my account
7
- # Given I am logged in
8
- # When I edit my account details
9
- # Then I should see an account edited message
10
- # And I should see my name in sidebar
11
-
12
- # Scenario: I sign in and edit my account
13
- # Given I am logged in
14
- # When I follow "Кабинет"
15
- # And I follow "Редактировать"
16
- # And I fill in "Имя" with "Bob"
17
- # And I fill in "Фамилия" with "Nelson"
18
- # And I press "Сохранить"
19
- # Then I should be on Bob's profile page
@@ -1,9 +0,0 @@
1
- #Feature: Show Users
2
- # As a visitor to the website
3
- # I want to see registered users listed on the homepage
4
- # so I can know if the site has users
5
- #
6
- # Scenario: Viewing users
7
- # Given I exist as a user
8
- # When I look at the list of users
9
- # Then I should see my name
@@ -1,16 +0,0 @@
1
- #module ActiveRecord
2
- # module Scoping
3
- # module Named
4
- # module ClassMethods
5
- # def valid_scope_name?(name)
6
- # silence_names = [:page, :visible, :un_visible, :admin, :base]
7
- # if respond_to?(name, true) && !silence_names.include?(name.to_sym)
8
- # logger.warn "Creating scope :#{name}. " \
9
- # "Overwriting existing method #{self.name}.#{name}."
10
- # end
11
- # end
12
- # end
13
- # end
14
- # end
15
- #end
16
- #
@@ -1,31 +0,0 @@
1
- #require 'simple_form'
2
-
3
- #module WrappedButton
4
- # def wrapped_button(*args, &block)
5
- # template.content_tag :div, class: "form-actions" do
6
- # options = args.extract_options!
7
- # loading = self.object.new_record? ? I18n.t('simple_form.creating') : I18n.t('simple_form.updating')
8
- # options[:"data-loading-text"] = [loading, options[:"data-loading-text"]].compact
9
- # options[:class] = ['btn-primary', options[:class]].compact
10
- # args << options
11
- # if cancel = options.delete(:cancel)
12
- # submit(*args, &block) + ' ' + template.link_to(I18n.t('simple_form.buttons.cancel'), cancel, class: 'btn')
13
- # else
14
- # submit(*args, &block)
15
- # end
16
- # end
17
- # end
18
- #end
19
- #SimpleForm::FormBuilder.send :include, WrappedButton
20
- #
21
- #::SimpleForm::Inputs::CollectionRadioButtonsInput.class_exec do
22
- # def item_wrapper_class
23
- # "radio #{options.delete(:item_wrapper_class) || 'inline'}"
24
- # end
25
- #end
26
- #
27
- #::SimpleForm::Inputs::CollectionCheckBoxesInput.class_exec do
28
- # def item_wrapper_class
29
- # "radio #{options.delete(:item_wrapper_class) || 'inline'}"
30
- # end
31
- #end
@@ -1,89 +0,0 @@
1
- module AbAdmin
2
-
3
- class BaseMenuGroup
4
- include Rails.application.routes.url_helpers
5
- include ::AbAdmin::Utils::EvalHelpers
6
-
7
- def link(title, path, options={})
8
- @menu_tree << MenuItem.new(title, path, options)
9
- end
10
-
11
- def model(model, options={})
12
- title = model.model_name.human(count: 9)
13
- path = options[:url] || "/admin/#{model.model_name.plural}"
14
- @menu_tree << MenuItem.new(title, path, options)
15
- end
16
-
17
- def group(title, options={}, &block)
18
- @menu_tree << MenuGroup.new(title, options, &block)
19
- end
20
-
21
- def render_nested(template)
22
- @menu_tree.map { |item| item.render(template) }.compact.join.html_safe
23
- end
24
- end
25
-
26
- class MenuBuilder < BaseMenuGroup
27
- include Singleton
28
-
29
- def self.draw(&block)
30
- instance.instance_eval &block if block_given?
31
- end
32
-
33
- def initialize
34
- @menu_tree = []
35
- end
36
-
37
- def render(template)
38
- <<-HTML.html_safe
39
- <ul class="nav">#{render_nested(template)}</ul>
40
- HTML
41
- end
42
-
43
- def self.render(template)
44
- instance.render(template)
45
- end
46
- end
47
-
48
- class MenuGroup < BaseMenuGroup
49
- def initialize(title, options, &block)
50
- @menu_tree = []
51
- @title = title.is_a?(Symbol) ? I18n.t(title, scope: [:admin, :navigation]) : title
52
- @options = options
53
- instance_eval &block if block_given?
54
- end
55
-
56
- def render(template)
57
- return if @options[:if] && !call_method_or_proc_on(template, @options[:if])
58
- return if @options[:unless] && call_method_or_proc_on(template, @options[:unless])
59
-
60
- <<-HTML.html_safe
61
- <li class="dropdown">
62
- <a class="dropdown-toggle" data-toggle="dropdown" href="#" >#{@title}<b class="caret"></b></a>
63
- <ul class="dropdown-menu">#{render_nested(template)}</ul>
64
- <li>
65
- HTML
66
- end
67
- end
68
-
69
- class MenuItem
70
- include ::AbAdmin::Utils::EvalHelpers
71
-
72
- def initialize(title, path, options)
73
- @title = title.is_a?(Symbol) ? I18n.t(title, scope: [:admin, :navigation]) : title
74
- @path = path
75
- @options = options
76
- end
77
-
78
- def render(template)
79
- return if @options[:if] && !call_method_or_proc_on(template, @options[:if])
80
- return if @options[:unless] && call_method_or_proc_on(template, @options[:unless])
81
-
82
- active = template.request.path.split('/')[2] == @path.split('/')[2]
83
- <<-HTML.html_safe
84
- <li class="#{'active' if active}">#{template.link_to @title, @path, @options}</li>
85
- HTML
86
- end
87
- end
88
-
89
- end