mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-22 23:02:42 +01:00
improve calendar status editing
Summary: make it so a given user can click to edit status from calendar view. also fix bug so when editing status existing "type" is selected Test Plan: edited status from calendar view and observed "sporadic" status sticky Reviewers: epriestley, chad Reviewed By: chad CC: aran, Korvin Maniphest Tasks: T2060, T2061 Differential Revision: https://secure.phabricator.com/D3957
This commit is contained in:
parent
7bdd0e7a3d
commit
3c11bf320f
4 changed files with 23 additions and 3 deletions
|
@ -46,6 +46,7 @@ final class PhabricatorCalendarBrowseController
|
||||||
$event->setDescription(
|
$event->setDescription(
|
||||||
$status->getTerseSummary($user).$details
|
$status->getTerseSummary($user).$details
|
||||||
);
|
);
|
||||||
|
$event->setEventID($status->getID());
|
||||||
$month_view->addEvent($event);
|
$month_view->addEvent($event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -102,6 +102,7 @@ final class PhabricatorCalendarEditStatusController
|
||||||
$status_select = id(new AphrontFormSelectControl())
|
$status_select = id(new AphrontFormSelectControl())
|
||||||
->setLabel(pht('Status'))
|
->setLabel(pht('Status'))
|
||||||
->setName('status')
|
->setName('status')
|
||||||
|
->setValue($status->getStatus())
|
||||||
->setOptions($status->getStatusOptions());
|
->setOptions($status->getStatusOptions());
|
||||||
|
|
||||||
$description = id(new AphrontFormTextAreaControl())
|
$description = id(new AphrontFormTextAreaControl())
|
||||||
|
|
|
@ -7,6 +7,15 @@ final class AphrontCalendarEventView extends AphrontView {
|
||||||
private $epochStart;
|
private $epochStart;
|
||||||
private $epochEnd;
|
private $epochEnd;
|
||||||
private $description;
|
private $description;
|
||||||
|
private $eventID;
|
||||||
|
|
||||||
|
public function setEventID($event_id) {
|
||||||
|
$this->eventID = $event_id;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
public function getEventID() {
|
||||||
|
return $this->eventID;
|
||||||
|
}
|
||||||
|
|
||||||
public function setUserPHID($user_phid) {
|
public function setUserPHID($user_phid) {
|
||||||
$this->userPHID = $user_phid;
|
$this->userPHID = $user_phid;
|
||||||
|
|
|
@ -289,15 +289,24 @@ final class AphrontCalendarMonthView extends AphrontView {
|
||||||
$info .= "\n\n".$event->getDescription();
|
$info .= "\n\n".$event->getDescription();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($user->getPHID() == $event->getUserPHID()) {
|
||||||
|
$tag = 'a';
|
||||||
|
$href = '/calendar/status/edit/'.$event->getEventID().'/';
|
||||||
|
} else {
|
||||||
|
$tag = 'div';
|
||||||
|
$href = null;
|
||||||
|
}
|
||||||
|
|
||||||
$text_div = javelin_render_tag(
|
$text_div = javelin_render_tag(
|
||||||
'div',
|
$tag,
|
||||||
array(
|
array(
|
||||||
'sigil' => 'has-tooltip',
|
'sigil' => 'has-tooltip',
|
||||||
'meta' => array(
|
'meta' => array(
|
||||||
'tip' => $info."\n\n".implode("\n", $when),
|
'tip' => $info."\n\n".implode("\n", $when),
|
||||||
'size' => 240,
|
'size' => 240,
|
||||||
),
|
),
|
||||||
'class' => 'aphront-calendar-event-text',
|
'class' => 'aphront-calendar-event-text',
|
||||||
|
'href' => $href,
|
||||||
),
|
),
|
||||||
phutil_escape_html(phutil_utf8_shorten($event->getName(), 32)));
|
phutil_escape_html(phutil_utf8_shorten($event->getName(), 32)));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue