Merge branch 'master' of ssh://172.20.0.1/var/git/espo/backend

This commit is contained in:
Taras Machyshyn
2014-10-07 17:45:39 +03:00
5 changed files with 72 additions and 13 deletions
@@ -316,6 +316,57 @@ class Base
case 'future':
$part[$item['field'] . '>'] = date('Y-m-d');
break;
case 'currentMonth':
$dt = new \DateTime();
$part['AND'] = array(
$item['field'] . '>=' => $dt->modify('first day of this month')->format('Y-m-d'),
$item['field'] . '<' => $dt->add(new \DateInterval('P1M'))->format('Y-m-d'),
);
break;
case 'lastMonth':
$dt = new \DateTime();
$part['AND'] = array(
$item['field'] . '>=' => $dt->modify('first day of last month')->format('Y-m-d'),
$item['field'] . '<' => $dt->add(new \DateInterval('P1M'))->format('Y-m-d'),
);
break;
case 'currentQuarter':
$dt = new \DateTime();
$quarter = ceil($dt->format('m') / 3);
$dt->modify('first day of January this year');
$part['AND'] = array(
$item['field'] . '>=' => $dt->add(new \DateInterval('P'.(($quarter - 1) * 3).'M'))->format('Y-m-d'),
$item['field'] . '<' => $dt->add(new \DateInterval('P3M'))->format('Y-m-d'),
);
break;
case 'lastQuarter':
$dt = new \DateTime();
$quarter = ceil($dt->format('m') / 3);
$dt->modify('first day of January this year');
$quarter--;
if ($quarter == 0) {
$quarter = 4;
$dt->sub('P1Y');
}
$part['AND'] = array(
$item['field'] . '>=' => $dt->add(new \DateInterval('P'.(($quarter - 1) * 3).'M'))->format('Y-m-d'),
$item['field'] . '<' => $dt->add(new \DateInterval('P3M'))->format('Y-m-d'),
);
break;
case 'currentYear':
$dt = new \DateTime();
$part['AND'] = array(
$item['field'] . '>=' => $dt->modify('first day of January this year')->format('Y-m-d'),
$item['field'] . '<' => $dt->add(new \DateInterval('P1Y'))->format('Y-m-d'),
);
break;
case 'lastYear':
$dt = new \DateTime();
$part['AND'] = array(
$item['field'] . '>=' => $dt->modify('first day of January last year')->format('Y-m-d'),
$item['field'] . '<' => $dt->add(new \DateInterval('P1Y'))->format('Y-m-d'),
);
break;
case 'between':
if (is_array($item['value'])) {
$part['AND'] = array(
@@ -289,7 +289,13 @@
"between": "Between",
"today": "Today",
"past": "Past",
"future": "Future"
"future": "Future",
"currentMonth": "Current Month",
"lastMonth": "Last Month",
"currentQuarter": "Current Quarter",
"lastQuarter": "Last Quarter",
"currentYear": "Current Year",
"lastYear": "Last Year"
},
"intSearchRanges": {
"equals": "Equals",
+4 -2
View File
@@ -143,7 +143,7 @@
var where = {
field: field
};
if (!value && !~['today', 'past', 'future'].indexOf(type)) {
if (!value && ~['on', 'before', 'after'].indexOf(type)) {
return null;
}
@@ -188,7 +188,9 @@
var to = moment(value[1], this.dateTime.internalDateFormat, this.timeZone).utc().format(this.dateTime.internalDateTimeFormat);
where.value = [from, to];
}
break;
break;
default:
where.type = type;
}
return where;
+9 -9
View File
@@ -31,7 +31,7 @@ Espo.define('Views.Fields.Date', 'Views.Fields.Base', function (Dep) {
validations: ['required', 'date', 'after', 'before'],
searchTypeOptions: ['on', 'notOn', 'after', 'before', 'between', 'today', 'past', 'future'],
searchTypeOptions: ['today', 'past', 'future', 'currentMonth', 'lastMonth', 'currentQuarter', 'lastQuarter', 'currentYear', 'lastYear', 'on', 'after', 'before', 'between'],
setup: function () {
Dep.prototype.setup.call(this);
@@ -130,14 +130,14 @@ Espo.define('Views.Fields.Date', 'Views.Fields.Base', function (Dep) {
},
handleSearchType: function (type) {
if (~['today', 'past', 'future'].indexOf(type)) {
this.$el.find('div.primary').addClass('hidden');
if (~['on', 'notOn', 'after', 'before'].indexOf(type)) {
this.$el.find('div.primary').removeClass('hidden');
this.$el.find('div.additional').addClass('hidden');
} else if (type == 'between') {
this.$el.find('div.primary').removeClass('hidden');
this.$el.find('div.additional').removeClass('hidden');
} else {
this.$el.find('div.primary').removeClass('hidden');
this.$el.find('div.primary').addClass('hidden');
this.$el.find('div.additional').addClass('hidden');
}
},
@@ -176,11 +176,7 @@ Espo.define('Views.Fields.Date', 'Views.Fields.Base', function (Dep) {
dateValue: value,
dateValueTo: valueTo
};
} else if (~['today', 'past', 'future'].indexOf(type)) {
data = {
type: type
};
} else {
} else if (~['on', 'notOn', 'after', 'before'].indexOf(type)) {
if (!value) {
return false;
}
@@ -189,6 +185,10 @@ Espo.define('Views.Fields.Date', 'Views.Fields.Base', function (Dep) {
value: value,
dateValue: value
};
} else {
data = {
type: type
};
}
return data;
},
+1 -1
View File
@@ -29,7 +29,7 @@ Espo.define('Views.Fields.Datetime', 'Views.Fields.Date', function (Dep) {
validations: ['required', 'datetime', 'after', 'before'],
searchTypeOptions: ['on', 'after', 'before', 'between', 'today', 'past', 'future'],
searchTypeOptions: ['today', 'past', 'future', 'currentMonth', 'lastMonth', 'currentQuarter', 'lastQuarter', 'currentYear', 'lastYear', 'on', 'after', 'before', 'between'],
timeFormatMap: {
'HH:mm': 'H:i',