diff --git a/addons/web/static/src/js/views/calendar/calendar_controller.js b/addons/web/static/src/js/views/calendar/calendar_controller.js index aaed2d82abb..6ec90393b7a 100644 --- a/addons/web/static/src/js/views/calendar/calendar_controller.js +++ b/addons/web/static/src/js/views/calendar/calendar_controller.js @@ -318,7 +318,7 @@ var CalendarController = AbstractController.extend({ var options = _.extend({}, this.options, event.options, { context: context, - title: _.str.sprintf(_t('Create: %s'), (this.displayName || this.renderer.arch.attrs.string)) + title: _t('New Event') }); if (this.quick != null) { @@ -335,10 +335,7 @@ var CalendarController = AbstractController.extend({ return; } - var title = _t("Create"); - if (this.renderer.arch.attrs.string) { - title += ': ' + this.renderer.arch.attrs.string; - } + const title = _t('New Event') if (this.eventOpenPopup) { if (this.previousOpen) { this.previousOpen.close(); } this.previousOpen = new dialogs.FormViewDialog(self, { diff --git a/addons/web/static/src/js/views/calendar/calendar_model.js b/addons/web/static/src/js/views/calendar/calendar_model.js index b8a27e23035..0948383b021 100644 --- a/addons/web/static/src/js/views/calendar/calendar_model.js +++ b/addons/web/static/src/js/views/calendar/calendar_model.js @@ -489,7 +489,6 @@ return AbstractModel.extend({ _loadCalendar: function () { var self = this; this.data.fc_options = this._getFullCalendarOptions(); - var defs = _.map(this.data.filters, this._loadFilter.bind(this)); return Promise.all(defs).then(function () { @@ -550,11 +549,12 @@ return AbstractModel.extend({ var value = _.isArray(_value) ? _value[0] : _value; var f = _.find(filter.filters, function (f) {return f.value === value;}); var formater = fieldUtils.format[_.contains(['many2many', 'one2many'], field.type) ? 'many2one' : field.type]; + // By default, only current user partner is checked. return { 'id': record.id, 'value': value, 'label': formater(_value, field), - 'active': !f || f.active, + 'active': f && f.active, }; }); records.sort(function (f1,f2) { @@ -573,7 +573,7 @@ return AbstractModel.extend({ var f = _.find(filter.filters, function (f) {return f.value === value;}); me = { 'value': value, - 'label': session.name + _t(" [Me]"), + 'label': session.name, 'active': !f || f.active, }; } diff --git a/addons/web/static/src/js/views/calendar/calendar_popover.js b/addons/web/static/src/js/views/calendar/calendar_popover.js index a8b975febb4..115896133de 100644 --- a/addons/web/static/src/js/views/calendar/calendar_popover.js +++ b/addons/web/static/src/js/views/calendar/calendar_popover.js @@ -197,8 +197,14 @@ var CalendarPopover = Widget.extend(WidgetAdapterMixin, StandaloneFieldManagerMi fieldWidget.attrs.modifiers = fieldWidget.attrs.modifiers ? JSON.parse(fieldWidget.attrs.modifiers) : {}; } self._registerWidget(recordID, field.name, fieldWidget); + // Only display the fields whose attributes does not make them invisible + let fieldClass = "list-group-item flex-shrink-0 d-flex flex-wrap"; + if (fieldWidget.attrs && fieldWidget.attrs.modifiers) { + const fieldModifier = record.evalModifiers(fieldWidget.attrs.modifiers); + fieldClass += fieldModifier.invisible ? ' o_invisible_modifier' : ''; + } - var $field = $('