1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-18 21:02:41 +01:00

Add helper method on event object to determine if event is the parent of a recurrence.

Summary: Ref T8472, Add helper method on event object to determine if event is the parent of a recurrence.

Test Plan: No user facing change.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Maniphest Tasks: T8472

Differential Revision: https://secure.phabricator.com/D13221
This commit is contained in:
lkassianik 2015-06-08 21:40:32 -07:00
parent 8915fd8be8
commit 7015520b93
3 changed files with 21 additions and 8 deletions

View file

@ -42,8 +42,7 @@ final class PhabricatorCalendarEventCancelController
$is_cancelled = $event->getIsCancelled(); $is_cancelled = $event->getIsCancelled();
$is_parent_cancelled = $event->getIsParentCancelled(); $is_parent_cancelled = $event->getIsParentCancelled();
$is_recurring = $event->getIsRecurring(); $is_parent = $event->getIsRecurrenceParent();
$instance_of = $event->getInstanceOfEventPHID();
$validation_exception = null; $validation_exception = null;
@ -86,7 +85,7 @@ final class PhabricatorCalendarEventCancelController
cancelled recurring event.'); cancelled recurring event.');
$cancel = pht('Cancel'); $cancel = pht('Cancel');
$submit = null; $submit = null;
} else if ($is_recurring && !$instance_of) { } else if ($is_parent) {
$title = pht('Reinstate Recurrence'); $title = pht('Reinstate Recurrence');
$paragraph = pht('Reinstate the entire series $paragraph = pht('Reinstate the entire series
of recurring events?'); of recurring events?');
@ -105,7 +104,7 @@ final class PhabricatorCalendarEventCancelController
of a recurring event.'); of a recurring event.');
$cancel = pht('Don\'t Cancel Instance'); $cancel = pht('Don\'t Cancel Instance');
$submit = pht('Cancel Instance'); $submit = pht('Cancel Instance');
} else if ($is_recurring && !$instance_of) { } else if ($is_parent) {
$title = pht('Cancel Recurrence'); $title = pht('Cancel Recurrence');
$paragraph = pht('Cancel the entire series $paragraph = pht('Cancel the entire series
of recurring events?'); of recurring events?');

View file

@ -164,10 +164,10 @@ final class PhabricatorCalendarEventViewController
$index = $event->getSequenceIndex(); $index = $event->getSequenceIndex();
$edit_label = pht('Edit This Instance'); $edit_label = pht('Edit This Instance');
$edit_uri = "event/edit/{$id}/{$index}/"; $edit_uri = "event/edit/{$id}/{$index}/";
} else if ($event->getInstanceOfEventPHID() && !$event->getIsGhostEvent()) { } else if ($event->getIsRecurrenceException()) {
$edit_label = pht('Edit This Instance'); $edit_label = pht('Edit This Instance');
$edit_uri = "event/edit/{$id}/"; $edit_uri = "event/edit/{$id}/";
} else if (!$event->getIsRecurring()) { } else if (!$event->getIsRecurrenceParent()) {
$edit_label = pht('Edit'); $edit_label = pht('Edit');
$edit_uri = "event/edit/{$id}/"; $edit_uri = "event/edit/{$id}/";
} }
@ -208,12 +208,12 @@ final class PhabricatorCalendarEventViewController
$reinstate_label = pht('Reinstate This Instance'); $reinstate_label = pht('Reinstate This Instance');
$cancel_disabled = (!$can_edit || $can_reinstate); $cancel_disabled = (!$can_edit || $can_reinstate);
$cancel_uri = $this->getApplicationURI("event/cancel/{$id}/{$index}/"); $cancel_uri = $this->getApplicationURI("event/cancel/{$id}/{$index}/");
} else if ($event->getInstanceOfEventPHID()) { } else if ($event->getIsRecurrenceException()) {
$can_reinstate = $event->getIsParentCancelled(); $can_reinstate = $event->getIsParentCancelled();
$cancel_label = pht('Cancel This Instance'); $cancel_label = pht('Cancel This Instance');
$reinstate_label = pht('Reinstate This Instance'); $reinstate_label = pht('Reinstate This Instance');
$cancel_disabled = (!$can_edit || $can_reinstate); $cancel_disabled = (!$can_edit || $can_reinstate);
} else if ($event->getIsRecurring()) { } else if ($event->getIsRecurrenceParent()) {
$cancel_label = pht('Cancel Recurrence'); $cancel_label = pht('Cancel Recurrence');
$reinstate_label = pht('Reinstate Recurrence'); $reinstate_label = pht('Reinstate Recurrence');
$cancel_disabled = !$can_edit; $cancel_disabled = !$can_edit;

View file

@ -347,6 +347,20 @@ final class PhabricatorCalendarEvent extends PhabricatorCalendarDAO
return $this->isCancelled; return $this->isCancelled;
} }
public function getIsRecurrenceParent() {
if ($this->isRecurring && !$this->instanceOfEventPHID) {
return true;
}
return false;
}
public function getIsRecurrenceException() {
if ($this->instanceOfEventPHID && !$this->isGhostEvent) {
return true;
}
return false;
}
public function getIsParentCancelled() { public function getIsParentCancelled() {
if ($this->instanceOfEventPHID == null) { if ($this->instanceOfEventPHID == null) {
return false; return false;