+
-
-
-
-
-
-
-
-
-
+
+
+
{{ $t('calendar', 'Repeat event') }}
+
+
+
+
+
+
+
+
+
@@ -84,7 +86,7 @@ import RepeatSummary from './RepeatSummary.vue'
import RepeatIcon from 'vue-material-design-icons/Repeat.vue'
import Pencil from 'vue-material-design-icons/Pencil.vue'
import Check from 'vue-material-design-icons/Check.vue'
-import { NcActions as Actions, NcActionButton as ActionButton } from '@nextcloud/vue'
+import { NcActions as Actions, NcActionButton as ActionButton, NcModal } from '@nextcloud/vue'
import useCalendarObjectInstanceStore from '../../../store/calendarObjectInstance.js'
import { mapStores } from 'pinia'
@@ -105,6 +107,7 @@ export default {
Check,
Actions,
ActionButton,
+ NcModal,
},
props: {
/**
@@ -444,6 +447,8 @@ export default {
if (!this.isEditingMasterItem) {
this.$emit('force-this-and-all-future')
}
+
+ this.calendarObjectInstanceStore.calendarObjectInstance.canModifyAllDay = this.calendarObjectInstanceStore.calendarObjectInstance.eventComponent.canModifyAllDay()
},
/**
* Toggle visibility of the options
@@ -454,3 +459,12 @@ export default {
},
}
+
+
diff --git a/src/components/Editor/Repeat/RepeatFreqInterval.vue b/src/components/Editor/Repeat/RepeatFreqInterval.vue
index 06f128868be0ff5c3ca0e7e1ff87c8899be5d5e7..bb3e8d39e0c232cf67f612c9468af6a59e5012f1 100644
--- a/src/components/Editor/Repeat/RepeatFreqInterval.vue
+++ b/src/components/Editor/Repeat/RepeatFreqInterval.vue
@@ -75,14 +75,9 @@ export default {
diff --git a/src/components/Editor/Resources/ResourceList.vue b/src/components/Editor/Resources/ResourceList.vue
index 89227d03c6eebb551f104ddc189cdf4297f29c2d..7a52a8458c6b442f41a8df585a5b6047f7c64148 100644
--- a/src/components/Editor/Resources/ResourceList.vue
+++ b/src/components/Editor/Resources/ResourceList.vue
@@ -5,38 +5,31 @@
-
{{ t('calendar', 'Resources') }}
+
+
-
-
-
-
-
-
-
-
+
+
-
- {{ $t('calendar', 'Suggestions') }}
-
-
+
+
@@ -44,24 +37,20 @@
import { advancedPrincipalPropertySearch } from '../../../services/caldavService.js'
import { checkResourceAvailability } from '../../../services/freeBusyService.js'
import logger from '../../../utils/logger.js'
-import NoAttendeesView from '../NoAttendeesView.vue'
import ResourceListSearch from './ResourceListSearch.vue'
import ResourceListItem from './ResourceListItem.vue'
-import OrganizerNoEmailError from '../OrganizerNoEmailError.vue'
import { organizerDisplayName, removeMailtoPrefix } from '../../../utils/attendee.js'
import usePrincipalsStore from '../../../store/principals.js'
import useCalendarObjectInstanceStore from '../../../store/calendarObjectInstance.js'
import { mapStores } from 'pinia'
-
import MapMarker from 'vue-material-design-icons/MapMarker.vue'
+import { loadState } from '@nextcloud/initial-state'
export default {
name: 'ResourceList',
components: {
ResourceListItem,
- NoAttendeesView,
ResourceListSearch,
- OrganizerNoEmailError,
MapMarker,
},
props: {
@@ -115,14 +104,21 @@ export default {
const organizerEmail = removeMailtoPrefix(this.calendarObjectInstance.organizer.uri)
return organizerEmail === this.principalsStore.getCurrentUserPrincipalEmail
},
+ resourceBookingEnabled() {
+ return loadState('calendar', 'resource_booking_enabled')
+ },
},
watch: {
resources() {
- this.loadRoomSuggestions()
+ if (this.isViewedByOrganizer) {
+ this.loadRoomSuggestions()
+ }
},
},
async mounted() {
- await this.loadRoomSuggestions()
+ if (this.isViewedByOrganizer) {
+ await this.loadRoomSuggestions()
+ }
},
methods: {
addResource({ commonName, email, calendarUserType, language, timezoneId, roomAddress }) {
@@ -147,6 +143,10 @@ export default {
})
},
async loadRoomSuggestions() {
+ if (!this.resourceBookingEnabled) {
+ return
+ }
+
if (this.resources.length > 0) {
this.suggestedRooms = []
return
@@ -208,3 +208,15 @@ export default {
},
}
+
+
diff --git a/src/components/Editor/Resources/ResourceListItem.vue b/src/components/Editor/Resources/ResourceListItem.vue
index 1a546f20828532f5ac77c6ede7ea76bc06d3b104..c2701c3047a69291672128c1e159206e3c7c1071 100644
--- a/src/components/Editor/Resources/ResourceListItem.vue
+++ b/src/components/Editor/Resources/ResourceListItem.vue
@@ -62,7 +62,7 @@ import logger from '../../../utils/logger.js'
import { principalPropertySearchByDisplaynameOrEmail } from '../../../services/caldavService.js'
import { formatRoomType } from '../../../models/resourceProps.js'
-import Delete from 'vue-material-design-icons/Delete.vue'
+import Delete from 'vue-material-design-icons/TrashCanOutline.vue'
import Plus from 'vue-material-design-icons/Plus.vue'
export default {
diff --git a/src/components/Editor/Resources/ResourceSeatingCapacity.vue b/src/components/Editor/Resources/ResourceSeatingCapacity.vue
index 2342c0baf368e0c8666bbed1fbba6ce72ecb6af1..591cfb630eb85f190ae1f43aa0e376b3c7b89f05 100644
--- a/src/components/Editor/Resources/ResourceSeatingCapacity.vue
+++ b/src/components/Editor/Resources/ResourceSeatingCapacity.vue
@@ -42,6 +42,7 @@ export default {
diff --git a/src/components/Editor/SaveButtons.vue b/src/components/Editor/SaveButtons.vue
index 3c7e3a21bd345a58f6ad8cb6c85f1cfbc9e0dc92..124042029c0a54ba69b037f0bf27e4f4e36b487a 100644
--- a/src/components/Editor/SaveButtons.vue
+++ b/src/components/Editor/SaveButtons.vue
@@ -123,7 +123,7 @@ export default {
.save-buttons {
display: flex;
justify-content: end;
- gap: 5px;
+ gap: var(--default-grid-baseline);
&--grow {
flex-wrap: wrap;
diff --git a/src/components/Shared/CalendarPicker.vue b/src/components/Shared/CalendarPicker.vue
index 66f4a0dad23891df7e5827f69bc76b9c6483616a..255b4c4f9c652e12f3e3bbae3eab5a02aa2c24ee 100644
--- a/src/components/Shared/CalendarPicker.vue
+++ b/src/components/Shared/CalendarPicker.vue
@@ -152,7 +152,7 @@ export default {
+
+
diff --git a/src/components/Shared/DatePicker.vue b/src/components/Shared/DatePicker.vue
index 52b6f24271960c646f51ef9c420c9716c96da16a..76042db5b945659afe077f6fac250e5a4816d931 100644
--- a/src/components/Shared/DatePicker.vue
+++ b/src/components/Shared/DatePicker.vue
@@ -11,7 +11,8 @@
:type="type"
:hide-label="true"
class="date-time-picker"
- @input="change" />
+ @blur="onBlur"
+ @input="onInput" />
-
-
diff --git a/src/views/EditFull.vue b/src/views/EditFull.vue
new file mode 100644
index 0000000000000000000000000000000000000000..9d0f3e693f396e012bfd41e2181ca189d8fb7909
--- /dev/null
+++ b/src/views/EditFull.vue
@@ -0,0 +1,999 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('calendar','Add Talk conversation') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ n('calendar', 'User requires access to your file', 'Users require access to your file', showModalUsers.length) }}
+
+
+
+
+
+ {{ n('calendar', 'Attachment requires shared access', 'Attachments requiring shared access', showModalNewAttachments.length) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/EditSimple.vue b/src/views/EditSimple.vue
index bc6316f0fcd9b68c34deac002670be607a057d4d..4d7e80e06841b14e5e59e39813c2e29256d5e655 100644
--- a/src/views/EditSimple.vue
+++ b/src/views/EditSimple.vue
@@ -136,10 +136,21 @@
@update-end-timezone="updateEndTimezone"
@toggle-all-day="toggleAllDay" />
-
+
+