after x days filter

This commit is contained in:
yuri
2017-01-19 15:21:14 +02:00
parent 5f578298b4
commit 9a918e5d97
4 changed files with 20 additions and 5 deletions
@@ -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",
+3 -3
View File
@@ -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,
+1 -1
View File
@@ -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',