after x days filter
This commit is contained in:
@@ -875,6 +875,14 @@ class Base
|
||||
$dt->setTimezone(new \DateTimeZone('UTC'));
|
||||
$where['value'] = $dt->format($format);
|
||||
break;
|
||||
case 'afterXDays':
|
||||
$where['type'] = 'after';
|
||||
$number = strval(intval($item['value']));
|
||||
$dt->modify('+'.$number.' day');
|
||||
$dt->setTime(0, 0, 0);
|
||||
$dt->setTimezone(new \DateTimeZone('UTC'));
|
||||
$where['value'] = $dt->format($format);
|
||||
break;
|
||||
case 'on':
|
||||
$where['type'] = 'between';
|
||||
|
||||
@@ -1063,6 +1071,12 @@ class Base
|
||||
$dt1->modify('-'.$number.' days');
|
||||
$part[$attribute . '<'] = $dt1->format('Y-m-d');
|
||||
break;
|
||||
case 'afterXDays':
|
||||
$dt1 = new \DateTime();
|
||||
$number = strval(intval($item['value']));
|
||||
$dt1->modify('+'.$number.' days');
|
||||
$part[$attribute . '>'] = $dt1->format('Y-m-d');
|
||||
break;
|
||||
case 'currentMonth':
|
||||
$dt = new \DateTime();
|
||||
$part['AND'] = array(
|
||||
|
||||
@@ -498,7 +498,8 @@
|
||||
"nextXDays": "Next X Days",
|
||||
"ever": "Ever",
|
||||
"isEmpty": "Is Empty",
|
||||
"olderThanXDays": "Older Than X Days"
|
||||
"olderThanXDays": "Older Than X Days",
|
||||
"afterXDays": "After X Days"
|
||||
},
|
||||
"searchRanges": {
|
||||
"is": "Is",
|
||||
|
||||
@@ -42,7 +42,7 @@ Espo.define('views/fields/date', 'views/fields/base', function (Dep) {
|
||||
|
||||
validations: ['required', 'date', 'after', 'before'],
|
||||
|
||||
searchTypeList: ['lastSevenDays', 'ever', 'isEmpty', 'currentMonth', 'lastMonth', 'currentQuarter', 'lastQuarter', 'currentYear', 'lastYear', 'today', 'past', 'future', 'lastXDays', 'nextXDays', 'olderThanXDays', 'on', 'after', 'before', 'between'],
|
||||
searchTypeList: ['lastSevenDays', 'ever', 'isEmpty', 'currentMonth', 'lastMonth', 'currentQuarter', 'lastQuarter', 'currentYear', 'lastYear', 'today', 'past', 'future', 'lastXDays', 'nextXDays', 'olderThanXDays', 'afterXDays', 'on', 'after', 'before', 'between'],
|
||||
|
||||
setup: function () {
|
||||
Dep.prototype.setup.call(this);
|
||||
@@ -187,7 +187,7 @@ Espo.define('views/fields/date', 'views/fields/base', function (Dep) {
|
||||
|
||||
if (~['on', 'notOn', 'after', 'before'].indexOf(type)) {
|
||||
this.$el.find('div.primary').removeClass('hidden');
|
||||
} else if (~['lastXDays', 'nextXDays', 'olderThanXDays'].indexOf(type)) {
|
||||
} else if (~['lastXDays', 'nextXDays', 'olderThanXDays', 'afterXDays'].indexOf(type)) {
|
||||
this.$el.find('div.additional-number').removeClass('hidden');
|
||||
} else if (type == 'between') {
|
||||
this.$el.find('div.primary').removeClass('hidden');
|
||||
@@ -229,7 +229,7 @@ Espo.define('views/fields/date', 'views/fields/base', function (Dep) {
|
||||
dateValue: value,
|
||||
dateValueTo: valueTo
|
||||
};
|
||||
} else if (~['lastXDays', 'nextXDays', 'olderThanXDays'].indexOf(type)) {
|
||||
} else if (~['lastXDays', 'nextXDays', 'olderThanXDays', 'afterXDays'].indexOf(type)) {
|
||||
var number = this.$el.find('[name="' + this.name + '-number"]').val();
|
||||
data = {
|
||||
type: type,
|
||||
|
||||
@@ -36,7 +36,7 @@ Espo.define('views/fields/datetime', 'views/fields/date', function (Dep) {
|
||||
|
||||
validations: ['required', 'datetime', 'after', 'before'],
|
||||
|
||||
searchTypeList: ['lastSevenDays', 'ever', 'isEmpty', 'currentMonth', 'lastMonth', 'currentQuarter', 'lastQuarter', 'currentYear', 'lastYear', 'today', 'past', 'future', 'lastXDays', 'nextXDays', 'olderThanXDays', 'on', 'after', 'before', 'between'],
|
||||
searchTypeList: ['lastSevenDays', 'ever', 'isEmpty', 'currentMonth', 'lastMonth', 'currentQuarter', 'lastQuarter', 'currentYear', 'lastYear', 'today', 'past', 'future', 'lastXDays', 'nextXDays', 'olderThanXDays', 'afterXDays', 'on', 'after', 'before', 'between'],
|
||||
|
||||
timeFormatMap: {
|
||||
'HH:mm': 'H:i',
|
||||
|
||||
Reference in New Issue
Block a user