Allow files to be attached to Maniphest tasks while the task is being created.

Summary:
This commit lets users who are filing Maniphest tasks to attache files to them
right off the bat.

Test Plan:
{F3545}

and

{F3546}

Reviewers: epriestley, fmoo, aran

CC:

Differential Revision: 837
This commit is contained in:
Ricky Elrod
2011-08-19 12:36:41 -04:00
parent dc39571d63
commit 638bb7ae3f
2 changed files with 10 additions and 0 deletions

View File

@@ -445,6 +445,8 @@ class ManiphestTaskEditController extends ManiphestController {
'<tt>'.phutil_escape_html($email_create).'</tt>'; '<tt>'.phutil_escape_html($email_create).'</tt>';
} }
$panel_id = celerity_generate_unique_node_id();
$form $form
->appendChild( ->appendChild(
id(new AphrontFormTextAreaControl()) id(new AphrontFormTextAreaControl())
@@ -452,6 +454,12 @@ class ManiphestTaskEditController extends ManiphestController {
->setName('description') ->setName('description')
->setCaption($email_hint) ->setCaption($email_hint)
->setValue($task->getDescription())) ->setValue($task->getDescription()))
->appendChild(
id(new AphrontFormDragAndDropUploadControl())
->setLabel('Attached Files')
->setName('files')
->setDragAndDropTarget($panel_id)
->setActivatedClass('aphront-panel-view-drag-and-drop'))
->appendChild( ->appendChild(
id(new AphrontFormSubmitControl()) id(new AphrontFormSubmitControl())
->addCancelButton($cancel_uri) ->addCancelButton($cancel_uri)
@@ -460,6 +468,7 @@ class ManiphestTaskEditController extends ManiphestController {
$panel = new AphrontPanelView(); $panel = new AphrontPanelView();
$panel->setWidth(AphrontPanelView::WIDTH_FULL); $panel->setWidth(AphrontPanelView::WIDTH_FULL);
$panel->setHeader($header_name); $panel->setHeader($header_name);
$panel->setID($panel_id);
$panel->appendChild($form); $panel->appendChild($form);
return $this->buildStandardPageResponse( return $this->buildStandardPageResponse(

View File

@@ -24,6 +24,7 @@ phutil_require_module('phabricator', 'infrastructure/env');
phutil_require_module('phabricator', 'infrastructure/javelin/api'); phutil_require_module('phabricator', 'infrastructure/javelin/api');
phutil_require_module('phabricator', 'infrastructure/javelin/markup'); phutil_require_module('phabricator', 'infrastructure/javelin/markup');
phutil_require_module('phabricator', 'view/form/base'); phutil_require_module('phabricator', 'view/form/base');
phutil_require_module('phabricator', 'view/form/control/draganddropupload');
phutil_require_module('phabricator', 'view/form/control/markup'); phutil_require_module('phabricator', 'view/form/control/markup');
phutil_require_module('phabricator', 'view/form/control/select'); phutil_require_module('phabricator', 'view/form/control/select');
phutil_require_module('phabricator', 'view/form/control/static'); phutil_require_module('phabricator', 'view/form/control/static');