diff --git a/ceod/model/User.py b/ceod/model/User.py index dcef636..ff7671a 100644 --- a/ceod/model/User.py +++ b/ceod/model/User.py @@ -70,6 +70,7 @@ class User: self.ldap_srv = component.getUtility(ILDAPService) self.krb_srv = component.getUtility(IKerberosService) + self.base_domain = cfg.get('base_domain') def to_dict(self, get_forwarding_addresses: bool = False) -> Dict: data = { @@ -105,6 +106,8 @@ class User: return self._is_club def add_to_ldap(self): + if not self.mail_local_addresses: + self.mail_local_addresses = [f'{self.uid}@{self.base_domain}'] self.ldap_srv.add_user(self) def remove_from_ldap(self): diff --git a/tests/ceod/api/test_members.py b/tests/ceod/api/test_members.py index 21c360f..b936d0f 100644 --- a/tests/ceod/api/test_members.py +++ b/tests/ceod/api/test_members.py @@ -63,6 +63,7 @@ def test_api_create_user(cfg, create_user_resp, mock_mail_server): "is_club_rep": False, "program": "Math", "terms": ["s2021"], + "mail_local_addresses": ["test_1@csclub.internal"], "forwarding_addresses": ['test_1@uwaterloo.internal'], "password": "krb5" }},