ab_admin 0.3.6 → 0.4.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 (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
@@ -0,0 +1,19 @@
1
+ - if tmpl = admin_partial_name(modal_form_builder)
2
+ = render tmpl, f: f
3
+ - else
4
+ - modal_form_builder.fields.each do |node|
5
+ - if node.group?
6
+ - if node.localized?
7
+ = f.locale_tabs do |l|
8
+ - node.fields.each do |field|
9
+ - field.options[:as] = :editor if !field.options.key?(:as) && field.name.to_s =~ /description|content|body/
10
+ = f.input field.name, field.options.merge(locale: l)
11
+ - else
12
+ = input_set node.title, node.options do
13
+ - node.fields.each do |field|
14
+ = f.input field.name, field.options
15
+ - else
16
+ = f.input node.name, node.options
17
+
18
+ - if f.object.respond_to?(:fileupload_guid) && f.object.new_record?
19
+ = f.hidden_field :fileupload_guid
@@ -5,15 +5,15 @@
5
5
  thead
6
6
  tr.pjax_links
7
7
  = batch_action_toggle
8
- th= sort_link(@search, :id)
8
+ th= list_sort_link(:id)
9
9
  - table_builder.fields.each do |field|
10
10
  th
11
11
  - if field.options[:sortable] && !field.options[:image]
12
12
  - if field.options[:sortable].is_a?(TrueClass)
13
- = sort_link @search, field.name
13
+ = list_sort_link field.name
14
14
  - else
15
15
  - opts = field.options[:sortable].is_a?(Hash) ? field.options[:sortable] : {column: field.options[:sortable]}
16
- = sort_link @search, field.name, opts
16
+ = list_sort_link field.name, opts
17
17
  - else
18
18
  = field.name.is_a?(Symbol) ? ha(field.name) : field.name
19
19
  th=t 'admin.table.actions'
@@ -0,0 +1 @@
1
+ = render template: fetch_admin_template('show') || 'admin/base/show'
@@ -0,0 +1,39 @@
1
+ .content_actions.clearfix
2
+ - if settings[:batch] && current_index_view =~ /table/
3
+ .btn-group
4
+ a.btn.dropdown-toggle data-toggle="dropdown" href="#"
5
+ = t 'admin.batch_actions.title'
6
+ span.caret
7
+ ul.dropdown-menu
8
+ - batch_action_list.each do |batch_action|
9
+ li
10
+ a.batch_action_link href='#' data-action=batch_action.name data-confirm=batch_action.confirm = batch_action.title
11
+ - unless button_scopes.blank?
12
+ .btn-group.pjax_links
13
+ - button_scopes.each do |name, opts|
14
+ - active = params[opts[:as]]
15
+ a.btn href=url_for(opts[:as] => (active ? nil : 1)) class=('active' if active) = t "admin.scopes.#{name}"
16
+
17
+ a.btn.pull-left#columns_hider_show href="#columns_hider" data-toggle='modal' = t 'admin.columns_hider.button'
18
+
19
+ .btn-group#view_layout
20
+ .btn data-css='main_wide' = icon('align-left')
21
+ .btn data-css='main_reverse' = icon('align-right')
22
+
23
+ - if normalized_index_views.length > 1
24
+ .btn-group#index_views
25
+ - normalized_index_views.each do |index_view|
26
+ = index_view_link(index_view)
27
+
28
+ - if can? :export, resource_class
29
+ .btn-group.downloads
30
+ = icon('download-alt')
31
+ /- %w(csv xls json).each do |format|
32
+ - %w(csv xls).each do |format|
33
+ - next if format == 'xls' && !defined?(Mime::XLSX)
34
+ = link_to format, params.merge(per_page: 10_000, format: format), id: "export_#{format}"
35
+
36
+ - if @search && settings[:sort_buttons]
37
+ .btn-group
38
+ - settings[:sort_buttons].each do |opts|
39
+ = list_sort_link(opts[:title], column: opts[:column], html_options: {class: 'btn'})
@@ -1,8 +1,8 @@
1
1
  .tabbable.locale_tabs
2
2
  ul.nav.nav-tabs
3
3
  - Globalize.available_locales.each_with_index do |l, i|
4
- li class=(('active' if i.zero?))
5
- a[data-toggle="tab" href="##{l}" class="ico_#{l}"]= t("admin.langs.#{l}")
4
+ li class=('active' if i.zero?)
5
+ a data-toggle="tab" href="##{l}" class="ico_#{l}" = t("admin.langs.#{l}")
6
6
  .tab-content
7
7
  - Globalize.available_locales.each_with_index do |l, i|
8
- .tab-pane[id=l class=("tab_#{l} #{'active' if i.zero?}")]= loc_html[l]
8
+ .tab-pane id=l class="tab_#{l} #{'active' if i.zero?}" = loc_html[l]
@@ -1,14 +1,20 @@
1
1
  - attr_ids_method = "#{attribute_name.to_s.singularize}_ids"
2
2
  - attr_ids = f.object.send(attr_ids_method)
3
3
  - attr_name = "#{f.object_name}[#{attr_ids_method}][]"
4
- - opts = reflection.options.slice(:conditions, :order)
4
+ - records = reflection.klass.roots
5
+ - records = records.instance_exec(&reflection.scope) if reflection.scope
5
6
 
6
- - reflection.klass.roots.all(opts).each do |root|
7
+ h3= f.object.class.han(attribute_name)
8
+ = hidden_field_tag attr_name, nil
9
+ - records.each do |root|
7
10
  .checkbox_tree_input
8
11
  label.checkbox
9
12
  = check_box_tag attr_name, root.id, attr_ids.include?(root.id)
10
13
  b= AbAdmin.display_name(root)
11
- - root.children.all(opts).each do |child|
14
+ - children = root.children
15
+ - children = children.instance_exec(&reflection.scope) if reflection.scope
16
+ - children.each do |child|
12
17
  label.checkbox
13
18
  = check_box_tag attr_name, child.id, attr_ids.include?(child.id)
14
19
  = AbAdmin.display_name(child)
20
+ hr
@@ -6,16 +6,13 @@
6
6
  = f.input :slug
7
7
  - if @structure.moveable?
8
8
  = f.input :parent, as: :tree_select
9
- = f.input :kind, collection: StructureType.all
10
- = f.input :position, collection: PositionType.all, include_blank: false
9
+ = f.input :structure_type_id, collection: StructureType.all
10
+ = f.input :position_type_id, collection: PositionType.all, include_blank: false
11
11
 
12
12
  = f.input :is_visible
13
13
 
14
- = input_set ha(:picture) do
15
- = f.attach_file_field :picture, file_max_size: 2
16
-
17
- = input_set ha(:pictures) do
18
- = f.attach_file_field :pictures, file_max_size: 2
14
+ = f.input :picture, as: :uploader
15
+ = f.input :pictures, as: :uploader
19
16
 
20
17
  = input_set t('admin.keywords') do
21
18
  = render 'admin/headers/form', f: f
@@ -10,9 +10,8 @@
10
10
  = f.input :address
11
11
 
12
12
  = f.input :user_role_id, collection: UserRoleType.all, include_blank: false, as: :radio_buttons, item_wrapper_class: 'inline'
13
- = f.input :trust_state, collection: UserState.all, include_blank: false, as: :radio, as: :radio_buttons, item_wrapper_class: 'inline'
14
13
 
15
- = f.input :birthday
14
+ = f.input :birthday, include_blank: true
16
15
  = f.input :gender, collection: GenderType.all, include_blank: false, as: :radio_buttons, item_wrapper_class: 'inline'
17
16
 
18
17
  = f.input :time_zone, fancy: true, priority: %w(Moscow Kyiv).map{|t| ActiveSupport::TimeZone[t] }
@@ -22,8 +21,7 @@
22
21
  = f.input :password, input_html: {autocomplete: 'off'}
23
22
  = f.input :password_confirmation, input_html: {autocomplete: 'off'}
24
23
 
25
- = input_set t('admin.avatar') do
26
- = f.attach_file_field :avatar, file_max_size: 2
24
+ = f.input :avatar, as: :uploader, edit_meta: true
27
25
 
28
26
  = f.hidden_field :fileupload_guid if f.object.new_record?
29
27
 
@@ -8,7 +8,6 @@
8
8
  = f.input :address
9
9
 
10
10
  = f.input :user_role_id, collection: UserRoleType.all
11
- = f.input :trust_state, collection: UserState.all
12
11
 
13
12
  = f.input :gender, collection: GenderType.all
14
13
  = f.input :locale, collection: Globalize.available_locales
@@ -2,16 +2,15 @@ table.table.table-striped.index_table#list
2
2
  thead
3
3
  tr.pjax_links
4
4
  = batch_action_toggle
5
- th= sort_link(@search, :id)
6
- th= sort_link(@search, :email)
5
+ th= list_sort_link(:id)
6
+ th= list_sort_link(:email)
7
7
  th= ha :avatar
8
- th= sort_link(@search, :user_role_id)
9
- th= sort_link(@search, :trust_state)
10
- th= sort_link(@search, :first_name)
11
- th= sort_link(@search, :last_name)
12
- th= sort_link(@search, :phone)
13
- th= sort_link(@search, :skype)
14
- th= sort_link(@search, :created_at)
8
+ th= list_sort_link(:user_role_id)
9
+ th= list_sort_link(:first_name)
10
+ th= list_sort_link(:last_name)
11
+ th= list_sort_link(:phone)
12
+ th= list_sort_link(:skype)
13
+ th= list_sort_link(:created_at)
15
14
  th=t 'admin.table.actions'
16
15
  tbody
17
16
  - collection.each do |item|
@@ -21,7 +20,6 @@ table.table.table-striped.index_table#list
21
20
  td= mail_to item.email
22
21
  td= item_image_link(item, assoc: :avatar)
23
22
  td= item.user_role_type.try(:title)
24
- td= item.trust_state_type.try(:title)
25
23
  td= item.first_name
26
24
  td= item.last_name
27
25
  td= item.phone
@@ -1,13 +1,12 @@
1
1
  footer
2
2
  ' Powered by
3
3
  a href='https://github.com/leschenko/ab_admin' target='_blank' = "AbAdmin #{AbAdmin::VERSION}"
4
+ .muted.footer-notes= AbAdmin.footer_notes
4
5
 
5
6
  = cache [I18n.locale, 'admin', 'footer'] do
6
- = render 'admin/fileupload/tmpl'
7
- = render 'admin/fileupload/ftmpl'
8
- = render 'admin/fileupload/vtmpl'
7
+ = render 'admin/fileupload/asset_templates'
9
8
  = render 'admin/shared/columns_hider'
10
9
 
11
10
  - unless admin?
12
11
  css:
13
- .admin_content{display: none;}
12
+ .admin_content{display: none !important;}
@@ -1,11 +1,11 @@
1
- header.navbar
1
+ header.navbar.navbar-inverse
2
2
  nav.navbar-inner
3
3
  .container
4
4
  a.btn.btn-navbar data-target=".nav-collapse" data-toggle="collapse"
5
5
  span.icon-bar
6
6
  span.icon-bar
7
7
  span.icon-bar
8
- a.brand[href=root_path]= AbAdmin.site_name
8
+ a.brand href=root_path target='_blank' = AbAdmin.site_name
9
9
  .nav-collapse.in.collapse
10
10
  = AdminMenu.render(self)
11
11
 
@@ -1,18 +1,15 @@
1
1
  doctype html
2
- html id="controller_#{controller_name}"
2
+ html id="controller_#{controller_name}"
3
3
  head
4
4
  meta charset='utf-8'
5
- meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'
6
- meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"
7
- title= @page_title || 'Ab Admin'
5
+ meta name='viewport' content='width=device-width, initial-scale=1.0'
6
+ title= admin_title
8
7
  = stylesheet_link_tag 'ab_admin/application', media: 'all'
9
- /script(src='//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js')
10
- /script(src='//ajax.googleapis.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js')
11
- = include_gon
8
+ = include_fv
12
9
  = javascript_include_tag 'ab_admin/application'
13
10
  = csrf_meta_tags
14
11
  = yield(:head)
15
- body id="action_#{action_name}"
12
+ body id="action_#{action_name}" class="resource_#{resource_collection_name}"
16
13
  #wrap
17
14
  = render 'layouts/admin/navigation'
18
15
  #main role="main"
@@ -20,10 +17,11 @@ html id="controller_#{controller_name}"
20
17
  = render('admin/shared/flash', flash: flash) if flash
21
18
  #container.row-fluid
22
19
  .wrap_content
23
- .clearfix[data-pjax-container=true class=layout_css]= yield
20
+ .clearfix data-pjax-container=true class=admin_layout_css = yield
24
21
  - if collection_action? && settings[:search]
25
22
  .sidebar.well= render 'search_layout'
26
23
  = yield :sidebar
24
+ #modal_form.modal.hide
27
25
  #loading.label.label-warning= t 'admin.loading'
28
26
  #push
29
27
  = render 'layouts/admin/footer'
@@ -2,11 +2,10 @@ doctype html
2
2
  html id="controller_#{controller_name}"
3
3
  head
4
4
  meta charset='utf-8'
5
- meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'
6
- meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"
7
- title= @page_title || 'Ab Admin'
5
+ meta name='viewport' content='width=device-width, initial-scale=1.0'
6
+ title= @page_title || AbAdmin.site_name
8
7
  = stylesheet_link_tag 'ab_admin/devise', media: 'all'
9
- script(src='//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js')
8
+ script src='//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'
10
9
  = javascript_include_tag 'bootstrap'
11
10
  = csrf_meta_tags
12
11
  body.container
@@ -0,0 +1,319 @@
1
+ de:
2
+ _no: 'No'
3
+ _yes: 'Yes'
4
+ activerecord:
5
+ models:
6
+ locator: Translations
7
+ settings: Settings
8
+ track:
9
+ few: History
10
+ many: History
11
+ one: History
12
+ other: History
13
+ zero: History
14
+ attributes:
15
+ user:
16
+ password_confirmation: ''
17
+ admin:
18
+ actions:
19
+ activate:
20
+ link: Activate
21
+ batch_destroy:
22
+ confirmation: Are you sure you want to delete the selected records?
23
+ link: Delete selected
24
+ title: Multi-remove
25
+ batch_publish:
26
+ link: Publish selected
27
+ title: Multi-publish
28
+ batch_un_publish:
29
+ link: Unpublish selected
30
+ title: Multi-hiding
31
+ create:
32
+ link: Create
33
+ title: Creation
34
+ destroy:
35
+ link: Remove
36
+ title: Removal
37
+ edit:
38
+ link: Edit
39
+ title: Editing
40
+ history:
41
+ link: History
42
+ title: History
43
+ index:
44
+ link: List
45
+ title: List
46
+ new:
47
+ link: Create
48
+ title: Creation
49
+ perms:
50
+ link: Rights
51
+ title: Editing access rights
52
+ preview:
53
+ link: Preview
54
+ show:
55
+ link: Review
56
+ title: Details
57
+ suspend:
58
+ link: Ban
59
+ update:
60
+ link: Edit
61
+ title: Editing
62
+ add: Add
63
+ auth:
64
+ profile: Profile
65
+ sign_out: Sign out
66
+ sessions:
67
+ title: Sign in
68
+ button: Sign in
69
+ passwords:
70
+ new:
71
+ title: Forgot your password?
72
+ button: Send me reset password instructions
73
+ edit:
74
+ title: Change your password
75
+ button: Change my password
76
+ password: New password
77
+ password_confirmation: Confirm your new password
78
+ avatar: Picture
79
+ batch_actions:
80
+ status:
81
+ few: '%{action} - %{count} records'
82
+ many: '%{action} - %{count} records'
83
+ one: '%{action} - %{count} record'
84
+ other: '%{action} - %{count} records'
85
+ zero: '%{action} - 0 records'
86
+ title: Action
87
+ cache_clear: Clear cache
88
+ cant_be_deleted: Can not delete
89
+ choose: Select %{attr}
90
+ close: Close
91
+ columns_hider:
92
+ button: Adjust the table
93
+ title: Setting the display of columns
94
+ comments:
95
+ add: Comment
96
+ title_content: Comments (%{count})
97
+ delete: Remove
98
+ delete_confirmation: Are you sure you want to delete this?
99
+ empty: Empty
100
+ exit: Output
101
+ fileupload:
102
+ button: Select the file
103
+ buttons: Select the files
104
+ delete: Delete file
105
+ drop_here: Drag and drop files here
106
+ main_image: Set Main
107
+ max_size: Max size
108
+ crop: Crop
109
+ rotate: Rotate
110
+ form:
111
+ cancel: Cancel
112
+ save: Save
113
+ save_and_add_another: Save and add new
114
+ save_and_edit: Save and continue editing
115
+ save_and_edit_next: Save and next.
116
+ save_and_edit_prev: Save and prev.
117
+ details: More
118
+ base: Base
119
+ keywords: ''
120
+ gender:
121
+ female: Female
122
+ male: Male
123
+ undefined: ''
124
+ geo_autocomplete: Enter the address
125
+ group:
126
+ kind:
127
+ admin: Administrative
128
+ default: By default
129
+ private: Reserved
130
+ public: Public
131
+ keywords: Keywords
132
+ langs:
133
+ en: En
134
+ it: It
135
+ ru: Ru
136
+ uk: Uk
137
+ index_view:
138
+ table: ''
139
+ tree: ''
140
+ grid: ''
141
+ loading: Loading ...
142
+ locators:
143
+ edit_file: Edit the file
144
+ edit_files: Edit files
145
+ file: File
146
+ locale: Locale
147
+ prepare: Prepare localization files
148
+ restart: Update localization
149
+ title: Edit location
150
+ update_file: Update File
151
+ all_terms: All
152
+ incomplete: Empty
153
+ complete: Ready
154
+ key: Key
155
+ filter: type text to filter
156
+ translate_incomplete: Translate all incomplete (google)
157
+ navigation:
158
+ system: System
159
+ users: Members
160
+ dashboard: Dashboard
161
+ no_results_text: Nothing found
162
+ photo: Main picture
163
+ pictures: Image
164
+ preview: Preview
165
+ role:
166
+ kind:
167
+ admin: admin
168
+ default: default
169
+ group: group
170
+ user: user
171
+ save: Save
172
+ scopes:
173
+ un_visible: Hidden
174
+ visible: Published
175
+ search:
176
+ cancel: Clean
177
+ submit: Filter
178
+ title: Search
179
+ set_main: Make the main image
180
+ show:
181
+ attr: Attribute
182
+ value: Value
183
+ table:
184
+ actions: Activity
185
+ user:
186
+ role:
187
+ admin: Admin
188
+ default: Client
189
+ guest: Guest
190
+ moderator: Moderator
191
+ redactor: Editor
192
+ state:
193
+ active: Most Active
194
+ deleted: Removed
195
+ pending: Inactive
196
+ suspended: Frozen
197
+ structure:
198
+ kind:
199
+ group: Group
200
+ main: Main
201
+ posts: Blog
202
+ redirect: Redirect
203
+ static_page: Static page
204
+ position:
205
+ bottom: Bottom
206
+ default: Default
207
+ menu: Menu
208
+ js:
209
+ empty: Empty
210
+ add_link: Create?
211
+ add: ''
212
+ remove: ''
213
+ save: ''
214
+ cancel: Cancellation
215
+ clear: Reset
216
+ confirm: Confirm
217
+ create_product: Create a new product
218
+ day: Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
219
+ day_short: Sun, Mon, Tue, Wed, Thu, Fri, Sat
220
+ delete_nested_elements: Can not delete
221
+ edit: Edit
222
+ month: January,February,March,April,May,June,July,August,September,October,November,December
223
+ name: Name
224
+ no_results: Nothing found
225
+ search: Searching ...
226
+ value: Value
227
+ fileupload:
228
+ error: ''
229
+ start: ''
230
+ cancel: ''
231
+ destroy: ''
232
+ errors:
233
+ maxFileSize: ''
234
+ minFileSize: ''
235
+ acceptFileTypes: ''
236
+ maxNumberOfFiles: ''
237
+ uploadedBytes: ''
238
+ emptyResult: ''
239
+ attributes:
240
+ map: Location
241
+ address: Address
242
+ country: Country
243
+ country_id: Country
244
+ created_at: Created at
245
+ description: Description
246
+ footmarks_count: Likes
247
+ is_visible: Display
248
+ name: Name
249
+ parent: Parent element
250
+ parent_id: Parent element
251
+ position: Position
252
+ region: Region
253
+ region_id: Region
254
+ reviews_count: Views
255
+ synonyms: Synonyms
256
+ title: Name
257
+ updated_at: Updated at
258
+ user: User
259
+ user_id: User
260
+ updater: ''
261
+ updater_id: ''
262
+ remember_me: Remember
263
+ password: Password
264
+ slug: Alias
265
+ attrs:
266
+ en: Eng.
267
+ it: Italian
268
+ ru: Rus.
269
+ uk: Ukr.
270
+ de: Deutsch
271
+ fr: ''
272
+ flash:
273
+ admin:
274
+ actions:
275
+ create:
276
+ error: '%{resource_name} - while creating errors occurred: %{errors}'
277
+ notice: '%{resource_name} was successfully created.'
278
+ destroy:
279
+ error: '%{resource_name} - record could not be deleted.'
280
+ notice: '%{resource_name} - record was successfully deleted.'
281
+ update:
282
+ error: '%{resource_name} - while updating errors occurred: %{errors}'
283
+ notice: '%{resource_name} - record was successfully changed.'
284
+ controller_name:
285
+ update:
286
+ success: products
287
+ locators:
288
+ prepared: Translations successfully prepared
289
+ restart: Translations successfully reloaded
290
+ update_error: An error occurred while updating data
291
+ updated: Translation successfully updated
292
+ permissions:
293
+ failure: Update Error
294
+ success: Rights successfully updated
295
+ simple_form:
296
+ buttons:
297
+ cancel: Cancellation
298
+ creating: Creating ...
299
+ error_notification:
300
+ default_message: When you save any errors
301
+ 'no': 'No'
302
+ required:
303
+ mark: '*'
304
+ text: mandatory
305
+ updating: Update ...
306
+ 'yes': 'Yes'
307
+ will_paginate:
308
+ page_gap: '...'
309
+ pagination_info: <b>%{from}&nbsp;-&nbsp;%{to}</b> of <b>%{count}</b>
310
+ pagination_info_empty: 0 total
311
+ next_label: →
312
+ previous_label: ←
313
+ errors:
314
+ messages:
315
+ wrong_size: is the wrong size (should be %{file_size})
316
+ size_too_small: is too small (should be at least %{file_size})
317
+ size_too_big: is too big (should be at most %{file_size})
318
+ carrierwave_processing_error: Cannot resize image.
319
+ carrierwave_integrity_error: Not an image.