Fix bug with unlinking user orders on lists load over active list
This commit is contained in:
@@ -9,4 +9,4 @@ App.Order = DS.Model.extend
|
||||
).property('product_orders.@each.quantity')
|
||||
display: (->
|
||||
@get('product_orders').map((po) -> "#{po.get('quantity')} x #{po.get('product.name')}").join(', ')
|
||||
).property('product_orders.@each.quantity')
|
||||
).property('product_orders.@each.quantity', 'product_orders.@each.product.@each.name')
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
attr = DS.attr
|
||||
App.ProductOrder = DS.Model.extend
|
||||
quantity: attr 'number', defaultValue: 1
|
||||
product: DS.belongsTo('product')
|
||||
price: attr 'number'
|
||||
product_name: attr('string')
|
||||
product: DS.belongsTo('product')
|
||||
order: DS.belongsTo('order')
|
||||
placed: attr('boolean', defaultValue: false)
|
||||
placed: attr('boolean', defaultValue: false) # virtual attribute for new orders to be placed, should be more elegant
|
||||
increment: ->
|
||||
@set('quantity', @get('quantity') + 1)
|
||||
total: (-> @get('quantity') * @get('product.price')).property('quantity')
|
||||
total: (-> @get('quantity') * @get('price')).property('quantity', 'price')
|
||||
setOrder: (order)->
|
||||
@set('placed', true)
|
||||
@set('order', order)
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
App.Section = DS.Model.extend {}
|
||||
@@ -1,50 +1,3 @@
|
||||
/.top-menu.off-canvas-wrap
|
||||
.inner-wrap
|
||||
nav.tab-bar
|
||||
section.left-small
|
||||
a.left-off-canvas-toggle.menu-icon
|
||||
span
|
||||
section.right.tab-bar-section
|
||||
= link-to 'index'
|
||||
= image_tag 'icons/logo-small.png'
|
||||
a{ action "openDebugger"} alt=""
|
||||
span.fa.fa-wrench.fa-lg
|
||||
.right
|
||||
if list.id
|
||||
App.MenuItemView route="active_list"
|
||||
App.MenuItemView route='table' route_param=list.table.id
|
||||
App.MenuItemListNeedsHelpView
|
||||
App.MenuItemListNeedsPaymentView
|
||||
aside.left-off-canvas-menu
|
||||
ul.off-canvas-list
|
||||
li: h3 Menu
|
||||
li
|
||||
= link-to 'index'
|
||||
span Home
|
||||
li
|
||||
a{action scanQr bubbles=false}
|
||||
span Scan QR
|
||||
if list.id
|
||||
li
|
||||
=link-to 'table' list.table.id
|
||||
span= t 'list_products.title'
|
||||
li
|
||||
=link-to 'active_list'
|
||||
span= t 'active_list.title'
|
||||
li
|
||||
=link-to 'lists'
|
||||
span= t 'models.plural.list'
|
||||
li
|
||||
=link-to 'join_requests'
|
||||
span= t 'models.plural.join_request'
|
||||
section.main-section
|
||||
if notice
|
||||
#notice.alert-box{action clearNotice} data-alert=true
|
||||
a.right href="#"
|
||||
span.fa.fa-times.fa-lg
|
||||
span= notice
|
||||
= outlet
|
||||
a.exit-off-canvas
|
||||
header.top-menu
|
||||
.toggle-side-menu
|
||||
span
|
||||
@@ -85,16 +38,16 @@ aside.side-menu
|
||||
span Scan QR
|
||||
if list.id
|
||||
li
|
||||
=link-to 'table' list.table.id
|
||||
=link-to 'table' list.table.id class="side-menu-list-products"
|
||||
span.fa.fa-cutlery
|
||||
span.fa.fa-glass
|
||||
= t 'list_products.title'
|
||||
li
|
||||
=link-to 'active_list'
|
||||
=link-to 'active_list' class="side-menu-active-list"
|
||||
span.active-list-icon
|
||||
span= t 'active_list.title'
|
||||
li
|
||||
=link-to 'lists'
|
||||
=link-to 'lists' class="side-menu-lists"
|
||||
span= t 'models.plural.list'
|
||||
li
|
||||
=link-to 'join_requests'
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
.row
|
||||
h2=t 'models.plural.list'
|
||||
each list in controller
|
||||
.lists-overview-entry{action showList list}
|
||||
.lists-overview-entry{action "showList" list}
|
||||
span.created_at=time list.created_at
|
||||
span.price.currency= currency list.price
|
||||
span.name= list.supplier_name
|
||||
hr
|
||||
.clearfix
|
||||
if hasMore
|
||||
button{action showMore} Show more
|
||||
button{action "showMore"}=t 'lists.show_more'
|
||||
|
||||
@@ -5,3 +5,4 @@ $green: #7BB459 //Heineken
|
||||
//$wood: image-url('textures/wood001-vertical.jpg')
|
||||
$wood: image-url('textures/theme1.jpg')
|
||||
$background-brown: #57351f
|
||||
$active-link-color: #ff0
|
||||
|
||||
@@ -49,8 +49,8 @@ header.top-menu
|
||||
margin-top: 10px
|
||||
color: #999
|
||||
&.active
|
||||
color: yellow
|
||||
border-color: yellow
|
||||
color: $active-link-color
|
||||
border-color: $active-link-color
|
||||
&.callout
|
||||
color: #f70
|
||||
border-color: #f70
|
||||
|
||||
@@ -26,6 +26,8 @@ aside.side-menu
|
||||
margin-right: 18px
|
||||
@extend .fa
|
||||
@extend .fa-list
|
||||
a.active
|
||||
color: $active-link-color
|
||||
|
||||
.toggle-side-menu
|
||||
position: absolute
|
||||
|
||||
@@ -5,6 +5,7 @@ module Users
|
||||
#lists = current_user.lists.include_relation(:supplier, :table)
|
||||
lists = List.for_user(current_user, page: params[:page], per_page: params[:per_page].presence || 25).include_relation(:supplier, :table)
|
||||
#lists.include_relation(:supplier)
|
||||
lists.include_relation(:users, :orders)
|
||||
render json: lists, each_serializer: UserListSerializer, meta: {total_pages: lists.total_pages, page: lists.current_page} #, root: :lists
|
||||
end
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ class UserExtendedSupplierSerializer < Qwaiter::Serializer
|
||||
embed :ids, include: true
|
||||
attributes :extended_version, :open, :name, :orders_in_process_count, :orders_placed_count
|
||||
has_many :product_categories
|
||||
has_many :products
|
||||
|
||||
def extended_version
|
||||
true
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
class UserListSerializer < Qwaiter::Serializer
|
||||
# user ids for facebook pictures
|
||||
#embed :ids
|
||||
embed :ids
|
||||
attributes :state, :needs_help, :needs_payment, :user_requests_closing, :is_paid, :price, :table_id, :table_number, :section_id, :user_ids, :supplier_name, :closed_at, :supplier_id
|
||||
|
||||
#def has_active_orders
|
||||
@@ -9,4 +9,6 @@ class UserListSerializer < Qwaiter::Serializer
|
||||
def supplier_name
|
||||
object.supplier.name
|
||||
end
|
||||
has_many :users
|
||||
has_many :orders
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user