src/containers src/python src/xcalconversions.h

Christian Mollekopf mollekopf at kolabsys.com
Mon Aug 25 11:25:04 CEST 2014


 src/containers/kolabcontainers.h |    4 +++-
 src/python/test.py               |   17 +++++++++++++++++
 src/xcalconversions.h            |   10 ++++++++++
 3 files changed, 30 insertions(+), 1 deletion(-)

New commits:
commit 0b2686173fced31528d93748ce8dadfef9e6efb3
Author: Christian Mollekopf <mollekopf at kolabsys.com>
Date:   Mon Aug 25 11:24:17 2014 +0200

    Support for PARTSTAT INPROCESS and DELEGATED.
    
    Patch by Thomas Brüderli.

diff --git a/src/containers/kolabcontainers.h b/src/containers/kolabcontainers.h
index 7bd1d2b..af44c24 100644
--- a/src/containers/kolabcontainers.h
+++ b/src/containers/kolabcontainers.h
@@ -336,7 +336,9 @@ enum PartStatus {
     PartAccepted,
     PartDeclined,
     PartTentative,
-    PartDelegated
+    PartDelegated,
+    PartInProcess,
+    PartCompleted
 };
 
 enum Role {
diff --git a/src/python/test.py b/src/python/test.py
index df3bc83..998059c 100644
--- a/src/python/test.py
+++ b/src/python/test.py
@@ -55,6 +55,23 @@ class TestKolabformat(unittest.TestCase):
         delegatees = attendees_[0].delegatedTo()
         self.assertEqual(delegatees[0].email(), "jane at doe.org")
 
+    def test_todo_partstat(self):
+        t = kolabformat.Todo()
+        t.setSummary("test")
+        t.setPercentComplete(40)
+
+        att = kolabformat.Attendee(kolabformat.ContactReference("john at doe.org"))
+        att.setRole(kolabformat.Required)
+        att.setPartStat(kolabformat.PartInProcess)
+        t.setAttendees([att])
+
+        xml = kolabformat.writeTodo(t)
+        self.assertTrue("<text>IN-PROCESS</text>" in xml)
+
+        t1 = kolabformat.readTodo(xml, False)
+        attendees = t1.attendees()
+        self.assertEqual(attendees[0].partStat(), kolabformat.PartInProcess)
+
 
 if __name__ == '__main__':
     unittest.main()
\ No newline at end of file
diff --git a/src/xcalconversions.h b/src/xcalconversions.h
index b30053f..176470c 100644
--- a/src/xcalconversions.h
+++ b/src/xcalconversions.h
@@ -75,6 +75,8 @@ const char* const PARTDECLINED = "DECLINED";
 const char* const PARTDELEGATED = "DELEGATED";
 const char* const PARTNEEDSACTION = "NEEDS-ACTION";
 const char* const PARTTENTATIVE = "TENTATIVE";
+const char* const PARTINPROCESS = "IN-PROCESS";
+const char* const PARTCOMPLETED = "COMPLETED";
 
 const char* const CHAIR = "CHAIR";
 const char* const NONPARTICIPANT = "NON-PARTICIPANT";
@@ -600,6 +602,10 @@ std::string mapPartStat(PartStatus status)
             return PARTNEEDSACTION;
         case PartTentative:
             return PARTTENTATIVE;
+        case PartInProcess:
+            return PARTINPROCESS;
+        case PartCompleted:
+            return PARTCOMPLETED;
     }
     ERROR("PartStat not handled: " + status);
     return std::string();
@@ -617,6 +623,10 @@ PartStatus mapPartStat(const std::string &status)
         return PartNeedsAction;
     } else if (status == PARTTENTATIVE) {
         return PartTentative;
+    } else if (status == PARTINPROCESS) {
+        return PartInProcess;
+    } else if (status == PARTCOMPLETED) {
+        return PartCompleted;
     }
     ERROR("PartStat not handled: " + status);
     return PartNeedsAction;




More information about the commits mailing list