From 70635ebd1e77931bed6295866e000b333b86c9a0 Mon Sep 17 00:00:00 2001 From: Edin Dazdarevic Date: Thu, 19 Mar 2015 00:10:24 +0100 Subject: [PATCH] added 'order' fields to sections, categories and sub_categories. - moved backoffice migrations to front-api --- back-office/db/schema.rb | 31 +++++++++++++++++-- front-api/controllers/category.rb | 4 +-- front-api/controllers/section.rb | 6 ++-- .../20150314033113_create_suppliers.rb | 0 .../20150314033704_add_supplier_to_item.rb | 0 .../20150318174651_add_order_to_sections.rb | 5 +++ .../20150318174807_add_order_to_categories.rb | 5 +++ ...150318174814_add_order_to_subcategories.rb | 5 +++ front-api/db/schema.rb | 31 ++++++------------- 9 files changed, 58 insertions(+), 29 deletions(-) rename {back-office => front-api}/db/migrate/20150314033113_create_suppliers.rb (100%) rename {back-office => front-api}/db/migrate/20150314033704_add_supplier_to_item.rb (100%) create mode 100644 front-api/db/migrate/20150318174651_add_order_to_sections.rb create mode 100644 front-api/db/migrate/20150318174807_add_order_to_categories.rb create mode 100644 front-api/db/migrate/20150318174814_add_order_to_subcategories.rb diff --git a/back-office/db/schema.rb b/back-office/db/schema.rb index e29cedb..8c20fd6 100644 --- a/back-office/db/schema.rb +++ b/back-office/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150314033704) do +ActiveRecord::Schema.define(version: 20150318174814) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -23,12 +23,19 @@ ActiveRecord::Schema.define(version: 20150314033704) do t.datetime "updated_at", null: false t.string "anonymous_id_string" t.integer "delivery_destination_id" + t.boolean "confirmed", default: false + t.boolean "packed", default: false + t.boolean "canceled_on_check", default: false + t.boolean "canceled_on_delivery", default: false + t.boolean "delivered", default: false + t.text "internal_note" end create_table "categories", force: :cascade do |t| t.string "name" t.integer "section_id" t.string "image_url" + t.integer "order" end create_table "delivery_destinations", force: :cascade do |t| @@ -87,6 +94,8 @@ ActiveRecord::Schema.define(version: 20150314033704) do t.datetime "updated_at", null: false t.string "tags" t.json "traits" + t.decimal "weight", precision: 5, scale: 3 + t.integer "special_offer_id" t.integer "supplier_id" end @@ -111,12 +120,30 @@ ActiveRecord::Schema.define(version: 20150314033704) do end create_table "sections", force: :cascade do |t| - t.string "name" + t.string "name" + t.integer "order" + end + + create_table "special_offers", force: :cascade do |t| + t.string "image_url" + t.boolean "start_page" + t.integer "section_id" + t.integer "category_id" + t.integer "sub_category_id" + t.integer "item_id" + t.boolean "thank_you_page" + t.boolean "search_result_page" + t.boolean "checkout_page" + t.date "beginning" + t.date "ending" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end create_table "sub_categories", force: :cascade do |t| t.string "name" t.integer "category_id" + t.integer "order" end create_table "suppliers", force: :cascade do |t| diff --git a/front-api/controllers/category.rb b/front-api/controllers/category.rb index 8134829..e2758ca 100644 --- a/front-api/controllers/category.rb +++ b/front-api/controllers/category.rb @@ -1,10 +1,10 @@ get '/category' do - Category.order(:name).all.to_json(:include => [:section, :sub_categories, :filter_criterias =>{:include => :filter_criteria_values} ]) + Category.eager_load(:sub_categories).order('categories.order, sub_categories.order').all.to_json(:include => [:section, :sub_categories, :filter_criterias =>{:include => :filter_criteria_values} ]) end get '/category/:id' do id = params[:id].to_i - Category.find(id).to_json(:include => [:section, :sub_categories, :filter_criterias =>{:include => :filter_criteria_values}]) + Category.eager_load(:sub_categories).order('sub_categories.order').find(id).to_json(:include => [:section, :sub_categories, :filter_criterias =>{:include => :filter_criteria_values}]) end diff --git a/front-api/controllers/section.rb b/front-api/controllers/section.rb index 0f2a972..1bff3e1 100644 --- a/front-api/controllers/section.rb +++ b/front-api/controllers/section.rb @@ -1,9 +1,7 @@ get '/section' do - Section.order(:name).all.to_json(:include => - [:categories => { :include => :sub_categories }]) + Section.eager_load(:categories).order('sections.order, categories.order').to_json(:include => :categories) end get '/section/:id' do - Section.find(params[:id].to_i).to_json(:include => [ - :categories => { :include => :sub_categories } ]) + Section.eager_load(categories: :sub_categories).order('categories.order, sub_categories.order').find(params[:id].to_i).to_json(:include => [:categories => {:include => :sub_categories}]) end diff --git a/back-office/db/migrate/20150314033113_create_suppliers.rb b/front-api/db/migrate/20150314033113_create_suppliers.rb similarity index 100% rename from back-office/db/migrate/20150314033113_create_suppliers.rb rename to front-api/db/migrate/20150314033113_create_suppliers.rb diff --git a/back-office/db/migrate/20150314033704_add_supplier_to_item.rb b/front-api/db/migrate/20150314033704_add_supplier_to_item.rb similarity index 100% rename from back-office/db/migrate/20150314033704_add_supplier_to_item.rb rename to front-api/db/migrate/20150314033704_add_supplier_to_item.rb diff --git a/front-api/db/migrate/20150318174651_add_order_to_sections.rb b/front-api/db/migrate/20150318174651_add_order_to_sections.rb new file mode 100644 index 0000000..cece345 --- /dev/null +++ b/front-api/db/migrate/20150318174651_add_order_to_sections.rb @@ -0,0 +1,5 @@ +class AddOrderToSections < ActiveRecord::Migration + def change + add_column :sections, :order, :integer + end +end diff --git a/front-api/db/migrate/20150318174807_add_order_to_categories.rb b/front-api/db/migrate/20150318174807_add_order_to_categories.rb new file mode 100644 index 0000000..829106f --- /dev/null +++ b/front-api/db/migrate/20150318174807_add_order_to_categories.rb @@ -0,0 +1,5 @@ +class AddOrderToCategories < ActiveRecord::Migration + def change + add_column :categories, :order, :integer + end +end diff --git a/front-api/db/migrate/20150318174814_add_order_to_subcategories.rb b/front-api/db/migrate/20150318174814_add_order_to_subcategories.rb new file mode 100644 index 0000000..977064a --- /dev/null +++ b/front-api/db/migrate/20150318174814_add_order_to_subcategories.rb @@ -0,0 +1,5 @@ +class AddOrderToSubcategories < ActiveRecord::Migration + def change + add_column :sub_categories, :order, :integer + end +end diff --git a/front-api/db/schema.rb b/front-api/db/schema.rb index 1cf77d0..46060f5 100644 --- a/front-api/db/schema.rb +++ b/front-api/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150318044933) do +ActiveRecord::Schema.define(version: 20150318174814) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -23,11 +23,11 @@ ActiveRecord::Schema.define(version: 20150318044933) do t.datetime "updated_at", null: false t.string "anonymous_id_string" t.integer "delivery_destination_id" - t.boolean "confirmed" - t.boolean "packed" - t.boolean "canceled_on_check" - t.boolean "canceled_on_delivery" - t.boolean "delivered" + t.boolean "confirmed", default: false + t.boolean "packed", default: false + t.boolean "canceled_on_check", default: false + t.boolean "canceled_on_delivery", default: false + t.boolean "delivered", default: false t.text "internal_note" end @@ -35,6 +35,7 @@ ActiveRecord::Schema.define(version: 20150318044933) do t.string "name" t.integer "section_id" t.string "image_url" + t.integer "order" end create_table "delivery_destinations", force: :cascade do |t| @@ -93,7 +94,6 @@ ActiveRecord::Schema.define(version: 20150318044933) do t.datetime "updated_at", null: false t.string "tags" t.json "traits" - t.integer "supplier_id" t.decimal "weight", precision: 5, scale: 3 t.integer "special_offer_id" end @@ -119,7 +119,8 @@ ActiveRecord::Schema.define(version: 20150318044933) do end create_table "sections", force: :cascade do |t| - t.string "name" + t.string "name" + t.integer "order" end create_table "special_offers", force: :cascade do |t| @@ -141,19 +142,7 @@ ActiveRecord::Schema.define(version: 20150318044933) do create_table "sub_categories", force: :cascade do |t| t.string "name" t.integer "category_id" - end - - create_table "suppliers", force: :cascade do |t| - t.string "name" - t.string "address" - t.string "postal_code" - t.string "town" - t.string "phone" - t.string "contact_person" - t.string "email" - t.text "note" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.integer "order" end create_table "units", force: :cascade do |t|