nextcloud / calendar

📆 Calendar app for Nextcloud
https://apps.nextcloud.com/apps/calendar
GNU Affero General Public License v3.0
968 stars 236 forks source link

Missing "Additional calendars to check for conflicts" in appointment booking (when editing existing form) #5605

Open Der-K-2000 opened 9 months ago

Der-K-2000 commented 9 months ago

Steps to reproduce

  1. Edit an appointment form
  2. Try to edit the different calendars for conflicts

Expected behavior

The checkboxes below Additional calendars to check for conflicts are visible and can be chosen.

Actual behaviour

The field is completely lost.

The source ends with:

<div data-v-dad43eb2="" class="appointment-config-modal__form__row appointment-config-modal__form__row--local"><label data-v-dad43eb2="">Additional calendars to check for conflicts</label> <!----></div>

(The next part is the time schedule, so it's not even invisible.)

Calendar app version

4.6.0

CalDAV-clients used

No response

Browser

No response

Client operating system

No response

Server operating system

No response

Web server

Apache

Database engine version

MySQL

PHP engine version

PHP 8.2

Nextcloud version

28.0.0 beta 4

Updated from an older installed version or fresh install

Updated from an older version

List of activated apps

No response

Nextcloud configuration

No response

Web server error log

No response

Log file

No response

Browser log

No response

Additional info

That issue is new. For months it works without any problems. But I don't know since when.

miaulalala commented 9 months ago

Thanks for the report. I can't reproduce:

SmartSelect_20231205_103242_Firefox

Do you have any lines in your nextcloud.log? Anything in the console?

Der-K-2000 commented 9 months ago

That's from the console (Firefox), when opening the form:

TypeError: t is undefined
    valueKeys vue-multiselect.min.js:1
    valueKeys vue-multiselect.min.js:1
    VueJS 3
    isSelected vue-multiselect.min.js:1
    optionHighlight vue-multiselect.min.js:1
    r vue-multiselect.min.js:1
    Mt VueJS
    r vue-multiselect.min.js:1
vue.runtime.esm.js:3049:16
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 465, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 467, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 479, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 481, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 493, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 495, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 507, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 509, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 521, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 523, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 535, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 537, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 549, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: null }

Object { _uid: 551, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
index.module.js:2:811376
TypeError: this.$el.querySelector is not a function
    updateWidth index.module.js:2
    mounted index.module.js:2
    VueJS 19
    click AppointmentConfigListItem.vue:1
    VueJS 4
    onClick index.module.js:2
    VueJS 33
vue.runtime.esm.js:3049:16
TypeError: this.$el.setAttribute is not a function
    Pn index.module.js:2
    VueJS 19
    click AppointmentConfigListItem.vue:1
    VueJS 4
    onClick index.module.js:2
    VueJS 33
vue.runtime.esm.js:3049:16
Got notification data, restoring default polling interval. NotificationsApp.vue:376
miaulalala commented 9 months ago

@st3iny any chance you could take a look?

Solar-Simon commented 8 months ago

I have been waiting for the full functionality of this field since the release. Maybe its only a bug?

Expected behavior: All own and subscribed calendars should be selectable Actual behavior: Nothing happens when clicking on the field

My fear was that only certain calendars could be checked. In fact, it should also be possible to check shared and subscribed calendars.

Use case 1 I have a private calendar on another server. I subscribe to it on my Nextcloud. The calendar should also be checked.

Use case 2 My colleague needs to be in the appointment for a certain format. I would therefore also like to include his calendar in the check.

Use case 3 A resource, such as a room, must be checked for availability.

Really looking forward to a fully functionion appointment booking.

Solar-Simon commented 8 months ago

the bug was addressed in the last update (4.6.3). However, it is now the case that only your own calendars can be selected for the conflict check.

It would be useful if subscribed calendars could also be selected.