mirror of
https://github.com/bringout/oca-ocb-project.git
synced 2026-04-20 01:02:07 +02:00
19.0 vanilla
This commit is contained in:
parent
a2f74aefd8
commit
4a4d12c333
844 changed files with 212348 additions and 270090 deletions
5
odoo-bringout-oca-ocb-project/project/static/src/core/web/@types/models.d.ts
vendored
Normal file
5
odoo-bringout-oca-ocb-project/project/static/src/core/web/@types/models.d.ts
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
declare module "models" {
|
||||
export interface Thread {
|
||||
collaborator_ids: ResPartner[];
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
import { FollowerList } from "@mail/core/web/follower_list";
|
||||
import { ConfirmationDialog } from "@web/core/confirmation_dialog/confirmation_dialog";
|
||||
import { _t } from "@web/core/l10n/translation";
|
||||
import { useService } from "@web/core/utils/hooks";
|
||||
|
||||
import { patch } from "@web/core/utils/patch";
|
||||
|
||||
const followerListPatch = {
|
||||
setup() {
|
||||
super.setup();
|
||||
this.dialogService = useService("dialog");
|
||||
},
|
||||
/**
|
||||
* @param {MouseEvent} ev
|
||||
* @param {import("models").Follower} follower
|
||||
*/
|
||||
async onClickRemove(ev, follower) {
|
||||
if (follower.partner_id.in(follower.thread.collaborator_ids)) {
|
||||
this.dialogService.add(ConfirmationDialog, {
|
||||
title: _t("Remove Collaborator"),
|
||||
body: _t(
|
||||
"This follower is currently a project collaborator. Removing them will revoke their portal access to the project. Are you sure you want to proceed?"
|
||||
),
|
||||
confirmLabel: _t("Remove Collaborator"),
|
||||
cancelLabel: _t("Discard"),
|
||||
confirm: () => super.onClickRemove(ev, follower),
|
||||
cancel: () => {},
|
||||
});
|
||||
} else {
|
||||
super.onClickRemove(ev, follower);
|
||||
}
|
||||
},
|
||||
};
|
||||
patch(FollowerList.prototype, followerListPatch);
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
import { Thread } from "@mail/core/common/thread_model";
|
||||
import { fields } from "@mail/model/misc";
|
||||
|
||||
import { patch } from "@web/core/utils/patch";
|
||||
|
||||
/** @type {import("models").Thread} */
|
||||
const threadPatch = {
|
||||
setup() {
|
||||
super.setup();
|
||||
this.collaborator_ids = fields.Many("res.partner");
|
||||
},
|
||||
};
|
||||
patch(Thread.prototype, threadPatch);
|
||||
Loading…
Add table
Add a link
Reference in a new issue