From eca4a23c64bce61570b797f6912b3c9c529f56be Mon Sep 17 00:00:00 2001 From: Benjamin ter Kuile Date: Thu, 27 Aug 2015 19:52:47 +0200 Subject: [PATCH] Activate Ember2 for suppliers --- Gemfile | 5 +- Gemfile.lock | 109 ++++++----- .../application.js.coffee} | 5 +- .../button/language-switcher.js.coffee} | 4 +- .../button/mark-list-helped.js.coffee | 2 +- .../button/mark-order-cancelled.js.coffee | 5 +- .../dashboard/active-list.js.coffee | 5 + .../dashboard/active-order.js.coffee | 5 + .../form}/file-upload.js.coffee | 2 +- .../app/components/form/my-select.js.coffee | 34 ++++ ....coffee => select-minute-of-day.js.coffee} | 0 .../list-display-date-selector.js.coffee} | 2 +- .../app/components/list-order.js.coffee | 4 + .../app/components/menu-product.js.coffee | 4 +- .../modal_view.js.coffee | 2 +- .../app/components/my-schedule.js.coffee | 21 ++ .../schedule_view.js.coffee} | 30 ++- .../app/components/section/element.js.coffee | 2 +- .../app/components/section/table.js.coffee | 4 +- .../section_view.js.coffee | 0 .../sections-header-section.js.coffee | 4 + .../app/components/sections-header.js.coffee | 6 +- .../table-number-with-info.js.coffee} | 4 +- .../controllers/index_controller.js.coffee | 2 +- .../app/controllers/menu_controller.js.coffee | 2 +- .../app/controllers/my-schedule.js.coffee | 6 +- .../controllers/schedule_controller.js.coffee | 28 +-- .../controllers/section_controller.js.coffee | 20 +- .../controllers/settings_controller.js.coffee | 11 +- .../supplier/app/helpers/is-equal.js.coffee | 2 + .../supplier/app/helpers/is-not.js.coffee | 2 + .../supplier/app/helpers/read-path.js.coffee | 2 + .../supplier/app/models/list.js.coffee | 1 - .../controller_modifications.js.coffee | 1 - .../routes/application_route.js.coffee.erb | 2 +- .../app/routes/employees_route.js.coffee | 2 +- .../supplier/app/routes/index_route.js.coffee | 2 +- .../app/services/css-object.js.coffee | 2 +- .../app/templates/_list_content.emblem | 9 +- .../supplier/app/templates/active_list.emblem | 25 --- .../app/templates/active_order.emblem | 15 -- .../templates/components/dropdown-link.emblem | 2 +- .../language-switcher-button.emblem | 2 +- .../components/language-switcher.emblem | 2 +- .../templates/components/menu-product.emblem | 2 +- .../components/menu-time-preview.emblem | 2 +- .../components/sections-header.emblem | 5 +- .../templates/dashboard/active-list.emblem | 26 +++ .../templates/dashboard/active-order.emblem | 15 ++ .../supplier/app/templates/employee.emblem | 2 +- .../app/templates/form/boolean-switch.emblem | 2 +- .../supplier/app/templates/form/my-select.hbs | 20 ++ .../form/select_minute_of_day.emblem | 8 +- .../supplier/app/templates/index.emblem | 12 +- .../supplier/app/templates/lists/index.emblem | 2 +- .../app/templates/lists/list-order.emblem | 7 + .../app/templates/modals/table_edit.emblem | 2 +- .../app/templates/orders_display.emblem | 8 +- .../supplier/app/templates/page.emblem | 2 +- .../supplier/app/templates/settings.emblem | 18 +- .../templates/table_number_with_info.emblem | 2 +- .../app/views/active_list_view.js.coffee | 5 - .../app/views/active_order_view.js.coffee | 6 - .../app/views/mark-order-cancelled.js.coffee | 20 +- .../supplier/app/views/my-schedule.js.coffee | 43 ----- .../supplier/app/views/page-body.js.coffee | 22 +-- .../remove_list_needs_payment_view.js.coffee | 14 +- .../app/views/settings_view.js.coffee | 180 +++++++++--------- .../javascripts/user/app/manifest.js.coffee | 5 +- app/controllers/suppliers/lists_controller.rb | 2 +- .../suppliers/sections_controller.rb | 2 +- .../supplier_extended_list_serializer.rb | 10 - .../supplier_section_serializer.rb | 4 - app/serializers/supplier_user_serializer.rb | 8 - .../suppliers/employee_shift_serializer.rb | 4 +- .../suppliers/extended_table_serializer.rb | 2 +- .../list_serializer.rb} | 4 +- .../suppliers/section_serializer.rb | 4 + app/serializers/suppliers/user_serializer.rb | 12 ++ 79 files changed, 467 insertions(+), 414 deletions(-) rename app/assets/javascripts/supplier/app/{views/application_view.js.coffee => components/application.js.coffee} (86%) rename app/assets/javascripts/supplier/app/{views/language-switcher-button.js.coffee => components/button/language-switcher.js.coffee} (71%) create mode 100644 app/assets/javascripts/supplier/app/components/dashboard/active-list.js.coffee create mode 100644 app/assets/javascripts/supplier/app/components/dashboard/active-order.js.coffee rename app/assets/javascripts/supplier/app/{views => components/form}/file-upload.js.coffee (85%) create mode 100644 app/assets/javascripts/supplier/app/components/form/my-select.js.coffee rename app/assets/javascripts/supplier/app/components/form/{select_minute_of_day_view.js.coffee => select-minute-of-day.js.coffee} (100%) rename app/assets/javascripts/supplier/app/{views/list_display_date_selector.js.coffee => components/list-display-date-selector.js.coffee} (56%) create mode 100644 app/assets/javascripts/supplier/app/components/list-order.js.coffee rename app/assets/javascripts/supplier/app/{views => components}/modal_view.js.coffee (91%) create mode 100644 app/assets/javascripts/supplier/app/components/my-schedule.js.coffee rename app/assets/javascripts/supplier/app/{views/schedule.js.coffee => components/schedule_view.js.coffee} (61%) rename app/assets/javascripts/supplier/app/{views => components}/section_view.js.coffee (100%) create mode 100644 app/assets/javascripts/supplier/app/components/sections-header-section.js.coffee rename app/assets/javascripts/supplier/app/{views/table_number_with_info_view.js.coffee => components/table-number-with-info.js.coffee} (74%) create mode 100644 app/assets/javascripts/supplier/app/helpers/is-equal.js.coffee create mode 100644 app/assets/javascripts/supplier/app/helpers/is-not.js.coffee create mode 100644 app/assets/javascripts/supplier/app/helpers/read-path.js.coffee delete mode 100644 app/assets/javascripts/supplier/app/templates/active_list.emblem delete mode 100644 app/assets/javascripts/supplier/app/templates/active_order.emblem create mode 100644 app/assets/javascripts/supplier/app/templates/dashboard/active-list.emblem create mode 100644 app/assets/javascripts/supplier/app/templates/dashboard/active-order.emblem create mode 100644 app/assets/javascripts/supplier/app/templates/form/my-select.hbs create mode 100644 app/assets/javascripts/supplier/app/templates/lists/list-order.emblem delete mode 100644 app/assets/javascripts/supplier/app/views/active_list_view.js.coffee delete mode 100644 app/assets/javascripts/supplier/app/views/active_order_view.js.coffee delete mode 100644 app/assets/javascripts/supplier/app/views/my-schedule.js.coffee delete mode 100644 app/serializers/supplier_extended_list_serializer.rb delete mode 100644 app/serializers/supplier_section_serializer.rb delete mode 100644 app/serializers/supplier_user_serializer.rb rename app/serializers/{supplier_list_serializer.rb => suppliers/list_serializer.rb} (82%) create mode 100644 app/serializers/suppliers/section_serializer.rb create mode 100644 app/serializers/suppliers/user_serializer.rb diff --git a/Gemfile b/Gemfile index f900fcc3..6b1d8d4f 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,3 @@ -source 'https://rails-assets.org' source 'https://rubygems.org' gem 'rails', '~> 4.2.3' @@ -9,6 +8,8 @@ gem 'rack-cors', require: 'rack/cors' # gem 'sqlite3' +#source 'https://rails-assets.org' do +#end gem 'slim-rails' @@ -35,7 +36,7 @@ group :assets do gem 'uglifier', '>= 1.0.3' gem 'ember-rails' - #gem 'ember-source', '~> 1.13.0' + #gem 'ember-source', '~> 1.13.9' #gem 'emblem-rails' gem 'ember-validations-rails' gem 'ember-emblem-template' diff --git a/Gemfile.lock b/Gemfile.lock index 043ec1fd..edd0197a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -31,30 +31,29 @@ GIT rest-client (>= 1.4.2) GEM - remote: https://rails-assets.org/ remote: https://rubygems.org/ specs: - ace-rails-ap (3.0.3) - actionmailer (4.2.3) - actionpack (= 4.2.3) - actionview (= 4.2.3) - activejob (= 4.2.3) + ace-rails-ap (4.0.0) + actionmailer (4.2.4) + actionpack (= 4.2.4) + actionview (= 4.2.4) + activejob (= 4.2.4) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 1.0, >= 1.0.5) - actionpack (4.2.3) - actionview (= 4.2.3) - activesupport (= 4.2.3) + actionpack (4.2.4) + actionview (= 4.2.4) + activesupport (= 4.2.4) rack (~> 1.6) rack-test (~> 0.6.2) rails-dom-testing (~> 1.0, >= 1.0.5) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (4.2.3) - activesupport (= 4.2.3) + actionview (4.2.4) + activesupport (= 4.2.4) builder (~> 3.1) erubis (~> 2.7.0) rails-dom-testing (~> 1.0, >= 1.0.5) rails-html-sanitizer (~> 1.0, >= 1.0.2) - active-model-adapter-source (1.13.6) + active-model-adapter-source (2.0.0) ember-data-source (>= 1.13, < 3.0) active_attr (0.8.5) activemodel (>= 3.0.2, < 5.0) @@ -62,17 +61,17 @@ GEM active_decorator (0.5.3) active_model_serializers (0.9.3) activemodel (>= 3.2) - activejob (4.2.3) - activesupport (= 4.2.3) + activejob (4.2.4) + activesupport (= 4.2.4) globalid (>= 0.3.0) - activemodel (4.2.3) - activesupport (= 4.2.3) + activemodel (4.2.4) + activesupport (= 4.2.4) builder (~> 3.1) - activerecord (4.2.3) - activemodel (= 4.2.3) - activesupport (= 4.2.3) + activerecord (4.2.4) + activemodel (= 4.2.4) + activesupport (= 4.2.4) arel (~> 6.0) - activesupport (4.2.3) + activesupport (4.2.4) i18n (~> 0.7) json (~> 1.7, >= 1.7.7) minitest (~> 5.1) @@ -82,15 +81,15 @@ GEM airbrussh (0.7.0) sshkit (>= 1.6.1, != 1.7.0) arel (6.0.3) - barber (0.9.1) - ember-source (>= 1.0, < 2) + barber (0.9.2) + ember-source (>= 1.0, < 3) execjs (>= 1.2, < 3) bcrypt (3.1.10) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) - bourbon (4.2.3) + bourbon (4.2.4) sass (~> 3.4) - thor + thor (~> 0.19) builder (3.2.2) cancancan (1.12.0) capistrano (3.4.0) @@ -106,10 +105,10 @@ GEM capistrano-rvm (0.1.2) capistrano (~> 3.0) sshkit (~> 1.2) - capistrano3-puma (1.1.0) + capistrano3-puma (1.2.1) capistrano (~> 3.0) puma (>= 2.6) - capybara (2.4.4) + capybara (2.5.0) mime-types (>= 1.16) nokogiri (>= 1.3.3) rack (>= 1.0.0) @@ -118,7 +117,7 @@ GEM capybara-screenshot (1.0.11) capybara (>= 1.0, < 3) launchy - celluloid (0.16.1) + celluloid (0.16.0) timers (~> 4.0.0) childprocess (0.5.6) ffi (~> 1.0, >= 1.0.11) @@ -170,16 +169,16 @@ GEM eventmachine (>= 1.0.0.beta.4) email_validator (1.6.0) activemodel - ember-data-source (1.13.8) + ember-data-source (2.0.0) ember-source (>= 1.8, < 3.0) ember-emblem-template (0.2.2) barber (>= 0.9.0) sprockets (>= 2.1, < 3.0) - ember-handlebars-template (0.3.0) + ember-handlebars-template (0.3.2) barber (>= 0.9.0) - sprockets (>= 2.1, < 3.3) + sprockets (>= 2.1, < 3.4) tilt - ember-rails (0.19.0) + ember-rails (0.19.1) active-model-adapter-source (>= 1.13.0) active_model_serializers ember-data-source (>= 1.13.0) @@ -187,12 +186,12 @@ GEM ember-source (>= 1.8.0) jquery-rails (>= 1.0.17) railties (>= 3.1) - ember-source (1.13.8) + ember-source (2.0.0) ember-validations-rails (1.0.0) railties erubis (2.7.0) eventmachine (1.0.8) - execjs (2.5.2) + execjs (2.6.0) factory_girl (4.5.0) activesupport (>= 3.0.0) factory_girl_rails (4.5.0) @@ -253,7 +252,7 @@ GEM letter_opener (1.4.1) launchy (~> 2.2) libv8 (3.16.14.11) - loofah (2.0.2) + loofah (2.0.3) nokogiri (>= 1.5.9) mail (2.6.3) mime-types (>= 1.16, < 3) @@ -303,37 +302,37 @@ GEM slop (~> 3.4) pry-rails (0.3.4) pry (>= 0.9.10) - puma (2.12.3) + puma (2.13.4) quiet_assets (1.1.0) railties (>= 3.1, < 5.0) rack (1.6.4) rack-cors (0.4.0) rack-test (0.6.3) rack (>= 1.0) - rails (4.2.3) - actionmailer (= 4.2.3) - actionpack (= 4.2.3) - actionview (= 4.2.3) - activejob (= 4.2.3) - activemodel (= 4.2.3) - activerecord (= 4.2.3) - activesupport (= 4.2.3) + rails (4.2.4) + actionmailer (= 4.2.4) + actionpack (= 4.2.4) + actionview (= 4.2.4) + activejob (= 4.2.4) + activemodel (= 4.2.4) + activerecord (= 4.2.4) + activesupport (= 4.2.4) bundler (>= 1.3.0, < 2.0) - railties (= 4.2.3) + railties (= 4.2.4) sprockets-rails - rails-assets-ember-qunit (0.4.9) + rails-assets-ember-qunit (0.4.10) rails-assets-qunit (1.18.0) rails-deprecated_sanitizer (1.0.3) activesupport (>= 4.2.0.alpha) - rails-dom-testing (1.0.6) + rails-dom-testing (1.0.7) activesupport (>= 4.2.0.beta, < 5.0) nokogiri (~> 1.6.0) rails-deprecated_sanitizer (>= 1.0.1) rails-html-sanitizer (1.0.2) loofah (~> 2.0) - railties (4.2.3) - actionpack (= 4.2.3) - activesupport (= 4.2.3) + railties (4.2.4) + actionpack (= 4.2.4) + activesupport (= 4.2.4) rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) rake (10.4.2) @@ -344,7 +343,7 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 3.0) netrc (~> 0.7) - rqrcode (0.6.0) + rqrcode (0.7.0) chunky_png rspec (3.3.0) rspec-core (~> 3.3.0) @@ -373,7 +372,7 @@ GEM ruby-progressbar (1.7.5) rubyzip (1.1.7) safe_yaml (1.0.4) - sass (3.4.16) + sass (3.4.18) sass-rails (5.0.3) railties (>= 4.0.0, < 5.0) sass (~> 3.1) @@ -416,8 +415,8 @@ GEM colorize (>= 0.7.0) net-scp (>= 1.1.2) net-ssh (>= 2.8.0) - sucker_punch (1.5.0) - celluloid (~> 0.16.0) + sucker_punch (1.5.1) + celluloid (= 0.16.0) temple (0.7.6) test_squad (0.0.1) rails @@ -429,14 +428,14 @@ GEM tilt (1.4.1) timers (4.0.1) hitimes - tinymce-rails (4.2.3) + tinymce-rails (4.2.4) railties (>= 3.1.1) turnip (1.3.1) gherkin (>= 2.5) rspec (>= 2.14.0, < 4.0) tzinfo (1.2.2) thread_safe (~> 0.1) - uglifier (2.7.1) + uglifier (2.7.2) execjs (>= 0.3.0) json (>= 1.8.0) unf (0.1.4) diff --git a/app/assets/javascripts/supplier/app/views/application_view.js.coffee b/app/assets/javascripts/supplier/app/components/application.js.coffee similarity index 86% rename from app/assets/javascripts/supplier/app/views/application_view.js.coffee rename to app/assets/javascripts/supplier/app/components/application.js.coffee index 37fe88de..6faa2c06 100644 --- a/app/assets/javascripts/supplier/app/views/application_view.js.coffee +++ b/app/assets/javascripts/supplier/app/components/application.js.coffee @@ -1,6 +1,7 @@ -App.ApplicationView = Ember.View.extend +App.ApplicationView = Ember.Component.extend + layoutName: 'application' classNames: ['application-view'] - didInsertElement: -> + didRender: -> $('.toggle-side-menu,.side-menu').click -> menu = $('.side-menu') toggle = $('.toggle-side-menu') diff --git a/app/assets/javascripts/supplier/app/views/language-switcher-button.js.coffee b/app/assets/javascripts/supplier/app/components/button/language-switcher.js.coffee similarity index 71% rename from app/assets/javascripts/supplier/app/views/language-switcher-button.js.coffee rename to app/assets/javascripts/supplier/app/components/button/language-switcher.js.coffee index 24d6b801..7385f678 100644 --- a/app/assets/javascripts/supplier/app/views/language-switcher-button.js.coffee +++ b/app/assets/javascripts/supplier/app/components/button/language-switcher.js.coffee @@ -1,6 +1,6 @@ -App.LanguageSwitcherButtonView = Ember.View.extend +App.ButtonLanguageSwitcherComponent = Ember.Component.extend tagName: 'a' - templateName: 'components/language-switcher-button' + layoutName: 'components/language-switcher-button' classNameBindings: ['isCurrent:current'] classNames: ['language-switch-button'] isCurrent: Ember.computed 'locale', 'controller.current_locale', -> diff --git a/app/assets/javascripts/supplier/app/components/button/mark-list-helped.js.coffee b/app/assets/javascripts/supplier/app/components/button/mark-list-helped.js.coffee index a0ef0119..dc9ab395 100644 --- a/app/assets/javascripts/supplier/app/components/button/mark-list-helped.js.coffee +++ b/app/assets/javascripts/supplier/app/components/button/mark-list-helped.js.coffee @@ -1,4 +1,4 @@ -App.ButtonMarkListHelpedComponent = Ember.View.extend +App.ButtonMarkListHelpedComponent = Ember.Component.extend layoutName: 'components/button/mark-list-helped' classNames: ['mark-list-as-helped-button'] classNameBindings: ['content.needs_help:show:hide'] diff --git a/app/assets/javascripts/supplier/app/components/button/mark-order-cancelled.js.coffee b/app/assets/javascripts/supplier/app/components/button/mark-order-cancelled.js.coffee index e2404cfd..94f7a375 100644 --- a/app/assets/javascripts/supplier/app/components/button/mark-order-cancelled.js.coffee +++ b/app/assets/javascripts/supplier/app/components/button/mark-order-cancelled.js.coffee @@ -3,9 +3,8 @@ App.ButtonMarkOrderCancelledComponent = Ember.Component.extend layoutName: 'components/button/mark-order-cancelled' classNames: ['mark-order-cancelled-button'] classNameBindings: ['showButton:active:hide'] - showButton: Ember.computed 'order.state', -> - state = @get('order.state') - state is 'placed' or state is 'active' + showButton: Ember.computed 'order.list.state', -> + @get('order.list.state') is 'active' click: -> @modal 'confirm', model: @get('order') diff --git a/app/assets/javascripts/supplier/app/components/dashboard/active-list.js.coffee b/app/assets/javascripts/supplier/app/components/dashboard/active-list.js.coffee new file mode 100644 index 00000000..2980c087 --- /dev/null +++ b/app/assets/javascripts/supplier/app/components/dashboard/active-list.js.coffee @@ -0,0 +1,5 @@ +App.DashboardActiveListComponent = Ember.Component.extend + tagName: 'tr' + layoutName: 'dashboard/active-list' + classNameBindings: ['classIdentifier'] + classIdentifier: Ember.computed 'list.id', -> "list-row-#{@get('list.id')}" diff --git a/app/assets/javascripts/supplier/app/components/dashboard/active-order.js.coffee b/app/assets/javascripts/supplier/app/components/dashboard/active-order.js.coffee new file mode 100644 index 00000000..98d4b4b8 --- /dev/null +++ b/app/assets/javascripts/supplier/app/components/dashboard/active-order.js.coffee @@ -0,0 +1,5 @@ +App.DashboardActiveOrderComponent = Ember.Component.extend + tagName: 'tr' + layoutName: 'dashboard/active-order' + classNameBindings: ['content.active:active', 'content.delivered:delivered', 'classIdentifier'] + classIdentifier: Ember.computed 'order.id', -> "order-row-#{@get('order.id')}" diff --git a/app/assets/javascripts/supplier/app/views/file-upload.js.coffee b/app/assets/javascripts/supplier/app/components/form/file-upload.js.coffee similarity index 85% rename from app/assets/javascripts/supplier/app/views/file-upload.js.coffee rename to app/assets/javascripts/supplier/app/components/form/file-upload.js.coffee index 74541458..a38298b9 100644 --- a/app/assets/javascripts/supplier/app/views/file-upload.js.coffee +++ b/app/assets/javascripts/supplier/app/components/form/file-upload.js.coffee @@ -1,4 +1,4 @@ -App.UploadFileView = Ember.TextField.extend +App.FormFileUploadComponent = Ember.TextField.extend tagName: 'input' attributeBindings: ['name'] type: 'file' diff --git a/app/assets/javascripts/supplier/app/components/form/my-select.js.coffee b/app/assets/javascripts/supplier/app/components/form/my-select.js.coffee new file mode 100644 index 00000000..5ba5f841 --- /dev/null +++ b/app/assets/javascripts/supplier/app/components/form/my-select.js.coffee @@ -0,0 +1,34 @@ +App.MySelectComponent = Ember.Component.extend + # possible passed-in values with their defaults: + layoutName: 'supplier/app/form/my-select' + content: null + prompt: null + optionValuePath: 'id' + optionLabelPath: 'title' + action: Ember.K # action to fire on change + selection: null + identity: true + + # shadow the passed-in `selection` to avoid + # leaking changes to it via a 2-way binding + #_selection: Ember.computed.reads('selection') + + setContent: (-> + @set('content', []) unless @get('content') + ).on('init') + + actions: + change: -> + selectedIndex = @$('select:first').get(0).selectedIndex + + # decrement index by 1 if we have a prompt + hasPrompt = !!@get('prompt') + contentIndex = if hasPrompt then selectedIndex - 1 else selectedIndex + + selection = @get('content')[contentIndex] + + # set the local, shadowed selection to avoid leaking + # changes to `selection` out via 2-way binding + @set('selection', selection) + + #changeCallback(selection) if changeCallback = @get('action') diff --git a/app/assets/javascripts/supplier/app/components/form/select_minute_of_day_view.js.coffee b/app/assets/javascripts/supplier/app/components/form/select-minute-of-day.js.coffee similarity index 100% rename from app/assets/javascripts/supplier/app/components/form/select_minute_of_day_view.js.coffee rename to app/assets/javascripts/supplier/app/components/form/select-minute-of-day.js.coffee diff --git a/app/assets/javascripts/supplier/app/views/list_display_date_selector.js.coffee b/app/assets/javascripts/supplier/app/components/list-display-date-selector.js.coffee similarity index 56% rename from app/assets/javascripts/supplier/app/views/list_display_date_selector.js.coffee rename to app/assets/javascripts/supplier/app/components/list-display-date-selector.js.coffee index 2a3b4637..45660b5d 100644 --- a/app/assets/javascripts/supplier/app/views/list_display_date_selector.js.coffee +++ b/app/assets/javascripts/supplier/app/components/list-display-date-selector.js.coffee @@ -1,4 +1,4 @@ -App.ListDisplayDateSelectorView = Ember.TextField.extend +App.ListDisplayDateSelectorComponent = Ember.TextField.extend classNames: 'datepicker' didInsertElement: -> setTranslations @$().hide() diff --git a/app/assets/javascripts/supplier/app/components/list-order.js.coffee b/app/assets/javascripts/supplier/app/components/list-order.js.coffee new file mode 100644 index 00000000..d656d4e6 --- /dev/null +++ b/app/assets/javascripts/supplier/app/components/list-order.js.coffee @@ -0,0 +1,4 @@ +App.ListOrderComponent = Ember.Component.extend + layoutName: 'lists/list-order' + classNames: ['list-order-container'] + classNameBindings: ['order.state'] diff --git a/app/assets/javascripts/supplier/app/components/menu-product.js.coffee b/app/assets/javascripts/supplier/app/components/menu-product.js.coffee index 1813bafe..4ac87b69 100644 --- a/app/assets/javascripts/supplier/app/components/menu-product.js.coffee +++ b/app/assets/javascripts/supplier/app/components/menu-product.js.coffee @@ -41,8 +41,8 @@ App.MenuProductComponent = Ember.Component.extend @get('product').deleteRecord() else @get('product.product_variants').forEach (product_variant)-> - product_variant.rollback() - @get('product').rollback() + product_variant.rollbackAttributes() + @get('product').rollbackAttributes() @set 'editMode', false addProductVariant: -> product_variant = @get('targetObject.store').createRecord('product_variant') diff --git a/app/assets/javascripts/supplier/app/views/modal_view.js.coffee b/app/assets/javascripts/supplier/app/components/modal_view.js.coffee similarity index 91% rename from app/assets/javascripts/supplier/app/views/modal_view.js.coffee rename to app/assets/javascripts/supplier/app/components/modal_view.js.coffee index 9e3c8717..fadc929d 100644 --- a/app/assets/javascripts/supplier/app/views/modal_view.js.coffee +++ b/app/assets/javascripts/supplier/app/components/modal_view.js.coffee @@ -1,4 +1,4 @@ -App.ModalView = Ember.View.extend +App.ModalView = Ember.Component.extend layoutName: 'modals/layout' didInsertElement: -> @$('input:first').focus() diff --git a/app/assets/javascripts/supplier/app/components/my-schedule.js.coffee b/app/assets/javascripts/supplier/app/components/my-schedule.js.coffee new file mode 100644 index 00000000..29734a1d --- /dev/null +++ b/app/assets/javascripts/supplier/app/components/my-schedule.js.coffee @@ -0,0 +1,21 @@ +App.MyScheduleView = Ember.Component.extend + layoutName: 'my-schedule' + classNames: ['schedule-view'] + didInsertElement: -> + placeholder = @$('#schedule-placeholder') + events = @get('globals.current_employee.employee_shifts').map( (employee_shift)->employee_shift.get('calendar_event_for_employee') ) + placeholder.fullCalendar + header: + left: 'prev,next,today' + center: 'title' + right: 'agendaDay,agendaWeek,month' + selectable: false + defaultView: 'agendaWeek' + events: events + timezone: 'UTC' + timeFormat: 'H(:mm)' + axisFormat: 'H:mm' + lang: moment.locale() + + + diff --git a/app/assets/javascripts/supplier/app/views/schedule.js.coffee b/app/assets/javascripts/supplier/app/components/schedule_view.js.coffee similarity index 61% rename from app/assets/javascripts/supplier/app/views/schedule.js.coffee rename to app/assets/javascripts/supplier/app/components/schedule_view.js.coffee index 440c9acd..28f70c43 100644 --- a/app/assets/javascripts/supplier/app/views/schedule.js.coffee +++ b/app/assets/javascripts/supplier/app/components/schedule_view.js.coffee @@ -1,10 +1,22 @@ -App.ScheduleView = Ember.View.extend +App.ScheduleView = Ember.Component.extend + event_changed: (event)-> + @get('globals.current_employee').store.findRecord('employee-shift', event.id).then (employee_shift)-> + employee_shift.set 'start_from', event.start + employee_shift.set 'end_on', event.end + employee_shift.save() + editEvent: (id, callbacks)-> + if employee_shift = @get('globals.current_employee').store.peekRecord('employee-shift', id) + @modal 'employee_shift', + title_path: 'employee_shift.modal.title' + destroy_text_path: 'employee_shift.modal.destroy_confirmation' + model: employee_shift + save: -> callbacks.save.call(@, employee_shift) if callbacks.save + destroy_callback: -> callbacks.destroy.call(@, employee_shift) if callbacks.destroy classNames: ['schedule-view'] didInsertElement: -> placeholder = @$('#schedule-placeholder') - controller = @get('controller') events = @get('globals.current_supplier.employee_shifts').filter((employee_shift) -> employee_shift.get('employee.active') ).map( (employee_shift)->employee_shift.get('calendar_event') ) - editable = !!controller.get('globals.current_employee.manager') + editable = !!@get('globals.current_employee.manager') fullCalendarOptions = header: left: 'prev,next,today' @@ -16,17 +28,17 @@ App.ScheduleView = Ember.View.extend defaultView: 'agendaWeek' events: events timezone: 'UTC' - eventDrop: controller.event_changed.bind(controller) - eventResize: controller.event_changed.bind(controller) + eventDrop: @event_changed.bind(@) + eventResize: @event_changed.bind(@) dayClick: (date, jsEvent, view)-> jsEvent.preventDefault() if view.type is 'month' placeholder.fullCalendar('changeView', 'agendaDay') placeholder.fullCalendar('gotoDate', date) false - eventClick: (event)-> + eventClick: (event)=> return unless editable - controller.editEvent event.id, + @editEvent event.id, save: (shift)-> placeholder.fullCalendar('removeEvents', [event.id]) placeholder.fullCalendar('renderEvent', shift.get('calendar_event'), true) @@ -39,11 +51,11 @@ App.ScheduleView = Ember.View.extend fullCalendarOptions.select = (start, end, jsEvent, view) => return if view.type is 'month' format = 'dddd h:mm' - controller.modal 'select_employee', + @modal 'select_employee', ok: -> # this context is SelectEmployeeController if employee = @get('employee') - shift = controller.store.createRecord 'employee-shift', start_from: start, end_on: end + shift = employee.store.createRecord 'employee-shift', start_from: start, end_on: end shift.set 'employee', employee shift.save().then -> placeholder.fullCalendar('renderEvent', shift.get('calendar_event'), true) diff --git a/app/assets/javascripts/supplier/app/components/section/element.js.coffee b/app/assets/javascripts/supplier/app/components/section/element.js.coffee index 864f01d6..2356b6ab 100644 --- a/app/assets/javascripts/supplier/app/components/section/element.js.coffee +++ b/app/assets/javascripts/supplier/app/components/section/element.js.coffee @@ -23,7 +23,7 @@ App.SectionElementComponent = Ember.Component.extend DragNDrop.Draggable, # box size in dots [d] box_size: (-> (@get('dpm') || 0 ) * @get('section_element.box_size')).property('dpm', 'section_element.box_size') style: Ember.computed 'offsetX', 'offsetY', 'box_size', 'section_element.rotation', -> - "position:absolute;width:#{@get('box_size')}px;height:#{@get('box_size')}px;left:#{@get('offsetX')}px;top:#{@get('offsetY')}px" + "position:absolute;width:#{@get('box_size')}px;height:#{@get('box_size')}px;left:#{@get('offsetX')}px;top:#{@get('offsetY')}px".htmlSafe() positionChange: (position)-> dpm = @get('dpm') return if !dpm or parseFloat(dpm) is 0 diff --git a/app/assets/javascripts/supplier/app/components/section/table.js.coffee b/app/assets/javascripts/supplier/app/components/section/table.js.coffee index e32fc5b2..eec734c6 100644 --- a/app/assets/javascripts/supplier/app/components/section/table.js.coffee +++ b/app/assets/javascripts/supplier/app/components/section/table.js.coffee @@ -35,7 +35,7 @@ App.SectionTableComponent = Ember.Component.extend DragNDrop.Draggable, #"position:absolute;width:83px;height:48px;left:#{@get('offsetX')}px;top:#{@get('offsetY')}px" #).property('offsetX', 'offsetY') style: Ember.computed 'offsetX', 'offsetY', 'myWidth', 'myHeight', -> - "position:absolute;width:#{@get('myWidth')}px;height:#{@get('myHeight')}px;left:#{@get('offsetX')}px;top:#{@get('offsetY')}px" + "position:absolute;width:#{@get('myWidth')}px;height:#{@get('myHeight')}px;left:#{@get('offsetX')}px;top:#{@get('offsetY')}px".htmlSafe() draggable: Ember.computed.alias 'section.editmode' positionChange: (position)-> @@ -52,7 +52,7 @@ App.SectionTableComponent = Ember.Component.extend DragNDrop.Draggable, table = @get('table') @modal 'table_edit', model: table - close: -> table.rollback() + close: -> table.rollbackAttributes() else @$('.table-actions').toggle() if @$el.hasClass('occupied') false diff --git a/app/assets/javascripts/supplier/app/views/section_view.js.coffee b/app/assets/javascripts/supplier/app/components/section_view.js.coffee similarity index 100% rename from app/assets/javascripts/supplier/app/views/section_view.js.coffee rename to app/assets/javascripts/supplier/app/components/section_view.js.coffee diff --git a/app/assets/javascripts/supplier/app/components/sections-header-section.js.coffee b/app/assets/javascripts/supplier/app/components/sections-header-section.js.coffee new file mode 100644 index 00000000..09f40dd1 --- /dev/null +++ b/app/assets/javascripts/supplier/app/components/sections-header-section.js.coffee @@ -0,0 +1,4 @@ +App.SectionsHeaderSectionComponent = Ember.Component.extend + tagName: 'dd' + attributeBindings: ['dataSectionId:data-section'] + dataSectionId: Ember.computed 'section.id', -> @get('section.id') diff --git a/app/assets/javascripts/supplier/app/components/sections-header.js.coffee b/app/assets/javascripts/supplier/app/components/sections-header.js.coffee index 0fe2d9b6..d652b487 100644 --- a/app/assets/javascripts/supplier/app/components/sections-header.js.coffee +++ b/app/assets/javascripts/supplier/app/components/sections-header.js.coffee @@ -3,15 +3,15 @@ App.SectionsHeaderComponent = Ember.Component.extend sections: (-> @get('targetObject.store').peekAll('section') ).property() actions: setSection: (section)-> - if section and section is @get('section') + if section and section is @get('active_section') # click on already active section #return @transitionTo('section', section.id) #return App.Router.router.transitionTo('section', section) return @get('targetObject').transitionToRoute('section', section) @$('dd').removeClass('active') @$("[data-section=#{if section then section.id else 'all'}]").addClass('active') - @set('section', section) + @set('active_section', section) didInsertElement: -> @$('dd').removeClass('active') - section = @get('section') + section = @get('active_section') @$("[data-section=#{if section then section.id else 'all'}]").addClass('active') diff --git a/app/assets/javascripts/supplier/app/views/table_number_with_info_view.js.coffee b/app/assets/javascripts/supplier/app/components/table-number-with-info.js.coffee similarity index 74% rename from app/assets/javascripts/supplier/app/views/table_number_with_info_view.js.coffee rename to app/assets/javascripts/supplier/app/components/table-number-with-info.js.coffee index 41b76adb..9867318e 100644 --- a/app/assets/javascripts/supplier/app/views/table_number_with_info_view.js.coffee +++ b/app/assets/javascripts/supplier/app/components/table-number-with-info.js.coffee @@ -1,6 +1,6 @@ -App.TableNumberWithInfoView = Ember.View.extend +App.TableNumberWithInfoComponent = Ember.Component.extend tagName: 'span' - templateName: 'table_number_with_info' + layoutName: 'table_number_with_info' classNames: 'table-number-with-info' click: -> $el = $(@get('element')).find('.extra-list-info') diff --git a/app/assets/javascripts/supplier/app/controllers/index_controller.js.coffee b/app/assets/javascripts/supplier/app/controllers/index_controller.js.coffee index 4960e64a..56987228 100644 --- a/app/assets/javascripts/supplier/app/controllers/index_controller.js.coffee +++ b/app/assets/javascripts/supplier/app/controllers/index_controller.js.coffee @@ -9,7 +9,7 @@ App.IndexController = Ember.Controller.extend if section_id = @get('active_section.id') lists = @get('lists').filter (l)=>( l.get('section.id') == section_id && l.get('state') == 'active' ) else - lists = @get('lists').filterProperty('state', 'active') + lists = @get('lists').filterBy('state', 'active') lists.sortBy('created_at') # Not reversed, oldest on top, start with oldest order first :-) Customer happyness ).property('lists.@each.state', 'active_section.id') diff --git a/app/assets/javascripts/supplier/app/controllers/menu_controller.js.coffee b/app/assets/javascripts/supplier/app/controllers/menu_controller.js.coffee index c24eaf32..578803c5 100644 --- a/app/assets/javascripts/supplier/app/controllers/menu_controller.js.coffee +++ b/app/assets/javascripts/supplier/app/controllers/menu_controller.js.coffee @@ -16,7 +16,7 @@ App.MenuController = Ember.Controller.extend editProductCategory: (product_category)-> @modal 'product_category_edit', model: product_category - close: -> product_category.rollback() + close: -> product_category.rollbackAttributes() destroy_text_path: 'product_category.modal.destroy_confirm_text' moveProductCategory: (product_category)-> diff --git a/app/assets/javascripts/supplier/app/controllers/my-schedule.js.coffee b/app/assets/javascripts/supplier/app/controllers/my-schedule.js.coffee index 211ade4e..bb3423e9 100644 --- a/app/assets/javascripts/supplier/app/controllers/my-schedule.js.coffee +++ b/app/assets/javascripts/supplier/app/controllers/my-schedule.js.coffee @@ -1,3 +1,3 @@ -App.MyScheduleController = Ember.Controller.extend - actions: - debugger: -> debugger +#App.MyScheduleController = Ember.Controller.extend +# actions: +# debugger: -> debugger diff --git a/app/assets/javascripts/supplier/app/controllers/schedule_controller.js.coffee b/app/assets/javascripts/supplier/app/controllers/schedule_controller.js.coffee index c70f4490..4248f3f8 100644 --- a/app/assets/javascripts/supplier/app/controllers/schedule_controller.js.coffee +++ b/app/assets/javascripts/supplier/app/controllers/schedule_controller.js.coffee @@ -1,14 +1,14 @@ -App.ScheduleController = Ember.Controller.extend - event_changed: (event)-> - @store.findRecord('employee-shift', event.id).then (employee_shift)-> - employee_shift.set 'start_from', event.start - employee_shift.set 'end_on', event.end - employee_shift.save() - editEvent: (id, callbacks)-> - if employee_shift = @store.peekRecord('employee-shift', id) - @modal 'employee_shift', - title_path: 'employee_shift.modal.title' - destroy_text_path: 'employee_shift.modal.destroy_confirmation' - model: employee_shift - save: -> callbacks.save.call(@, employee_shift) if callbacks.save - destroy_callback: -> callbacks.destroy.call(@, employee_shift) if callbacks.destroy +#App.ScheduleController = Ember.Controller.extend +# event_changed: (event)-> +# @store.findRecord('employee-shift', event.id).then (employee_shift)-> +# employee_shift.set 'start_from', event.start +# employee_shift.set 'end_on', event.end +# employee_shift.save() +# editEvent: (id, callbacks)-> +# if employee_shift = @store.peekRecord('employee-shift', id) +# @modal 'employee_shift', +# title_path: 'employee_shift.modal.title' +# destroy_text_path: 'employee_shift.modal.destroy_confirmation' +# model: employee_shift +# save: -> callbacks.save.call(@, employee_shift) if callbacks.save +# destroy_callback: -> callbacks.destroy.call(@, employee_shift) if callbacks.destroy diff --git a/app/assets/javascripts/supplier/app/controllers/section_controller.js.coffee b/app/assets/javascripts/supplier/app/controllers/section_controller.js.coffee index 98352c0b..62c13f75 100644 --- a/app/assets/javascripts/supplier/app/controllers/section_controller.js.coffee +++ b/app/assets/javascripts/supplier/app/controllers/section_controller.js.coffee @@ -1,30 +1,32 @@ App.SectionController = Ember.Controller.extend #needs: ['application', 'sections', 'section'] #wtf? section, otherwise an Ember error actions: - makeEditable: -> @set('model.editmode', true) + makeEditable: -> + @set('model.editmode', true) + false finishEditable: -> @set('model.editmode', false) @get('model').save() - @get('model.tables').filterProperty('hasDirtyAttributes').invoke 'save' - @get('model.section_elements').filterProperty('hasDirtyAttributes').invoke 'save' - @get('model.section_areas').filterProperty('hasDirtyAttributes').invoke 'save' + @get('model.tables').filterBy('hasDirtyAttributes').invoke 'save' + @get('model.section_elements').filterBy('hasDirtyAttributes').invoke 'save' + @get('model.section_areas').filterBy('hasDirtyAttributes').invoke 'save' rollbackEditable: -> - @get('model').rollback() + @get('model').rollbackAttributes() @get('model.tables').forEach (table) -> if table.get('isNew') table.deleteRecord() else - table.rollback() + table.rollbackAttributes() @get('model.section_elements').forEach (section_element) -> if section_element.get('isNew') section_element.deleteRecord() else - section_element.rollback() + section_element.rollbackAttributes() @get('model.section_areas').forEach (section_area) -> if section_area.get('isNew') section_area.deleteRecord() else - section_area.rollback() + section_area.rollbackAttributes() @set('model.editmode', false) addSection: -> @modal 'add_section', model: @get('model') addTables: -> @modal 'section_add_tables', model: @get('model') @@ -51,7 +53,7 @@ App.SectionController = Ember.Controller.extend if section_area.get('isNew') section_area.deleteRecord() else - section_area.rollback() + section_area.rollbackAttributes() textures: ['wood1', 'wood2'] #sections: (-> @get('controllers.sections.model')).property('controllers.sections.model') diff --git a/app/assets/javascripts/supplier/app/controllers/settings_controller.js.coffee b/app/assets/javascripts/supplier/app/controllers/settings_controller.js.coffee index bc055852..dfacf37f 100644 --- a/app/assets/javascripts/supplier/app/controllers/settings_controller.js.coffee +++ b/app/assets/javascripts/supplier/app/controllers/settings_controller.js.coffee @@ -1,13 +1,14 @@ App.SettingsController = Ember.Controller.extend - supplier: Ember.computed.alias 'globals.current_supplier' + #supplier: Ember.computed.alias 'globals.current_supplier' time_zones: (-> window.time_zones ).property() - countries: (-> window.countries ).property() + countries: (-> window.countries.map (el)-> el.name ).property() saving: false - editIensProfile: (-> @get('supplier.country') is 'Netherlands' ).property('supplier.country') + editIensProfile: Ember.computed 'globals.current_supplier.country', -> + @get('globals.current_supplier.country') is 'Netherlands' actions: saveSettings: -> @set 'saving', true - @get('supplier').save().then (supplier) => + @get('globals.current_supplier').save().then (supplier) => @set 'saving', false - $('.top-menu .supplier-name').text @get('supplier.name') + #$('.top-menu .supplier-name').text @get('globals.current_supplier.name') @transitionToRoute 'index' diff --git a/app/assets/javascripts/supplier/app/helpers/is-equal.js.coffee b/app/assets/javascripts/supplier/app/helpers/is-equal.js.coffee new file mode 100644 index 00000000..9e364dd6 --- /dev/null +++ b/app/assets/javascripts/supplier/app/helpers/is-equal.js.coffee @@ -0,0 +1,2 @@ +App.IsEqualHelper = Ember.Helper.helper ([lhs, rhs])-> + lhs is rhs diff --git a/app/assets/javascripts/supplier/app/helpers/is-not.js.coffee b/app/assets/javascripts/supplier/app/helpers/is-not.js.coffee new file mode 100644 index 00000000..ff12ae1d --- /dev/null +++ b/app/assets/javascripts/supplier/app/helpers/is-not.js.coffee @@ -0,0 +1,2 @@ +App.IsNotHelper = Ember.Helper.helper ([value])-> + return !value diff --git a/app/assets/javascripts/supplier/app/helpers/read-path.js.coffee b/app/assets/javascripts/supplier/app/helpers/read-path.js.coffee new file mode 100644 index 00000000..6191c1b4 --- /dev/null +++ b/app/assets/javascripts/supplier/app/helpers/read-path.js.coffee @@ -0,0 +1,2 @@ +App.ReadPathHelper = Ember.Helper.helper ([object, path])-> + Ember.get(object, path) diff --git a/app/assets/javascripts/supplier/app/models/list.js.coffee b/app/assets/javascripts/supplier/app/models/list.js.coffee index 507dbd51..e82126bf 100644 --- a/app/assets/javascripts/supplier/app/models/list.js.coffee +++ b/app/assets/javascripts/supplier/app/models/list.js.coffee @@ -40,7 +40,6 @@ App.List = DS.Model.extend ).property('relevant_orders.@each.total') has_active_orders: (-> return false unless @get('state') == 'active' - #!!@get('orders').filterProperty('state', 'active').length !!@get('orders').filter( (order) -> order.get('state') is 'active' or order.get('state') is 'placed').length ).property('state', 'orders.@each.state') close: -> diff --git a/app/assets/javascripts/supplier/app/modifications/controller_modifications.js.coffee b/app/assets/javascripts/supplier/app/modifications/controller_modifications.js.coffee index e7fb1d41..8691c834 100644 --- a/app/assets/javascripts/supplier/app/modifications/controller_modifications.js.coffee +++ b/app/assets/javascripts/supplier/app/modifications/controller_modifications.js.coffee @@ -13,4 +13,3 @@ ControllerExtensions = Ember.Mixin.create all_sections: (-> @store.peekAll('section')).property() Ember.Controller.reopen ControllerExtensions -Ember.ArrayController.reopen ControllerExtensions # Added for auto generated employeesController Ember 1,13.5 diff --git a/app/assets/javascripts/supplier/app/routes/application_route.js.coffee.erb b/app/assets/javascripts/supplier/app/routes/application_route.js.coffee.erb index 52ca4eaf..5181a472 100644 --- a/app/assets/javascripts/supplier/app/routes/application_route.js.coffee.erb +++ b/app/assets/javascripts/supplier/app/routes/application_route.js.coffee.erb @@ -110,7 +110,7 @@ App.ApplicationRoute = Ember.Route.extend editTable: (table)-> @send 'openModal', 'table_edit', model: table - close: -> table.rollback() + close: -> table.rollbackAttributes() events: list_needs_help: (data) -> if list = @store.getById('list', data.id) diff --git a/app/assets/javascripts/supplier/app/routes/employees_route.js.coffee b/app/assets/javascripts/supplier/app/routes/employees_route.js.coffee index 7cf0579a..cb97a486 100644 --- a/app/assets/javascripts/supplier/app/routes/employees_route.js.coffee +++ b/app/assets/javascripts/supplier/app/routes/employees_route.js.coffee @@ -11,7 +11,7 @@ App.EmployeesRoute = Ember.Route.extend @get('controller').modal 'employee_edit', model: employee title_path: 'employee.modal.edit_title' - close: -> employee.rollback() + close: -> employee.rollbackAttributes() destroyEmployee: (employee)-> ac = @controllerFor('application') if ac.get('employee.id') isnt employee.id diff --git a/app/assets/javascripts/supplier/app/routes/index_route.js.coffee b/app/assets/javascripts/supplier/app/routes/index_route.js.coffee index 63bdf776..5706f08e 100644 --- a/app/assets/javascripts/supplier/app/routes/index_route.js.coffee +++ b/app/assets/javascripts/supplier/app/routes/index_route.js.coffee @@ -16,7 +16,7 @@ # controller.set('model', model) # #$('#section_selector').on 'change', (-> controller.set('sectionId', $(this).val())) # #controller.set 'lists', @store.peekAll('list') - # #controller.set 'lists', App.List.all() #.filterProperty('state', 'active') + # #controller.set 'lists', App.List.all() #.filterBy('state', 'active') # #controller.set 'orders', App.Order.all() # #controller.set 'lists', model.get('lists') # #controller.set 'orders', model.get('orders') diff --git a/app/assets/javascripts/supplier/app/services/css-object.js.coffee b/app/assets/javascripts/supplier/app/services/css-object.js.coffee index 5461bf72..4db4592c 100644 --- a/app/assets/javascripts/supplier/app/services/css-object.js.coffee +++ b/app/assets/javascripts/supplier/app/services/css-object.js.coffee @@ -7,4 +7,4 @@ App.CssObject = Ember.Object.extend if @pixel_fields.indexOf(k) > -1 v = "#{v}px" if @isNumeric.test(v) ret += "#{k}:#{v};" - ret + ret.htmlSafe() diff --git a/app/assets/javascripts/supplier/app/templates/_list_content.emblem b/app/assets/javascripts/supplier/app/templates/_list_content.emblem index dfeedb6f..7138ce2d 100644 --- a/app/assets/javascripts/supplier/app/templates/_list_content.emblem +++ b/app/assets/javascripts/supplier/app/templates/_list_content.emblem @@ -20,14 +20,7 @@ if list.closed_at if list.sorted_orders .list-orders-container each list.sorted_orders as |order| - .list-order-container class=order.state - = order.display - span.currency= currency order.total - span.created_at= time order.created_at - .list-order-actions - = button-mark-order-active order=order - = button-mark-order-delivered order=order - = button-mark-order-cancelled order=order + = list-order order=order if showTotal .list-orders-total.total = t 'general.total' diff --git a/app/assets/javascripts/supplier/app/templates/active_list.emblem b/app/assets/javascripts/supplier/app/templates/active_list.emblem deleted file mode 100644 index d5f2ffec..00000000 --- a/app/assets/javascripts/supplier/app/templates/active_list.emblem +++ /dev/null @@ -1,25 +0,0 @@ -td.user-info.show-for-large-up - each view.content.users as |user| - = user.avatar_tag -td.status-icons - if view.content.needs_help - span.icon.needs-help - if view.content.needs_payment - | - span.icon.needs-payment -td.numeric.table_number= view "table-number-with-info" contextBinding="view.content" -td.section_title: link-to 'section' view.content.table.section.id: span=view.content.table.section.title -td.currency.total_list_amount=currency view.content.total -td.actions - / if view.content.needs_help - button.mark-list-as-helped-button{ action "markListAsHelped" view.content.id} - span.fa-stack.fa-2x.fa-stack-sized - i.fa.fa-bell.fa-stack-small - i.fa.fa-ban.revoke - /= view "mark-list-helped-button" content=view.content - = button-mark-list-helped content=view.content - /= view "remove-list-needs-payment" content=view.content - /= view "close-list-button" content=view.content - = button-close-list content=view.content - - button.show-list.button{action "showList" view.content.id}: span diff --git a/app/assets/javascripts/supplier/app/templates/active_order.emblem b/app/assets/javascripts/supplier/app/templates/active_order.emblem deleted file mode 100644 index 8b69ff51..00000000 --- a/app/assets/javascripts/supplier/app/templates/active_order.emblem +++ /dev/null @@ -1,15 +0,0 @@ -td.user-info.show-for-large-up - each view.content.list.users as |user| - = user.avatar_tag -td.status-icons - if view.content.active - span.active-order.fa.fa-check.fa-lg -td= view.content.display -td.numeric.table_number= view "table-number-with-info" contextBinding="view.content.list" -td.section_title= link-to 'section' view.content.list.table.section.id: span=view.content.list.table.section.title -td.currency=currency view.content.total -td.time= time view.content.created_at format="HH:mm" -td.actions - = button-mark-order-active order=view.content - = button-mark-order-delivered order=view.content - = button-mark-order-cancelled order=view.content diff --git a/app/assets/javascripts/supplier/app/templates/components/dropdown-link.emblem b/app/assets/javascripts/supplier/app/templates/components/dropdown-link.emblem index 3c16cc49..6ea01a34 100644 --- a/app/assets/javascripts/supplier/app/templates/components/dropdown-link.emblem +++ b/app/assets/javascripts/supplier/app/templates/components/dropdown-link.emblem @@ -2,6 +2,6 @@ if gravatar span.dropdown-trigger.gravatar= gravatar-image gravatar else span.dropdown-trigger.button.tiny.dropdown - span.dropdown-trigger-text= view.title + span.dropdown-trigger-text= title .dropdown-list-container = yield diff --git a/app/assets/javascripts/supplier/app/templates/components/language-switcher-button.emblem b/app/assets/javascripts/supplier/app/templates/components/language-switcher-button.emblem index 73bd1813..c251772a 100644 --- a/app/assets/javascripts/supplier/app/templates/components/language-switcher-button.emblem +++ b/app/assets/javascripts/supplier/app/templates/components/language-switcher-button.emblem @@ -1 +1 @@ -= flag view.locale += flag locale diff --git a/app/assets/javascripts/supplier/app/templates/components/language-switcher.emblem b/app/assets/javascripts/supplier/app/templates/components/language-switcher.emblem index 4f1d947f..3e6dbe0e 100644 --- a/app/assets/javascripts/supplier/app/templates/components/language-switcher.emblem +++ b/app/assets/javascripts/supplier/app/templates/components/language-switcher.emblem @@ -1,2 +1,2 @@ each locales as |locale| - view "language-switcher-button" locale=locale + = button-language-switcher locale=locale diff --git a/app/assets/javascripts/supplier/app/templates/components/menu-product.emblem b/app/assets/javascripts/supplier/app/templates/components/menu-product.emblem index 52c512f6..60269c8a 100644 --- a/app/assets/javascripts/supplier/app/templates/components/menu-product.emblem +++ b/app/assets/javascripts/supplier/app/templates/components/menu-product.emblem @@ -19,7 +19,7 @@ if editMode = descriptionPlaceholder = textarea value=product.description placeholder=descriptionPlaceholder .small-12.medium-6.columns - = view "upload-file" name="image" accept="image/*" file=product.image + = form-file-upload name="image" accept="image/*" file=product.image img src=product.image_src each product.product_variants as |product_variant| .row diff --git a/app/assets/javascripts/supplier/app/templates/components/menu-time-preview.emblem b/app/assets/javascripts/supplier/app/templates/components/menu-time-preview.emblem index 6e0bc0d0..c1f07cb7 100644 --- a/app/assets/javascripts/supplier/app/templates/components/menu-time-preview.emblem +++ b/app/assets/javascripts/supplier/app/templates/components/menu-time-preview.emblem @@ -9,7 +9,7 @@ else .menu-time-preview-selection-container a.close-time-preview-handle{action "closeTimePreview"}: span h4= t 'product_category.time_preview.title' - = view "select" content=daysContent optionValuePath="content.value" optionLabelPath="content.text" selection=preview_day prompt=" -- " + = my-select content=daysContent optionValuePath="value" optionLabelPath="text" selection=preview_day prompt=" -- " br = boolean-button value=preview_full_day reverse=true text_path="product_category.time_preview.active_at" unless preview_full_day diff --git a/app/assets/javascripts/supplier/app/templates/components/sections-header.emblem b/app/assets/javascripts/supplier/app/templates/components/sections-header.emblem index 80b66495..1db22348 100644 --- a/app/assets/javascripts/supplier/app/templates/components/sections-header.emblem +++ b/app/assets/javascripts/supplier/app/templates/components/sections-header.emblem @@ -1,7 +1,8 @@ dl.sections-header-container.sub-nav dd data-section="all": a.section-header-title{action "setSection"} href="" = t 'sections_header.all_sections' each sections as |section| - dd data-section=section.id - a.section-header-title{action "setSection" section} href="#" = section.title + = sections-header-section section=section + a.section-header-title{action "setSection" section} href="#" + = section.title /= link-to "section" section.id class="section-jumper" span.fa.fa-chevron-circle-right diff --git a/app/assets/javascripts/supplier/app/templates/dashboard/active-list.emblem b/app/assets/javascripts/supplier/app/templates/dashboard/active-list.emblem new file mode 100644 index 00000000..67377793 --- /dev/null +++ b/app/assets/javascripts/supplier/app/templates/dashboard/active-list.emblem @@ -0,0 +1,26 @@ +td.user-info.show-for-large-up + h3= list.users.length + each list.users as |user| + = user.avatar_tag +td.status-icons + if list.needs_help + span.icon.needs-help + if list.needs_payment + | + span.icon.needs-payment +td.numeric.table_number= table-number-with-info list=list +td.section_title: link-to 'section' list.table.section.id: span=list.table.section.title +td.currency.total_list_amount=currency list.total +td.actions + / if list.needs_help + button.mark-list-as-helped-button{ action "markListAsHelped" list.id} + span.fa-stack.fa-2x.fa-stack-sized + i.fa.fa-bell.fa-stack-small + i.fa.fa-ban.revoke + /= view "mark-list-helped-button" content=list + = button-mark-list-helped content=list + /= view "remove-list-needs-payment" content=list + /= view "close-list-button" content=list + = button-close-list content=list + + button.show-list.button{action "showList" list.id}: span diff --git a/app/assets/javascripts/supplier/app/templates/dashboard/active-order.emblem b/app/assets/javascripts/supplier/app/templates/dashboard/active-order.emblem new file mode 100644 index 00000000..44458e19 --- /dev/null +++ b/app/assets/javascripts/supplier/app/templates/dashboard/active-order.emblem @@ -0,0 +1,15 @@ +td.user-info.show-for-large-up + each order.list.users as |user| + = user.avatar_tag +td.status-icons + if order.active + span.active-order.fa.fa-check.fa-lg +td= order.display +td.numeric.table_number= table-number-with-info list=order.list +td.section_title= link-to 'section' order.list.table.section.id: span=order.list.table.section.title +td.currency=currency order.total +td.time= time order.created_at format="HH:mm" +td.actions + = button-mark-order-active order=order + = button-mark-order-delivered order=order + = button-mark-order-cancelled order=order diff --git a/app/assets/javascripts/supplier/app/templates/employee.emblem b/app/assets/javascripts/supplier/app/templates/employee.emblem index afbdabf1..7ce7d120 100644 --- a/app/assets/javascripts/supplier/app/templates/employee.emblem +++ b/app/assets/javascripts/supplier/app/templates/employee.emblem @@ -14,6 +14,6 @@ .display-field: span.current-color= colorbox model.color .page-actions .small-12.columns - link-to 'employees' class="button" + = link-to 'employees' class="button" span=t 'models.plural.employee' a.edit-button{ action 'editEmployee' model}= t 'helpers.links.edit' diff --git a/app/assets/javascripts/supplier/app/templates/form/boolean-switch.emblem b/app/assets/javascripts/supplier/app/templates/form/boolean-switch.emblem index 0d2d35d1..ace20ef3 100644 --- a/app/assets/javascripts/supplier/app/templates/form/boolean-switch.emblem +++ b/app/assets/javascripts/supplier/app/templates/form/boolean-switch.emblem @@ -1,2 +1,2 @@ -= input type="checkbox" id=view.switchId checked=value += input type="checkbox" id=switchId checked=value label for=switchId diff --git a/app/assets/javascripts/supplier/app/templates/form/my-select.hbs b/app/assets/javascripts/supplier/app/templates/form/my-select.hbs new file mode 100644 index 00000000..62678157 --- /dev/null +++ b/app/assets/javascripts/supplier/app/templates/form/my-select.hbs @@ -0,0 +1,20 @@ + diff --git a/app/assets/javascripts/supplier/app/templates/form/select_minute_of_day.emblem b/app/assets/javascripts/supplier/app/templates/form/select_minute_of_day.emblem index f0534964..411053bf 100644 --- a/app/assets/javascripts/supplier/app/templates/form/select_minute_of_day.emblem +++ b/app/assets/javascripts/supplier/app/templates/form/select_minute_of_day.emblem @@ -1,6 +1,4 @@ .row.select-minute-of-day - .small-5.columns - view "select" content=view.hours_list value=view.hour - .small-1.columns: span : - .small-5.columns.end - view "select" content=view.minutes_list value=view.minute + .small-5.columns= my-select content=hours_list selection=hour identity=false + .small-1.columns: span + .small-5.columns.end= my-select content=minutes_list selection=minute identity=false diff --git a/app/assets/javascripts/supplier/app/templates/index.emblem b/app/assets/javascripts/supplier/app/templates/index.emblem index 7ddfcc86..85d5dabc 100644 --- a/app/assets/javascripts/supplier/app/templates/index.emblem +++ b/app/assets/javascripts/supplier/app/templates/index.emblem @@ -1,15 +1,11 @@ .row: .small-12.columns - = sections-header section=globals.active_section + = sections-header active_section=globals.active_section if (can "manage" globals.current_supplier) unless globals.current_supplier.open .alert-box.alert.radius data-alert=true = t 'supplier.you_are_currently_closed_alert' a{ action "markSupplierOpen" }= t 'supplier.open_for_orders' .page-header - div.dashboard-section-selection - /App.HomeSectionSelectorView selectionBinding="globals.active_section" content=controller.sections prompt=globals.current_supplier.name - /= home-section-selector sectionBinding="globals.active_section" - /= view "home-section-jumper" if active_lists.length h3.dashboard-lists-header{action "toggleDashboardLists"} if show_lists @@ -32,7 +28,9 @@ th.actions tbody each active_lists as |list| - = view "active-list" content=list + tr + td= list.users.length + = dashboard-active-list list=list .page-header if active_orders.length h3.dashboard-orders-header{action "toggleDashboardOrders"} @@ -58,4 +56,4 @@ th.actions tbody each active_orders as |order| - = view "active-order" content=order + = dashboard-active-order order=order diff --git a/app/assets/javascripts/supplier/app/templates/lists/index.emblem b/app/assets/javascripts/supplier/app/templates/lists/index.emblem index 1d3cffa1..ad025eec 100644 --- a/app/assets/javascripts/supplier/app/templates/lists/index.emblem +++ b/app/assets/javascripts/supplier/app/templates/lists/index.emblem @@ -1,6 +1,6 @@ .row: .small-12.columns h2.main-section-header=t 'models.plural.list' - = view "list-display-date-selector" valueBinding="date" + = list-display-date-selector value=date if sorted_lists table.table thead diff --git a/app/assets/javascripts/supplier/app/templates/lists/list-order.emblem b/app/assets/javascripts/supplier/app/templates/lists/list-order.emblem new file mode 100644 index 00000000..4b587d28 --- /dev/null +++ b/app/assets/javascripts/supplier/app/templates/lists/list-order.emblem @@ -0,0 +1,7 @@ += order.display +span.currency= currency order.total +span.created_at= time order.created_at +.list-order-actions + = button-mark-order-active order=order + = button-mark-order-delivered order=order + = button-mark-order-cancelled order=order diff --git a/app/assets/javascripts/supplier/app/templates/modals/table_edit.emblem b/app/assets/javascripts/supplier/app/templates/modals/table_edit.emblem index 3ba1fcea..d4b9dff6 100644 --- a/app/assets/javascripts/supplier/app/templates/modals/table_edit.emblem +++ b/app/assets/javascripts/supplier/app/templates/modals/table_edit.emblem @@ -4,7 +4,7 @@ p=t 'table.modal.body_header' .form-field= number-field numericValue=model.number .form-row.section .form-label=t 'models.section' - .form-field= view "select" content=sections selectionBinding="model.section" optionLabelPath="content.title" optionValuePath="content.id" + .form-field= my-select content=sections selection=model.section optionLabelPath="title" optionValuePath="id" .form-row.width .form-label=t 'attributes.table.width' .form-field= number-field numericValue=model.width diff --git a/app/assets/javascripts/supplier/app/templates/orders_display.emblem b/app/assets/javascripts/supplier/app/templates/orders_display.emblem index 4e984cfe..485001f5 100644 --- a/app/assets/javascripts/supplier/app/templates/orders_display.emblem +++ b/app/assets/javascripts/supplier/app/templates/orders_display.emblem @@ -1,4 +1,4 @@ -= sections-header sectionBinding="section" += sections-header active_section=section table.table thead tr @@ -19,7 +19,9 @@ table.table if order.active span.active-order.fa.fa-check.fa-lg td= order.display - td.numeric.table_number: App.TableNumberWithInfoView contextBinding="order.list" - td.section_title: link-to 'section' order.list.table.section.id: span=order.list.table.section.title + td.numeric.table_number=table-number-with-info list=order.list + td.section_title + = link-to 'section' order.list.table.section.id + span=order.list.table.section.title td.currency=currency order.total td.time= time order.created_at format="HH:mm" diff --git a/app/assets/javascripts/supplier/app/templates/page.emblem b/app/assets/javascripts/supplier/app/templates/page.emblem index 629753b0..32cbf786 100644 --- a/app/assets/javascripts/supplier/app/templates/page.emblem +++ b/app/assets/javascripts/supplier/app/templates/page.emblem @@ -1,4 +1,4 @@ .row: .small-12.columns h2.main-section-header=model.title /= page-body model.body - view "page-body" templateBody=model.body + = page-body templateBody=model.body diff --git a/app/assets/javascripts/supplier/app/templates/settings.emblem b/app/assets/javascripts/supplier/app/templates/settings.emblem index 7f16d024..14be963b 100644 --- a/app/assets/javascripts/supplier/app/templates/settings.emblem +++ b/app/assets/javascripts/supplier/app/templates/settings.emblem @@ -1,10 +1,10 @@ .row: .small-12.columns: h2=t 'settings.title' .form-row .form-label: label=t 'attributes.supplier.name' - .form-field= input type="text" value=supplier.name class="supplier-name" + .form-field= input type="text" value=globals.current_supplier.name class="supplier-name" .form-row .form-label: label=t 'attributes.supplier.email' - .form-field= input value=supplier.email type="email" class="supplier-email" + .form-field= input value=globals.current_supplier.email type="email" class="supplier-email" /input.location_picker name="location" type="text" valueBinding="location" /.form-row .location_picker_map @@ -16,24 +16,24 @@ .form-label: label=t 'attributes.supplier.address' .form-field.full .row - .large-8.medium-8.columns= input value=supplier.address + .large-8.medium-8.columns= input value=globals.current_supplier.address .large-1.show-for-large-up.columns   - .large-2.medium-2.small-3.columns= number-field numericValue=supplier.house_number - .large-1.medium-2.small-2.columns= input value=supplier.house_number_addition + .large-2.medium-2.small-3.columns= number-field numericValue=globals.current_supplier.house_number + .large-1.medium-2.small-2.columns= input value=globals.current_supplier.house_number_addition .form-row .form-label: label=t 'attributes.supplier.postal_code' - .form-field= input value=supplier.postal_code + .form-field= input value=globals.current_supplier.postal_code .form-row .form-label: label=t 'attributes.supplier.city' - .form-field= input value=supplier.city + .form-field= input value=globals.current_supplier.city .form-row .form-label: label=t 'attributes.supplier.country' - .form-field: view "select" content=countries optionValuePath="content.name" optionLabelPath="content.name" value=supplier.country + .form-field: my-select content=countries selection=globals.current_supplier.country identity=false if editIensProfile .form-row .form-label: label=t 'attributes.supplier.iens_profile' .form-field - = number-field numericValue=supplier.iens_profile + = number-field numericValue=globals.current_supplier.iens_profile = image-tag 'supplier/settings/iens-example.png' span=t "settings.reviews.explanation" .row: .small-12.columns= language-switcher diff --git a/app/assets/javascripts/supplier/app/templates/table_number_with_info.emblem b/app/assets/javascripts/supplier/app/templates/table_number_with_info.emblem index 0edc68d6..30c09686 100644 --- a/app/assets/javascripts/supplier/app/templates/table_number_with_info.emblem +++ b/app/assets/javascripts/supplier/app/templates/table_number_with_info.emblem @@ -1,3 +1,3 @@ -.number= table.number +.number= list.table.number .extra-list-info span.loading.medium diff --git a/app/assets/javascripts/supplier/app/views/active_list_view.js.coffee b/app/assets/javascripts/supplier/app/views/active_list_view.js.coffee deleted file mode 100644 index 0dbf84a7..00000000 --- a/app/assets/javascripts/supplier/app/views/active_list_view.js.coffee +++ /dev/null @@ -1,5 +0,0 @@ -App.ActiveListView = Ember.View.extend - tagName: 'tr' - templateName: 'active_list' - classNameBindings: ['classIdentifier'] - classIdentifier: (-> "list-row-#{@get('content.id')}").property() diff --git a/app/assets/javascripts/supplier/app/views/active_order_view.js.coffee b/app/assets/javascripts/supplier/app/views/active_order_view.js.coffee deleted file mode 100644 index 436c1e3f..00000000 --- a/app/assets/javascripts/supplier/app/views/active_order_view.js.coffee +++ /dev/null @@ -1,6 +0,0 @@ -App.ActiveOrderView = Ember.View.extend - tagName: 'tr' - templateName: 'active_order' - classNameBindings: ['content.active:active', 'content.delivered:delivered', 'classIdentifier'] - classIdentifier: (-> "order-row-#{@get('content.id')}").property() - didInsertElement: -> diff --git a/app/assets/javascripts/supplier/app/views/mark-order-cancelled.js.coffee b/app/assets/javascripts/supplier/app/views/mark-order-cancelled.js.coffee index 117523fa..0f83b355 100644 --- a/app/assets/javascripts/supplier/app/views/mark-order-cancelled.js.coffee +++ b/app/assets/javascripts/supplier/app/views/mark-order-cancelled.js.coffee @@ -1,10 +1,10 @@ -App.MarkOrderCancelledView = Ember.View.extend - tagName: 'button' - templateName: 'buttons/mark-order-cancelled' - classNames: ['mark-order-cancelled-button'] - classNameBindings: ['showButton:active:hide'] - showButton: Ember.computed 'order.state', -> - state = @get('order.state') - state is 'placed' or state is 'active' - click: -> @get('order').mark_cancelled() - +#App.MarkOrderCancelledView = Ember.View.extend +# tagName: 'button' +# templateName: 'buttons/mark-order-cancelled' +# classNames: ['mark-order-cancelled-button'] +# classNameBindings: ['showButton:active:hide'] +# showButton: Ember.computed 'order.state', -> +# state = @get('order.state') +# state is 'placed' or state is 'active' +# click: -> @get('order').mark_cancelled() +# diff --git a/app/assets/javascripts/supplier/app/views/my-schedule.js.coffee b/app/assets/javascripts/supplier/app/views/my-schedule.js.coffee deleted file mode 100644 index c49ce825..00000000 --- a/app/assets/javascripts/supplier/app/views/my-schedule.js.coffee +++ /dev/null @@ -1,43 +0,0 @@ -App.MyScheduleView = Ember.View.extend - classNames: ['schedule-view'] - didInsertElement: -> - placeholder = @$('#schedule-placeholder') - controller = @get('controller') - events = @get('globals.current_employee.employee_shifts').map( (employee_shift)->employee_shift.get('calendar_event_for_employee') ) - placeholder.fullCalendar - header: - left: 'prev,next,today' - center: 'title' - right: 'agendaDay,agendaWeek,month' - selectable: false - #selectHelper: true - #select: (start, end)=> - #format = 'dddd h:mm' - #controller.modal 'select_employee', - #ok: -> - ##this context is SelectEmployeeController - #if employee = @get('employee') - #shift = controller.store.createRecord 'employee-shift', start_from: start, end_on: end - #shift.set 'employee', employee - #shift.save().then -> - #placeholder.fullCalendar('renderEvent', shift.get('calendar_event'), true) - #header: t('employee_shift.time_window', start: start.format(format), end: end.format(format)) - #editable: true - defaultView: 'agendaWeek' - events: events - timezone: 'UTC' - #eventDrop: controller.event_changed.bind(controller) - #eventResize: controller.event_changed.bind(controller) - #eventClick: (event)-> - #controller.editEvent event.id, - #save: (shift)-> - #placeholder.fullCalendar('removeEvents', [event.id]) - #placeholder.fullCalendar('renderEvent', shift.get('calendar_event'), true) - #destroy: (shift)-> - #placeholder.fullCalendar('removeEvents', [event.id]) - timeFormat: 'H(:mm)' - axisFormat: 'H:mm' - lang: moment.locale() - - - diff --git a/app/assets/javascripts/supplier/app/views/page-body.js.coffee b/app/assets/javascripts/supplier/app/views/page-body.js.coffee index e4e96d1a..775ee309 100644 --- a/app/assets/javascripts/supplier/app/views/page-body.js.coffee +++ b/app/assets/javascripts/supplier/app/views/page-body.js.coffee @@ -1,11 +1,11 @@ -App.PageBodyView = Ember.View.extend - setTemplate: (-> - body = @get('templateBody') - body ||= "" - try - template = Ember.Handlebars.compile(body) - catch - template = Ember.Handlebars.compile(tspan('page.cannot_compile')) - @set 'template', template - @rerender() - ).on('init').observes('templateBody') +#App.PageBodyView = Ember.View.extend +# setTemplate: (-> +# body = @get('templateBody') +# body ||= "" +# try +# template = Ember.Handlebars.compile(body) +# catch +# template = Ember.Handlebars.compile(tspan('page.cannot_compile')) +# @set 'template', template +# @rerender() +# ).on('init').observes('templateBody') diff --git a/app/assets/javascripts/supplier/app/views/remove_list_needs_payment_view.js.coffee b/app/assets/javascripts/supplier/app/views/remove_list_needs_payment_view.js.coffee index d0301107..0452cf3a 100644 --- a/app/assets/javascripts/supplier/app/views/remove_list_needs_payment_view.js.coffee +++ b/app/assets/javascripts/supplier/app/views/remove_list_needs_payment_view.js.coffee @@ -1,7 +1,7 @@ -App.RemoveListNeedsPaymentView = Ember.View.extend - templateName: 'remove_list_needs_payment_button' - classNames: ['remove_list_needs_payment'] - classNameBindings: ['content.needs_payment:show:hide'] - tagName: 'button' - click: (e)-> - @get('content').then (l)->l.remove_needs_payment() +#App.RemoveListNeedsPaymentView = Ember.View.extend +# templateName: 'remove_list_needs_payment_button' +# classNames: ['remove_list_needs_payment'] +# classNameBindings: ['content.needs_payment:show:hide'] +# tagName: 'button' +# click: (e)-> +# @get('content').then (l)->l.remove_needs_payment() diff --git a/app/assets/javascripts/supplier/app/views/settings_view.js.coffee b/app/assets/javascripts/supplier/app/views/settings_view.js.coffee index d25f4be3..f8a98e14 100644 --- a/app/assets/javascripts/supplier/app/views/settings_view.js.coffee +++ b/app/assets/javascripts/supplier/app/views/settings_view.js.coffee @@ -1,90 +1,90 @@ -App.SettingsView = Ember.View.extend - templateName: 'settings' - didInsertElement: -> - return - - iconBase = 'https://maps.google.com/mapfiles/kml/' - #location_input = @$('.location_picker') - #map_div = $('
').addClass("location_picker_map") - map_div = @$('.location_picker_map') - - #location_input.before(map_div) - #this.parentNode.insertBefore(map_div, this) - #location_input.hide() - - #lat = 52.07436798080633 - #lng = 4.316811561584473 - #if @get('controller.location') and @get('controller.location').split(',').length == 2 - #values = @get('controller.location').split(',') - #lat = values[0] - #lng = values[1] - lat = @get('controller.model.lat') - lng = @get('controller.model.lng') - center = new google.maps.LatLng(lat,lng) - mapOptions = - zoom: 15 - center: center - mapTypeId: google.maps.MapTypeId.ROADMAP, - zoomControl: true - zoomControlOptions: - style: google.maps.ZoomControlStyle.SMALL - mapTypeControl: false - panControl: false - scaleControl: false - streetViewControl: false - - map = new google.maps.Map(map_div.get(0), mapOptions) - marker = new google.maps.Marker( - position: center - map: map - title: 'Location' - icon: '/assets/icons/maps_location.png' - ) - google.maps.event.addListener(map, 'click', (point)=> - marker.setPosition(point.latLng) - #location_input.val point.latLng.lat() + ','+ point.latLng.lng() - @set 'controller.model.lat', point.latLng.lat() - @set 'controller.model.lng', point.latLng.lng() - ) - - search_field = $('') - search_field.addClass('location_picker_search') - autocomplete = new google.maps.places.Autocomplete(search_field.get(0)) - autocomplete.bindTo('bounds', map) - search_field.keypress( (e) -> - if e.which == 13 - e.preventDefault() - ) - window.autocomplete = autocomplete - map_div.before(search_field) - infowindow = new google.maps.InfoWindow() - search_marker = new google.maps.Marker({map: map, icon: iconBase + 'shapes/placemark_circle.png'}) - google.maps.event.addListener autocomplete, 'place_changed', -> - infowindow.close() - search_marker.setVisible(false) - place = autocomplete.getPlace() - return unless place.geometry - #if place.geometry.viewport - # map.fitBounds(place.geometry.viewport) - #else - map.setCenter(place.geometry.location) - map.setZoom(17) - image = - url: place.icon - size: new google.maps.Size(71, 71) - origin: new google.maps.Point(0, 0) - anchor: new google.maps.Point(17, 34) - scaledSize: new google.maps.Size(35, 35) - #search_marker.setIcon(image) - search_marker.setPosition(place.geometry.location) - search_marker.setVisible(true) - - address = '' - if place.address_components - address = [ - (place.address_components[0] && place.address_components[0].short_name || ''), - (place.address_components[1] && place.address_components[1].short_name || ''), - (place.address_components[2] && place.address_components[2].short_name || '') - ].join(' ') - infowindow.setContent('
' + place.name + '
' + address + '
') - infowindow.open(map, search_marker) +#App.SettingsView = Ember.View.extend +# templateName: 'settings' +# didInsertElement: -> +# return +# +# iconBase = 'https://maps.google.com/mapfiles/kml/' +# #location_input = @$('.location_picker') +# #map_div = $('
').addClass("location_picker_map") +# map_div = @$('.location_picker_map') +# +# #location_input.before(map_div) +# #this.parentNode.insertBefore(map_div, this) +# #location_input.hide() +# +# #lat = 52.07436798080633 +# #lng = 4.316811561584473 +# #if @get('controller.location') and @get('controller.location').split(',').length == 2 +# #values = @get('controller.location').split(',') +# #lat = values[0] +# #lng = values[1] +# lat = @get('controller.model.lat') +# lng = @get('controller.model.lng') +# center = new google.maps.LatLng(lat,lng) +# mapOptions = +# zoom: 15 +# center: center +# mapTypeId: google.maps.MapTypeId.ROADMAP, +# zoomControl: true +# zoomControlOptions: +# style: google.maps.ZoomControlStyle.SMALL +# mapTypeControl: false +# panControl: false +# scaleControl: false +# streetViewControl: false +# +# map = new google.maps.Map(map_div.get(0), mapOptions) +# marker = new google.maps.Marker( +# position: center +# map: map +# title: 'Location' +# icon: '/assets/icons/maps_location.png' +# ) +# google.maps.event.addListener(map, 'click', (point)=> +# marker.setPosition(point.latLng) +# #location_input.val point.latLng.lat() + ','+ point.latLng.lng() +# @set 'controller.model.lat', point.latLng.lat() +# @set 'controller.model.lng', point.latLng.lng() +# ) +# +# search_field = $('') +# search_field.addClass('location_picker_search') +# autocomplete = new google.maps.places.Autocomplete(search_field.get(0)) +# autocomplete.bindTo('bounds', map) +# search_field.keypress( (e) -> +# if e.which == 13 +# e.preventDefault() +# ) +# window.autocomplete = autocomplete +# map_div.before(search_field) +# infowindow = new google.maps.InfoWindow() +# search_marker = new google.maps.Marker({map: map, icon: iconBase + 'shapes/placemark_circle.png'}) +# google.maps.event.addListener autocomplete, 'place_changed', -> +# infowindow.close() +# search_marker.setVisible(false) +# place = autocomplete.getPlace() +# return unless place.geometry +# #if place.geometry.viewport +# # map.fitBounds(place.geometry.viewport) +# #else +# map.setCenter(place.geometry.location) +# map.setZoom(17) +# image = +# url: place.icon +# size: new google.maps.Size(71, 71) +# origin: new google.maps.Point(0, 0) +# anchor: new google.maps.Point(17, 34) +# scaledSize: new google.maps.Size(35, 35) +# #search_marker.setIcon(image) +# search_marker.setPosition(place.geometry.location) +# search_marker.setVisible(true) +# +# address = '' +# if place.address_components +# address = [ +# (place.address_components[0] && place.address_components[0].short_name || ''), +# (place.address_components[1] && place.address_components[1].short_name || ''), +# (place.address_components[2] && place.address_components[2].short_name || '') +# ].join(' ') +# infowindow.setContent('
' + place.name + '
' + address + '
') +# infowindow.open(map, search_marker) diff --git a/app/assets/javascripts/user/app/manifest.js.coffee b/app/assets/javascripts/user/app/manifest.js.coffee index 24cae119..853e6285 100644 --- a/app/assets/javascripts/user/app/manifest.js.coffee +++ b/app/assets/javascripts/user/app/manifest.js.coffee @@ -3,12 +3,13 @@ #= require handlebars #= require ember #= require ember-data -#= require shared-ember-helpers/all +#= require active-model-adapter #= require_directory ./modifications #= require ./app +#= require shared-ember-helpers/all #= require_directory ./modules #= require_tree . -@EmberENV = {FEATURES: {'query-params-new': true}} +#@EmberENV = {FEATURES: {'query-params-new': true}} ### Debug in app storageDebugParams = ['user_id', 'auth_token'] diff --git a/app/controllers/suppliers/lists_controller.rb b/app/controllers/suppliers/lists_controller.rb index 3744f6d3..658213e7 100644 --- a/app/controllers/suppliers/lists_controller.rb +++ b/app/controllers/suppliers/lists_controller.rb @@ -21,7 +21,7 @@ module Suppliers end @lists.include_relation(:table, :users, orders: {product_orders: :product}) - render json: @lists, each_serializer: SupplierListSerializer + render json: @lists, each_serializer: Suppliers::ListSerializer end diff --git a/app/controllers/suppliers/sections_controller.rb b/app/controllers/suppliers/sections_controller.rb index aae51ee6..2e3f0ef5 100644 --- a/app/controllers/suppliers/sections_controller.rb +++ b/app/controllers/suppliers/sections_controller.rb @@ -58,7 +58,7 @@ module Suppliers respond_to do |format| if @section.save format.html { redirect_to [:suppliers, @section], notice: t('action.create.successfull', model: Section.model_name.human) } - format.json { render json: @section, serializer: SupplierSectionSerializer, status: :created } + format.json { render json: @section, serializer: Suppliers::SectionSerializer, status: :created } else format.html { render action: "new" } format.json { render json: {errors: @section.errors}, status: :unprocessable_entity } diff --git a/app/serializers/supplier_extended_list_serializer.rb b/app/serializers/supplier_extended_list_serializer.rb deleted file mode 100644 index e942828b..00000000 --- a/app/serializers/supplier_extended_list_serializer.rb +++ /dev/null @@ -1,10 +0,0 @@ -class SupplierExtendedListSerializer < Qwaiter::Serializer - # user ids for facebook pictures - root 'list' - attributes :state, :needs_help, :needs_payment, :user_requests_closing, :is_paid, :price, :table_id, :section_id, :supplier_id, :closed_at #, :has_active_orders - - #def has_active_orders - #object.has_active_orders? - #end - has_many :users, serializer: SupplierUserSerializer -end diff --git a/app/serializers/supplier_section_serializer.rb b/app/serializers/supplier_section_serializer.rb deleted file mode 100644 index d0826429..00000000 --- a/app/serializers/supplier_section_serializer.rb +++ /dev/null @@ -1,4 +0,0 @@ -class SupplierSectionSerializer < Qwaiter::Serializer - root 'section' - attributes :title, :path, :width, :height -end diff --git a/app/serializers/supplier_user_serializer.rb b/app/serializers/supplier_user_serializer.rb deleted file mode 100644 index c21e2a7b..00000000 --- a/app/serializers/supplier_user_serializer.rb +++ /dev/null @@ -1,8 +0,0 @@ -class SupplierUserSerializer < Qwaiter::Serializer - self.root = :user - attributes :email, :provider, :uid, :name, :avatar - - def name - object.supplier_name - end -end diff --git a/app/serializers/suppliers/employee_shift_serializer.rb b/app/serializers/suppliers/employee_shift_serializer.rb index 202efab6..5e8ebcd7 100644 --- a/app/serializers/suppliers/employee_shift_serializer.rb +++ b/app/serializers/suppliers/employee_shift_serializer.rb @@ -1,6 +1,6 @@ class Suppliers::EmployeeShiftSerializer < Qwaiter::Serializer self.root = :employee_shift #embed :ids, include: true - attributes :start_from, :end_on, :employee_id - has_one :supplier + attributes :start_from, :end_on, :employee_id, :supplier_id + #has_one :supplier end diff --git a/app/serializers/suppliers/extended_table_serializer.rb b/app/serializers/suppliers/extended_table_serializer.rb index 41d37bcf..55194583 100644 --- a/app/serializers/suppliers/extended_table_serializer.rb +++ b/app/serializers/suppliers/extended_table_serializer.rb @@ -1,5 +1,5 @@ class Suppliers::ExtendedTableSerializer < Qwaiter::Serializer - root 'table' + root :table attributes :number, :width, :height, :position_x, :position_y, :section_id#, :active_list_id #def list_id diff --git a/app/serializers/supplier_list_serializer.rb b/app/serializers/suppliers/list_serializer.rb similarity index 82% rename from app/serializers/supplier_list_serializer.rb rename to app/serializers/suppliers/list_serializer.rb index 0c20324e..d2082547 100644 --- a/app/serializers/supplier_list_serializer.rb +++ b/app/serializers/suppliers/list_serializer.rb @@ -1,4 +1,4 @@ -class SupplierListSerializer < Qwaiter::Serializer +class Suppliers::ListSerializer < Qwaiter::Serializer # user ids for facebook pictures self.root = :list attributes :extended_version, :state, :needs_help, :needs_payment, :user_requests_closing, :is_paid, :price, @@ -7,7 +7,7 @@ class SupplierListSerializer < Qwaiter::Serializer #has_many :product_categories #has_one :table, serializer: SupplierTableSerializer # tables are part of the sectoins load has_many :join_requests - has_many :users, serializer: SupplierUserSerializer + has_many :users, serializer: Suppliers::UserSerializer #def has_active_orders #object.has_active_orders? diff --git a/app/serializers/suppliers/section_serializer.rb b/app/serializers/suppliers/section_serializer.rb new file mode 100644 index 00000000..cbe7c294 --- /dev/null +++ b/app/serializers/suppliers/section_serializer.rb @@ -0,0 +1,4 @@ +class Suppliers::SectionSerializer < Qwaiter::Serializer + root :section + attributes :title, :path, :width, :height +end diff --git a/app/serializers/suppliers/user_serializer.rb b/app/serializers/suppliers/user_serializer.rb new file mode 100644 index 00000000..eb4f966c --- /dev/null +++ b/app/serializers/suppliers/user_serializer.rb @@ -0,0 +1,12 @@ +class Suppliers::UserSerializer < Qwaiter::Serializer + self.root = :user + attributes :email, :provider, :uid, :name, :avatar, :list_id + + def list_id + object.active_list_id + end + + def name + object.supplier_name + end +end