From 19acd26dbc15473561f505ce36222c179c8633df Mon Sep 17 00:00:00 2001 From: Benjamin ter Kuile Date: Mon, 7 Apr 2014 10:46:10 +0200 Subject: [PATCH] Improve stuff and add counters --- .../user/app/models/list.js.coffee | 2 + .../user/app/templates/_list_content.emblem | 3 +- .../user/app/templates/application.emblem | 15 ++++++++ .../user/foundation/lists.css.sass | 4 ++ .../user/foundation/menu_main.css.sass | 37 ++++++++++++++++++- .../user_extended_list_serializer.rb | 6 +-- .../user_extended_supplier_serializer.rb | 2 +- app/serializers/user_supplier_serializer.rb | 1 + 8 files changed, 64 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/user/app/models/list.js.coffee b/app/assets/javascripts/user/app/models/list.js.coffee index e973d0b6..4fe6c84b 100644 --- a/app/assets/javascripts/user/app/models/list.js.coffee +++ b/app/assets/javascripts/user/app/models/list.js.coffee @@ -21,3 +21,5 @@ App.List = DS.Model.extend is_extended_version: -> @get('extended_version') + + sorted_orders: (-> @get('orders').sortBy('created_at').reverseObjects()).property('orders.@each.isLoaded') diff --git a/app/assets/javascripts/user/app/templates/_list_content.emblem b/app/assets/javascripts/user/app/templates/_list_content.emblem index e2afd2c3..f85512b8 100644 --- a/app/assets/javascripts/user/app/templates/_list_content.emblem +++ b/app/assets/javascripts/user/app/templates/_list_content.emblem @@ -2,10 +2,11 @@ each user in list.users img.facebook-image src="http://graph.facebook.com/#{unbound user.facebook_id}/picture?type=square" alt="f" if list.orders .list-orders-container - each order in orders + each order in list.sorted_orders .list-order-container class=order.state = order.display span.currency= currency order.total + span.created_at= time order.created_at if displayTotal .list-orders-total.total = t 'total' diff --git a/app/assets/javascripts/user/app/templates/application.emblem b/app/assets/javascripts/user/app/templates/application.emblem index 390ef0ae..8ccdecef 100644 --- a/app/assets/javascripts/user/app/templates/application.emblem +++ b/app/assets/javascripts/user/app/templates/application.emblem @@ -58,6 +58,21 @@ header.top-menu App.MenuItemView route='table' route_param=list.table.id App.MenuItemListNeedsHelpView App.MenuItemListNeedsPaymentView + section.extra-info + .supplier-info-row + .supplier-name= list.supplier.name + .table-number + | + = t 'models.table' + | + = list.table.number + .supplier-info-row + .counter.supplier-orders-placed-count + = list.supplier.orders_placed_count + span.orders-placed-count-icon + .counter.supplier-orders-in-process-count + = list.supplier.orders_in_process_count + span.orders-in-process-count-icon aside.side-menu ul li diff --git a/app/assets/stylesheets/user/foundation/lists.css.sass b/app/assets/stylesheets/user/foundation/lists.css.sass index cdbda09b..d5dcd809 100644 --- a/app/assets/stylesheets/user/foundation/lists.css.sass +++ b/app/assets/stylesheets/user/foundation/lists.css.sass @@ -26,6 +26,10 @@ background-image: image-url('icons/order-check.png') &.delivered background-image: image-url('icons/order-doublecheck.png') + .created_at + float: right + padding-right: 20px + padding-left: 10px .list-orders-total +grid-column(12) padding: $padding diff --git a/app/assets/stylesheets/user/foundation/menu_main.css.sass b/app/assets/stylesheets/user/foundation/menu_main.css.sass index 1c67812e..8842a7c9 100644 --- a/app/assets/stylesheets/user/foundation/menu_main.css.sass +++ b/app/assets/stylesheets/user/foundation/menu_main.css.sass @@ -1,5 +1,6 @@ @import constants @import font-awesome +@import foundation_and_overrides header.top-menu height: 90px background-color: transparent @@ -19,6 +20,27 @@ header.top-menu section height: 52px line-height: 48px + &.main-buttons + float: left + @media #{$medium-up} + padding-left: 14px + &.extra-info + float: right + .supplier-info-row + float: right + clear: right + line-height: 27px + padding-right: 7px + .table-number + display: inline-block + //text-transform: lowercase + .supplier-name + display: inline-block + .supplier-orders-placed-count + display: inline-block + margin-right: 15px + .supplier-orders-in-process-count + display: inline-block .menu-list-item margin-left: 20px cursor: pointer @@ -35,7 +57,20 @@ header.top-menu &.callout color: #f70 border-color: #f70 - + @media #{$medium-only} + margin-left: 8px + @media #{$small-only} + margin-left: 5px +.orders-placed-count-icon + @extend .fa + @extend .fa-clock-o + @extend .fa-lg + margin-left: 3px +.orders-in-process-count-icon + @extend .fa + @extend .fa-check + @extend .fa-lg + margin-left: 3px .toggle-side-menu position: absolute width: 28px diff --git a/app/serializers/user_extended_list_serializer.rb b/app/serializers/user_extended_list_serializer.rb index ebb75484..1b5e164d 100644 --- a/app/serializers/user_extended_list_serializer.rb +++ b/app/serializers/user_extended_list_serializer.rb @@ -10,8 +10,8 @@ class UserExtendedListSerializer < Qwaiter::Serializer self.root = :list embed :ids, include: true attributes :extended_version, :state, :needs_help, :needs_payment, :is_paid, :price, - :table_id, :table_number, :section_id, :user_ids, - :supplier_orders_in_process_count, :supplier_orders_placed_count, :supplier_id + :table_id, :table_number, :section_id, :user_ids, :supplier_id + #:supplier_orders_in_process_count, :supplier_orders_placed_count def has_active_orders object.has_active_orders? @@ -21,7 +21,7 @@ class UserExtendedListSerializer < Qwaiter::Serializer has_one :table, serializer: UserExtendedTableSerializer has_many :join_requests has_many :users, serializer: UserUserSerializer - #has_one :supplier + #has_one :supplier # added by other resource def extended_version true diff --git a/app/serializers/user_extended_supplier_serializer.rb b/app/serializers/user_extended_supplier_serializer.rb index fffdce1c..ce6f026a 100644 --- a/app/serializers/user_extended_supplier_serializer.rb +++ b/app/serializers/user_extended_supplier_serializer.rb @@ -1,7 +1,7 @@ class UserExtendedSupplierSerializer < Qwaiter::Serializer self.root = :supplier embed :ids, include: true - attributes :extended_version, :open, :name + attributes :extended_version, :open, :name, :orders_in_process_count, :orders_placed_count has_many :product_categories def extended_version diff --git a/app/serializers/user_supplier_serializer.rb b/app/serializers/user_supplier_serializer.rb index 5c4029d5..04e2ebcd 100644 --- a/app/serializers/user_supplier_serializer.rb +++ b/app/serializers/user_supplier_serializer.rb @@ -5,4 +5,5 @@ class UserExtendedSupplierSerializer < Qwaiter::Serializer def extended_version false end + end