Skip to content

Commit 887743d

Browse files
committed
fix(dav): Always show example content section
The implementation is within the dav app and indendent of calendar or contacts app. Assisted-by: ClaudeCode:claude-sonnet-4-6 Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
1 parent e4d336d commit 887743d

2 files changed

Lines changed: 6 additions & 37 deletions

File tree

apps/dav/lib/Settings/ExampleContentSettings.php

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
use OCA\DAV\AppInfo\Application;
1313
use OCA\DAV\Service\ExampleContactService;
1414
use OCA\DAV\Service\ExampleEventService;
15-
use OCP\App\IAppManager;
1615
use OCP\AppFramework\Http\TemplateResponse;
1716
use OCP\AppFramework\Services\IAppConfig;
1817
use OCP\AppFramework\Services\IInitialState;
@@ -23,38 +22,17 @@ class ExampleContentSettings implements ISettings {
2322
public function __construct(
2423
private readonly IAppConfig $appConfig,
2524
private readonly IInitialState $initialState,
26-
private readonly IAppManager $appManager,
2725
private readonly ExampleEventService $exampleEventService,
2826
private readonly ExampleContactService $exampleContactService,
2927
) {
3028
}
3129

3230
#[\Override]
3331
public function getForm(): TemplateResponse {
34-
$calendarEnabled = $this->appManager->isEnabledForUser('calendar');
35-
$contactsEnabled = $this->appManager->isEnabledForUser('contacts');
36-
$this->initialState->provideInitialState('calendarEnabled', $calendarEnabled);
37-
$this->initialState->provideInitialState('contactsEnabled', $contactsEnabled);
38-
39-
if ($calendarEnabled) {
40-
$enableDefaultEvent = $this->exampleEventService->shouldCreateExampleEvent();
41-
$this->initialState->provideInitialState('create_example_event', $enableDefaultEvent);
42-
$this->initialState->provideInitialState(
43-
'has_custom_example_event',
44-
$this->exampleEventService->hasCustomExampleEvent(),
45-
);
46-
}
47-
48-
if ($contactsEnabled) {
49-
$this->initialState->provideInitialState(
50-
'enableDefaultContact',
51-
$this->exampleContactService->isDefaultContactEnabled(),
52-
);
53-
$this->initialState->provideInitialState(
54-
'hasCustomDefaultContact',
55-
$this->appConfig->getAppValueBool('hasCustomDefaultContact'),
56-
);
57-
}
32+
$this->initialState->provideInitialState('create_example_event', $this->exampleEventService->shouldCreateExampleEvent());
33+
$this->initialState->provideInitialState('has_custom_example_event', $this->exampleEventService->hasCustomExampleEvent());
34+
$this->initialState->provideInitialState('enableDefaultContact', $this->exampleContactService->isDefaultContactEnabled());
35+
$this->initialState->provideInitialState('hasCustomDefaultContact', $this->appConfig->getAppValueBool('hasCustomDefaultContact'));
5836

5937
Util::addStyle(Application::APP_ID, 'settings-admin-example-content');
6038
Util::addScript(Application::APP_ID, 'settings-admin-example-content');
@@ -63,11 +41,6 @@ public function getForm(): TemplateResponse {
6341

6442
#[\Override]
6543
public function getSection(): ?string {
66-
if (!$this->appManager->isEnabledForUser('contacts')
67-
&& !$this->appManager->isEnabledForUser('calendar')) {
68-
return null;
69-
}
70-
7144
return 'groupware';
7245
}
7346

apps/dav/src/views/ExampleContentSettingsSection.vue

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,18 @@
44
-->
55

66
<script setup lang="ts">
7-
import { loadState } from '@nextcloud/initial-state'
87
import { t } from '@nextcloud/l10n'
98
import { NcSettingsSection } from '@nextcloud/vue'
109
import ExampleContactSettings from '../components/ExampleContactSettings.vue'
1110
import ExampleEventSettings from '../components/ExampleEventSettings.vue'
12-
13-
const hasContactsApp = loadState('dav', 'contactsEnabled')
14-
const hasCalendarApp = loadState('dav', 'calendarEnabled')
1511
</script>
1612

1713
<template>
1814
<NcSettingsSection
1915
id="example-content"
2016
:name="t('dav', 'Example content')"
2117
:description="t('dav', 'Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content.')">
22-
<ExampleContactSettings v-if="hasContactsApp" />
23-
<ExampleEventSettings v-if="hasCalendarApp" />
18+
<ExampleContactSettings />
19+
<ExampleEventSettings />
2420
</NcSettingsSection>
2521
</template>

0 commit comments

Comments
 (0)