From 645b6d5a8f749cefa60bad6acbad32d7b38dff2e Mon Sep 17 00:00:00 2001 From: Rob H Date: Thu, 10 Apr 2014 10:51:55 +1000 Subject: [PATCH] BOM: change datetimepickers to datepickers --- .../admin/bulk_order_management.js.coffee | 5 ++++- .../javascripts/admin/shared_directives.js.coffee | 10 ++++++++++ .../spree/admin/orders/bulk_management.html.haml | 8 ++++---- spec/features/admin/bulk_order_management_spec.rb | 8 ++++---- .../unit/bulk_order_management_spec.js.coffee | 13 ++++++++++--- 5 files changed, 32 insertions(+), 12 deletions(-) diff --git a/app/assets/javascripts/admin/bulk_order_management.js.coffee b/app/assets/javascripts/admin/bulk_order_management.js.coffee index e38aba47aa..bdfb8d89e6 100644 --- a/app/assets/javascripts/admin/bulk_order_management.js.coffee +++ b/app/assets/javascripts/admin/bulk_order_management.js.coffee @@ -341,10 +341,13 @@ formatDate = (date) -> year = date.getFullYear() month = twoDigitNumber date.getMonth() + 1 day = twoDigitNumber date.getDate() + return year + "-" + month + "-" + day + +formatTime = (date) -> hours = twoDigitNumber date.getHours() mins = twoDigitNumber date.getMinutes() secs = twoDigitNumber date.getSeconds() - return year + "-" + month + "-" + day + " " + hours + ":" + mins + ":" + secs + return hours + ":" + mins + ":" + secs twoDigitNumber = (number) -> twoDigits = "" + number diff --git a/app/assets/javascripts/admin/shared_directives.js.coffee b/app/assets/javascripts/admin/shared_directives.js.coffee index 1596abd0f0..f5be794481 100644 --- a/app/assets/javascripts/admin/shared_directives.js.coffee +++ b/app/assets/javascripts/admin/shared_directives.js.coffee @@ -12,6 +12,16 @@ sharedDirectivesModule.directive "datetimepicker", -> # Fires ngModel.$parsers ngModel.$setViewValue dateText +sharedDirectivesModule.directive "datepicker", -> + require: "ngModel" + link: (scope, element, attrs, ngModel) -> + element.datepicker + dateFormat: "yy-mm-dd" + onSelect: (dateText, inst) -> + scope.$apply (scope) -> + # Fires ngModel.$parsers + ngModel.$setViewValue dateText + sharedDirectivesModule.directive "ofnSelect2MinSearch", [ -> return ( diff --git a/app/views/spree/admin/orders/bulk_management.html.haml b/app/views/spree/admin/orders/bulk_management.html.haml index 0eace6d1e2..91813d6b35 100644 --- a/app/views/spree/admin/orders/bulk_management.html.haml +++ b/app/views/spree/admin/orders/bulk_management.html.haml @@ -7,14 +7,14 @@ %div{ 'ng-show' => '!spree_api_key_ok' } {{ api_error_msg }} .filters{ :class => "sixteen columns alpha" } - .date_filter{ :class => "three columns alpha" } + .date_filter{ :class => "two columns alpha" } %label{ :for => 'start_date_filter' }Start Date %br - %input{ :class => "three columns alpha", :type => "text", :id => 'start_date_filter', 'ng-model' => 'startDate', 'datetimepicker' => "startDate", 'ofn-confirm-change' => "startDate" } - .date_filter{ :class => "three columns omega" } + %input{ :class => "two columns alpha", :type => "text", :id => 'start_date_filter', 'ng-model' => 'startDate', 'datepicker' => "startDate", 'ofn-confirm-change' => "startDate" } + .date_filter{ :class => "two columns omega" } %label{ :for => 'end_date_filter' }End Date %br - %input{ :class => "three columns alpha", :type => "text", :id => 'end_date_filter', 'ng-model' => 'endDate', 'datetimepicker' => "endDate", 'ofn-confirm-change' => "endDate" } + %input{ :class => "two columns alpha", :type => "text", :id => 'end_date_filter', 'ng-model' => 'endDate', 'datepicker' => "endDate", 'ofn-confirm-change' => "endDate" } .one.column.omega   .filter_select{ :class => "three columns omega" } %label{ :for => 'supplier_filter' }Producer diff --git a/spec/features/admin/bulk_order_management_spec.rb b/spec/features/admin/bulk_order_management_spec.rb index 86e0a337e4..0075b5e65a 100644 --- a/spec/features/admin/bulk_order_management_spec.rb +++ b/spec/features/admin/bulk_order_management_spec.rb @@ -326,8 +326,8 @@ feature %q{ end it "displays date fields for filtering orders, with default values set" do - one_week_ago = Date.today.prev_day(7).strftime("%F %T") - tonight = Date.tomorrow.strftime("%F %T") + one_week_ago = Date.today.prev_day(7).strftime("%F") + tonight = Date.tomorrow.strftime("%F") page.should have_field "start_date_filter", with: one_week_ago page.should have_field "end_date_filter", with: tonight end @@ -339,12 +339,12 @@ feature %q{ end it "displays only line items whose orders meet the date restriction criteria, when changed" do - fill_in "start_date_filter", :with => (Date.today - 9).strftime("%F %T") + fill_in "start_date_filter", :with => (Date.today - 9).strftime("%F") page.should have_selector "tr#li_#{li1.id}", visible: true page.should have_selector "tr#li_#{li2.id}", visible: true page.should_not have_selector "tr#li_#{li3.id}", visible: true - fill_in "end_date_filter", :with => (Date.today + 3).strftime("%F %T") + fill_in "end_date_filter", :with => (Date.today + 3).strftime("%F") page.should have_selector "tr#li_#{li1.id}", visible: true page.should have_selector "tr#li_#{li2.id}", visible: true page.should have_selector "tr#li_#{li3.id}", visible: true diff --git a/spec/javascripts/unit/bulk_order_management_spec.js.coffee b/spec/javascripts/unit/bulk_order_management_spec.js.coffee index c5adf09bd2..1f6ec2a0da 100644 --- a/spec/javascripts/unit/bulk_order_management_spec.js.coffee +++ b/spec/javascripts/unit/bulk_order_management_spec.js.coffee @@ -609,8 +609,10 @@ describe "Auxiliary functions", -> expect(twoDigitNumber(1)).toEqual "01" expect(twoDigitNumber(9)).toEqual "09" - describe "formatting a date", -> - it "returns a date formatted as yyyy-mm-dd hh-MM:ss", -> + describe "formatting dates and times", -> + date = null + + beforeEach -> date = new Date date.setYear(2010) date.setMonth(5) # Zero indexed, so 5 is June @@ -618,4 +620,9 @@ describe "Auxiliary functions", -> date.setHours(5) date.setMinutes(10) date.setSeconds(30) - expect(formatDate(date)).toEqual "2010-06-15 05:10:30" \ No newline at end of file + + it "returns a date formatted as yyyy-mm-dd", -> + expect(formatDate(date)).toEqual "2010-06-15" + + it "returns a time formatted as hh-MM:ss", -> + expect(formatTime(date)).toEqual "05:10:30" \ No newline at end of file