Page MenuHomePhabricator

D12629.id.diff
No OneTemporary

D12629.id.diff

diff --git a/src/applications/calendar/storage/PhabricatorCalendarEventTransaction.php b/src/applications/calendar/storage/PhabricatorCalendarEventTransaction.php
--- a/src/applications/calendar/storage/PhabricatorCalendarEventTransaction.php
+++ b/src/applications/calendar/storage/PhabricatorCalendarEventTransaction.php
@@ -138,6 +138,8 @@
$this->renderHandleLink($author_phid));
}
case self::TYPE_INVITE:
+ $text = null;
+
if (count($old) === 1
&& count($new) === 1
&& isset($old[$author_phid])) {
@@ -176,7 +178,6 @@
$self_declined = null;
$added = array();
$uninvited = array();
- $text = null;
foreach ($new as $phid => $status) {
if ($status == PhabricatorCalendarEventInvitee::STATUS_INVITED
@@ -197,19 +198,19 @@
if ($count_added > 0 && $count_uninvited == 0) {
$added_text = $this->renderHandleList($added);
- $text = pht('%s invited: %s.',
+ $text = pht('%s invited %s.',
$this->renderHandleLink($author_phid),
$added_text);
} else if ($count_added > 0 && $count_uninvited > 0) {
$added_text = $this->renderHandleList($added);
$uninvited_text = $this->renderHandleList($uninvited);
- $text = pht('%s invited: %s and uninvited: %s',
+ $text = pht('%s invited %s and uninvited: %s',
$this->renderHandleLink($author_phid),
$added_text,
$uninvited_text);
} else if ($count_added == 0 && $count_uninvited > 0) {
$uninvited_text = $this->renderHandleList($uninvited);
- $text = pht('%s uninvited: %s.',
+ $text = pht('%s uninvited %s.',
$this->renderHandleLink($author_phid),
$uninvited_text);
} else {
@@ -218,8 +219,7 @@
}
}
return $text;
- break;
- }
+ }
return parent::getTitle();
}
@@ -299,10 +299,97 @@
$this->renderHandleLink($object_phid));
}
case self::TYPE_INVITE:
- return pht(
- '%s updated the invitee list of %s.',
- $this->renderHandleLink($author_phid),
- $this->renderHandleLink($object_phid));
+ $text = null;
+
+ if (count($old) === 1
+ && count($new) === 1
+ && isset($old[$author_phid])) {
+ // user joined/declined/accepted event themself
+ $old_status = $old[$author_phid];
+ $new_status = $new[$author_phid];
+
+ if ($old_status !== $new_status) {
+ switch ($new_status) {
+ case PhabricatorCalendarEventInvitee::STATUS_INVITED:
+ $text = pht(
+ '%s has joined %s.',
+ $this->renderHandleLink($author_phid),
+ $this->renderHandleLink($object_phid));
+ break;
+ case PhabricatorCalendarEventInvitee::STATUS_ATTENDING:
+ $text = pht(
+ '%s is attending %s.',
+ $this->renderHandleLink($author_phid),
+ $this->renderHandleLink($object_phid));
+ break;
+ case PhabricatorCalendarEventInvitee::STATUS_DECLINED:
+ case PhabricatorCalendarEventInvitee::STATUS_UNINVITED:
+ $text = pht(
+ '%s has declined %s.',
+ $this->renderHandleLink($author_phid),
+ $this->renderHandleLink($object_phid));
+ break;
+ default:
+ $text = pht(
+ '%s has changed their status of %s.',
+ $this->renderHandleLink($author_phid),
+ $this->renderHandleLink($object_phid));
+ break;
+ }
+ }
+ } else {
+ // user changed status for many users
+ $self_joined = null;
+ $self_declined = null;
+ $added = array();
+ $uninvited = array();
+
+ // $event = $this->renderHandleLink($object_phid);
+
+ foreach ($new as $phid => $status) {
+ if ($status == PhabricatorCalendarEventInvitee::STATUS_INVITED
+ || $status == PhabricatorCalendarEventInvitee::STATUS_ATTENDING) {
+ // added users
+ $added[] = $phid;
+ } else if (
+ $status == PhabricatorCalendarEventInvitee::STATUS_DECLINED
+ || $status == PhabricatorCalendarEventInvitee::STATUS_UNINVITED) {
+ $uninvited[] = $phid;
+ }
+ }
+
+ $count_added = count($added);
+ $count_uninvited = count($uninvited);
+ $added_text = null;
+ $uninvited_text = null;
+
+ if ($count_added > 0 && $count_uninvited == 0) {
+ $added_text = $this->renderHandleList($added);
+ $text = pht('%s invited %s to %s.',
+ $this->renderHandleLink($author_phid),
+ $added_text,
+ $this->renderHandleLink($object_phid));
+ } else if ($count_added > 0 && $count_uninvited > 0) {
+ $added_text = $this->renderHandleList($added);
+ $uninvited_text = $this->renderHandleList($uninvited);
+ $text = pht('%s invited %s and uninvited %s to %s',
+ $this->renderHandleLink($author_phid),
+ $added_text,
+ $uninvited_text,
+ $this->renderHandleLink($object_phid));
+ } else if ($count_added == 0 && $count_uninvited > 0) {
+ $uninvited_text = $this->renderHandleList($uninvited);
+ $text = pht('%s uninvited %s to %s.',
+ $this->renderHandleLink($author_phid),
+ $uninvited_text,
+ $this->renderHandleLink($object_phid));
+ } else {
+ $text = pht('%s updated the invitee list of %s.',
+ $this->renderHandleLink($author_phid),
+ $this->renderHandleLink($object_phid));
+ }
+ }
+ return $text;
}
return parent::getTitleForFeed();

File Metadata

Mime Type
text/plain
Expires
Sep 10 2025, 1:52 PM (10 w, 3 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
10066613
Default Alt Text
D12629.id.diff (6 KB)

Event Timeline