fix(shareApiController): avoid duplicated expiryDate operations
`expireDate` can be set once and used anywhere needed, the current implementation, duplicates this behavior which leads to `parseDate` receiving an a date object it parsed and returend earlier in the createShare method. Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
This commit is contained in:
parent
1bd9fe6143
commit
c902c22d16
|
@ -618,6 +618,16 @@ class ShareAPIController extends OCSController {
|
|||
$share = $this->setShareAttributes($share, $attributes);
|
||||
}
|
||||
|
||||
//Expire date
|
||||
if ($expireDate !== '') {
|
||||
try {
|
||||
$expireDate = $this->parseDate($expireDate);
|
||||
$share->setExpirationDate($expireDate);
|
||||
} catch (\Exception $e) {
|
||||
throw new OCSNotFoundException($this->l->t('Invalid date, date format must be YYYY-MM-DD'));
|
||||
}
|
||||
}
|
||||
|
||||
$share->setSharedBy($this->currentUser);
|
||||
$this->checkInheritedAttributes($share);
|
||||
|
||||
|
@ -704,15 +714,6 @@ class ShareAPIController extends OCSController {
|
|||
|
||||
$share->setSharedWith($shareWith);
|
||||
$share->setPermissions($permissions);
|
||||
if ($expireDate !== '') {
|
||||
try {
|
||||
$expireDate = $this->parseDate($expireDate);
|
||||
$share->setExpirationDate($expireDate);
|
||||
} catch (\Exception $e) {
|
||||
throw new OCSNotFoundException($this->l->t('Invalid date, date format must be YYYY-MM-DD'));
|
||||
}
|
||||
}
|
||||
|
||||
$share->setSharedWithDisplayName($this->getCachedFederatedDisplayName($shareWith, false));
|
||||
} elseif ($shareType === IShare::TYPE_REMOTE_GROUP) {
|
||||
if (!$this->shareManager->outgoingServer2ServerGroupSharesAllowed()) {
|
||||
|
@ -725,14 +726,6 @@ class ShareAPIController extends OCSController {
|
|||
|
||||
$share->setSharedWith($shareWith);
|
||||
$share->setPermissions($permissions);
|
||||
if ($expireDate !== '') {
|
||||
try {
|
||||
$expireDate = $this->parseDate($expireDate);
|
||||
$share->setExpirationDate($expireDate);
|
||||
} catch (\Exception $e) {
|
||||
throw new OCSNotFoundException($this->l->t('Invalid date, date format must be YYYY-MM-DD'));
|
||||
}
|
||||
}
|
||||
} elseif ($shareType === IShare::TYPE_CIRCLE) {
|
||||
if (!\OC::$server->getAppManager()->isEnabledForUser('circles') || !class_exists('\OCA\Circles\ShareByCircleProvider')) {
|
||||
throw new OCSNotFoundException($this->l->t('You cannot share to a Circle if the app is not enabled'));
|
||||
|
@ -768,16 +761,6 @@ class ShareAPIController extends OCSController {
|
|||
throw new OCSBadRequestException($this->l->t('Unknown share type'));
|
||||
}
|
||||
|
||||
//Expire date
|
||||
if ($expireDate !== '') {
|
||||
try {
|
||||
$expireDate = $this->parseDate($expireDate);
|
||||
$share->setExpirationDate($expireDate);
|
||||
} catch (\Exception $e) {
|
||||
throw new OCSNotFoundException($this->l->t('Invalid date, date format must be YYYY-MM-DD'));
|
||||
}
|
||||
}
|
||||
|
||||
$share->setShareType($shareType);
|
||||
|
||||
if ($note !== '') {
|
||||
|
|
Loading…
Reference in New Issue