Diff
Modified: CalendarServer/trunk/calendarserver/webadmin/principals.py (15475 => 15476)
--- CalendarServer/trunk/calendarserver/webadmin/principals.py 2016-03-16 21:42:01 UTC (rev 15475)
+++ CalendarServer/trunk/calendarserver/webadmin/principals.py 2016-03-16 22:56:28 UTC (rev 15476)
@@ -352,9 +352,9 @@
u"uid": joinWithBR((record.uid,)),
u"guid": joinWithBR((record.guid,)),
u"recordType": joinWithBR((record.recordType,)),
- u"shortNames": joinWithBR(record.shortNames),
+ u"shortNames": joinWithBR(record.shortNames) if hasattr(record, "shortNames") else "",
u"fullNames": joinWithBR(record.fullNames),
- u"emailAddresses": joinWithBR(record.emailAddresses),
+ u"emailAddresses": joinWithBR(record.emailAddresses) if hasattr(record, "emailAddresses") else "",
u"calendarUserAddresses": joinWithBR(record.calendarUserAddresses),
u"serverURI": joinWithBR((record.serverURI(),)),
}
Modified: CalendarServer/trunk/txdav/who/directory.py (15475 => 15476)
--- CalendarServer/trunk/txdav/who/directory.py 2016-03-16 21:42:01 UTC (rev 15475)
+++ CalendarServer/trunk/txdav/who/directory.py 2016-03-16 22:56:28 UTC (rev 15476)
@@ -348,7 +348,7 @@
def __init__(self):
if config.Scheduling.Options.FakeResourceLocationEmail:
if self.recordType in (DAVRecordType.location, DAVRecordType.resource) and not getattr(self, "emailAddresses", None):
- self.fields[BaseFieldName.emailAddresses] = ("{}@do_not_reply".format(self.uid.encode("hex"),),)
+ self.fields[BaseFieldName.emailAddresses] = (u"{}@do_not_reply".format(self.uid.encode("hex"),),)
@inlineCallbacks
Modified: CalendarServer/trunk/txdav/who/test/test_directory.py (15475 => 15476)
--- CalendarServer/trunk/txdav/who/test/test_directory.py 2016-03-16 21:42:01 UTC (rev 15475)
+++ CalendarServer/trunk/txdav/who/test/test_directory.py 2016-03-16 22:56:28 UTC (rev 15476)
@@ -389,10 +389,15 @@
@inlineCallbacks
def test_calendarUserAddress_fake_email(self):
"""
- Make sure that recordWs have fake email addresses.
+ Make sure that records have fake email addresses.
"""
record = yield self.directory.recordWithUID(u"resource01")
self.assertTrue(record is not None)
+
+ # Verify the fake email address is in fact unicode
+ for address in record.emailAddresses:
+ self.assertTrue(isinstance(address, unicode))
+
self.assertIn(u"{}@do_not_reply".format("resource01".encode("hex")), record.emailAddresses)
self.assertIn(u"mailto:{}@do_not_reply".format("resource01".encode("hex")), record.calendarUserAddresses)