From bfa6bb66b06e68d13145a53d4e1f0517c7424317 Mon Sep 17 00:00:00 2001 From: Benjamin ter Kuile Date: Mon, 18 Aug 2014 15:41:14 +0200 Subject: [PATCH] Progress and cleanup code --- .../app/templates/_list_content.emblem | 2 +- .../app/views/section_table_view.js.coffee | 11 -------- .../supplier/foundation1/application.js.erb | 21 ++++++++++------ .../supplier/foundation1/_menu_side.css.sass | 1 + .../supplier/foundation1/_qstructure.css.sass | 2 +- .../components/_products_preview.css.sass | 4 +-- app/views/layouts/tablet.html.slim | 6 +++-- app/views/layouts/user/foundation.html.slim | 6 ++--- .../suppliers/application/_top_menu.html.slim | 3 ++- config/initializers/simple_form.rb | 2 +- config/locales/supplier.en.yml | 7 +++--- config/locales/supplier.nl.yml | 7 +++--- notes.js.coffee | 25 ------------------- wip.md | 19 ++++++++------ 14 files changed, 48 insertions(+), 68 deletions(-) delete mode 100644 notes.js.coffee diff --git a/app/assets/javascripts/supplier/app/templates/_list_content.emblem b/app/assets/javascripts/supplier/app/templates/_list_content.emblem index d3878236..d1073f30 100644 --- a/app/assets/javascripts/supplier/app/templates/_list_content.emblem +++ b/app/assets/javascripts/supplier/app/templates/_list_content.emblem @@ -14,7 +14,7 @@ if list.closed_at .display-field: App.CloseListButtonView content=list .row each user in list.users - img.facebook-image src="http://graph.facebook.com/#{unbound user.facebook_id}/picture?type=square" alt="f" + =user.facebook_image_tag if list.sorted_orders .list-orders-container each order in list.sorted_orders diff --git a/app/assets/javascripts/supplier/app/views/section_table_view.js.coffee b/app/assets/javascripts/supplier/app/views/section_table_view.js.coffee index 26b2f9c2..4efa5df7 100644 --- a/app/assets/javascripts/supplier/app/views/section_table_view.js.coffee +++ b/app/assets/javascripts/supplier/app/views/section_table_view.js.coffee @@ -55,14 +55,3 @@ App.SectionTableView = Ember.View.extend DragNDrop.Draggable, @$el.on 'click', => # duplication of .table-actions because variable gets unshadowed @$('.table-actions').toggle() if @$el.hasClass('occupied') and not @get('controller.editmode') - #@$el.qtip - #content: - #text: content - #title: title.html() - #style: - #classes: 'qtip-wiki qtip-light qtip-shadow' - #show: 'click' - #hide: - #fixed: true - #delay: 500 - #prerender: true diff --git a/app/assets/javascripts/supplier/foundation1/application.js.erb b/app/assets/javascripts/supplier/foundation1/application.js.erb index cdd60c1e..604ca330 100644 --- a/app/assets/javascripts/supplier/foundation1/application.js.erb +++ b/app/assets/javascripts/supplier/foundation1/application.js.erb @@ -1,28 +1,28 @@ +//= require modernizr //= require jquery //= require jquery_ujs //= require jquery-ui/sortable -//= require modernizr // require foundation FOUNDATION 5 JAVASCRIPT IMPLEMENTATIONS AND EMBER ARE NOT COMPATIBLE, FOUNDATION IS TOO SIMPLISTIC AT THE MOMENT AND DESTROYS DOM EVENTS //= require js-routes +//= require moment //= require translations -//= require qwaiter +// require qwaiter //= require ./qsupplier //= require handlebars //= require faye //= require ./base -//= require qtip +// require qtip # was used for table actions in section view, now done by EMBER //= require pickdate //= require_directory . //= require_self -//= require moment + var Qstorage = localStorage; $.extend($translations.en, <%= I18n.t('supplier', locale: :en).to_json %>); $.extend($translations.nl, <%= I18n.t('supplier', locale: :nl).to_json %>); -String.prototype.capitalize = function() { - return this.charAt(0).toUpperCase() + this.slice(1); -} +String.prototype.capitalize = function() { return this.charAt(0).toUpperCase() + this.slice(1); } + window.time_zones = <%= ActiveSupport::TimeZone.all.map{|tz| {name: tz.name, formatted: "GMT#{tz.formatted_offset} #{tz.name}"}}.to_json.html_safe %>; window.countries = <%= IsoCountryCodes.all.map{|cc| {name: cc.name}}.to_json.html_safe %>; @@ -41,7 +41,12 @@ function redirect_to(mapping, variables){ window.location = path_mapping[mapping] + '?' + vars.join('&') } function currency(num) { - return Qwaiter.currency(num); + // num = 0.0 if isNaN(num) || num == '' || num == null + // '€ ' + parseFloat(num).toFixed(2) + if (isNaN(num) || num === '' || num === null) { + num = 0.0; + } + return '€ ' + parseFloat(num).toFixed(2); } Handlebars.registerHelper('t', function(tlocation) { diff --git a/app/assets/stylesheets/supplier/foundation1/_menu_side.css.sass b/app/assets/stylesheets/supplier/foundation1/_menu_side.css.sass index 36d5e7c1..8a74d8c1 100644 --- a/app/assets/stylesheets/supplier/foundation1/_menu_side.css.sass +++ b/app/assets/stylesheets/supplier/foundation1/_menu_side.css.sass @@ -14,3 +14,4 @@ aside.side-menu .supplier-close-shop +alert($bg: $alert-color, $radius: true) padding: 3px + margin-right: 20px diff --git a/app/assets/stylesheets/supplier/foundation1/_qstructure.css.sass b/app/assets/stylesheets/supplier/foundation1/_qstructure.css.sass index 5c3386ad..f75c4507 100644 --- a/app/assets/stylesheets/supplier/foundation1/_qstructure.css.sass +++ b/app/assets/stylesheets/supplier/foundation1/_qstructure.css.sass @@ -3,7 +3,7 @@ $side-spacing: 0px +alert($bg: $secondary-color) .close +alert-close - .open-supplier-button + .supplier-open-shop +button($padding: $button-tny) margin: 0 margin-left: 20px diff --git a/app/assets/stylesheets/supplier/foundation1/components/_products_preview.css.sass b/app/assets/stylesheets/supplier/foundation1/components/_products_preview.css.sass index 8e4a4219..4e8911a0 100644 --- a/app/assets/stylesheets/supplier/foundation1/components/_products_preview.css.sass +++ b/app/assets/stylesheets/supplier/foundation1/components/_products_preview.css.sass @@ -7,13 +7,13 @@ float: left margin-left: 10px select - width: 50px + width: 70px &:after content: " :" .products_preview-minute float: left margin-left: 10px select - width: 50px + width: 70px #products-table width: 100% diff --git a/app/views/layouts/tablet.html.slim b/app/views/layouts/tablet.html.slim index e7806fb2..168351be 100644 --- a/app/views/layouts/tablet.html.slim +++ b/app/views/layouts/tablet.html.slim @@ -32,9 +32,11 @@ html lang="en" a.close data-dismiss="alert" × - if current_supplier.closed? .supplier-is-closed - = t('supplier.you_are_currently_closed_alert') + span data-t="supplier.you_are_currently_closed_alert" = form_tag supplier_mark_as_open_path do - = submit_tag t('supplier.mark_as_open_button'), class: ['open-supplier-button'] + / = submit_tag t('supplier.mark_as_open_button'), class: ['open-supplier-button'] + a.supplier-open-shop href="javascript:void(0)" onclick="$(this).parents('form').submit()" + span data-t="supplier.open_for_orders" a.close{data-dismiss="alert"} × .row .span12 diff --git a/app/views/layouts/user/foundation.html.slim b/app/views/layouts/user/foundation.html.slim index 0eafe9ac..720f4ce1 100644 --- a/app/views/layouts/user/foundation.html.slim +++ b/app/views/layouts/user/foundation.html.slim @@ -1,9 +1,9 @@ doctype html html lang="en" head - meta charset="utf-8" - meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" - meta name="viewport" content="width=device-width, initial-scale=1.0" + meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" + meta name="msapplication-tap-highlight" content="no" + title= application_title = javascript_include_tag "vendor/modernizr" = stylesheet_link_tag "user/foundation/application" diff --git a/app/views/suppliers/application/_top_menu.html.slim b/app/views/suppliers/application/_top_menu.html.slim index 1f7ded30..097c52de 100644 --- a/app/views/suppliers/application/_top_menu.html.slim +++ b/app/views/suppliers/application/_top_menu.html.slim @@ -29,7 +29,8 @@ aside.side-menu - if current_supplier.open? li = form_tag supplier_mark_as_closed_path do - = submit_tag t('supplier.close'), class: 'supplier-close-shop', onClick: %|$(this).parents('form').submit()| + a.supplier-close-shop href="javascript:void(0)" onclick="$(this).parents('form').submit()" + span data-t="supplier.close_for_orders" li= link_to 'Settings', supplier_settings_path, class: 'supplier-settings-link' li= link_to 'Logout', destroy_supplier_session_path, method: :delete, class: 'supplier-sign-out-link' /.navbar.navbar-fixed-top.navbar-inverse diff --git a/config/initializers/simple_form.rb b/config/initializers/simple_form.rb index e3f8d096..be3146f2 100644 --- a/config/initializers/simple_form.rb +++ b/config/initializers/simple_form.rb @@ -55,7 +55,7 @@ SimpleForm.setup do |config| config.boolean_style = :nested # Default class for buttons - config.button_class = 'btn' + config.button_class = 'button' # Method used to tidy up errors. Specify any Rails Array method. # :first lists the first message for each field. diff --git a/config/locales/supplier.en.yml b/config/locales/supplier.en.yml index e068a254..6b787551 100644 --- a/config/locales/supplier.en.yml +++ b/config/locales/supplier.en.yml @@ -13,9 +13,10 @@ en: active_orders: title: Active orders price: Price - close: Close the shop - you_are_currently_closed_alert: 'You are currently closed and not able to take orders' - mark_as_open_button: 'Open up the place!' + supplier: + close_for_orders: Close the shop + open_for_orders: 'Open up the place!' + you_are_currently_closed_alert: 'You are currently closed and not able to take orders' table_number: Table tables: qr_codes: diff --git a/config/locales/supplier.nl.yml b/config/locales/supplier.nl.yml index 08ce0641..d138eea5 100644 --- a/config/locales/supplier.nl.yml +++ b/config/locales/supplier.nl.yml @@ -13,9 +13,10 @@ nl: active_orders: title: Actieve orders price: Prijs - close: De zaak afsluiten voor bestellingen - you_are_currently_closed_alert: 'Je bent momenteel gesloten en kan geen orders ontvangen' - mark_as_open_button: 'Open de zaak!' + supplier: + close_for_orders: De zaak afsluiten voor bestellingen + open_for_orders: 'Open de zaak!' + you_are_currently_closed_alert: 'Je bent momenteel gesloten en kan geen orders ontvangen' table_number: Tafel tables: qr_codes: diff --git a/notes.js.coffee b/notes.js.coffee deleted file mode 100644 index 5aec0fdc..00000000 --- a/notes.js.coffee +++ /dev/null @@ -1,25 +0,0 @@ - build_product_list_as_modal: -> - wrapper = $('') - callback_wrapper = -> - wrapper.modal('hide') - callback() - header = $('') - .append('') - .append('

