Ejemplo n.º 1
0
def callfilter(agi, cursor, args):
    callfiltermember_id = args[0]

    if not callfiltermember_id.isdigit():
        agi.dp_break('This id "%s" is not a valid callfiltermember_id id.' % callfiltermember_id)

    caller_user_id = agi.get_variable(dialplan_variables.USERID)
    callfiltermember = callfilter_dao.get_by_callfiltermember_id(callfiltermember_id)
    if not callfiltermember:
        agi.dp_break('This callfilter does not exist.')

    bslist = callfilter_dao.get(callfiltermember.callfilterid)
    if not bslist:
        agi.dp_break('This callfilter has no member.')

    allow_ids = []
    for bs in bslist:
        callfilter, callfiltermembers = bs
        allow_ids.append(callfiltermembers.typeval)

    if not caller_user_id or caller_user_id not in allow_ids:
        agi.dp_break('This user is not allowed to use this callfilter.')

    new_state = 0 if callfiltermember.active == 1 else 1
    callfilter_dao.update_callfiltermember_state(callfiltermember_id, new_state)
    agi.set_variable('XIVO_BSFILTERENABLED', new_state)
Ejemplo n.º 2
0
    def test_get_with_filter_having_members(self):
        boss_id = 1
        filter_id = self._insert_call_filter('testfilter')
        callfilter_dao.add_user_to_filter(boss_id, filter_id, 'boss')

        result = callfilter_dao.get(filter_id)

        self.assertEquals(1, len(result))
        callfilter = result[0][0]
        member = result[0][1]
        self.assertEquals(callfilter.id, filter_id)
        self.assertEquals(member.typeval, str(boss_id))
Ejemplo n.º 3
0
    def test_get_with_filter_having_members(self):
        boss_id = 1
        call_filter = self.add_call_filter()
        self._add_user_to_filter(boss_id, call_filter.id, 'boss')

        result = callfilter_dao.get(call_filter.id)

        self.assertEqual(1, len(result))
        callfilter = result[0][0]
        member = result[0][1]
        self.assertEqual(callfilter.id, call_filter.id)
        self.assertEqual(member.typeval, str(boss_id))
Ejemplo n.º 4
0
    def test_get_with_filter_having_2_members(self):
        boss_id = 1
        secretary_id = 2
        filter_id = self._insert_call_filter('testfilter')
        callfilter_dao.add_user_to_filter(boss_id, filter_id, 'boss')
        callfilter_dao.add_user_to_filter(secretary_id, filter_id, 'secretary')

        result = callfilter_dao.get(filter_id)

        self.assertEquals(2, len(result))
        member_ids = [int(c[1].typeval) for c in result]
        self.assertIn(boss_id, member_ids)
        self.assertIn(secretary_id, member_ids)
Ejemplo n.º 5
0
    def test_get_with_filter_but_no_members(self):
        filter_id = self._insert_call_filter('testfilter')

        result = callfilter_dao.get(filter_id)

        self.assertEquals(result, [])
Ejemplo n.º 6
0
    def test_get_with_no_filter(self):
        filter_id = 1

        result = callfilter_dao.get(filter_id)

        self.assertEquals(result, [])
Ejemplo n.º 7
0
    def test_get_with_filter_but_no_members(self):
        call_filter = self.add_call_filter()

        result = callfilter_dao.get(call_filter.id)

        self.assertEqual(result, [])