[DELEGATION] Edit attendance and events, delete event for someone (#553)

* [#523] added way to manage attendance for delegated calendars

* [DELEGATION] #523 & #524 changed eventURL calculation for delegated events to have the rigth one

* [#524] added drag and drop authorisation to delegated event

* [#524] added tests

* [#524] support for the permission access

* [#524] no edit when delegated event is not public
This commit is contained in:
Camille Moussu
2026-02-19 09:50:29 +01:00
committed by GitHub
parent f520a9b6fe
commit cfb2b59584
52 changed files with 1116 additions and 219 deletions
+4 -4
View File
@@ -44,7 +44,7 @@ describe("CalendarSelection", () => {
name: "Calendar personal",
id: "user1/cal1",
color: { light: "#FF0000", dark: "#000" },
ownerEmails: ["alice@example.com"],
owner: { emails: ["alice@example.com"] },
events: {
event1: {
id: "event1",
@@ -76,7 +76,7 @@ describe("CalendarSelection", () => {
delegated: true,
id: "user2/cal1",
color: { light: "#FF0000", dark: "#000" },
ownerEmails: ["alice@example.com"],
owner: { emails: ["alice@example.com"] },
events: {
event1: {
id: "event1",
@@ -107,7 +107,7 @@ describe("CalendarSelection", () => {
name: "Calendar shared",
id: "user3/cal1",
color: { light: "#FF0000", dark: "#000" },
ownerEmails: ["alice@example.com"],
owner: { emails: ["alice@example.com"] },
events: {
event1: {
id: "event1",
@@ -336,7 +336,7 @@ describe("calendar Availability search", () => {
name: "Calendar personal",
id: "user1/cal1",
color: { light: "#FF0000", dark: "#000" },
ownerEmails: ["alice@example.com"],
owner: { emails: ["alice@example.com"] },
events: {},
},
},
+1 -1
View File
@@ -51,7 +51,7 @@ describe("CalendarSearch", () => {
name: "My Calendar",
id: "user1/cal1",
color: "#0000FF",
ownerEmails: ["test@test.com"],
owner: { emails: ["test@test.com"] },
events: {},
},
},
@@ -24,20 +24,20 @@ describe("CalendarSelection", () => {
name: "Calendar personal",
id: "user1/cal1",
color: "#FF0000",
ownerEmails: ["alice@example.com"],
owner: { emails: ["alice@example.com"] },
},
"user2/cal1": {
name: "Calendar delegated",
delegated: true,
id: "user2/cal1",
color: "#00FF00",
ownerEmails: ["bob@example.com"],
owner: { emails: ["bob@example.com"] },
},
"user3/cal1": {
name: "Calendar shared",
id: "user3/cal1",
color: "#0000FF",
ownerEmails: ["charlie@example.com"],
owner: { emails: ["charlie@example.com"] },
},
};
beforeAll(() => {
@@ -30,7 +30,7 @@ describe("Event Error Handling", () => {
name: "Calendar personal",
id: "user1/cal1",
color: { light: "#FF0000", dark: "#000" },
ownerEmails: ["alice@example.com"],
owner: { emails: ["alice@example.com"] },
events: {
event1: {
id: "event1",
@@ -49,7 +49,7 @@ describe("CalendarApp integration", () => {
name: "Calendar 1",
id: "667037022b752d0026472254/cal1",
color: { light: "#FFFFFF", dark: "#000000" },
ownerEmails: ["alice@example.com"],
owner: { emails: ["alice@example.com"] },
events: {
event1: {
id: "event1",
@@ -136,7 +136,7 @@ describe("CalendarApp integration", () => {
name: "Calendar 1",
id: "667037022b752d0026472254/cal1",
color: { light: "#FFFFFF", dark: "#000000" },
ownerEmails: ["alice@example.com"],
owner: { emails: ["alice@example.com"] },
events: {
event1: {
id: "event1",
@@ -247,7 +247,7 @@ describe("CalendarApp integration", () => {
name: "Calendar 1",
id: "667037022b752d0026472254/cal1",
color: { light: "#FF0000", dark: "#000" },
ownerEmails: ["alice@example.com"],
owner: { emails: ["alice@example.com"] },
events: {
event1: {
id: "event1",
@@ -291,7 +291,7 @@ describe("CalendarApp integration", () => {
name: "Calendar 1",
id: "667037022b752d0026472254/cal1",
color: { light: "#FFFFFF", dark: "#000000" },
ownerEmails: ["alice@example.com"],
owner: { emails: ["alice@example.com"] },
events: {
event1: {
id: "event1",
@@ -29,7 +29,7 @@ describe("MiniCalendar", () => {
"667037022b752d0026472254/cal1": {
name: "Calendar 1",
color: { light: "#FF0000", dark: "#000" },
ownerEmails: ["test@test.com"],
owner: { emails: ["test@test.com"] },
events: {
event1: {
calId: "667037022b752d0026472254/cal1",