mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-14 10:52:41 +01:00
f33e2de092
Summary: Ref T4245 Make repo callsigns optional This is far from done and still very ugly. I'm just submitting it to check if i'm solving this in the right places. Right now there's three places with duplicate code and building the identifierMap in the CommitQuery is very ugly. If we only want to support this in the user frontend then i could hack it into the Markup rule itself and not touch the CommitQuery. Even uglier but more limited in scope... Generally this approach will need a lot of "check this first and then try the other" in a few places. I could move the Repository queries into a specialised PhabricatorRepositoryQuery method (withCallsignOrID) but i'm not sure about that. Test Plan: - phid.lookup works with R1 and rTEST (which is the same repo) - R1 and rTEST euqally work in remarkup (tested in comments). - Reviewed the following syntax also all works: rTEST rTESTd773137a7cb9 rTEST:d773137a7cb9 R1 R1:d773137a7cb9 d773137a7cb9 {rTEST} {rTESTd773137a7cb9} {rTEST:d773137a7cb9} {R1} {R1:d773137a7cb9} {d773137a7cb9} Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: Korvin, epriestley Maniphest Tasks: T4245 Differential Revision: https://secure.phabricator.com/D11050
29 lines
572 B
PHP
29 lines
572 B
PHP
<?php
|
|
|
|
final class DiffusionRepositoryByIDRemarkupRule
|
|
extends PhabricatorObjectRemarkupRule {
|
|
|
|
protected function getObjectNamePrefix() {
|
|
return 'R';
|
|
}
|
|
|
|
protected function getObjectIDPattern() {
|
|
return '[0-9]+';
|
|
}
|
|
|
|
public function getPriority() {
|
|
return 460.0;
|
|
}
|
|
|
|
protected function loadObjects(array $ids) {
|
|
$viewer = $this->getEngine()->getConfig('viewer');
|
|
|
|
$repos = id(new PhabricatorRepositoryQuery())
|
|
->setViewer($viewer)
|
|
->withIdentifiers($ids);
|
|
|
|
$repos->execute();
|
|
return $repos->getIdentifierMap();
|
|
}
|
|
|
|
}
|