summaryrefslogtreecommitdiff
path: root/addons/microsoft_calendar/static/src/js/microsoft_calendar_popover.js
blob: 2699e0b3bf2ebeb21cf4d89a4ed8d475fe113d40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
odoo.define('microsoft_calendar.MicrosoftCalendarPopover', function(require) {
    "use strict";

    const CalendarPopover = require('web.CalendarPopover');

    const MicrosoftCalendarPopover = CalendarPopover.include({
        events: _.extend({}, CalendarPopover.prototype.events, {
            'click .o_cw_popover_archive_m': '_onClickPopoverArchive',
        }),

        /**
         * We only want one 'Archive' button in the popover
         * so if Google Sync is also active, it takes precedence
         * over this popvoer.
         */
        isMEventSyncedAndArchivable() {
            if (this.event.extendedProps.record.google_id === undefined) {
                return this.event.extendedProps.record.microsoft_id;
            }
            return !this.event.extendedProps.record.google_id && this.event.extendedProps.record.microsoft_id
        },

        isEventDeletable() {
            return !this.isMEventSyncedAndArchivable() && this._super();
        },

        _onClickPopoverArchive: function (ev) {
            ev.preventDefault();
            this.trigger_up('archive_event', {id: this.event.id});
        },
    });

    return MicrosoftCalendarPopover;
});