def fill_conf(self): self.xc_json.update(cti_main_dao.get_config()) self.xc_json['displays'] = cti_displays_dao.get_config() self.xc_json['contexts'] = cti_context_dao.get_config() self.xc_json['profiles'] = self._get_profiles() self.xc_json['services'] = self._get_services() self.xc_json['preferences'] = self._get_preferences() self.xc_json['phonestatus'] = cti_phonehints_dao.get_config() self.xc_json['userstatus'] = cti_userstatus_dao.get_config() self.xc_json['sheets'] = cti_sheets_dao.get_config() self.xc_json['directories'] = cti_directories_dao.get_config()
def fill_conf(self): self.xc_json.update(cti_main_dao.get_config()) self.xc_json['displays'] = cti_displays_dao.get_config() self.xc_json['contexts'] = cti_context_dao.get_config() self.xc_json['profiles'] = self._get_profiles() self.xc_json['services'] = self._get_services() self.xc_json['preferences'] = self._get_preferences() self.xc_json['phonestatus'] = cti_phonehints_dao.get_config() self.xc_json['userstatus'] = cti_userstatus_dao.get_config() self.xc_json['sheets'] = cti_sheets_dao.get_config() self.xc_json['directories'] = cti_directories_dao.get_config() self.xc_json['uuid'] = info_services.get().uuid
def _update_cti_config(): if _rw_lock.acquire_write(): try: with session_scope(): contexts = cti_context_dao.get_config() directories = cti_directories_dao.get_config() _directories_mgr.update(directories) _contexts_mgr.update(_directories_mgr.directories, contexts) finally: _rw_lock.release() else: logger.error('could not update callerid_forphones config: lock acquisition failed')
def test_get_config(self): expected_result = { "internal": { "uri": u"internal", "type": "xivo", "delimiter": "", "name": "Repertoire XiVO interne", "match_direct": [ u"userfeatures.firstname", u"userfeatures.lastname" ], "match_reverse": [], u"field_firstname": [ u"userfeatures.firstname" ], u"field_lastname": [ u"userfeatures.lastname" ], u"field_phone": [ u"linefeatures.number" ] }, "xivodir": { "uri": u"phonebook", "type": "phonebook", "delimiter": "", "name": "Repertoire XiVO externe", "match_direct": [ u"phonebook.firstname", u"phonebook.lastname", u"phonebook.displayname", u"phonebook.society", u"phonebooknumber.office.number" ], "match_reverse": [ u"phonebooknumber.office.number", u"phonebooknumber.mobile.number" ], u"field_company": [ u"phonebook.society" ], u"field_firstname": [ u"phonebook.firstname" ], u"field_fullname": [ u"phonebook.fullname" ], u"field_lastname": [ u"phonebook.lastname" ], u"field_mail": [ u"phonebook.email" ], u"field_phone": [ u"phonebooknumber.office.number" ], u"field_reverse": [ u"phonebook.fullname" ] }, "ldap1": { "uri": u"ldapfilter://test-ldap-filter", "type": "ldap", "delimiter": "", "name": "", "match_direct": [ u"cn", u"phoneNumber", u"email" ], "match_reverse": [], u"field_lastname": [ u"sn" ], u"field_mail": [ u"email" ], u"field_phone": [ u"telephoneNumber" ] } } match_direct = '["userfeatures.firstname","userfeatures.lastname"]' ctidirectory = self._insert_ctidirectory('internal', 'internal', 'xivo', match_direct, '', 'Repertoire XiVO interne') self._insert_ctidirectoryfields(ctidirectory.id, 'firstname', 'userfeatures.firstname') self._insert_ctidirectoryfields(ctidirectory.id, 'lastname', 'userfeatures.lastname') self._insert_ctidirectoryfields(ctidirectory.id, 'phone', 'linefeatures.number') match_direct = '["phonebook.firstname","phonebook.lastname","phonebook.displayname","phonebook.society","phonebooknumber.office.number"]' match_reverse = '["phonebooknumber.office.number","phonebooknumber.mobile.number"]' ctidirectory = self._insert_ctidirectory('xivodir', 'phonebook', 'phonebook', match_direct, match_reverse, 'Repertoire XiVO externe') self._insert_ctidirectoryfields(ctidirectory.id, 'company', 'phonebook.society') self._insert_ctidirectoryfields(ctidirectory.id, 'firstname', 'phonebook.firstname') self._insert_ctidirectoryfields(ctidirectory.id, 'lastname', 'phonebook.lastname') self._insert_ctidirectoryfields(ctidirectory.id, 'fullname', 'phonebook.fullname') self._insert_ctidirectoryfields(ctidirectory.id, 'mail', 'phonebook.email') self._insert_ctidirectoryfields(ctidirectory.id, 'phone', 'phonebooknumber.office.number') self._insert_ctidirectoryfields(ctidirectory.id, 'reverse', 'phonebook.fullname') match_direct = '["cn","phoneNumber","email"]' ldapserver = self._insert_ldapserver('test-ldap-server') self._insert_ldapfilter(ldapserver.id, 'test-ldap-filter') ctidirectory = self._insert_ctidirectory('ldap1', 'ldapfilter://test-ldap-filter', None, match_direct, '') self._insert_ctidirectoryfields(ctidirectory.id, 'mail', 'email') self._insert_ctidirectoryfields(ctidirectory.id, 'lastname', 'sn') self._insert_ctidirectoryfields(ctidirectory.id, 'phone', 'telephoneNumber') ctidirectory = self._insert_ctidirectory('ldap2', 'ldapfilter://foobar', None, '', '') result = cti_directories_dao.get_config() assert_that(result, has_entries(expected_result))
def test_get_config(self): expected_result = { "internal": { "uri": u"internal", "delimiter": "", "name": "", "match_direct": [ u"userfeatures.firstname", u"userfeatures.lastname" ], "match_reverse": [], u"field_firstname": [ u"userfeatures.firstname" ], u"field_lastname": [ u"userfeatures.lastname" ], u"field_phone": [ u"linefeatures.number" ] }, "xivodir": { "uri": u"phonebook", "delimiter": "", "name": "", "match_direct": [ u"phonebook.firstname", u"phonebook.lastname", u"phonebook.displayname", u"phonebook.society", u"phonebooknumber.office.number" ], "match_reverse": [ u"phonebooknumber.office.number", u"phonebooknumber.mobile.number" ], u"field_company": [ u"phonebook.society" ], u"field_firstname": [ u"phonebook.firstname" ], u"field_fullname": [ u"phonebook.fullname" ], u"field_lastname": [ u"phonebook.lastname" ], u"field_mail": [ u"phonebook.email" ], u"field_phone": [ u"phonebooknumber.office.number" ], u"field_reverse": [ u"phonebook.fullname" ] }, "ldap1": { "uri": u"ldapfilter://test-ldap-filter", "delimiter": "", "name": "", "match_direct": [ u"cn", u"phoneNumber", u"email" ], "match_reverse": [], u"field_lastname": [ u"sn" ], u"field_mail": [ u"email" ], u"field_phone": [ u"telephoneNumber" ] } } match_direct = '["userfeatures.firstname","userfeatures.lastname"]' ctidirectory = self._insert_ctidirectory('internal', 'internal', match_direct, '') self._insert_ctidirectoryfields(ctidirectory.id, 'firstname', 'userfeatures.firstname') self._insert_ctidirectoryfields(ctidirectory.id, 'lastname', 'userfeatures.lastname') self._insert_ctidirectoryfields(ctidirectory.id, 'phone', 'linefeatures.number') match_direct = '["phonebook.firstname","phonebook.lastname","phonebook.displayname","phonebook.society","phonebooknumber.office.number"]' match_reverse = '["phonebooknumber.office.number","phonebooknumber.mobile.number"]' ctidirectory = self._insert_ctidirectory('xivodir', 'phonebook', match_direct, match_reverse) self._insert_ctidirectoryfields(ctidirectory.id, 'company', 'phonebook.society') self._insert_ctidirectoryfields(ctidirectory.id, 'firstname', 'phonebook.firstname') self._insert_ctidirectoryfields(ctidirectory.id, 'lastname', 'phonebook.lastname') self._insert_ctidirectoryfields(ctidirectory.id, 'fullname', 'phonebook.fullname') self._insert_ctidirectoryfields(ctidirectory.id, 'mail', 'phonebook.email') self._insert_ctidirectoryfields(ctidirectory.id, 'phone', 'phonebooknumber.office.number') self._insert_ctidirectoryfields(ctidirectory.id, 'reverse', 'phonebook.fullname') match_direct = '["cn","phoneNumber","email"]' ldapserver = self._insert_ldapserver('test-ldap-server') self._insert_ldapfilter(ldapserver.id, 'test-ldap-filter') ctidirectory = self._insert_ctidirectory('ldap1', 'ldapfilter://test-ldap-filter', match_direct, '') self._insert_ctidirectoryfields(ctidirectory.id, 'mail', 'email') self._insert_ctidirectoryfields(ctidirectory.id, 'lastname', 'sn') self._insert_ctidirectoryfields(ctidirectory.id, 'phone', 'telephoneNumber') ctidirectory = self._insert_ctidirectory('ldap2', 'ldapfilter://foobar', '', '') result = cti_directories_dao.get_config() assert_that(result, has_entries(expected_result))