| @@ 140-156 (lines=17) @@ | ||
| 137 | * |
|
| 138 | * @param \eZ\Publish\API\Repository\Values\Content\UrlWildcard $urlWildcard the url wildcard to remove |
|
| 139 | */ |
|
| 140 | public function remove(URLWildcard $urlWildcard) |
|
| 141 | { |
|
| 142 | if (!$this->repository->canUser('content', 'urltranslator', $urlWildcard)) { |
|
| 143 | throw new UnauthorizedException('content', 'urltranslator'); |
|
| 144 | } |
|
| 145 | ||
| 146 | $this->repository->beginTransaction(); |
|
| 147 | try { |
|
| 148 | $this->urlWildcardHandler->remove( |
|
| 149 | $urlWildcard->id |
|
| 150 | ); |
|
| 151 | $this->repository->commit(); |
|
| 152 | } catch (Exception $e) { |
|
| 153 | $this->repository->rollback(); |
|
| 154 | throw $e; |
|
| 155 | } |
|
| 156 | } |
|
| 157 | ||
| 158 | /** |
|
| 159 | * Loads a url wild card. |
|
| @@ 233-251 (lines=19) @@ | ||
| 230 | * |
|
| 231 | * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to empty the trash |
|
| 232 | */ |
|
| 233 | public function emptyTrash() |
|
| 234 | { |
|
| 235 | // Will throw if you have Role assignment limitation where you have content/cleantrash permission. |
|
| 236 | // This is by design and means you can only delete one and one trash item, or you'll need to change how |
|
| 237 | // permissions is assigned to be on separate role with no Role assignment limitation. |
|
| 238 | if ($this->repository->hasAccess('content', 'cleantrash') !== true) { |
|
| 239 | throw new UnauthorizedException('content', 'cleantrash'); |
|
| 240 | } |
|
| 241 | ||
| 242 | $this->repository->beginTransaction(); |
|
| 243 | try { |
|
| 244 | // Persistence layer takes care of deleting content objects |
|
| 245 | $this->persistenceHandler->trashHandler()->emptyTrash(); |
|
| 246 | $this->repository->commit(); |
|
| 247 | } catch (Exception $e) { |
|
| 248 | $this->repository->rollback(); |
|
| 249 | throw $e; |
|
| 250 | } |
|
| 251 | } |
|
| 252 | ||
| 253 | /** |
|
| 254 | * Deletes a trash item. |
|