Merge pull request #52072 from nextcloud/fix/sharing-exp-date

pull/52212/head
John Molakvoæ 2025-04-15 09:22:59 +07:00 committed by GitHub
commit f4841e1172
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 55 additions and 13 deletions

@ -296,8 +296,8 @@ export default defineComponent({
path: this.destination,
note: this.note,
password: this.password || undefined,
expireDate: expireDate || undefined,
password: this.password || '',
expireDate: expireDate || '',
// Empty string
shareWith: '',

@ -54,8 +54,12 @@ trait Sharing {
$fd = $body->getRowsHash();
if (array_key_exists('expireDate', $fd)) {
$dateModification = $fd['expireDate'];
if (!empty($dateModification)) {
if ($dateModification === 'null') {
$fd['expireDate'] = null;
} elseif (!empty($dateModification)) {
$fd['expireDate'] = date('Y-m-d', strtotime($dateModification));
} else {
$fd['expireDate'] = '';
}
}
$options['form_params'] = $fd;

@ -231,10 +231,11 @@ Feature: sharing
| url | AN_URL |
| mimetype | httpd/unix-directory |
Scenario: Creating a new share with expiration date removed, when default expiration is set
Scenario: Creating a new share with expiration date empty, when default expiration is set
Given user "user0" exists
And user "user1" exists
And parameter "shareapi_default_expire_date" of app "core" is set to "yes"
And parameter "shareapi_default_internal_expire_date" of app "core" is set to "yes"
And parameter "shareapi_internal_expire_after_n_days" of app "core" is set to "3"
And As an "user0"
When creating a share with
| path | welcome.txt |
@ -249,6 +250,43 @@ Feature: sharing
And Share fields of last share match with
| expiration ||
Scenario: Creating a new share with expiration date removed, when default expiration is set
Given user "user0" exists
And user "user1" exists
And parameter "shareapi_default_internal_expire_date" of app "core" is set to "yes"
And parameter "shareapi_internal_expire_after_n_days" of app "core" is set to "3"
And As an "user0"
When creating a share with
| path | welcome.txt |
| shareWith | user1 |
| shareType | 0 |
Then the OCS status code should be "100"
And the HTTP status code should be "200"
And Getting info of last share
Then the OCS status code should be "100"
And the HTTP status code should be "200"
And Share fields of last share match with
| expiration | +3 days |
Scenario: Creating a new share with expiration date null, when default expiration is set
Given user "user0" exists
And user "user1" exists
And parameter "shareapi_default_internal_expire_date" of app "core" is set to "yes"
And parameter "shareapi_internal_expire_after_n_days" of app "core" is set to "3"
And As an "user0"
When creating a share with
| path | welcome.txt |
| shareWith | user1 |
| shareType | 0 |
| expireDate | null |
Then the OCS status code should be "100"
And the HTTP status code should be "200"
And Getting info of last share
Then the OCS status code should be "100"
And the HTTP status code should be "200"
And Share fields of last share match with
| expiration | +3 days |
Scenario: Creating a new public share, updating its password and getting its info
Given user "user0" exists
And As an "user0"

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
3456-3456.js.license

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
4039-4039.js.license

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -379,7 +379,7 @@ interface IShare {
public function getExpirationDate();
/**
* Set overwrite flag for falsy expiry date vavlues
* Set overwrite flag for falsy expiry date values
*
* @param bool $noExpirationDate
* @return \OCP\Share\IShare The modified object