Extend all "ManagementWorkflow" classes from a base class

Summary:
Ref T2015. Not directly related to Drydock, but I've wanted to do this for a bit.

Introduce a common base class for all the workflows in the scripts in `bin/*`. This slightly reduces code duplication by moving `isExecutable()` to the base, but also provides `getViewer()`. This is a little nicer than `PhabricatorUser::getOmnipotentUser()` and gives us a layer of indirection if we ever want to introduce more general viewer mechanisms in scripts.

Test Plan: Lint; ran some of the scripts.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2015

Differential Revision: https://secure.phabricator.com/D7838
This commit is contained in:
epriestley
2013-12-27 13:15:40 -08:00
parent 1ba52fac86
commit e397103bf2
40 changed files with 77 additions and 138 deletions

View File

@@ -1,11 +1,7 @@
<?php
abstract class PhabricatorFilesManagementWorkflow
extends PhutilArgumentWorkflow {
public function isExecutable() {
return true;
}
extends PhabricatorManagementWorkflow {
protected function buildIterator(PhutilArgumentParser $args) {
$names = $args->getArg('names');
@@ -20,7 +16,7 @@ abstract class PhabricatorFilesManagementWorkflow
if ($names) {
$query = id(new PhabricatorObjectQuery())
->setViewer(PhabricatorUser::getOmnipotentUser())
->setViewer($this->getViewer())
->withNames($names)
->withTypes(array(PhabricatorFilePHIDTypeFile::TYPECONST));