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 _approve_balance_adjustment_list(self, data): self.logger.info( '========== Start Approve balance adjustment list==========') url = api_settings.ORDER_BAL_ADJUST_PATH referenceIds = json.loads(data.get("referenceIds")) data = {"reference_ids": referenceIds, "reason": data.get("reason")} is_success, status_code, status_message, data = RestFulClient.put( url, headers=self._get_headers(), loggers=self.logger, params=data) if is_success: messages.add_message( self.request, messages.SUCCESS, str(len(referenceIds)) + " adjustments being Approved. Please wait a while and check again later" ) return JsonResponse({"is_success": is_success}) else: return JsonResponse({ "is_success": is_success, "status_code": status_code, "status_message": status_message, "data": data })
def post(self, request, *args, **kwargs): self.logger.info('========== Start update role entity ==========') role_id = kwargs['role_id'] name = request.POST.get('name', '') description = request.POST.get('description', '') params = { 'name': name, 'description': description, 'is_page_level': True } url = api_settings.ROLE_UPDATE_PATH.format(role_id=role_id) is_success, status_code, status_message, data = RestFulClient.put( url, self._get_headers(), self.logger, params) if is_success: messages.add_message(request, messages.SUCCESS, 'Updated role entity successfully') self.logger.info('========== End update 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)
def post(self, request, *args, **kwargs): self.logger.info('========== Start update customer device ==========') mobile_device_id = kwargs['device_id'] customer_id = kwargs['customer_id'] form = request.POST if form['channel_type_id'] == '1': params = { 'channel_type_id': form['channel_type_id'], 'channel_id': form['channel_id'], 'device_name': form['device_name'], 'device_model': form['device_model'], 'device_unique_reference': form['device_unique_reference'], 'os': form['os'], 'os_version': form['os_version'], 'display_size_in_inches': form['display_size_in_inches'], 'pixel_counts': form['pixel_counts'], 'unique_number': form['unique_number'], 'mac_address': form['mac_address'], 'serial_number': form['serial_number'], 'network_provider_name': form['network_provider_name'], 'public_ip_address': form['public_ip_address'], 'app_version': form['app_version'], 'supporting_file_1': form['supporting_file_1'], 'supporting_file_2': form['supporting_file_2'] } elif form['channel_type_id'] == '2': params = { 'channel_type_id': form['channel_type_id'], 'channel_id': form['channel_id'], 'mac_address': form['mac_address'], 'network_provider_name': form['network_provider_name'], 'public_ip_address': form['public_ip_address'], 'supporting_file_1': form['supporting_file_1'], 'supporting_file_2': form['supporting_file_2'] } url = api_settings.CUSTOMER_UPDATE_DEVICE_URL.format(mobile_device_id) is_success, status_code, status_message, data = RestFulClient.put(url, self._get_headers(), self.logger, params) self.logger.info("Params: {} ".format(params)) if is_success: messages.add_message( request, messages.SUCCESS, 'Updated data successfully' ) self.logger.info('========== Finish update customer device ==========') return redirect('customers:customer_management_summary', customerId=customer_id) elif (status_code == "access_token_expire") or (status_code == 'authentication_fail') or ( status_code == 'invalid_access_token'): 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_permission(cls, permission_id, headers, params, logger): url = api_settings.PERMISSION_DETAIL_PATH.format( permission_id=permission_id) is_success, status_code, status_message, data = RestFulClient.put( url=url, headers=headers, loggers=logger, params=params) 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, data
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): 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 post(self, request, *args, **kwargs): self.logger.info('========== Start update agent device ==========') edc_device_id = kwargs['device_id'] shop_id = kwargs['id'] form = request.POST if form['channel_type_id'] == '3': params = { 'channel_type_id': form['channel_type_id'], 'channel_id': form['channel_id'], 'edc_serial_number': form['edc_serial_number'], 'edc_model': form['edc_model'], 'edc_software_version': form['edc_software_version'], 'edc_firmware_version': form['edc_firmware_version'], 'edc_sim_card_number': form['edc_sim_card_number'], 'edc_battery_serial_number': form['edc_battery_serial_number'], 'edc_adapter_serial_number': form['edc_adapter_serial_number'], 'edc_smartcard_1_number': form['edc_smartcard_1_number'], 'edc_smartcard_2_number': form['edc_smartcard_2_number'], 'edc_smartcard_3_number': form['edc_smartcard_3_number'], 'edc_smartcard_4_number': form['edc_smartcard_4_number'], 'edc_smartcard_5_number': form['edc_smartcard_5_number'], 'mac_address': form['mac_address'], 'network_provider_name': form['network_provider_name'], 'public_ip_address': form['public_ip_address'], 'supporting_file_1': form['supporting_file_1'], 'supporting_file_2': form['supporting_file_2'] } elif form['channel_type_id'] == '4': params = { 'channel_type_id': form['channel_type_id'], 'channel_id': form['channel_id'], 'pos_serial_number': form['pos_serial_number'], 'pos_model': form['pos_model'], 'pos_software_version': form['pos_software_version'], 'pos_firmware_version': form['pos_firmware_version'], 'pos_smartcard_1_number': form['pos_smartcard_1_number'], 'pos_smartcard_2_number': form['pos_smartcard_2_number'], 'pos_smartcard_3_number': form['pos_smartcard_3_number'], 'pos_smartcard_4_number': form['pos_smartcard_4_number'], 'pos_smartcard_5_number': form['pos_smartcard_5_number'], 'mac_address': form['mac_address'], 'network_provider_name': form['network_provider_name'], 'public_ip_address': form['public_ip_address'], 'supporting_file_1': form['supporting_file_1'], 'supporting_file_2': form['supporting_file_2'] } elif form['channel_type_id'] == '2': params = { 'channel_type_id': form['channel_type_id'], 'channel_id': form['channel_id'], 'mac_address': form['mac_address'], 'network_provider_name': form['network_provider_name'], 'public_ip_address': form['public_ip_address'], 'supporting_file_1': form['supporting_file_1'], 'supporting_file_2': form['supporting_file_2'] } else: params = { 'channel_type_id': form['channel_type_id'], 'channel_id': form['channel_id'], 'device_name': form['device_name'], 'device_model': form['device_model'], 'device_unique_reference': form['device_unique_reference'], 'os': form['os'], 'os_version': form['os_version'], 'display_size_in_inches': form['display_size_in_inches'], 'pixel_counts': form['pixel_counts'], 'unique_number': form['unique_number'], 'mac_address': form['mac_address'], 'serial_number': form['serial_number'], 'network_provider_name': form['network_provider_name'], 'public_ip_address': form['public_ip_address'], 'app_version': form['app_version'], 'supporting_file_1': form['supporting_file_1'], 'supporting_file_2': form['supporting_file_2'] } url = api_settings.AGENT_DEVICE_URL.format(edc_device_id) is_success, status_code, status_message, data = RestFulClient.put( url, self._get_headers(), self.logger, params) self.logger.info("Params: {} ".format(params)) if is_success: messages.add_message(request, messages.SUCCESS, 'Updated data successfully') self.logger.info( '========== Finish update agent device ==========') return redirect('shop:shop_edit', id=shop_id) elif (status_code == "access_token_expire") or ( status_code == 'authentication_fail') or (status_code == 'invalid_access_token'): raise InvalidAccessToken(status_message)
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)