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
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
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
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)
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
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
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