Paths added to messages and message cleanup

This mod adds path to error messages. Without it it's difficult for example
to find what path causes permission problems.

Related: https://help.nextcloud.com/t/ocp-files-notpermittedexception-could-not-create-folder/133818
Related: https://help.nextcloud.com/t/could-not-create-folder-false-error/65962/
Author-Change-Id: IB#1121253
Signed-off-by: Pawel Boguslawski <pawel.boguslawski@ib.pl>
This commit is contained in:
Pawel Boguslawski 2022-07-01 11:16:21 +02:00
parent 529d6537b2
commit 9eb1a92fa4

View file

@ -1,6 +1,7 @@
<?php
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
* @copyright Copyright (c) 2022 Informatyka Boguslawski sp. z o.o. sp.k., http://www.ib.pl/
*
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
@ -67,7 +68,7 @@ class Folder extends Node implements \OCP\Files\Folder {
*/
public function getFullPath($path) {
if (!$this->isValidPath($path)) {
throw new NotPermittedException('Invalid path');
throw new NotPermittedException('Invalid path "' . $path . '"');
}
return $this->path . $this->normalizePath($path);
}
@ -161,13 +162,13 @@ class Folder extends Node implements \OCP\Files\Folder {
$nonExisting = new NonExistingFolder($this->root, $this->view, $fullPath);
$this->sendHooks(['preWrite', 'preCreate'], [$nonExisting]);
if (!$this->view->mkdir($fullPath)) {
throw new NotPermittedException('Could not create folder');
throw new NotPermittedException('Could not create folder "' . $fullPath . '"');
}
$node = new Folder($this->root, $this->view, $fullPath);
$this->sendHooks(['postWrite', 'postCreate'], [$node]);
return $node;
} else {
throw new NotPermittedException('No create permission for folder');
throw new NotPermittedException('No create permission for folder "' . $path . '"');
}
}
@ -191,13 +192,13 @@ class Folder extends Node implements \OCP\Files\Folder {
$result = $this->view->touch($fullPath);
}
if ($result === false) {
throw new NotPermittedException('Could not create path');
throw new NotPermittedException('Could not create path "' . $fullPath . '"');
}
$node = new File($this->root, $this->view, $fullPath);
$this->sendHooks(['postWrite', 'postCreate'], [$node]);
return $node;
}
throw new NotPermittedException('No create permission for path');
throw new NotPermittedException('No create permission for path "' . $path . '"');
}
private function queryFromOperator(ISearchOperator $operator, string $uid = null): ISearchQuery {
@ -227,7 +228,7 @@ class Folder extends Node implements \OCP\Files\Folder {
$limitToHome = $query->limitToHome();
if ($limitToHome && count(explode('/', $this->path)) !== 3) {
throw new \InvalidArgumentException('searching by owner is only allows on the users home folder');
throw new \InvalidArgumentException('searching by owner is only allowed in the users home folder');
}
$rootLength = strlen($this->path);
@ -390,7 +391,7 @@ class Folder extends Node implements \OCP\Files\Folder {
$this->sendHooks(['postDelete'], [$nonExisting]);
$this->exists = false;
} else {
throw new NotPermittedException('No delete permission for path');
throw new NotPermittedException('No delete permission for path "' . $this->path . '"');
}
}