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

Formatting event dates in list view

Summary: Closes T8639, Formatting event dates in list view

Test Plan: List view should show dates in wide and narrow lists.

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T8639

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

+40 -3
+40 -3
src/applications/calendar/query/PhabricatorCalendarEventSearchEngine.php
··· 264 264 $list = new PHUIObjectItemListView(); 265 265 266 266 foreach ($events as $event) { 267 - $from = phabricator_datetime($event->getDateFrom(), $viewer); 268 267 $duration = ''; 268 + $event_date_info = $this->getEventDateLabel($event); 269 269 $creator_handle = $handles[$event->getUserPHID()]; 270 - 271 270 $attendees = array(); 271 + 272 272 foreach ($event->getInvitees() as $invitee) { 273 273 $attendees[] = $invitee->getInviteePHID(); 274 274 } ··· 287 287 288 288 $item = id(new PHUIObjectItemView()) 289 289 ->setHeader($viewer->renderHandle($event->getPHID())->render()) 290 + ->addAttribute($event_date_info) 290 291 ->addAttribute($attendees) 291 - ->addIcon('none', $from) 292 292 ->addIcon('none', $duration); 293 293 294 294 $list->addItem($item); ··· 508 508 } 509 509 510 510 return false; 511 + } 512 + 513 + private function getEventDateLabel($event) { 514 + $viewer = $this->requireViewer(); 515 + 516 + $from_datetime = PhabricatorTime::getDateTimeFromEpoch( 517 + $event->getDateFrom(), 518 + $viewer); 519 + $to_datetime = PhabricatorTime::getDateTimeFromEpoch( 520 + $event->getDateTo(), 521 + $viewer); 522 + 523 + $from_date_formatted = $from_datetime->format('Y m d'); 524 + $to_date_formatted = $to_datetime->format('Y m d'); 525 + 526 + if ($event->getIsAllDay()) { 527 + if ($from_date_formatted == $to_date_formatted) { 528 + return pht( 529 + '%s, All Day', 530 + phabricator_date($event->getDateFrom(), $viewer)); 531 + } else { 532 + return pht( 533 + '%s - %s, All Day', 534 + phabricator_date($event->getDateFrom(), $viewer), 535 + phabricator_date($event->getDateTo(), $viewer)); 536 + } 537 + } else if ($from_date_formatted == $to_date_formatted) { 538 + return pht( 539 + '%s - %s', 540 + phabricator_datetime($event->getDateFrom(), $viewer), 541 + phabricator_time($event->getDateTo(), $viewer)); 542 + } else { 543 + return pht( 544 + '%s - %s', 545 + phabricator_datetime($event->getDateFrom(), $viewer), 546 + phabricator_datetime($event->getDateTo(), $viewer)); 547 + } 511 548 } 512 549 }