Skip to content

Commit

Permalink
[nemo-qml-plugin-calendar] Set organizer email when saving events. Co…
Browse files Browse the repository at this point in the history
…ntributes to JB#46575
  • Loading branch information
Chris Adams committed Mar 11, 2020
1 parent 1472021 commit 68b3fba
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
15 changes: 14 additions & 1 deletion src/calendarworker.cpp
Expand Up @@ -442,6 +442,13 @@ void CalendarWorker::updateEventAttendees(KCalCore::Event::Ptr event, bool newEv
return;
}

// set the notebook email address as the organizer email address
// if no explicit organizer is set (i.e. assume we are the organizer).
const QString notebookOwnerEmail = getNotebookAddress(notebookUid);
if (event->organizer()->email().isEmpty() && !notebookOwnerEmail.isEmpty()) {
event->organizer()->setEmail(notebookOwnerEmail);
}

if (!newEvent) {
// if existing attendees are removed, those should get a cancel update
KCalCore::Event::Ptr cancelEvent = KCalCore::Event::Ptr(event->clone());
Expand All @@ -460,7 +467,7 @@ void CalendarWorker::updateEventAttendees(KCalCore::Event::Ptr event, bool newEv
}
}

QString organizer = cancelEvent->organizer()->email();
const QString organizer = cancelEvent->organizer()->email();
if (!organizer.isEmpty()) {
KCalCore::Attendee::Ptr toRemove = cancelEvent->attendeeByMail(organizer);
if (toRemove) {
Expand Down Expand Up @@ -529,6 +536,12 @@ void CalendarWorker::updateEventAttendees(KCalCore::Event::Ptr event, bool newEv
}
}

QString CalendarWorker::getNotebookAddress(const QString &notebookUid) const
{
return mNotebooks.contains(notebookUid) ? mNotebooks.value(notebookUid).emailAddress
: QString();
}

QString CalendarWorker::getNotebookAddress(const KCalCore::Event::Ptr &event) const
{
const QString &notebookUid = mCalendar->notebook(event);
Expand Down
1 change: 1 addition & 0 deletions src/calendarworker.h
Expand Up @@ -125,6 +125,7 @@ public slots:
const QList<CalendarData::EmailContact> &required,
const QList<CalendarData::EmailContact> &optional,
const QString &notebookUid);
QString getNotebookAddress(const QString &notebookUid) const;
QString getNotebookAddress(const KCalCore::Event::Ptr &event) const;

CalendarData::Event createEventStruct(const KCalCore::Event::Ptr &event,
Expand Down

0 comments on commit 68b3fba

Please sign in to comment.