Fix missing translation of "Personal" calendar in activities
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
c25be8d83c
commit
bdb0265644
|
@ -135,8 +135,12 @@ class Backend {
|
||||||
->setSubject(
|
->setSubject(
|
||||||
$user === $currentUser ? $action . '_self' : $action,
|
$user === $currentUser ? $action . '_self' : $action,
|
||||||
[
|
[
|
||||||
$currentUser,
|
'actor' => $currentUser,
|
||||||
$calendarData['{DAV:}displayname'],
|
'calendar' => [
|
||||||
|
'id' => (int) $calendarData['id'],
|
||||||
|
'uri' => $calendarData['uri'],
|
||||||
|
'name' => $calendarData['{DAV:}displayname'],
|
||||||
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
$this->activityManager->publish($event);
|
$this->activityManager->publish($event);
|
||||||
|
@ -187,8 +191,13 @@ class Backend {
|
||||||
|
|
||||||
if ($owner !== $principal[2]) {
|
if ($owner !== $principal[2]) {
|
||||||
$parameters = [
|
$parameters = [
|
||||||
$principal[2],
|
'actor' => $event->getAuthor(),
|
||||||
$calendarData['{DAV:}displayname'],
|
'calendar' => [
|
||||||
|
'id' => (int) $calendarData['id'],
|
||||||
|
'uri' => $calendarData['uri'],
|
||||||
|
'name' => $calendarData['{DAV:}displayname'],
|
||||||
|
],
|
||||||
|
'user' => $principal[2],
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($owner === $event->getAuthor()) {
|
if ($owner === $event->getAuthor()) {
|
||||||
|
@ -201,7 +210,6 @@ class Backend {
|
||||||
$this->activityManager->publish($event);
|
$this->activityManager->publish($event);
|
||||||
|
|
||||||
$subject = Calendar::SUBJECT_UNSHARE_USER . '_by';
|
$subject = Calendar::SUBJECT_UNSHARE_USER . '_by';
|
||||||
$parameters[] = $event->getAuthor();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$event->setAffectedUser($owner)
|
$event->setAffectedUser($owner)
|
||||||
|
@ -212,8 +220,13 @@ class Backend {
|
||||||
$this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_UNSHARE_USER);
|
$this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_UNSHARE_USER);
|
||||||
|
|
||||||
$parameters = [
|
$parameters = [
|
||||||
$principal[2],
|
'actor' => $event->getAuthor(),
|
||||||
$calendarData['{DAV:}displayname'],
|
'calendar' => [
|
||||||
|
'id' => (int) $calendarData['id'],
|
||||||
|
'uri' => $calendarData['uri'],
|
||||||
|
'name' => $calendarData['{DAV:}displayname'],
|
||||||
|
],
|
||||||
|
'group' => $principal[2],
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($owner === $event->getAuthor()) {
|
if ($owner === $event->getAuthor()) {
|
||||||
|
@ -224,7 +237,6 @@ class Backend {
|
||||||
$this->activityManager->publish($event);
|
$this->activityManager->publish($event);
|
||||||
|
|
||||||
$subject = Calendar::SUBJECT_UNSHARE_GROUP . '_by';
|
$subject = Calendar::SUBJECT_UNSHARE_GROUP . '_by';
|
||||||
$parameters[] = $event->getAuthor();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$event->setAffectedUser($owner)
|
$event->setAffectedUser($owner)
|
||||||
|
@ -250,8 +262,13 @@ class Backend {
|
||||||
|
|
||||||
if ($owner !== $principal[2]) {
|
if ($owner !== $principal[2]) {
|
||||||
$parameters = [
|
$parameters = [
|
||||||
$principal[2],
|
'actor' => $event->getAuthor(),
|
||||||
$calendarData['{DAV:}displayname'],
|
'calendar' => [
|
||||||
|
'id' => (int) $calendarData['id'],
|
||||||
|
'uri' => $calendarData['uri'],
|
||||||
|
'name' => $calendarData['{DAV:}displayname'],
|
||||||
|
],
|
||||||
|
'user' => $principal[2],
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($owner === $event->getAuthor()) {
|
if ($owner === $event->getAuthor()) {
|
||||||
|
@ -262,7 +279,6 @@ class Backend {
|
||||||
$this->activityManager->publish($event);
|
$this->activityManager->publish($event);
|
||||||
|
|
||||||
$subject = Calendar::SUBJECT_SHARE_USER . '_by';
|
$subject = Calendar::SUBJECT_SHARE_USER . '_by';
|
||||||
$parameters[] = $event->getAuthor();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$event->setAffectedUser($owner)
|
$event->setAffectedUser($owner)
|
||||||
|
@ -273,8 +289,13 @@ class Backend {
|
||||||
$this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_SHARE_USER);
|
$this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_SHARE_USER);
|
||||||
|
|
||||||
$parameters = [
|
$parameters = [
|
||||||
$principal[2],
|
'actor' => $event->getAuthor(),
|
||||||
$calendarData['{DAV:}displayname'],
|
'calendar' => [
|
||||||
|
'id' => (int) $calendarData['id'],
|
||||||
|
'uri' => $calendarData['uri'],
|
||||||
|
'name' => $calendarData['{DAV:}displayname'],
|
||||||
|
],
|
||||||
|
'group' => $principal[2],
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($owner === $event->getAuthor()) {
|
if ($owner === $event->getAuthor()) {
|
||||||
|
@ -285,7 +306,6 @@ class Backend {
|
||||||
$this->activityManager->publish($event);
|
$this->activityManager->publish($event);
|
||||||
|
|
||||||
$subject = Calendar::SUBJECT_SHARE_GROUP . '_by';
|
$subject = Calendar::SUBJECT_SHARE_GROUP . '_by';
|
||||||
$parameters[] = $event->getAuthor();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$event->setAffectedUser($owner)
|
$event->setAffectedUser($owner)
|
||||||
|
@ -347,8 +367,12 @@ class Backend {
|
||||||
->setSubject(
|
->setSubject(
|
||||||
$user === $event->getAuthor() && $subjectSelf ? $subjectSelf : $subject,
|
$user === $event->getAuthor() && $subjectSelf ? $subjectSelf : $subject,
|
||||||
[
|
[
|
||||||
$event->getAuthor(),
|
'actor' => $event->getAuthor(),
|
||||||
$properties['{DAV:}displayname'],
|
'calendar' => [
|
||||||
|
'id' => (int) $properties['id'],
|
||||||
|
'uri' => $properties['uri'],
|
||||||
|
'name' => $properties['{DAV:}displayname'],
|
||||||
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -401,9 +425,13 @@ class Backend {
|
||||||
->setSubject(
|
->setSubject(
|
||||||
$user === $currentUser ? $action . '_self' : $action,
|
$user === $currentUser ? $action . '_self' : $action,
|
||||||
[
|
[
|
||||||
$currentUser,
|
'actor' => $event->getAuthor(),
|
||||||
$calendarData['{DAV:}displayname'],
|
'calendar' => [
|
||||||
[
|
'id' => (int) $calendarData['id'],
|
||||||
|
'uri' => $calendarData['uri'],
|
||||||
|
'name' => $calendarData['{DAV:}displayname'],
|
||||||
|
],
|
||||||
|
'object' => [
|
||||||
'id' => $object['id'],
|
'id' => $object['id'],
|
||||||
'name' => $object['name'],
|
'name' => $object['name'],
|
||||||
],
|
],
|
||||||
|
|
|
@ -21,8 +21,10 @@
|
||||||
|
|
||||||
namespace OCA\DAV\CalDAV\Activity\Provider;
|
namespace OCA\DAV\CalDAV\Activity\Provider;
|
||||||
|
|
||||||
|
use OCA\DAV\CalDAV\CalDavBackend;
|
||||||
use OCP\Activity\IEvent;
|
use OCP\Activity\IEvent;
|
||||||
use OCP\Activity\IProvider;
|
use OCP\Activity\IProvider;
|
||||||
|
use OCP\IL10N;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
|
|
||||||
|
@ -64,7 +66,7 @@ abstract class Base implements IProvider {
|
||||||
protected function generateObjectParameter($eventData) {
|
protected function generateObjectParameter($eventData) {
|
||||||
if (!is_array($eventData) || !isset($eventData['id']) || !isset($eventData['name'])) {
|
if (!is_array($eventData) || !isset($eventData['id']) || !isset($eventData['name'])) {
|
||||||
throw new \InvalidArgumentException();
|
throw new \InvalidArgumentException();
|
||||||
};
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'type' => 'calendar-event',
|
'type' => 'calendar-event',
|
||||||
|
@ -73,12 +75,34 @@ abstract class Base implements IProvider {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array $data
|
||||||
|
* @param IL10N $l
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function generateCalendarParameter($data, IL10N $l) {
|
||||||
|
if ($data['uri'] === CalDavBackend::PERSONAL_CALENDAR_URI &&
|
||||||
|
$data['name'] === CalDavBackend::PERSONAL_CALENDAR_NAME) {
|
||||||
|
return [
|
||||||
|
'type' => 'calendar',
|
||||||
|
'id' => $data['id'],
|
||||||
|
'name' => $l->t('Personal'),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
'type' => 'calendar',
|
||||||
|
'id' => $data['id'],
|
||||||
|
'name' => $data['name'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function generateCalendarParameter($id, $name) {
|
protected function generateLegacyCalendarParameter($id, $name) {
|
||||||
return [
|
return [
|
||||||
'type' => 'calendar',
|
'type' => 'calendar',
|
||||||
'id' => $id,
|
'id' => $id,
|
||||||
|
|
|
@ -156,6 +156,52 @@ class Calendar extends Base {
|
||||||
$subject = $event->getSubject();
|
$subject = $event->getSubject();
|
||||||
$parameters = $event->getSubjectParameters();
|
$parameters = $event->getSubjectParameters();
|
||||||
|
|
||||||
|
// Nextcloud 13+
|
||||||
|
if (isset($parameters['calendar'])) {
|
||||||
|
switch ($subject) {
|
||||||
|
case self::SUBJECT_ADD:
|
||||||
|
case self::SUBJECT_ADD . '_self':
|
||||||
|
case self::SUBJECT_DELETE:
|
||||||
|
case self::SUBJECT_DELETE . '_self':
|
||||||
|
case self::SUBJECT_UPDATE:
|
||||||
|
case self::SUBJECT_UPDATE . '_self':
|
||||||
|
case self::SUBJECT_SHARE_USER:
|
||||||
|
case self::SUBJECT_UNSHARE_USER:
|
||||||
|
case self::SUBJECT_UNSHARE_USER . '_self':
|
||||||
|
return [
|
||||||
|
'actor' => $this->generateUserParameter($parameters['actor']),
|
||||||
|
'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
|
||||||
|
];
|
||||||
|
case self::SUBJECT_SHARE_USER . '_you':
|
||||||
|
case self::SUBJECT_UNSHARE_USER . '_you':
|
||||||
|
return [
|
||||||
|
'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
|
||||||
|
'user' => $this->generateUserParameter($parameters['user']),
|
||||||
|
];
|
||||||
|
case self::SUBJECT_SHARE_USER . '_by':
|
||||||
|
case self::SUBJECT_UNSHARE_USER . '_by':
|
||||||
|
return [
|
||||||
|
'actor' => $this->generateUserParameter($parameters['actor']),
|
||||||
|
'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
|
||||||
|
'user' => $this->generateUserParameter($parameters['user']),
|
||||||
|
];
|
||||||
|
case self::SUBJECT_SHARE_GROUP . '_you':
|
||||||
|
case self::SUBJECT_UNSHARE_GROUP . '_you':
|
||||||
|
return [
|
||||||
|
'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
|
||||||
|
'group' => $this->generateGroupParameter($parameters['group']),
|
||||||
|
];
|
||||||
|
case self::SUBJECT_SHARE_GROUP . '_by':
|
||||||
|
case self::SUBJECT_UNSHARE_GROUP . '_by':
|
||||||
|
return [
|
||||||
|
'actor' => $this->generateUserParameter($parameters['actor']),
|
||||||
|
'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
|
||||||
|
'group' => $this->generateGroupParameter($parameters['group']),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Legacy
|
||||||
switch ($subject) {
|
switch ($subject) {
|
||||||
case self::SUBJECT_ADD:
|
case self::SUBJECT_ADD:
|
||||||
case self::SUBJECT_ADD . '_self':
|
case self::SUBJECT_ADD . '_self':
|
||||||
|
@ -168,32 +214,32 @@ class Calendar extends Base {
|
||||||
case self::SUBJECT_UNSHARE_USER . '_self':
|
case self::SUBJECT_UNSHARE_USER . '_self':
|
||||||
return [
|
return [
|
||||||
'actor' => $this->generateUserParameter($parameters[0]),
|
'actor' => $this->generateUserParameter($parameters[0]),
|
||||||
'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
||||||
];
|
];
|
||||||
case self::SUBJECT_SHARE_USER . '_you':
|
case self::SUBJECT_SHARE_USER . '_you':
|
||||||
case self::SUBJECT_UNSHARE_USER . '_you':
|
case self::SUBJECT_UNSHARE_USER . '_you':
|
||||||
return [
|
return [
|
||||||
'user' => $this->generateUserParameter($parameters[0]),
|
'user' => $this->generateUserParameter($parameters[0]),
|
||||||
'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
||||||
];
|
];
|
||||||
case self::SUBJECT_SHARE_USER . '_by':
|
case self::SUBJECT_SHARE_USER . '_by':
|
||||||
case self::SUBJECT_UNSHARE_USER . '_by':
|
case self::SUBJECT_UNSHARE_USER . '_by':
|
||||||
return [
|
return [
|
||||||
'user' => $this->generateUserParameter($parameters[0]),
|
'user' => $this->generateUserParameter($parameters[0]),
|
||||||
'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
||||||
'actor' => $this->generateUserParameter($parameters[2]),
|
'actor' => $this->generateUserParameter($parameters[2]),
|
||||||
];
|
];
|
||||||
case self::SUBJECT_SHARE_GROUP . '_you':
|
case self::SUBJECT_SHARE_GROUP . '_you':
|
||||||
case self::SUBJECT_UNSHARE_GROUP . '_you':
|
case self::SUBJECT_UNSHARE_GROUP . '_you':
|
||||||
return [
|
return [
|
||||||
'group' => $this->generateGroupParameter($parameters[0]),
|
'group' => $this->generateGroupParameter($parameters[0]),
|
||||||
'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
||||||
];
|
];
|
||||||
case self::SUBJECT_SHARE_GROUP . '_by':
|
case self::SUBJECT_SHARE_GROUP . '_by':
|
||||||
case self::SUBJECT_UNSHARE_GROUP . '_by':
|
case self::SUBJECT_UNSHARE_GROUP . '_by':
|
||||||
return [
|
return [
|
||||||
'group' => $this->generateGroupParameter($parameters[0]),
|
'group' => $this->generateGroupParameter($parameters[0]),
|
||||||
'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
||||||
'actor' => $this->generateUserParameter($parameters[2]),
|
'actor' => $this->generateUserParameter($parameters[2]),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,20 +118,42 @@ class Event extends Base {
|
||||||
$subject = $event->getSubject();
|
$subject = $event->getSubject();
|
||||||
$parameters = $event->getSubjectParameters();
|
$parameters = $event->getSubjectParameters();
|
||||||
|
|
||||||
|
// Nextcloud 13+
|
||||||
|
if (isset($parameters['calendar'])) {
|
||||||
|
switch ($subject) {
|
||||||
|
case self::SUBJECT_OBJECT_ADD . '_event':
|
||||||
|
case self::SUBJECT_OBJECT_DELETE . '_event':
|
||||||
|
case self::SUBJECT_OBJECT_UPDATE . '_event':
|
||||||
|
return [
|
||||||
|
'actor' => $this->generateUserParameter($parameters['actor']),
|
||||||
|
'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
|
||||||
|
'event' => $this->generateObjectParameter($parameters['object']),
|
||||||
|
];
|
||||||
|
case self::SUBJECT_OBJECT_ADD . '_event_self':
|
||||||
|
case self::SUBJECT_OBJECT_DELETE . '_event_self':
|
||||||
|
case self::SUBJECT_OBJECT_UPDATE . '_event_self':
|
||||||
|
return [
|
||||||
|
'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
|
||||||
|
'event' => $this->generateObjectParameter($parameters['object']),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Legacy
|
||||||
switch ($subject) {
|
switch ($subject) {
|
||||||
case self::SUBJECT_OBJECT_ADD . '_event':
|
case self::SUBJECT_OBJECT_ADD . '_event':
|
||||||
case self::SUBJECT_OBJECT_DELETE . '_event':
|
case self::SUBJECT_OBJECT_DELETE . '_event':
|
||||||
case self::SUBJECT_OBJECT_UPDATE . '_event':
|
case self::SUBJECT_OBJECT_UPDATE . '_event':
|
||||||
return [
|
return [
|
||||||
'actor' => $this->generateUserParameter($parameters[0]),
|
'actor' => $this->generateUserParameter($parameters[0]),
|
||||||
'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
||||||
'event' => $this->generateObjectParameter($parameters[2]),
|
'event' => $this->generateObjectParameter($parameters[2]),
|
||||||
];
|
];
|
||||||
case self::SUBJECT_OBJECT_ADD . '_event_self':
|
case self::SUBJECT_OBJECT_ADD . '_event_self':
|
||||||
case self::SUBJECT_OBJECT_DELETE . '_event_self':
|
case self::SUBJECT_OBJECT_DELETE . '_event_self':
|
||||||
case self::SUBJECT_OBJECT_UPDATE . '_event_self':
|
case self::SUBJECT_OBJECT_UPDATE . '_event_self':
|
||||||
return [
|
return [
|
||||||
'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
||||||
'event' => $this->generateObjectParameter($parameters[2]),
|
'event' => $this->generateObjectParameter($parameters[2]),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,6 +87,32 @@ class Todo extends Event {
|
||||||
$subject = $event->getSubject();
|
$subject = $event->getSubject();
|
||||||
$parameters = $event->getSubjectParameters();
|
$parameters = $event->getSubjectParameters();
|
||||||
|
|
||||||
|
// Nextcloud 13+
|
||||||
|
if (isset($parameters['calendar'])) {
|
||||||
|
switch ($subject) {
|
||||||
|
case self::SUBJECT_OBJECT_ADD . '_todo':
|
||||||
|
case self::SUBJECT_OBJECT_DELETE . '_todo':
|
||||||
|
case self::SUBJECT_OBJECT_UPDATE . '_todo':
|
||||||
|
case self::SUBJECT_OBJECT_UPDATE . '_todo_completed':
|
||||||
|
case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action':
|
||||||
|
return [
|
||||||
|
'actor' => $this->generateUserParameter($parameters['actor']),
|
||||||
|
'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
|
||||||
|
'todo' => $this->generateObjectParameter($parameters['object']),
|
||||||
|
];
|
||||||
|
case self::SUBJECT_OBJECT_ADD . '_todo_self':
|
||||||
|
case self::SUBJECT_OBJECT_DELETE . '_todo_self':
|
||||||
|
case self::SUBJECT_OBJECT_UPDATE . '_todo_self':
|
||||||
|
case self::SUBJECT_OBJECT_UPDATE . '_todo_completed_self':
|
||||||
|
case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action_self':
|
||||||
|
return [
|
||||||
|
'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l),
|
||||||
|
'todo' => $this->generateObjectParameter($parameters['object']),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Legacy
|
||||||
switch ($subject) {
|
switch ($subject) {
|
||||||
case self::SUBJECT_OBJECT_ADD . '_todo':
|
case self::SUBJECT_OBJECT_ADD . '_todo':
|
||||||
case self::SUBJECT_OBJECT_DELETE . '_todo':
|
case self::SUBJECT_OBJECT_DELETE . '_todo':
|
||||||
|
@ -95,7 +121,7 @@ class Todo extends Event {
|
||||||
case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action':
|
case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action':
|
||||||
return [
|
return [
|
||||||
'actor' => $this->generateUserParameter($parameters[0]),
|
'actor' => $this->generateUserParameter($parameters[0]),
|
||||||
'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
||||||
'todo' => $this->generateObjectParameter($parameters[2]),
|
'todo' => $this->generateObjectParameter($parameters[2]),
|
||||||
];
|
];
|
||||||
case self::SUBJECT_OBJECT_ADD . '_todo_self':
|
case self::SUBJECT_OBJECT_ADD . '_todo_self':
|
||||||
|
@ -104,7 +130,7 @@ class Todo extends Event {
|
||||||
case self::SUBJECT_OBJECT_UPDATE . '_todo_completed_self':
|
case self::SUBJECT_OBJECT_UPDATE . '_todo_completed_self':
|
||||||
case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action_self':
|
case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action_self':
|
||||||
return [
|
return [
|
||||||
'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]),
|
||||||
'todo' => $this->generateObjectParameter($parameters[2]),
|
'todo' => $this->generateObjectParameter($parameters[2]),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,11 +108,13 @@ class BackendTest extends TestCase {
|
||||||
[Calendar::SUBJECT_ADD, [
|
[Calendar::SUBJECT_ADD, [
|
||||||
'principaluri' => 'principal/user/admin',
|
'principaluri' => 'principal/user/admin',
|
||||||
'id' => 42,
|
'id' => 42,
|
||||||
|
'uri' => 'this-uri',
|
||||||
'{DAV:}displayname' => 'Name of calendar',
|
'{DAV:}displayname' => 'Name of calendar',
|
||||||
], [], [], '', 'admin', null, ['admin']],
|
], [], [], '', 'admin', null, ['admin']],
|
||||||
[Calendar::SUBJECT_ADD, [
|
[Calendar::SUBJECT_ADD, [
|
||||||
'principaluri' => 'principal/user/admin',
|
'principaluri' => 'principal/user/admin',
|
||||||
'id' => 42,
|
'id' => 42,
|
||||||
|
'uri' => 'this-uri',
|
||||||
'{DAV:}displayname' => 'Name of calendar',
|
'{DAV:}displayname' => 'Name of calendar',
|
||||||
], [], [], 'test2', 'test2', null, ['admin']],
|
], [], [], 'test2', 'test2', null, ['admin']],
|
||||||
|
|
||||||
|
@ -122,17 +124,20 @@ class BackendTest extends TestCase {
|
||||||
[Calendar::SUBJECT_UPDATE, [
|
[Calendar::SUBJECT_UPDATE, [
|
||||||
'principaluri' => 'principal/user/admin',
|
'principaluri' => 'principal/user/admin',
|
||||||
'id' => 42,
|
'id' => 42,
|
||||||
|
'uri' => 'this-uri',
|
||||||
'{DAV:}displayname' => 'Name of calendar',
|
'{DAV:}displayname' => 'Name of calendar',
|
||||||
], ['shares'], [], '', 'admin', null, ['admin']],
|
], ['shares'], [], '', 'admin', null, ['admin']],
|
||||||
// Visible change
|
// Visible change
|
||||||
[Calendar::SUBJECT_UPDATE, [
|
[Calendar::SUBJECT_UPDATE, [
|
||||||
'principaluri' => 'principal/user/admin',
|
'principaluri' => 'principal/user/admin',
|
||||||
'id' => 42,
|
'id' => 42,
|
||||||
|
'uri' => 'this-uri',
|
||||||
'{DAV:}displayname' => 'Name of calendar',
|
'{DAV:}displayname' => 'Name of calendar',
|
||||||
], ['shares'], ['{DAV:}displayname' => 'Name'], '', 'admin', ['user1'], ['user1', 'admin']],
|
], ['shares'], ['{DAV:}displayname' => 'Name'], '', 'admin', ['user1'], ['user1', 'admin']],
|
||||||
[Calendar::SUBJECT_UPDATE, [
|
[Calendar::SUBJECT_UPDATE, [
|
||||||
'principaluri' => 'principal/user/admin',
|
'principaluri' => 'principal/user/admin',
|
||||||
'id' => 42,
|
'id' => 42,
|
||||||
|
'uri' => 'this-uri',
|
||||||
'{DAV:}displayname' => 'Name of calendar',
|
'{DAV:}displayname' => 'Name of calendar',
|
||||||
], ['shares'], ['{DAV:}displayname' => 'Name'], 'test2', 'test2', ['user1'], ['user1', 'admin']],
|
], ['shares'], ['{DAV:}displayname' => 'Name'], 'test2', 'test2', ['user1'], ['user1', 'admin']],
|
||||||
|
|
||||||
|
@ -141,16 +146,19 @@ class BackendTest extends TestCase {
|
||||||
[Calendar::SUBJECT_DELETE, [
|
[Calendar::SUBJECT_DELETE, [
|
||||||
'principaluri' => 'principal/user/admin',
|
'principaluri' => 'principal/user/admin',
|
||||||
'id' => 42,
|
'id' => 42,
|
||||||
|
'uri' => 'this-uri',
|
||||||
'{DAV:}displayname' => 'Name of calendar',
|
'{DAV:}displayname' => 'Name of calendar',
|
||||||
], ['shares'], [], '', 'admin', [], ['admin']],
|
], ['shares'], [], '', 'admin', [], ['admin']],
|
||||||
[Calendar::SUBJECT_DELETE, [
|
[Calendar::SUBJECT_DELETE, [
|
||||||
'principaluri' => 'principal/user/admin',
|
'principaluri' => 'principal/user/admin',
|
||||||
'id' => 42,
|
'id' => 42,
|
||||||
|
'uri' => 'this-uri',
|
||||||
'{DAV:}displayname' => 'Name of calendar',
|
'{DAV:}displayname' => 'Name of calendar',
|
||||||
], ['shares'], [], '', 'admin', ['user1'], ['user1', 'admin']],
|
], ['shares'], [], '', 'admin', ['user1'], ['user1', 'admin']],
|
||||||
[Calendar::SUBJECT_DELETE, [
|
[Calendar::SUBJECT_DELETE, [
|
||||||
'principaluri' => 'principal/user/admin',
|
'principaluri' => 'principal/user/admin',
|
||||||
'id' => 42,
|
'id' => 42,
|
||||||
|
'uri' => 'this-uri',
|
||||||
'{DAV:}displayname' => 'Name of calendar',
|
'{DAV:}displayname' => 'Name of calendar',
|
||||||
], ['shares'], [], 'test2', 'test2', ['user1'], ['user1', 'admin']],
|
], ['shares'], [], 'test2', 'test2', ['user1'], ['user1', 'admin']],
|
||||||
];
|
];
|
||||||
|
|
|
@ -24,6 +24,7 @@ namespace OCA\DAV\Tests\unit\CalDAV\Activity\Provider;
|
||||||
use OCA\DAV\CalDAV\Activity\Provider\Base;
|
use OCA\DAV\CalDAV\Activity\Provider\Base;
|
||||||
use OCP\Activity\IEvent;
|
use OCP\Activity\IEvent;
|
||||||
use OCP\Activity\IProvider;
|
use OCP\Activity\IProvider;
|
||||||
|
use OCP\IL10N;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use Test\TestCase;
|
use Test\TestCase;
|
||||||
|
@ -112,6 +113,35 @@ class BaseTest extends TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function dataGenerateCalendarParameter() {
|
public function dataGenerateCalendarParameter() {
|
||||||
|
return [
|
||||||
|
[['id' => 23, 'uri' => 'foo', 'name' => 'bar'], 'bar'],
|
||||||
|
[['id' => 42, 'uri' => 'foo', 'name' => 'Personal'], 'Personal'],
|
||||||
|
[['id' => 42, 'uri' => 'personal', 'name' => 'bar'], 'bar'],
|
||||||
|
[['id' => 42, 'uri' => 'personal', 'name' => 'Personal'], 't(Personal)'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider dataGenerateCalendarParameter
|
||||||
|
* @param array $data
|
||||||
|
* @param string $name
|
||||||
|
*/
|
||||||
|
public function testGenerateCalendarParameter(array $data, $name) {
|
||||||
|
$l = $this->createMock(IL10N::class);
|
||||||
|
$l->expects($this->any())
|
||||||
|
->method('t')
|
||||||
|
->willReturnCallback(function($string, $args) {
|
||||||
|
return 't(' . vsprintf($string, $args) . ')';
|
||||||
|
});
|
||||||
|
|
||||||
|
$this->assertEquals([
|
||||||
|
'type' => 'calendar',
|
||||||
|
'id' => $data['id'],
|
||||||
|
'name' => $name,
|
||||||
|
], $this->invokePrivate($this->provider, 'generateCalendarParameter', [$data, $l]));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function dataGenerateLegacyCalendarParameter() {
|
||||||
return [
|
return [
|
||||||
[23, 'c1'],
|
[23, 'c1'],
|
||||||
[42, 'c2'],
|
[42, 'c2'],
|
||||||
|
@ -119,16 +149,16 @@ class BaseTest extends TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dataProvider dataGenerateCalendarParameter
|
* @dataProvider dataGenerateLegacyCalendarParameter
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @param string $name
|
* @param string $name
|
||||||
*/
|
*/
|
||||||
public function testGenerateCalendarParameter($id, $name) {
|
public function testGenerateLegacyCalendarParameter($id, $name) {
|
||||||
$this->assertEquals([
|
$this->assertEquals([
|
||||||
'type' => 'calendar',
|
'type' => 'calendar',
|
||||||
'id' => $id,
|
'id' => $id,
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
], $this->invokePrivate($this->provider, 'generateCalendarParameter', [$id, $name]));
|
], $this->invokePrivate($this->provider, 'generateLegacyCalendarParameter', [$id, $name]));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function dataGenerateGroupParameter() {
|
public function dataGenerateGroupParameter() {
|
||||||
|
|
Loading…
Reference in New Issue