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