diff --git a/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js b/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js index 3cce848575b..e43d1430579 100644 --- a/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js +++ b/addons/website_crm_partner_assign/static/src/js/crm_partner_assign.js @@ -15,7 +15,7 @@ publicWidget.registry.crmPartnerAssign = publicWidget.Widget.extend({ 'click .new_opp_confirm': '_onNewOppConfirm', 'click .edit_opp_confirm': '_onEditOppConfirm', 'change .edit_opp_form .next_activity': '_onChangeNextActivity', - 'click div.input-group span.fa-calendar': '_onCalendarIconClick', + 'click div.input-group.date[data-target-input="nearest"]': '_onCalendarInputGroupClick', }, //-------------------------------------------------------------------------- @@ -227,9 +227,7 @@ publicWidget.registry.crmPartnerAssign = publicWidget.Widget.extend({ _onEditOppConfirm: function (ev) { ev.preventDefault(); ev.stopPropagation(); - if ($(".edit_opp_form")[0].checkValidity()) { - this._buttonExec($(ev.currentTarget), this._editOpportunity); - } + this._buttonExec($(ev.currentTarget), this._editOpportunity); }, /** * @private @@ -250,8 +248,9 @@ publicWidget.registry.crmPartnerAssign = publicWidget.Widget.extend({ * @private * @param {Event} ev */ - _onCalendarIconClick: function (ev) { - $(ev.currentTarget).closest('div.date').datetimepicker({ + _onCalendarInputGroupClick: function (ev) { + const $calendarInputGroup = $(ev.currentTarget); + const calendarOptions = { format : time.getLangDateFormat(), icons: { time: 'fa fa-clock-o', @@ -259,13 +258,20 @@ publicWidget.registry.crmPartnerAssign = publicWidget.Widget.extend({ up: 'fa fa-chevron-up', down: 'fa fa-chevron-down', }, - }); + }; + // in some screen sizes, the automatic position opens the picker below input, + // but because #next_activity_div is the last element, we always open the + // picker on top the input to prevent extra scroll + if ($calendarInputGroup.is('#next_activity_div')) { + calendarOptions.widgetPositioning = {vertical: 'top'}; + } + $calendarInputGroup.datetimepicker(calendarOptions); }, _parse_date: function (value) { console.log(value); - var date = moment(value, "YYYY-MM-DD", true); - if (date.isValid()) { + var date = moment(value, time.getLangDateFormat(), true); + if (date.isValid() && date.year() >= 1900) { return time.date_to_str(date.toDate()); } else { diff --git a/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml b/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml index 517e6035613..796dae42fff 100644 --- a/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml +++ b/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml @@ -645,7 +645,7 @@
-
+
-
+
- +
@@ -699,7 +699,7 @@
- +