adminpanel 2.2.5 → 2.3.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 (202) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -5
  3. data/CONTRIBUTING.md +22 -0
  4. data/Gemfile +1 -6
  5. data/README.md +8 -13
  6. data/Rakefile +4 -6
  7. data/adminpanel.gemspec +29 -24
  8. data/app/assets/javascripts/{application-admin.js → adminpanel/application.js} +2 -1
  9. data/app/assets/javascripts/adminpanel/images_form_add_remove_fields.js.coffee +11 -0
  10. data/app/assets/javascripts/adminpanel/sections.js.coffee +9 -0
  11. data/app/assets/javascripts/adminpanel/spinner.js.coffee +3 -3
  12. data/app/assets/javascripts/adminpanel/tables.js +4 -3
  13. data/app/assets/javascripts/adminpanel/wysiwyg.js.coffee +4 -1
  14. data/app/assets/stylesheets/{application-admin.css → adminpanel/application.css} +2 -2
  15. data/app/assets/stylesheets/adminpanel/fa-hidden.css.scss +7 -0
  16. data/app/assets/stylesheets/adminpanel/theme.css.scss.erb +3 -27
  17. data/app/assets/stylesheets/adminpanel/turbolinks_progress_load.css.scss +5 -0
  18. data/app/controllers/adminpanel/analytics_controller.rb +3 -3
  19. data/app/controllers/adminpanel/application_controller.rb +5 -11
  20. data/app/controllers/adminpanel/auths_controller.rb +6 -0
  21. data/app/controllers/adminpanel/categories_controller.rb +26 -60
  22. data/app/controllers/adminpanel/permissions_controller.rb +1 -2
  23. data/app/controllers/adminpanel/roles_controller.rb +10 -0
  24. data/app/controllers/adminpanel/sections_controller.rb +14 -14
  25. data/app/controllers/adminpanel/sessions_controller.rb +4 -3
  26. data/app/controllers/adminpanel/users_controller.rb +2 -2
  27. data/app/controllers/concerns/adminpanel/analytics/twitter_analytics.rb +1 -1
  28. data/app/controllers/concerns/adminpanel/facebook_actions.rb +13 -12
  29. data/app/controllers/concerns/adminpanel/galleryzable_actions.rb +13 -9
  30. data/app/controllers/concerns/adminpanel/rest_actions.rb +65 -59
  31. data/app/controllers/concerns/adminpanel/sitemap_actions.rb +1 -1
  32. data/app/controllers/concerns/adminpanel/sortable_actions.rb +29 -0
  33. data/app/controllers/concerns/adminpanel/twitter_actions.rb +5 -5
  34. data/app/helpers/adminpanel/adminpanel_form_builder.rb +104 -64
  35. data/app/helpers/adminpanel/application_helper.rb +20 -9
  36. data/app/helpers/adminpanel/breadcrumbs_helper.rb +2 -2
  37. data/app/helpers/adminpanel/router_helper.rb +8 -4
  38. data/app/helpers/adminpanel/shared_pages_helper.rb +59 -11
  39. data/app/models/ability.rb +2 -2
  40. data/app/models/adminpanel/analytic.rb +3 -3
  41. data/app/models/adminpanel/permission.rb +19 -19
  42. data/app/models/adminpanel/{rol.rb → role.rb} +9 -2
  43. data/app/models/adminpanel/section.rb +10 -6
  44. data/app/models/adminpanel/{image.rb → sectionfile.rb} +1 -1
  45. data/app/models/adminpanel/user.rb +27 -31
  46. data/app/models/concerns/adminpanel/base.rb +33 -19
  47. data/app/models/concerns/adminpanel/galleryzation.rb +18 -5
  48. data/app/models/concerns/adminpanel/sitemap.rb +1 -1
  49. data/app/models/concerns/adminpanel/sortable.rb +69 -0
  50. data/app/uploaders/adminpanel/.keep +1 -0
  51. data/app/views/adminpanel/analytics/_fb_statistic_widget.html.erb +27 -27
  52. data/app/views/adminpanel/categories/_categories_table.html.erb +4 -4
  53. data/app/views/adminpanel/categories/_category_form.html.erb +26 -6
  54. data/app/views/adminpanel/categories/create.js.erb +4 -5
  55. data/app/views/adminpanel/categories/index.html.erb +23 -16
  56. data/app/views/adminpanel/categories/new.js.erb +1 -1
  57. data/app/views/adminpanel/form/_adminpanel_file_field.html.erb +24 -0
  58. data/app/views/adminpanel/form/_belongs_to.html.erb +24 -0
  59. data/app/views/adminpanel/form/_file_field.html.erb +4 -0
  60. data/app/views/adminpanel/form/_has_many.html.erb +19 -0
  61. data/app/views/adminpanel/form/_non_image_file_field.html.erb +4 -0
  62. data/app/views/{shared/_delete_icon_button.html.erb → adminpanel/icons/_delete.html.erb} +3 -1
  63. data/app/views/{shared/_edit_icon_button.html.erb → adminpanel/icons/_edit.html.erb} +3 -3
  64. data/app/views/{shared/_fb_icon_button.html.erb → adminpanel/icons/_facebook.html.erb} +6 -5
  65. data/app/views/adminpanel/icons/_move_to_better.html.erb +16 -0
  66. data/app/views/adminpanel/icons/_move_to_worst.html.erb +17 -0
  67. data/app/views/{shared/_show_icon_button.html.erb → adminpanel/icons/_show.html.erb} +1 -1
  68. data/app/views/{shared/_twitter_icon_button.html.erb → adminpanel/icons/_twitter.html.erb} +1 -1
  69. data/app/views/adminpanel/sections/_sections_table.html.erb +1 -1
  70. data/app/views/adminpanel/sections/edit.html.erb +25 -17
  71. data/app/views/adminpanel/sections/index.html.erb +1 -1
  72. data/app/views/adminpanel/sections/show.html.erb +2 -2
  73. data/app/views/{shared → adminpanel/shared}/_breadcrumb.html.erb +0 -0
  74. data/app/views/adminpanel/shared/_create_remote_resource_button.html.erb +21 -0
  75. data/app/views/{shared → adminpanel/shared}/_error_messages.html.erb +0 -0
  76. data/app/views/{shared → adminpanel/shared}/_fb_publish_modal.html.erb +2 -2
  77. data/app/views/adminpanel/shared/_form_fields.html.erb +21 -0
  78. data/app/views/adminpanel/shared/_gallery_entries.html.erb +11 -0
  79. data/app/views/adminpanel/shared/_image_fields.html.erb +3 -0
  80. data/app/views/adminpanel/shared/_index_records.html.erb +32 -0
  81. data/app/views/adminpanel/shared/_modal.html.erb +20 -0
  82. data/app/views/adminpanel/shared/_new_resource_button.html.erb +17 -0
  83. data/app/views/adminpanel/shared/_remote_form_fields.html.erb +28 -0
  84. data/app/views/{shared → adminpanel/shared}/_twitter_publish_modal.html.erb +0 -0
  85. data/app/views/{shared → adminpanel/shared}/create_belongs_to.js.erb +0 -0
  86. data/app/views/{shared → adminpanel/shared}/create_has_many.js.erb +0 -0
  87. data/app/views/adminpanel/shared/edit.html.erb +42 -0
  88. data/app/views/{shared → adminpanel/shared}/fb_choose_page.html.erb +2 -2
  89. data/app/views/adminpanel/shared/gallery_entries.js.erb +1 -0
  90. data/app/views/adminpanel/shared/index.html.erb +43 -0
  91. data/app/views/adminpanel/shared/index_records.js.erb +1 -0
  92. data/app/views/adminpanel/shared/new.html.erb +42 -0
  93. data/app/views/adminpanel/shared/new.js.erb +2 -0
  94. data/app/views/adminpanel/shared/show.html.erb +77 -0
  95. data/app/views/layouts/{_shim.html.erb → adminpanel/_shim.html.erb} +0 -0
  96. data/app/views/layouts/adminpanel/_side_menu.html.erb +32 -0
  97. data/app/views/layouts/{_top_bar.html.erb → adminpanel/_top_bar.html.erb} +4 -2
  98. data/app/views/layouts/{admin-login.html.erb → adminpanel/application-login.html.erb} +4 -4
  99. data/app/views/layouts/{admin.html.erb → adminpanel/application.html.erb} +8 -6
  100. data/config/initializers/adminpanel/clear_cache.rb +4 -0
  101. data/config/initializers/{pluralization_es.rb → adminpanel/pluralization_es.rb} +0 -0
  102. data/config/initializers/{twitter-oauth.rb → adminpanel/twitter_oauth.rb} +0 -0
  103. data/config/locales/en.yml +93 -59
  104. data/config/locales/es.yml +34 -14
  105. data/config/routes.rb +27 -24
  106. data/lib/adminpanel.rb +3 -1
  107. data/lib/adminpanel/engine.rb +6 -3
  108. data/lib/adminpanel/version.rb +1 -1
  109. data/lib/generators/adminpanel/contact/contact_generator.rb +12 -0
  110. data/{app/models/contact.rb → lib/generators/adminpanel/contact/templates/contact_template.rb} +0 -0
  111. data/lib/generators/adminpanel/dump/dump_generator.rb +37 -0
  112. data/lib/generators/adminpanel/gallery/templates/gallery_template.rb +7 -0
  113. data/lib/generators/adminpanel/gallery/templates/uploader.rb +7 -9
  114. data/lib/generators/adminpanel/initialize/templates/adminpanel_setup.rb +2 -2
  115. data/lib/generators/adminpanel/initialize/templates/create_adminpanel_tables.rb +23 -34
  116. data/lib/generators/adminpanel/initialize/templates/section_uploader.rb +6 -8
  117. data/lib/generators/adminpanel/resource/resource_generator.rb +3 -2
  118. data/lib/generators/adminpanel/resource/resource_generator_helper.rb +6 -8
  119. data/lib/generators/adminpanel/resource/templates/adminpanel_controller_template.rb +1 -1
  120. data/lib/generators/adminpanel/resource/templates/adminpanel_resource_template.rb +2 -2
  121. data/lib/tasks/adminpanel/adminpanel.rake +11 -24
  122. data/lib/tasks/adminpanel/sections.rake +65 -0
  123. data/test/dummy/app/controllers/adminpanel/file_resources_controller.rb +12 -0
  124. data/test/dummy/app/controllers/adminpanel/galleries_controller.rb +4 -0
  125. data/test/dummy/app/controllers/adminpanel/products_controller.rb +5 -5
  126. data/test/dummy/app/models/adminpanel/category.rb +2 -0
  127. data/test/dummy/app/models/adminpanel/file_resource.rb +34 -0
  128. data/test/dummy/app/models/adminpanel/file_resourcefile.rb +13 -0
  129. data/test/dummy/app/models/adminpanel/gallery.rb +32 -0
  130. data/test/dummy/app/models/adminpanel/galleryfile.rb +19 -0
  131. data/test/dummy/app/models/adminpanel/mug.rb +14 -14
  132. data/test/dummy/app/models/adminpanel/photo.rb +1 -0
  133. data/test/dummy/app/models/adminpanel/product.rb +7 -7
  134. data/test/dummy/app/models/adminpanel/test_object.rb +53 -0
  135. data/test/dummy/app/uploader/adminpanel/file_resourcefile_uploader.rb +82 -0
  136. data/test/dummy/app/uploader/adminpanel/photo_uploader.rb +5 -9
  137. data/test/dummy/app/uploader/adminpanel/section_uploader.rb +5 -9
  138. data/test/dummy/config/application.rb +3 -30
  139. data/test/dummy/config/carrierwave.rb +1 -1
  140. data/test/dummy/config/environments/test.rb +10 -4
  141. data/test/dummy/config/initializers/adminpanel_setup.rb +5 -2
  142. data/test/dummy/db/schema.rb +65 -34
  143. data/test/dummy/test/fixtures/adminpanel/categories.yml +7 -0
  144. data/test/dummy/test/fixtures/adminpanel/galleryfiles.yml +18 -0
  145. data/test/dummy/test/fixtures/adminpanel/permissions.yml +7 -7
  146. data/test/dummy/test/fixtures/adminpanel/products.yml +7 -0
  147. data/test/dummy/test/fixtures/adminpanel/{rols.yml → roles.yml} +0 -0
  148. data/test/dummy/test/fixtures/adminpanel/test_objects.yml +7 -0
  149. data/test/dummy/test/fixtures/adminpanel/users.yml +7 -7
  150. data/test/dummy/test/fixtures/dog fries.png +0 -0
  151. data/test/features/categories/categories_index_test.rb +31 -0
  152. data/test/features/shared/concerns/galleryzable_test.rb +22 -0
  153. data/test/features/shared/concerns/sortable_test.rb +26 -0
  154. data/test/features/shared/form/has_many_through_non_category_modal_test.rb +1 -1
  155. data/test/features/shared/form/remote_resource_modal_test.rb +41 -0
  156. data/test/features/shared/resource/edit_test.rb +7 -6
  157. data/test/features/shared/resource/new_test.rb +3 -2
  158. data/test/features/shared/ui/max_images_gallery_test.rb +52 -0
  159. data/test/generators/contact_generator_test.rb +20 -0
  160. data/test/generators/dump_generator_test.rb +51 -0
  161. data/test/generators/resource_generator_test.rb +46 -1
  162. data/test/helpers/breadcrumbs_helper_test.rb +3 -4
  163. data/test/helpers/router_helper_test.rb +1 -1
  164. data/test/helpers/shared_pages_helper_test.rb +120 -0
  165. data/test/models/adminpanel/gallery_test.rb +16 -23
  166. data/test/models/adminpanel/user_test.rb +1 -1
  167. data/test/support/view_case.rb +18 -19
  168. data/test/tasks/adminpanel_rake_test.rb +5 -3
  169. data/test/test_helper.rb +2 -5
  170. metadata +204 -150
  171. data/.rspec +0 -2
  172. data/app/assets/javascripts/adminpanel/images_form.js +0 -23
  173. data/app/assets/javascripts/adminpanel/imagesloaded.js +0 -16
  174. data/app/controllers/adminpanel/galleries_controller.rb +0 -75
  175. data/app/controllers/adminpanel/rols_controller.rb +0 -10
  176. data/app/models/adminpanel/gallery.rb +0 -82
  177. data/app/uploaders/adminpanel/gallery_uploader.rb +0 -56
  178. data/app/views/adminpanel/galleries/_galleries_table.html.erb +0 -15
  179. data/app/views/adminpanel/galleries/create.html.erb +0 -2
  180. data/app/views/adminpanel/galleries/index.html.erb +0 -52
  181. data/app/views/adminpanel/galleries/move_better.js.erb +0 -1
  182. data/app/views/adminpanel/galleries/move_worst.js.erb +0 -1
  183. data/app/views/layouts/_side_menu.html.erb +0 -40
  184. data/app/views/shared/_create_remote_resource_button.html.erb +0 -23
  185. data/app/views/shared/_form_fields.html.erb +0 -63
  186. data/app/views/shared/_gallery_entries.html.erb +0 -11
  187. data/app/views/shared/_image_fields.html.erb +0 -3
  188. data/app/views/shared/_modal.html.erb +0 -8
  189. data/app/views/shared/_new_resource_button.html.erb +0 -17
  190. data/app/views/shared/_remote_form_fields.html.erb +0 -12
  191. data/app/views/shared/edit.html.erb +0 -29
  192. data/app/views/shared/gallery_entries.js.erb +0 -1
  193. data/app/views/shared/index.html.erb +0 -68
  194. data/app/views/shared/new.html.erb +0 -41
  195. data/app/views/shared/new.js.erb +0 -2
  196. data/app/views/shared/show.html.erb +0 -92
  197. data/test/dummy/README.rdoc +0 -261
  198. data/test/dummy/config/environments/development.rb +0 -29
  199. data/test/dummy/config/environments/production.rb +0 -80
  200. data/test/dummy/lib/assets/.gitkeep +0 -0
  201. data/test/dummy/script/rails +0 -6
  202. data/test/unit/gallery_unit_test.rb +0 -21
