From 62e129d7a6d1a4025d463a915300b319b5ce26fc Mon Sep 17 00:00:00 2001 From: Chad Little Date: Sat, 21 Nov 2015 08:51:07 -0800 Subject: [PATCH 01/30] Allow Phame Blogs to be archived instead of deleted Summary: Removes "delete" and uses "archive/activate" instead for Phame Blogs. Ref T9756 Test Plan: Archive a blog, see in search, activate blog, see in other search. Reviewers: epriestley Reviewed By: epriestley Subscribers: joshuaspence, Korvin Maniphest Tasks: T9756 Differential Revision: https://secure.phabricator.com/D14465 --- .../20151111.phame.blog.archive.1.sql | 2 + .../20151111.phame.blog.archive.2.sql | 2 + src/__phutil_library_map__.php | 4 +- .../PhabricatorPhameApplication.php | 2 +- .../blog/PhameBlogArchiveController.php | 68 +++++++++++++++++++ .../blog/PhameBlogDeleteController.php | 42 ------------ .../blog/PhameBlogViewController.php | 39 ++++++++--- .../phame/editor/PhameBlogEditor.php | 7 ++ .../phame/query/PhameBlogQuery.php | 13 ++++ .../phame/query/PhameBlogSearchEngine.php | 31 ++++++++- src/applications/phame/storage/PhameBlog.php | 16 +++++ .../phame/storage/PhameBlogTransaction.php | 28 ++++++++ 12 files changed, 199 insertions(+), 55 deletions(-) create mode 100644 resources/sql/autopatches/20151111.phame.blog.archive.1.sql create mode 100644 resources/sql/autopatches/20151111.phame.blog.archive.2.sql create mode 100644 src/applications/phame/controller/blog/PhameBlogArchiveController.php delete mode 100644 src/applications/phame/controller/blog/PhameBlogDeleteController.php diff --git a/resources/sql/autopatches/20151111.phame.blog.archive.1.sql b/resources/sql/autopatches/20151111.phame.blog.archive.1.sql new file mode 100644 index 0000000000..c7e5898e66 --- /dev/null +++ b/resources/sql/autopatches/20151111.phame.blog.archive.1.sql @@ -0,0 +1,2 @@ +ALTER TABLE {$NAMESPACE}_phame.phame_blog + ADD status VARCHAR(32) NOT NULL COLLATE {$COLLATE_TEXT}; diff --git a/resources/sql/autopatches/20151111.phame.blog.archive.2.sql b/resources/sql/autopatches/20151111.phame.blog.archive.2.sql new file mode 100644 index 0000000000..ee9ad1e4c7 --- /dev/null +++ b/resources/sql/autopatches/20151111.phame.blog.archive.2.sql @@ -0,0 +1,2 @@ +UPDATE {$NAMESPACE}_phame.phame_blog + SET status = 'active' WHERE status = ''; diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 73a0fd7393..87c661c4a5 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -3271,9 +3271,9 @@ phutil_register_library_map(array( 'PhameBasicBlogSkin' => 'applications/phame/skins/PhameBasicBlogSkin.php', 'PhameBasicTemplateBlogSkin' => 'applications/phame/skins/PhameBasicTemplateBlogSkin.php', 'PhameBlog' => 'applications/phame/storage/PhameBlog.php', + 'PhameBlogArchiveController' => 'applications/phame/controller/blog/PhameBlogArchiveController.php', 'PhameBlogController' => 'applications/phame/controller/blog/PhameBlogController.php', 'PhameBlogCreateCapability' => 'applications/phame/capability/PhameBlogCreateCapability.php', - 'PhameBlogDeleteController' => 'applications/phame/controller/blog/PhameBlogDeleteController.php', 'PhameBlogEditController' => 'applications/phame/controller/blog/PhameBlogEditController.php', 'PhameBlogEditor' => 'applications/phame/editor/PhameBlogEditor.php', 'PhameBlogFeedController' => 'applications/phame/controller/blog/PhameBlogFeedController.php', @@ -7573,9 +7573,9 @@ phutil_register_library_map(array( 'PhabricatorProjectInterface', 'PhabricatorApplicationTransactionInterface', ), + 'PhameBlogArchiveController' => 'PhameBlogController', 'PhameBlogController' => 'PhameController', 'PhameBlogCreateCapability' => 'PhabricatorPolicyCapability', - 'PhameBlogDeleteController' => 'PhameBlogController', 'PhameBlogEditController' => 'PhameBlogController', 'PhameBlogEditor' => 'PhabricatorApplicationTransactionEditor', 'PhameBlogFeedController' => 'PhameBlogController', diff --git a/src/applications/phame/application/PhabricatorPhameApplication.php b/src/applications/phame/application/PhabricatorPhameApplication.php index 1a3d3f90f4..456a58c9eb 100644 --- a/src/applications/phame/application/PhabricatorPhameApplication.php +++ b/src/applications/phame/application/PhabricatorPhameApplication.php @@ -59,7 +59,7 @@ final class PhabricatorPhameApplication extends PhabricatorApplication { 'blog/' => array( '(?:(?Puser|all)/)?' => 'PhameBlogListController', '(?:query/(?P[^/]+)/)?' => 'PhameBlogListController', - 'delete/(?P[^/]+)/' => 'PhameBlogDeleteController', + 'archive/(?P[^/]+)/' => 'PhameBlogArchiveController', 'edit/(?P[^/]+)/' => 'PhameBlogEditController', 'view/(?P[^/]+)/' => 'PhameBlogViewController', 'feed/(?P[^/]+)/' => 'PhameBlogFeedController', diff --git a/src/applications/phame/controller/blog/PhameBlogArchiveController.php b/src/applications/phame/controller/blog/PhameBlogArchiveController.php new file mode 100644 index 0000000000..dd69f3154a --- /dev/null +++ b/src/applications/phame/controller/blog/PhameBlogArchiveController.php @@ -0,0 +1,68 @@ +getViewer(); + $id = $request->getURIData('id'); + + $blog = id(new PhameBlogQuery()) + ->setViewer($viewer) + ->withIDs(array($id)) + ->requireCapabilities( + array( + PhabricatorPolicyCapability::CAN_VIEW, + PhabricatorPolicyCapability::CAN_EDIT, + )) + ->executeOne(); + if (!$blog) { + return new Aphront404Response(); + } + + $view_uri = $this->getApplicationURI('blog/view/'.$blog->getID().'/'); + + if ($request->isFormPost()) { + if ($blog->isArchived()) { + $new_status = PhameBlog::STATUS_ACTIVE; + } else { + $new_status = PhameBlog::STATUS_ARCHIVED; + } + + $xactions = array(); + + $xactions[] = id(new PhameBlogTransaction()) + ->setTransactionType(PhameBlogTransaction::TYPE_STATUS) + ->setNewValue($new_status); + + id(new PhameBlogEditor()) + ->setActor($viewer) + ->setContentSourceFromRequest($request) + ->setContinueOnNoEffect(true) + ->setContinueOnMissingFields(true) + ->applyTransactions($blog, $xactions); + + return id(new AphrontRedirectResponse())->setURI($view_uri); + } + + if ($blog->isArchived()) { + $title = pht('Activate Blog'); + $body = pht('This blog will become active again.'); + $button = pht('Activate Blog'); + } else { + $title = pht('Archive Blog'); + $body = pht('This blog will be marked as archived.'); + $button = pht('Archive Blog'); + } + + $dialog = id(new AphrontDialogView()) + ->setUser($viewer) + ->setTitle($title) + ->appendChild($body) + ->addCancelButton($view_uri) + ->addSubmitButton($button); + + return id(new AphrontDialogResponse())->setDialog($dialog); + } + +} diff --git a/src/applications/phame/controller/blog/PhameBlogDeleteController.php b/src/applications/phame/controller/blog/PhameBlogDeleteController.php deleted file mode 100644 index c60e27b2d7..0000000000 --- a/src/applications/phame/controller/blog/PhameBlogDeleteController.php +++ /dev/null @@ -1,42 +0,0 @@ -getViewer(); - $id = $request->getURIData('id'); - - $blog = id(new PhameBlogQuery()) - ->setViewer($viewer) - ->withIDs(array($id)) - ->requireCapabilities( - array( - PhabricatorPolicyCapability::CAN_EDIT, - )) - ->executeOne(); - if (!$blog) { - return new Aphront404Response(); - } - - if ($request->isFormPost()) { - $blog->delete(); - return id(new AphrontRedirectResponse()) - ->setURI($this->getApplicationURI()); - } - - $cancel_uri = $this->getApplicationURI('/blog/view/'.$blog->getID().'/'); - - $dialog = id(new AphrontDialogView()) - ->setUser($viewer) - ->setTitle(pht('Delete Blog?')) - ->appendChild( - pht( - 'Really delete the blog "%s"? It will be gone forever.', - $blog->getName())) - ->addSubmitButton(pht('Delete')) - ->addCancelButton($cancel_uri); - - return id(new AphrontDialogResponse())->setDialog($dialog); - } - -} diff --git a/src/applications/phame/controller/blog/PhameBlogViewController.php b/src/applications/phame/controller/blog/PhameBlogViewController.php index 2f20702f6e..f74b838881 100644 --- a/src/applications/phame/controller/blog/PhameBlogViewController.php +++ b/src/applications/phame/controller/blog/PhameBlogViewController.php @@ -22,10 +22,21 @@ final class PhameBlogViewController extends PhameBlogController { ->withBlogPHIDs(array($blog->getPHID())) ->executeWithCursorPager($pager); + if ($blog->isArchived()) { + $header_icon = 'fa-ban'; + $header_name = pht('Archived'); + $header_color = 'dark'; + } else { + $header_icon = 'fa-check'; + $header_name = pht('Active'); + $header_color = 'bluegrey'; + } + $header = id(new PHUIHeaderView()) ->setHeader($blog->getName()) ->setUser($viewer) - ->setPolicyObject($blog); + ->setPolicyObject($blog) + ->setStatus($header_icon, $header_color, $header_name); $actions = $this->renderActions($blog, $viewer); $properties = $this->renderProperties($blog, $viewer, $actions); @@ -158,13 +169,25 @@ final class PhameBlogViewController extends PhameBlogController { ->setDisabled(!$can_edit) ->setWorkflow(!$can_edit)); - $actions->addAction( - id(new PhabricatorActionView()) - ->setIcon('fa-times') - ->setHref($this->getApplicationURI('blog/delete/'.$blog->getID().'/')) - ->setName(pht('Delete Blog')) - ->setDisabled(!$can_edit) - ->setWorkflow(true)); + if ($blog->isArchived()) { + $actions->addAction( + id(new PhabricatorActionView()) + ->setName(pht('Activate Blog')) + ->setIcon('fa-check') + ->setHref( + $this->getApplicationURI('blog/archive/'.$blog->getID().'/')) + ->setDisabled(!$can_edit) + ->setWorkflow(true)); + } else { + $actions->addAction( + id(new PhabricatorActionView()) + ->setName(pht('Archive Blog')) + ->setIcon('fa-ban') + ->setHref( + $this->getApplicationURI('blog/archive/'.$blog->getID().'/')) + ->setDisabled(!$can_edit) + ->setWorkflow(true)); + } return $actions; } diff --git a/src/applications/phame/editor/PhameBlogEditor.php b/src/applications/phame/editor/PhameBlogEditor.php index 712c4ddd5b..3f23854125 100644 --- a/src/applications/phame/editor/PhameBlogEditor.php +++ b/src/applications/phame/editor/PhameBlogEditor.php @@ -18,6 +18,7 @@ final class PhameBlogEditor $types[] = PhameBlogTransaction::TYPE_DESCRIPTION; $types[] = PhameBlogTransaction::TYPE_DOMAIN; $types[] = PhameBlogTransaction::TYPE_SKIN; + $types[] = PhameBlogTransaction::TYPE_STATUS; $types[] = PhabricatorTransactions::TYPE_VIEW_POLICY; $types[] = PhabricatorTransactions::TYPE_EDIT_POLICY; @@ -37,6 +38,8 @@ final class PhameBlogEditor return $object->getDomain(); case PhameBlogTransaction::TYPE_SKIN: return $object->getSkin(); + case PhameBlogTransaction::TYPE_STATUS: + return $object->getStatus(); } } @@ -49,6 +52,7 @@ final class PhameBlogEditor case PhameBlogTransaction::TYPE_DESCRIPTION: case PhameBlogTransaction::TYPE_DOMAIN: case PhameBlogTransaction::TYPE_SKIN: + case PhameBlogTransaction::TYPE_STATUS: return $xaction->getNewValue(); } } @@ -66,6 +70,8 @@ final class PhameBlogEditor return $object->setDomain($xaction->getNewValue()); case PhameBlogTransaction::TYPE_SKIN: return $object->setSkin($xaction->getNewValue()); + case PhameBlogTransaction::TYPE_STATUS: + return $object->setStatus($xaction->getNewValue()); } return parent::applyCustomInternalTransaction($object, $xaction); @@ -80,6 +86,7 @@ final class PhameBlogEditor case PhameBlogTransaction::TYPE_DESCRIPTION: case PhameBlogTransaction::TYPE_DOMAIN: case PhameBlogTransaction::TYPE_SKIN: + case PhameBlogTransaction::TYPE_STATUS: return; } diff --git a/src/applications/phame/query/PhameBlogQuery.php b/src/applications/phame/query/PhameBlogQuery.php index ef441636b3..279ff91724 100644 --- a/src/applications/phame/query/PhameBlogQuery.php +++ b/src/applications/phame/query/PhameBlogQuery.php @@ -5,6 +5,7 @@ final class PhameBlogQuery extends PhabricatorCursorPagedPolicyAwareQuery { private $ids; private $phids; private $domain; + private $statuses; private $needBloggers; public function withIDs(array $ids) { @@ -22,6 +23,11 @@ final class PhameBlogQuery extends PhabricatorCursorPagedPolicyAwareQuery { return $this; } + public function withStatuses(array $status) { + $this->statuses = $status; + return $this; + } + public function newResultObject() { return new PhameBlog(); } @@ -33,6 +39,13 @@ final class PhameBlogQuery extends PhabricatorCursorPagedPolicyAwareQuery { protected function buildWhereClauseParts(AphrontDatabaseConnection $conn) { $where = parent::buildWhereClauseParts($conn); + if ($this->statuses !== null) { + $where[] = qsprintf( + $conn, + 'status IN (%Ls)', + $this->statuses); + } + if ($this->ids !== null) { $where[] = qsprintf( $conn, diff --git a/src/applications/phame/query/PhameBlogSearchEngine.php b/src/applications/phame/query/PhameBlogSearchEngine.php index 25a0ab515d..58dba3b810 100644 --- a/src/applications/phame/query/PhameBlogSearchEngine.php +++ b/src/applications/phame/query/PhameBlogSearchEngine.php @@ -17,11 +17,23 @@ final class PhameBlogSearchEngine protected function buildQueryFromParameters(array $map) { $query = $this->newQuery(); + if ($map['statuses']) { + $query->withStatuses(array($map['statuses'])); + } return $query; } protected function buildCustomSearchFields() { - return array(); + return array( + id(new PhabricatorSearchSelectField()) + ->setKey('statuses') + ->setLabel(pht('Status')) + ->setOptions(array( + '' => pht('All'), + PhameBlog::STATUS_ACTIVE => pht('Active'), + PhameBlog::STATUS_ARCHIVED => pht('Archived'), + )), + ); } protected function getURI($path) { @@ -30,6 +42,8 @@ final class PhameBlogSearchEngine protected function getBuiltinQueryNames() { $names = array( + 'active' => pht('Active Blogs'), + 'archived' => pht('Archived Blogs'), 'all' => pht('All Blogs'), ); return $names; @@ -42,6 +56,12 @@ final class PhameBlogSearchEngine switch ($query_key) { case 'all': return $query; + case 'active': + return $query->setParameter( + 'statuses', PhameBlog::STATUS_ACTIVE); + case 'archived': + return $query->setParameter( + 'statuses', PhameBlog::STATUS_ARCHIVED); } return parent::buildSavedQueryFromBuiltin($query_key); @@ -58,12 +78,19 @@ final class PhameBlogSearchEngine $list->setUser($viewer); foreach ($blogs as $blog) { + $archived = false; + $icon = 'fa-star'; + if ($blog->isArchived()) { + $archived = true; + $icon = 'fa-ban'; + } $id = $blog->getID(); $item = id(new PHUIObjectItemView()) ->setUser($viewer) ->setObject($blog) ->setHeader($blog->getName()) - ->setStatusIcon('fa-star') + ->setStatusIcon($icon) + ->setDisabled($archived) ->setHref($this->getApplicationURI("/blog/view/{$id}/")) ->addAttribute($blog->getSkin()) ->addAttribute($blog->getDomain()); diff --git a/src/applications/phame/storage/PhameBlog.php b/src/applications/phame/storage/PhameBlog.php index 3082592a93..43d865a058 100644 --- a/src/applications/phame/storage/PhameBlog.php +++ b/src/applications/phame/storage/PhameBlog.php @@ -20,10 +20,14 @@ final class PhameBlog extends PhameDAO protected $creatorPHID; protected $viewPolicy; protected $editPolicy; + protected $status; protected $mailKey; private static $requestBlog; + const STATUS_ACTIVE = 'active'; + const STATUS_ARCHIVED = 'archived'; + protected function getConfiguration() { return array( self::CONFIG_AUX_PHID => true, @@ -34,6 +38,7 @@ final class PhameBlog extends PhameDAO 'name' => 'text64', 'description' => 'text', 'domain' => 'text128?', + 'status' => 'text32', 'mailKey' => 'bytes20', // T6203/NULLABILITY @@ -98,6 +103,17 @@ final class PhameBlog extends PhameDAO return $skin; } + public function isArchived() { + return ($this->getStatus() == self::STATUS_ARCHIVED); + } + + public static function getStatusNameMap() { + return array( + self::STATUS_ACTIVE => pht('Active'), + self::STATUS_ARCHIVED => pht('Archived'), + ); + } + /** * Makes sure a given custom blog uri is properly configured in DNS * to point at this Phabricator instance. If there is an error in diff --git a/src/applications/phame/storage/PhameBlogTransaction.php b/src/applications/phame/storage/PhameBlogTransaction.php index 0954e72a37..98622a80b1 100644 --- a/src/applications/phame/storage/PhameBlogTransaction.php +++ b/src/applications/phame/storage/PhameBlogTransaction.php @@ -7,6 +7,7 @@ final class PhameBlogTransaction const TYPE_DESCRIPTION = 'phame.blog.description'; const TYPE_DOMAIN = 'phame.blog.domain'; const TYPE_SKIN = 'phame.blog.skin'; + const TYPE_STATUS = 'phame.blog.status'; const MAILTAG_DETAILS = 'phame-blog-details'; const MAILTAG_SUBSCRIBERS = 'phame-blog-subscribers'; @@ -106,6 +107,18 @@ final class PhameBlogTransaction $this->renderHandleLink($author_phid), $new); break; + case self::TYPE_STATUS: + switch ($new) { + case self::STATUS_OPEN: + return pht( + '%s published this blog.', + $this->renderHandleLink($author_phid)); + case self::STATUS_CLOSED: + return pht( + '%s archived this blog.', + $this->renderHandleLink($author_phid)); + } + } return parent::getTitle(); @@ -151,6 +164,21 @@ final class PhameBlogTransaction $this->renderHandleLink($author_phid), $this->renderHandleLink($object_phid)); break; + case self::TYPE_STATUS: + switch ($new) { + case self::STATUS_OPEN: + return pht( + '%s published the blog %s.', + $this->renderHandleLink($author_phid), + $this->renderHandleLink($object_phid)); + case self::STATUS_CLOSED: + return pht( + '%s archived the blog %s.', + $this->renderHandleLink($author_phid), + $this->renderHandleLink($object_phid)); + } + break; + } return parent::getTitleForFeed(); From 9001d5de2cba7a704903a7a463d244132e18f187 Mon Sep 17 00:00:00 2001 From: Jim Puls Date: Sun, 22 Nov 2015 13:03:58 -0800 Subject: [PATCH 02/30] Add mask-icon for Safari pinned tab Summary: Addresses T9814. Adds SVG files to Celerity maps. Adds a mask-icon.svg file that I made by pulling the existing favicon into Illustrator and running trace on it. This hardcodes the header color from the default theme, and doesn't pay attention to customizations of the header. Test Plan: I pinned the tab in Safari. Reviewers: epriestley, #blessed_reviewers, chad Reviewed By: #blessed_reviewers, chad Subscribers: chad, Korvin Maniphest Tasks: T9814 Differential Revision: https://secure.phabricator.com/D14527 --- resources/celerity/map.php | 27 ++++++++++++------- .../controller/CelerityResourceController.php | 1 + .../resources/CelerityResourcesOnDisk.php | 1 + src/view/page/PhabricatorBarePageView.php | 13 ++++++++- webroot/rsrc/favicons/mask-icon.svg | 20 ++++++++++++++ 5 files changed, 51 insertions(+), 11 deletions(-) create mode 100644 webroot/rsrc/favicons/mask-icon.svg diff --git a/resources/celerity/map.php b/resources/celerity/map.php index c67682e8f7..a8f207bf2a 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -108,9 +108,9 @@ return array( 'rsrc/css/core/syntax.css' => '9fd11da8', 'rsrc/css/core/z-index.css' => '57ddcaa2', 'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa', - 'rsrc/css/font/font-aleo.css' => 'b61d3062', + 'rsrc/css/font/font-aleo.css' => '8bdb2835', 'rsrc/css/font/font-awesome.css' => 'd2fc4e8d', - 'rsrc/css/font/font-lato.css' => '5ab1a46a', + 'rsrc/css/font/font-lato.css' => 'c7ccd872', 'rsrc/css/font/phui-font-icon-base.css' => 'ecbbb4c2', 'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82', 'rsrc/css/layout/phabricator-hovercard-view.css' => '1239cd52', @@ -158,10 +158,12 @@ return array( 'rsrc/css/sprite-projects.css' => 'e5ad842a', 'rsrc/css/sprite-tokens.css' => '4f399012', 'rsrc/externals/font/aleo/aleo-bold.eot' => 'd3d3bed7', + 'rsrc/externals/font/aleo/aleo-bold.svg' => '45899c8e', 'rsrc/externals/font/aleo/aleo-bold.ttf' => '4b08bef0', 'rsrc/externals/font/aleo/aleo-bold.woff' => '93b513a1', 'rsrc/externals/font/aleo/aleo-bold.woff2' => '75fbf322', 'rsrc/externals/font/aleo/aleo-regular.eot' => 'a4e29e2f', + 'rsrc/externals/font/aleo/aleo-regular.svg' => '42a86f7a', 'rsrc/externals/font/aleo/aleo-regular.ttf' => '751e7479', 'rsrc/externals/font/aleo/aleo-regular.woff' => 'c3744be9', 'rsrc/externals/font/aleo/aleo-regular.woff2' => '851aa0ee', @@ -170,18 +172,22 @@ return array( 'rsrc/externals/font/fontawesome/fontawesome-webfont.woff' => '427fe363', 'rsrc/externals/font/fontawesome/fontawesome-webfont.woff2' => 'a9897054', 'rsrc/externals/font/lato/lato-bold.eot' => '99fbcf8c', + 'rsrc/externals/font/lato/lato-bold.svg' => '2aa83045', 'rsrc/externals/font/lato/lato-bold.ttf' => '0a7141f7', 'rsrc/externals/font/lato/lato-bold.woff' => 'f5db2061', 'rsrc/externals/font/lato/lato-bold.woff2' => '37a94ecd', 'rsrc/externals/font/lato/lato-bolditalic.eot' => 'b93389d0', + 'rsrc/externals/font/lato/lato-bolditalic.svg' => '5442e1ef', 'rsrc/externals/font/lato/lato-bolditalic.ttf' => 'dad31252', 'rsrc/externals/font/lato/lato-bolditalic.woff' => 'e53bcf47', 'rsrc/externals/font/lato/lato-bolditalic.woff2' => 'd035007f', 'rsrc/externals/font/lato/lato-italic.eot' => '6a903f5d', + 'rsrc/externals/font/lato/lato-italic.svg' => '0dc7cf2f', 'rsrc/externals/font/lato/lato-italic.ttf' => '629f64f0', 'rsrc/externals/font/lato/lato-italic.woff' => '678dc4bb', 'rsrc/externals/font/lato/lato-italic.woff2' => '7c8dd650', 'rsrc/externals/font/lato/lato-regular.eot' => '848dfb1e', + 'rsrc/externals/font/lato/lato-regular.svg' => 'cbd5fd6b', 'rsrc/externals/font/lato/lato-regular.ttf' => 'e270165b', 'rsrc/externals/font/lato/lato-regular.woff' => '13d39fe2', 'rsrc/externals/font/lato/lato-regular.woff2' => '57a9f742', @@ -255,6 +261,7 @@ return array( 'rsrc/favicons/favicon-16x16.png' => 'ee2523ac', 'rsrc/favicons/favicon-32x32.png' => 'b6a8150e', 'rsrc/favicons/favicon-96x96.png' => '8f7ea177', + 'rsrc/favicons/mask-icon.svg' => '0460cb1f', 'rsrc/image/BFCFDA.png' => 'd5ec91f4', 'rsrc/image/actions/edit.png' => '2fc41442', 'rsrc/image/avatar.png' => '3eb28cd9', @@ -529,9 +536,9 @@ return array( 'diffusion-readme-css' => '2106ea08', 'diffusion-source-css' => '075ba788', 'diviner-shared-css' => 'aa3656aa', - 'font-aleo' => 'b61d3062', + 'font-aleo' => '8bdb2835', 'font-fontawesome' => 'd2fc4e8d', - 'font-lato' => '5ab1a46a', + 'font-lato' => 'c7ccd872', 'global-drag-and-drop-css' => '697324ad', 'harbormaster-css' => 'b0758ca5', 'herald-css' => '826075fa', @@ -1206,9 +1213,6 @@ return array( 'javelin-vector', 'javelin-dom', ), - '5ab1a46a' => array( - 'phui-fontkit-css', - ), '5b2e3e2b' => array( 'javelin-stratcom', 'javelin-request', @@ -1506,6 +1510,9 @@ return array( 'javelin-request', 'javelin-typeahead-source', ), + '8bdb2835' => array( + 'phui-fontkit-css', + ), '8ce821c5' => array( 'phabricator-notification', 'javelin-stratcom', @@ -1717,9 +1724,6 @@ return array( 'javelin-dom', 'javelin-util', ), - 'b61d3062' => array( - 'phui-fontkit-css', - ), 'b6993408' => array( 'javelin-behavior', 'javelin-stratcom', @@ -1775,6 +1779,9 @@ return array( 'phabricator-keyboard-shortcut', 'conpherence-thread-manager', ), + 'c7ccd872' => array( + 'phui-fontkit-css', + ), 'c8e57404' => array( 'javelin-behavior', 'javelin-dom', diff --git a/src/applications/celerity/controller/CelerityResourceController.php b/src/applications/celerity/controller/CelerityResourceController.php index eb2ec2b67c..01f6424382 100644 --- a/src/applications/celerity/controller/CelerityResourceController.php +++ b/src/applications/celerity/controller/CelerityResourceController.php @@ -125,6 +125,7 @@ abstract class CelerityResourceController extends PhabricatorController { 'css' => 'text/css; charset=utf-8', 'js' => 'text/javascript; charset=utf-8', 'png' => 'image/png', + 'svg' => 'image/svg+xml', 'gif' => 'image/gif', 'jpg' => 'image/jpeg', 'swf' => 'application/x-shockwave-flash', diff --git a/src/applications/celerity/resources/CelerityResourcesOnDisk.php b/src/applications/celerity/resources/CelerityResourcesOnDisk.php index 9b79a49285..3187c5b9ad 100644 --- a/src/applications/celerity/resources/CelerityResourcesOnDisk.php +++ b/src/applications/celerity/resources/CelerityResourcesOnDisk.php @@ -33,6 +33,7 @@ abstract class CelerityResourcesOnDisk extends CelerityPhysicalResources { 'jpg', 'gif', 'swf', + 'svg', 'woff', 'woff2', 'ttf', diff --git a/src/view/page/PhabricatorBarePageView.php b/src/view/page/PhabricatorBarePageView.php index ca6a6a783f..6a4444c981 100644 --- a/src/view/page/PhabricatorBarePageView.php +++ b/src/view/page/PhabricatorBarePageView.php @@ -75,6 +75,16 @@ class PhabricatorBarePageView extends AphrontPageView { 'maximum-scale=1', )); } + + $mask_icon = phutil_tag( + 'link', + array( + 'rel' => 'mask-icon', + 'color' => '#3D4B67', + 'href' => celerity_get_resource_uri( + '/rsrc/favicons/mask-icon.svg'), + )); + $icon_tag_76 = phutil_tag( 'link', array( @@ -130,8 +140,9 @@ class PhabricatorBarePageView extends AphrontPageView { $developer = PhabricatorEnv::getEnvConfig('phabricator.developer-mode'); return hsprintf( - '%s%s%s%s%s%s%s%s', + '%s%s%s%s%s%s%s%s%s', $viewport_tag, + $mask_icon, $icon_tag_76, $icon_tag_120, $icon_tag_152, diff --git a/webroot/rsrc/favicons/mask-icon.svg b/webroot/rsrc/favicons/mask-icon.svg new file mode 100644 index 0000000000..d949114e43 --- /dev/null +++ b/webroot/rsrc/favicons/mask-icon.svg @@ -0,0 +1,20 @@ + + + + + + From bf227f77a5dc928f1380e4bc81059f83cfb96548 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Sun, 22 Nov 2015 13:10:41 -0800 Subject: [PATCH 03/30] Update Phriction for PHUIDocumentViewPro Summary: Moves Phriction to use PHUIDocumentViewPro Test Plan: Read lots of documents, tablet, mobile, and desktop. Check ToC, non ToC, Edit a Maniphest Task, New Phriction Document, edit Phriction Document. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T9826 Differential Revision: https://secure.phabricator.com/D14399 --- resources/celerity/map.php | 18 ++++----- .../PhrictionDocumentController.php | 32 ++++++++++++--- .../controller/PhrictionEditController.php | 4 +- .../phriction/storage/PhrictionContent.php | 31 +++++++-------- src/view/phui/PHUIDocumentViewPro.php | 2 +- src/view/phui/PHUIRemarkupPreviewPanel.php | 39 +++++++++++++------ webroot/rsrc/css/core/remarkup.css | 13 ++++--- webroot/rsrc/css/phui/phui-document-pro.css | 14 +++++++ webroot/rsrc/css/phui/phui-document.css | 28 ------------- webroot/rsrc/css/phui/phui-fontkit.css | 7 +++- 10 files changed, 108 insertions(+), 80 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index a8f207bf2a..f8d15a1af0 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -7,7 +7,7 @@ */ return array( 'names' => array( - 'core.pkg.css' => 'e4f1ea81', + 'core.pkg.css' => '0689cd7e', 'core.pkg.js' => '47dc9ebb', 'darkconsole.pkg.js' => 'e7393ebb', 'differential.pkg.css' => '2de124c9', @@ -104,7 +104,7 @@ return array( 'rsrc/css/application/tokens/tokens.css' => '3d0f239e', 'rsrc/css/application/uiexample/example.css' => '528b19de', 'rsrc/css/core/core.css' => '78e8d7ea', - 'rsrc/css/core/remarkup.css' => '2193fc05', + 'rsrc/css/core/remarkup.css' => 'ab2396c1', 'rsrc/css/core/syntax.css' => '9fd11da8', 'rsrc/css/core/z-index.css' => '57ddcaa2', 'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa', @@ -126,10 +126,10 @@ return array( 'rsrc/css/phui/phui-box.css' => 'a5bb366d', 'rsrc/css/phui/phui-button.css' => '16020a60', 'rsrc/css/phui/phui-crumbs-view.css' => '414406b5', - 'rsrc/css/phui/phui-document-pro.css' => '7f3009ce', - 'rsrc/css/phui/phui-document.css' => 'f841ad0a', + 'rsrc/css/phui/phui-document-pro.css' => '5f75ed99', + 'rsrc/css/phui/phui-document.css' => '765a9dac', 'rsrc/css/phui/phui-feed-story.css' => 'b7b26d23', - 'rsrc/css/phui/phui-fontkit.css' => 'c9d63950', + 'rsrc/css/phui/phui-fontkit.css' => '9cda225e', 'rsrc/css/phui/phui-form-view.css' => '621b21c5', 'rsrc/css/phui/phui-form.css' => 'afdb2c6e', 'rsrc/css/phui/phui-header-view.css' => '55bb32dd', @@ -747,7 +747,7 @@ return array( 'phabricator-object-selector-css' => '85ee8ce6', 'phabricator-phtize' => 'd254d646', 'phabricator-prefab' => '6920d200', - 'phabricator-remarkup-css' => '2193fc05', + 'phabricator-remarkup-css' => 'ab2396c1', 'phabricator-search-results-css' => '7dea472c', 'phabricator-shaped-request' => '7cbe244b', 'phabricator-side-menu-view-css' => 'bec2458e', @@ -787,11 +787,11 @@ return array( 'phui-calendar-list-css' => 'c1c7f338', 'phui-calendar-month-css' => '476be7e0', 'phui-crumbs-view-css' => '414406b5', - 'phui-document-view-css' => 'f841ad0a', - 'phui-document-view-pro-css' => '7f3009ce', + 'phui-document-view-css' => '765a9dac', + 'phui-document-view-pro-css' => '5f75ed99', 'phui-feed-story-css' => 'b7b26d23', 'phui-font-icon-base-css' => 'ecbbb4c2', - 'phui-fontkit-css' => 'c9d63950', + 'phui-fontkit-css' => '9cda225e', 'phui-form-css' => 'afdb2c6e', 'phui-form-view-css' => '621b21c5', 'phui-header-view-css' => '55bb32dd', diff --git a/src/applications/phriction/controller/PhrictionDocumentController.php b/src/applications/phriction/controller/PhrictionDocumentController.php index 452e45289b..14a929573a 100644 --- a/src/applications/phriction/controller/PhrictionDocumentController.php +++ b/src/applications/phriction/controller/PhrictionDocumentController.php @@ -32,6 +32,7 @@ final class PhrictionDocumentController $move_notice = ''; $properties = null; $content = null; + $toc = null; if (!$document) { @@ -53,6 +54,7 @@ final class PhrictionDocumentController $page_title = pht('Page Not Found'); } else { $version = $request->getInt('v'); + if ($version) { $content = id(new PhrictionContent())->loadOneWhere( 'documentID = %d AND version = %d', @@ -74,7 +76,6 @@ final class PhrictionDocumentController $content = id(new PhrictionContent())->load($document->getContentID()); } $page_title = $content->getTitle(); - $properties = $this ->buildPropertyListView($document, $content, $slug); @@ -84,6 +85,8 @@ final class PhrictionDocumentController $current_status == PhrictionChangeType::CHANGE_MOVE_HERE) { $core_content = $content->renderContent($viewer); + $toc = $this->getToc($content); + } else if ($current_status == PhrictionChangeType::CHANGE_DELETE) { $notice = new PHUIInfoView(); $notice->setSeverity(PHUIInfoView::SEVERITY_NOTICE); @@ -102,7 +105,6 @@ final class PhrictionDocumentController $core_content = $notice->render(); } else if ($current_status == PhrictionChangeType::CHANGE_MOVE_AWAY) { $new_doc_id = $content->getChangeRef(); - $slug_uri = null; // If the new document exists and the viewer can see it, provide a link @@ -212,11 +214,12 @@ final class PhrictionDocumentController $prop_list->addPropertyList($properties); } - $page_content = id(new PHUIDocumentView()) + $page_content = id(new PHUIDocumentViewPro()) ->setHeader($header) + ->setPropertyList($prop_list) + ->setToc($toc) ->appendChild( array( - $prop_list, $version_note, $move_notice, $core_content, @@ -230,7 +233,8 @@ final class PhrictionDocumentController ), array( 'pageObjects' => array($document->getPHID()), - 'title' => $page_title, + 'title' => $page_title, + 'class' => 'pro-white-background', )); } @@ -278,6 +282,7 @@ final class PhrictionDocumentController $action_view->addAction( id(new PhabricatorActionView()) ->setName(pht('Edit Document')) + ->setDisabled(!$can_edit) ->setIcon('fa-pencil') ->setHref('/phriction/edit/'.$document->getID().'/')); @@ -285,6 +290,7 @@ final class PhrictionDocumentController $action_view->addAction( id(new PhabricatorActionView()) ->setName(pht('Move Document')) + ->setDisabled(!$can_edit) ->setIcon('fa-arrows') ->setHref('/phriction/move/'.$document->getID().'/') ->setWorkflow(true)); @@ -292,6 +298,7 @@ final class PhrictionDocumentController $action_view->addAction( id(new PhabricatorActionView()) ->setName(pht('Delete Document')) + ->setDisabled(!$can_edit) ->setIcon('fa-times') ->setHref('/phriction/delete/'.$document->getID().'/') ->setWorkflow(true)); @@ -431,7 +438,7 @@ final class PhrictionDocumentController ), $list))); - return phutil_tag_div('phui-document-box', $box); + return phutil_tag_div('phui-document-view-pro-box', $box); } private function renderChildDocumentLink(array $info) { @@ -454,4 +461,17 @@ final class PhrictionDocumentController return $this->slug; } + protected function getToc(PhrictionContent $content) { + $toc = $content->getRenderedTableOfContents(); + if ($toc) { + $toc = phutil_tag_div('phui-document-toc-content', array( + phutil_tag_div( + 'phui-document-toc-header', + pht('Contents')), + $toc, + )); + } + return $toc; + } + } diff --git a/src/applications/phriction/controller/PhrictionEditController.php b/src/applications/phriction/controller/PhrictionEditController.php index 65c4fcf062..466d721a03 100644 --- a/src/applications/phriction/controller/PhrictionEditController.php +++ b/src/applications/phriction/controller/PhrictionEditController.php @@ -268,10 +268,10 @@ final class PhrictionEditController ->setForm($form); $preview = id(new PHUIRemarkupPreviewPanel()) - ->setHeader(pht('Document Preview')) + ->setHeader($content->getTitle()) ->setPreviewURI('/phriction/preview/') ->setControlID('document-textarea') - ->addClass('phui-document-view'); + ->setPreviewType(PHUIRemarkupPreviewPanel::DOCUMENT); $crumbs = $this->buildApplicationCrumbs(); if ($document->getID()) { diff --git a/src/applications/phriction/storage/PhrictionContent.php b/src/applications/phriction/storage/PhrictionContent.php index d58020e5ab..ae01970c95 100644 --- a/src/applications/phriction/storage/PhrictionContent.php +++ b/src/applications/phriction/storage/PhrictionContent.php @@ -17,6 +17,7 @@ final class PhrictionContent extends PhrictionDAO protected $slug; protected $content; protected $description; + protected $renderedTableOfContents; protected $changeType; protected $changeRef; @@ -98,27 +99,25 @@ final class PhrictionContent extends PhrictionDAO $output, PhutilMarkupEngine $engine) { - $classes = array(); - $classes[] = 'phabricator-remarkup'; - $toc = PhutilRemarkupHeaderBlockRule::renderTableOfContents( - $engine); - - if ($toc) { - $classes[] = 'remarkup-has-toc'; - $toc = phutil_tag_div('phabricator-remarkup-toc', array( - phutil_tag_div( - 'phabricator-remarkup-toc-header', - pht('Table of Contents')), - $toc, - )); - } + $this->renderedTableOfContents = + PhutilRemarkupHeaderBlockRule::renderTableOfContents($engine); return phutil_tag( 'div', array( - 'class' => implode(' ', $classes), + 'class' => 'phabricator-remarkup', ), - array($toc, $output)); + $output); + } + + /** + * @task markup + */ + public function getRenderedTableOfContents() { + if ($this->renderedTableOfContents === null) { + throw new PhutilInvalidStateException('didMarkupText'); + } + return $this->renderedTableOfContents; } diff --git a/src/view/phui/PHUIDocumentViewPro.php b/src/view/phui/PHUIDocumentViewPro.php index 1fbdd11cfc..94854fba96 100644 --- a/src/view/phui/PHUIDocumentViewPro.php +++ b/src/view/phui/PHUIDocumentViewPro.php @@ -31,7 +31,7 @@ final class PHUIDocumentViewPro extends AphrontTagView { return $this; } - public function setToc(PHUIListView $toc) { + public function setToc($toc) { $this->toc = $toc; return $this; } diff --git a/src/view/phui/PHUIRemarkupPreviewPanel.php b/src/view/phui/PHUIRemarkupPreviewPanel.php index 1e10e8ec3f..5a0d8cfd84 100644 --- a/src/view/phui/PHUIRemarkupPreviewPanel.php +++ b/src/view/phui/PHUIRemarkupPreviewPanel.php @@ -9,6 +9,9 @@ final class PHUIRemarkupPreviewPanel extends AphrontTagView { private $loadingText; private $controlID; private $previewURI; + private $previewType; + + const DOCUMENT = 'document'; protected function canAppendChild() { return false; @@ -34,6 +37,11 @@ final class PHUIRemarkupPreviewPanel extends AphrontTagView { return $this; } + public function setPreviewType($type) { + $this->previewType = $type; + return $this; + } + protected function getTagName() { return 'div'; } @@ -73,16 +81,6 @@ final class PHUIRemarkupPreviewPanel extends AphrontTagView { ), nonempty($this->loadingText, pht('Loading preview...'))); - $header = null; - if ($this->header) { - $header = phutil_tag( - 'div', - array( - 'class' => 'phui-preview-header', - ), - $this->header); - } - $preview = phutil_tag( 'div', array( @@ -91,7 +89,26 @@ final class PHUIRemarkupPreviewPanel extends AphrontTagView { ), $loading); - $content = array($header, $preview); + if (!$this->previewType) { + $header = null; + if ($this->header) { + $header = phutil_tag( + 'div', + array( + 'class' => 'phui-preview-header', + ), + $this->header); + } + $content = array($header, $preview); + + } else if ($this->previewType == self::DOCUMENT) { + $header = id(new PHUIHeaderView()) + ->setHeader(pht('%s (Document Preview)', $this->header)); + + $content = id(new PHUIDocumentViewPro()) + ->setHeader($header) + ->appendChild($preview); + } return id(new PHUIObjectBoxView()) ->appendChild($content) diff --git a/webroot/rsrc/css/core/remarkup.css b/webroot/rsrc/css/core/remarkup.css index dc79a4cb64..22d859cfc3 100644 --- a/webroot/rsrc/css/core/remarkup.css +++ b/webroot/rsrc/css/core/remarkup.css @@ -155,8 +155,11 @@ margin: 4px 0; } -.phabricator-remarkup .remarkup-header + .remarkup-header { - margin-top: 0px; +.phabricator-remarkup h3.remarkup-header + h4.remarkup-header { + color: {$bluetext}; + font-weight: normal; + margin-bottom: 16px; + margin-top: -4px; } .phabricator-remarkup blockquote { @@ -363,12 +366,12 @@ body div.phabricator-remarkup.remarkup-has-toc padding-top: 0; } -body .phabricator-remarkup > *:first-child, -body .phabricator-remarkup .remarkup-header + * { +body .phabricator-standard-page div.phabricator-remarkup *:first-child, +body .phabricator-standard-page div.phabricator-remarkup .remarkup-header + * { margin-top: 0; } -body .phabricator-remarkup *:last-child { +body div.phabricator-remarkup *:last-child { margin-bottom: 0; } diff --git a/webroot/rsrc/css/phui/phui-document-pro.css b/webroot/rsrc/css/phui/phui-document-pro.css index 47aa677105..7d211ab956 100644 --- a/webroot/rsrc/css/phui/phui-document-pro.css +++ b/webroot/rsrc/css/phui/phui-document-pro.css @@ -73,6 +73,20 @@ a.button.phui-document-toc { color: #fff; } +.phui-document-view-pro .phui-document-toc-content { + margin: 4px 12px; +} + +.phui-document-view-pro .phui-document-toc-header { + font-weight: bold; + color: {$bluetext}; + margin-bottom: 8px; +} + +.phui-document-view-pro .phui-document-toc-content li { + margin: 4px 8px; +} + .phui-document-view-pro .phui-document-content .phabricator-remarkup { padding: 16px 0; line-height: 1.7em; diff --git a/webroot/rsrc/css/phui/phui-document.css b/webroot/rsrc/css/phui/phui-document.css index eaf90dc468..1362c18bd2 100644 --- a/webroot/rsrc/css/phui/phui-document.css +++ b/webroot/rsrc/css/phui/phui-document.css @@ -122,10 +122,6 @@ display: none; } -.device-phone .phui-document-content .phabricator-remarkup-toc { - width: 120px; -} - .phui-document-content .phabricator-remarkup .remarkup-code-block { clear: both; margin: 16px 0; @@ -139,30 +135,6 @@ background-color: {$lightgreybackground}; } -.phui-document-view .phabricator-remarkup.remarkup-has-toc { - position: relative; - margin-right: 192px; -} - -.phui-document-view .remarkup-has-toc .phabricator-remarkup-toc { - position: absolute; - top: 0; - right: -186px; - bottom: 0; - border-left: 1px solid {$thinblueborder}; - padding: 16px 12px; - margin: 0; - font-size: 12px; -} - -.device-phone .phui-document-view .phabricator-remarkup.remarkup-has-toc { - margin-right: 0; -} - -.device-phone .phui-document-view .remarkup-has-toc .phabricator-remarkup-toc { - display: none; -} - body .phui-document-view .phui-header-shell.phui-bleed-header { padding: 0; } diff --git a/webroot/rsrc/css/phui/phui-fontkit.css b/webroot/rsrc/css/phui/phui-fontkit.css index 80a12f881a..ec711612ad 100644 --- a/webroot/rsrc/css/phui/phui-fontkit.css +++ b/webroot/rsrc/css/phui/phui-fontkit.css @@ -26,8 +26,11 @@ font-family: 'Aleo', {$fontfamily}; } +.phui-document-view .phabricator-remarkup .remarkup-header { + margin-bottom: 8px; +} + .phui-document-view .phabricator-remarkup h2.remarkup-header { padding: 0 24px 8px 0; - border-bottom: 1px solid {$thinblueborder}; - margin: 32px 0 16px; + margin: 32px 0 4px; } From 449556ed8309eeadc50c577f614e869a92a3c082 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 22 Nov 2015 13:15:40 -0800 Subject: [PATCH 04/30] Make rendered table of contents private in Phriction Summary: Oops, I missed this -- when properties are `protected`, Lisk assumes they database properties which should be stored and read from the database. To make Lisk ignore a property, make it `private`. Test Plan: Should fix this: {F990757} Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D14538 --- src/applications/phriction/storage/PhrictionContent.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/applications/phriction/storage/PhrictionContent.php b/src/applications/phriction/storage/PhrictionContent.php index ae01970c95..55c47c91e0 100644 --- a/src/applications/phriction/storage/PhrictionContent.php +++ b/src/applications/phriction/storage/PhrictionContent.php @@ -17,11 +17,12 @@ final class PhrictionContent extends PhrictionDAO protected $slug; protected $content; protected $description; - protected $renderedTableOfContents; protected $changeType; protected $changeRef; + private $renderedTableOfContents; + public function renderContent(PhabricatorUser $viewer) { return PhabricatorMarkupEngine::renderOneObject( $this, From d7212d855e10902e95604858d2e12e8970759150 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 22 Nov 2015 14:14:47 -0800 Subject: [PATCH 05/30] Fix edits of Ponder comments which mention other objects Summary: Fixes T9806. See some discussion there. Test Plan: - Edited a comment with `T12` in it. - Before change: exception. - After change: no exception. Reviewers: chad Reviewed By: chad Maniphest Tasks: T9806 Differential Revision: https://secure.phabricator.com/D14539 --- src/applications/ponder/editor/PonderAnswerEditor.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/applications/ponder/editor/PonderAnswerEditor.php b/src/applications/ponder/editor/PonderAnswerEditor.php index 521c1948ed..10a90a1945 100644 --- a/src/applications/ponder/editor/PonderAnswerEditor.php +++ b/src/applications/ponder/editor/PonderAnswerEditor.php @@ -10,6 +10,7 @@ final class PonderAnswerEditor extends PonderEditor { $types = parent::getTransactionTypes(); $types[] = PhabricatorTransactions::TYPE_COMMENT; + $types[] = PhabricatorTransactions::TYPE_EDGE; $types[] = PonderAnswerTransaction::TYPE_CONTENT; $types[] = PonderAnswerTransaction::TYPE_STATUS; From 9aee90f8c1e8e17cfebc41855ffee2dbd30ca8a7 Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 17 Nov 2015 09:33:06 -0800 Subject: [PATCH 06/30] Allow form configurations to retitle and reorder forms and add preambles Summary: Ref T9132. This just makes edited forms do //something//, albeit not anything very useful yet. You can now edit a form and: - Retitle it; - add a preamble (instructions on top of the form); and - reorder the form's fields. Test Plan: {F974632} {F974633} {F974634} {F974635} {F974636} Reviewers: chad Reviewed By: chad Subscribers: hach-que Maniphest Tasks: T9132 Differential Revision: https://secure.phabricator.com/D14503 --- resources/celerity/map.php | 9 ++ src/__phutil_library_map__.php | 4 + .../base/PhabricatorApplication.php | 10 +- .../PhabricatorTransactionsApplication.php | 2 + ...itEngineConfigurationReorderController.php | 123 ++++++++++++++++++ ...rEditEngineConfigurationViewController.php | 60 ++++++++- .../editengine/PhabricatorEditEngine.php | 45 +++++-- .../PhabricatorEditEngineAPIMethod.php | 2 +- .../editfield/PhabricatorEditField.php | 29 ++++- .../PhabricatorRemarkupEditField.php | 10 ++ ...catorEditEngineConfigurationEditEngine.php | 22 +++- ...abricatorEditEngineConfigurationEditor.php | 16 +++ ...habricatorEditEngineConfigurationQuery.php | 25 ++++ .../query/PhabricatorEditEngineQuery.php | 22 ++++ .../PhabricatorEditEngineConfiguration.php | 29 ++++- ...atorEditEngineConfigurationTransaction.php | 2 + .../transactions/behavior-reorder-fields.js | 32 +++++ 17 files changed, 408 insertions(+), 34 deletions(-) create mode 100644 src/applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php create mode 100644 src/applications/transactions/editfield/PhabricatorRemarkupEditField.php create mode 100644 webroot/rsrc/js/application/transactions/behavior-reorder-fields.js diff --git a/resources/celerity/map.php b/resources/celerity/map.php index f8d15a1af0..c45f8f5346 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -419,6 +419,7 @@ return array( 'rsrc/js/application/repository/repository-crossreference.js' => 'e5339c43', 'rsrc/js/application/search/behavior-reorder-queries.js' => 'e9581f08', 'rsrc/js/application/slowvote/behavior-slowvote-embed.js' => '887ad43f', + 'rsrc/js/application/transactions/behavior-reorder-fields.js' => 'b59e1e96', 'rsrc/js/application/transactions/behavior-show-older-transactions.js' => 'dbbf48b6', 'rsrc/js/application/transactions/behavior-transaction-comment-form.js' => 'b23b49e6', 'rsrc/js/application/transactions/behavior-transaction-list.js' => '13c739ea', @@ -591,6 +592,7 @@ return array( 'javelin-behavior-doorkeeper-tag' => 'e5822781', 'javelin-behavior-drydock-live-operation-status' => '901935ef', 'javelin-behavior-durable-column' => 'c72aa091', + 'javelin-behavior-editengine-reorder-fields' => 'b59e1e96', 'javelin-behavior-error-log' => '6882e80a', 'javelin-behavior-event-all-day' => '38dcf3c8', 'javelin-behavior-fancy-datepicker' => '8ae55229', @@ -1714,6 +1716,13 @@ return array( 'javelin-typeahead-preloaded-source', 'javelin-util', ), + 'b59e1e96' => array( + 'javelin-behavior', + 'javelin-stratcom', + 'javelin-workflow', + 'javelin-dom', + 'phabricator-draggable-list', + ), 'b5c256b8' => array( 'javelin-install', 'javelin-dom', diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 87c661c4a5..0f239ea0ad 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -2118,6 +2118,7 @@ phutil_register_library_map(array( 'PhabricatorEditEngineConfigurationListController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationListController.php', 'PhabricatorEditEngineConfigurationPHIDType' => 'applications/transactions/phid/PhabricatorEditEngineConfigurationPHIDType.php', 'PhabricatorEditEngineConfigurationQuery' => 'applications/transactions/query/PhabricatorEditEngineConfigurationQuery.php', + 'PhabricatorEditEngineConfigurationReorderController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php', 'PhabricatorEditEngineConfigurationSaveController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationSaveController.php', 'PhabricatorEditEngineConfigurationSearchEngine' => 'applications/transactions/query/PhabricatorEditEngineConfigurationSearchEngine.php', 'PhabricatorEditEngineConfigurationTransaction' => 'applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php', @@ -2810,6 +2811,7 @@ phutil_register_library_map(array( 'PhabricatorRemarkupCowsayBlockInterpreter' => 'infrastructure/markup/interpreter/PhabricatorRemarkupCowsayBlockInterpreter.php', 'PhabricatorRemarkupCustomBlockRule' => 'infrastructure/markup/rule/PhabricatorRemarkupCustomBlockRule.php', 'PhabricatorRemarkupCustomInlineRule' => 'infrastructure/markup/rule/PhabricatorRemarkupCustomInlineRule.php', + 'PhabricatorRemarkupEditField' => 'applications/transactions/editfield/PhabricatorRemarkupEditField.php', 'PhabricatorRemarkupFigletBlockInterpreter' => 'infrastructure/markup/interpreter/PhabricatorRemarkupFigletBlockInterpreter.php', 'PhabricatorRemarkupUIExample' => 'applications/uiexample/examples/PhabricatorRemarkupUIExample.php', 'PhabricatorRepositoriesSetupCheck' => 'applications/config/check/PhabricatorRepositoriesSetupCheck.php', @@ -6209,6 +6211,7 @@ phutil_register_library_map(array( 'PhabricatorEditEngineConfigurationListController' => 'PhabricatorEditEngineController', 'PhabricatorEditEngineConfigurationPHIDType' => 'PhabricatorPHIDType', 'PhabricatorEditEngineConfigurationQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', + 'PhabricatorEditEngineConfigurationReorderController' => 'PhabricatorEditEngineController', 'PhabricatorEditEngineConfigurationSaveController' => 'PhabricatorEditEngineController', 'PhabricatorEditEngineConfigurationSearchEngine' => 'PhabricatorApplicationSearchEngine', 'PhabricatorEditEngineConfigurationTransaction' => 'PhabricatorApplicationTransaction', @@ -7021,6 +7024,7 @@ phutil_register_library_map(array( 'PhabricatorRemarkupCowsayBlockInterpreter' => 'PhutilRemarkupBlockInterpreter', 'PhabricatorRemarkupCustomBlockRule' => 'PhutilRemarkupBlockRule', 'PhabricatorRemarkupCustomInlineRule' => 'PhutilRemarkupRule', + 'PhabricatorRemarkupEditField' => 'PhabricatorEditField', 'PhabricatorRemarkupFigletBlockInterpreter' => 'PhutilRemarkupBlockInterpreter', 'PhabricatorRemarkupUIExample' => 'PhabricatorUIExample', 'PhabricatorRepositoriesSetupCheck' => 'PhabricatorSetupCheck', diff --git a/src/applications/base/PhabricatorApplication.php b/src/applications/base/PhabricatorApplication.php index 8dce30290d..f4b43a0ed1 100644 --- a/src/applications/base/PhabricatorApplication.php +++ b/src/applications/base/PhabricatorApplication.php @@ -636,7 +636,15 @@ abstract class PhabricatorApplication } protected function getEditRoutePattern($base = null) { - return $base.'(?:(?P[0-9]\d*)/)?(?:(?Pparameters)/)?'; + return $base.'(?:'. + '(?P[0-9]\d*)/)?'. + '(?:'. + '(?:'. + '(?Pparameters)'. + '|'. + '(?:form/(?P[^/]+))'. + ')'. + '/)?'; } protected function getQueryRoutePattern($base = null) { diff --git a/src/applications/transactions/application/PhabricatorTransactionsApplication.php b/src/applications/transactions/application/PhabricatorTransactionsApplication.php index 260fa889b4..1f78c71bd2 100644 --- a/src/applications/transactions/application/PhabricatorTransactionsApplication.php +++ b/src/applications/transactions/application/PhabricatorTransactionsApplication.php @@ -45,6 +45,8 @@ final class PhabricatorTransactionsApplication extends PhabricatorApplication { 'PhabricatorEditEngineConfigurationViewController', 'save/(?P[^/]+)/' => 'PhabricatorEditEngineConfigurationSaveController', + 'reorder/(?P[^/]+)/' => + 'PhabricatorEditEngineConfigurationReorderController', ), ), ), diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php new file mode 100644 index 0000000000..15eb9530fd --- /dev/null +++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php @@ -0,0 +1,123 @@ +getURIData('engineKey'); + $this->setEngineKey($engine_key); + + $key = $request->getURIData('key'); + $viewer = $this->getViewer(); + + $config = id(new PhabricatorEditEngineConfigurationQuery()) + ->setViewer($viewer) + ->withEngineKeys(array($engine_key)) + ->withIdentifiers(array($key)) + ->requireCapabilities( + array( + PhabricatorPolicyCapability::CAN_VIEW, + PhabricatorPolicyCapability::CAN_EDIT, + )) + ->executeOne(); + if (!$config) { + return id(new Aphront404Response()); + } + + $cancel_uri = "/transactions/editengine/{$engine_key}/view/{$key}/"; + $reorder_uri = "/transactions/editengine/{$engine_key}/reorder/{$key}/"; + + if ($request->isFormPost()) { + $xactions = array(); + $key_order = $request->getStrList('keyOrder'); + + $type_order = PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER; + + $xactions[] = id(new PhabricatorEditEngineConfigurationTransaction()) + ->setTransactionType($type_order) + ->setNewValue($key_order); + + $editor = id(new PhabricatorEditEngineConfigurationEditor()) + ->setActor($viewer) + ->setContentSourceFromRequest($request) + ->setContinueOnMissingFields(true) + ->setContinueOnNoEffect(true); + + $editor->applyTransactions($config, $xactions); + + return id(new AphrontRedirectResponse()) + ->setURI($cancel_uri); + } + + $engine = $config->getEngine(); + $fields = $engine->getFieldsForConfig($config); + + $list_id = celerity_generate_unique_node_id(); + $input_id = celerity_generate_unique_node_id(); + + $list = id(new PHUIObjectItemListView()) + ->setUser($viewer) + ->setID($list_id) + ->setFlush(true); + + $key_order = array(); + foreach ($fields as $field) { + if (!$field->getIsReorderable()) { + continue; + } + + $label = $field->getLabel(); + $key = $field->getKey(); + + if ($label !== null) { + $header = $label; + } else { + $header = $key; + } + + $item = id(new PHUIObjectItemView()) + ->setHeader($header) + ->setGrippable(true) + ->addSigil('editengine-form-field') + ->setMetadata( + array( + 'fieldKey' => $key, + )); + + $list->addItem($item); + + $key_order[] = $key; + } + + Javelin::initBehavior( + 'editengine-reorder-fields', + array( + 'listID' => $list_id, + 'inputID' => $input_id, + 'reorderURI' => $reorder_uri, + )); + + $note = id(new PHUIInfoView()) + ->appendChild(pht('Drag and drop fields to reorder them.')) + ->setSeverity(PHUIInfoView::SEVERITY_NOTICE); + + $input = phutil_tag( + 'input', + array( + 'type' => 'hidden', + 'name' => 'keyOrder', + 'value' => implode(', ', $key_order), + 'id' => $input_id, + )); + + return $this->newDialog() + ->setTitle(pht('Reorder Fields')) + ->setWidth(AphrontDialogView::WIDTH_FORM) + ->appendChild($note) + ->appendChild($list) + ->appendChild($input) + ->addSubmitButton(pht('Save Changes')) + ->addCancelButton($cancel_uri); + } + +} diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php index f65eed1746..deeed6252a 100644 --- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php +++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php @@ -39,6 +39,8 @@ final class PhabricatorEditEngineConfigurationViewController ->setHeader($header) ->addPropertyList($properties); + $field_list = $this->buildFieldList($config); + $crumbs = $this->buildApplicationCrumbs(); if ($is_concrete) { @@ -62,6 +64,7 @@ final class PhabricatorEditEngineConfigurationViewController ->appendChild( array( $box, + $field_list, $timeline, )); } @@ -69,7 +72,8 @@ final class PhabricatorEditEngineConfigurationViewController private function buildActionView( PhabricatorEditEngineConfiguration $config) { $viewer = $this->getViewer(); - $engine_key = $this->getEngineKey(); + $engine = $config->getEngine(); + $engine_key = $engine->getEngineKey(); $can_edit = PhabricatorPolicyFilter::hasCapability( $viewer, @@ -79,13 +83,13 @@ final class PhabricatorEditEngineConfigurationViewController $view = id(new PhabricatorActionListView()) ->setUser($viewer); - $key = $config->getIdentifier(); + $form_key = $config->getIdentifier(); $base_uri = "/transactions/editengine/{$engine_key}"; $is_concrete = (bool)$config->getID(); if (!$is_concrete) { - $save_uri = "{$base_uri}/save/{$key}/"; + $save_uri = "{$base_uri}/save/{$form_key}/"; $view->addAction( id(new PhabricatorActionView()) @@ -97,7 +101,7 @@ final class PhabricatorEditEngineConfigurationViewController $can_edit = false; } else { - $edit_uri = "{$base_uri}/edit/{$key}/"; + $edit_uri = "{$base_uri}/edit/{$form_key}/"; $view->addAction( id(new PhabricatorActionView()) ->setName(pht('Edit Form Configuration')) @@ -107,6 +111,24 @@ final class PhabricatorEditEngineConfigurationViewController ->setHref($edit_uri)); } + $use_uri = $engine->getEditURI(null, "form/{$form_key}/"); + + $view->addAction( + id(new PhabricatorActionView()) + ->setName(pht('Use Form')) + ->setIcon('fa-th-list') + ->setHref($use_uri)); + + $reorder_uri = "{$base_uri}/reorder/{$form_key}/"; + + $view->addAction( + id(new PhabricatorActionView()) + ->setName(pht('Reorder Fields')) + ->setIcon('fa-sort-alpha-asc') + ->setHref($reorder_uri) + ->setWorkflow(true) + ->setDisabled(!$can_edit)); + return $view; } @@ -121,5 +143,35 @@ final class PhabricatorEditEngineConfigurationViewController return $properties; } + private function buildFieldList(PhabricatorEditEngineConfiguration $config) { + $viewer = $this->getViewer(); + $engine = $config->getEngine(); + + $fields = $engine->getFieldsForConfig($config); + + $form = id(new AphrontFormView()) + ->setUser($viewer) + ->setAction(null); + + foreach ($fields as $field) { + $field->setIsPreview(true); + + $field->appendToForm($form); + } + + $info = id(new PHUIInfoView()) + ->setSeverity(PHUIInfoView::SEVERITY_NOTICE) + ->setErrors( + array( + pht('This is a preview of the current form configuration.'), + )); + + $box = id(new PHUIObjectBoxView()) + ->setHeaderText(pht('Form Preview')) + ->setInfoView($info) + ->setForm($form); + + return $box; + } } diff --git a/src/applications/transactions/editengine/PhabricatorEditEngine.php b/src/applications/transactions/editengine/PhabricatorEditEngine.php index 13c2b3e017..f195664702 100644 --- a/src/applications/transactions/editengine/PhabricatorEditEngine.php +++ b/src/applications/transactions/editengine/PhabricatorEditEngine.php @@ -46,6 +46,11 @@ abstract class PhabricatorEditEngine return $this->getPhobjectClassConstant('ENGINECONST', 64); } + final public function getApplication() { + $app_class = $this->getEngineApplicationClass(); + return PhabricatorApplication::getByClass($app_class); + } + /* -( Managing Fields )---------------------------------------------------- */ @@ -53,6 +58,15 @@ abstract class PhabricatorEditEngine abstract public function getEngineApplicationClass(); abstract protected function buildCustomEditFields($object); + public function getFieldsForConfig( + PhabricatorEditEngineConfiguration $config) { + + $object = $this->newEditableObject(); + $this->editEngineConfiguration = $config; + + return $this->buildEditFields($object); + } + final protected function buildEditFields($object) { $viewer = $this->getViewer(); $editor = $object->getApplicationTransactionEditor(); @@ -129,6 +143,7 @@ abstract class PhabricatorEditEngine ->setEditTypeKey('space') ->setDescription( pht('Shifts the object in the Spaces application.')) + ->setIsReorderable(false) ->setAliases(array('space', 'policy.space')) ->setTransactionType($type_space) ->setValue($object->getSpacePHID()); @@ -222,6 +237,13 @@ abstract class PhabricatorEditEngine */ abstract protected function getObjectCreateTitleText($object); + /** + * @task text + */ + protected function getFormHeaderText($object) { + $config = $this->getEditEngineConfiguration(); + return $config->getName(); + } /** * @task text @@ -384,16 +406,16 @@ abstract class PhabricatorEditEngine /** * @task uri */ - protected function getObjectEditURI($object) { - return $this->getController()->getApplicationURI('edit/'); + protected function getObjectCreateCancelURI($object) { + return $this->getApplication()->getApplicationURI(); } /** * @task uri */ - protected function getObjectCreateCancelURI($object) { - return $this->getController()->getApplicationURI(); + protected function getEditorURI() { + return $this->getApplication()->getApplicationURI('edit/'); } @@ -408,12 +430,12 @@ abstract class PhabricatorEditEngine /** * @task uri */ - protected function getEditURI($object, $path = null) { - $parts = array( - $this->getObjectEditURI($object), - ); + public function getEditURI($object = null, $path = null) { + $parts = array(); - if (!$this->getIsCreate()) { + $parts[] = $this->getEditorURI(); + + if ($object && $object->getID()) { $parts[] = $object->getID().'/'; } @@ -563,7 +585,8 @@ abstract class PhabricatorEditEngine $controller = $this->getController(); $request = $controller->getRequest(); - $config = $this->loadEditEngineConfiguration($request->getURIData('form')); + $form_key = $request->getURIData('formKey'); + $config = $this->loadEditEngineConfiguration($form_key); if (!$config) { return new Aphront404Response(); } @@ -668,7 +691,7 @@ abstract class PhabricatorEditEngine $action_button = $this->buildEditFormActionButton($object); if ($this->getIsCreate()) { - $header_text = $this->getObjectCreateTitleText($object); + $header_text = $this->getFormHeaderText($object); } else { $header_text = $this->getObjectEditTitleText($object); } diff --git a/src/applications/transactions/editengine/PhabricatorEditEngineAPIMethod.php b/src/applications/transactions/editengine/PhabricatorEditEngineAPIMethod.php index cb7662c7ba..ca6b9fe370 100644 --- a/src/applications/transactions/editengine/PhabricatorEditEngineAPIMethod.php +++ b/src/applications/transactions/editengine/PhabricatorEditEngineAPIMethod.php @@ -39,7 +39,7 @@ abstract class PhabricatorEditEngineAPIMethod final public function getMethodDescription() { // TODO: We don't currently have a real viewer in this method. - $viewer = new PhabricatorUser(); + $viewer = PhabricatorUser::getOmnipotentUser(); $engine = $this->newEditEngine() ->setViewer($viewer); diff --git a/src/applications/transactions/editfield/PhabricatorEditField.php b/src/applications/transactions/editfield/PhabricatorEditField.php index 55815c3c4d..58a1435c0c 100644 --- a/src/applications/transactions/editfield/PhabricatorEditField.php +++ b/src/applications/transactions/editfield/PhabricatorEditField.php @@ -14,6 +14,8 @@ abstract class PhabricatorEditField extends Phobject { private $description; private $editTypeKey; private $isLocked; + private $isPreview; + private $isReorderable = true; public function setKey($key) { $this->key = $key; @@ -78,6 +80,24 @@ abstract class PhabricatorEditField extends Phobject { return $this->isLocked; } + public function setIsPreview($preview) { + $this->isPreview = $preview; + return $this; + } + + public function getIsPreview() { + return $this->isPreview; + } + + public function setIsReorderable($is_reorderable) { + $this->isReorderable = $is_reorderable; + return $this; + } + + public function getIsReorderable() { + return $this->isReorderable; + } + protected function newControl() { throw new PhutilMethodNotImplementedException(); } @@ -96,7 +116,7 @@ abstract class PhabricatorEditField extends Phobject { $control->setLabel($this->getLabel()); } - if ($this->getIsLocked()) { + if ($this->getIsLocked() || $this->getIsPreview()) { $control->setDisabled(true); } @@ -149,9 +169,6 @@ abstract class PhabricatorEditField extends Phobject { } public function getTransactionType() { - if (!$this->transactionType) { - throw new PhutilInvalidStateException('setTransactionType'); - } return $this->transactionType; } @@ -257,6 +274,10 @@ abstract class PhabricatorEditField extends Phobject { public function getEditTransactionTypes() { $transaction_type = $this->getTransactionType(); + if ($transaction_type === null) { + return array(); + } + $type_key = $this->getEditTypeKey(); // TODO: This is a pretty big pile of hard-coded hacks for now. diff --git a/src/applications/transactions/editfield/PhabricatorRemarkupEditField.php b/src/applications/transactions/editfield/PhabricatorRemarkupEditField.php new file mode 100644 index 0000000000..ff0621830f --- /dev/null +++ b/src/applications/transactions/editfield/PhabricatorRemarkupEditField.php @@ -0,0 +1,10 @@ +getTargetEngine()->getEngineKey(); $id = $object->getID(); - return "/transactions/editengine/{$engine_key}/view/{$id}/"; + return $this->getURI("view/{$id}/"); } - protected function getObjectEditURI($object) { - $engine_key = $this->getTargetEngine()->getEngineKey(); - $id = $object->getID(); - return "/transactions/editengine/{$engine_key}/edit/{$id}/"; + protected function getEditorURI() { + return $this->getURI('edit/'); } protected function getObjectCreateCancelURI($object) { + return $this->getURI(); + } + + private function getURI($path = null) { $engine_key = $this->getTargetEngine()->getEngineKey(); - return "/transactions/editengine/{$engine_key}/"; + return "/transactions/editengine/{$engine_key}/{$path}"; } protected function buildCustomEditFields($object) { @@ -76,6 +77,13 @@ final class PhabricatorEditEngineConfigurationEditEngine ->setTransactionType( PhabricatorEditEngineConfigurationTransaction::TYPE_NAME) ->setValue($object->getName()), + id(new PhabricatorRemarkupEditField()) + ->setKey('preamble') + ->setLabel(pht('Preamble')) + ->setDescription(pht('Optional instructions, shown above the form.')) + ->setTransactionType( + PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE) + ->setValue($object->getPreamble()), ); } diff --git a/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php b/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php index 4736e89efa..626e63f852 100644 --- a/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php +++ b/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php @@ -18,6 +18,8 @@ final class PhabricatorEditEngineConfigurationEditor $types[] = PhabricatorTransactions::TYPE_EDIT_POLICY; $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_NAME; + $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; + $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER; return $types; } @@ -57,6 +59,10 @@ final class PhabricatorEditEngineConfigurationEditor switch ($xaction->getTransactionType()) { case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME: return $object->getName(); + case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; + return $object->getPreamble(); + case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER: + return $object->getFieldOrder(); } } @@ -66,6 +72,8 @@ final class PhabricatorEditEngineConfigurationEditor switch ($xaction->getTransactionType()) { case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME: + case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; + case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER: return $xaction->getNewValue(); } } @@ -78,6 +86,12 @@ final class PhabricatorEditEngineConfigurationEditor case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); return; + case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; + $object->setPreamble($xaction->getNewValue()); + return; + case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER: + $object->setFieldOrder($xaction->getNewValue()); + return; } return parent::applyCustomInternalTransaction($object, $xaction); @@ -89,6 +103,8 @@ final class PhabricatorEditEngineConfigurationEditor switch ($xaction->getTransactionType()) { case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME: + case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; + case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER; return; } diff --git a/src/applications/transactions/query/PhabricatorEditEngineConfigurationQuery.php b/src/applications/transactions/query/PhabricatorEditEngineConfigurationQuery.php index b1c573f775..6fc91dffbc 100644 --- a/src/applications/transactions/query/PhabricatorEditEngineConfigurationQuery.php +++ b/src/applications/transactions/query/PhabricatorEditEngineConfigurationQuery.php @@ -134,6 +134,31 @@ final class PhabricatorEditEngineConfigurationQuery return $page; } + protected function willFilterPage(array $configs) { + $engine_keys = mpull($configs, 'getEngineKey'); + + $engines = id(new PhabricatorEditEngineQuery()) + ->setParentQuery($this) + ->setViewer($this->getViewer()) + ->withEngineKeys($engine_keys) + ->execute(); + $engines = mpull($engines, null, 'getEngineKey'); + + foreach ($configs as $key => $config) { + $engine = idx($engines, $config->getEngineKey()); + + if (!$engine) { + $this->didRejectResult($config); + unset($configs[$key]); + continue; + } + + $config->attachEngine($engine); + } + + return $configs; + } + protected function buildWhereClauseParts(AphrontDatabaseConnection $conn) { $where = parent::buildWhereClauseParts($conn); diff --git a/src/applications/transactions/query/PhabricatorEditEngineQuery.php b/src/applications/transactions/query/PhabricatorEditEngineQuery.php index 62d5f38c99..ffdbd88535 100644 --- a/src/applications/transactions/query/PhabricatorEditEngineQuery.php +++ b/src/applications/transactions/query/PhabricatorEditEngineQuery.php @@ -20,6 +20,28 @@ final class PhabricatorEditEngineQuery return $engines; } + protected function willFilterPage(array $engines) { + $viewer = $this->getViewer(); + + foreach ($engines as $key => $engine) { + $app_class = $engine->getEngineApplicationClass(); + if ($app_class === null) { + continue; + } + + $can_see = PhabricatorApplication::isClassInstalledForViewer( + $app_class, + $viewer); + if (!$can_see) { + $this->didRejectResult($engine); + unset($engines[$key]); + continue; + } + } + + return $engines; + } + public function getQueryApplicationClass() { return 'PhabricatorTransactionsApplication'; } diff --git a/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php b/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php index aed81bd8a3..a95375c53e 100644 --- a/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php +++ b/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php @@ -99,12 +99,13 @@ final class PhabricatorEditEngineConfiguration $fields = $this->reorderFields($fields); - $head_instructions = $this->getProperty('instructions.head'); - if (strlen($head_instructions)) { + $preamble = $this->getPreamble(); + if (strlen($preamble)) { $fields = array( - 'config.instructions.head' => id(new PhabricatorInstructionsEditField()) - ->setKey('config.instructions.head') - ->setValue($head_instructions), + 'config.preamble' => id(new PhabricatorInstructionsEditField()) + ->setKey('config.preamble') + ->setIsReorderable(false) + ->setValue($preamble), ) + $fields; } @@ -112,7 +113,7 @@ final class PhabricatorEditEngineConfiguration } private function reorderFields(array $fields) { - $keys = array(); + $keys = $this->getFieldOrder(); $fields = array_select_keys($fields, $keys) + $fields; // Now, move locked fields to the bottom. @@ -158,6 +159,22 @@ final class PhabricatorEditEngineConfiguration return pht('Untitled Form'); } + public function getPreamble() { + return $this->getProperty('preamble'); + } + + public function setPreamble($preamble) { + return $this->setProperty('preamble', $preamble); + } + + public function setFieldOrder(array $field_order) { + return $this->setProperty('order', $field_order); + } + + public function getFieldOrder() { + return $this->getProperty('order', array()); + } + /* -( PhabricatorPolicyInterface )----------------------------------------- */ diff --git a/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php b/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php index cbc7d2b911..77f5b4ef20 100644 --- a/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php +++ b/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php @@ -4,6 +4,8 @@ final class PhabricatorEditEngineConfigurationTransaction extends PhabricatorApplicationTransaction { const TYPE_NAME = 'editengine.config.name'; + const TYPE_PREAMBLE = 'editengine.config.preamble'; + const TYPE_ORDER = 'editengine.config.order'; public function getApplicationName() { return 'search'; diff --git a/webroot/rsrc/js/application/transactions/behavior-reorder-fields.js b/webroot/rsrc/js/application/transactions/behavior-reorder-fields.js new file mode 100644 index 0000000000..bfb31f35af --- /dev/null +++ b/webroot/rsrc/js/application/transactions/behavior-reorder-fields.js @@ -0,0 +1,32 @@ +/** + * @provides javelin-behavior-editengine-reorder-fields + * @requires javelin-behavior + * javelin-stratcom + * javelin-workflow + * javelin-dom + * phabricator-draggable-list + */ + +JX.behavior('editengine-reorder-fields', function(config) { + + var root = JX.$(config.listID); + + var list = new JX.DraggableList('editengine-form-field', root) + .setFindItemsHandler(function() { + return JX.DOM.scry(root, 'li', 'editengine-form-field'); + }); + + list.listen('didDrop', function() { + var nodes = list.findItems(); + + var data; + var keys = []; + for (var ii = 0; ii < nodes.length; ii++) { + data = JX.Stratcom.getData(nodes[ii]); + keys.push(data.fieldKey); + } + + JX.$(config.inputID).value = keys.join(','); + }); + +}); From 53d5cd395077b280c02ef51c069a4e7039a4a3e4 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 18 Nov 2015 10:38:12 -0800 Subject: [PATCH 07/30] Allow EditEngine forms to have defaults assigned Summary: Ref T9132. Allow form configurations to include defaults (like default projects, spaces, policies, etc). Test Plan: Defaulted "Language" to "Rainbow", plus other adjustments: {F975746} {F975747} {F975748} {F975749} Reviewers: chad Reviewed By: chad Maniphest Tasks: T9132 Differential Revision: https://secure.phabricator.com/D14508 --- src/__phutil_library_map__.php | 2 + .../PhabricatorTransactionsApplication.php | 2 + ...tEngineConfigurationDefaultsController.php | 111 ++++++++++++++++++ ...rEditEngineConfigurationViewController.php | 12 +- .../editengine/PhabricatorEditEngine.php | 4 + .../editfield/PhabricatorEditField.php | 43 ++++++- ...abricatorEditEngineConfigurationEditor.php | 10 ++ .../PhabricatorEditEngineConfiguration.php | 12 ++ ...atorEditEngineConfigurationTransaction.php | 41 +++++++ 9 files changed, 234 insertions(+), 3 deletions(-) create mode 100644 src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultsController.php diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 0f239ea0ad..02f66e7320 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -2112,6 +2112,7 @@ phutil_register_library_map(array( 'PhabricatorEditEngine' => 'applications/transactions/editengine/PhabricatorEditEngine.php', 'PhabricatorEditEngineAPIMethod' => 'applications/transactions/editengine/PhabricatorEditEngineAPIMethod.php', 'PhabricatorEditEngineConfiguration' => 'applications/transactions/storage/PhabricatorEditEngineConfiguration.php', + 'PhabricatorEditEngineConfigurationDefaultsController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultsController.php', 'PhabricatorEditEngineConfigurationEditController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationEditController.php', 'PhabricatorEditEngineConfigurationEditEngine' => 'applications/transactions/editor/PhabricatorEditEngineConfigurationEditEngine.php', 'PhabricatorEditEngineConfigurationEditor' => 'applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php', @@ -6205,6 +6206,7 @@ phutil_register_library_map(array( 'PhabricatorApplicationTransactionInterface', 'PhabricatorPolicyInterface', ), + 'PhabricatorEditEngineConfigurationDefaultsController' => 'PhabricatorEditEngineController', 'PhabricatorEditEngineConfigurationEditController' => 'PhabricatorEditEngineController', 'PhabricatorEditEngineConfigurationEditEngine' => 'PhabricatorEditEngine', 'PhabricatorEditEngineConfigurationEditor' => 'PhabricatorApplicationTransactionEditor', diff --git a/src/applications/transactions/application/PhabricatorTransactionsApplication.php b/src/applications/transactions/application/PhabricatorTransactionsApplication.php index 1f78c71bd2..9006a91ce3 100644 --- a/src/applications/transactions/application/PhabricatorTransactionsApplication.php +++ b/src/applications/transactions/application/PhabricatorTransactionsApplication.php @@ -47,6 +47,8 @@ final class PhabricatorTransactionsApplication extends PhabricatorApplication { 'PhabricatorEditEngineConfigurationSaveController', 'reorder/(?P[^/]+)/' => 'PhabricatorEditEngineConfigurationReorderController', + 'defaults/(?P[^/]+)/' => + 'PhabricatorEditEngineConfigurationDefaultsController', ), ), ), diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultsController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultsController.php new file mode 100644 index 0000000000..fa7f30c858 --- /dev/null +++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultsController.php @@ -0,0 +1,111 @@ +getURIData('engineKey'); + $this->setEngineKey($engine_key); + + $key = $request->getURIData('key'); + $viewer = $this->getViewer(); + + $config = id(new PhabricatorEditEngineConfigurationQuery()) + ->setViewer($viewer) + ->withEngineKeys(array($engine_key)) + ->withIdentifiers(array($key)) + ->requireCapabilities( + array( + PhabricatorPolicyCapability::CAN_VIEW, + PhabricatorPolicyCapability::CAN_EDIT, + )) + ->executeOne(); + if (!$config) { + return id(new Aphront404Response()); + } + + $cancel_uri = "/transactions/editengine/{$engine_key}/view/{$key}/"; + + $engine = $config->getEngine(); + $fields = $engine->getFieldsForConfig($config); + + foreach ($fields as $key => $field) { + if (!$field->getIsDefaultable()) { + unset($fields[$key]); + continue; + } + } + + foreach ($fields as $field) { + $field->setIsEditDefaults(true); + } + + if ($request->isFormPost()) { + $xactions = array(); + + foreach ($fields as $field) { + $field->readValueFromSubmit($request); + } + + $type = PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT; + + $xactions = array(); + foreach ($fields as $field) { + $new_value = $field->getValueForDefaults(); + $xactions[] = id(new PhabricatorEditEngineConfigurationTransaction()) + ->setTransactionType($type) + ->setMetadataValue('field.key', $field->getKey()) + ->setNewValue($new_value); + } + + $editor = id(new PhabricatorEditEngineConfigurationEditor()) + ->setActor($viewer) + ->setContentSourceFromRequest($request) + ->setContinueOnMissingFields(true) + ->setContinueOnNoEffect(true); + + $editor->applyTransactions($config, $xactions); + + return id(new AphrontRedirectResponse()) + ->setURI($cancel_uri); + } + + $title = pht('Edit Form Defaults'); + + $form = id(new AphrontFormView()) + ->setUser($viewer); + + foreach ($fields as $field) { + $field->appendToForm($form); + } + + $form + ->appendControl( + id(new AphrontFormSubmitControl()) + ->setValue(pht('Save Defaults')) + ->addCancelButton($cancel_uri)); + + $info = id(new PHUIInfoView()) + ->setSeverity(PHUIInfoView::SEVERITY_NOTICE) + ->setErrors( + array( + pht('You are editing the default values for this form.'), + )); + + + $box = id(new PHUIObjectBoxView()) + ->setHeaderText($title) + ->setInfoView($info) + ->setForm($form); + + $crumbs = $this->buildApplicationCrumbs(); + $crumbs->addTextCrumb(pht('Form %d', $config->getID()), $cancel_uri); + $crumbs->addTextCrumb(pht('Edit Defaults')); + + return $this->newPage() + ->setTitle($title) + ->setCrumbs($crumbs) + ->appendChild($box); + } + +} diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php index deeed6252a..0dc26c57cd 100644 --- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php +++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php @@ -119,11 +119,21 @@ final class PhabricatorEditEngineConfigurationViewController ->setIcon('fa-th-list') ->setHref($use_uri)); + $defaults_uri = "{$base_uri}/defaults/{$form_key}/"; + + $view->addAction( + id(new PhabricatorActionView()) + ->setName(pht('Change Default Values')) + ->setIcon('fa-paint-brush') + ->setHref($defaults_uri) + ->setWorkflow(!$can_edit) + ->setDisabled(!$can_edit)); + $reorder_uri = "{$base_uri}/reorder/{$form_key}/"; $view->addAction( id(new PhabricatorActionView()) - ->setName(pht('Reorder Fields')) + ->setName(pht('Change Field Order')) ->setIcon('fa-sort-alpha-asc') ->setHref($reorder_uri) ->setWorkflow(true) diff --git a/src/applications/transactions/editengine/PhabricatorEditEngine.php b/src/applications/transactions/editengine/PhabricatorEditEngine.php index f195664702..e3746f3d7c 100644 --- a/src/applications/transactions/editengine/PhabricatorEditEngine.php +++ b/src/applications/transactions/editengine/PhabricatorEditEngine.php @@ -62,8 +62,12 @@ abstract class PhabricatorEditEngine PhabricatorEditEngineConfiguration $config) { $object = $this->newEditableObject(); + $this->editEngineConfiguration = $config; + // This is mostly making sure that we fill in default values. + $this->setIsCreate(true); + return $this->buildEditFields($object); } diff --git a/src/applications/transactions/editfield/PhabricatorEditField.php b/src/applications/transactions/editfield/PhabricatorEditField.php index 58a1435c0c..23a9ca7f3b 100644 --- a/src/applications/transactions/editfield/PhabricatorEditField.php +++ b/src/applications/transactions/editfield/PhabricatorEditField.php @@ -16,6 +16,8 @@ abstract class PhabricatorEditField extends Phobject { private $isLocked; private $isPreview; private $isReorderable = true; + private $isEditDefaults; + private $isDefaultable = true; public function setKey($key) { $this->key = $key; @@ -98,6 +100,24 @@ abstract class PhabricatorEditField extends Phobject { return $this->isReorderable; } + public function setIsEditDefaults($is_edit_defaults) { + $this->isEditDefaults = $is_edit_defaults; + return $this; + } + + public function getIsEditDefaults() { + return $this->isEditDefaults; + } + + public function setIsDefaultable($is_defaultable) { + $this->isDefaultable = $is_defaultable; + return $this; + } + + public function getIsDefaultable() { + return $this->isDefaultable; + } + protected function newControl() { throw new PhutilMethodNotImplementedException(); } @@ -116,10 +136,16 @@ abstract class PhabricatorEditField extends Phobject { $control->setLabel($this->getLabel()); } - if ($this->getIsLocked() || $this->getIsPreview()) { - $control->setDisabled(true); + if ($this->getIsPreview()) { + $disabled = true; + } else if ($this->getIsEditDefaults()) { + $disabled = false; + } else { + $disabled = $this->getIsLocked(); } + $control->setDisabled($disabled); + return $control; } @@ -135,6 +161,19 @@ abstract class PhabricatorEditField extends Phobject { return $this->getValue(); } + public function getValueForDefaults() { + $value = $this->getValue(); + + // By default, just treat the empty string like `null` since they're + // equivalent for almost all fields and this reduces the number of + // meaningless transactions we generate when adjusting defaults. + if ($value === '') { + return null; + } + + return $value; + } + protected function getValue() { return $this->value; } diff --git a/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php b/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php index 626e63f852..003c1e1c09 100644 --- a/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php +++ b/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php @@ -20,6 +20,7 @@ final class PhabricatorEditEngineConfigurationEditor $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_NAME; $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER; + $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT; return $types; } @@ -63,6 +64,9 @@ final class PhabricatorEditEngineConfigurationEditor return $object->getPreamble(); case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER: return $object->getFieldOrder(); + case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT: + $field_key = $xaction->getMetadataValue('field.key'); + return $object->getFieldDefault($field_key); } } @@ -74,6 +78,7 @@ final class PhabricatorEditEngineConfigurationEditor case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME: case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER: + case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT: return $xaction->getNewValue(); } } @@ -92,6 +97,10 @@ final class PhabricatorEditEngineConfigurationEditor case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER: $object->setFieldOrder($xaction->getNewValue()); return; + case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT: + $field_key = $xaction->getMetadataValue('field.key'); + $object->setFieldDefault($field_key, $xaction->getNewValue()); + return; } return parent::applyCustomInternalTransaction($object, $xaction); @@ -105,6 +114,7 @@ final class PhabricatorEditEngineConfigurationEditor case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME: case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER; + case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT: return; } diff --git a/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php b/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php index a95375c53e..33964d9fcd 100644 --- a/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php +++ b/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php @@ -105,6 +105,7 @@ final class PhabricatorEditEngineConfiguration 'config.preamble' => id(new PhabricatorInstructionsEditField()) ->setKey('config.preamble') ->setIsReorderable(false) + ->setIsDefaultable(false) ->setValue($preamble), ) + $fields; } @@ -175,6 +176,17 @@ final class PhabricatorEditEngineConfiguration return $this->getProperty('order', array()); } + public function getFieldDefault($key) { + $defaults = $this->getProperty('defaults', array()); + return idx($defaults, $key); + } + + public function setFieldDefault($key, $value) { + $defaults = $this->getProperty('defaults', array()); + $defaults[$key] = $value; + return $this->setProperty('defaults', $defaults); + } + /* -( PhabricatorPolicyInterface )----------------------------------------- */ diff --git a/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php b/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php index 77f5b4ef20..6b7784eb3d 100644 --- a/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php +++ b/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php @@ -6,6 +6,7 @@ final class PhabricatorEditEngineConfigurationTransaction const TYPE_NAME = 'editengine.config.name'; const TYPE_PREAMBLE = 'editengine.config.preamble'; const TYPE_ORDER = 'editengine.config.order'; + const TYPE_DEFAULT = 'editengine.config.default'; public function getApplicationName() { return 'search'; @@ -19,4 +20,44 @@ final class PhabricatorEditEngineConfigurationTransaction return null; } + public function getTitle() { + $author_phid = $this->getAuthorPHID(); + + $old = $this->getOldValue(); + $new = $this->getNewValue(); + + $type = $this->getTransactionType(); + switch ($type) { + case self::TYPE_NAME: + if (strlen($old)) { + return pht( + '%s renamed this form from "%s" to "%s".', + $this->renderHandleLink($author_phid), + $old, + $new); + } else { + return pht( + '%s named this form "%s".', + $this->renderHandleLink($author_phid), + $new); + } + case self::TYPE_PREAMBLE: + return pht( + '%s updated the preamble for this form.', + $this->renderHandleLink($author_phid)); + case self::TYPE_ORDER: + return pht( + '%s reordered the fields in this form.', + $this->renderHandleLink($author_phid)); + case self::TYPE_DEFAULT: + $key = $this->getMetadataValue('field.key'); + return pht( + '%s changed the default value for field "%s".', + $this->renderHandleLink($author_phid), + $key); + } + + return parent::getTitle(); + } + } From 269e0bfc943e0d5c41150ec18373feb46d904ee7 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 18 Nov 2015 10:50:09 -0800 Subject: [PATCH 08/30] Allow EditEngine form fields to be locked and hidden Summary: Ref T9132. Allows fields to be locked (shown, but not modifiable) and hidden (not shown). In both cases, default values are still respected. This lets you do things like create a form that generates objects with specific projects, policies, etc. Test Plan: - Set defaults. - Locked and hid a bunch of fields. - Created new objects using the resulting form. {F975801} {F975802} {F975803} {F975804} Reviewers: chad Reviewed By: chad Maniphest Tasks: T9132 Differential Revision: https://secure.phabricator.com/D14509 --- resources/celerity/map.php | 6 +- src/__phutil_library_map__.php | 2 + .../PhabricatorTransactionsApplication.php | 2 + ...rEditEngineConfigurationLockController.php | 109 ++++++++++++++++++ ...rEditEngineConfigurationViewController.php | 10 ++ .../editengine/PhabricatorEditEngine.php | 16 ++- .../editfield/PhabricatorEditField.php | 48 +++++++- ...abricatorEditEngineConfigurationEditor.php | 8 ++ .../PhabricatorEditEngineConfiguration.php | 43 ++++--- ...atorEditEngineConfigurationTransaction.php | 5 + webroot/rsrc/css/phui/phui-form-view.css | 4 + 11 files changed, 235 insertions(+), 18 deletions(-) create mode 100644 src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php diff --git a/resources/celerity/map.php b/resources/celerity/map.php index c45f8f5346..29c5dee710 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -7,7 +7,7 @@ */ return array( 'names' => array( - 'core.pkg.css' => '0689cd7e', + 'core.pkg.css' => '9f339987', 'core.pkg.js' => '47dc9ebb', 'darkconsole.pkg.js' => 'e7393ebb', 'differential.pkg.css' => '2de124c9', @@ -130,7 +130,7 @@ return array( 'rsrc/css/phui/phui-document.css' => '765a9dac', 'rsrc/css/phui/phui-feed-story.css' => 'b7b26d23', 'rsrc/css/phui/phui-fontkit.css' => '9cda225e', - 'rsrc/css/phui/phui-form-view.css' => '621b21c5', + 'rsrc/css/phui/phui-form-view.css' => 'c1d2ef29', 'rsrc/css/phui/phui-form.css' => 'afdb2c6e', 'rsrc/css/phui/phui-header-view.css' => '55bb32dd', 'rsrc/css/phui/phui-icon.css' => 'b0a6b1b6', @@ -795,7 +795,7 @@ return array( 'phui-font-icon-base-css' => 'ecbbb4c2', 'phui-fontkit-css' => '9cda225e', 'phui-form-css' => 'afdb2c6e', - 'phui-form-view-css' => '621b21c5', + 'phui-form-view-css' => 'c1d2ef29', 'phui-header-view-css' => '55bb32dd', 'phui-icon-view-css' => 'b0a6b1b6', 'phui-image-mask-css' => '5a8b09c8', diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 02f66e7320..1e9b07657c 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -2117,6 +2117,7 @@ phutil_register_library_map(array( 'PhabricatorEditEngineConfigurationEditEngine' => 'applications/transactions/editor/PhabricatorEditEngineConfigurationEditEngine.php', 'PhabricatorEditEngineConfigurationEditor' => 'applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php', 'PhabricatorEditEngineConfigurationListController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationListController.php', + 'PhabricatorEditEngineConfigurationLockController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php', 'PhabricatorEditEngineConfigurationPHIDType' => 'applications/transactions/phid/PhabricatorEditEngineConfigurationPHIDType.php', 'PhabricatorEditEngineConfigurationQuery' => 'applications/transactions/query/PhabricatorEditEngineConfigurationQuery.php', 'PhabricatorEditEngineConfigurationReorderController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php', @@ -6211,6 +6212,7 @@ phutil_register_library_map(array( 'PhabricatorEditEngineConfigurationEditEngine' => 'PhabricatorEditEngine', 'PhabricatorEditEngineConfigurationEditor' => 'PhabricatorApplicationTransactionEditor', 'PhabricatorEditEngineConfigurationListController' => 'PhabricatorEditEngineController', + 'PhabricatorEditEngineConfigurationLockController' => 'PhabricatorEditEngineController', 'PhabricatorEditEngineConfigurationPHIDType' => 'PhabricatorPHIDType', 'PhabricatorEditEngineConfigurationQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhabricatorEditEngineConfigurationReorderController' => 'PhabricatorEditEngineController', diff --git a/src/applications/transactions/application/PhabricatorTransactionsApplication.php b/src/applications/transactions/application/PhabricatorTransactionsApplication.php index 9006a91ce3..c0a300e327 100644 --- a/src/applications/transactions/application/PhabricatorTransactionsApplication.php +++ b/src/applications/transactions/application/PhabricatorTransactionsApplication.php @@ -49,6 +49,8 @@ final class PhabricatorTransactionsApplication extends PhabricatorApplication { 'PhabricatorEditEngineConfigurationReorderController', 'defaults/(?P[^/]+)/' => 'PhabricatorEditEngineConfigurationDefaultsController', + 'lock/(?P[^/]+)/' => + 'PhabricatorEditEngineConfigurationLockController', ), ), ), diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php new file mode 100644 index 0000000000..ba433786fb --- /dev/null +++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php @@ -0,0 +1,109 @@ +getURIData('engineKey'); + $this->setEngineKey($engine_key); + + $key = $request->getURIData('key'); + $viewer = $this->getViewer(); + + $config = id(new PhabricatorEditEngineConfigurationQuery()) + ->setViewer($viewer) + ->withEngineKeys(array($engine_key)) + ->withIdentifiers(array($key)) + ->requireCapabilities( + array( + PhabricatorPolicyCapability::CAN_VIEW, + PhabricatorPolicyCapability::CAN_EDIT, + )) + ->executeOne(); + if (!$config) { + return id(new Aphront404Response()); + } + + $cancel_uri = "/transactions/editengine/{$engine_key}/view/{$key}/"; + + if ($request->isFormPost()) { + $xactions = array(); + + $locks = $request->getArr('locks'); + $type_locks = PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS; + + $xactions[] = id(new PhabricatorEditEngineConfigurationTransaction()) + ->setTransactionType($type_locks) + ->setNewValue($locks); + + $editor = id(new PhabricatorEditEngineConfigurationEditor()) + ->setActor($viewer) + ->setContentSourceFromRequest($request) + ->setContinueOnMissingFields(true) + ->setContinueOnNoEffect(true); + + $editor->applyTransactions($config, $xactions); + + return id(new AphrontRedirectResponse()) + ->setURI($cancel_uri); + } + + $engine = $config->getEngine(); + $fields = $engine->getFieldsForConfig($config); + + $help = pht(<<setUser($viewer) + ->appendRemarkupInstructions($help); + + $locks = $config->getFieldLocks(); + + $lock_visible = PhabricatorEditEngineConfiguration::LOCK_VISIBLE; + $lock_locked = PhabricatorEditEngineConfiguration::LOCK_LOCKED; + $lock_hidden = PhabricatorEditEngineConfiguration::LOCK_HIDDEN; + + $map = array( + $lock_visible => pht('Visible'), + $lock_locked => pht("\xF0\x9F\x94\x92 Locked"), + $lock_hidden => pht("\xE2\x9C\x98 Hidden"), + ); + + foreach ($fields as $field) { + if (!$field->getIsLockable()) { + continue; + } + + $key = $field->getKey(); + + $label = $field->getLabel(); + if (!strlen($label)) { + $label = $key; + } + + $form->appendControl( + id(new AphrontFormSelectControl()) + ->setName('locks['.$key.']') + ->setLabel($label) + ->setValue(idx($locks, $key, $lock_visible)) + ->setOptions($map)); + } + + return $this->newDialog() + ->setTitle(pht('Lock / Hide Fields')) + ->setWidth(AphrontDialogView::WIDTH_FORM) + ->appendForm($form) + ->addSubmitButton(pht('Save Changes')) + ->addCancelButton($cancel_uri); + } + +} diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php index 0dc26c57cd..5a60b16f0d 100644 --- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php +++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php @@ -139,6 +139,16 @@ final class PhabricatorEditEngineConfigurationViewController ->setWorkflow(true) ->setDisabled(!$can_edit)); + $lock_uri = "{$base_uri}/lock/{$form_key}/"; + + $view->addAction( + id(new PhabricatorActionView()) + ->setName(pht('Lock / Hide Fields')) + ->setIcon('fa-lock') + ->setHref($lock_uri) + ->setWorkflow(true) + ->setDisabled(!$can_edit)); + return $view; } diff --git a/src/applications/transactions/editengine/PhabricatorEditEngine.php b/src/applications/transactions/editengine/PhabricatorEditEngine.php index e3746f3d7c..685a634115 100644 --- a/src/applications/transactions/editengine/PhabricatorEditEngine.php +++ b/src/applications/transactions/editengine/PhabricatorEditEngine.php @@ -658,12 +658,22 @@ abstract class PhabricatorEditEngine $validation_exception = null; if ($request->isFormPost()) { foreach ($fields as $field) { + if ($field->getIsLocked() || $field->getIsHidden()) { + continue; + } + $field->readValueFromSubmit($request); } $xactions = array(); foreach ($fields as $field) { - $xactions[] = $field->generateTransaction(clone $template); + $xaction = $field->generateTransaction(clone $template); + + if (!$xaction) { + continue; + } + + $xactions[] = $xaction; } $editor = $object->getApplicationTransactionEditor() @@ -683,6 +693,10 @@ abstract class PhabricatorEditEngine } else { if ($this->getIsCreate()) { foreach ($fields as $field) { + if ($field->getIsLocked() || $field->getIsHidden()) { + continue; + } + $field->readValueFromRequest($request); } } else { diff --git a/src/applications/transactions/editfield/PhabricatorEditField.php b/src/applications/transactions/editfield/PhabricatorEditField.php index 23a9ca7f3b..38397f945c 100644 --- a/src/applications/transactions/editfield/PhabricatorEditField.php +++ b/src/applications/transactions/editfield/PhabricatorEditField.php @@ -13,11 +13,16 @@ abstract class PhabricatorEditField extends Phobject { private $metadata = array(); private $description; private $editTypeKey; + private $isLocked; + private $isHidden; + private $isPreview; - private $isReorderable = true; private $isEditDefaults; + + private $isReorderable = true; private $isDefaultable = true; + private $isLockable = true; public function setKey($key) { $this->key = $key; @@ -118,6 +123,24 @@ abstract class PhabricatorEditField extends Phobject { return $this->isDefaultable; } + public function setIsLockable($is_lockable) { + $this->isLockable = $is_lockable; + return $this; + } + + public function getIsLockable() { + return $this->isLockable; + } + + public function setIsHidden($is_hidden) { + $this->isHidden = $is_hidden; + return $this; + } + + public function getIsHidden() { + return $this->isHidden; + } + protected function newControl() { throw new PhutilMethodNotImplementedException(); } @@ -138,10 +161,17 @@ abstract class PhabricatorEditField extends Phobject { if ($this->getIsPreview()) { $disabled = true; + $hidden = false; } else if ($this->getIsEditDefaults()) { $disabled = false; + $hidden = false; } else { $disabled = $this->getIsLocked(); + $hidden = $this->getIsHidden(); + } + + if ($hidden) { + return null; } $control->setDisabled($disabled); @@ -152,6 +182,18 @@ abstract class PhabricatorEditField extends Phobject { public function appendToForm(AphrontFormView $form) { $control = $this->renderControl(); if ($control !== null) { + + if ($this->getIsPreview()) { + if ($this->getIsHidden()) { + $control + ->addClass('aphront-form-preview-hidden') + ->setError(pht('Hidden')); + } else if ($this->getIsLocked()) { + $control + ->setError(pht('Locked')); + } + } + $form->appendControl($control); } return $this; @@ -187,6 +229,10 @@ abstract class PhabricatorEditField extends Phobject { public function generateTransaction( PhabricatorApplicationTransaction $xaction) { + if (!$this->getTransactionType()) { + return null; + } + $xaction ->setTransactionType($this->getTransactionType()) ->setNewValue($this->getValueForTransaction()); diff --git a/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php b/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php index 003c1e1c09..9c115254fe 100644 --- a/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php +++ b/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php @@ -21,6 +21,7 @@ final class PhabricatorEditEngineConfigurationEditor $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER; $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT; + $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS; return $types; } @@ -67,6 +68,8 @@ final class PhabricatorEditEngineConfigurationEditor case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT: $field_key = $xaction->getMetadataValue('field.key'); return $object->getFieldDefault($field_key); + case PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS: + return $object->getFieldLocks(); } } @@ -79,6 +82,7 @@ final class PhabricatorEditEngineConfigurationEditor case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER: case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT: + case PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS: return $xaction->getNewValue(); } } @@ -101,6 +105,9 @@ final class PhabricatorEditEngineConfigurationEditor $field_key = $xaction->getMetadataValue('field.key'); $object->setFieldDefault($field_key, $xaction->getNewValue()); return; + case PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS: + $object->setFieldLocks($xaction->getNewValue()); + return; } return parent::applyCustomInternalTransaction($object, $xaction); @@ -115,6 +122,7 @@ final class PhabricatorEditEngineConfigurationEditor case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE; case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER; case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT: + case PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS: return; } diff --git a/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php b/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php index 33964d9fcd..afe628359b 100644 --- a/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php +++ b/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php @@ -17,6 +17,10 @@ final class PhabricatorEditEngineConfiguration private $engine = self::ATTACHABLE; + const LOCK_VISIBLE = 'visible'; + const LOCK_LOCKED = 'locked'; + const LOCK_HIDDEN = 'hidden'; + public function getTableName() { return 'search_editengineconfiguration'; } @@ -97,6 +101,22 @@ final class PhabricatorEditEngineConfiguration } } + $locks = $this->getFieldLocks(); + foreach ($fields as $field) { + $key = $field->getKey(); + switch (idx($locks, $key)) { + case self::LOCK_LOCKED: + $field->setIsLocked(true); + break; + case self::LOCK_HIDDEN: + $field->setIsHidden(true); + break; + case self::LOCK_VISIBLE: + default: + break; + } + } + $fields = $this->reorderFields($fields); $preamble = $this->getPreamble(); @@ -106,6 +126,7 @@ final class PhabricatorEditEngineConfiguration ->setKey('config.preamble') ->setIsReorderable(false) ->setIsDefaultable(false) + ->setIsLockable(false) ->setValue($preamble), ) + $fields; } @@ -116,19 +137,7 @@ final class PhabricatorEditEngineConfiguration private function reorderFields(array $fields) { $keys = $this->getFieldOrder(); $fields = array_select_keys($fields, $keys) + $fields; - - // Now, move locked fields to the bottom. - $head = array(); - $tail = array(); - foreach ($fields as $key => $field) { - if (!$field->getIsLocked()) { - $head[$key] = $field; - } else { - $tail[$key] = $field; - } - } - - return $head + $tail; + return $fields; } public function getURI() { @@ -176,6 +185,14 @@ final class PhabricatorEditEngineConfiguration return $this->getProperty('order', array()); } + public function setFieldLocks(array $field_locks) { + return $this->setProperty('locks', $field_locks); + } + + public function getFieldLocks() { + return $this->getProperty('locks', array()); + } + public function getFieldDefault($key) { $defaults = $this->getProperty('defaults', array()); return idx($defaults, $key); diff --git a/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php b/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php index 6b7784eb3d..b79cb2a648 100644 --- a/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php +++ b/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php @@ -7,6 +7,7 @@ final class PhabricatorEditEngineConfigurationTransaction const TYPE_PREAMBLE = 'editengine.config.preamble'; const TYPE_ORDER = 'editengine.config.order'; const TYPE_DEFAULT = 'editengine.config.default'; + const TYPE_LOCKS = 'editengine.config.locks'; public function getApplicationName() { return 'search'; @@ -55,6 +56,10 @@ final class PhabricatorEditEngineConfigurationTransaction '%s changed the default value for field "%s".', $this->renderHandleLink($author_phid), $key); + case self::TYPE_LOCKS: + return pht( + '%s changed locked and hidden fields.', + $this->renderHandleLink($author_phid)); } return parent::getTitle(); diff --git a/webroot/rsrc/css/phui/phui-form-view.css b/webroot/rsrc/css/phui/phui-form-view.css index ae777a8936..8368177cad 100644 --- a/webroot/rsrc/css/phui/phui-form-view.css +++ b/webroot/rsrc/css/phui/phui-form-view.css @@ -527,3 +527,7 @@ properly, and submit values. */ .aphront-form-choose-table .aphront-form-choose-button-cell { padding: 4px 8px; } + +.aphront-form-preview-hidden { + opacity: 0.5; +} From c034752578cf846360b8dbfa9446f933bdd8cb9c Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 18 Nov 2015 14:11:21 -0800 Subject: [PATCH 09/30] Support comments as an EditEngine field Summary: Ref T9132. This adds an automatic "Comments" field, like the Subscribers/Projects/Policy fields. The primary goals here are: - Allow users to make comments via Conduit. - In the future, get stackable action support. As a side effect, this also allows you to put comments on create forms. This is a little silly but seems fine, and may be relevant on edit forms (which I'm not 100% sure how I want to handle yet). I've just hidden them by default for now. Test Plan: {F976036} {F976037} {F976038} Reviewers: chad Reviewed By: chad Maniphest Tasks: T9132 Differential Revision: https://secure.phabricator.com/D14515 --- src/__phutil_library_map__.php | 4 +++ ...rEditEngineConfigurationLockController.php | 10 +++++- .../editengine/PhabricatorEditEngine.php | 16 ++++++++++ .../editfield/PhabricatorCommentEditField.php | 25 +++++++++++++++ .../editfield/PhabricatorEditField.php | 8 +++-- .../PhabricatorInstructionsEditField.php | 4 +++ .../edittype/PhabricatorCommentEditType.php | 31 +++++++++++++++++++ .../PhabricatorEditEngineConfiguration.php | 6 ++++ ...orApplicationEditHTTPParameterHelpView.php | 1 + 9 files changed, 102 insertions(+), 3 deletions(-) create mode 100644 src/applications/transactions/editfield/PhabricatorCommentEditField.php create mode 100644 src/applications/transactions/edittype/PhabricatorCommentEditType.php diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 1e9b07657c..c1eac5a583 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -1843,6 +1843,8 @@ phutil_register_library_map(array( 'PhabricatorChatLogQuery' => 'applications/chatlog/query/PhabricatorChatLogQuery.php', 'PhabricatorChunkedFileStorageEngine' => 'applications/files/engine/PhabricatorChunkedFileStorageEngine.php', 'PhabricatorClusterConfigOptions' => 'applications/config/option/PhabricatorClusterConfigOptions.php', + 'PhabricatorCommentEditField' => 'applications/transactions/editfield/PhabricatorCommentEditField.php', + 'PhabricatorCommentEditType' => 'applications/transactions/edittype/PhabricatorCommentEditType.php', 'PhabricatorCommitBranchesField' => 'applications/repository/customfield/PhabricatorCommitBranchesField.php', 'PhabricatorCommitCustomField' => 'applications/repository/customfield/PhabricatorCommitCustomField.php', 'PhabricatorCommitMergedCommitsField' => 'applications/repository/customfield/PhabricatorCommitMergedCommitsField.php', @@ -5890,6 +5892,8 @@ phutil_register_library_map(array( 'PhabricatorChatLogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhabricatorChunkedFileStorageEngine' => 'PhabricatorFileStorageEngine', 'PhabricatorClusterConfigOptions' => 'PhabricatorApplicationConfigOptions', + 'PhabricatorCommentEditField' => 'PhabricatorEditField', + 'PhabricatorCommentEditType' => 'PhabricatorEditType', 'PhabricatorCommitBranchesField' => 'PhabricatorCommitCustomField', 'PhabricatorCommitCustomField' => 'PhabricatorCustomField', 'PhabricatorCommitMergedCommitsField' => 'PhabricatorCommitCustomField', diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php index ba433786fb..790eaccb47 100644 --- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php +++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php @@ -90,11 +90,19 @@ EOTEXT $label = $key; } + if ($field->getIsHidden()) { + $value = $lock_hidden; + } else if ($field->getIsLocked()) { + $value = $lock_locked; + } else { + $value = $lock_visible; + } + $form->appendControl( id(new AphrontFormSelectControl()) ->setName('locks['.$key.']') ->setLabel($label) - ->setValue(idx($locks, $key, $lock_visible)) + ->setValue($value) ->setOptions($map)); } diff --git a/src/applications/transactions/editengine/PhabricatorEditEngine.php b/src/applications/transactions/editengine/PhabricatorEditEngine.php index 685a634115..b398f226eb 100644 --- a/src/applications/transactions/editengine/PhabricatorEditEngine.php +++ b/src/applications/transactions/editengine/PhabricatorEditEngine.php @@ -214,6 +214,22 @@ abstract class PhabricatorEditEngine } } + $xaction = $object->getApplicationTransactionTemplate(); + $comment = $xaction->getApplicationTransactionCommentObject(); + if ($comment) { + $comment_type = PhabricatorTransactions::TYPE_COMMENT; + + $comment_field = id(new PhabricatorCommentEditField()) + ->setKey('comment') + ->setLabel(pht('Comments')) + ->setDescription(pht('Add comments.')) + ->setAliases(array('comments')) + ->setIsHidden(true) + ->setTransactionType($comment_type) + ->setValue(null); + $fields[] = $comment_field; + } + $config = $this->getEditEngineConfiguration(); $fields = $config->applyConfigurationToFields($this, $fields); diff --git a/src/applications/transactions/editfield/PhabricatorCommentEditField.php b/src/applications/transactions/editfield/PhabricatorCommentEditField.php new file mode 100644 index 0000000000..6080b9fa73 --- /dev/null +++ b/src/applications/transactions/editfield/PhabricatorCommentEditField.php @@ -0,0 +1,25 @@ + $this->getValueForTransaction(), + ); + + return head($this->getEditTransactionTypes()) + ->generateTransaction($xaction, $spec); + } + +} diff --git a/src/applications/transactions/editfield/PhabricatorEditField.php b/src/applications/transactions/editfield/PhabricatorEditField.php index 38397f945c..60b48cc2b8 100644 --- a/src/applications/transactions/editfield/PhabricatorEditField.php +++ b/src/applications/transactions/editfield/PhabricatorEditField.php @@ -357,6 +357,11 @@ abstract class PhabricatorEditField extends Phobject { return $this->editTypeKey; } + protected function newEditType() { + return id(new PhabricatorSimpleEditType()) + ->setValueType($this->getHTTPParameterType()->getTypeName()); + } + public function getEditTransactionTypes() { $transaction_type = $this->getTransactionType(); if ($transaction_type === null) { @@ -411,10 +416,9 @@ abstract class PhabricatorEditField extends Phobject { } return array( - id(new PhabricatorSimpleEditType()) + $this->newEditType() ->setEditType($type_key) ->setTransactionType($transaction_type) - ->setValueType($this->getHTTPParameterType()->getTypeName()) ->setDescription($this->getDescription()) ->setMetadata($this->metadata), ); diff --git a/src/applications/transactions/editfield/PhabricatorInstructionsEditField.php b/src/applications/transactions/editfield/PhabricatorInstructionsEditField.php index 9da1d49ae6..02014148ae 100644 --- a/src/applications/transactions/editfield/PhabricatorInstructionsEditField.php +++ b/src/applications/transactions/editfield/PhabricatorInstructionsEditField.php @@ -7,4 +7,8 @@ final class PhabricatorInstructionsEditField return $form->appendRemarkupInstructions($this->getValue()); } + protected function newHTTPParameterType() { + return null; + } + } diff --git a/src/applications/transactions/edittype/PhabricatorCommentEditType.php b/src/applications/transactions/edittype/PhabricatorCommentEditType.php new file mode 100644 index 0000000000..5e4df3942f --- /dev/null +++ b/src/applications/transactions/edittype/PhabricatorCommentEditType.php @@ -0,0 +1,31 @@ +getTypeName(); + } + + public function generateTransaction( + PhabricatorApplicationTransaction $template, + array $spec) { + + $comment = $template->getApplicationTransactionCommentObject() + ->setContent(idx($spec, 'value')); + + $template + ->setTransactionType($this->getTransactionType()) + ->attachComment($comment); + + foreach ($this->getMetadata() as $key => $value) { + $template->setMetadataValue($key, $value); + } + + return $template; + } + + public function getValueDescription() { + return pht('Comment to add, formated as remarkup.'); + } + +} diff --git a/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php b/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php index afe628359b..1c48ad8abd 100644 --- a/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php +++ b/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php @@ -106,13 +106,19 @@ final class PhabricatorEditEngineConfiguration $key = $field->getKey(); switch (idx($locks, $key)) { case self::LOCK_LOCKED: + $field->setIsHidden(false); $field->setIsLocked(true); break; case self::LOCK_HIDDEN: $field->setIsHidden(true); + $field->setIsLocked(false); break; case self::LOCK_VISIBLE: + $field->setIsHidden(false); + $field->setIsLocked(false); + break; default: + // If we don't have an explicit value, don't make any adjustments. break; } } diff --git a/src/applications/transactions/view/PhabricatorApplicationEditHTTPParameterHelpView.php b/src/applications/transactions/view/PhabricatorApplicationEditHTTPParameterHelpView.php index f1aa36fa61..e8397e6a65 100644 --- a/src/applications/transactions/view/PhabricatorApplicationEditHTTPParameterHelpView.php +++ b/src/applications/transactions/view/PhabricatorApplicationEditHTTPParameterHelpView.php @@ -42,6 +42,7 @@ final class PhabricatorApplicationEditHTTPParameterHelpView $type = $field->getHTTPParameterType(); if ($type === null) { unset($fields[$key]); + continue; } $types[$type->getTypeName()] = $type; } From ff57b1e6e74787c160d4493966f3176149d7f48c Mon Sep 17 00:00:00 2001 From: Chad Little Date: Mon, 23 Nov 2015 05:10:12 +0000 Subject: [PATCH 10/30] Fix last child selector in phabricator-remarkup divs Summary: Fixes T9793, the selector is triggering on the last child of every child of phabricator-remarkup, not the last child of phabricator-remarkup Test Plan: Checkout latest changelog Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T9793 Differential Revision: https://secure.phabricator.com/D14544 --- resources/celerity/map.php | 6 +++--- webroot/rsrc/css/core/remarkup.css | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 29c5dee710..96cba39301 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -7,7 +7,7 @@ */ return array( 'names' => array( - 'core.pkg.css' => '9f339987', + 'core.pkg.css' => '22a4e620', 'core.pkg.js' => '47dc9ebb', 'darkconsole.pkg.js' => 'e7393ebb', 'differential.pkg.css' => '2de124c9', @@ -104,7 +104,7 @@ return array( 'rsrc/css/application/tokens/tokens.css' => '3d0f239e', 'rsrc/css/application/uiexample/example.css' => '528b19de', 'rsrc/css/core/core.css' => '78e8d7ea', - 'rsrc/css/core/remarkup.css' => 'ab2396c1', + 'rsrc/css/core/remarkup.css' => 'b080287b', 'rsrc/css/core/syntax.css' => '9fd11da8', 'rsrc/css/core/z-index.css' => '57ddcaa2', 'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa', @@ -749,7 +749,7 @@ return array( 'phabricator-object-selector-css' => '85ee8ce6', 'phabricator-phtize' => 'd254d646', 'phabricator-prefab' => '6920d200', - 'phabricator-remarkup-css' => 'ab2396c1', + 'phabricator-remarkup-css' => 'b080287b', 'phabricator-search-results-css' => '7dea472c', 'phabricator-shaped-request' => '7cbe244b', 'phabricator-side-menu-view-css' => 'bec2458e', diff --git a/webroot/rsrc/css/core/remarkup.css b/webroot/rsrc/css/core/remarkup.css index 22d859cfc3..2e0bcf9454 100644 --- a/webroot/rsrc/css/core/remarkup.css +++ b/webroot/rsrc/css/core/remarkup.css @@ -371,7 +371,7 @@ body .phabricator-standard-page div.phabricator-remarkup .remarkup-header + * { margin-top: 0; } -body div.phabricator-remarkup *:last-child { +body div.phabricator-remarkup:last-child { margin-bottom: 0; } From 06aa3a0a1b417922e369ffcc566cbef52650fe3f Mon Sep 17 00:00:00 2001 From: Chad Little Date: Sun, 22 Nov 2015 22:57:57 -0800 Subject: [PATCH 11/30] Fix Phriction toc rendering when toc is null Summary: Removes the exception, maybe there is a better way, but landing this for now. Fixes T9829 Test Plan: Test pages with and without a table of contents Reviewers: epriestley, avivey Subscribers: epriestley Maniphest Tasks: T9829 Differential Revision: https://secure.phabricator.com/D14546 --- src/applications/phriction/storage/PhrictionContent.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/applications/phriction/storage/PhrictionContent.php b/src/applications/phriction/storage/PhrictionContent.php index 55c47c91e0..99aaf0c7ec 100644 --- a/src/applications/phriction/storage/PhrictionContent.php +++ b/src/applications/phriction/storage/PhrictionContent.php @@ -115,9 +115,6 @@ final class PhrictionContent extends PhrictionDAO * @task markup */ public function getRenderedTableOfContents() { - if ($this->renderedTableOfContents === null) { - throw new PhutilInvalidStateException('didMarkupText'); - } return $this->renderedTableOfContents; } From 39cf0134728aaa4bc08dbd4b599e798fc59c8dc9 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 22 Nov 2015 14:17:04 -0800 Subject: [PATCH 12/30] Add `objectPHID` keys to Harbormaster task schedulers Summary: Fixes T9816. It's currently hard to hunt down some particulars in the worker queue if things go awry in Harbormaster. Supplement the queue with `objectPHID` keys so we can hunt tasks down more easily if the issues in T9816 continue. Test Plan: ``` mysql> select * from worker_archivetask order by id desc limit 30; +--------+------------------------------------------------+-----------------------------------+--------------+--------------+--------+--------+----------+-------------+--------------+----------+--------------------------------+ | id | taskClass | leaseOwner | leaseExpires | failureCount | dataID | result | duration | dateCreated | dateModified | priority | objectPHID | +--------+------------------------------------------------+-----------------------------------+--------------+--------------+--------+--------+----------+-------------+--------------+----------+--------------------------------+ | 496024 | HarbormasterTargetWorker | 8514:1448232248:Orbital.local:3 | 1448318648 | 0 | 311880 | 0 | 233758 | 1448232248 | 1448232248 | 2000 | PHID-HMBT-thq4oof4byllmbc4q3tt | | 496023 | PhabricatorApplicationTransactionPublishWorker | 8514:1448232247:Orbital.local:1 | 1448239447 | 0 | 311879 | 0 | 53731 | 1448232247 | 1448232247 | 1000 | PHID-HMBD-i6zo2ltc73rre7o54s7v | | 496022 | HarbormasterBuildWorker | 8514:1448232247:Orbital.local:2 | 1448239447 | 0 | 311878 | 0 | 30736 | 1448232248 | 1448232248 | 2000 | PHID-HMBD-i6zo2ltc73rre7o54s7v | ... ``` Reviewers: chad Reviewed By: chad Maniphest Tasks: T9816 Differential Revision: https://secure.phabricator.com/D14541 --- .../conduit/HarbormasterSendMessageConduitAPIMethod.php | 7 ++++++- .../editor/HarbormasterBuildTransactionEditor.php | 3 +++ .../harbormaster/engine/HarbormasterBuildEngine.php | 3 +++ .../harbormaster/storage/HarbormasterBuildable.php | 3 +++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/applications/harbormaster/conduit/HarbormasterSendMessageConduitAPIMethod.php b/src/applications/harbormaster/conduit/HarbormasterSendMessageConduitAPIMethod.php index 6d68b0a8b6..9c3f88d631 100644 --- a/src/applications/harbormaster/conduit/HarbormasterSendMessageConduitAPIMethod.php +++ b/src/applications/harbormaster/conduit/HarbormasterSendMessageConduitAPIMethod.php @@ -256,10 +256,15 @@ final class HarbormasterSendMessageConduitAPIMethod // If the build has completely paused because all steps are blocked on // waiting targets, this will resume it. + $build = $build_target->getBuild(); + PhabricatorWorker::scheduleTask( 'HarbormasterBuildWorker', array( - 'buildID' => $build_target->getBuild()->getID(), + 'buildID' => $build->getID(), + ), + array( + 'objectPHID' => $build->getPHID(), )); return null; diff --git a/src/applications/harbormaster/editor/HarbormasterBuildTransactionEditor.php b/src/applications/harbormaster/editor/HarbormasterBuildTransactionEditor.php index b8c39146cb..0727a473ec 100644 --- a/src/applications/harbormaster/editor/HarbormasterBuildTransactionEditor.php +++ b/src/applications/harbormaster/editor/HarbormasterBuildTransactionEditor.php @@ -98,6 +98,9 @@ final class HarbormasterBuildTransactionEditor 'HarbormasterBuildWorker', array( 'buildID' => $build->getID(), + ), + array( + 'objectPHID' => $build->getPHID(), )); } diff --git a/src/applications/harbormaster/engine/HarbormasterBuildEngine.php b/src/applications/harbormaster/engine/HarbormasterBuildEngine.php index 36ca48b060..5eabd85034 100644 --- a/src/applications/harbormaster/engine/HarbormasterBuildEngine.php +++ b/src/applications/harbormaster/engine/HarbormasterBuildEngine.php @@ -81,6 +81,9 @@ final class HarbormasterBuildEngine extends Phobject { 'HarbormasterTargetWorker', array( 'targetID' => $target->getID(), + ), + array( + 'objectPHID' => $target->getPHID(), )); } diff --git a/src/applications/harbormaster/storage/HarbormasterBuildable.php b/src/applications/harbormaster/storage/HarbormasterBuildable.php index 3a7df73f52..6286072b42 100644 --- a/src/applications/harbormaster/storage/HarbormasterBuildable.php +++ b/src/applications/harbormaster/storage/HarbormasterBuildable.php @@ -184,6 +184,9 @@ final class HarbormasterBuildable extends HarbormasterDAO 'HarbormasterBuildWorker', array( 'buildID' => $build->getID(), + ), + array( + 'objectPHID' => $build->getPHID(), )); return $build; From b964f8873bfd5e64ff6c5b8ceac56528c747de07 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 22 Nov 2015 15:07:57 -0800 Subject: [PATCH 13/30] Fix daemon restart behavior to check once every 10 seconds Summary: This logic is flipped. Test Plan: - Before change: ran `bin/phd debug task`, saw queries to the config table every second. - After change: ran `bin/phd debug task`, saw queries to the config table every 10 seconds. Reviewers: chad, joshuaspence Reviewed By: chad, joshuaspence Differential Revision: https://secure.phabricator.com/D14542 --- .../daemon/overseer/PhabricatorDaemonOverseerModule.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/infrastructure/daemon/overseer/PhabricatorDaemonOverseerModule.php b/src/infrastructure/daemon/overseer/PhabricatorDaemonOverseerModule.php index e9f34028cd..aa238a4bf0 100644 --- a/src/infrastructure/daemon/overseer/PhabricatorDaemonOverseerModule.php +++ b/src/infrastructure/daemon/overseer/PhabricatorDaemonOverseerModule.php @@ -17,7 +17,11 @@ final class PhabricatorDaemonOverseerModule } public function shouldReloadDaemons() { - if ($this->timestamp < PhabricatorTime::getNow() - 10) { + $now = PhabricatorTime::getNow(); + $ago = ($now - $this->timestamp); + + // Don't check more than once every 10 seconds. + if ($ago < 10) { return false; } From 8f484f2e3a2f35de37e2aab18fee635095e48124 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 22 Nov 2015 15:18:19 -0800 Subject: [PATCH 14/30] Fix outdated lies in "Script and Regex" linter documentation Summary: See D14536. Some time ago, linters changed to no longer receive these special/unusual file types as inputs by default. Test Plan: - Read new docs. - Attempted to grep for other similar lies, although it's possible I missed some. I didn't find anything. Reviewers: bgamari, chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D14543 --- .../arcanist_lint_script_and_regex.diviner | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/docs/user/userguide/arcanist_lint_script_and_regex.diviner b/src/docs/user/userguide/arcanist_lint_script_and_regex.diviner index e8d021b1ac..fde32b7773 100644 --- a/src/docs/user/userguide/arcanist_lint_script_and_regex.diviner +++ b/src/docs/user/userguide/arcanist_lint_script_and_regex.diviner @@ -29,16 +29,13 @@ configure. == Script... == The script will be invoked once for each file that is to be linted, with -the file passed as the first argument. The file may begin with a "-"; ensure +the file passed as the first argument. The file may begin with a `-`; ensure your script will not interpret such files as flags (perhaps by ending your -script configuration with "--", if its argument parser supports that). +script configuration with `--`, if its argument parser supports that). -Note that when run via `arc diff`, the list of files to be linted includes -deleted files and files that were moved away by the change. The linter should -not assume the path it is given exists, and it is not an error for the -linter to be invoked with paths which are no longer there. (Every affected -path is subject to lint because some linters may raise errors in other files -when a file is removed, or raise an error about its removal.) +Note that when run via `arc diff`, the list of files to be linted does not +include binary files, symlinks, deleted files, or directories. These special +file types are not supported by this linter. The script should emit lint messages to stdout, which will be parsed with the provided regex. From 2a063a93a97483deed357594edb3a45c26517796 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Mon, 23 Nov 2015 14:37:44 +0000 Subject: [PATCH 15/30] Fix constant in PhameBlogTransaction Summary: These constants are incorrect. Test Plan: Archive a blog, see feed story. Publish a blog, see another feed story. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D14545 --- src/applications/phame/storage/PhameBlogTransaction.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/applications/phame/storage/PhameBlogTransaction.php b/src/applications/phame/storage/PhameBlogTransaction.php index 98622a80b1..791dc930c4 100644 --- a/src/applications/phame/storage/PhameBlogTransaction.php +++ b/src/applications/phame/storage/PhameBlogTransaction.php @@ -109,11 +109,11 @@ final class PhameBlogTransaction break; case self::TYPE_STATUS: switch ($new) { - case self::STATUS_OPEN: + case PhameBlog::STATUS_ACTIVE: return pht( '%s published this blog.', $this->renderHandleLink($author_phid)); - case self::STATUS_CLOSED: + case PhameBlog::STATUS_ARCHIVED: return pht( '%s archived this blog.', $this->renderHandleLink($author_phid)); @@ -166,12 +166,12 @@ final class PhameBlogTransaction break; case self::TYPE_STATUS: switch ($new) { - case self::STATUS_OPEN: + case PhameBlog::STATUS_ACTIVE: return pht( '%s published the blog %s.', $this->renderHandleLink($author_phid), $this->renderHandleLink($object_phid)); - case self::STATUS_CLOSED: + case PhameBlog::STATUS_ARCHIVED: return pht( '%s archived the blog %s.', $this->renderHandleLink($author_phid), From 2f7010d18e4faddbec6c2fb3c8a1f9f29a1ce2f7 Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 23 Nov 2015 05:51:14 -0800 Subject: [PATCH 16/30] Markup project hashtags which begin with (or contain only) digits Summary: Fixes T9832. We currently refuse to recognize project hashtags in remarkup if they begin with a digit. This is motivated by attempting to not recognize them if they contain only digits. I don't think we really gain anything by this. Although most `#123` in text are probably not project references, the cost of doing a lookup for them is quite small, and //some// of them are. In cases where users use `#123` to refer to tasks in an external system, they can use a rule for that with higher precedence than this one or not give their projects conflicting hashtags. Test Plan: - This is well-covered by unit tests. - Referenced a `#3u1`, per T9832. Reviewers: chad Reviewed By: chad Maniphest Tasks: T9832 Differential Revision: https://secure.phabricator.com/D14547 --- .../project/remarkup/ProjectRemarkupRule.php | 25 +++++++------------ .../__tests__/ProjectRemarkupRuleTestCase.php | 16 +++++++++++- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/applications/project/remarkup/ProjectRemarkupRule.php b/src/applications/project/remarkup/ProjectRemarkupRule.php index 41ea2e026f..5eeddeabfe 100644 --- a/src/applications/project/remarkup/ProjectRemarkupRule.php +++ b/src/applications/project/remarkup/ProjectRemarkupRule.php @@ -20,17 +20,13 @@ final class ProjectRemarkupRule extends PhabricatorObjectRemarkupRule { } protected function getObjectIDPattern() { - // NOTE: This explicitly does not match strings which contain only - // digits, because digit strings like "#123" are used to reference tasks at - // Facebook and are somewhat conventional in general. - - // The latter half of this rule matches monograms with internal periods, - // like `#domain.com`, but does not match monograms with terminal periods, - // because they're probably just puncutation. + // NOTE: The latter half of this rule matches monograms with internal + // periods, like `#domain.com`, but does not match monograms with terminal + // periods, because they're probably just puncutation. // Broadly, this will not match every possible project monogram, and we - // accept some false negatives -- like `#1` or `#dot.` -- in order to avoid - // a bunch of false positives on general use of the `#` character. + // accept some false negatives -- like `#dot.` -- in order to avoid a bunch + // of false positives on general use of the `#` character. // In other contexts, the PhabricatorProjectProjectPHIDType pattern is // controlling and these names should parse correctly. @@ -38,17 +34,14 @@ final class ProjectRemarkupRule extends PhabricatorObjectRemarkupRule { // These characters may never appear anywhere in a hashtag. $never = '\s?!,:;{}#\\(\\)"\''; - // These characters may not appear at the beginning. - $never_first = '.\d'; - - // These characters may not appear at the end. - $never_last = '.'; + // These characters may not appear at the edge of the string. + $never_edge = '.'; return - '[^'.$never_first.$never.']+'. + '[^'.$never_edge.$never.']+'. '(?:'. '[^'.$never.']*'. - '[^'.$never_last.$never.']+'. + '[^'.$never_edge.$never.']+'. ')*'; } diff --git a/src/applications/project/remarkup/__tests__/ProjectRemarkupRuleTestCase.php b/src/applications/project/remarkup/__tests__/ProjectRemarkupRuleTestCase.php index 80e809aba9..3789a424dd 100644 --- a/src/applications/project/remarkup/__tests__/ProjectRemarkupRuleTestCase.php +++ b/src/applications/project/remarkup/__tests__/ProjectRemarkupRuleTestCase.php @@ -33,7 +33,21 @@ final class ProjectRemarkupRuleTestCase extends PhabricatorTestCase { ), '#123' => array( 'embed' => array(), - 'ref' => array(), + 'ref' => array( + array( + 'offset' => 1, + 'id' => '123', + ), + ), + ), + '#2x4' => array( + 'embed' => array(), + 'ref' => array( + array( + 'offset' => 1, + 'id' => '2x4', + ), + ), ), '#security#123' => array( 'embed' => array(), From d0e87fc1144564c4e5c1455a166e6bed8e7955a4 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Mon, 23 Nov 2015 08:26:29 -0800 Subject: [PATCH 17/30] Maybe possibly really fix :last-child in phabricator-remarkup Summary: This rule should correctly target the last //direct// descendent child of .phabricator-remarkup, and not grandchildren. Fixes T9833 Test Plan: Test commenting, documents, descriptions, and other remarkup areas. All spacing seems consistent. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T9833 Differential Revision: https://secure.phabricator.com/D14548 --- resources/celerity/map.php | 6 +++--- webroot/rsrc/css/core/remarkup.css | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 96cba39301..c68dda640c 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -7,7 +7,7 @@ */ return array( 'names' => array( - 'core.pkg.css' => '22a4e620', + 'core.pkg.css' => '3f4a6760', 'core.pkg.js' => '47dc9ebb', 'darkconsole.pkg.js' => 'e7393ebb', 'differential.pkg.css' => '2de124c9', @@ -104,7 +104,7 @@ return array( 'rsrc/css/application/tokens/tokens.css' => '3d0f239e', 'rsrc/css/application/uiexample/example.css' => '528b19de', 'rsrc/css/core/core.css' => '78e8d7ea', - 'rsrc/css/core/remarkup.css' => 'b080287b', + 'rsrc/css/core/remarkup.css' => '306fb6dc', 'rsrc/css/core/syntax.css' => '9fd11da8', 'rsrc/css/core/z-index.css' => '57ddcaa2', 'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa', @@ -749,7 +749,7 @@ return array( 'phabricator-object-selector-css' => '85ee8ce6', 'phabricator-phtize' => 'd254d646', 'phabricator-prefab' => '6920d200', - 'phabricator-remarkup-css' => 'b080287b', + 'phabricator-remarkup-css' => '306fb6dc', 'phabricator-search-results-css' => '7dea472c', 'phabricator-shaped-request' => '7cbe244b', 'phabricator-side-menu-view-css' => 'bec2458e', diff --git a/webroot/rsrc/css/core/remarkup.css b/webroot/rsrc/css/core/remarkup.css index 2e0bcf9454..da7b0a1dcc 100644 --- a/webroot/rsrc/css/core/remarkup.css +++ b/webroot/rsrc/css/core/remarkup.css @@ -371,7 +371,7 @@ body .phabricator-standard-page div.phabricator-remarkup .remarkup-header + * { margin-top: 0; } -body div.phabricator-remarkup:last-child { +body div.phabricator-remarkup > *:last-child { margin-bottom: 0; } From a58c5e10b8c3d9041d0645148064397cfb0babcb Mon Sep 17 00:00:00 2001 From: Chad Little Date: Mon, 23 Nov 2015 09:06:30 -0800 Subject: [PATCH 18/30] Remove margin on blockquote paragraphs in Remarkup Summary: This paragraph shouldn't get extra margin when inside a blockquote. Test Plan: Quote some text, see less margin. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D14549 --- resources/celerity/map.php | 6 +++--- webroot/rsrc/css/core/remarkup.css | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index c68dda640c..d746796b00 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -7,7 +7,7 @@ */ return array( 'names' => array( - 'core.pkg.css' => '3f4a6760', + 'core.pkg.css' => '5e982028', 'core.pkg.js' => '47dc9ebb', 'darkconsole.pkg.js' => 'e7393ebb', 'differential.pkg.css' => '2de124c9', @@ -104,7 +104,7 @@ return array( 'rsrc/css/application/tokens/tokens.css' => '3d0f239e', 'rsrc/css/application/uiexample/example.css' => '528b19de', 'rsrc/css/core/core.css' => '78e8d7ea', - 'rsrc/css/core/remarkup.css' => '306fb6dc', + 'rsrc/css/core/remarkup.css' => '88e1ebb6', 'rsrc/css/core/syntax.css' => '9fd11da8', 'rsrc/css/core/z-index.css' => '57ddcaa2', 'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa', @@ -749,7 +749,7 @@ return array( 'phabricator-object-selector-css' => '85ee8ce6', 'phabricator-phtize' => 'd254d646', 'phabricator-prefab' => '6920d200', - 'phabricator-remarkup-css' => '306fb6dc', + 'phabricator-remarkup-css' => '88e1ebb6', 'phabricator-search-results-css' => '7dea472c', 'phabricator-shaped-request' => '7cbe244b', 'phabricator-side-menu-view-css' => 'bec2458e', diff --git a/webroot/rsrc/css/core/remarkup.css b/webroot/rsrc/css/core/remarkup.css index da7b0a1dcc..f7b2c22364 100644 --- a/webroot/rsrc/css/core/remarkup.css +++ b/webroot/rsrc/css/core/remarkup.css @@ -171,6 +171,10 @@ background-color: {$lightbluebackground}; } +.phabricator-remarkup blockquote p { + margin: 0; +} + .phabricator-remarkup blockquote blockquote { background-color: rgba(175,175,175, .1); } From df7f21b4e8117b65650c364b1a19bff77f9ca804 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Mon, 23 Nov 2015 10:28:59 -0800 Subject: [PATCH 19/30] Use PHUIRemarkupPreviewView in Phame Summary: Reuse PHUIMarkupPreviewView in Phame for consistency, less custom code. Also, doesn't work (JS issue). Test Plan: New Post, Edit Post, Save Post Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D14552 --- resources/celerity/map.php | 16 ++++++------ src/__phutil_library_map__.php | 2 -- .../PhabricatorPhameApplication.php | 2 +- .../post/PhamePostEditController.php | 22 +++++----------- .../post/PhamePostPreviewController.php | 26 ------------------- src/view/phui/PHUIRemarkupPreviewPanel.php | 2 +- .../application/phame/phame-post-preview.js | 13 ---------- 7 files changed, 16 insertions(+), 67 deletions(-) delete mode 100644 src/applications/phame/controller/post/PhamePostPreviewController.php diff --git a/resources/celerity/map.php b/resources/celerity/map.php index d746796b00..48e2119287 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -402,7 +402,7 @@ return array( 'rsrc/js/application/owners/OwnersPathEditor.js' => 'aa1733d0', 'rsrc/js/application/owners/owners-path-editor.js' => '7a68dda3', 'rsrc/js/application/passphrase/passphrase-credential-control.js' => '3cb0b2fc', - 'rsrc/js/application/phame/phame-post-preview.js' => 'be807912', + 'rsrc/js/application/phame/phame-post-preview.js' => 'd6bba572', 'rsrc/js/application/pholio/behavior-pholio-mock-edit.js' => '246dc085', 'rsrc/js/application/pholio/behavior-pholio-mock-view.js' => 'fbe497e7', 'rsrc/js/application/phortune/behavior-stripe-payment-form.js' => '3f5d6dbf', @@ -637,7 +637,7 @@ return array( 'javelin-behavior-phabricator-transaction-comment-form' => 'b23b49e6', 'javelin-behavior-phabricator-transaction-list' => '13c739ea', 'javelin-behavior-phabricator-watch-anchor' => '9f36c42d', - 'javelin-behavior-phame-post-preview' => 'be807912', + 'javelin-behavior-phame-post-preview' => 'd6bba572', 'javelin-behavior-pholio-mock-edit' => '246dc085', 'javelin-behavior-pholio-mock-view' => 'fbe497e7', 'javelin-behavior-phui-dropdown-menu' => '54733475', @@ -1765,12 +1765,6 @@ return array( 'javelin-util', 'javelin-request', ), - 'be807912' => array( - 'javelin-behavior', - 'javelin-dom', - 'javelin-util', - 'phabricator-shaped-request', - ), 'c1700f6f' => array( 'javelin-install', 'javelin-util', @@ -1851,6 +1845,12 @@ return array( 'javelin-dom', 'javelin-stratcom', ), + 'd6bba572' => array( + 'javelin-behavior', + 'javelin-dom', + 'javelin-util', + 'phabricator-shaped-request', + ), 'd75709e6' => array( 'javelin-behavior', 'javelin-workflow', diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index c1eac5a583..4816faaa44 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -3310,7 +3310,6 @@ phutil_register_library_map(array( 'PhamePostMailReceiver' => 'applications/phame/mail/PhamePostMailReceiver.php', 'PhamePostNewController' => 'applications/phame/controller/post/PhamePostNewController.php', 'PhamePostNotLiveController' => 'applications/phame/controller/post/PhamePostNotLiveController.php', - 'PhamePostPreviewController' => 'applications/phame/controller/post/PhamePostPreviewController.php', 'PhamePostPublishController' => 'applications/phame/controller/post/PhamePostPublishController.php', 'PhamePostQuery' => 'applications/phame/query/PhamePostQuery.php', 'PhamePostReplyHandler' => 'applications/phame/mail/PhamePostReplyHandler.php', @@ -7627,7 +7626,6 @@ phutil_register_library_map(array( 'PhamePostMailReceiver' => 'PhabricatorObjectMailReceiver', 'PhamePostNewController' => 'PhamePostController', 'PhamePostNotLiveController' => 'PhamePostController', - 'PhamePostPreviewController' => 'PhamePostController', 'PhamePostPublishController' => 'PhamePostController', 'PhamePostQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhamePostReplyHandler' => 'PhabricatorApplicationTransactionReplyHandler', diff --git a/src/applications/phame/application/PhabricatorPhameApplication.php b/src/applications/phame/application/PhabricatorPhameApplication.php index 456a58c9eb..bc841087db 100644 --- a/src/applications/phame/application/PhabricatorPhameApplication.php +++ b/src/applications/phame/application/PhabricatorPhameApplication.php @@ -50,7 +50,7 @@ final class PhabricatorPhameApplication extends PhabricatorApplication { 'publish/(?P\d+)/' => 'PhamePostPublishController', 'unpublish/(?P\d+)/' => 'PhamePostUnpublishController', 'notlive/(?P\d+)/' => 'PhamePostNotLiveController', - 'preview/' => 'PhamePostPreviewController', + 'preview/' => 'PhabricatorMarkupPreviewController', 'framed/(?P\d+)/' => 'PhamePostFramedController', 'new/' => 'PhamePostNewController', 'move/(?P\d+)/' => 'PhamePostNewController', diff --git a/src/applications/phame/controller/post/PhamePostEditController.php b/src/applications/phame/controller/post/PhamePostEditController.php index c768e3c3a0..145c291efb 100644 --- a/src/applications/phame/controller/post/PhamePostEditController.php +++ b/src/applications/phame/controller/post/PhamePostEditController.php @@ -175,27 +175,17 @@ final class PhamePostEditController extends PhamePostController { ->addCancelButton($cancel_uri) ->setValue($submit_button)); - $header = id(new PHUIHeaderView()) - ->setHeader(pht('%s (Post Preview)', $title)); - - $container = id(new PHUIBoxView()) - ->setID('post-preview'); - - $document = id(new PHUIDocumentViewPro()) - ->setHeader($header) - ->appendChild($container); - - $preview_panel = id(new PHUIObjectBoxView()) - ->appendChild($document); + $preview = id(new PHUIRemarkupPreviewPanel()) + ->setHeader($post->getTitle()) + ->setPreviewURI($this->getApplicationURI('post/preview/')) + ->setControlID('post-body') + ->setPreviewType(PHUIRemarkupPreviewPanel::DOCUMENT); Javelin::initBehavior( 'phame-post-preview', array( - 'preview' => 'post-preview', - 'body' => 'post-body', 'title' => 'post-title', 'phame_title' => 'post-phame-title', - 'uri' => '/phame/post/preview/', )); $form_box = id(new PHUIObjectBoxView()) @@ -214,7 +204,7 @@ final class PhamePostEditController extends PhamePostController { ->appendChild( array( $form_box, - $preview_panel, + $preview, )); } diff --git a/src/applications/phame/controller/post/PhamePostPreviewController.php b/src/applications/phame/controller/post/PhamePostPreviewController.php deleted file mode 100644 index 3f81481576..0000000000 --- a/src/applications/phame/controller/post/PhamePostPreviewController.php +++ /dev/null @@ -1,26 +0,0 @@ -getViewer(); - $body = $request->getStr('body'); - - $post = id(new PhamePost()) - ->setBody($body); - - $content = PhabricatorMarkupEngine::renderOneObject( - $post, - PhamePost::MARKUP_FIELD_BODY, - $viewer); - - $content = phutil_tag_div('phabricator-remarkup', $content); - - return id(new AphrontAjaxResponse())->setContent($content); - } - -} diff --git a/src/view/phui/PHUIRemarkupPreviewPanel.php b/src/view/phui/PHUIRemarkupPreviewPanel.php index 5a0d8cfd84..064379cd0c 100644 --- a/src/view/phui/PHUIRemarkupPreviewPanel.php +++ b/src/view/phui/PHUIRemarkupPreviewPanel.php @@ -103,7 +103,7 @@ final class PHUIRemarkupPreviewPanel extends AphrontTagView { } else if ($this->previewType == self::DOCUMENT) { $header = id(new PHUIHeaderView()) - ->setHeader(pht('%s (Document Preview)', $this->header)); + ->setHeader(pht('%s (Preview)', $this->header)); $content = id(new PHUIDocumentViewPro()) ->setHeader($header) diff --git a/webroot/rsrc/js/application/phame/phame-post-preview.js b/webroot/rsrc/js/application/phame/phame-post-preview.js index 196b6e6469..377a6f66d5 100644 --- a/webroot/rsrc/js/application/phame/phame-post-preview.js +++ b/webroot/rsrc/js/application/phame/phame-post-preview.js @@ -8,7 +8,6 @@ JX.behavior('phame-post-preview', function(config) { - var body = JX.$(config.body); var title = JX.$(config.title); var phame_title = JX.$(config.phame_title); var sync_titles = true; @@ -54,27 +53,15 @@ JX.behavior('phame-post-preview', function(config) { return s; }; - var callback = function(r) { - JX.DOM.setContent(JX.$(config.preview), JX.$H(r)); - }; - var getdata = function() { return { - body : body.value, title : title.value, phame_title : phame_title.value }; }; - var request = new JX.PhabricatorShapedRequest(config.uri, callback, getdata); - var trigger = JX.bind(request, request.trigger); - - JX.DOM.listen(body, 'keydown', null, trigger); - JX.DOM.listen(title, 'keydown', null, trigger); JX.DOM.listen(title, 'keyup', null, titleCallback); - JX.DOM.listen(phame_title, 'keydown', null, trigger); JX.DOM.listen(phame_title, 'keyup', null, phameTitleKeyupCallback); JX.DOM.listen(phame_title, 'blur', null, phameTitleBlurCallback); - request.start(); }); From 2047483cc046a220f010cd5cebfb375f29c5bcdf Mon Sep 17 00:00:00 2001 From: Joshua Spence Date: Tue, 24 Nov 2015 06:43:00 +1100 Subject: [PATCH 20/30] Render Remarkup in emails Summary: Ref T992. I noticed that `ManiphestTask` mail doesn't render Remarkup properly (instead, it renders Remarkup literally). I //think// this is because the code calls `addTextSection()` rather than `addRemarkupSection()`. Test Plan: Created a new Maniphest Task and saw Remarkup in the generated self-email (inspect the email contents with `./bin/mail show-outbound`). I didn't test the other affected applications. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: Korvin Maniphest Tasks: T992 Differential Revision: https://secure.phabricator.com/D14511 --- src/applications/audit/editor/PhabricatorAuditEditor.php | 2 +- src/applications/badges/editor/PhabricatorBadgesEditor.php | 2 +- .../countdown/editor/PhabricatorCountdownEditor.php | 2 +- .../differential/customfield/DifferentialSummaryField.php | 2 +- .../differential/customfield/DifferentialTestPlanField.php | 2 +- .../differential/editor/DifferentialTransactionEditor.php | 2 +- .../maniphest/editor/ManiphestTransactionEditor.php | 2 +- .../phriction/editor/PhrictionTransactionEditor.php | 2 +- src/applications/phurl/editor/PhabricatorPhurlURLEditor.php | 2 +- .../releeph/editor/ReleephRequestTransactionalEditor.php | 2 +- src/applications/slowvote/editor/PhabricatorSlowvoteEditor.php | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/applications/audit/editor/PhabricatorAuditEditor.php b/src/applications/audit/editor/PhabricatorAuditEditor.php index 51efdf175b..47fa055388 100644 --- a/src/applications/audit/editor/PhabricatorAuditEditor.php +++ b/src/applications/audit/editor/PhabricatorAuditEditor.php @@ -660,7 +660,7 @@ final class PhabricatorAuditEditor } if ($inlines) { - $body->addTextSection( + $body->addRemarkupSection( pht('INLINE COMMENTS'), $this->renderInlineCommentsForMail($object, $inlines)); } diff --git a/src/applications/badges/editor/PhabricatorBadgesEditor.php b/src/applications/badges/editor/PhabricatorBadgesEditor.php index d7403601ec..ad4ccca3d2 100644 --- a/src/applications/badges/editor/PhabricatorBadgesEditor.php +++ b/src/applications/badges/editor/PhabricatorBadgesEditor.php @@ -194,7 +194,7 @@ final class PhabricatorBadgesEditor $body = parent::buildMailBody($object, $xactions); if (strlen($description)) { - $body->addTextSection( + $body->addRemarkupSeciton( pht('BADGE DESCRIPTION'), $object->getDescription()); } diff --git a/src/applications/countdown/editor/PhabricatorCountdownEditor.php b/src/applications/countdown/editor/PhabricatorCountdownEditor.php index f0962beae2..e1eddf2270 100644 --- a/src/applications/countdown/editor/PhabricatorCountdownEditor.php +++ b/src/applications/countdown/editor/PhabricatorCountdownEditor.php @@ -173,7 +173,7 @@ final class PhabricatorCountdownEditor $description = $object->getDescription(); if (strlen($description)) { - $body->addTextSection( + $body->addRemarkupSection( pht('COUNTDOWN DESCRIPTION'), $object->getDescription()); } diff --git a/src/applications/differential/customfield/DifferentialSummaryField.php b/src/applications/differential/customfield/DifferentialSummaryField.php index 91c78537cd..16a3f701c1 100644 --- a/src/applications/differential/customfield/DifferentialSummaryField.php +++ b/src/applications/differential/customfield/DifferentialSummaryField.php @@ -165,7 +165,7 @@ final class DifferentialSummaryField return; } - $body->addTextSection(pht('REVISION SUMMARY'), $summary); + $body->addRemarkupSection(pht('REVISION SUMMARY'), $summary); } } diff --git a/src/applications/differential/customfield/DifferentialTestPlanField.php b/src/applications/differential/customfield/DifferentialTestPlanField.php index 4b0869a7d8..32d3c15c31 100644 --- a/src/applications/differential/customfield/DifferentialTestPlanField.php +++ b/src/applications/differential/customfield/DifferentialTestPlanField.php @@ -195,7 +195,7 @@ final class DifferentialTestPlanField return; } - $body->addTextSection(pht('TEST PLAN'), $test_plan); + $body->addRemarkupSection(pht('TEST PLAN'), $test_plan); } diff --git a/src/applications/differential/editor/DifferentialTransactionEditor.php b/src/applications/differential/editor/DifferentialTransactionEditor.php index fabd2511ba..b2e946cf7f 100644 --- a/src/applications/differential/editor/DifferentialTransactionEditor.php +++ b/src/applications/differential/editor/DifferentialTransactionEditor.php @@ -1212,7 +1212,7 @@ final class DifferentialTransactionEditor } if ($inlines) { - $body->addTextSection( + $body->addRemarkupSection( pht('INLINE COMMENTS'), $this->renderInlineCommentsForMail($object, $inlines)); } diff --git a/src/applications/maniphest/editor/ManiphestTransactionEditor.php b/src/applications/maniphest/editor/ManiphestTransactionEditor.php index dcc518e06b..565f3cc627 100644 --- a/src/applications/maniphest/editor/ManiphestTransactionEditor.php +++ b/src/applications/maniphest/editor/ManiphestTransactionEditor.php @@ -442,7 +442,7 @@ final class ManiphestTransactionEditor $body = parent::buildMailBody($object, $xactions); if ($this->getIsNewObject()) { - $body->addTextSection( + $body->addRemarkupSection( pht('TASK DESCRIPTION'), $object->getDescription()); } diff --git a/src/applications/phriction/editor/PhrictionTransactionEditor.php b/src/applications/phriction/editor/PhrictionTransactionEditor.php index 5d1534df19..4cec1ccdbf 100644 --- a/src/applications/phriction/editor/PhrictionTransactionEditor.php +++ b/src/applications/phriction/editor/PhrictionTransactionEditor.php @@ -419,7 +419,7 @@ final class PhrictionTransactionEditor $body = parent::buildMailBody($object, $xactions); if ($this->getIsNewObject()) { - $body->addTextSection( + $body->addRemarkupSection( pht('DOCUMENT CONTENT'), $object->getContent()->getContent()); } else if ($this->contentDiffURI) { diff --git a/src/applications/phurl/editor/PhabricatorPhurlURLEditor.php b/src/applications/phurl/editor/PhabricatorPhurlURLEditor.php index ef7f547621..712478c839 100644 --- a/src/applications/phurl/editor/PhabricatorPhurlURLEditor.php +++ b/src/applications/phurl/editor/PhabricatorPhurlURLEditor.php @@ -236,7 +236,7 @@ final class PhabricatorPhurlURLEditor $body = parent::buildMailBody($object, $xactions); if (strlen($description)) { - $body->addTextSection( + $body->addRemarkupSection( pht('URL DESCRIPTION'), $object->getDescription()); } diff --git a/src/applications/releeph/editor/ReleephRequestTransactionalEditor.php b/src/applications/releeph/editor/ReleephRequestTransactionalEditor.php index ecfa4c5b6b..4710557043 100644 --- a/src/applications/releeph/editor/ReleephRequestTransactionalEditor.php +++ b/src/applications/releeph/editor/ReleephRequestTransactionalEditor.php @@ -249,7 +249,7 @@ final class ReleephRequestTransactionalEditor if ($has_pick_failure) { $instructions = $releeph_project->getDetail('pick_failure_instructions'); if ($instructions) { - $body->addTextSection( + $body->addRemarkupSection( pht('PICK FAILURE INSTRUCTIONS'), $instructions); } diff --git a/src/applications/slowvote/editor/PhabricatorSlowvoteEditor.php b/src/applications/slowvote/editor/PhabricatorSlowvoteEditor.php index 047a5c99a8..94e31e8b92 100644 --- a/src/applications/slowvote/editor/PhabricatorSlowvoteEditor.php +++ b/src/applications/slowvote/editor/PhabricatorSlowvoteEditor.php @@ -145,7 +145,7 @@ final class PhabricatorSlowvoteEditor $description = $object->getDescription(); if (strlen($description)) { - $body->addTextSection( + $body->addRemarkupSection( pht('SLOWVOTE DESCRIPTION'), $object->getDescription()); } From 8f23e41f6211a587dcbfaf67b31574244ba4ec9b Mon Sep 17 00:00:00 2001 From: Chad Little Date: Tue, 24 Nov 2015 08:47:26 -0800 Subject: [PATCH 21/30] Update to FontAwesome 4.5 Summary: New icons Test Plan: Use new icons Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D14568 --- resources/celerity/map.php | 14 ++-- src/view/phui/PHUIIconView.php | 21 +++++- webroot/rsrc/css/font/font-awesome.css | 66 +++++++++++++++++- .../font/fontawesome/fontawesome-webfont.eot | Bin 68875 -> 70807 bytes .../font/fontawesome/fontawesome-webfont.ttf | Bin 138204 -> 142072 bytes .../font/fontawesome/fontawesome-webfont.woff | Bin 81284 -> 83588 bytes .../fontawesome/fontawesome-webfont.woff2 | Bin 64464 -> 66624 bytes 7 files changed, 90 insertions(+), 11 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 48e2119287..9b56790de3 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -7,7 +7,7 @@ */ return array( 'names' => array( - 'core.pkg.css' => '5e982028', + 'core.pkg.css' => '91bbffc2', 'core.pkg.js' => '47dc9ebb', 'darkconsole.pkg.js' => 'e7393ebb', 'differential.pkg.css' => '2de124c9', @@ -109,7 +109,7 @@ return array( 'rsrc/css/core/z-index.css' => '57ddcaa2', 'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa', 'rsrc/css/font/font-aleo.css' => '8bdb2835', - 'rsrc/css/font/font-awesome.css' => 'd2fc4e8d', + 'rsrc/css/font/font-awesome.css' => 'c43323c5', 'rsrc/css/font/font-lato.css' => 'c7ccd872', 'rsrc/css/font/phui-font-icon-base.css' => 'ecbbb4c2', 'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82', @@ -167,10 +167,10 @@ return array( 'rsrc/externals/font/aleo/aleo-regular.ttf' => '751e7479', 'rsrc/externals/font/aleo/aleo-regular.woff' => 'c3744be9', 'rsrc/externals/font/aleo/aleo-regular.woff2' => '851aa0ee', - 'rsrc/externals/font/fontawesome/fontawesome-webfont.eot' => '7d5a4653', - 'rsrc/externals/font/fontawesome/fontawesome-webfont.ttf' => '531835e8', - 'rsrc/externals/font/fontawesome/fontawesome-webfont.woff' => '427fe363', - 'rsrc/externals/font/fontawesome/fontawesome-webfont.woff2' => 'a9897054', + 'rsrc/externals/font/fontawesome/fontawesome-webfont.eot' => '346fbcc5', + 'rsrc/externals/font/fontawesome/fontawesome-webfont.ttf' => '510fccb2', + 'rsrc/externals/font/fontawesome/fontawesome-webfont.woff' => '0334f580', + 'rsrc/externals/font/fontawesome/fontawesome-webfont.woff2' => '45dca585', 'rsrc/externals/font/lato/lato-bold.eot' => '99fbcf8c', 'rsrc/externals/font/lato/lato-bold.svg' => '2aa83045', 'rsrc/externals/font/lato/lato-bold.ttf' => '0a7141f7', @@ -538,7 +538,7 @@ return array( 'diffusion-source-css' => '075ba788', 'diviner-shared-css' => 'aa3656aa', 'font-aleo' => '8bdb2835', - 'font-fontawesome' => 'd2fc4e8d', + 'font-fontawesome' => 'c43323c5', 'font-lato' => 'c7ccd872', 'global-drag-and-drop-css' => '697324ad', 'harbormaster-css' => 'b0758ca5', diff --git a/src/view/phui/PHUIIconView.php b/src/view/phui/PHUIIconView.php index 08e27b0753..c9d8a0808e 100644 --- a/src/view/phui/PHUIIconView.php +++ b/src/view/phui/PHUIIconView.php @@ -725,7 +725,26 @@ final class PHUIIconView extends AphrontTagView { 'fa-vimeo', 'fa-black-tie', 'fa-fonticons', - + 'fa-reddit-alien', + 'fa-edge', + 'fa-credit-card-alt', + 'fa-codiepie:before', + 'fa-modx', + 'fa-fort-awesome', + 'fa-usb', + 'fa-product-hunt', + 'fa-mixcloud', + 'fa-scribd', + 'fa-pause-circle', + 'fa-pause-circle-o', + 'fa-stop-circle', + 'fa-stop-circle-o', + 'fa-shopping-bag', + 'fa-shopping-basket', + 'fa-hashtag', + 'fa-bluetooth', + 'fa-bluetooth-b', + 'fa-percent', ); } diff --git a/webroot/rsrc/css/font/font-awesome.css b/webroot/rsrc/css/font/font-awesome.css index 1658708f4e..ca910e2cc8 100644 --- a/webroot/rsrc/css/font/font-awesome.css +++ b/webroot/rsrc/css/font/font-awesome.css @@ -3,15 +3,15 @@ */ /*! - * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome + * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ /* FONT PATH * -------------------------- */ @font-face { font-family: 'FontAwesome'; - src: url('/rsrc/externals/font/fontawesome/fontawesome-webfont.eot?v=4.4.0'); - src: url('/rsrc/externals/font/fontawesome/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'), url('/rsrc/externals/font/fontawesome/fontawesome-webfont.woff2?v=4.4.0') format('woff2'), url('/rsrc/externals/font/fontawesome/fontawesome-webfont.woff?v=4.4.0') format('woff'), url('/rsrc/externals/font/fontawesome/fontawesome-webfont.ttf?v=4.4.0') format('truetype'); + src: url('/rsrc/externals/font/fontawesome/fontawesome-webfont.eot?v=4.5.0'); + src: url('/rsrc/externals/font/fontawesome/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('/rsrc/externals/font/fontawesome/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('/rsrc/externals/font/fontawesome/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('/rsrc/externals/font/fontawesome/fontawesome-webfont.ttf?v=4.5.0') format('truetype'); font-weight: normal; font-style: normal; } @@ -1887,3 +1887,63 @@ .fa-fonticons:before { content: "\f280"; } +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} diff --git a/webroot/rsrc/externals/font/fontawesome/fontawesome-webfont.eot b/webroot/rsrc/externals/font/fontawesome/fontawesome-webfont.eot index a30335d748c65c0bab5880b4e6dba53f5c79206c..9b6afaedc0fd7aaf927a07f82da9c11022251b8b 100644 GIT binary patch literal 70807 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 literal 68875 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

7r8$?kb-D3z%-c} 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 F002TuuHFCu diff --git a/webroot/rsrc/externals/font/fontawesome/fontawesome-webfont.ttf b/webroot/rsrc/externals/font/fontawesome/fontawesome-webfont.ttf index d7994e13086b1ac1a216bd754c93e1bccd65f237..26dea7951a73079223b50653c455c5adf46a4648 100644 GIT binary patch delta 8925 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 LkTJR delta 5044 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 diff --git a/webroot/rsrc/externals/font/fontawesome/fontawesome-webfont.woff b/webroot/rsrc/externals/font/fontawesome/fontawesome-webfont.woff index 6fd4ede0f30f170eecb4156beb7235bf01fff00b..dc35ce3c2cf688c89b0bd0d4a82bc4be82b14c40 100644 GIT binary patch delta 83505 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�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 r#LYxU$kP*((j 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 A+e?Gz&7 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
C%%M^ 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 WTi5;62nVnrKX+wfW(HgQ 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 o-IM%8o*ehr=#Iq=Q0BvwUBdJ3D Date: Mon, 23 Nov 2015 09:17:36 -0800 Subject: [PATCH 22/30] Use new DocumentView for Legalpad previews Summary: Moves to showing Legalpad previews using PHUIDocumentViewPro Test Plan: Create a new document, edit an existing document Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D14550 --- resources/celerity/map.php | 4 ++-- .../legalpad/controller/LegalpadDocumentEditController.php | 4 ++-- webroot/rsrc/css/phui/phui-remarkup-preview.css | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 9b56790de3..713883e97a 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -143,7 +143,7 @@ return array( 'rsrc/css/phui/phui-pager.css' => 'bea33d23', 'rsrc/css/phui/phui-pinboard-view.css' => '2495140e', 'rsrc/css/phui/phui-property-list-view.css' => '27b2849e', - 'rsrc/css/phui/phui-remarkup-preview.css' => '867f85b3', + 'rsrc/css/phui/phui-remarkup-preview.css' => '1a8f2591', 'rsrc/css/phui/phui-spacing.css' => '042804d6', 'rsrc/css/phui/phui-status.css' => '888cedb8', 'rsrc/css/phui/phui-tag-view.css' => 'e60e227b', @@ -808,7 +808,7 @@ return array( 'phui-pager-css' => 'bea33d23', 'phui-pinboard-view-css' => '2495140e', 'phui-property-list-view-css' => '27b2849e', - 'phui-remarkup-preview-css' => '867f85b3', + 'phui-remarkup-preview-css' => '1a8f2591', 'phui-spacing-css' => '042804d6', 'phui-status-list-view-css' => '888cedb8', 'phui-tag-view-css' => 'e60e227b', diff --git a/src/applications/legalpad/controller/LegalpadDocumentEditController.php b/src/applications/legalpad/controller/LegalpadDocumentEditController.php index edbaaf99e2..84a879a7a2 100644 --- a/src/applications/legalpad/controller/LegalpadDocumentEditController.php +++ b/src/applications/legalpad/controller/LegalpadDocumentEditController.php @@ -243,10 +243,10 @@ final class LegalpadDocumentEditController extends LegalpadController { $crumbs->addTextCrumb($short); $preview = id(new PHUIRemarkupPreviewPanel()) - ->setHeader(pht('Document Preview')) + ->setHeader($document->getTitle()) ->setPreviewURI($this->getApplicationURI('document/preview/')) ->setControlID('document-text') - ->addClass('phui-document-view'); + ->setPreviewType(PHUIRemarkupPreviewPanel::DOCUMENT); return $this->buildApplicationPage( array( diff --git a/webroot/rsrc/css/phui/phui-remarkup-preview.css b/webroot/rsrc/css/phui/phui-remarkup-preview.css index 658e5010ee..c045cae703 100644 --- a/webroot/rsrc/css/phui/phui-remarkup-preview.css +++ b/webroot/rsrc/css/phui/phui-remarkup-preview.css @@ -41,7 +41,7 @@ *

or not. It should probably move to the Engine in all cases, but * until we do that get rid of the extra spacing generated by the inner div. */ -.phui-remarkup-preview .phabricator-remarkup .phabricator-remarkup { +body .phui-remarkup-preview .phabricator-remarkup .phabricator-remarkup { padding: 0; margin: 0; } From c4ea1e6e21d1ab608d827b48f7bdc259483a87a6 Mon Sep 17 00:00:00 2001 From: Nipunn Koorapati Date: Wed, 25 Nov 2015 06:42:33 -0800 Subject: [PATCH 23/30] Increase the maximum size eligible for image transforms configurable from 4MB->16MB Summary: Also increase the timeout for the external process to complete the transform. Test Plan: Careful inspection Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: joshuaspence, cburroughs, chad, Korvin Differential Revision: https://secure.phabricator.com/D14528 --- .../files/transform/PhabricatorFileImageTransform.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/applications/files/transform/PhabricatorFileImageTransform.php b/src/applications/files/transform/PhabricatorFileImageTransform.php index ff8bd14683..468eae0e03 100644 --- a/src/applications/files/transform/PhabricatorFileImageTransform.php +++ b/src/applications/files/transform/PhabricatorFileImageTransform.php @@ -119,9 +119,9 @@ abstract class PhabricatorFileImageTransform extends PhabricatorFileTransform { $out = new TempFile(); $future = new ExecFuture('convert %s %Ls %s', $tmp, $argv, $out); - // Don't spend more than 10 seconds resizing; just fail if it takes longer + // Don't spend more than 60 seconds resizing; just fail if it takes longer // than that. - $future->setTimeout(10)->resolvex(); + $future->setTimeout(60)->resolvex(); $data = Filesystem::readFile($out); @@ -259,7 +259,7 @@ abstract class PhabricatorFileImageTransform extends PhabricatorFileTransform { $file = $this->file; - $max_size = (1024 * 1024 * 4); + $max_size = (1024 * 1024 * 16); $img_size = $file->getByteSize(); if ($img_size > $max_size) { throw new Exception( From b21928599960ddad9bf0680dfc3d7a204e466e81 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 25 Nov 2015 08:21:24 -0800 Subject: [PATCH 24/30] Fix handling of implicit comment transaction in paste creation Summary: Fixes T9850. The `getComment()` test should be a `hasComment()` test, in order to discard empty comments. Also backport a couple of future fixes which can get you into trouble if you reconfigure forms in awkward ways. Test Plan: Created a new paste without a comment. Reviewers: chad Reviewed By: chad Maniphest Tasks: T9850 Differential Revision: https://secure.phabricator.com/D14571 --- .../editfield/PhabricatorEditField.php | 16 ++++++++++++++-- .../PhabricatorApplicationTransactionEditor.php | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/applications/transactions/editfield/PhabricatorEditField.php b/src/applications/transactions/editfield/PhabricatorEditField.php index 60b48cc2b8..fcf66c3883 100644 --- a/src/applications/transactions/editfield/PhabricatorEditField.php +++ b/src/applications/transactions/editfield/PhabricatorEditField.php @@ -320,7 +320,13 @@ abstract class PhabricatorEditField extends Phobject { } protected function getValueExistsInSubmit(AphrontRequest $request, $key) { - return $this->getHTTPParameterType()->getExists($request, $key); + $type = $this->getHTTPParameterType(); + + if ($type) { + return $type->getExists($request, $key); + } + + return false; } protected function getValueFromSubmit(AphrontRequest $request, $key) { @@ -328,7 +334,13 @@ abstract class PhabricatorEditField extends Phobject { } protected function getDefaultValue() { - return $this->getHTTPParameterType()->getDefaultValue(); + $type = $this->getHTTPParameterType(); + + if ($type) { + return $type->getDefaultValue(); + } + + return null; } final public function getHTTPParameterType() { diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php index d61b498edd..07c1b983fd 100644 --- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php +++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php @@ -1888,7 +1888,7 @@ abstract class PhabricatorApplicationTransactionEditor } foreach ($no_effect as $key => $xaction) { - if ($xaction->getComment()) { + if ($xaction->hasComment()) { $xaction->setTransactionType($type_comment); $xaction->setOldValue(null); $xaction->setNewValue(null); From 8c016b20d2bf6fd43b67e2b0b7c4432d3bbdf163 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Wed, 25 Nov 2015 18:06:23 -0800 Subject: [PATCH 25/30] Fix New Phame Blog status setting Summary: Column status cannot be null fix. Test Plan: Create a new blog. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D14574 --- src/applications/phame/storage/PhameBlog.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/applications/phame/storage/PhameBlog.php b/src/applications/phame/storage/PhameBlog.php index 43d865a058..3fc708f72a 100644 --- a/src/applications/phame/storage/PhameBlog.php +++ b/src/applications/phame/storage/PhameBlog.php @@ -75,6 +75,7 @@ final class PhameBlog extends PhameDAO public static function initializeNewBlog(PhabricatorUser $actor) { $blog = id(new PhameBlog()) ->setCreatorPHID($actor->getPHID()) + ->setStatus(self::STATUS_ACTIVE) ->setViewPolicy(PhabricatorPolicies::getMostOpenPolicy()) ->setEditPolicy(PhabricatorPolicies::POLICY_USER); return $blog; From fc1c36106daf8e4f0c5866ce6e80c3c6015c43ca Mon Sep 17 00:00:00 2001 From: epriestley Date: Thu, 26 Nov 2015 06:07:18 -0800 Subject: [PATCH 26/30] Pass recently applied transactions to HeraldAdapters Summary: Ref T9851. See T9860. This adds a missing capability to custom HeraldActions, to pave the way for removing the obsolete/undesirable WILLEDITTASK and DIDEDITTASK events. Test Plan: See T9860 for a replacement action. Reviewers: chad Reviewed By: chad Maniphest Tasks: T9851 Differential Revision: https://secure.phabricator.com/D14575 --- .../herald/adapter/HeraldAdapter.php | 31 +++++++++++++++++++ ...habricatorApplicationTransactionEditor.php | 9 ++++-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/src/applications/herald/adapter/HeraldAdapter.php b/src/applications/herald/adapter/HeraldAdapter.php index bec6677230..c7239438c6 100644 --- a/src/applications/herald/adapter/HeraldAdapter.php +++ b/src/applications/herald/adapter/HeraldAdapter.php @@ -29,6 +29,7 @@ abstract class HeraldAdapter extends Phobject { private $contentSource; private $isNewObject; private $applicationEmail; + private $appliedTransactions = array(); private $queuedTransactions = array(); private $emailPHIDs = array(); private $forcedEmailPHIDs = array(); @@ -121,6 +122,36 @@ abstract class HeraldAdapter extends Phobject { return !empty($applications); } + + /** + * Set the list of transactions which just took effect. + * + * These transactions are set by @{class:PhabricatorApplicationEditor} + * automatically, before it invokes Herald. + * + * @param list List of transactions. + * @return this + */ + final public function setAppliedTransactions(array $xactions) { + assert_instances_of($xactions, 'PhabricatorApplicationTransaction'); + $this->appliedTransactions = $xactions; + return $this; + } + + + /** + * Get a list of transactions which just took effect. + * + * When an object is edited normally, transactions are applied and then + * Herald executes. You can call this method to examine the transactions + * if you want to react to them. + * + * @return list List of transactions. + */ + final public function getAppliedTransactions() { + return $this->appliedTransactions; + } + public function queueTransaction($transaction) { $this->queuedTransactions[] = $transaction; } diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php index 07c1b983fd..8fdcb8c925 100644 --- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php +++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php @@ -2867,12 +2867,15 @@ abstract class PhabricatorApplicationTransactionEditor PhabricatorLiskDAO $object, array $xactions) { - $adapter = $this->buildHeraldAdapter($object, $xactions); - $adapter->setContentSource($this->getContentSource()); - $adapter->setIsNewObject($this->getIsNewObject()); + $adapter = $this->buildHeraldAdapter($object, $xactions) + ->setContentSource($this->getContentSource()) + ->setIsNewObject($this->getIsNewObject()) + ->setAppliedTransactions($xactions); + if ($this->getApplicationEmail()) { $adapter->setApplicationEmail($this->getApplicationEmail()); } + $xscript = HeraldEngine::loadAndApplyRules($adapter); $this->setHeraldAdapter($adapter); From f3e6a577947d475851a3b627b31ce36040385124 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Fri, 27 Nov 2015 12:13:35 -0800 Subject: [PATCH 27/30] Improve Legalpad Preamble UI Summary: Darken up the Preamble UI and provide more //dramatic// spacing. Fixes T9866 Test Plan: Review a preamble. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T9866 Differential Revision: https://secure.phabricator.com/D14579 --- resources/celerity/map.php | 4 ++-- webroot/rsrc/css/phui/phui-document.css | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 713883e97a..44ba4be6cd 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -127,7 +127,7 @@ return array( 'rsrc/css/phui/phui-button.css' => '16020a60', 'rsrc/css/phui/phui-crumbs-view.css' => '414406b5', 'rsrc/css/phui/phui-document-pro.css' => '5f75ed99', - 'rsrc/css/phui/phui-document.css' => '765a9dac', + 'rsrc/css/phui/phui-document.css' => 'a4a1c3b9', 'rsrc/css/phui/phui-feed-story.css' => 'b7b26d23', 'rsrc/css/phui/phui-fontkit.css' => '9cda225e', 'rsrc/css/phui/phui-form-view.css' => 'c1d2ef29', @@ -789,7 +789,7 @@ return array( 'phui-calendar-list-css' => 'c1c7f338', 'phui-calendar-month-css' => '476be7e0', 'phui-crumbs-view-css' => '414406b5', - 'phui-document-view-css' => '765a9dac', + 'phui-document-view-css' => 'a4a1c3b9', 'phui-document-view-pro-css' => '5f75ed99', 'phui-feed-story-css' => 'b7b26d23', 'phui-font-icon-base-css' => 'ecbbb4c2', diff --git a/webroot/rsrc/css/phui/phui-document.css b/webroot/rsrc/css/phui/phui-document.css index 1362c18bd2..3ceb445639 100644 --- a/webroot/rsrc/css/phui/phui-document.css +++ b/webroot/rsrc/css/phui/phui-document.css @@ -96,8 +96,9 @@ .legalpad .phui-document-content .phui-property-list-view { border: none; box-shadow: none; + border-radius: 3px; margin: 16px 0 0 0; - background-color: {$lightbluebackground}; + background-color: {$bluebackground}; } .phui-document-content { @@ -140,12 +141,12 @@ body .phui-document-view .phui-header-shell.phui-bleed-header { } .phui-document-view .phui-property-list-section-header { - padding: 12px 16px 0px; + padding: 20px 24px 0px; border-top: none; } .phui-document-view .phui-property-list-text-content { - padding: 0 16px; + padding: 0 24px 4px; } .phui-document-view .PhabricatorMonospaced, From eb62a98e0fc7e657409474fb42ff0c7a4b071fb9 Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 27 Nov 2015 11:28:57 -0800 Subject: [PATCH 28/30] Document the CLA in more detail Summary: Provide a long-form description of why we require a CLA and the distinction between the individual and corporate CLAs. See Q219 and Q97. Test Plan: Reading. Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D14578 --- src/docs/contributor/cla.diviner | 169 +++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 src/docs/contributor/cla.diviner diff --git a/src/docs/contributor/cla.diviner b/src/docs/contributor/cla.diviner new file mode 100644 index 0000000000..fde2e7cf6e --- /dev/null +++ b/src/docs/contributor/cla.diviner @@ -0,0 +1,169 @@ +@title Understanding the Phacility CLA +@group detail + +Describes the Contributor License Agreement (CLA). + +Overview +======== + +IMPORTANT: This document is not legal advice. + +Phacility requires contributors to sign a Contributor License Agreement +(often abbreviated "CLA") before we can accept contributions into the upstream. +This document explains what this document means and why we require it. + +This requirement is not unusual, and many large open source projects require a +similar CLA, including Python, Go, jQuery, and Apache Software Foundation +projects. + +You can read more about CLAs and find more examples of companies and projects +which require them on Wikipedia's +[[ https://en.wikipedia.org/wiki/Contributor_License_Agreement | CLA ]] page. + +Our CLA is substantially similar to the CLA required by Apache, the +"Apache Individual Contributor License Agreement V2.0". Many projects which +require a CLA use this CLA or a similar one. + + +Why We Require a CLA +==================== + +While many projects require a CLA, others do not. This project requires a CLA +primarily because: + + - it gives us certain rights, particularly the ability to relicense the work + later; + - it makes the terms of your contribution clear, protecting us from liability + related to copyright and patent disputes. + +**More Rights**: We consider the cost of maintaining changes to greatly +outweigh the cost of writing them in the first place. When we accept work +into the upstream, we are agreeing to bear that maintenance cost. + +This cost is not worthwhile to us unless the changes come with no strings +attached. Among other concerns, we would be unable to redistribute Phabricator +under a different license in the future without the additional rights the CLA +gives us. + +For a concrete example of the problems this causes, Bootstrap switched from +GPLv2 to MIT in 2012-2013. You can see the issue tracking the process and read +about what they had to go through to do this here: + +https://github.com/twbs/bootstrap/issues/2054 + +This took almost 18 months and required a huge amount of effort. We are not +willing to encumber the project with that kind of potential cost in order to +accept contributions. + +The rights you give us by signing the CLA allow us to release the software +under a different license later without asking you for permission, including a +license you may not agree with. + +They do not allow us to //undo// the existing release under the Apache license, +but allow us to make an //additional// release under a different license, or +release under multiple licenses (if we do, users may choose which license or +licesnes they wish to use the software under). It would also allow us to +discontinue updating the release under the Apache license. + +While we do not currently plan to relicense Phabricator, we do not want to +give up the ability to do so: we may want or need to in the future. + +The most likely scenario which would lead to us changing the license is if a +new version of the Apache license is released. Open source software licenses +are still largely untested in the US legal system, and they may face challenges +in the future which could require adapting them to a changing legal +environment. If this occurs, we would want to be able to update to a newer +version of the license which accounted for these changes. + +It is also possible that we may want to change open source licenses (for +example, to MIT) or adopt dual-licensing (for example, both Apache and MIT). We +might want to do this so that our license is compatible with the licenses used +by other software we want to be distributed alongside. + +Although we currently believe it is unlikely, it is also possible we may want +to relicense Phabricator under a closed, proprietary, or literally evil license. +By signing the CLA, you are giving us the power to do this without requiring +you to consent. If you are not comfortable with this, do not sign the CLA and +do not contribute to Phabricator. + +**Limitation of Liability**: The second benefit the CLA provides is that it +makes the terms of your contribition explicitly clear upfront, and it puts us +in a much stronger legal position if a contributor later claims there is +ambiguity about ownership of their work. We can point at the document they +signed as proof that they consented to our use and understood the terms of +their contribution. + +//SCO v. IBM// was a lawsuit filed in 2003 alleging (roughly) that IBM had +improperly contributed code owned by SCO to Linux. The details of this and the +subsequent cases are very complex and the situation is not a direct parallel to +anything we are likely to face, but SCO claimed billions of dollars in damages +and the litigation has now been ongoing for more than a decade. + +We want to avoid situations like this in the future by making the terms of +contibution explicit upfront. + +Generally, we believe the terms of the CLA are fair and reasonable for +contributors, and that the primary way contributors benefit from contributing +to Phabricator is that we publish and maintain their changes so they do not +have to fork the software. + +If you have strong ideological reasons for contributing to open source, you may +not be comfortable with the terms of the CLA (for example, it may be important +to you that your changes are never available under a license which you haven't +explicitly approved). This is fine and we can understand why contributors may +hold this viewpoint, but we can not accept your changes into the upstream. + + +Corporate vs Individual CLAs +============================ + +We offer two CLAs: + + - {L28} + - {L30} + +These are both substantially similar to the equivalent Apache CLAs. + +If you own the work you are contributing, sign the individual CLA. If your +employer owns the work you are contributing, have them sign the corporate CLA. + +**If you are employed, there is a substantial possibility that your employer +owns your work.** If they do, you do not have the right to contribute it to us +or assign the rights that we require, and can not contribute under the +individual CLA. Work with your employer to contribute under the corporate CLA +instead. + +Particularly, this clause in the individual CLA is the important one: + +> 4. You represent that you are legally entitled to grant the above license. If +> your employer(s) has rights to intellectual property that you create that +> includes your Contributions, you represent that you have received permission +> to make Contributions on behalf of that employer, that your employer has +> waived such rights for your Contributions to Phacility, or that your employer +> has executed a separate Corporate CLA with Phacility. + +Ownership of your work varies based on where you live, how you are employed, +and your agreements with your employer. However, at least in the US, it is +likely that your employer owns your work unless you have anticipated conflicts +and specifically avoided them. This generally makes sense: if you are paid by +your employer for your work, they own the product of your work and you receive +salary and benefits in fair exchange for that work. + +Your employer may have an ownership claim on your work even if you perform it +on your own time, if you use their equipment (like a company laptop or phone), +resources, facilities, or trade secrets, or signed something like an "Invention +Assignment Agreement" when you were hired. Such agreements are common. The +details of the strength of their claim will vary based on your situation and +local law. + +If you are unsure, you should speak with your employer or a lawyer. If you +contribute code you do not own under the individual CLA, you are exposing +yourself to liability. You may also be exposing us to liablity, but we'll have +the CLA on our side to show that we were unwilling pawns in your malicious +scheme to defraud your employer. + +The good news is that most employers are happy to contribute to open source +projects. Incentives are generally well aligned: they get features they want, +and it reflects well on them. In the past, potential contributors who have +approached their employers about a corporate CLA have generally had little +difficulty getting approval. From afcbbce80f034ffc75bfdf6368554b25a2baed33 Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 27 Nov 2015 13:41:50 -0800 Subject: [PATCH 29/30] Minor spelling/wordsmith on CLA doc Summary: Caught these while re-reading. Test Plan: Reading? Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D14580 --- src/docs/contributor/cla.diviner | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/docs/contributor/cla.diviner b/src/docs/contributor/cla.diviner index fde2e7cf6e..f08711483a 100644 --- a/src/docs/contributor/cla.diviner +++ b/src/docs/contributor/cla.diviner @@ -62,7 +62,7 @@ license you may not agree with. They do not allow us to //undo// the existing release under the Apache license, but allow us to make an //additional// release under a different license, or release under multiple licenses (if we do, users may choose which license or -licesnes they wish to use the software under). It would also allow us to +licenses they wish to use the software under). It would also allow us to discontinue updating the release under the Apache license. While we do not currently plan to relicense Phabricator, we do not want to @@ -122,7 +122,7 @@ We offer two CLAs: - {L28} - {L30} -These are both substantially similar to the equivalent Apache CLAs. +These are both substantially similar to the corresponding Apache CLAs. If you own the work you are contributing, sign the individual CLA. If your employer owns the work you are contributing, have them sign the corporate CLA. From d880346b649d677730c4907d366cd88d4066346c Mon Sep 17 00:00:00 2001 From: Chad Little Date: Fri, 27 Nov 2015 14:07:46 -0800 Subject: [PATCH 30/30] Remove delete function in PhamePost Summary: Ref T9756, removes the ability to delete a PhamePost Test Plan: See link removed, unpublish post, publish post, new post. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T9756 Differential Revision: https://secure.phabricator.com/D14581 --- src/__phutil_library_map__.php | 2 - .../PhabricatorPhameApplication.php | 1 - .../post/PhamePostDeleteController.php | 41 ------------------- .../post/PhamePostViewController.php | 8 ---- 4 files changed, 52 deletions(-) delete mode 100644 src/applications/phame/controller/post/PhamePostDeleteController.php diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 4816faaa44..4adf9deccd 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -3302,7 +3302,6 @@ phutil_register_library_map(array( 'PhamePost' => 'applications/phame/storage/PhamePost.php', 'PhamePostCommentController' => 'applications/phame/controller/post/PhamePostCommentController.php', 'PhamePostController' => 'applications/phame/controller/post/PhamePostController.php', - 'PhamePostDeleteController' => 'applications/phame/controller/post/PhamePostDeleteController.php', 'PhamePostEditController' => 'applications/phame/controller/post/PhamePostEditController.php', 'PhamePostEditor' => 'applications/phame/editor/PhamePostEditor.php', 'PhamePostFramedController' => 'applications/phame/controller/post/PhamePostFramedController.php', @@ -7618,7 +7617,6 @@ phutil_register_library_map(array( ), 'PhamePostCommentController' => 'PhamePostController', 'PhamePostController' => 'PhameController', - 'PhamePostDeleteController' => 'PhamePostController', 'PhamePostEditController' => 'PhamePostController', 'PhamePostEditor' => 'PhabricatorApplicationTransactionEditor', 'PhamePostFramedController' => 'PhamePostController', diff --git a/src/applications/phame/application/PhabricatorPhameApplication.php b/src/applications/phame/application/PhabricatorPhameApplication.php index bc841087db..8c6516dd96 100644 --- a/src/applications/phame/application/PhabricatorPhameApplication.php +++ b/src/applications/phame/application/PhabricatorPhameApplication.php @@ -44,7 +44,6 @@ final class PhabricatorPhameApplication extends PhabricatorApplication { '(?:(?Pdraft|all)/)?' => 'PhamePostListController', '(?:query/(?P[^/]+)/)?' => 'PhamePostListController', 'blogger/(?P[\w\.-_]+)/' => 'PhamePostListController', - 'delete/(?P[^/]+)/' => 'PhamePostDeleteController', 'edit/(?:(?P[^/]+)/)?' => 'PhamePostEditController', 'view/(?P\d+)/' => 'PhamePostViewController', 'publish/(?P\d+)/' => 'PhamePostPublishController', diff --git a/src/applications/phame/controller/post/PhamePostDeleteController.php b/src/applications/phame/controller/post/PhamePostDeleteController.php deleted file mode 100644 index 292fa6c18c..0000000000 --- a/src/applications/phame/controller/post/PhamePostDeleteController.php +++ /dev/null @@ -1,41 +0,0 @@ -getViewer(); - - $post = id(new PhamePostQuery()) - ->setViewer($viewer) - ->withIDs(array($request->getURIData('id'))) - ->requireCapabilities( - array( - PhabricatorPolicyCapability::CAN_EDIT, - )) - ->executeOne(); - if (!$post) { - return new Aphront404Response(); - } - - if ($request->isFormPost()) { - $post->delete(); - return id(new AphrontRedirectResponse()) - ->setURI('/phame/post/'); - } - - $cancel_uri = $this->getApplicationURI('/post/view/'.$post->getID().'/'); - - $dialog = id(new AphrontDialogView()) - ->setUser($viewer) - ->setTitle(pht('Delete Post?')) - ->appendChild( - pht( - 'Really delete the post "%s"? It will be gone forever.', - $post->getTitle())) - ->addSubmitButton(pht('Delete')) - ->addCancelButton($cancel_uri); - - return id(new AphrontDialogResponse())->setDialog($dialog); - } - -} diff --git a/src/applications/phame/controller/post/PhamePostViewController.php b/src/applications/phame/controller/post/PhamePostViewController.php index 6b414a9fe7..bff1113efe 100644 --- a/src/applications/phame/controller/post/PhamePostViewController.php +++ b/src/applications/phame/controller/post/PhamePostViewController.php @@ -157,14 +157,6 @@ final class PhamePostViewController extends PhamePostController { ->setWorkflow(true)); } - $actions->addAction( - id(new PhabricatorActionView()) - ->setIcon('fa-times') - ->setHref($this->getApplicationURI('post/delete/'.$id.'/')) - ->setName(pht('Delete Post')) - ->setDisabled(!$can_edit) - ->setWorkflow(true)); - $blog = $post->getBlog(); $can_view_live = $blog && !$post->isDraft();