def _delete_role_permission(self, url, params_to_delete): headers = self._get_headers() self.logger.info("Header: [{}]".format(headers)) is_success_delete, status_code_delete, status_message_delete = RestFulClient.delete(url=url, headers=headers, loggers=self.logger, params=params_to_delete) if (status_code_delete == "access_token_expire") or (status_code_delete == 'authentication_fail') or ( status_code_delete == 'invalid_access_token'): self.logger.info("{} for {} username".format(status_message_delete, self.request.user)) raise InvalidAccessToken(status_message_delete) return is_success_delete
def delete_permission(cls, id, headers, logger): url = api_settings.PERMISSION_DETAIL_PATH.format(permission_id=id) is_success, status_code, status_message = RestFulClient.delete( url=url, headers=headers, loggers=logger) if not is_success: if status_code in [ "access_token_expire", 'authentication_fail', 'invalid_access_token' ]: logger.info("{}".format(status_message)) raise InvalidAccessToken(status_message) return is_success, status_code, status_message
def send(cls, method, url, params, request, description=None, log_count_field=None): loggers = build_logger(request, __name__) if description: loggers.info("===== Start {} =====".format(description)) headers = build_auth_header_from_request(request) if len(params) > 0: loggers.info("Request data: {} ".format(params)) if method == 'GET': is_success, status_code, data = RestFulClient.get(url, loggers, headers) status_message = None elif method == 'POST': is_success, status_code, status_message, data = RestFulClient.post(url, headers, loggers, params) elif method == 'PUT': is_success, status_code, status_message, data = RestFulClient.put(url, headers, loggers, params) elif method == 'DELETE': is_success, status_code, status_message = RestFulClient.delete(url, headers, loggers, params) data = None if status_code in ["access_token_expire", 'authentication_fail', 'invalid_access_token']: raise InvalidAccessToken(status_message) if log_count_field: log_data = data for field in log_count_field.split('.'): if field == "data": continue if log_data: log_data = log_data.get(field, {}) else: log_data = {} count = len(log_data) loggers.info('Response count: {}'.format(count)) else: loggers.info('Response data: {}'.format(data)) if description: loggers.info("===== Finish {} =====".format(description)) return is_success, status_code, status_message, data
def post(self, request, *args, **kwargs): self.logger.info('========== Start delete role entity ==========') role_id = kwargs['role_id'] url = api_settings.ROLE_DELETE_PATH.format(role_id=role_id) is_success, status_code, status_message = RestFulClient.delete( url=url, headers=self._get_headers(), loggers=self.logger) if is_success: messages.add_message(request, messages.SUCCESS, 'Deleted role entity successfully') self.logger.info('========== End delete role entity ==========') return redirect('authentications:role_list') elif (status_code == "access_token_expire") or ( status_code == 'authentication_fail') or (status_code == 'invalid_access_token'): self.logger.info("{} for {} username".format( status_message, self.request.user)) raise InvalidAccessToken(status_message) else: messages.add_message(request, messages.ERROR, status_message) self.logger.info('========== End delete role entity ==========') return redirect('authentications:delete_role', role_id=role_id)
def _do_reject(self, request): self.logger.info( '========== Start Reject balance adjustment order ==========') reference_id = request.POST.get('reference_id') url = api_settings.APPROVE_BAL_ADJUST_PATH.format( reference_id=reference_id) #url = 'http://localhost:43938/general_error_reject' body = {'reason': request.POST.get('reason_for_approval_or_reject')} is_success, status_code, status_message = RestFulClient.delete( url=url, headers=self._get_headers(), loggers=self.logger, params=body) API_Logger.delete_logging(loggers=self.logger, params=body, response={}, status_code=status_code) self.logger.info( '========== Finish Reject balance adjustment order ==========') if is_success: messages.add_message(request, messages.SUCCESS, 'Payment is rejected successfully') return redirect('balance_adjustment:balance_adjustment_list') elif status_code.lower() in ["general_error"]: error_msg = 'Other error, please contact system administrator' return self._handle_error(error_msg, reference_id) elif status_message == 'timeout': messages.add_message( request, messages.ERROR, 'Request timed-out, please try again or contact system administrator' ) return redirect('balance_adjustment:balance_adjustment_detail', ReferenceId=reference_id) else: return self._handle_error(status_message, reference_id)
def delete_agent_types(self, product_id): self.logger.info( '========== Start get product - agent types relations ==========') params = {'product_id': product_id} is_success, status_code, status_message, data = RestFulClient.post( url=api_settings.PRODUCT_AGENT_TYPE, headers=self._get_headers(), loggers=self.logger, params=params) API_Logger.post_logging(loggers=self.logger, params=params, response=data, status_code=status_code, is_getting_list=False) self.logger.info( '========== Finished get product - agent types relations ==========' ) relations = data['relations'] for item in relations: product_agent_type_relation_id = item['id'] self.logger.info( '========== Start delete agent type relation ==========') is_success, status_code, status_message = RestFulClient.delete( url=api_settings.DELETE_PRODUCT_AGENT_TYPE_RELATION.format( product_agent_type_relation_id= product_agent_type_relation_id), headers=self._get_headers(), loggers=self.logger, params={}) API_Logger.delete_logging(loggers=self.logger, params={}, response={}, status_code=status_code) self.logger.info( '========== Finished delete agent type relation ==========')
def _delete_user_role(self, role_id, user_id): url = api_settings.ROLE_USER_PATH.format(user_id=user_id) params = {'role_id': int(role_id)} is_success_delete, status_code_delete, status_message_delete = RestFulClient.delete( url, self._get_headers(), self.logger, params=params) return is_success_delete