@@ -0,0 +1,69 @@
1
+ module Adminpanel
2
+ module Sortable
3
+ extend ActiveSupport::Concern
4
+ # the lower the (position) integer is, the better it is.
5
+
6
+ included do
7
+ before_create :set_position
8
+ before_destroy :rearrange_positions
9
+
10
+ default_scope do
11
+ order('position ASC')
12
+ end
13
+ end
14
+
15
+ module ClassMethods
16
+ def is_sortable?
17
+ true
18
+ end
19
+ end
20
+
21
+ def move_to_better_position
22
+ if self.position > 1
23
+ conflicting_gallery(self.position - 1).increment!(:position)
24
+ self.decrement!(:position)
25
+
26
+ true
27
+ else
28
+ false
29
+ end
30
+ end
31
+
32
+ def move_to_worst_position
33
+ records = self.class.count
34
+ if self.position < records
35
+ conflicting_gallery(self.position + 1).decrement!(:position)
36
+ self.increment!(:position)
37
+ true
38
+ else
39
+ false
40
+ end
41
+ end
42
+
43
+ protected
44
+ def conflicting_gallery(conflicting_position)
45
+ logger.info "searching pos: #{conflicting_position}"
46
+ self.class.find_by_position(conflicting_position)
47
+ end
48
+
49
+ def rearrange_positions
50
+ unarranged_records = self.class.where(
51
+ 'position > ?', self.position
52
+ )
53
+ unarranged_records.each do |record|
54
+ record.update_attribute(:position, gallery.position - 1)
55
+ end
56
+
57
+ end
58
+
59
+ def set_position
60
+ last_record = self.class.last
61
+ if last_record.nil?
62
+ # this is the first record that is created
63
+ self.position = 1
64
+ else
65
+ self.position = last_record.position + 1
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1 @@
1
+ uploaders go here :D
@@ -30,34 +30,34 @@
30
30
 
