예제 #1
0
def add_user_to_filter(session, userid, filterid, role):
    member = Callfiltermember()
    member.type = 'user'
    member.typeval = str(userid)
    member.callfilterid = filterid
    member.bstype = role
    session.begin()
    try:
        session.add(member)
        session.commit()
    except Exception:
        session.rollback()
        raise
예제 #2
0
 def add_call_filter_member(self, **kwargs):
     kwargs.setdefault('type', 'user')
     kwargs.setdefault('typeval', str(self._generate_int()))
     kwargs.setdefault('bstype', 'boss')
     callfiltermember = Callfiltermember(**kwargs)
     self.add_me(callfiltermember)
     return callfiltermember
예제 #3
0
 def add_filter_member(self, filterid, userid, role='boss'):
     member = Callfiltermember(type='user',
                               typeval=str(userid),
                               callfilterid=filterid,
                               bstype=role)
     self.add_me(member)
     return member
예제 #4
0
 def add_user_to_boss_secretary_callfilter(self, userid, callfilter_name):
     callfilter = Callfilter(type='bosssecretary',
                             name=callfilter_name,
                             bosssecretary='secretary-simult',
                             callfrom='all',
                             description='')
     self.add_me(callfilter)
     member = Callfiltermember(type='user',
                               typeval=str(userid),
                               callfilterid=callfilter.id,
                               bstype='boss')
     self.add_me(member)
예제 #5
0
    def put(self, call_filter_id):
        tenant_uuids = self._build_tenant_list({'recurse': True})
        call_filter = self.call_filter_dao.get(call_filter_id,
                                               tenant_uuids=tenant_uuids)
        form = self.schema().load(request.get_json())
        try:
            surrogates = []
            for user_form in form['users']:
                user = self.user_dao.get_by(uuid=user_form['user']['uuid'],
                                            tenant_uuids=tenant_uuids)
                surrogate = self.service.find_surrogate_by_user(
                    call_filter, user)
                if not surrogate:
                    surrogate = CallFilterMember()
                    surrogate.user = user
                surrogates.append(surrogate)

        except NotFoundError as e:
            raise errors.param_not_found('users', 'User', **e.metadata)

        self.service.associate_surrogates(call_filter, surrogates)
        return '', 204
예제 #6
0
 def _add_user_to_filter(self, userid, filterid, role='boss'):
     member = Callfiltermember()
     member.type = 'user'
     member.typeval = str(userid)
     member.callfilterid = filterid
     member.bstype = role
     self.add_me(member)
     return member
예제 #7
0
    def put(self, call_filter_id):
        tenant_uuids = self._build_tenant_list({'recurse': True})
        call_filter = self.call_filter_dao.get(call_filter_id,
                                               tenant_uuids=tenant_uuids)
        form = self.schema().load(request.get_json())
        try:
            recipients = []
            for user_form in form['users']:
                user = self.user_dao.get_by(uuid=user_form['user']['uuid'],
                                            tenant_uuids=tenant_uuids)
                recipient = self.service.find_recipient_by_user(
                    call_filter, user)
                if not recipient:
                    recipient = CallFilterMember()
                    recipient.user = user
                recipient.timeout = user_form['timeout']
                recipients.append(recipient)

        except NotFoundError as e:
            raise errors.param_not_found('users', 'User', **e.metadata)

        self.service.associate_recipients(call_filter, recipients)
        return '', 204
예제 #8
0
def add_user_to_filter(session, userid, filterid, role):
    member = Callfiltermember()
    member.type = 'user'
    member.typeval = str(userid)
    member.callfilterid = filterid
    member.bstype = role
    session.begin()
    try:
        session.add(member)
        session.commit()
    except Exception:
        session.rollback()
        raise