Merge branch 'fix-timezone-due-date-picker' into 'master'
Fix timezone due date picker Closes #24253 See merge request !8081
This commit is contained in:
commit
6003f6ea93
4 changed files with 18 additions and 5 deletions
|
@ -80,9 +80,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
parseSelectedDate() {
|
parseSelectedDate() {
|
||||||
this.rawSelectedDate = $("input[name='" + this.fieldName + "']").val();
|
this.rawSelectedDate = $(`input[name='${this.fieldName}']`).val();
|
||||||
|
|
||||||
if (this.rawSelectedDate.length) {
|
if (this.rawSelectedDate.length) {
|
||||||
let dateObj = new Date(this.rawSelectedDate);
|
// Construct Date object manually to avoid buggy dateString support within Date constructor
|
||||||
|
const dateArray = this.rawSelectedDate.split('-').map(v => parseInt(v, 10));
|
||||||
|
const dateObj = new Date(dateArray[0], dateArray[1] - 1, dateArray[2]);
|
||||||
this.displayedDate = $.datepicker.formatDate('M d, yy', dateObj);
|
this.displayedDate = $.datepicker.formatDate('M d, yy', dateObj);
|
||||||
} else {
|
} else {
|
||||||
this.displayedDate = 'No due date';
|
this.displayedDate = 'No due date';
|
||||||
|
|
|
@ -97,7 +97,7 @@
|
||||||
remove due date
|
remove due date
|
||||||
- if can?(current_user, :"admin_#{issuable.to_ability_name}", @project)
|
- if can?(current_user, :"admin_#{issuable.to_ability_name}", @project)
|
||||||
.selectbox.hide-collapsed
|
.selectbox.hide-collapsed
|
||||||
= f.hidden_field :due_date, value: issuable.due_date
|
= f.hidden_field :due_date, value: issuable.due_date.try(:strftime, 'yy-mm-dd')
|
||||||
.dropdown
|
.dropdown
|
||||||
%button.dropdown-menu-toggle.js-due-date-select{ type: 'button', data: { toggle: 'dropdown', field_name: "#{issuable.to_ability_name}[due_date]", ability_name: issuable.to_ability_name, issue_update: issuable_json_path(issuable) } }
|
%button.dropdown-menu-toggle.js-due-date-select{ type: 'button', data: { toggle: 'dropdown', field_name: "#{issuable.to_ability_name}[due_date]", ability_name: issuable.to_ability_name, issue_update: issuable_json_path(issuable) } }
|
||||||
%span.dropdown-toggle-text Due date
|
%span.dropdown-toggle-text Due date
|
||||||
|
|
4
changelogs/unreleased/fix-timezone-due-date-picker.yml
Normal file
4
changelogs/unreleased/fix-timezone-due-date-picker.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: Fix date inconsistency on due date picker
|
||||||
|
merge_request: 7422
|
||||||
|
author: Giuliano Varriale
|
|
@ -619,14 +619,18 @@ describe 'Issues', feature: true do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'adds due date to issue' do
|
it 'adds due date to issue' do
|
||||||
|
date = Date.today.at_beginning_of_month + 2.days
|
||||||
|
|
||||||
page.within '.due_date' do
|
page.within '.due_date' do
|
||||||
click_link 'Edit'
|
click_link 'Edit'
|
||||||
|
|
||||||
page.within '.ui-datepicker-calendar' do
|
page.within '.ui-datepicker-calendar' do
|
||||||
first('.ui-state-default').click
|
click_link date.day
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(page).to have_no_content 'None'
|
wait_for_ajax
|
||||||
|
|
||||||
|
expect(find('.value').text).to have_content date.strftime('%b %-d, %Y')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -638,6 +642,8 @@ describe 'Issues', feature: true do
|
||||||
first('.ui-state-default').click
|
first('.ui-state-default').click
|
||||||
end
|
end
|
||||||
|
|
||||||
|
wait_for_ajax
|
||||||
|
|
||||||
expect(page).to have_no_content 'No due date'
|
expect(page).to have_no_content 'No due date'
|
||||||
|
|
||||||
click_link 'remove due date'
|
click_link 'remove due date'
|
||||||
|
|
Loading…
Reference in a new issue