31
31
  <!-- modal -->
32
32
  <%= content_for :modals do %>
33
- <div id="<%= metric(inside) %>" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
34
- <div class="modal-header" id="modal-header">
35
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
36
- <h3 id="modal-title">
37
- <%= I18n.t("analytics.metrics.#{metric(inside)}") %> /
38
- <%= I18n.t("analytics.metrics.#{metric(outside)}") %>
39
- </h3>
40
- </div>
41
- <div id="modal-container">
42
- <div class="modal-body">
43
- <ul>
44
- <li>
45
- <%= I18n.t("analytics.metrics.#{metric(inside)}") %>:
46
- <%= I18n.t("analytics.description.#{metric(inside)}") %>
47
- </li>
48
- <br>
49
- <li>
50
- <%= I18n.t("analytics.metrics.#{metric(outside)}") %>:
51
- <%= I18n.t("analytics.description.#{metric(outside)}") %>
52
- </li>
53
-
54
- </ul>
33
+ <div id="<%= metric(inside) %>" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
34
+ <div class="modal-header" id="modal-header">
35
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
36
+ <h3 id="modal-title">
37
+ <%= I18n.t("analytics.metrics.#{metric(inside)}") %> /
38
+ <%= I18n.t("analytics.metrics.#{metric(outside)}") %>
39
+ </h3>
55
40
  </div>
56
- <div class="modal-footer">
57
- <button id="modal-button" class="btn" data-dismiss="modal" aria-hidden="true">
58
- <%= I18n.t('action.close') %>
59
- </button>
41
+ <div id="modal-container">
42
+ <div class="modal-body">
43
+ <ul>
44
+ <li>
45
+ <%= I18n.t("analytics.metrics.#{metric(inside)}") %>:
46
+ <%= I18n.t("analytics.description.#{metric(inside)}") %>
47
+ </li>
48
+ <br>
49
+ <li>
50
+ <%= I18n.t("analytics.metrics.#{metric(outside)}") %>:
51
+ <%= I18n.t("analytics.description.#{metric(outside)}") %>
52
+ </li>
53
+
54
+ </ul>
55
+ </div>
56
+ <div class="modal-footer">
57
+ <button id="modal-button" class="btn" data-dismiss="modal" aria-hidden="true">
58
+ <%= I18n.t('action.close') %>
59
+ </button>
60
+ </div>
60
61
  </div>
61
62
  </div>
62
- </div>
63
63
  <% end %>
@@ -8,7 +8,7 @@
8
8
  :class => 'fa fa-plus-circle fa-2x') +
9
9
  content_tag(
10
10
  :span,
11
- I18n.t("action.create") + " #{@model.display_name} para #{model}",
11
+ I18n.t("action.create", resource: @model.display_name) + " para #{model}",
12
12
  nil
13
13
  ),
14
14
  :class => "btn btn-box span2"),
@@ -36,11 +36,11 @@
36
36
  <tr>
37
37
  <td><%= link_to category.name, category_path(category) %></td>
38
38
  <td>
39
- <%= render 'shared/show_icon_button', resource: category %>
39
+ <%= render 'adminpanel/icons/show', resource: category %>
40
40
 
41
- <%= render 'shared/edit_icon_button', resource: category %>
41
+ <%= render 'adminpanel/icons/edit', resource: category %>
42
42
 
43
- <%= render 'shared/delete_icon_button', resource: category %>
43
+ <%= render 'adminpanel/icons/delete', resource: category %>
44
44
  </td>
45
45
  </tr>
46
46
  <% end %>
@@ -1,13 +1,33 @@
1
- <%= adminpanel_form_for(resource, :url => {:action => :create, :model => params[:model], :model_name => params[:model_name], :currentcontroller => params[:currentcontroller], :belongs_request => params[:belongs_request]}, :remote => true, :html => {:class => "form-horizontal", :id => "new-category-form"}) do |f| -%>
1
+ <%= adminpanel_form_for(
2
+ resource,
3
+ url: {
4
+ action: :create,
5
+ model: params[:model],
6
+ model_name: params[:model_name],
7
+ currentcontroller: params[:currentcontroller],
8
+ belongs_request: params[:belongs_request]
9
+ },
10
+ remote: true,
11
+ html: {
12
+ class: "form-horizontal",
13
+ id: "new-category-form"
14
+ }
15
+ ) do |f| %>
2
16
  <div class="row-fluid">
