Add notification on card assignment to user
Signed-off-by: Steav <steav8@gmail.com>
This commit is contained in:
@@ -10,6 +10,7 @@ OC.L10N.register(
|
|||||||
"Are you sure you want to delete the stack with all of its data?" : "Möchtest du diesen Stapel mit allen Daten wirklich löschen?",
|
"Are you sure you want to delete the stack with all of its data?" : "Möchtest du diesen Stapel mit allen Daten wirklich löschen?",
|
||||||
"Personal" : "Persönlich",
|
"Personal" : "Persönlich",
|
||||||
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
|
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
|
||||||
|
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" wurde Dir auf \"%s\" von %s zugewiesen.",
|
||||||
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Dir geteilt.",
|
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Dir geteilt.",
|
||||||
"{user} has shared the board %s with you." : "{user} hat das Board %s mit Dir geteilt.",
|
"{user} has shared the board %s with you." : "{user} hat das Board %s mit Dir geteilt.",
|
||||||
"No data was provided to create an attachment." : "Es wurde keine Daten zum Erstellen eines Anhangs bereitgestellt.",
|
"No data was provided to create an attachment." : "Es wurde keine Daten zum Erstellen eines Anhangs bereitgestellt.",
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
"Are you sure you want to delete the stack with all of its data?" : "Möchtest du diesen Stapel mit allen Daten wirklich löschen?",
|
"Are you sure you want to delete the stack with all of its data?" : "Möchtest du diesen Stapel mit allen Daten wirklich löschen?",
|
||||||
"Personal" : "Persönlich",
|
"Personal" : "Persönlich",
|
||||||
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
|
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
|
||||||
|
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" wurde Dir auf \"%s\" von %s zugewiesen.",
|
||||||
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Dir geteilt.",
|
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Dir geteilt.",
|
||||||
"{user} has shared the board %s with you." : "{user} hat das Board %s mit Dir geteilt.",
|
"{user} has shared the board %s with you." : "{user} hat das Board %s mit Dir geteilt.",
|
||||||
"No data was provided to create an attachment." : "Es wurde keine Daten zum Erstellen eines Anhangs bereitgestellt.",
|
"No data was provided to create an attachment." : "Es wurde keine Daten zum Erstellen eines Anhangs bereitgestellt.",
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ OC.L10N.register(
|
|||||||
"Are you sure you want to delete the stack with all of its data?" : "Möchten Sie diesen Stapel mit allen Daten wirklich löschen?",
|
"Are you sure you want to delete the stack with all of its data?" : "Möchten Sie diesen Stapel mit allen Daten wirklich löschen?",
|
||||||
"Personal" : "Persönlich",
|
"Personal" : "Persönlich",
|
||||||
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
|
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
|
||||||
|
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" wurde Ihnen auf \"%s\" von %s zugewiesen.",
|
||||||
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Ihnen geteilt.",
|
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Ihnen geteilt.",
|
||||||
"{user} has shared the board %s with you." : "{user} hat das Board %s mit Ihnen geteilt.",
|
"{user} has shared the board %s with you." : "{user} hat das Board %s mit Ihnen geteilt.",
|
||||||
"No data was provided to create an attachment." : "Es wurde keine Daten zum Erstellen eines Anhangs bereitgestellt.",
|
"No data was provided to create an attachment." : "Es wurde keine Daten zum Erstellen eines Anhangs bereitgestellt.",
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
"Personal" : "Persönlich",
|
"Personal" : "Persönlich",
|
||||||
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
|
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
|
||||||
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Ihnen geteilt.",
|
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Ihnen geteilt.",
|
||||||
|
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" wurde Ihnen auf \"%s\" von %s zugewiesen.",
|
||||||
"{user} has shared the board %s with you." : "{user} hat das Board %s mit Ihnen geteilt.",
|
"{user} has shared the board %s with you." : "{user} hat das Board %s mit Ihnen geteilt.",
|
||||||
"No data was provided to create an attachment." : "Es wurde keine Daten zum Erstellen eines Anhangs bereitgestellt.",
|
"No data was provided to create an attachment." : "Es wurde keine Daten zum Erstellen eines Anhangs bereitgestellt.",
|
||||||
"Finished" : "Abgeschlossen",
|
"Finished" : "Abgeschlossen",
|
||||||
|
|||||||
@@ -94,6 +94,24 @@ class NotificationHelper {
|
|||||||
$this->cardMapper->markNotified($card);
|
$this->cardMapper->markNotified($card);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function sendCardAssigned($card, $userId) {
|
||||||
|
$boardId = $this->cardMapper->findBoardId($card->getId());
|
||||||
|
$board = $this->getBoard($boardId);
|
||||||
|
|
||||||
|
$notification = $this->notificationManager->createNotification();
|
||||||
|
$notification
|
||||||
|
->setApp('deck')
|
||||||
|
->setUser((string) $userId)
|
||||||
|
->setDateTime(new DateTime())
|
||||||
|
->setObject('card', $card->getId())
|
||||||
|
->setSubject('card-assigned', [
|
||||||
|
$card->getTitle(),
|
||||||
|
$board->getTitle(),
|
||||||
|
$this->currentUser
|
||||||
|
]);
|
||||||
|
$this->notificationManager->notify($notification);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send notifications that a board was shared with a user/group
|
* Send notifications that a board was shared with a user/group
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -73,6 +73,18 @@ class Notifier implements INotifier {
|
|||||||
$params = $notification->getSubjectParameters();
|
$params = $notification->getSubjectParameters();
|
||||||
|
|
||||||
switch ($notification->getSubject()) {
|
switch ($notification->getSubject()) {
|
||||||
|
case 'card-assigned':
|
||||||
|
$cardId = $notification->getObjectId();
|
||||||
|
$boardId = $this->cardMapper->findBoardId($cardId);
|
||||||
|
$initiator = $this->userManager->get($params[2]);
|
||||||
|
if ($initiator !== null) {
|
||||||
|
$params[2] = $initiator->getDisplayName();
|
||||||
|
}
|
||||||
|
$notification->setParsedSubject(
|
||||||
|
(string) $l->t('The card "%s" on "%s" has been assigned to you by %s.', $params)
|
||||||
|
);
|
||||||
|
$notification->setLink($this->url->linkToRouteAbsolute('deck.page.index') . '#!/board/' . $boardId . '//card/' . $cardId . '');
|
||||||
|
break;
|
||||||
case 'card-overdue':
|
case 'card-overdue':
|
||||||
$cardId = $notification->getObjectId();
|
$cardId = $notification->getObjectId();
|
||||||
$boardId = $this->cardMapper->findBoardId($cardId);
|
$boardId = $this->cardMapper->findBoardId($cardId);
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ use OCA\Deck\Db\Card;
|
|||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCA\Deck\NotFoundException;
|
use OCA\Deck\NotFoundException;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
|
|
||||||
@@ -39,14 +40,16 @@ class CardService {
|
|||||||
private $stackMapper;
|
private $stackMapper;
|
||||||
private $permissionService;
|
private $permissionService;
|
||||||
private $boardService;
|
private $boardService;
|
||||||
|
private $notificationHelper;
|
||||||
private $assignedUsersMapper;
|
private $assignedUsersMapper;
|
||||||
private $attachmentService;
|
private $attachmentService;
|
||||||
|
|
||||||
public function __construct(CardMapper $cardMapper, StackMapper $stackMapper, PermissionService $permissionService, BoardService $boardService, AssignedUsersMapper $assignedUsersMapper, AttachmentService $attachmentService) {
|
public function __construct(CardMapper $cardMapper, StackMapper $stackMapper, PermissionService $permissionService, BoardService $boardService, NotificationHelper $notificationHelper, AssignedUsersMapper $assignedUsersMapper, AttachmentService $attachmentService) {
|
||||||
$this->cardMapper = $cardMapper;
|
$this->cardMapper = $cardMapper;
|
||||||
$this->stackMapper = $stackMapper;
|
$this->stackMapper = $stackMapper;
|
||||||
$this->permissionService = $permissionService;
|
$this->permissionService = $permissionService;
|
||||||
$this->boardService = $boardService;
|
$this->boardService = $boardService;
|
||||||
|
$this->notificationHelper = $notificationHelper;
|
||||||
$this->assignedUsersMapper = $assignedUsersMapper;
|
$this->assignedUsersMapper = $assignedUsersMapper;
|
||||||
$this->attachmentService = $attachmentService;
|
$this->attachmentService = $attachmentService;
|
||||||
}
|
}
|
||||||
@@ -202,6 +205,11 @@ class CardService {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Notify user about the card assignment */
|
||||||
|
$card = $this->cardMapper->find($cardId);
|
||||||
|
$this->notificationHelper->sendCardAssigned($card, $userId);
|
||||||
|
|
||||||
$assignment = new AssignedUsers();
|
$assignment = new AssignedUsers();
|
||||||
$assignment->setCardId($cardId);
|
$assignment->setCardId($cardId);
|
||||||
$assignment->setParticipant($userId);
|
$assignment->setParticipant($userId);
|
||||||
|
|||||||
Reference in New Issue
Block a user