Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
    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
            })
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
 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
Exemplo n.º 6
0
    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
Exemplo n.º 7
0
    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
Exemplo n.º 8
0
 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)
Exemplo n.º 9
0
    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)
Exemplo n.º 11
0
    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)