3
17
  <div class="modal-body">
4
- <%= render 'shared/error_messages', :object => resource %>
5
- <%= render 'shared/form_fields', :f => f, :remote_request => true %>
6
- <%= f.hidden_field :model, :value => params[:model] %>
18
+ <%= render 'adminpanel/shared/error_messages', object: resource %>
19
+ <%= render 'adminpanel/shared/form_fields', f: f %>
20
+ <%= f.hidden_field :model, value: params[:model] %>
7
21
  </div>
8
22
  </div>
9
23
  <div class="modal-footer">
10
24
  <button id="modal-button" class="btn" data-dismiss="modal" aria-hidden="true"><%= I18n.t('action.close') %></button>
11
- <%= f.submit t("action.add") + " " + @model.display_name, data:{:disable_with => t("action.submitting")}, :id =>"new-#{@model.name.demodulize}-button" %>
25
+ <%= f.submit(
26
+ t("action.add", resource: @model.display_name),
27
+ data: {
28
+ disable_with: t("action.submitting")
29
+ },
30
+ id: "new-#{@model.name.demodulize}-button"
31
+ ) %>
12
32
  </div>
13
- <% end -%>
33
+ <% end %>
@@ -1,7 +1,6 @@
1
- // $("#modal-button").trigger("click");
2
1
  $('#new-category').modal('toggle');
3
- row = "<tr><td><%= escape_javascript link_to resource.name, category_path(resource) %></td>";
4
- row = row + "<td><%= escape_javascript link_to content_tag(:i, nil, :class => 'fa fa-pencil'), edit_category_path(category), :title => 'Editar' %> ";
5
- row = row + "<%= escape_javascript link_to content_tag(:i, nil, :class => 'fa fa-remove'),[category], :title => 'Editar', :method => :delete %></td>";
2
+ row = "<tr><td><%= escape_javascript link_to @resource_instance.name, category_path(@resource_instance) %></td>";
3
+ row = row + "<td><%= escape_javascript link_to content_tag(:i, nil, class: 'fa fa-pencil'), edit_category_path(@resource_instance), title: 'Editar' %> ";
4
+ row = row + "<%= escape_javascript link_to content_tag(:i, nil, class: 'fa fa-remove'),[@resource_instance], title: 'Editar', method: :delete %></td>";
6
5
  row = row + "</tr>";
7
- $("#<%= resource.model %>-table").append(row);
6
+ $("#<%= @resource_instance.model %>-table").append(row);
@@ -1,7 +1,7 @@
1
1
  <%= provide(:page_title, I18n.t('model.Categories')) %>
2
2
 
3
3
  <div class="row-fluid">
4
- <div class="widget widget-padding span12" id="wizard">
4
+ <div class="widget widget-padding span12">
5
5
  <div class="widget-header">
6
6
  <ul class="nav nav-tabs">
7
7
  <% current_page = "no-page" %>
@@ -24,19 +24,24 @@
24
24
 
