users / notifications : temporary disabled notifications system
This commit is contained in:
parent
9167519388
commit
ef6375f4cc
15 changed files with 302 additions and 113 deletions
|
|
@ -28,8 +28,8 @@ Comments:
|
|||
url: file://s0lNtRA0Z7ybTCWG
|
||||
position:
|
||||
pageIndex: 1
|
||||
x: "32.518325137231"
|
||||
y: "20.46332046332"
|
||||
x: "64.481176977282"
|
||||
y: "14.478764478764"
|
||||
replies: [ ]
|
||||
text: test
|
||||
author:
|
||||
|
|
@ -37,8 +37,8 @@ Comments:
|
|||
email: adrien.payet@outlook.com
|
||||
uuid: user://WWjXgPWk
|
||||
role: admin
|
||||
date: 2024-11-18T11:59:06+01:00
|
||||
id: m3mwxzuo
|
||||
date: 2024-11-21T19:18:40+01:00
|
||||
id: m3rmytqk
|
||||
type: comment
|
||||
isRead: false
|
||||
-
|
||||
|
|
@ -57,66 +57,8 @@ Comments:
|
|||
url: file://s0lNtRA0Z7ybTCWG
|
||||
position:
|
||||
pageIndex: 1
|
||||
x: "60.383371825251"
|
||||
y: "50.772200772201"
|
||||
replies: [ ]
|
||||
text: Test 2
|
||||
author:
|
||||
name: Adrien Payet
|
||||
email: adrien.payet@outlook.com
|
||||
uuid: user://WWjXgPWk
|
||||
role: admin
|
||||
date: 2024-11-18T14:05:32+01:00
|
||||
id: m3n1gl8u
|
||||
type: comment
|
||||
isRead: false
|
||||
-
|
||||
location:
|
||||
page:
|
||||
uri: >
|
||||
projects/miss-dior-blooming-bouquet/client-brief
|
||||
title: Brief client
|
||||
href: >
|
||||
/projects/miss-dior-blooming-bouquet?dialog=client-brief
|
||||
project:
|
||||
title: Miss Dior Blooming Bouquet
|
||||
uri: projects/miss-dior-blooming-bouquet
|
||||
file:
|
||||
uuid: file://s0lNtRA0Z7ybTCWG
|
||||
url: file://s0lNtRA0Z7ybTCWG
|
||||
position:
|
||||
pageIndex: 1
|
||||
x: "20.771295651105"
|
||||
y: "66.409266409266"
|
||||
replies: [ ]
|
||||
text: Test 3
|
||||
author:
|
||||
name: Adrien Payet
|
||||
email: adrien.payet@outlook.com
|
||||
uuid: user://WWjXgPWk
|
||||
role: admin
|
||||
date: 2024-11-18T14:05:45+01:00
|
||||
id: m3n1gupx
|
||||
type: comment
|
||||
isRead: false
|
||||
-
|
||||
location:
|
||||
page:
|
||||
uri: >
|
||||
projects/miss-dior-blooming-bouquet/client-brief
|
||||
title: Brief client
|
||||
href: >
|
||||
/projects/miss-dior-blooming-bouquet?dialog=client-brief
|
||||
project:
|
||||
title: Miss Dior Blooming Bouquet
|
||||
uri: projects/miss-dior-blooming-bouquet
|
||||
file:
|
||||
uuid: file://s0lNtRA0Z7ybTCWG
|
||||
url: file://s0lNtRA0Z7ybTCWG
|
||||
position:
|
||||
pageIndex: 1
|
||||
x: '79.506443081734'
|
||||
y: '74.131274131274'
|
||||
x: "64.481176977282"
|
||||
y: "14.478764478764"
|
||||
replies: [ ]
|
||||
text: test
|
||||
author:
|
||||
|
|
@ -124,7 +66,152 @@ Comments:
|
|||
email: adrien.payet@outlook.com
|
||||
uuid: user://WWjXgPWk
|
||||
role: admin
|
||||
date: 2024-11-20T08:49:31+01:00
|
||||
id: m3pl1vn7
|
||||
date: 2024-11-21T19:19:27+01:00
|
||||
id: m3rmzu2u
|
||||
type: comment
|
||||
isRead: false
|
||||
-
|
||||
location:
|
||||
page:
|
||||
uri: >
|
||||
projects/miss-dior-blooming-bouquet/client-brief
|
||||
title: Brief client
|
||||
href: >
|
||||
/projects/miss-dior-blooming-bouquet?dialog=client-brief
|
||||
project:
|
||||
title: Miss Dior Blooming Bouquet
|
||||
uri: projects/miss-dior-blooming-bouquet
|
||||
file:
|
||||
uuid: file://s0lNtRA0Z7ybTCWG
|
||||
url: file://s0lNtRA0Z7ybTCWG
|
||||
position:
|
||||
pageIndex: 1
|
||||
x: "64.481176977282"
|
||||
y: "14.478764478764"
|
||||
replies: [ ]
|
||||
text: test
|
||||
author:
|
||||
name: Adrien Payet
|
||||
email: adrien.payet@outlook.com
|
||||
uuid: user://WWjXgPWk
|
||||
role: admin
|
||||
date: 2024-11-21T19:19:33+01:00
|
||||
id: m3rmzyl9
|
||||
type: comment
|
||||
isRead: false
|
||||
-
|
||||
location:
|
||||
page:
|
||||
uri: >
|
||||
projects/miss-dior-blooming-bouquet/client-brief
|
||||
title: Brief client
|
||||
href: >
|
||||
/projects/miss-dior-blooming-bouquet?dialog=client-brief
|
||||
project:
|
||||
title: Miss Dior Blooming Bouquet
|
||||
uri: projects/miss-dior-blooming-bouquet
|
||||
file:
|
||||
uuid: file://s0lNtRA0Z7ybTCWG
|
||||
url: file://s0lNtRA0Z7ybTCWG
|
||||
position:
|
||||
pageIndex: 1
|
||||
x: "64.481176977282"
|
||||
y: "14.478764478764"
|
||||
replies: [ ]
|
||||
text: test
|
||||
author:
|
||||
name: Adrien Payet
|
||||
email: adrien.payet@outlook.com
|
||||
uuid: user://WWjXgPWk
|
||||
role: admin
|
||||
date: 2024-11-21T19:19:44+01:00
|
||||
id: m3rn07nl
|
||||
type: comment
|
||||
isRead: false
|
||||
-
|
||||
location:
|
||||
page:
|
||||
uri: >
|
||||
projects/miss-dior-blooming-bouquet/client-brief
|
||||
title: Brief client
|
||||
href: >
|
||||
/projects/miss-dior-blooming-bouquet?dialog=client-brief
|
||||
project:
|
||||
title: Miss Dior Blooming Bouquet
|
||||
uri: projects/miss-dior-blooming-bouquet
|
||||
file:
|
||||
uuid: file://s0lNtRA0Z7ybTCWG
|
||||
url: file://s0lNtRA0Z7ybTCWG
|
||||
position:
|
||||
pageIndex: 1
|
||||
x: "64.481176977282"
|
||||
y: "14.478764478764"
|
||||
replies: [ ]
|
||||
text: test
|
||||
author:
|
||||
name: Adrien Payet
|
||||
email: adrien.payet@outlook.com
|
||||
uuid: user://WWjXgPWk
|
||||
role: admin
|
||||
date: 2024-11-21T19:20:04+01:00
|
||||
id: m3rn0mf4
|
||||
type: comment
|
||||
isRead: false
|
||||
-
|
||||
location:
|
||||
page:
|
||||
uri: >
|
||||
projects/miss-dior-blooming-bouquet/client-brief
|
||||
title: Brief client
|
||||
href: >
|
||||
/projects/miss-dior-blooming-bouquet?dialog=client-brief
|
||||
project:
|
||||
title: Miss Dior Blooming Bouquet
|
||||
uri: projects/miss-dior-blooming-bouquet
|
||||
file:
|
||||
uuid: file://s0lNtRA0Z7ybTCWG
|
||||
url: file://s0lNtRA0Z7ybTCWG
|
||||
position:
|
||||
pageIndex: 1
|
||||
x: "60.383375993749"
|
||||
y: "31.660231660232"
|
||||
replies: [ ]
|
||||
text: test
|
||||
author:
|
||||
name: Adrien Payet
|
||||
email: adrien.payet@outlook.com
|
||||
uuid: user://WWjXgPWk
|
||||
role: admin
|
||||
date: 2024-11-21T19:35:48+01:00
|
||||
id: m3rnkvcn
|
||||
type: comment
|
||||
isRead: false
|
||||
-
|
||||
location:
|
||||
page:
|
||||
uri: >
|
||||
projects/miss-dior-blooming-bouquet/client-brief
|
||||
title: Brief client
|
||||
href: >
|
||||
/projects/miss-dior-blooming-bouquet?dialog=client-brief
|
||||
project:
|
||||
title: Miss Dior Blooming Bouquet
|
||||
uri: projects/miss-dior-blooming-bouquet
|
||||
file:
|
||||
uuid: file://s0lNtRA0Z7ybTCWG
|
||||
url: file://s0lNtRA0Z7ybTCWG
|
||||
position:
|
||||
pageIndex: 1
|
||||
x: '64.481176977282'
|
||||
y: '50.772200772201'
|
||||
replies: [ ]
|
||||
text: test
|
||||
author:
|
||||
name: Adrien Payet
|
||||
email: adrien.payet@outlook.com
|
||||
uuid: user://WWjXgPWk
|
||||
role: admin
|
||||
date: 2024-11-21T19:36:11+01:00
|
||||
id: m3rnld52
|
||||
type: comment
|
||||
isRead: false
|
||||
|
|
@ -22,4 +22,8 @@ Stepindex: 1
|
|||
|
||||
----
|
||||
|
||||
Uuid: glE28vWGearnAmxw
|
||||
Uuid: glE28vWGearnAmxw
|
||||
|
||||
----
|
||||
|
||||
Isvalidated: true
|
||||
|
|
@ -23,7 +23,8 @@ tabs:
|
|||
fields:
|
||||
stepName:
|
||||
type: hidden
|
||||
value: test
|
||||
isSent:
|
||||
type: hidden
|
||||
pdf:
|
||||
label: PDF
|
||||
type: files
|
||||
|
|
|
|||
|
|
@ -5,13 +5,6 @@ tabs:
|
|||
label: Contenu
|
||||
columns:
|
||||
- width: 1/1
|
||||
sections:
|
||||
listed:
|
||||
extends: sections/projects
|
||||
headline: En cours
|
||||
status: listed
|
||||
sortBy: modified desc
|
||||
- width: 1/2
|
||||
sections:
|
||||
drafts:
|
||||
extends: sections/projects
|
||||
|
|
@ -23,17 +16,24 @@ tabs:
|
|||
extends: sections/projects
|
||||
headline: Archivés
|
||||
status: unlisted
|
||||
- width: 1/1
|
||||
- width: 1/2
|
||||
sections:
|
||||
yourProjects:
|
||||
label: Tous vos projets
|
||||
type: pages
|
||||
query: user.projects
|
||||
listed:
|
||||
extends: sections/projects
|
||||
headline: En cours
|
||||
status: listed
|
||||
sortBy: modified desc
|
||||
create: false
|
||||
search: true
|
||||
image:
|
||||
query: page.client.toPage.logo.toFile
|
||||
# - width: 1/1
|
||||
# sections:
|
||||
# yourProjects:
|
||||
# label: Tous vos projets
|
||||
# type: pages
|
||||
# query: user.projects
|
||||
# sortBy: modified desc
|
||||
# create: false
|
||||
# search: true
|
||||
# image:
|
||||
# query: page.client.toPage.logo.toFile
|
||||
|
||||
settings:
|
||||
label: Réglages
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ tabs:
|
|||
yourProjects:
|
||||
label: Vos projets
|
||||
type: pages
|
||||
query: user.projects
|
||||
help: Projets pour lesquels vous êtes nommé chef de projet.
|
||||
image:
|
||||
query: page.client.toPage.logo.toFile
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ return [
|
|||
require(__DIR__ . '/routes/save-file.php'),
|
||||
require(__DIR__ . '/routes/remove-file.php'),
|
||||
require(__DIR__ . '/routes/upload-pdf.php'),
|
||||
require(__DIR__ . '/routes/validate-brief.php'),
|
||||
],
|
||||
'hooks' => [
|
||||
'page.create:after' => require_once(__DIR__ . '/hooks/create-steps.php'),
|
||||
|
|
|
|||
32
public/site/config/routes/validate-brief.php
Normal file
32
public/site/config/routes/validate-brief.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'pattern' => '(:all)validate-brief.json',
|
||||
'method' => 'POST',
|
||||
'action' => function () {
|
||||
$json = file_get_contents('php://input');
|
||||
$data = json_decode($json);
|
||||
|
||||
$page = page($data->pageUri);
|
||||
try {
|
||||
$newPage = $page->update([
|
||||
'isValidated' => 'true'
|
||||
]);
|
||||
echo json_encode([
|
||||
"success" => "'" . $newPage->title()->value() . "' brief validated."
|
||||
]);
|
||||
|
||||
kirby()->user()->sendNotification($newPage->parent(), [
|
||||
'date' => $newPage->modified('YYYY-MM-DD'),
|
||||
'author' => kirby()->user()->name()->isNotEmpty() ? kirby()->user()->name() : kirby()->user()->email(),
|
||||
'url' => $newPage->url(),
|
||||
'type' => 'content'
|
||||
]);
|
||||
} catch (\Throwable $th) {
|
||||
return [
|
||||
"error" => "Can't validate '" . $page->title()->value() . "' brief.",
|
||||
'details' => $th->getMessage()
|
||||
];
|
||||
}
|
||||
}
|
||||
];
|
||||
|
|
@ -35,6 +35,7 @@ class ProjectPage extends Page {
|
|||
'slug' => $child->slug(),
|
||||
'index' => intval($child->stepIndex()->value()),
|
||||
'modified' => $child->modified('Y-MM-dd'),
|
||||
'isValidated' => $child->isValidated()->value() ?? false,
|
||||
'uri' => $uri,
|
||||
'files' => $files,
|
||||
];
|
||||
|
|
|
|||
|
|
@ -51,9 +51,9 @@ return [
|
|||
echo json_encode(getFileData($newFile));
|
||||
|
||||
try {
|
||||
$user->sendNotification($page->parent()->uri(), $newComment->toArray());
|
||||
$user->sendNotification($page->parent(), $newComment->toArray());
|
||||
} catch (\Throwable $th) {
|
||||
throw new Exception($th->getMessage(), 1);
|
||||
return $th->getMessage() . " in " . $th->getFile() . " line " . $th->getLine();
|
||||
}
|
||||
|
||||
exit;
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ return [
|
|||
'comments' => $comments
|
||||
]);
|
||||
|
||||
$user->sendNotification($page->parent()->uri(), $newReply->toArray());
|
||||
$user->sendNotification($page->parent(), $newReply->toArray());
|
||||
|
||||
return getFileData($newFile);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,8 +13,23 @@
|
|||
* @throws Exception If an error occurs while updating a user's notifications.
|
||||
*/
|
||||
|
||||
return function ($projectUri, $notificationData) {
|
||||
$recipients = page($projectUri)->managers()->toUsers()->not($this);
|
||||
return function ($project, $notificationData) {
|
||||
$recipients = kirby()->users()->filter(function($user) use ($project) {
|
||||
if ($user === $this || $user->projects()->isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
throw new Exception(json_encode($user->name()), 1);
|
||||
|
||||
$projects = $user->projects();
|
||||
if ($projects && ($user->role() == 'admin' || $projects->has($project))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
// $recipients = page($projectUri)->managers()->toUsers()->not($this);
|
||||
|
||||
if (!$recipients) return;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,5 @@
|
|||
<?php
|
||||
|
||||
Kirby::plugin('adrienpayet/pdc-your-projects', [
|
||||
'userMethods' => [
|
||||
'projects' => function() {
|
||||
$allProjects = page('projects')->children();
|
||||
|
||||
$managedProjects = $allProjects->filter(
|
||||
fn ($project) => $project->managers()->toUsers()->has($this)
|
||||
);
|
||||
|
||||
return $managedProjects;
|
||||
}
|
||||
]
|
||||
'userMethods' => []
|
||||
]);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue