Skip to content

Commit 8fe120e

Browse files
authored
fix: set proper defaults for attendees (#819)
* fix: set default relationship for attendees * fix: set attendee type to required * fix: set organizer even if it's missing from contacts * docs: update changelog Refs: #818, #135
1 parent 9b3ef98 commit 8fe120e

File tree

3 files changed

+36
-7
lines changed

3 files changed

+36
-7
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
### Changed
99
- Events shown in adjacent months are no longer dimmed ([#808])
1010

11+
### Fixed
12+
- Fixed missing email notifications for attendees in some cases ([#135])
13+
- Fixed missing attendees list when using some specific providers ([#818])
14+
1115
## [1.6.2] - 2025-10-09
1216
### Changed
1317
- Synchronized events with unspecified status are now treated as confirmed ([#761])
@@ -135,6 +139,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
135139

136140
[#34]: https://github.com/FossifyOrg/Calendar/issues/34
137141
[#49]: https://github.com/FossifyOrg/Calendar/issues/49
142+
[#135]: https://github.com/FossifyOrg/Calendar/issues/135
138143
[#138]: https://github.com/FossifyOrg/Calendar/issues/138
139144
[#148]: https://github.com/FossifyOrg/Calendar/issues/148
140145
[#196]: https://github.com/FossifyOrg/Calendar/issues/196
@@ -156,6 +161,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
156161
[#732]: https://github.com/FossifyOrg/Calendar/issues/732
157162
[#761]: https://github.com/FossifyOrg/Calendar/issues/761
158163
[#808]: https://github.com/FossifyOrg/Calendar/issues/808
164+
[#818]: https://github.com/FossifyOrg/Calendar/issues/818
159165

160166
[Unreleased]: https://github.com/FossifyOrg/Calendar/compare/1.6.2...HEAD
161167
[1.6.2]: https://github.com/FossifyOrg/Calendar/compare/1.6.1...1.6.2

app/src/main/kotlin/org/fossify/calendar/activities/EventActivity.kt

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2361,12 +2361,27 @@ class EventActivity : SimpleActivity() {
23612361
if (mEvent.id == null && isSavingEvent && attendees.isNotEmpty()) {
23622362
val currentCalendar =
23632363
calDAVHelper.getCalDAVCalendars("", true).firstOrNull { it.id == mEventCalendarId }
2364-
mAvailableContacts.firstOrNull { it.email == currentCalendar?.ownerName }?.apply {
2365-
attendees = attendees.filter { it.email != currentCalendar?.ownerName }
2366-
.toMutableList() as ArrayList<Attendee>
2367-
status = Attendees.ATTENDEE_STATUS_ACCEPTED
2368-
relationship = Attendees.RELATIONSHIP_ORGANIZER
2369-
attendees.add(this)
2364+
val organizerEmail = currentCalendar?.ownerName
2365+
val organizer = mAvailableContacts.firstOrNull { it.email.equals(organizerEmail, true) }
2366+
attendees = attendees
2367+
.filter { !it.email.equals(organizerEmail, true) }
2368+
.toMutableList() as ArrayList<Attendee>
2369+
if (organizer != null) {
2370+
organizer.status = Attendees.ATTENDEE_STATUS_ACCEPTED
2371+
organizer.relationship = Attendees.RELATIONSHIP_ORGANIZER
2372+
attendees.add(organizer)
2373+
} else if (!organizerEmail.isNullOrBlank()) {
2374+
attendees.add(
2375+
Attendee(
2376+
contactId = 0,
2377+
name = "",
2378+
email = organizerEmail,
2379+
status = Attendees.ATTENDEE_STATUS_ACCEPTED,
2380+
photoUri = "",
2381+
isMe = true,
2382+
relationship = Attendees.RELATIONSHIP_ORGANIZER
2383+
)
2384+
)
23702385
}
23712386
}
23722387

app/src/main/kotlin/org/fossify/calendar/helpers/CalDAVHelper.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,15 @@ class CalDAVHelper(val context: Context) {
465465
put(Attendees.ATTENDEE_NAME, it.name)
466466
put(Attendees.ATTENDEE_EMAIL, it.email)
467467
put(Attendees.ATTENDEE_STATUS, it.status)
468-
put(Attendees.ATTENDEE_RELATIONSHIP, it.relationship)
468+
put(
469+
Attendees.ATTENDEE_RELATIONSHIP,
470+
if (it.relationship == Attendees.RELATIONSHIP_ORGANIZER) {
471+
it.relationship
472+
} else {
473+
Attendees.RELATIONSHIP_ATTENDEE
474+
}
475+
)
476+
put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_REQUIRED)
469477
put(Attendees.EVENT_ID, event.getCalDAVEventId())
470478
}
471479

0 commit comments

Comments
 (0)