25
25
  <div class="widget-body">
26
26
  <div class="tab-content">
27
- <% current_page = "no-page" %>
28
- <% @categories.each_with_index do |categories, index| %>
27
+ <% current_page = 'no-page' %>
28
+ <% @categories.each_with_index do |category, index| %>
29
29
 
30
- <% if current_page != categories.model %>
30
+ <% if current_page != category.model %>
31
31
  <% if index == 0 %>
32
32
  <div class="tab-pane active" id="tab<%= index %>">
33
33
  <% else %>
34
34
  <div class="tab-pane" id="tab<%= index %>">
35
35
  <% end %>
36
- <% current_cateogory_records = Adminpanel::Category.of_model categories.model %>
37
- <%= render "categories_table", :categories => current_cateogory_records, :model => categories.model %>
36
+ <% current_cateogory_records = @categories.select {|c| c.model == category.model } %>
37
+ <%=
38
+ render(
39
+ 'categories_table',
40
+ categories: current_cateogory_records,
41
+ model: category.model
42
+ ) %>
38
43
  </div>
39
- <% current_page = categories.model %>
44
+ <% current_page = category.model %>
40
45
  <% end %>
41
46
  <% end %>
42
47
  </div>
@@ -45,12 +50,14 @@
45
50
  </div>
46
51
  </div>
47
52
 
48
- <!-- example modal -->
49
- <div id="new-category" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
50
- <div class="modal-header" id="modal-header">
51
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
52
- <h3 id="myModalLabel">Crear Categoría</h3>
53
- </div>
54
- <div id="modal-container">
55
- </div>
56
- </div>
53
+ <!-- modal -->
54
+ <%= render(
55
+ 'adminpanel/shared/modal',
56
+ id: 'new-category',
57
+ title: (
58
+ I18n.t(
59
+ 'action.create',
60
+ resource: I18n.t('model.Category')
61
+ )
62
+ )
63
+ ) %>
@@ -1,2 +1,2 @@
1
1
  $("#modal-title").html('Agregar <%= @model.display_name %>');
2
- $("#modal-container").html('<%= escape_javascript(render "category_form", :resource => resource) %>');
2
+ $("#modal-container").html('<%= escape_javascript(render "category_form", :resource => @resource_instance) %>');
@@ -0,0 +1,24 @@
1
+ <% if !is_modal %>
2
+ <!-- if not making resource from other form -->
3
+ <%= content_tag(
4
+ :div,
5
+ class: 'file-collection-container',
6
+ data: {
7
+ max: properties['max-files'].nil? ? 0 : properties['max-files']
8
+ }
9
+ ) do %>
10
+ <%= f.fields_for(attribute) do |builder| %>
11
+ <%= render 'adminpanel/shared/image_fields', f: builder %>
12
+ <% end -%>
13
+
14
+ <% if (
15
+ properties['max-files'].to_i != 0 &&
16
+ properties['max-files'].to_i <= f.object.send(@model.get_image_relationship).count.to_i
17
+ ) %>
18
+ <% hidden = 'hidden' %>
19
+ <% else %>
20
+ <% hidden = 'not-hidden' %>
21
+ <% end %>
22
+ <%= link_to_add_fields I18n.t('Add Image'), f, attribute, hidden %>
23
+ <% end %>
24
+ <% end %>
@@ -0,0 +1,24 @@
1
+ <% args = properties.except('model') %>
2
+ <%= f.select(
3
+ attribute,
4
+ (
5
+ @collections["#{properties["model"]}"].collect do |resource|
6
+ [resource.name, resource.id]
7
+ end
8
+ ),
9
+ args
10
+ ) %>
11
+
12
+
13
+ <% if (
14
+ !is_modal &&
15
+ (
16
+ properties['remote_resource'].nil? ||
17
+ properties['remote_resource']
18
+ )
19
+ ) %>
20
+ <!-- if rendering the form inside a modal, so we don't have to
21
+ manage infinited nested forms -->
22
+
23
+ <%= render 'adminpanel/shared/create_remote_resource_button', belongs_request: true, remote_resource_name: properties['model'] %>
24
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <% if !is_modal %>
2
+ <% args = properties.except('name') %>
3
+ <%= f.file_field(attribute, properties) %>
4
+ <% end %>
@@ -0,0 +1,19 @@
1
+ <div class="control-group">
2
+ <div class="control-label">
3
+ <%= properties['label'] %>
4
+ </div>
5
+ <%= hidden_field_tag("#{class_name_downcase(f.object)}[#{relationship_ids(properties["model"])}][]", nil) %>
6
+ <div class="controls" id="<%= properties['model'].demodulize.downcase %>-relation">
7
+ <% @collections["#{properties['model']}"].each do |resource| %>
8
+ <%= f.checkbox(resource, class_name_downcase(f.object), relationship_ids(properties['model'])) %>
9
+ <% end %>
10
+ </div>
11
+ </div>
12
+ <%#= debug params %>
13
+ <% if !is_modal %>
14
+ <!-- if not making resource from other form so we don't have to manage
15
+ infinite nested forms and relations -->
16
+ <% if(properties['remote_resource'].nil? || properties['remote_resource']) %>
17
+ <%= render 'adminpanel/shared/create_remote_resource_button', remote_resource_name: properties['model'] %>
18
+ <% end %>
19
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <% if !is_modal %>
2
+ <% args = properties.except('name') %>
3
+ <%= f.non_image_file_field(attribute, properties) %>
4
+ <% end %>
@@ -10,7 +10,9 @@
10
10
  title: 'Eliminar',
