diff --git a/resources/celerity/map.php b/resources/celerity/map.php --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -337,7 +337,7 @@ 'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => '01774ab2', 'rsrc/js/application/conpherence/behavior-drag-and-drop-photo.js' => 'cf86d16a', 'rsrc/js/application/conpherence/behavior-durable-column.js' => '16c695bf', - 'rsrc/js/application/conpherence/behavior-menu.js' => 'c0348cac', + 'rsrc/js/application/conpherence/behavior-menu.js' => '43b24a10', 'rsrc/js/application/conpherence/behavior-pontificate.js' => '21ba5861', 'rsrc/js/application/conpherence/behavior-quicksand-blacklist.js' => '7927a7d3', 'rsrc/js/application/conpherence/behavior-widget-pane.js' => '93568464', @@ -545,7 +545,7 @@ 'javelin-behavior-choose-control' => '6153c708', 'javelin-behavior-config-reorder-fields' => 'b6993408', 'javelin-behavior-conpherence-drag-and-drop-photo' => 'cf86d16a', - 'javelin-behavior-conpherence-menu' => 'c0348cac', + 'javelin-behavior-conpherence-menu' => '43b24a10', 'javelin-behavior-conpherence-pontificate' => '21ba5861', 'javelin-behavior-conpherence-widget-pane' => '93568464', 'javelin-behavior-countdown-timer' => 'e4cc26b3', @@ -1105,6 +1105,20 @@ 'javelin-dom', 'javelin-request', ), + '43b24a10' => array( + 'javelin-behavior', + 'javelin-dom', + 'javelin-util', + 'javelin-stratcom', + 'javelin-workflow', + 'javelin-behavior-device', + 'javelin-history', + 'javelin-vector', + 'javelin-scrollbar', + 'phabricator-title', + 'phabricator-shaped-request', + 'conpherence-thread-manager', + ), '44168bad' => array( 'javelin-behavior', 'javelin-dom', @@ -1778,20 +1792,6 @@ 'javelin-util', 'phabricator-shaped-request', ), - 'c0348cac' => array( - 'javelin-behavior', - 'javelin-dom', - 'javelin-util', - 'javelin-stratcom', - 'javelin-workflow', - 'javelin-behavior-device', - 'javelin-history', - 'javelin-vector', - 'javelin-scrollbar', - 'phabricator-title', - 'phabricator-shaped-request', - 'conpherence-thread-manager', - ), 'c1700f6f' => array( 'javelin-install', 'javelin-util', diff --git a/src/applications/conpherence/editor/ConpherenceEditor.php b/src/applications/conpherence/editor/ConpherenceEditor.php --- a/src/applications/conpherence/editor/ConpherenceEditor.php +++ b/src/applications/conpherence/editor/ConpherenceEditor.php @@ -576,6 +576,21 @@ return $body; } + protected function addEmailPreferenceSectionToMailBody( + PhabricatorMetaMTAMailBody $body, + PhabricatorLiskDAO $object, + array $xactions) { + + $href = PhabricatorEnv::getProductionURI( + '/'.$object->getMonogram().'?settings'); + if ($object->getIsRoom()) { + $label = pht('EMAIL PREFERENCES FOR THIS ROOM'); + } else { + $label = pht('EMAIL PREFERENCES FOR THIS MESSAGE'); + } + $body->addLinkSection($label, $href); + } + protected function getMailSubjectPrefix() { return PhabricatorEnv::getEnvConfig('metamta.conpherence.subject-prefix'); } diff --git a/src/applications/metamta/view/PhabricatorMetaMTAMailBody.php b/src/applications/metamta/view/PhabricatorMetaMTAMailBody.php --- a/src/applications/metamta/view/PhabricatorMetaMTAMailBody.php +++ b/src/applications/metamta/view/PhabricatorMetaMTAMailBody.php @@ -158,26 +158,6 @@ return $this; } - - /** - * Add a section with a link to email preferences. - * - * @return this - * @task compose - */ - public function addEmailPreferenceSection() { - if (!PhabricatorEnv::getEnvConfig('metamta.email-preferences')) { - return $this; - } - - $href = PhabricatorEnv::getProductionURI( - '/settings/panel/emailpreferences/'); - $this->addLinkSection(pht('EMAIL PREFERENCES'), $href); - - return $this; - } - - /** * Add an attachment. * diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php --- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php +++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php @@ -2058,7 +2058,12 @@ $reply_handler = $this->buildReplyHandler($object); - $body->addEmailPreferenceSection(); + if (PhabricatorEnv::getEnvConfig('metamta.email-preferences')) { + $this->addEmailPreferenceSectionToMailBody( + $body, + $object, + $xactions); + } $template ->setFrom($this->getActingAsPHID()) @@ -2308,6 +2313,21 @@ return $body; } + + /** + * @task mail + */ + protected function addEmailPreferenceSectionToMailBody( + PhabricatorMetaMTAMailBody $body, + PhabricatorLiskDAO $object, + array $xactions) { + + $href = PhabricatorEnv::getProductionURI( + '/settings/panel/emailpreferences/'); + $body->addLinkSection(pht('EMAIL PREFERENCES'), $href); + } + + /** * @task mail */ diff --git a/webroot/rsrc/js/application/conpherence/behavior-menu.js b/webroot/rsrc/js/application/conpherence/behavior-menu.js --- a/webroot/rsrc/js/application/conpherence/behavior-menu.js +++ b/webroot/rsrc/js/application/conpherence/behavior-menu.js @@ -297,6 +297,11 @@ var widget = 'conpherence-message-pane'; if (device == 'desktop') { widget = 'widgets-people'; + var uri = JX.$U(location.href); + var params = uri.getQueryParams(); + if (params['settings'] !== null) { + widget = 'widgets-settings'; + } } return widget; }