Product list

').appendTo(wrapper) - - body = $('') - table = $('
').appendTo(body) - tbody = $('').appendTo(table) - for product_id, info of window.active_products_list - row = $('').appendTo(tbody) - row.append(''+info.product.name+'') - row.append(''+info.number+'') - row.append(''+Qwaiter.currency(info.product.price * info.number)+'') - - body.appendTo(wrapper) - - footer = $('') - .append($('Close').click(-> wrapper.modal('hide'))) - .append($('Yes').click(callback_wrapper)) - .appendTo(wrapper) - wrapper.modal() diff --git a/wip.md b/wip.md index ccac59db..71c5b65e 100644 --- a/wip.md +++ b/wip.md @@ -4,20 +4,14 @@ Release Supplier -------- -- better product listing with time of day in products overview - english emails -- https://github.com/buytruckload/geonames_api -- website calls to action - Side menu - Open shop button nice - Close shop button nice - Title mooi en zichtbaar -- Product category looks for foundation - form action button looks (Roos) - Dashboard - Empty state -- Section table view - - add order vinkjes management (post release) - Add qr print functionality offering to send the stickers - Supplier sidebar open/close message seems untranslated @@ -36,7 +30,6 @@ Bugs ---- - Dragging supplier table from one section to the other fails -- supplier main board section selector selects first section option and not the supplier name, which is added using prompt thingy. Maybe setting ApplicationController.active_section in stead of IndexController.active_section for scope locking Post release ============ @@ -44,12 +37,24 @@ Post release - Chromecast app Waiter app Users can disable their own help request (maak ongedaan?) Users can disable their own bill request (maak ongedaan?) Think about extra confirmation box for these requests Supplier section 100% on ember :) - Do not destroy tables with active list - Test list view when table is destroyed +- Test a whole bunch of destroy actions (soft delete? DestoyedTable model?) + +Website +------- + +- website calls to action Supplier -------- +- Counters display similar to users +- Add image to products - tables#index Make table actions available - Products to ember - Product categories to ember - Event stream to ember - Section view, add go to list button right next to edit section button +- Replace product categories jquery sortable by ember version +- https://github.com/buytruckload/geonames_api +- Section view + - add order vinkjes (active, delivered) management to table actions (post release)