@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.

Remove calendar panel in profile and make calendar box header a link to user's calendar

Summary: Ref T9606, Clicking on the calendar preview header in user's profile page should link to user's full month calendar

Test Plan: Open user profile, scroll to calendar preview, click on Calendar box header. This should open the month calendar for the user (not viewer)

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: Korvin

Maniphest Tasks: T9606

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

+16 -30
+16 -13
src/applications/people/controller/PhabricatorPeopleProfileViewController.php
··· 192 192 $query = id(new PhabricatorCalendarEventQuery()) 193 193 ->setViewer($viewer) 194 194 ->withDateRange($range_start, $range_end) 195 - ->withInvitedPHIDs(array($viewer->getPHID())) 195 + ->withInvitedPHIDs(array($user->getPHID())) 196 196 ->withIsCancelled(false); 197 197 198 198 $statuses = $query->execute(); ··· 200 200 $events = array(); 201 201 202 202 foreach ($statuses as $status) { 203 - $viewer_is_invited = $status->getIsUserInvited($viewer->getPHID()); 203 + $viewer_is_invited = $status->getIsUserInvited($user->getPHID()); 204 204 205 205 $can_edit = PhabricatorPolicyFilter::hasCapability( 206 206 $viewer, 207 207 $status, 208 208 PhabricatorPolicyCapability::CAN_EDIT); 209 209 210 - $event = new AphrontCalendarEventView(); 211 - $event->setCanEdit($can_edit); 212 - $event->setEventID($status->getID()); 213 - $event->setEpochRange($status->getDateFrom(), $status->getDateTo()); 214 - $event->setIsAllDay($status->getIsAllDay()); 215 - $event->setIcon($status->getIcon()); 216 - $event->setViewerIsInvited($viewer_is_invited); 217 - 218 - $event->setName($status->getName()); 219 - $event->setURI($status->getURI()); 210 + $event = id(new AphrontCalendarEventView()) 211 + ->setCanEdit($can_edit) 212 + ->setEventID($status->getID()) 213 + ->setEpochRange($status->getDateFrom(), $status->getDateTo()) 214 + ->setIsAllDay($status->getIsAllDay()) 215 + ->setIcon($status->getIcon()) 216 + ->setViewerIsInvited($viewer_is_invited) 217 + ->setName($status->getName()) 218 + ->setURI($status->getURI()); 220 219 $events[] = $event; 221 220 } 222 221 ··· 229 228 ->render(); 230 229 231 230 $header = id(new PHUIHeaderView()) 232 - ->setHeader(pht('Calendar')); 231 + ->setHeader(pht('Calendar')) 232 + ->setHref( 233 + urisprintf( 234 + '/calendar/?invitedPHIDs=%s#R', 235 + $user->getPHID())); 233 236 $box = id(new PHUIObjectBoxView()) 234 237 ->setHeader($header) 235 238 ->appendChild($day_view)
-17
src/applications/people/engine/PhabricatorPeopleProfilePanelEngine.php
··· 26 26 ->setBuiltinKey(self::PANEL_PROFILE) 27 27 ->setPanelKey(PhabricatorPeopleDetailsProfilePanel::PANELKEY); 28 28 29 - // TODO: Convert this into a proper panel type. 30 - $have_calendar = PhabricatorApplication::isClassInstalledForViewer( 31 - 'PhabricatorCalendarApplication', 32 - $viewer); 33 - if ($have_calendar) { 34 - $uri = urisprintf( 35 - '/p/%s/calendar/', 36 - $object->getUsername()); 37 - 38 - $panels[] = $this->newPanel() 39 - ->setBuiltinKey('calendar') 40 - ->setPanelKey(PhabricatorLinkProfilePanel::PANELKEY) 41 - ->setPanelProperty('icon', 'calendar') 42 - ->setPanelProperty('name', pht('Calendar')) 43 - ->setPanelProperty('uri', $uri); 44 - } 45 - 46 29 $have_maniphest = PhabricatorApplication::isClassInstalledForViewer( 47 30 'PhabricatorManiphestApplication', 48 31 $viewer);