Changeset View
Changeset View
Standalone View
Standalone View
src/akonadi/akonaditaskrepository.cpp
Show First 20 Lines • Show All 213 Lines • ▼ Show 20 Lines | if (task->recurrence() && task->status() == Domain::Task::Complete) { | ||||
auto item = m_serializer->createItemFromTask(task); | auto item = m_serializer->createItemFromTask(task); | ||||
Q_ASSERT(item.isValid()); | Q_ASSERT(item.isValid()); | ||||
return m_storage->updateItem(item); | return m_storage->updateItem(item); | ||||
} | } | ||||
} | } | ||||
KJob *TaskRepository::remove(Domain::Task::Ptr task) | KJob *TaskRepository::remove(Domain::Task::Ptr task) | ||||
{ | { | ||||
auto delegate = task->delegate(); | |||||
auto item = m_serializer->createItemFromTask(task); | auto item = m_serializer->createItemFromTask(task); | ||||
Q_ASSERT(item.isValid()); | Q_ASSERT(item.isValid()); | ||||
if (delegate.isValid()) { | |||||
KPIMIdentities::IdentityManager identityManager; | |||||
if (identityManager.thatIsMe(delegate.email())) { | |||||
m_messaging->sendDeleteMessageToOrganisator(item); | |||||
} else { | |||||
m_messaging->sendDeleteMessageToDelegatee(item); | |||||
} | |||||
} | |||||
auto compositeJob = new CompositeJob(); | auto compositeJob = new CompositeJob(); | ||||
ItemFetchJobInterface *fetchItemJob = m_storage->fetchItem(item); | ItemFetchJobInterface *fetchItemJob = m_storage->fetchItem(item); | ||||
compositeJob->install(fetchItemJob->kjob(), [fetchItemJob, compositeJob, this] { | compositeJob->install(fetchItemJob->kjob(), [fetchItemJob, compositeJob, this] { | ||||
if (fetchItemJob->kjob()->error() != KJob::NoError) | if (fetchItemJob->kjob()->error() != KJob::NoError) | ||||
return; | return; | ||||
Q_ASSERT(fetchItemJob->items().size() == 1); | Q_ASSERT(fetchItemJob->items().size() == 1); | ||||
auto item = fetchItemJob->items().first(); | auto item = fetchItemJob->items().first(); | ||||
▲ Show 20 Lines • Show All 91 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
KJob *TaskRepository::delegate(Domain::Task::Ptr task, Domain::Task::Delegate delegate) | KJob *TaskRepository::delegate(Domain::Task::Ptr task, Domain::Task::Delegate delegate) | ||||
{ | { | ||||
auto originalDelegate = task->delegate(); | auto originalDelegate = task->delegate(); | ||||
task->blockSignals(true); | task->blockSignals(true); | ||||
task->setDelegate(delegate); | task->setDelegate(delegate); | ||||
if (task->property("organizer").toString().isEmpty()) { | |||||
KPIMIdentities::IdentityManager identityManager; | KPIMIdentities::IdentityManager identityManager; | ||||
task->setProperty("organizer", identityManager.defaultIdentity().fullEmailAddr()); | task->setProperty("organizer", identityManager.defaultIdentity().fullEmailAddr()); | ||||
} | |||||
auto item = m_serializer->createItemFromTask(task); | auto item = m_serializer->createItemFromTask(task); | ||||
task->setDelegate(originalDelegate); | task->setDelegate(originalDelegate); | ||||
task->blockSignals(false); | task->blockSignals(false); | ||||
m_messaging->sendDelegationMessage(item); | m_messaging->sendDelegationMessage(item); | ||||
return 0; | return 0; | ||||
} | } |