@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Edit link of an exception to a ghost event should not create new event

Summary: Fixes T8382, Edit link of an exception to a ghost event should not create new event

Test Plan: Create recurring event, open ghost, edit, save, edit again. Should edit event created after first edit, not new event.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: Korvin, epriestley

Maniphest Tasks: T8382

Differential Revision: https://secure.phabricator.com/D13108

+15 -12
+15 -12
src/applications/calendar/controller/PhabricatorCalendarEventViewController.php
··· 135 135 $event, 136 136 PhabricatorPolicyCapability::CAN_EDIT); 137 137 138 - if ($event->getIsRecurring() && $event->getInstanceOfEventPHID()) { 138 + $edit_label = false; 139 + $edit_uri = false; 140 + 141 + if ($event->getIsGhostEvent()) { 139 142 $index = $event->getSequenceIndex(); 140 - 141 - $actions->addAction( 142 - id(new PhabricatorActionView()) 143 - ->setName(pht('Edit This Instance')) 144 - ->setIcon('fa-pencil') 145 - ->setHref($this->getApplicationURI("event/edit/{$id}/{$index}/")) 146 - ->setDisabled(!$can_edit) 147 - ->setWorkflow(!$can_edit)); 143 + $edit_label = pht('Edit This Instance'); 144 + $edit_uri = "event/edit/{$id}/{$index}/"; 145 + } else if ($event->getInstanceOfEventPHID() && !$event->getIsGhostEvent()) { 146 + $edit_label = pht('Edit This Instance'); 147 + $edit_uri = "event/edit/{$id}/"; 148 + } else if (!$event->getIsRecurring()) { 149 + $edit_label = pht('Edit'); 150 + $edit_uri = "event/edit/{$id}/"; 148 151 } 149 152 150 - if (!$event->getIsRecurring() && !$event->getIsGhostEvent()) { 153 + if ($edit_label && $edit_uri) { 151 154 $actions->addAction( 152 155 id(new PhabricatorActionView()) 153 - ->setName(pht('Edit Event')) 156 + ->setName($edit_label) 154 157 ->setIcon('fa-pencil') 155 - ->setHref($this->getApplicationURI("event/edit/{$id}/")) 158 + ->setHref($this->getApplicationURI($edit_uri)) 156 159 ->setDisabled(!$can_edit) 157 160 ->setWorkflow(!$can_edit)); 158 161 }