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

Use the same date rendering display logic for both tooltips and subheaders

Summary: Ref T11816. This could be a little cleaner, but we currently have two copies of the logic. Get them using the same code. Once that's actually working I can go make the code a little prettier.

Test Plan: Viewed Calendar month view tooltips, saw the same values as subheaders.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11816

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

+16 -47
+2
src/applications/calendar/query/PhabricatorCalendarEventSearchEngine.php
··· 379 379 ->setIsAllDay($event->getIsAllDay()) 380 380 ->setIcon($event->getDisplayIcon($viewer)) 381 381 ->setViewerIsInvited($is_invited) 382 + ->setDatetimeSummary($event->renderEventDate($viewer, true)) 382 383 ->setIconColor($event->getDisplayIconColor($viewer)); 383 384 384 385 $month_view->addEvent($event_view); ··· 447 448 ->setIconColor($status_color) 448 449 ->setName($event->getName()) 449 450 ->setURI($event->getURI()) 451 + ->setDatetimeSummary($event->renderEventDate($viewer, true)) 450 452 ->setIsCancelled($event->getIsCancelled()); 451 453 452 454 $day_view->addEvent($event_view);
+10
src/applications/calendar/view/AphrontCalendarEventView.php
··· 15 15 private $iconColor; 16 16 private $canEdit; 17 17 private $isCancelled; 18 + private $datetimeSummary; 18 19 19 20 public function setIconColor($icon_color) { 20 21 $this->iconColor = $icon_color; ··· 133 134 return true; 134 135 } 135 136 return false; 137 + } 138 + 139 + public function setDatetimeSummary($datetime_summary) { 140 + $this->datetimeSummary = $datetime_summary; 141 + return $this; 142 + } 143 + 144 + public function getDatetimeSummary() { 145 + return $this->datetimeSummary; 136 146 } 137 147 138 148 public function render() {
+1
src/applications/people/controller/PhabricatorPeopleProfileViewController.php
··· 217 217 ->setIcon($event->getIcon()) 218 218 ->setViewerIsInvited($viewer_is_invited) 219 219 ->setName($event->getName()) 220 + ->setDatetimeSummary($event->renderEventDate($viewer, true)) 220 221 ->setURI($event->getURI()); 221 222 222 223 $event_views[] = $event_view;
+3 -47
src/view/phui/calendar/PHUICalendarListView.php
··· 54 54 return ''; 55 55 } 56 56 57 + Javelin::initBehavior('phabricator-tooltips'); 58 + 57 59 $singletons = array(); 58 60 $allday = false; 59 61 foreach ($this->events as $event) { ··· 97 99 $event_classes[] = 'event-cancelled'; 98 100 } 99 101 100 - $tip = $this->getEventTooltip($event); 102 + $tip = $event->getDateTimeSummary(); 101 103 if ($this->getView() == 'day') { 102 104 $tip_align = 'E'; 103 105 } else if ($this->getView() == 'month') { ··· 181 183 'class' => $class, 182 184 ), 183 185 $event->getName()); 184 - } 185 - 186 - private function getEventTooltip(AphrontCalendarEventView $event) { 187 - $viewer = $this->getViewer(); 188 - $time_key = PhabricatorTimeFormatSetting::SETTINGKEY; 189 - $time_pref = $viewer->getUserSetting($time_key); 190 - 191 - Javelin::initBehavior('phabricator-tooltips'); 192 - 193 - $start = id(AphrontFormDateControlValue::newFromEpoch( 194 - $viewer, 195 - $event->getEpochStart())); 196 - 197 - $end = id(AphrontFormDateControlValue::newFromEpoch( 198 - $viewer, 199 - $event->getEpochEnd())); 200 - 201 - $end_date = $end->getDateTime(); 202 - $end_date = $end_date->modify('-1 second'); 203 - 204 - $start_date = $start->getDateTime()->format('m d Y'); 205 - $end_date = $end_date->format('m d Y'); 206 - 207 - if ($event->getIsAllDay()) { 208 - if ($start_date == $end_date) { 209 - $tip = pht('All day'); 210 - } else { 211 - $tip = pht( 212 - 'All day, %s - %s', 213 - $start->getValueAsFormat('M j, Y'), 214 - $end->getValueAsFormat('M j, Y')); 215 - } 216 - } else { 217 - if ($start->getValueDate() == $end->getValueDate()) { 218 - $tip = pht( 219 - '%s - %s', 220 - $start->getValueAsFormat($time_pref), 221 - $end->getValueAsFormat($time_pref)); 222 - } else { 223 - $tip = pht( 224 - '%s - %s', 225 - $start->getValueAsFormat('M j, Y, '.$time_pref), 226 - $end->getValueAsFormat('M j, Y, '.$time_pref)); 227 - } 228 - } 229 - return $tip; 230 186 } 231 187 232 188 public function getIsViewerInvitedOnList() {