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

Format Calendar list objects

Summary: Closes T8050, Format Calendar list objects

Test Plan: Open Calendar list, check that new formatting is true to mocks.

Reviewers: chad, #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T8050

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

+45 -8
+22 -8
src/applications/calendar/query/PhabricatorCalendarEventSearchEngine.php
··· 313 313 $list = new PHUIObjectItemListView(); 314 314 foreach ($events as $event) { 315 315 $from = phabricator_datetime($event->getDateFrom(), $viewer); 316 - $to = phabricator_datetime($event->getDateTo(), $viewer); 316 + $duration = ''; 317 317 $creator_handle = $handles[$event->getUserPHID()]; 318 318 319 + $attendees = array(); 320 + foreach ($event->getInvitees() as $invitee) { 321 + $attendees[] = $invitee->getInviteePHID(); 322 + } 323 + 324 + $attendees = pht( 325 + 'Attending: %s', 326 + $viewer->renderHandleList($attendees) 327 + ->setAsInline(1) 328 + ->render()); 329 + 330 + if (strlen($event->getDuration()) > 0) { 331 + $duration = pht( 332 + 'Duration: %s', 333 + $event->getDuration()); 334 + } 335 + 319 336 $item = id(new PHUIObjectItemView()) 320 - ->setHeader($event->getName()) 321 - ->setHref($event->getURI()) 322 - ->addByline(pht('Creator: %s', $creator_handle->renderLink())) 323 - ->addAttribute(pht('From %s to %s', $from, $to)) 324 - ->addAttribute(id(new PhutilUTF8StringTruncator()) 325 - ->setMaximumGlyphs(64) 326 - ->truncateString($event->getDescription())); 337 + ->setHeader($viewer->renderHandle($event->getPHID())->render()) 338 + ->addAttribute($attendees) 339 + ->addIcon('none', $from) 340 + ->addIcon('none', $duration); 327 341 328 342 $list->addItem($item); 329 343 }
+23
src/applications/calendar/storage/PhabricatorCalendarEvent.php
··· 373 373 return false; 374 374 } 375 375 376 + public function getDuration() { 377 + $seconds = $this->dateTo - $this->dateFrom; 378 + $minutes = round($seconds / 60, 1); 379 + $hours = round($minutes / 60, 3); 380 + $days = round($hours / 24, 2); 381 + 382 + $duration = ''; 383 + 384 + if ($days >= 1) { 385 + return pht( 386 + '%s day(s)', 387 + round($days, 1)); 388 + } else if ($hours >= 1) { 389 + return pht( 390 + '%s hour(s)', 391 + round($hours, 1)); 392 + } else if ($minutes >= 1) { 393 + return pht( 394 + '%s minute(s)', 395 + round($minutes, 0)); 396 + } 397 + } 398 + 376 399 /* -( Markup Interface )--------------------------------------------------- */ 377 400 378 401