|
Lines 847-853
class UCSSchoolHelperAbstractClass(object):
Link Here
|
| 847 |
return cls.from_udm_obj(udm_obj, school, lo) |
847 |
return cls.from_udm_obj(udm_obj, school, lo) |
| 848 |
|
848 |
|
| 849 |
@classmethod |
849 |
@classmethod |
| 850 |
def get_only_udm_obj(cls, lo, filter_str, superordinate=None): |
850 |
def get_only_udm_obj(cls, lo, filter_str, superordinate=None, base=None): |
| 851 |
'''Returns the one UDM object of class cls._meta.udm_module that |
851 |
'''Returns the one UDM object of class cls._meta.udm_module that |
| 852 |
matches a given filter. |
852 |
matches a given filter. |
| 853 |
If more than one is found, a MultipleObjectsError is raised |
853 |
If more than one is found, a MultipleObjectsError is raised |
|
Lines 857-863
class UCSSchoolHelperAbstractClass(object):
Link Here
|
| 857 |
if cls._meta.udm_filter: |
857 |
if cls._meta.udm_filter: |
| 858 |
filter_str = '(&(%s)(%s))' % (cls._meta.udm_filter, filter_str) |
858 |
filter_str = '(&(%s)(%s))' % (cls._meta.udm_filter, filter_str) |
| 859 |
logger.debug('Getting %s UDM object by filter: %s', cls.__name__, filter_str) |
859 |
logger.debug('Getting %s UDM object by filter: %s', cls.__name__, filter_str) |
| 860 |
objs = udm_modules.lookup(cls._meta.udm_module, None, lo, scope='sub', base=ucr.get('ldap/base'), filter=str(filter_str), superordinate=superordinate) |
860 |
objs = udm_modules.lookup(cls._meta.udm_module, None, lo, scope='sub', base=base or ucr.get('ldap/base'), filter=str(filter_str), superordinate=superordinate) |
| 861 |
if len(objs) == 0: |
861 |
if len(objs) == 0: |
| 862 |
return None |
862 |
return None |
| 863 |
if len(objs) > 1: |
863 |
if len(objs) > 1: |