Skip to content

Commit

Permalink
fix(settings): Do not use null on string parameter for sharing di…
Browse files Browse the repository at this point in the history
…sclaimer

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
  • Loading branch information
susnux committed Oct 23, 2024
1 parent d915a7c commit 4f4b3eb
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 23 deletions.
2 changes: 1 addition & 1 deletion apps/settings/lib/Settings/Admin/Sharing.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public function getForm() {
'enforceExpireDate' => $this->getHumanBooleanConfig('core', 'shareapi_enforce_expire_date'),
'excludeGroups' => $this->config->getAppValue('core', 'shareapi_exclude_groups', 'no'),
'excludeGroupsList' => json_decode($excludedGroups, true) ?? [],
'publicShareDisclaimerText' => $this->config->getAppValue('core', 'shareapi_public_link_disclaimertext', null),
'publicShareDisclaimerText' => $this->config->getAppValue('core', 'shareapi_public_link_disclaimertext'),
'enableLinkPasswordByDefault' => $this->getHumanBooleanConfig('core', 'shareapi_enable_link_password_by_default'),
'defaultPermissions' => (int)$this->config->getAppValue('core', 'shareapi_default_permissions', (string)Constants::PERMISSION_ALL),
'defaultInternalExpireDate' => $this->getHumanBooleanConfig('core', 'shareapi_default_internal_expire_date'),
Expand Down
34 changes: 17 additions & 17 deletions apps/settings/src/components/AdminSettingsSharingForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@
<NcCheckboxRadioSwitch type="switch" :checked.sync="publicShareDisclaimerEnabled">
{{ t('settings', 'Show disclaimer text on the public link upload page (only shown when the file list is hidden)') }}
</NcCheckboxRadioSwitch>
<div v-if="typeof settings.publicShareDisclaimerText === 'string'"
<div v-if="publicShareDisclaimerEnabled"
aria-describedby="settings-sharing-privary-related-disclaimer-hint"
class="sharing__sub-section">
<NcTextArea class="sharing__input"
Expand Down Expand Up @@ -231,7 +231,7 @@ interface IShareSettings {
enforceExpireDate: boolean
excludeGroups: string
excludeGroupsList: string[]
publicShareDisclaimerText?: string
publicShareDisclaimerText: string
enableLinkPasswordByDefault: boolean
defaultPermissions: number
defaultInternalExpireDate: boolean
Expand All @@ -252,8 +252,10 @@ export default defineComponent({
SelectSharingPermissions,
},
data() {
const settingsData = loadState<IShareSettings>('settings', 'sharingSettings')
return {
settingsData: loadState<IShareSettings>('settings', 'sharingSettings'),
settingsData,
publicShareDisclaimerEnabled: settingsData.publicShareDisclaimerText !== '',
}
},
computed: {
Expand All @@ -272,26 +274,24 @@ export default defineComponent({
},
})
},
publicShareDisclaimerEnabled: {
get() {
return typeof this.settingsData.publicShareDisclaimerText === 'string'
},
set(value) {
if (value) {
this.settingsData.publicShareDisclaimerText = ''
} else {
this.onUpdateDisclaimer()
}
},
},

watch: {
publicShareDisclaimerEnabled() {
// When disabled we just remove the disclaimer content
if (this.publicShareDisclaimerEnabled === false) {
this.onUpdateDisclaimer('')
}
},
},

methods: {
t,

onUpdateDisclaimer: debounce(function(value?: string) {
onUpdateDisclaimer: debounce(function(value: string) {
const options = {
success() {
if (value) {
if (value !== '') {
showSuccess(t('settings', 'Changed disclaimer text'))
} else {
showSuccess(t('settings', 'Deleted disclaimer text'))
Expand All @@ -301,7 +301,7 @@ export default defineComponent({
showError(t('settings', 'Could not set disclaimer text'))
},
}
if (!value) {
if (value === '') {
window.OCP.AppConfig.deleteKey('core', 'shareapi_public_link_disclaimertext', options)
} else {
window.OCP.AppConfig.setValue('core', 'shareapi_public_link_disclaimertext', value, options)
Expand Down
5 changes: 0 additions & 5 deletions build/psalm-baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1047,11 +1047,6 @@
<code><![CDATA[isReady]]></code>
</UndefinedInterfaceMethod>
</file>
<file src="apps/settings/lib/Settings/Admin/Sharing.php">
<NullArgument>
<code><![CDATA[null]]></code>
</NullArgument>
</file>
<file src="apps/sharebymail/lib/ShareByMailProvider.php">
<InvalidArgument>
<code><![CDATA[$share->getId()]]></code>
Expand Down

0 comments on commit 4f4b3eb

Please sign in to comment.