From 595b16a783b7a99cadbf7cd61086ead32c6298a9 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Mon, 23 Dec 2013 20:25:47 +0100 Subject: Add sidebar_position field to blog categories. --- .../models/refinery/blog_category_decorator.rb | 3 +++ app/helpers/application_helper.rb | 10 +++++++++ .../refinery/blog/admin/categories/_form.html.erb | 24 ++++++++++++++++++++++ config/locales/en.yml | 9 ++++++++ config/locales/nb.yml | 10 +++++++++ ...sidebar_position_to_refinery_blog_categories.rb | 5 +++++ db/schema.rb | 7 ++++--- 7 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 app/decorators/models/refinery/blog_category_decorator.rb create mode 100644 app/views/refinery/blog/admin/categories/_form.html.erb create mode 100644 db/migrate/20131223174901_add_sidebar_position_to_refinery_blog_categories.rb diff --git a/app/decorators/models/refinery/blog_category_decorator.rb b/app/decorators/models/refinery/blog_category_decorator.rb new file mode 100644 index 0000000..d338d63 --- /dev/null +++ b/app/decorators/models/refinery/blog_category_decorator.rb @@ -0,0 +1,3 @@ +Refinery::Blog::Category.class_eval do + attr_accessible :sidebar_position +end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index de6be79..3cce866 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,2 +1,12 @@ module ApplicationHelper + def make_choice_from(array) + value = 0 + choices = [] + array.each do |item| + choices << [item, value] + value += 1 + end + + choices + end end diff --git a/app/views/refinery/blog/admin/categories/_form.html.erb b/app/views/refinery/blog/admin/categories/_form.html.erb new file mode 100644 index 0000000..3af3fc9 --- /dev/null +++ b/app/views/refinery/blog/admin/categories/_form.html.erb @@ -0,0 +1,24 @@ +<%= form_for [refinery, :blog_admin, @category] do |f| -%> + <%= render :partial => "/refinery/admin/error_messages", + :locals => { + :object => f.object, + :include_object_name => true + } %> + +
+ <%= f.label :title -%> + <%= f.text_field :title, :class => 'larger widest' -%> +
+ +
+ <%= f.label :sidebar_position -%> + <%= f.select :sidebar_position, make_choice_from(t('.sidebar_positions')) -%> +
+ + <%= render :partial => "/refinery/admin/form_actions", + :locals => { + :f => f, + :continue_editing => false, + :delete_title => t('delete', :scope => 'refinery.blog.admin.categories.category') + } %> +<% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 4440898..3fa068c 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,2 +1,11 @@ en: read_more: Read more... + refinery: + blog: + admin: + categories: + form: + sidebar_positions: + - None + - Left + - Right diff --git a/config/locales/nb.yml b/config/locales/nb.yml index 6f185e8..9fc2306 100644 --- a/config/locales/nb.yml +++ b/config/locales/nb.yml @@ -1,2 +1,12 @@ nb: read_more: Les mer... + refinery: + blog: + admin: + categories: + form: + sidebar_positions: + - Ingen + - Venstre + - Høyre + diff --git a/db/migrate/20131223174901_add_sidebar_position_to_refinery_blog_categories.rb b/db/migrate/20131223174901_add_sidebar_position_to_refinery_blog_categories.rb new file mode 100644 index 0000000..dfa11fc --- /dev/null +++ b/db/migrate/20131223174901_add_sidebar_position_to_refinery_blog_categories.rb @@ -0,0 +1,5 @@ +class AddSidebarPositionToRefineryBlogCategories < ActiveRecord::Migration + def change + add_column "refinery_blog_categories", "sidebar_position", :integer, :default => 0 + end +end diff --git a/db/schema.rb b/db/schema.rb index b121c20..7ef62f9 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,14 +11,15 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20130611193621) do +ActiveRecord::Schema.define(:version => 20131223174901) do create_table "refinery_blog_categories", :force => true do |t| t.string "title" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.string "cached_slug" t.string "slug" + t.integer "sidebar_position", :default => 0 end add_index "refinery_blog_categories", ["id"], :name => "index_refinery_blog_categories_on_id" -- cgit v1.2.3