-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Contact could not be saved if both birthday and date of birth given #507
Comments
Thanks you, I now understand the issue better. This is not a contact issue nor a calendar issue. This should go directly into server since the vcard is being rejected by the webdav instance. :) |
Just for the sake of completeness:
|
Event URI is not the same - it is unique for each date field. But birthday, anniversary and day of death date fileds of a single contact do have the exact the same event UID at the moment. Sorry for a small inaccuracy. The same contact URI is used as event UID for all 3 date fields. And this causes the problem. The VEVENT component in the VCALENDAR object stored in oc_calendarobjects.calendardata has a event UID field. RFC5545, UID field: Using the unique event ObjectUri/DateUri as event UID solved that issue for me. I could not find an existing unit test for that. So unit tests are not changed.
|
Duplicate of #571 |
This issue was filed as nextcloud/server#8629 (nextcloud core). |
(I do not want to hijack #501. My issues seams to be very similar to #501, execept the fact, that other fields are used.)
The error message "Contact could not be saved" comes directly after changing a contact via WebUI (nearly after each keystroke).
I noticed that this message is misleading, at least for the first change. The first change a non-admin user is doing will be persisted, but all subsequent changes will not be persisted. This is reproducable with login and logoffs. But all change attempts trigger the error message.
As an admin you can see a more detailed error message, related to the above WebUI error message (same point in time):
Stacktracke:
As we can see by the URI there is already a vcalendar dataset in database table "oc_calendarobjects", and as i can see it is about "date of death". So i deleted the "Birthday" field via WebUI. Now a can update the contact without issues. Adding the "Birthday" again results in the above issue.
As this exception is related to the calendar. There seams to be a hook that triggers the "birthday calendar updater process". And this process seams maybe only able to manage 1:1 relationship between contact and calendar event . For each date field there will be always the same URI generated. I removed "birthday" and "date of death" and added a "birthday" again => same uri for birthday event as it was for the date of death event. First date field will be saved, all other date fields will fail.
I guess: Not a bug in contacts app. A bug in calendar app.
The text was updated successfully, but these errors were encountered: