Пример #1
0
 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()
Пример #2
0
 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
Пример #3
0
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))
Пример #5
0
    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))