1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-02-07 20:38:32 +01:00

Merge branch 'master' into redesign-2015

This commit is contained in:
epriestley 2015-07-01 14:23:01 -07:00
commit f7edabbc6a
4 changed files with 37 additions and 33 deletions

View file

@ -61,7 +61,7 @@ final class PhabricatorCalendarApplication extends PhabricatorApplication {
=> 'PhabricatorCalendarEventCancelController', => 'PhabricatorCalendarEventCancelController',
'(?P<action>join|decline|accept)/(?P<id>[1-9]\d*)/' '(?P<action>join|decline|accept)/(?P<id>[1-9]\d*)/'
=> 'PhabricatorCalendarEventJoinController', => 'PhabricatorCalendarEventJoinController',
'comment/(?P<id>[1-9]\d*)/' 'comment/(?P<id>[1-9]\d*)/(?:(?P<sequence>\d+)/)?'
=> 'PhabricatorCalendarEventCommentController', => 'PhabricatorCalendarEventCommentController',
), ),
), ),

View file

@ -11,12 +11,14 @@ final class PhabricatorCalendarEventCommentController
} }
public function handleRequest(AphrontRequest $request) { public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
if (!$request->isFormPost()) { if (!$request->isFormPost()) {
return new Aphront400Response(); return new Aphront400Response();
} }
$user = $request->getUser();
$is_preview = $request->isPreviewRequest();
$draft = PhabricatorDraft::buildFromRequest($request);
$event = id(new PhabricatorCalendarEventQuery()) $event = id(new PhabricatorCalendarEventQuery())
->setViewer($user) ->setViewer($user)
->withIDs(array($this->id)) ->withIDs(array($this->id))
@ -25,8 +27,23 @@ final class PhabricatorCalendarEventCommentController
return new Aphront404Response(); return new Aphront404Response();
} }
$is_preview = $request->isPreviewRequest(); $index = $request->getURIData('sequence');
$draft = PhabricatorDraft::buildFromRequest($request); if ($index && !$is_preview) {
$result = $this->getEventAtIndexForGhostPHID(
$user,
$event->getPHID(),
$index);
if ($result) {
$event = $result;
} else {
$event = $this->createEventFromGhost(
$user,
$event,
$index);
$event->applyViewerTimezone($user);
}
}
$view_uri = '/'.$event->getMonogram(); $view_uri = '/'.$event->getMonogram();

View file

@ -16,9 +16,10 @@ final class PhabricatorCalendarEventViewController
public function processRequest() { public function processRequest() {
$request = $this->getRequest(); $request = $this->getRequest();
$viewer = $request->getUser(); $viewer = $request->getUser();
$sequence = $request->getURIData('sequence'); $sequence = $request->getURIData('sequence');
$timeline = null;
$event = id(new PhabricatorCalendarEventQuery()) $event = id(new PhabricatorCalendarEventQuery())
->setViewer($viewer) ->setViewer($viewer)
->withIDs(array($this->id)) ->withIDs(array($this->id))
@ -60,9 +61,11 @@ final class PhabricatorCalendarEventViewController
$crumbs->addTextCrumb($title, '/E'.$event->getID()); $crumbs->addTextCrumb($title, '/E'.$event->getID());
} }
$timeline = $this->buildTransactionTimeline( if (!$event->getIsGhostEvent()) {
$event, $timeline = $this->buildTransactionTimeline(
new PhabricatorCalendarEventTransactionQuery()); $event,
new PhabricatorCalendarEventTransactionQuery());
}
$header = $this->buildHeaderView($event); $header = $this->buildHeaderView($event);
$actions = $this->buildActionView($event); $actions = $this->buildActionView($event);
@ -78,13 +81,19 @@ final class PhabricatorCalendarEventViewController
? pht('Add Comment') ? pht('Add Comment')
: pht('Add To Plate'); : pht('Add To Plate');
$draft = PhabricatorDraft::newFromUserAndKey($viewer, $event->getPHID()); $draft = PhabricatorDraft::newFromUserAndKey($viewer, $event->getPHID());
if ($sequence) {
$comment_uri = $this->getApplicationURI(
'/event/comment/'.$event->getID().'/'.$sequence.'/');
} else {
$comment_uri = $this->getApplicationURI(
'/event/comment/'.$event->getID().'/');
}
$add_comment_form = id(new PhabricatorApplicationTransactionCommentView()) $add_comment_form = id(new PhabricatorApplicationTransactionCommentView())
->setUser($viewer) ->setUser($viewer)
->setObjectPHID($event->getPHID()) ->setObjectPHID($event->getPHID())
->setDraft($draft) ->setDraft($draft)
->setHeaderText($add_comment_header) ->setHeaderText($add_comment_header)
->setAction( ->setAction($comment_uri)
$this->getApplicationURI('/event/comment/'.$event->getID().'/'))
->setSubmitButtonName(pht('Add Comment')); ->setSubmitButtonName(pht('Add Comment'));
return $this->buildApplicationPage( return $this->buildApplicationPage(

View file

@ -256,7 +256,6 @@ abstract class PhabricatorPolicyAwareQuery extends PhabricatorOffsetPagedQuery {
} }
if ($visible) { if ($visible) {
$this->putObjectsInWorkspace($this->getWorkspaceMapForPage($visible));
$visible = $this->didFilterPage($visible); $visible = $this->didFilterPage($visible);
} }
@ -470,27 +469,6 @@ abstract class PhabricatorPolicyAwareQuery extends PhabricatorOffsetPagedQuery {
} }
/**
* Convert a result page to a `<phid, PhabricatorPolicyInterface>` map.
*
* @param list<PhabricatorPolicyInterface> Objects.
* @return map<phid, PhabricatorPolicyInterface> Map of objects which can
* be put into the workspace.
* @task workspace
*/
protected function getWorkspaceMapForPage(array $results) {
$map = array();
foreach ($results as $result) {
$phid = $result->getPHID();
if ($phid !== null) {
$map[$phid] = $result;
}
}
return $map;
}
/** /**
* Mark PHIDs as in flight. * Mark PHIDs as in flight.
* *