11
11
  id: 'resource-delete',
12
12
  method: :delete,
13
- data: { confirm: "Eliminar #{resource.name}?"}
13
+ data: {
14
+ confirm: "Eliminar #{resource.name}?"
15
+ }
14
16
  )
15
17
  %>
16
18
  <% end %>
@@ -4,11 +4,11 @@
4
4
  content_tag(
5
5
  :i,
6
6
  nil,
7
- :class => 'fa fa-pencil'
7
+ class: 'fa fa-pencil'
8
8
  ),
9
9
  [:edit, resource],
10
- :title => t("action.update") + " #{resource.name}",
11
- data: { no_turbolink: true }
10
+ title: I18n.t('action.update') + " #{resource.name}",
11
+ class: 'spinner-link'
12
12
  )
13
13
  %>
14
14
  <% end %>
@@ -1,11 +1,12 @@
1
1
  <%
2
2
  if @model.fb_share? && can?(:publish, @model)
3
- if @fb_auths_count > 0
4
- link = '#'
5
- options = { target: "#fb-#{resource.id}", toggle: 'modal' }
6
- else
3
+ if @fb_auths_count.nil?
7
4
  link = get_oauth_link(resource)
8
5
  options = {}
6
+ else
7
+ link = '#'
8
+ options = { target: "#fb-#{resource.id}", toggle: 'modal' }
9
+
9
10
  end
10
11
  %>
11
12
  <%=
@@ -22,5 +23,5 @@ if @model.fb_share? && can?(:publish, @model)
22
23
  )
23
24
  %>
24
25
  <!-- the modal that it's going to toggle if exist the fb acces token -->
25
- <%= render 'shared/fb_publish_modal', resource: resource %>
26
+ <%= render 'adminpanel/shared/fb_publish_modal', resource: resource %>
26
27
  <% end %>
@@ -0,0 +1,16 @@
1
+ <% if @model.has_route?(:edit) && can?(:update, @model) %>
2
+ <% if ! defined? path %>
3
+ <!-- if defined we're called from gallery sort -->
4
+ <% path = [:move_to_better, member] %>
5
+ <% end %>
6
+ <%= link_to(
7
+ content_tag(
8
+ :i,
9
+ nil,
10
+ class: 'fa fa-chevron-up'
11
+ ),
12
+ path,
13
+ method: :put,
14
+ remote: true
15
+ ) %>
16
+ <% end %>
@@ -0,0 +1,17 @@
1
+ <% if @model.has_route?(:edit) && can?(:update, @model) %>
2
+ <% if ! defined? path %>
3
+ <!-- if defined we're called for gallery sort -->
4
+ <% path = [:move_to_worst, member] %>
5
+ <% end %>
6
+
7
+ <%= link_to(
8
+ content_tag(
9
+ :i,
10
+ nil,
11
+ class: 'fa fa-chevron-down'
12
+ ),
13
+ path,
14
+ method: :put,
15
+ remote: true
16
+ ) %>
17
+ <% end %>