diff --git a/public/javascripts/page-snippet-picker.js b/app/assets/javascripts/page-snippet-picker.js similarity index 100% rename from public/javascripts/page-snippet-picker.js rename to app/assets/javascripts/page-snippet-picker.js diff --git a/public/javascripts/part-snippets-select.js b/app/assets/javascripts/part-snippets-select.js similarity index 100% rename from public/javascripts/part-snippets-select.js rename to app/assets/javascripts/part-snippets-select.js diff --git a/public/stylesheets/page-snippet-picker.css b/app/assets/stylesheets/page-snippet-picker.css similarity index 100% rename from public/stylesheets/page-snippet-picker.css rename to app/assets/stylesheets/page-snippet-picker.css diff --git a/app/controllers/admin/snippets_controller.rb b/app/controllers/admin/snippets_controller.rb deleted file mode 100644 index e02032d..0000000 --- a/app/controllers/admin/snippets_controller.rb +++ /dev/null @@ -1,36 +0,0 @@ -module Admin - class SnippetsController < Admin::BaseController - - crudify :snippet, :xhr_paging => true - - def create - if (@snippet = Snippet.create(params[:snippet])).valid? - (request.xhr? ? flash.now : flash).notice = t( - 'refinery.crudify.created', - :what => "#{@snippet.title}" - ) - - unless request.xhr? - redirect_to (params[:continue_editing] =~ /1/ ? edit_admin_snippet_path(@snippet) : admin_snippets_url) - else - response = Hash.new - response['redirect'] = edit_admin_snippet_path(@snippet) if params[:continue_editing] - render :json => response - end - - else - unless request.xhr? - render :action => 'new' - else - html_snippets = Hash.new - html_snippets['flash_container'] = render_to_string(:partial => "/shared/admin/error_messages", - :locals => { - :object => @snippet, - :include_object_name => true - }) - render :json => {'snippets' => html_snippets} - end - end - end - end -end diff --git a/app/controllers/admin/snippets_page_parts_controller.rb b/app/controllers/admin/snippets_page_parts_controller.rb deleted file mode 100644 index e91ad78..0000000 --- a/app/controllers/admin/snippets_page_parts_controller.rb +++ /dev/null @@ -1,36 +0,0 @@ -module Admin - class SnippetsPagePartsController < Admin::BaseController - - def add - @page = Page.find(params[:id]) - @part = PagePart.find(params[:part_id]) - @snippet = Snippet.find(params[:snippet_id]) - before_body = params[:before_body] == 'true' ? true : false - - sp = SnippetPagePart.new(:page_part => @part, :snippet => @snippet, :before_body => before_body) - - if sp.save - flash[:notice] = "Snippet #{@snippet.title} was successfully added." - end - - render :layout => false if request.xhr? - end - - def remove - @page = Page.find(params[:id]) - @part = PagePart.find(params[:part_id]) - @snippet = Snippet.find(params[:snippet_id]) - before_body = params[:before_body] == 'true' ? true : false - - sp = SnippetPagePart.where(:page_part_id => @part, :snippet_id => @snippet, :before_body => before_body) - - removed = sp.first.destroy() unless sp.empty? - - if removed - flash[:notice] = "Snippet #{@snippet.title} was successfully removed." - end - - render :layout => false if request.xhr? - end - end -end diff --git a/app/controllers/refinery/snippets/admin/snippets_controller.rb b/app/controllers/refinery/snippets/admin/snippets_controller.rb new file mode 100644 index 0000000..db680b8 --- /dev/null +++ b/app/controllers/refinery/snippets/admin/snippets_controller.rb @@ -0,0 +1,46 @@ +module Refinery + module Snippets + module Admin + class SnippetsController < ::Refinery::AdminController + + crudify :snippet, :xhr_paging => true + + def create + if (@snippet = Snippet.create(snippet_params)).valid? + (request.xhr? ? flash.now : flash).notice = t( + 'refinery.crudify.created', + :what => "#{@snippet.title}" + ) + + unless request.xhr? + redirect_to (params[:continue_editing] =~ /1/ ? edit_snippets_admin_snippet_path(@snippet) : snippets_admin_snippets_url) + else + response = Hash.new + response['redirect'] = edit_snippets_admin_snippet_path(@snippet) if params[:continue_editing] + render :json => response + end + + else + unless request.xhr? + render :action => 'new' + else + html_snippets = Hash.new + html_snippets['flash_container'] = render_to_string(:partial => "/refinery/admin/error_messages", + :locals => { + :object => @snippet, + :include_object_name => true + }) + render :json => {'snippets' => html_snippets} + end + end + end + + private + + def snippet_params + params.require(:snippet).permit(:title, :body) + end + end + end + end +end diff --git a/app/controllers/refinery/snippets/admin/snippets_page_parts_controller.rb b/app/controllers/refinery/snippets/admin/snippets_page_parts_controller.rb new file mode 100644 index 0000000..d58f5ab --- /dev/null +++ b/app/controllers/refinery/snippets/admin/snippets_page_parts_controller.rb @@ -0,0 +1,40 @@ +module Refinery + module Snippets + module Admin + class SnippetsPagePartsController < Admin::BaseController + + def add + @page = Page.find(params[:id]) + @part = PagePart.find(params[:part_id]) + @snippet = Snippet.find(params[:snippet_id]) + before_body = params[:before_body] == 'true' ? true : false + + sp = SnippetPagePart.new(:page_part => @part, :snippet => @snippet, :before_body => before_body) + + if sp.save + flash[:notice] = "Snippet #{@snippet.title} was successfully added." + end + + render :layout => false if request.xhr? + end + + def remove + @page = Page.find(params[:id]) + @part = PagePart.find(params[:part_id]) + @snippet = Snippet.find(params[:snippet_id]) + before_body = params[:before_body] == 'true' ? true : false + + sp = SnippetPagePart.where(:page_part_id => @part, :snippet_id => @snippet, :before_body => before_body) + + removed = sp.first.destroy() unless sp.empty? + + if removed + flash[:notice] = "Snippet #{@snippet.title} was successfully removed." + end + + render :layout => false if request.xhr? + end + end + end + end +end diff --git a/app/models/snippet.rb b/app/models/snippet.rb index f712dba..b7ff048 100644 --- a/app/models/snippet.rb +++ b/app/models/snippet.rb @@ -9,14 +9,14 @@ class Snippet < ActiveRecord::Base has_many :snippet_page_parts, :dependent => :destroy has_many :page_parts, :through => :snippet_page_parts - named_scope :for_page, lambda{ |page| + scope :for_page, lambda { |page| raise RuntimeError.new("Couldn't find Snippet for a nil Page") if page.blank? joins(:page_parts => :page).where(:pages => {:id => page.id}) } - scope :before, where(:snippets_page_parts => {:before_body => true}) - scope :after, where(:snippets_page_parts => {:before_body => false}) + scope :before, -> { where(:snippets_page_parts => {:before_body => true}) } + scope :after, -> { where(:snippets_page_parts => {:before_body => false}) } # rejects any page that has not been translated to the current locale. scope :translated, lambda { diff --git a/app/models/snippet_page.rb b/app/models/snippet_page.rb index eb74e15..e4d0e3b 100644 --- a/app/models/snippet_page.rb +++ b/app/models/snippet_page.rb @@ -1,6 +1,6 @@ class SnippetPage < ActiveRecord::Base - set_table_name 'snippet_page' + self.table_name = 'snippet_page' belongs_to :snippet, :foreign_key => :snippet_id belongs_to :page, :foreign_key => :page_id diff --git a/app/models/snippet_page_part.rb b/app/models/snippet_page_part.rb index ebf89fb..d8fff2c 100644 --- a/app/models/snippet_page_part.rb +++ b/app/models/snippet_page_part.rb @@ -1,6 +1,6 @@ class SnippetPagePart < ActiveRecord::Base - set_table_name 'snippets_page_parts' + self.table_name = 'snippets_page_parts' belongs_to :snippet, :foreign_key => :snippet_id belongs_to :page_part, :foreign_key => :page_part_id diff --git a/app/views/admin/pages/tabs/_snippets.html.erb b/app/views/admin/pages/tabs/_snippets.html.erb deleted file mode 100644 index 2091670..0000000 --- a/app/views/admin/pages/tabs/_snippets.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -
- <%= render :partial => '/admin/pages/tabs/snippets_content', :locals => {:f => f} %> -
\ No newline at end of file diff --git a/app/views/admin/snippets_page_parts/add.html.erb b/app/views/admin/snippets_page_parts/add.html.erb deleted file mode 100644 index 43e1a28..0000000 --- a/app/views/admin/snippets_page_parts/add.html.erb +++ /dev/null @@ -1 +0,0 @@ -<%= render :partial => '/admin/pages/tabs/snippets_content' %> \ No newline at end of file diff --git a/app/views/admin/snippets_page_parts/remove.html.erb b/app/views/admin/snippets_page_parts/remove.html.erb deleted file mode 100644 index 43e1a28..0000000 --- a/app/views/admin/snippets_page_parts/remove.html.erb +++ /dev/null @@ -1 +0,0 @@ -<%= render :partial => '/admin/pages/tabs/snippets_content' %> \ No newline at end of file diff --git a/app/views/refinery/snippets/admin/pages/tabs/_snippets.html.erb b/app/views/refinery/snippets/admin/pages/tabs/_snippets.html.erb new file mode 100644 index 0000000..2dcb51e --- /dev/null +++ b/app/views/refinery/snippets/admin/pages/tabs/_snippets.html.erb @@ -0,0 +1,3 @@ +
+ <%= render :partial => '/refinery/snippets/admin/pages/tabs/snippets_content', :locals => {:f => f} %> +
\ No newline at end of file diff --git a/app/views/admin/pages/tabs/_snippets_content.html.erb b/app/views/refinery/snippets/admin/pages/tabs/_snippets_content.html.erb similarity index 82% rename from app/views/admin/pages/tabs/_snippets_content.html.erb rename to app/views/refinery/snippets/admin/pages/tabs/_snippets_content.html.erb index df74592..8142edc 100644 --- a/app/views/admin/pages/tabs/_snippets_content.html.erb +++ b/app/views/refinery/snippets/admin/pages/tabs/_snippets_content.html.erb @@ -8,7 +8,7 @@ <% end %> - <%= render :partial => '/admin/pages/tabs/snippets_field', :collection => @page.parts, :as => :part %> + <%= render :partial => '/refinery/snippets/admin/pages/tabs/snippets_field', :collection => @page.parts, :as => :part %> <% end %> <% content_for :stylesheets do %> diff --git a/app/views/admin/pages/tabs/_snippets_field.html.erb b/app/views/refinery/snippets/admin/pages/tabs/_snippets_field.html.erb similarity index 63% rename from app/views/admin/pages/tabs/_snippets_field.html.erb rename to app/views/refinery/snippets/admin/pages/tabs/_snippets_field.html.erb index 8088c07..9dcb175 100644 --- a/app/views/admin/pages/tabs/_snippets_field.html.erb +++ b/app/views/refinery/snippets/admin/pages/tabs/_snippets_field.html.erb @@ -3,13 +3,13 @@ <% if part.snippets.before.any? %>

<%= t('.before_body') %>

<% end %> <% if part.snippets.after.any? %>

<%= t('.after_body') %>

<% end %> @@ -23,12 +23,12 @@ <%= snippet.title %>
<% unless snippet.after?(part) %> - <%= link_to t('.add_after_body'), {:controller => 'snippets_page_parts', :action => 'add', :id => @page.id, :snippet_id => snippet.id, :part_id => part.id}, :class => 'add_icon add-snippet' %> + <%= link_to t('.add_after_body'), {:controller => 'refinery/snippets/admin/snippets_page_parts', :action => 'add', :id => @page.id, :snippet_id => snippet.id, :part_id => part.id}, :class => 'add_icon add-snippet' %> <% else %> <%= t('.add_after_body') %> <% end %> <% unless snippet.before?(part) %> - <%= link_to t('.add_before_body'), {:controller => 'snippets_page_parts', :action => 'add', :id => @page.id, :snippet_id => snippet.id, :part_id => part.id, :before_body => 'true'}, :class => 'add_icon add-snippet' %> + <%= link_to t('.add_before_body'), {:controller => 'refinery/snippets/admin/snippets_page_parts', :action => 'add', :id => @page.id, :snippet_id => snippet.id, :part_id => part.id, :before_body => 'true'}, :class => 'add_icon add-snippet' %> <% else %> <%= t('.add_before_body') %> <% end %> diff --git a/app/views/admin/pages/tabs/_snippets_list_item.html.erb b/app/views/refinery/snippets/admin/pages/tabs/_snippets_list_item.html.erb similarity index 58% rename from app/views/admin/pages/tabs/_snippets_list_item.html.erb rename to app/views/refinery/snippets/admin/pages/tabs/_snippets_list_item.html.erb index 9e3e390..f8fa39d 100644 --- a/app/views/admin/pages/tabs/_snippets_list_item.html.erb +++ b/app/views/refinery/snippets/admin/pages/tabs/_snippets_list_item.html.erb @@ -2,7 +2,7 @@ <%= snippet.title %> <% if defined?(::Refinery::I18n) and ::Refinery::I18n.frontend_locales.many? and - (locales = snippet.translations.collect{|t| t.locale}).present? %> + (locales = snippet.translations.collect{|t| t.locale}).present? %> <% locales.each do |locale| %> <%= refinery_icon_tag "flags/#{locale}.png", :size => '16x11' %> @@ -11,10 +11,10 @@ <% end %> - <%= link_to refinery_icon_tag('application_edit.png'), edit_admin_snippet_path(snippet), - :title => t('.edit') %> - <%= link_to refinery_icon_tag('delete.png'), url_for({:controller => 'snippets_page_parts', :action => 'remove', :id => @page.id, :snippet_id => snippet.id, :part_id => part.id, :before_body => before_body}), - :title => t('.remove'), - :class => 'remove-snippet' %> + <%= link_to refinery_icon_tag('application_edit.png'), edit_snippets_admin_snippet_path(snippet), + :title => t('.edit') %> + <%= link_to refinery_icon_tag('delete.png'), url_for({:controller => 'refinery/snippets/admin/snippets_page_parts', :action => 'remove', :id => @page.id, :snippet_id => snippet.id, :part_id => part.id, :before_body => before_body}), + :title => t('.remove'), + :class => 'remove-snippet' %> diff --git a/app/views/admin/snippets/_actions.html.erb b/app/views/refinery/snippets/admin/snippets/_actions.html.erb similarity index 53% rename from app/views/admin/snippets/_actions.html.erb rename to app/views/refinery/snippets/admin/snippets/_actions.html.erb index 23eb905..26fb84f 100644 --- a/app/views/admin/snippets/_actions.html.erb +++ b/app/views/refinery/snippets/admin/snippets/_actions.html.erb @@ -1,25 +1,25 @@ diff --git a/app/views/admin/snippets/_records.html.erb b/app/views/refinery/snippets/admin/snippets/_records.html.erb similarity index 64% rename from app/views/admin/snippets/_records.html.erb rename to app/views/refinery/snippets/admin/snippets/_records.html.erb index f926e36..e149126 100644 --- a/app/views/admin/snippets/_records.html.erb +++ b/app/views/refinery/snippets/admin/snippets/_records.html.erb @@ -1,5 +1,5 @@ <% if searching? %> -

<%= t('results_for', :scope => 'shared.admin.search', :query => params[:search]) %>

+

<%= t('results_for_html', :scope => 'refinery.admin.search', :query => params[:search]) %>

<% end %> <% if @snippets.any? %>
@@ -12,7 +12,7 @@ <%= t('.no_items_yet') %> <% else %> - <%= t('no_results', :scope => 'shared.admin.search') %> + <%= t('no_results', :scope => 'refinery.admin.search') %> <% end %>

<% end %> \ No newline at end of file diff --git a/app/views/admin/snippets/_snippet.html.erb b/app/views/refinery/snippets/admin/snippets/_snippet.html.erb similarity index 77% rename from app/views/admin/snippets/_snippet.html.erb rename to app/views/refinery/snippets/admin/snippets/_snippet.html.erb index 9ec6612..63b18a3 100644 --- a/app/views/admin/snippets/_snippet.html.erb +++ b/app/views/refinery/snippets/admin/snippets/_snippet.html.erb @@ -11,12 +11,12 @@ <% end %> - <%= link_to refinery_icon_tag("application_edit.png"), edit_admin_snippet_path(snippet), + <%= link_to refinery_icon_tag("application_edit.png"), edit_snippets_admin_snippet_path(snippet), :title => t('.edit') %> - <%= link_to refinery_icon_tag("delete.png"), admin_snippet_path(snippet), + <%= link_to refinery_icon_tag("delete.png"), snippets_admin_snippet_path(snippet), :class => "cancel confirm-delete", :title => t('.delete'), - :confirm => t('message', :scope => 'shared.admin.delete', :title => snippet.title), + :confirm => t('message', :scope => 'refinery.admin.delete', :title => snippet.title), :method => :delete %> diff --git a/app/views/admin/snippets/_snippets.html.erb b/app/views/refinery/snippets/admin/snippets/_snippets.html.erb similarity index 100% rename from app/views/admin/snippets/_snippets.html.erb rename to app/views/refinery/snippets/admin/snippets/_snippets.html.erb diff --git a/app/views/admin/snippets/_sortable_list.html.erb b/app/views/refinery/snippets/admin/snippets/_sortable_list.html.erb similarity index 81% rename from app/views/admin/snippets/_sortable_list.html.erb rename to app/views/refinery/snippets/admin/snippets/_sortable_list.html.erb index 9ec1fc9..2dbe572 100644 --- a/app/views/admin/snippets/_sortable_list.html.erb +++ b/app/views/refinery/snippets/admin/snippets/_sortable_list.html.erb @@ -1,7 +1,7 @@
    <%= render :partial => 'snippet', :collection => @snippets %>
-<%= render :partial => "/shared/admin/sortable_list", +<%= render :partial => "/refinery/admin/sortable_list", :locals => { :continue_reordering => (local_assigns.keys.include?(:continue_reordering)) ? continue_reordering : true } %> diff --git a/app/views/admin/snippets/edit.html.erb b/app/views/refinery/snippets/admin/snippets/edit.html.erb similarity index 100% rename from app/views/admin/snippets/edit.html.erb rename to app/views/refinery/snippets/admin/snippets/edit.html.erb diff --git a/app/views/admin/snippets/index.html.erb b/app/views/refinery/snippets/admin/snippets/index.html.erb similarity index 53% rename from app/views/admin/snippets/index.html.erb rename to app/views/refinery/snippets/admin/snippets/index.html.erb index bd79fa2..3b7bcf1 100644 --- a/app/views/admin/snippets/index.html.erb +++ b/app/views/refinery/snippets/admin/snippets/index.html.erb @@ -4,7 +4,7 @@ -<%= render :partial => '/shared/admin/make_sortable', +<%= render :partial => '/refinery/admin/make_sortable', :locals => { :tree => false - } if !searching? and Admin::SnippetsController.sortable? and Snippet.count > 1 %> + } if !searching? and Refinery::Snippets::Admin::SnippetsController.sortable? and Snippet.count > 1 %> diff --git a/app/views/admin/snippets/new.html.erb b/app/views/refinery/snippets/admin/snippets/new.html.erb similarity index 100% rename from app/views/admin/snippets/new.html.erb rename to app/views/refinery/snippets/admin/snippets/new.html.erb diff --git a/app/views/refinery/snippets/admin/snippets_page_parts/add.html.erb b/app/views/refinery/snippets/admin/snippets_page_parts/add.html.erb new file mode 100644 index 0000000..e70646e --- /dev/null +++ b/app/views/refinery/snippets/admin/snippets_page_parts/add.html.erb @@ -0,0 +1 @@ +<%= render :partial => '/refinery/snippets/admin/pages/tabs/snippets_content' %> \ No newline at end of file diff --git a/app/views/refinery/snippets/admin/snippets_page_parts/remove.html.erb b/app/views/refinery/snippets/admin/snippets_page_parts/remove.html.erb new file mode 100644 index 0000000..e70646e --- /dev/null +++ b/app/views/refinery/snippets/admin/snippets_page_parts/remove.html.erb @@ -0,0 +1 @@ +<%= render :partial => '/refinery/snippets/admin/pages/tabs/snippets_content' %> \ No newline at end of file diff --git a/config/locales/cs.yml b/config/locales/cs.yml index ca3f6fc..147668c 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -1,35 +1,34 @@ cs: - plugins: - snippets: - title: Výstřižky - admin: - snippets: - actions: - create_new: Přidat nový výstřižek - reorder: Přeuspořádat výstřižky - reorder_done: Dokončit přeuspořádávání výstřižků - records: + refinery: + plugins: + snippets: title: Výstřižky - sorry_no_results: Zadaným kritériím neodpovídají žádné výstřižky - no_items_yet: Žádné výstřižky zatím nebyly nalezeny. Klikněte na "Přidat nový výstřižek" pro přidání prvního výstřižku. - snippet: - view_live_html: Zobrazí výstřižek živě
(zobrazí se v novém okně) - edit: Upravit výstřižek - delete: Odstranit výstřižek - pages: - tabs: - snippets_content: - please_save_page_before: Před přidáním výstřižků prosím uložte tuto stránku. - snippets_field: - active: Aktivní - inactive: Neaktivní - add_after_body: Přidat za obsah - add_before_body: Přidat před obsah - after_body: Před obsah - before_body: Za obsah - snippets_list_item: - remove: Odstranit - edit: Upravit - snippets: - show: - other: Další výstřižky + snippets: + admin: + snippets: + actions: + create_new: Přidat nový výstřižek + reorder: Přeuspořádat výstřižky + reorder_done: Dokončit přeuspořádávání výstřižků + records: + title: Výstřižky + sorry_no_results: Zadaným kritériím neodpovídají žádné výstřižky + no_items_yet: Žádné výstřižky zatím nebyly nalezeny. Klikněte na "Přidat nový výstřižek" pro přidání prvního výstřižku. + snippet: + view_live_html: Zobrazí výstřižek živě
(zobrazí se v novém okně) + edit: Upravit výstřižek + delete: Odstranit výstřižek + pages: + tabs: + snippets_content: + please_save_page_before: Před přidáním výstřižků prosím uložte tuto stránku. + snippets_field: + active: Aktivní + inactive: Neaktivní + add_after_body: Přidat za obsah + add_before_body: Přidat před obsah + after_body: Před obsah + before_body: Za obsah + snippets_list_item: + remove: Odstranit + edit: Upravit diff --git a/config/locales/en.yml b/config/locales/en.yml index cf7c67e..6ff8f53 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,35 +1,34 @@ en: - plugins: - snippets: - title: Snippets - admin: - snippets: - actions: - create_new: Add New Snippet - reorder: Reorder Snippets - reorder_done: Done Reordering Snippets - records: + refinery: + plugins: + snippets: title: Snippets - sorry_no_results: Sorry! There are no results found. - no_items_yet: There are no Snippets yet. Click "Add New Snippet" to add your first snippet. - snippet: - view_live_html: View this snippet live
(opens in a new window) - edit: Edit this snippet - delete: Remove this snippet forever - pages: - tabs: - snippets_content: - please_save_page_before: Please save this page before you can add any snippets. - snippets_field: - active: Active - inactive: Inactive - add_after_body: Add after body - add_before_body: Add before body - after_body: After body - before_body: Before body - snippets_list_item: - remove: Remove - edit: Edit - snippets: - show: - other: Other Snippets + snippets: + admin: + snippets: + actions: + create_new: Add New Snippet + reorder: Reorder Snippets + reorder_done: Done Reordering Snippets + records: + title: Snippets + sorry_no_results: Sorry! There are no results found. + no_items_yet: There are no Snippets yet. Click "Add New Snippet" to add your first snippet. + snippet: + view_live_html: View this snippet live
(opens in a new window) + edit: Edit this snippet + delete: Remove this snippet forever + pages: + tabs: + snippets_content: + please_save_page_before: Please save this page before you can add any snippets. + snippets_field: + active: Active + inactive: Inactive + add_after_body: Add after body + add_before_body: Add before body + after_body: After body + before_body: Before body + snippets_list_item: + remove: Remove + edit: Edit diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 5b9a89b..b4f900e 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -1,21 +1,20 @@ nl: - plugins: - snippets: - title: Snippets - admin: - snippets: - actions: - create_new: Maak een nieuwe Snippet - reorder: Wijzig de volgorde van de Snippets - reorder_done: Klaar met het wijzingen van de volgorde van de Snippets - records: + refinery: + plugins: + snippets: title: Snippets - sorry_no_results: Helaas! Er zijn geen resultaten gevonden. - no_items_yet: Er zijn nog geen Snippets. Druk op 'Maak een nieuwe Snippet' om de eerste aan te maken. - snippet: - view_live_html: Bekijk deze snippet op de website
(opent een nieuw venster) - edit: Bewerk deze snippet - delete: Verwijder deze snippet voor eeuwig - snippets: - show: - other: Andere Snippets + snippets: + admin: + snippets: + actions: + create_new: Maak een nieuwe Snippet + reorder: Wijzig de volgorde van de Snippets + reorder_done: Klaar met het wijzingen van de volgorde van de Snippets + records: + title: Snippets + sorry_no_results: Helaas! Er zijn geen resultaten gevonden. + no_items_yet: Er zijn nog geen Snippets. Druk op 'Maak een nieuwe Snippet' om de eerste aan te maken. + snippet: + view_live_html: Bekijk deze snippet op de website
(opent een nieuw venster) + edit: Bewerk deze snippet + delete: Verwijder deze snippet voor eeuwig diff --git a/config/routes.rb b/config/routes.rb index 15a0746..dfb7d54 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,19 +1,20 @@ -Refinery::Application.routes.draw do +Refinery::Core::Engine.routes.draw do - scope(:path => 'refinery', :as => 'admin', :module => 'admin') do - resources :snippets do - collection do - post :update_positions - end - - resources :snippets_page_parts do - member do - get 'add' - get 'remove' + namespace :snippets, :path => '' do + namespace :admin, :path => Refinery::Core.backend_route do + resources :snippets do + collection do + post :update_positions + end + + resources :snippets_page_parts do + member do + get 'add' + get 'remove' + end end end end - end end diff --git a/db/migrate/1_create_snippets.rb b/db/migrate/1_create_snippets.rb index 4be36e8..b1c7170 100644 --- a/db/migrate/1_create_snippets.rb +++ b/db/migrate/1_create_snippets.rb @@ -7,14 +7,14 @@ def self.up t.integer :position, :null => false, :default => 0 t.timestamps end - - load(Rails.root.join('db', 'seeds', 'snippets.rb')) end def self.down - UserPlugin.destroy_all({:name => "snippets"}) + if defined?(Refinery::UserPlugin) + Refinery::UserPlugin.destroy_all({:name => "snippets"}) + end - Page.delete_all({:link_url => "/snippets"}) + Refinery::Page.delete_all({:link_url => "/snippets"}) drop_table :snippets end diff --git a/db/migrate/3_translate_snippets.rb b/db/migrate/3_translate_snippets.rb index 28c1e2f..1dfc192 100644 --- a/db/migrate/3_translate_snippets.rb +++ b/db/migrate/3_translate_snippets.rb @@ -9,8 +9,6 @@ def self.up :migrate_data => true }) end - - load(Rails.root.join('db', 'seeds', 'snippets.rb').to_s) end def self.down diff --git a/db/migrate/4_create_snippets_page_parts.rb b/db/migrate/4_create_snippets_page_parts.rb index d6a8add..00a6107 100644 --- a/db/migrate/4_create_snippets_page_parts.rb +++ b/db/migrate/4_create_snippets_page_parts.rb @@ -13,7 +13,7 @@ def self.up end def self.down - drop_table :snippet_page_parts + drop_table :snippets_page_parts end end diff --git a/db/seeds/snippets.rb b/db/seeds.rb similarity index 73% rename from db/seeds/snippets.rb rename to db/seeds.rb index 8b2dc02..f456f9f 100644 --- a/db/seeds/snippets.rb +++ b/db/seeds.rb @@ -1,6 +1,6 @@ -User.all.each do |user| +Refinery::User.all.each do |user| if user.plugins.where(:name => 'snippets').blank? user.plugins.create(:name => 'snippets', :position => (user.plugins.maximum(:position) || -1) +1) end -end \ No newline at end of file +end if defined?(Refinery::User) \ No newline at end of file diff --git a/features/support/paths.rb b/features/support/paths.rb index 9fbfef6..8515d43 100644 --- a/features/support/paths.rb +++ b/features/support/paths.rb @@ -4,10 +4,10 @@ module Snippets def path_to(page_name) case page_name when /the list of snippets/ - admin_snippets_path + snippets_admin_snippets_path when /the new snippet form/ - new_admin_snippet_path + new_snippets_admin_snippet_path else nil end diff --git a/lib/extensions/page_extensions.rb b/lib/extensions/page_extensions.rb index b25d8f3..9a5113b 100644 --- a/lib/extensions/page_extensions.rb +++ b/lib/extensions/page_extensions.rb @@ -5,7 +5,7 @@ def self.included(base) base.class_eval do - named_scope :for_snippet, lambda{ |snippet| + scope :for_snippet, lambda{ |snippet| raise RuntimeError.new("Couldn't find Pages for a nil Snippet") if snippet.blank? { :joins => [:snippets_page_parts, :snippets], diff --git a/lib/generators/refinerycms_snippets_generator.rb b/lib/generators/refinerycms_snippets_generator.rb index 1c271e2..d1c354f 100644 --- a/lib/generators/refinerycms_snippets_generator.rb +++ b/lib/generators/refinerycms_snippets_generator.rb @@ -1,6 +1,19 @@ -class RefinerycmsSnippets < Refinery::Generators::EngineInstaller +class RefinerycmsSnippetsGenerator < Rails::Generators::Base source_root File.expand_path('../../../', __FILE__) - engine_name "snippets" + def rake_db + rake("refinery_snippets_engine:install:migrations") + end + + def append_load_seed_data + create_file 'db/seeds.rb' unless File.exists?(File.join(destination_root, 'db', 'seeds.rb')) + append_file 'db/seeds.rb', :verbose => true do + <<-EOH + +# Added by Refinery CMS Snippets engine +Refinery::Snippets::Engine.load_seed + EOH + end + end end diff --git a/lib/refinerycms-snippets.rb b/lib/refinerycms-snippets.rb index 03e9b1c..cc2e38e 100644 --- a/lib/refinerycms-snippets.rb +++ b/lib/refinerycms-snippets.rb @@ -1,5 +1,3 @@ -require 'refinerycms-base' - module Refinery module Snippets class Engine < Rails::Engine @@ -9,34 +7,30 @@ class Engine < Rails::Engine require 'extensions/pages_helper_extensions' end - initializer "static assets" do |app| - app.middleware.insert_after ::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public" - end - config.to_prepare do - PagePart.module_eval do + Refinery::PagePart.module_eval do has_many :snippet_page_parts, :dependent => :destroy - has_many :snippets, :through => :snippet_page_parts, :order => 'position ASC' + has_many :snippets, :through => :snippet_page_parts end - Page.send :include, Extensions::Page - PagesHelper.send :include, Extensions::PagesHelper + Refinery::Page.send :include, Extensions::Page + Refinery::Admin::PagesHelper.send :include, Extensions::PagesHelper end config.after_initialize do - ::Refinery::Pages::Tab.register do |tab| + Refinery::Pages::Tab.register do |tab| tab.name = "snippets" - tab.partial = "/admin/pages/tabs/snippets" + tab.partial = "/refinery/snippets/admin/pages/tabs/snippets" end Refinery::Plugin.register do |plugin| plugin.name = "snippets" - plugin.url = {:controller => '/admin/snippets'} + plugin.url = proc { Refinery::Core::Engine.routes.url_helpers.snippets_admin_snippets_path } plugin.menu_match = /^\/?(admin|refinery)\/snippets/ - plugin.activity = [{ - :class => Snippet - }, { - :class => SnippetPage - }] end + Rails.application.config.assets.precompile += %w( + page-snippet-picker.css + page-snippet-picker.js + part-snippets-select.js + ) end end end