added menu sub sub items (horrible name i know)
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
class MenuSubItem < ActiveRecord::Base
|
class MenuSubItem < ActiveRecord::Base
|
||||||
belongs_to :menu_item
|
belongs_to :menu_item
|
||||||
|
has_many :menu_sub_sub_items
|
||||||
end
|
end
|
||||||
|
|||||||
3
back-office/app/models/menu_sub_sub_item.rb
Normal file
3
back-office/app/models/menu_sub_sub_item.rb
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
class MenuSubSubItem < ActiveRecord::Base
|
||||||
|
belongs_to :menu_sub_item
|
||||||
|
end
|
||||||
@@ -292,6 +292,14 @@ namespace :ribica do
|
|||||||
msi.url = "/sekcija/#{section.name}/kategorija/#{category.id}/#{category.name}"
|
msi.url = "/sekcija/#{section.name}/kategorija/#{category.id}/#{category.name}"
|
||||||
msi.ordinal = section.order
|
msi.ordinal = section.order
|
||||||
mi.menu_sub_items << msi
|
mi.menu_sub_items << msi
|
||||||
|
|
||||||
|
category.sub_categories.each do |sub_category|
|
||||||
|
mssi = MenuSubSubItem.new
|
||||||
|
mssi.title = sub_category.name
|
||||||
|
mssi.url = "/podkategorija/#{sub_category.id}/#{sub_category.name}"
|
||||||
|
mssi.ordinal = sub_category.order
|
||||||
|
msi.menu_sub_sub_items << mssi
|
||||||
|
end
|
||||||
end
|
end
|
||||||
mi.save!
|
mi.save!
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
get '/menuitem' do
|
get '/menuitem' do
|
||||||
# list all menu items
|
# list all menu items
|
||||||
MenuItem.eager_load(:menu_sub_items).order("menu_items.ordinal, menu_sub_items.ordinal").to_json(:include => [:menu_sub_items])
|
MenuItem.eager_load(menu_sub_items: :menu_sub_sub_items)
|
||||||
|
.order("menu_items.ordinal, menu_sub_items.ordinal, menu_sub_sub_items.ordinal")
|
||||||
|
.to_json(:include => [:menu_sub_items => {:include => :menu_sub_sub_items}])
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
class CreateMenuSubSubItem < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
create_table :menu_sub_sub_items do |t|
|
||||||
|
t.string :title
|
||||||
|
t.string :url
|
||||||
|
t.integer :ordinal
|
||||||
|
t.integer :menu_sub_item_id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20150404114006) do
|
ActiveRecord::Schema.define(version: 20150414214540) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
@@ -117,7 +117,7 @@ ActiveRecord::Schema.define(version: 20150404114006) do
|
|||||||
t.decimal "current_input_price", precision: 5, scale: 2
|
t.decimal "current_input_price", precision: 5, scale: 2
|
||||||
t.decimal "list_price", precision: 5, scale: 2
|
t.decimal "list_price", precision: 5, scale: 2
|
||||||
t.integer "unit_id"
|
t.integer "unit_id"
|
||||||
t.decimal "units_in_pack", precision: 5, scale: 3
|
t.decimal "units_in_pack", precision: 6, scale: 2
|
||||||
t.text "description"
|
t.text "description"
|
||||||
t.integer "sub_category_id"
|
t.integer "sub_category_id"
|
||||||
t.integer "stock"
|
t.integer "stock"
|
||||||
@@ -126,8 +126,8 @@ ActiveRecord::Schema.define(version: 20150404114006) do
|
|||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
t.string "tags"
|
t.string "tags"
|
||||||
t.json "traits"
|
t.json "traits"
|
||||||
t.integer "supplier_id"
|
|
||||||
t.decimal "weight", precision: 5, scale: 3
|
t.decimal "weight", precision: 5, scale: 3
|
||||||
|
t.integer "supplier_id"
|
||||||
t.integer "delivery_time_estimation_id"
|
t.integer "delivery_time_estimation_id"
|
||||||
t.integer "brand_id"
|
t.integer "brand_id"
|
||||||
end
|
end
|
||||||
@@ -168,6 +168,13 @@ ActiveRecord::Schema.define(version: 20150404114006) do
|
|||||||
t.integer "menu_item_id"
|
t.integer "menu_item_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
create_table "menu_sub_sub_items", force: :cascade do |t|
|
||||||
|
t.string "title"
|
||||||
|
t.string "url"
|
||||||
|
t.integer "ordinal"
|
||||||
|
t.integer "menu_sub_item_id"
|
||||||
|
end
|
||||||
|
|
||||||
create_table "multi_media_descriptions", force: :cascade do |t|
|
create_table "multi_media_descriptions", force: :cascade do |t|
|
||||||
t.string "url"
|
t.string "url"
|
||||||
t.integer "item_id"
|
t.integer "item_id"
|
||||||
@@ -190,11 +197,9 @@ ActiveRecord::Schema.define(version: 20150404114006) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
create_table "sub_categories", force: :cascade do |t|
|
create_table "sub_categories", force: :cascade do |t|
|
||||||
t.string "name"
|
t.string "name"
|
||||||
t.integer "category_id"
|
t.integer "category_id"
|
||||||
t.datetime "created_at", null: false
|
t.integer "order"
|
||||||
t.datetime "updated_at", null: false
|
|
||||||
t.integer "order"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "suppliers", force: :cascade do |t|
|
create_table "suppliers", force: :cascade do |t|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
class MenuSubItem < ActiveRecord::Base
|
class MenuSubItem < ActiveRecord::Base
|
||||||
belongs_to :menu_item
|
belongs_to :menu_item
|
||||||
|
has_many :menu_sub_sub_items
|
||||||
end
|
end
|
||||||
|
|||||||
3
front-api/models/menu_sub_sub_item.rb
Normal file
3
front-api/models/menu_sub_sub_item.rb
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
class MenuSubSubItem < ActiveRecord::Base
|
||||||
|
belongs_to :menu_sub_item
|
||||||
|
end
|
||||||
@@ -116,8 +116,9 @@ var MenuItemListComponent = React.createClass({
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li className="dropdown-header"><a href="kategorija.html" onClick={self.onMenuItemClick.bind(self, menuSubItem)}><p>{menuSubItem.title}</p></a></li>
|
<li className="dropdown-header"><a href="kategorija.html" onClick={self.onMenuItemClick.bind(self, menuSubItem)}><p>{menuSubItem.title}</p></a></li>
|
||||||
<li><a href="kategorija.html">Podkategorija 1</a></li>
|
{menuSubItem.menu_sub_sub_items.map(function(menuSubSubItem) {
|
||||||
<li><a href="kategorija.html">Podkategorija 2</a></li>
|
return (<li><a href="#" onClick={self.onMenuItemClick.bind(self, menuSubSubItem)}>{menuSubSubItem.title}</a></li>)
|
||||||
|
})}
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user