diff options
author | Roeland Jago Douma <rullzer@users.noreply.github.com> | 2016-11-30 11:36:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-30 11:36:01 +0100 |
commit | 542f1a7e0b6316a2aa845fa6b7b9193c68cd9a65 (patch) | |
tree | f6ae18eb9b4105f3c19c07e66256665b11019cf1 | |
parent | 86168c8ea7d233e7aef7e6a6bda758646a6480e3 (diff) | |
parent | 69db58250a7a801256bcd14d787d8ca7d9613bb4 (diff) | |
download | nextcloud-server-542f1a7e0b6316a2aa845fa6b7b9193c68cd9a65.tar.gz nextcloud-server-542f1a7e0b6316a2aa845fa6b7b9193c68cd9a65.zip |
Merge pull request #2405 from nextcloud/add-avatar-job-once
Execute MoveAvatars repair step only once
-rw-r--r-- | lib/private/Repair.php | 2 | ||||
-rw-r--r-- | lib/private/Repair/NC11/MoveAvatars.php | 24 |
2 files changed, 17 insertions, 9 deletions
diff --git a/lib/private/Repair.php b/lib/private/Repair.php index 5efbb9f8e2e..c212ea90744 100644 --- a/lib/private/Repair.php +++ b/lib/private/Repair.php @@ -154,7 +154,7 @@ class Repair implements IOutput{ new MoveUpdaterStepFile(\OC::$server->getConfig()), new MoveAvatars( \OC::$server->getJobList(), - \OC::$server->getSystemConfig() + \OC::$server->getConfig() ), new CleanPreviews( \OC::$server->getJobList(), diff --git a/lib/private/Repair/NC11/MoveAvatars.php b/lib/private/Repair/NC11/MoveAvatars.php index 44402b1be4f..f98068eaa45 100644 --- a/lib/private/Repair/NC11/MoveAvatars.php +++ b/lib/private/Repair/NC11/MoveAvatars.php @@ -22,8 +22,8 @@ */ namespace OC\Repair\NC11; -use OC\SystemConfig; use OCP\BackgroundJob\IJobList; +use OCP\IConfig; use OCP\Migration\IOutput; use OCP\Migration\IRepairStep; @@ -32,33 +32,41 @@ class MoveAvatars implements IRepairStep { /** @var IJobList */ private $jobList; - /** @var SystemConfig */ - private $systemConfig; + /** @var IConfig */ + private $config; /** * MoveAvatars constructor. * * @param IJobList $jobList - * @param SystemConfig $systemConfig + * @param IConfig $config */ public function __construct(IJobList $jobList, - SystemConfig $systemConfig) { + IConfig $config) { $this->jobList = $jobList; - $this->systemConfig = $systemConfig; + $this->config = $config; } /** * @return string */ public function getName() { - return 'Add mover avatar background job'; + return 'Add move avatar background job'; } public function run(IOutput $output) { - if ($this->systemConfig->getValue('enable_avatars', true) === false) { + // only run once + if ($this->config->getAppValue('core', 'moveavatarsdone') === 'yes') { + $output->info('Repair step already executed'); + return; + } + if ($this->config->getSystemValue('enable_avatars', true) === false) { $output->info('Avatars are disabled'); } else { + $output->info('Add background job'); $this->jobList->add(MoveAvatarsBackgroundJob::class); + // if all were done, no need to redo the repair during next upgrade + $this->config->setAppValue('core', 'moveavatarsdone', 'yes'); } } } |