def post(self, request, *args, **kwargs): self.logger.info('========== Start update shop category ==========') shop_category_id = kwargs['id'] form = request.POST params = { 'name' : form['name'], 'description' : form['description'] } url = api_settings.EDIT_SHOP_CATEGORIES.format(shop_category_id=shop_category_id) is_success, status_code, status_message, data = RestFulClient.put(url, self._get_headers(), self.logger, params) API_Logger.put_logging(loggers=self.logger, params=params, response=data, status_code=status_code) if is_success: messages.add_message( request, messages.SUCCESS, 'Updated data successfully' ) self.logger.info('========== Finish update shop category ==========') return redirect('shop_category:shop_category_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)
def update_spi(self, spi_url_id, params): path = api_settings.SPI_UPDATE_PATH.format(spiUrlId=spi_url_id) success, status_code, message, data = RestFulClient.put( url=path, headers=self._get_headers(), loggers=self.logger, params=params) API_Logger.put_logging(loggers=self.logger, params=params, response=data, status_code=status_code) return success, status_code, message, data
def _update_card_design(self, url, params): is_success, status_code, status_message, data = RestFulClient.put(url=url, loggers=self.logger, headers=self._get_headers(), params=params) API_Logger.put_logging(loggers=self.logger, params=params, response=data, status_code=status_code) if not is_success: messages.add_message( self.request, messages.ERROR, status_message ) data = {} return is_success, data
def post(self, request, *args, **kwargs): form = request.POST shop_id = kwargs['id'] shop = convert_form_to_shop(form) self.logger.info('========== Start update shop ==========') url = api_settings.EDIT_SHOP.format(shop_id=shop_id) is_success, status_code, status_message, data = RestFulClient.put( url, self._get_headers(), self.logger, params=shop) if is_success: API_Logger.put_logging(loggers=self.logger, params=shop, response=data, status_code=status_code) self.logger.info('========== Finish update shop ==========') messages.success(request, "Updated data successfully") return redirect(get_back_url(request, reverse('shop:shop_list'))) else: context = {'form': form} messages.error(request, status_message) self.logger.info('========== Finish update shop ==========') return render(request, self.template_name, context)
def post(self, request): success_count = 0 failed_count = 0 success_ids = [] failed_ids = [] ids = request.POST.getlist("ids[]") params = {'is_on_hold': False} for i in ids: self.logger.info('========== Start unhold voucher ==========') url = settings.DOMAIN_NAMES + UPDATE_HOLD_STATUS.format( voucher_id=i) is_success, status_code, status_message, data = RestFulClient.put( url=url, loggers=self.logger, headers=self._get_headers(), params=params) if (status_code == "access_token_expire") or ( status_code == 'authentication_fail') or (status_code == 'invalid_access_token'): self.logger.info("{}".format(data)) return JsonResponse({"invalid_access_token": True}) API_Logger.put_logging(loggers=self.logger, params=params, response=data, status_code=status_code) if is_success: success_count += 1 success_ids.append(i) else: failed_count += 1 failed_ids.append(i) self.logger.info('========== Finish unhold voucher ==========') return JsonResponse({ "success_ids": success_ids, "success_count": success_count, "failed_count": failed_count, "invalid_access_token": False })
def get(self, request, *args, **kwargs): context = super(LinkAgentToShop, self).get_context_data(**kwargs) agent_id = context['agent_id'] shop_id = context['shop_id'] shop_detail = get_shop_details(self, int(shop_id)) self.logger.info('========== Start link shop to Agent ==========') form = convert_shop_to_form(shop_detail) converted_shop = convert_form_to_shop(form) converted_shop['agent_id'] = int(agent_id) params = converted_shop url = api_settings.EDIT_SHOP.format(shop_id=shop_id) is_success, status_code, status_message, data = RestFulClient.put( url, self._get_headers(), self.logger, params) API_Logger.put_logging(loggers=self.logger, params=params, response=data, status_code=status_code) if is_success: messages.add_message( request, messages.SUCCESS, 'Successfully added ' + shop_detail['name'] + ' to Agent ID ' + agent_id) self.logger.info('========== Finish link shop to Agent ==========') return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
def post(self, request, *args, **kwargs): self.logger.info('========== Start edit product ==========') product_id = self.kwargs['product_id'] is_active = request.POST.get('is_active') == 'on' name = request.POST.get('name') description = request.POST.get('description') image_url = request.POST.get('image_url') product_category_id = request.POST.get('product_category_id') product_category_id = int( product_category_id) if product_category_id else None payment_service_id = request.POST.get('payment_service_id') payment_service_id = int( payment_service_id) if payment_service_id else None is_allow_price_range = request.POST.get('is_allow_price_range') == 'on' max_price = request.POST.get('max_price') max_price = float( max_price) if is_allow_price_range and max_price else None min_price = request.POST.get('min_price') min_price = float( min_price) if is_allow_price_range and min_price else None cbo_agent_types = request.POST.getlist('cbo_agent_types') cbo_agent_types = list(map( int, cbo_agent_types)) # convert list string to list int denomination = request.POST.getlist('denomination') denomination = self.filter_empty_denomination(denomination) params = { "id": product_id, "is_active": is_active, "name": name, "description": description, "image_url": image_url, "product_category_id": product_category_id, "payment_service_id": payment_service_id, "is_allow_price_range": is_allow_price_range, "max_price": max_price, "min_price": min_price, "denomination": denomination } is_success, status_code, status_message, data = RestFulClient.put( url=api_settings.EDIT_PRODUCT.format(product_id=product_id), headers=self._get_headers(), loggers=self.logger, params=params) API_Logger.put_logging(loggers=self.logger, params=params, response=data, status_code=status_code) self.logger.info('========== Finished edit product ==========') if not is_success: messages.error(request, status_message) else: self.delete_agent_types(product_id) self.mapping_product_agent_types(product_id, cbo_agent_types) messages.success(request, "Edited Successfully") context = {'product': params} context['cbo_agent_types'] = cbo_agent_types self.set_ui_list(context) return render(request, self.template_name, context)
def post(self, request, *args, **kwargs): self.logger.info('========== Start creating bank profile ==========') name = request.POST.get('name', '') bank_bin = request.POST.get('bin', '') is_active = request.POST.get('is_active', 1) description = request.POST.get('description', '') pre_sof_url = request.POST.get('pre_sof_url', '') presof_order_read_timeout = request.POST.get('presof_order_read_timeout', '') if presof_order_read_timeout: presof_order_read_timeout = int(presof_order_read_timeout) credit_url = request.POST.get('credit_url', '') debit_url = request.POST.get('debit_url', '') account_number = request.POST.get('account_number', '') account_name = request.POST.get('account_name', '') currency = request.POST.get('currency', '') check_status_url = request.POST.get('check_status_url', '') cancel_url = request.POST.get('cancel_url', '') connection_timeout = request.POST.get('connection_timeout', '') read_timeout = request.POST.get('read_timeout', '') if is_active == '1': is_active = bool(True) else: is_active = bool(False) params = { "name": name, "bin": bank_bin, "description": description, "pre_sof_url": pre_sof_url, "pre_sof_read_timeout": presof_order_read_timeout, "is_active": is_active, "debit_url": debit_url, "credit_url": credit_url, "bank_account_number": account_number, "bank_account_name": account_name, "currency": currency, "check_status_url": check_status_url, "cancel_url": cancel_url, "connection_timeout": connection_timeout, "read_timeout": read_timeout } is_success, status_code, status_message, data = BanksClient.create_bank( headers=self._get_headers(), params=params, logger=self.logger ) API_Logger.put_logging(loggers=self.logger, params=params, response=data, status_code=status_code) if is_success: self.logger.info('========== Finished creating bank profile ==========') messages.success(request, 'Add bank successfully') return redirect('bank:bank_sofs_list') else: self.logger.info('========== Finished creating bank profile got error [{}] =========='.format(status_message)) if data == 'timeout': messages.error(request, "Timeout updating configuration, please try again or contact technical support") else: messages.error(request, status_message) is_success, status_code, data = BanksClient.get_currencies_list( header=self._get_headers(), logger=self.logger ) if not is_success: messages.error(self.request, data) data = [] context = {'currencies': data, 'bank_info': params} return render(request, self.template_name, context)