diff --git a/application/Espo/Resources/layouts/Email/list.json b/application/Espo/Resources/layouts/Email/list.json index 4c185b6b8c..8b95802dcc 100644 --- a/application/Espo/Resources/layouts/Email/list.json +++ b/application/Espo/Resources/layouts/Email/list.json @@ -1,6 +1,7 @@ [ - {"name":"name","width":30,"link":true}, - {"name":"dateSent"}, - {"name":"fromEmailAddress"}, - {"name":"status"} + {"name":"name","width":30,"link":true,"notSortable": true}, + {"name":"fromEmailAddress","notSortable": true}, + {"name":"status","notSortable": true, "width":10}, + {"name":"parent","notSortable": true}, + {"name":"dateSent","view": "Fields.DatetimeShort", "notSortable": true, "width":10} ] diff --git a/frontend/client/src/views/fields/datetime-short.js b/frontend/client/src/views/fields/datetime-short.js new file mode 100644 index 0000000000..8bd4570a53 --- /dev/null +++ b/frontend/client/src/views/fields/datetime-short.js @@ -0,0 +1,58 @@ +/************************************************************************ + * This file is part of EspoCRM. + * + * EspoCRM - Open Source CRM application. + * Copyright (C) 2014 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko + * Website: http://www.espocrm.com + * + * EspoCRM is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * EspoCRM 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with EspoCRM. If not, see http://www.gnu.org/licenses/. + ************************************************************************/ + +Espo.define('Views.Fields.DatetimeShort', 'Views.Fields.Datetime', function (Dep) { + + return Dep.extend({ + + getValueForDisplay: function () { + + if (this.mode == 'list' || this.mode == 'detail') { + var value = this.model.get(this.name); + var string; + + var d = this.getDateTime().toMoment(value); + + var now = moment().tz(this.getDateTime().timeZone); + + if (d.unix() > now.clone().startOf('day').unix() && d.unix() < now.clone().add('days', 1).startOf('day').unix()) { + string = d.format(this.getDateTime().timeFormat); + return string; + } + + if (d.format('YYYY') == now.format('YYYY')) { + string = d.format('MMM DD'); + } else { + string = d.format('MMM DD, YY'); + } + + + return string; + } + + return Dep.prototype.getValueForDisplay.call(this); + }, + + + + }); +}); +