summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2016-11-30 11:36:01 +0100
committerGitHub <noreply@github.com>2016-11-30 11:36:01 +0100
commit542f1a7e0b6316a2aa845fa6b7b9193c68cd9a65 (patch)
treef6ae18eb9b4105f3c19c07e66256665b11019cf1
parent86168c8ea7d233e7aef7e6a6bda758646a6480e3 (diff)
parent69db58250a7a801256bcd14d787d8ca7d9613bb4 (diff)
downloadnextcloud-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.php2
-rw-r--r--lib/private/Repair/NC11/MoveAvatars.php24
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');
}
}
}