Waiter app progress
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
attr = DS.attr
|
||||||
|
App.Employee= DS.Model.extend
|
||||||
|
name: attr 'string'
|
||||||
|
email: attr 'string'
|
||||||
|
manager: attr 'boolean', defaultValue: false
|
||||||
|
active: attr 'boolean', defaultValue: true
|
||||||
|
color: attr 'string', defaultValue: '#3a87ad'
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
attr = DS.attr
|
||||||
|
App.Supplier = DS.Model.extend
|
||||||
|
name: attr 'string'
|
||||||
|
email: attr 'string'
|
||||||
|
time_zone: attr 'string'
|
||||||
|
address: attr 'string'
|
||||||
|
house_number: attr 'number'
|
||||||
|
house_number_addition: attr 'string'
|
||||||
|
postal_code: attr 'string'
|
||||||
|
city: attr 'string'
|
||||||
|
open: attr 'boolean'
|
||||||
|
country: attr 'string'
|
||||||
|
facebook_promotion_url: attr 'string'
|
||||||
|
iens_profile: attr 'string'
|
||||||
|
lat: attr 'number'
|
||||||
|
lng: attr 'number'
|
||||||
|
week_starts_on_monday: attr 'boolean'
|
||||||
|
product_categories: DS.hasMany 'product_category'
|
||||||
|
orders_in_process_count: attr('number')
|
||||||
|
orders_placed_count: attr('number')
|
||||||
|
|
||||||
|
close: ->
|
||||||
|
$.post Routes.mark_as_closed_suppliers_supplier_path(@id), =>
|
||||||
|
@set 'open', false
|
||||||
|
open_the_place: ->
|
||||||
|
$.post Routes.mark_as_open_suppliers_supplier_path(@id), =>
|
||||||
|
@set 'open', true
|
||||||
|
|
||||||
@@ -1,3 +1,10 @@
|
|||||||
App.ApplicationRoute = Ember.Route.extend
|
App.ApplicationRoute = Ember.Route.extend
|
||||||
setupController: ->
|
beforeModel: ->
|
||||||
|
@supplier = @store.push 'supplier', supplier_object
|
||||||
|
@employee = @store.push 'employee', employee_object
|
||||||
|
@supplier.reload().then =>
|
||||||
|
#@store.find('list', state: 'active')
|
||||||
|
setupController: (controller, model)->
|
||||||
|
controller.set 'supplier', @supplier
|
||||||
|
controller.set 'employee', @employee
|
||||||
@controllerFor('product_categories').set 'model', @store.find('product_category')
|
@controllerFor('product_categories').set 'model', @store.find('product_category')
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
.row
|
.row
|
||||||
.twelve.columns
|
.twelve.columns
|
||||||
h1 Qwaiter
|
h1= supplier.name
|
||||||
hr
|
hr
|
||||||
.waiter-application-container= outlet
|
.waiter-application-container= outlet
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
class Waiter::SectionsController < Waiter::ApplicationController
|
||||||
|
|
||||||
|
def index
|
||||||
|
sections = current_supplier.sections.include_relation(:tables)
|
||||||
|
render json: sections, each_serializer: Waiter::SectionSerializer
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
class Waiter::SuppliersController < Waiter::ApplicationController
|
||||||
|
def show
|
||||||
|
@supplier = Supplier.find(params[:id])
|
||||||
|
head 404 and return unless @supplier.employee_ids.include?(current_employee.id)
|
||||||
|
render json: @supplier, serializer: Waiter::SupplierSerializer
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -4,14 +4,6 @@ class WaiterController < ApplicationController
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def sections
|
|
||||||
sections = current_supplier.sections.include_relation(:tables)
|
|
||||||
respond_to do |format|
|
|
||||||
format.html { redirect_to '/waiter'}
|
|
||||||
format.json { render json: sections, each_serializer: Waiter::SectionSerializer }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def product_categories
|
def product_categories
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to '/waiter'}
|
format.html { redirect_to '/waiter'}
|
||||||
@@ -25,12 +17,4 @@ class WaiterController < ApplicationController
|
|||||||
@list.place_order products: params[:order], employee: current_employee
|
@list.place_order products: params[:order], employee: current_employee
|
||||||
render nothing: true
|
render nothing: true
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_supplier
|
|
||||||
@current_supplier ||= Supplier.first
|
|
||||||
end
|
|
||||||
|
|
||||||
def current_employee
|
|
||||||
@current_employee ||= current_supplier.employees.first
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class Waiter::SectionSerializer < Qwaiter::Serializer
|
class Waiter::SectionSerializer < Qwaiter::Serializer
|
||||||
self.root = :section
|
root 'section'
|
||||||
attributes :title, :path, :width, :height
|
attributes :title, :path, :width, :height
|
||||||
|
has_many :tables, serializer: Waiter::TableSerializer
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class Waiter::SupplierSerializer < Qwaiter::Serializer
|
||||||
|
root 'supplier'
|
||||||
|
attributes :open, :name, :lat, :lng, :time_zone, :address, :house_number, :house_number_addition, :postal_code, :city, :country,
|
||||||
|
:facebook_promotion_url, :iens_profile, :week_starts_on_monday, :orders_in_process_count, :orders_placed_count
|
||||||
|
end
|
||||||
@@ -6,6 +6,7 @@ html lang="en"
|
|||||||
meta name="viewport" content="width=device-width, initial-scale=1.0"
|
meta name="viewport" content="width=device-width, initial-scale=1.0"
|
||||||
title= waiter_page_title
|
title= waiter_page_title
|
||||||
/= stylesheet_link_tag "waiter/application", media: "all"
|
/= stylesheet_link_tag "waiter/application", media: "all"
|
||||||
|
= render 'suppliers/application/head'
|
||||||
= stylesheet_link_tag "waiter/application"
|
= stylesheet_link_tag "waiter/application"
|
||||||
= javascript_include_tag "vendor/modernizr"
|
= javascript_include_tag "vendor/modernizr"
|
||||||
= javascript_include_tag "waiter/application"
|
= javascript_include_tag "waiter/application"
|
||||||
|
|||||||
+5
-3
@@ -39,13 +39,15 @@ Qwaiter::Application.routes.draw do
|
|||||||
|
|
||||||
#WAITER
|
#WAITER
|
||||||
#get '/waiter' => 'waiter#index' #, controller: 'waiter', action: 'index'
|
#get '/waiter' => 'waiter#index' #, controller: 'waiter', action: 'index'
|
||||||
get '/waiter/sections' => 'waiter#sections'
|
#get '/waiter/sections' => 'waiter#sections'
|
||||||
get '/waiter/product_categories' => 'waiter#product_categories'
|
get '/waiter/product_categories' => 'waiter#product_categories'
|
||||||
get '/waiter/*rest' => redirect('/waiter') # Ember app refresh
|
|
||||||
post '/waiter/order_products' => 'waiter#order_products', as: :order_products_waiter
|
post '/waiter/order_products' => 'waiter#order_products', as: :order_products_waiter
|
||||||
namespace :waiter do
|
namespace :waiter do
|
||||||
root to: 'dashboard#index'
|
resources :sections
|
||||||
|
resources :suppliers
|
||||||
|
|
||||||
|
root to: 'dashboard#index'
|
||||||
|
get '/*rest' => redirect('/waiter') # Ember app refresh
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user