summaryrefslogtreecommitdiffstats
path: root/apps/dav/templates
diff options
context:
space:
mode:
authorFrançois Freitag <mail@franek.fr>2021-05-16 17:56:50 +0200
committerFrançois Freitag <mail@franek.fr>2021-06-05 11:22:25 +0200
commit70edda034201b9d7c3d38bb714dfb35324b2841c (patch)
tree7dbdc91f8b99d82c1e805d657c8fcbafce7a0ece /apps/dav/templates
parent46dbc8fa988176e4a431cafcbae6674fb613c899 (diff)
downloadnextcloud-server-70edda034201b9d7c3d38bb714dfb35324b2841c.tar.gz
nextcloud-server-70edda034201b9d7c3d38bb714dfb35324b2841c.zip
Port dav calendar settings page to Vue.js
- Drop reliance on deprecated global jQuery object. - Allow testing user interactions. - Use newer technology stack. --- Test user interactions with the groupware dav settings Add infrastructure to test Vue components: - Use recommended libraries: - https://vuejs.org/v2/guide/testing.html#Recommendations - Use jest-dom for robust assertions on the DOM state - Use user-event to be more representative of user actions - Code is transpiled by Jest, with the help of vue-jest. Ignore test files for no-unpublished-import. Prevent ESLint from flagging: ``` /home/runner/work/server/server/apps/dav/src/views/CalDavSettings.spec.js Error: 1:24 error "@testing-library/vue" is not published node/no-unpublished-import Error: 2:23 error "@testing-library/user-event" is not published node/no-unpublished-import ``` Signed-off-by: François Freitag <mail@franek.fr>
Diffstat (limited to 'apps/dav/templates')
-rw-r--r--apps/dav/templates/settings-admin-caldav.php77
1 files changed, 3 insertions, 74 deletions
diff --git a/apps/dav/templates/settings-admin-caldav.php b/apps/dav/templates/settings-admin-caldav.php
index 75d44c23a38..3a67f21a9cc 100644
--- a/apps/dav/templates/settings-admin-caldav.php
+++ b/apps/dav/templates/settings-admin-caldav.php
@@ -3,6 +3,7 @@
* @copyright 2017, Georg Ehrke <oc.list@georgehrke.com>
*
* @author Georg Ehrke <oc.list@georgehrke.com>
+ * @author François Freitag <mail@franek.fr>
*
* @license GNU AGPL version 3 or any later version
*
@@ -23,78 +24,6 @@
script('dav', 'settings-admin-caldav');
-/** @var \OCP\IL10N $l */
-/** @var array $_ */
?>
-<form id="CalDAV" class="section">
- <h2><?php p($l->t('Calendar server')); ?></h2>
- <p class="settings-hint">
- <?php print_unescaped(str_replace(
- [
- '{calendarappstoreopen}',
- '{calendardocopen}',
- '{linkclose}',
- ],
- [
- '<a target="_blank" href="../apps/office/calendar">',
- '<a target="_blank" href="' . link_to_docs('user-sync-calendars') . '" rel="noreferrer noopener">',
- '</a>',
- ],
- $l->t('Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.')
- )); ?>
- </p>
- <p>
- <input type="checkbox" name="caldav_send_invitations" id="caldavSendInvitations" class="checkbox"
- <?php ($_['send_invitations'] === 'yes') ? print_unescaped('checked="checked"') : null ?>/>
- <label for="caldavSendInvitations"><?php p($l->t('Send invitations to attendees')); ?></label>
- <br>
- <em>
- <?php print_unescaped(str_replace(
- [
- '{emailopen}',
- '{linkclose}',
- ],
- [
- '<a href="../admin#mail_general_settings">',
- '</a>',
- ],
- $l->t('Please make sure to properly set up {emailopen}the email server{linkclose}.')
- )); ?>
- </em>
- </p>
- <p>
- <input type="checkbox" name="caldav_generate_birthday_calendar" id="caldavGenerateBirthdayCalendar" class="checkbox"
- <?php ($_['generate_birthday_calendar'] === 'yes') ? print_unescaped('checked="checked"') : null ?>/>
- <label for="caldavGenerateBirthdayCalendar"><?php p($l->t('Automatically generate a birthday calendar')); ?></label>
- <br>
- <em><?php p($l->t('Birthday calendars will be generated by a background job.')); ?></em><br>
- <em><?php p($l->t('Hence they will not be available immediately after enabling but will show up after some time.')); ?></em>
- </p>
- <p>
- <input type="checkbox" name="caldav_send_reminders_notifications" id="caldavSendRemindersNotifications" class="checkbox"
- <?php ($_['send_reminders_notifications'] === 'yes') ? print_unescaped('checked="checked"') : null ?>/>
- <label for="caldavSendRemindersNotifications"><?php p($l->t('Send notifications for events')); ?></label>
- <br>
- <em>
- <?php print_unescaped(str_replace(
- [
- '{emailopen}',
- '{linkclose}',
- ],
- [
- '<a href="../admin#mail_general_settings">',
- '</a>',
- ],
- $l->t('Please make sure to properly set up {emailopen}the email server{linkclose}.')
- )); ?>
- </em>
- <br>
- <em><?php p($l->t('Notifications are sent via background jobs, so these must occur often enough.')); ?></em>
- </p>
- <p>
- <input type="checkbox" name="caldav_send_reminders_notifications_push" id="caldavSendRemindersNotificationsPush" class="checkbox"
- <?php ($_['send_reminders_notifications_push'] === 'yes') ? print_unescaped('checked="checked"') : null ?>
- <?php ($_['send_reminders_notifications'] === 'yes') ? null : print_unescaped('disabled="disabled"') ?> />
- <label for="caldavSendRemindersNotificationsPush"><?php p($l->t('Enable notifications for events via push')); ?></label>
- </p>
-</form>
+
+<div id="settings-admin-caldav"></div>