afterOrEqual datetime
This commit is contained in:
@@ -26,8 +26,8 @@
|
||||
"dateEnd": {
|
||||
"type": "datetime",
|
||||
"required": true,
|
||||
"view": "crm:views/call/fields/date-end",
|
||||
"after": "dateStart"
|
||||
"after": "dateStart",
|
||||
"afterOrEqual": true
|
||||
},
|
||||
"duration": {
|
||||
"type": "duration",
|
||||
|
||||
@@ -47,6 +47,11 @@
|
||||
"type": "varchar",
|
||||
"view": "views/admin/field-manager/fields/date/after-before"
|
||||
},
|
||||
{
|
||||
"type": "bool",
|
||||
"name": "afterOrEqual",
|
||||
"hidden": true
|
||||
},
|
||||
{
|
||||
"type": "bool",
|
||||
"name": "useNumericFormat"
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
/************************************************************************
|
||||
* This file is part of EspoCRM.
|
||||
*
|
||||
* EspoCRM – Open Source CRM application.
|
||||
* Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
|
||||
* Website: https://www.espocrm.com
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU Affero General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
|
||||
************************************************************************/
|
||||
|
||||
import DatetimeFieldView from 'views/fields/datetime';
|
||||
import moment from 'moment';
|
||||
|
||||
export default class extends DatetimeFieldView {
|
||||
|
||||
validateAfter() {
|
||||
const field = this.params.after;
|
||||
|
||||
if (!field) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const value = this.model.get(this.name);
|
||||
const otherValue = this.model.get(field);
|
||||
|
||||
if (!(value && otherValue)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (moment(value).unix() <= moment(otherValue).unix()) {
|
||||
const msg = this.translate('fieldShouldAfter', 'messages')
|
||||
.replace('{field}', this.getLabelText())
|
||||
.replace('{otherField}', this.translate(field, 'fields', this.entityType));
|
||||
|
||||
this.showValidationMessage(msg);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -55,6 +55,7 @@ class DatetimeFieldView extends DateFieldView {
|
||||
* @property {number} [minuteStep] A minute step.
|
||||
* @property {string} [after] Validate to be after another date field.
|
||||
* @property {string} [before] Validate to be before another date field.
|
||||
* @property {boolean} [afterOrEqual] Allow an equal date for 'after' validation.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -424,7 +424,8 @@
|
||||
"properties": {
|
||||
"type": {
|
||||
"anyOf": [
|
||||
{"const": "date"}
|
||||
{"const": "date"},
|
||||
{"const": "datetime"}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user