示例#1
0
def _find_voicemail_id_with_user(channel, user_id):
    from xivo_dao import user_dao

    try:
        user = user_dao.get(user_id)
        channel.send(user.voicemailid)
    except LookupError:
        channel.send(None)
def _find_voicemail_id_with_user(channel, user_id):
    from xivo_dao import user_dao
    from xivo_dao.data_handler.exception import NotFoundError

    try:
        user = user_dao.get(user_id)
        channel.send(user.voicemailid)
    except NotFoundError:
        channel.send(None)
示例#3
0
    def __init__(self, agi, cursor, xid=None, exten=None, context=None):
        self.agi = agi
        self.cursor = cursor

        if xid:
            user_row = user_dao.get(xid)
        elif exten and context:
            user_row = user_dao.get_user_by_number_context(exten, context)
        else:
            raise LookupError("id or exten@context must be provided to look up an user entry")

        self.id = user_row.id
        self.firstname = user_row.firstname
        self.lastname = user_row.lastname
        self.language = user_row.language
        self.userfield = user_row.userfield
        self.callerid = user_row.callerid
        self.mobilephonenumber = user_row.mobilephonenumber
        self.musiconhold = user_row.musiconhold
        self.outcallerid = user_row.outcallerid
        self.ringseconds = int(user_row.ringseconds)
        self.simultcalls = user_row.simultcalls
        self.enablevoicemail = user_row.enablevoicemail
        self.voicemailid = user_row.voicemailid
        self.enablexfer = user_row.enablexfer
        self.enableautomon = user_row.enableautomon
        self.callrecord = user_row.callrecord
        self.incallfilter = user_row.incallfilter
        self.enablednd = user_row.enablednd
        self.enableunc = user_row.enableunc
        self.destunc = user_row.destunc
        self.enablerna = user_row.enablerna
        self.destrna = user_row.destrna
        self.enablebusy = user_row.enablebusy
        self.destbusy = user_row.destbusy
        self.preprocess_subroutine = user_row.preprocess_subroutine
        self.bsfilter = user_row.bsfilter

        if self.destunc == '':
            self.enableunc = 0

        if self.destrna == '':
            self.enablerna = 0

        if self.destbusy == '':
            self.enablebusy = 0

        self.vmbox = None
        if self.enablevoicemail and self.voicemailid:
            try:
                self.vmbox = VMBox(agi, cursor, self.voicemailid)
            except LookupError:
                self.vmbox = None

        if not self.vmbox:
            self.enablevoicemail = 0
示例#4
0
    def test_update(self):
        user = self.add_user(firstname="test")
        data = {"firstname": "test_first", "lastname": "test_last"}

        result = user_dao.update(user.id, data)

        user = user_dao.get(user.id)
        self.assertEqual(user.firstname, "test_first")
        self.assertEqual(user.lastname, "test_last")
        self.assertEqual(result, 1)
示例#5
0
    def test_update(self):
        user = self.add_user(firstname='test')
        data = {'firstname': 'test_first', 'lastname': 'test_last'}

        result = user_dao.update(user.id, data)

        user = user_dao.get(user.id)
        self.assertEqual(user.firstname, 'test_first')
        self.assertEqual(user.lastname, 'test_last')
        self.assertEqual(result, 1)
示例#6
0
    def test_get_string_id(self):
        expected_user = self.add_user(firstname="first")

        user = user_dao.get(str(expected_user.id))

        self.assertEqual(user.id, user.id)
示例#7
0
    def test_get_one_result(self):
        expected_user = self.add_user(firstname="first")

        user = user_dao.get(expected_user.id)

        self.assertEqual(user.id, expected_user.id)
示例#8
0
    def __init__(self,
                 agi,
                 cursor,
                 xid=None,
                 exten=None,
                 context=None,
                 agent_id=None):
        self.agi = agi
        self.cursor = cursor

        if xid:
            user_row = user_dao.get(xid)
        elif exten and context:
            user_row = user_dao.get_user_by_number_context(exten, context)
        elif agent_id:
            user_row = user_dao.get_user_by_agent_id(agent_id)
        else:
            raise LookupError(
                '"id", "exten@context" or "agent_id" must be provided to look up an user entry'
            )

        self.id = user_row.id
        self.uuid = user_row.uuid
        self.tenant_uuid = user_row.tenant_uuid
        self.firstname = user_row.firstname
        self.lastname = user_row.lastname
        self.language = user_row.language
        self.userfield = user_row.userfield
        self.callerid = user_row.callerid
        self.mobilephonenumber = user_row.mobilephonenumber
        self.musiconhold = user_row.musiconhold
        self.outcallerid = user_row.outcallerid
        self.ringseconds = int(user_row.ringseconds)
        self.simultcalls = user_row.simultcalls
        self.enablevoicemail = user_row.enablevoicemail
        self.voicemailid = user_row.voicemailid
        self.enablexfer = user_row.enablexfer
        self.dtmf_hangup = user_row.dtmf_hangup
        self.enableonlinerec = user_row.enableonlinerec
        self.incallfilter = user_row.incallfilter
        self.enablednd = user_row.enablednd
        self.enableunc = user_row.enableunc
        self.destunc = user_row.destunc
        self.enablerna = user_row.enablerna
        self.destrna = user_row.destrna
        self.enablebusy = user_row.enablebusy
        self.destbusy = user_row.destbusy
        self.preprocess_subroutine = user_row.preprocess_subroutine
        self.bsfilter = user_row.bsfilter
        self.rightcallcode = user_row.rightcallcode
        self.call_record_outgoing_external_enabled = user_row.call_record_outgoing_external_enabled
        self.call_record_outgoing_internal_enabled = user_row.call_record_outgoing_internal_enabled
        self.call_record_incoming_external_enabled = user_row.call_record_incoming_external_enabled
        self.call_record_incoming_internal_enabled = user_row.call_record_incoming_internal_enabled
        self.call_record_enabled = all((
            self.call_record_outgoing_external_enabled,
            self.call_record_outgoing_internal_enabled,
            self.call_record_incoming_external_enabled,
            self.call_record_incoming_internal_enabled,
        ))

        if self.destunc == '':
            self.enableunc = 0

        if self.destrna == '':
            self.enablerna = 0

        if self.destbusy == '':
            self.enablebusy = 0

        self.vmbox = None
        if self.enablevoicemail and self.voicemailid:
            try:
                self.vmbox = VMBox(agi, cursor, self.voicemailid)
            except LookupError:
                self.vmbox = None

        if not self.vmbox:
            self.enablevoicemail = 0
示例#9
0
    def test_get_string_id(self):
        expected_user = self.add_user(firstname='first')

        user = user_dao.get(str(expected_user.id))

        self.assertEqual(user.id, user.id)
示例#10
0
    def test_get_one_result(self):
        expected_user = self.add_user(firstname='first')

        user = user_dao.get(expected_user.id)

        self.assertEqual(user.id, expected_user.id)