[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/kdepim/enterprise/kdepim/korganizer
From: Allen Winter <winter () kde ! org>
Date: 2010-10-18 17:01:25
Message-ID: 20101018170125.A2A97AC896 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1187218 by winterz:
fix mailing a status update for task modifications to the organizer
kolab/issue4360
also implement notifying the organizer if a participant removes themselves from a task.
MERGE: trunk
M +34 -5 kogroupware.cpp
--- branches/kdepim/enterprise/kdepim/korganizer/kogroupware.cpp #1187217:1187218
@@ -517,20 +517,49 @@
return true;
}
} else if( incidence->type() == "Todo" ) {
- if( method == Scheduler::Request )
- // This is an update to be sent to the organizer
+ QString txt;
+ if ( method == Scheduler::Request ) {
+ txt = i18n( "Do you want to send a status update to the organizer of this task?" );
method = Scheduler::Reply;
+ if ( useLastDialogAnswer ) {
+ rc = lastUsedDialogAnswer;
+ } else {
+ lastUsedDialogAnswer = rc = KMessageBox::questionYesNo(
+ parent, txt, i18n( "Group Scheduling Email" ),
+ KGuiItem( i18n( "Send Update" ) ), KGuiItem( i18n( "Do Not Send" ) ) );
+ }
+ } else {
+ if ( action == KOGlobals::INCIDENCEDELETED ) {
+ const QStringList myEmails = KOPrefs::instance()->allEmails();
+ bool askConfirmation = false;
+ for ( QStringList::ConstIterator it = myEmails.begin(); it != myEmails.end(); ++it ) {
+ QString email = *it;
+ Attendee *me = incidence->attendeeByMail(email);
+ if ( me &&
+ ( me->status() == KCal::Attendee::Accepted ||
+ me->status() == KCal::Attendee::Delegated ) ) {
+ askConfirmation = true;
+ break;
+ }
+ }
+ if ( !askConfirmation ) {
+ return true;
+ }
+
+ txt = i18n( "You had previously accepted your participation in this task. "
+ "Do you want to send an updated response to the organizer "
+ "removing yourself from the task?" );
if ( useLastDialogAnswer ) {
rc = lastUsedDialogAnswer;
} else {
- // Ask if the user wants to tell the organizer about the current status
- const QString txt =
- i18n( "Do you want to send a status update to the organizer of this task?" );
lastUsedDialogAnswer = rc = KMessageBox::questionYesNo(
parent, txt, i18n( "Group Scheduling Email" ),
KGuiItem( i18n( "Send Update" ) ), KGuiItem( i18n( "Do Not Send" ) ) );
+ setDoNotNotify( rc == KMessageBox::No );
}
+ }
+ }
} else if ( incidence->type() == "Event" ) {
QString txt;
if ( attendeeStatusChanged && method == Scheduler::Request ) {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic