def post(self, request, *args, **kwargs):
        self.logger.info(
            "========== Start updating Agent Hierarchy Distribution - Fee =========="
        )

        agent_fee_distribution_id = kwargs.get('fee_distributions_id')
        url = api_settings.AGENT_FEE_DISTRIBUTION_DETAIL_URL.format(
            agent_fee_distribution_id=agent_fee_distribution_id)

        data = request.POST.copy()

        post_data = {
            "fee_tier_id": data.get("fee_tier_id"),
            "action_type": data.get("action_type"),
            "actor_type": data.get("actor_type"),
            "sof_type_id": data.get('sof_type_id'),
            "specific_sof": data.get("specific_sof"),
            "amount_type": data.get("amount_type"),
            "rate": data.get("rate"),
            "specific_actor_id": data.get("specific_actor_id"),
        }

        response = ajax_functions._put_method(request, url, "", self.logger,
                                              post_data)
        self.logger.info(
            "========== Finish updating Agent Hierarchy Distribution - Fee =========="
        )
        return response
Ejemplo n.º 2
0
    def post(self, request, *args, **kwargs):
        self.logger.info(
            "========== Start updating Setting Payment, Fee & Bonus Structure =========="
        )

        balance_distribution_id = kwargs.get('balance_distributions_id')
        url = api_settings.BALANCE_DISTRIBUTION_UPDATE_URL.format(
            balance_distribution_id=balance_distribution_id)

        data = request.POST.copy()
        post_data = {
            "fee_tier_id": data.get("fee_tier_id"),
            "action_type": data.get("action_type"),
            "actor_type": data.get("actor_type"),
            "specific_actor_id": data.get("specific_actor_id"),
            "sof_type_id": data.get('sof_type_id'),
            "specific_sof": data.get("specific_sof"),
            "amount_type": data.get("amount_type"),
            "rate": data.get("rate"),
            "remark": data.get("remark"),
            # "specific_actor_id": data.get("specific_actor_id"),
        }

        response = ajax_functions._put_method(request, url, "", self.logger,
                                              post_data)
        self.logger.info(
            "========== Finished updating Setting Payment, Fee & Bonus Structure =========="
        )
        return response
Ejemplo n.º 3
0
    def post(self, request, *args, **kwargs):
        self.logger.info(
            "========== Start updating agent bonus distribution ==========")

        agent_bonus_distribution_id = kwargs.get('agent_bonus_distribution_id')
        url = api_settings.AGENT_BONUS_DISTRIBUTION_UPDATE_URL.format(
            agent_bonus_distribution_id=agent_bonus_distribution_id)

        data = request.POST.copy()
        post_data = {
            "fee_tier_id": data.get("fee_tier_id"),
            "action_type": data.get("action_type"),
            "actor_type": data.get("actor_type"),
            "sof_type_id": data.get('sof_type_id'),
            "specific_sof": data.get("specific_sof"),
            "amount_type": data.get("amount_type"),
            "rate": data.get("rate"),
            "specific_actor_id": data.get("specific_actor_id"),
        }

        response = ajax_functions._put_method(request, url, "", self.logger,
                                              post_data)
        self.logger.info(
            "========== Finished updating agent bonus distribution ==========")

        return response
Ejemplo n.º 4
0
 def post(self, request, rule_id):
     self.logger.info('========== Start activate rule ==========')
     url = settings.DOMAIN_NAMES + UPDATE_CAMPAIGNS.format(
         bak_rule_id=rule_id)
     is_able_to_activate = False
     mechanic = self.get_mechanic_list(rule_id)
     if mechanic == 'access_token_expired':
         return JsonResponse({"status": 1, "msg": ''})
     if not len(mechanic):
         return JsonResponse({
             "status":
             3,
             "msg":
             'Rule ID {} cannot be activated because this rule ID has to include at least 1 mechanic, 1 condition and 1 action'
             .format(rule_id)
         })
     else:
         mechanic = [i for i in mechanic if not i.get('is_deleted')]
         for i in mechanic:
             condition_list = self.get_condition_list(rule_id, i['id'])
             if condition_list == 'access_token_expired':
                 return JsonResponse({"status": 1, "msg": ''})
             self.logger.info(
                 '========== Finish get condition list ==========')
             condition_list = [
                 i for i in condition_list if not i.get('is_deleted')
             ]
             if len(condition_list) == 0:
                 continue
             action = self.get_rewards_list(rule_id, i['id'])
             if action == 'access_token_expired':
                 return JsonResponse({"status": 1, "msg": ''})
             self.logger.info(
                 '========== Finish get action list ==========')
             action = [i for i in action if not i.get('is_deleted')]
             if len(action) == 0:
                 continue
             if len(condition_list) > 0 and len(action) > 0:
                 is_able_to_activate = True
                 break
         if is_able_to_activate:
             params = {
                 'is_active': True,
                 'name': request.POST.get("rule_name"),
                 'description': request.POST.get("rule_description")
             }
             result = ajax_functions._put_method(request, url, "",
                                                 self.logger, params)
             self.logger.info('========== Finish activate rule ==========')
             return result
         self.logger.info('========== Finish activate rule ==========')
         return JsonResponse({
             "status":
             3,
             "msg":
             'Rule ID {} cannot be activated because this rule ID has to include at least 1 mechanic, 1 condition and 1 action'
             .format(rule_id)
         })
Ejemplo n.º 5
0
def deactive(request, id):

    logger = logging.getLogger(__name__)
    correlation_id = get_correlation_id_from_username(request.user)
    logger = setup_logger(request, logger, correlation_id)

    logger.info('========== Start deactivating card ==========')
    url = settings.DOMAIN_NAMES + ACTIVATE_CARD_PATH.format(card_id=id)
    params = {'is_stopped': True}
    result = ajax_functions._put_method(request, url, "", logger, params)
    logger.info('========== Finish deactivating card ==========')
    return result
def activate(request, system_user_id):
    logger = logging.getLogger(__name__)
    correlation_id = get_correlation_id_from_username(request.user)
    logger = setup_logger(request, logger, correlation_id)
    logger.info('========== Start activating system user ==========')
    url = settings.DOMAIN_NAMES + api_settings.SYSTEM_USER_STATUS_URL.format(
        system_user_id)
    params = {'is_suspended': False}

    result = ajax_functions._put_method(request, url, "", logger, params)
    logger.info('========== Finish activating system user ==========')
    return result
Ejemplo n.º 7
0
 def post(self, request, rule_id):
     self.logger.info('========== Start inactivate rule ==========')
     url = settings.DOMAIN_NAMES + UPDATE_CAMPAIGNS.format(
         bak_rule_id=rule_id)
     params = {
         'is_active': False,
         'name': request.POST.get("rule_name"),
         'description': request.POST.get("rule_description")
     }
     result = ajax_functions._put_method(request, url, "", self.logger,
                                         params)
     self.logger.info('========== Finish inactivate rule ==========')
     return result
Ejemplo n.º 8
0
def stop_share_benefit_relationship(request, relationship_id):
    logger = logging.getLogger(__name__)
    correlation_id = get_correlation_id_from_username(request.user)
    logger = setup_logger(request, logger, correlation_id)
    logger.info("Checking permission for [{}] username with [{}] permission".format(request.user, 'CAN_SHARE_AGENT_BENEFIT'))
    if not check_permissions_by_user(request.user, 'CAN_SHARE_AGENT_BENEFIT'):
        return {"status": 1, "msg": ''}
    logger.info('========== Start stop share benefit relationship ==========')
    url = settings.DOMAIN_NAMES + api_settings.SHARE_BENEFIT_RELATIONSHIP.format(relationship_id)
    params = {
        "is_sharing_benefit": "false"
    }
    result = ajax_functions._put_method(request, url, "", logger, params)
    logger.info('========== Finish stop share benefit relationship ==========')
    return result
Ejemplo n.º 9
0
def activate(request, client_id):
    if not check_permissions_by_user(request.user, 'CAN_SUSPEND_CLIENTS'):
        return

    logger = logging.getLogger(__name__)
    correlation_id = get_correlation_id_from_username(request.user)
    logger = setup_logger(request, logger, correlation_id)
    logger.info('========== Start activating client ==========')
    url = settings.DOMAIN_NAMES + api_settings.ACTIVATE_CLIENT_URL.format(
        client_id)
    params = {
        'status': 'active',
    }
    result = ajax_functions._put_method(request, url, "", logger, params)
    logger.info('========== Finish activating client ==========')
    return result
Ejemplo n.º 10
0
    def post(self, request, *args, **kwargs):
        self.logger.info(
            "========== Start updating Setting Payment, Fee & Bonus Structure =========="
        )
        fee_tier_id = kwargs.get('fee_tier_id')
        url = api_settings.TIER_DETAIL_URL.format(fee_tier_id=fee_tier_id)

        data = request.POST.copy()
        balanceDistributionList = json.loads(data.get("balance_distributions"))
        putDataList = []
        for balanceDistributionData in balanceDistributionList:
            data = {
                "fee_tier_id":
                balanceDistributionData.get("fee_tier_id"),
                "balance_distribution_id":
                balanceDistributionData.get("balance_distribution_id"),
                "action_type":
                balanceDistributionData.get("action_type"),
                "actor_type":
                balanceDistributionData.get("actor_type"),
                "specific_actor_id":
                balanceDistributionData.get("specific_actor_id"),
                "sof_type_id":
                balanceDistributionData.get("sof_type_id"),
                "specific_sof":
                balanceDistributionData.get("specific_sof"),
                "amount_type":
                balanceDistributionData.get("amount_type"),
                "rate":
                balanceDistributionData.get("rate"),
                "remark":
                balanceDistributionData.get("remark")
            }

            putDataList.append(data)

        body = {"balance_distributions": putDataList}
        response = ajax_functions._put_method(request, url, "", self.logger,
                                              body)
        if json.loads(response.content)['status'] == 2:
            messages.add_message(
                self.request, messages.SUCCESS,
                "Saved Setting Payment, Fee & Bonus Structure successfully")
        self.logger.info(
            "========== Finished updating Setting Payment, Fee & Bonus Structure =========="
        )
        return response
Ejemplo n.º 11
0
def activate(request, customer_id):
    if not check_permissions_by_user(request.user, 'CAN_SUSPEND_CUSTOMER'):
        return

    logger = logging.getLogger(__name__)
    correlation_id = get_correlation_id_from_username(request.user)
    logger = setup_logger(request, logger, correlation_id)
    logger.info('========== Start activating customer ==========')
    url = settings.DOMAIN_NAMES + api_settings.ACTIVATE_CUSTOMER.format(
        customer_id)
    params = {
        'is_suspended': 'false',
    }

    result = ajax_functions._put_method(request, url, "", logger, params)
    logger.info('========== Finish activating customer ==========')
    return result
Ejemplo n.º 12
0
def inactive(request, campaign_id):
    # if not check_permissions_by_user(request.user, 'CAN_SUSPEND_CLIENTS'):
    #     return

    logger = logging.getLogger(__name__)
    correlation_id = get_correlation_id_from_username(request.user)
    logger = setup_logger(request, logger, correlation_id)
    logger.info('========== Start inactivate campaign ==========')
    url = settings.DOMAIN_NAMES + UPDATE_CAMPAIGNS.format(bak_rule_id=campaign_id)
    params = {
        'is_active': False,
        'name': request.POST.get("campaign_name"),
        'description': request.POST.get("campaign_description")
    }
    result = ajax_functions._put_method(request, url, "", logger, params)
    logger.info('========== Finish inactivate campaign ==========')
    return result
Ejemplo n.º 13
0
    def post(self, request, *args, **kwargs):
        if not check_permissions_by_user(self.request.user,
                                         "SYS_CREATE_COUNTRYCODE"):
            return redirect('web:permission_denied')

        self.logger.info('========== Start add country code ==========')
        country_code = request.POST.get('country_code')
        params = {
            'value': "" + country_code,
        }
        url = ADD_COUNTRY_CODE_URL
        data_log = copy.deepcopy(params)
        data_log['client_secret'] = ''
        result = ajax_functions._put_method(request, url, "", self.logger,
                                            params)
        self.logger.info('========== Finish add country code ==========')
        return result
Ejemplo n.º 14
0
def activate(request, agent_id):
    logger = logging.getLogger(__name__)
    correlation_id = get_correlation_id_from_username(request.user)
    logger = setup_logger(request, logger, correlation_id)
    logger.info(
        "Checking permission for [{}] username with [{}] permission".format(
            request.user, 'CAN_SUSPEND_AGENTS'))
    if not check_permissions_by_user(request.user, 'CAN_SUSPEND_AGENTS'):
        return {"status": 1, "msg": ''}
    logger.info('========== Start activating agent ==========')
    url = settings.DOMAIN_NAMES + api_settings.AGENT_STATUS_URL.format(
        agent_id)
    params = {
        'is_suspended': False,
    }

    result = ajax_functions._put_method(request, url, "", logger, params)
    logger.info('========== Finish activating agent ==========')
    return result
Ejemplo n.º 15
0
def enable_device(request, device_id):
    logger = logging.getLogger(__name__)
    correlation_id = get_correlation_id_from_username(request.user)
    logger = setup_logger(request, logger, correlation_id)
    logger.info(
        "Checking permission for [{}] username with [{}] permission".format(
            request.user, 'CAN_DISABLE_AGENT_DEVICE'))
    if not check_permissions_by_user(request.user, 'CAN_DISABLE_AGENT_DEVICE'):
        return {"status": 1, "msg": ''}
    logger.info('========== Start enable device ==========')
    url = settings.DOMAIN_NAMES + api_settings.UPDATE_AGENT_DEVICE_STATUS.format(
        device_id=device_id)
    params = {
        'is_active': True,
    }

    result = ajax_functions._put_method(request, url, "", logger, params)
    logger.info('========== Finish enable device ==========')
    return result
Ejemplo n.º 16
0
    def post(self, request, campaign_id):
        self.logger.info('========== Start activate campaign ==========')
        url = settings.DOMAIN_NAMES + UPDATE_CAMPAIGNS.format(bak_rule_id=campaign_id)
        mechanic = self.get_mechanic_list(campaign_id)
        
        if mechanic == 'access_token_expired':
            return JsonResponse({"status": 1, "msg": ''})

        for i in mechanic:
            if i['is_deleted']:
                continue
            actions = self.get_rewards_list(campaign_id, i['id'])

            if actions == 'access_token_expired':
                return JsonResponse({"status": 1, "msg": ''})

            for action in actions:
                self.logger.info('========== Start get limittion list ==========')
                limition = self.get_limition_list(campaign_id, i['id'], action['id'])

                if limition == 'access_token_expired':
                    return JsonResponse({"status": 1, "msg": ''})

                self.logger.info('========== Finish get limittion list ==========')
                if len(limition) == 0:
                    self.logger.info('========== Finish get action list  ==========')
                    self.logger.info('========== Start get mechanic list ==========')
                    self.logger.info('========== Finish activate campaign ==========')
                    return JsonResponse({"status": 3, "msg": 'All campaign rewards needs a limitation before campaign can be activated'})
            self.logger.info('========== Finish get action list  ==========')
            self.logger.info('========== Start get mechanic list ==========')
        url = settings.DOMAIN_NAMES + UPDATE_CAMPAIGNS.format(bak_rule_id=campaign_id)
        params = {
            'is_active': True,
            'name': request.POST.get("campaign_name"),
            'description': request.POST.get("campaign_description")
        }
        result = ajax_functions._put_method(request, url, "", self.logger, params)
        self.logger.info('========== Finish activate campaign ==========')
        return result
Ejemplo n.º 17
0
def activate(request, service_id):
    logger = logging.getLogger(__name__)
    correlation_id = get_correlation_id_from_username(request.user)
    logger = setup_logger(request, logger, correlation_id)
    logger.info('========== Start activating service ==========')
    url = settings.DOMAIN_NAMES + api_settings.SERVICE_URL.format(service_id)

    url_get_detail = api_settings.SERVICE_DETAIL_URL.format(service_id)
    success, status_code, status_message, data = RestfulHelper.send \
        ("GET", url_get_detail, {}, request, "getting service detail")
    if success:
        params = {
            'status': 1,
            'service_group_id': data['service_group_id'],
            'currency': data['currency'],
            'description': data['description'],
            'service_name': data['service_name']
        }

    result = ajax_functions._put_method(request, url, "", logger, params)
    logger.info('========== Finish activating service ==========')
    return result
Ejemplo n.º 18
0
 def post(self, request, *args, **kwargs):
     context = super(UpdateProductStatusOfCategory, self).get_context_data(**kwargs)
     logger = logging.getLogger(__name__)
     correlation_id = get_correlation_id_from_username(request.user)
     logger = setup_logger(request, logger, correlation_id)
     product_id = request.POST.get('product_id')
     product_status_get = request.POST.get('product_status')
     product_status = True if product_status_get == 'true' else False
     logger.info('========== Start getting product detail ==========')
     product_detail, status_code = self.get_product_detail(product_id)
     if status_code in ["access_token_expire", 'authentication_fail', 'invalid_access_token']:
         return JsonResponse({"status": "1"})
     logger.info('========== Finish getting product detail ==========')
     body = {
         'is_active': product_status,
         "name": product_detail['name'],
         "description": product_detail['description'],
         "image_url": product_detail['image_url'],
         "denomination": product_detail['denomination'],
         "min_price": 0 if not product_detail['min_price'] else float(product_detail['min_price']),
         "max_price": 0 if not product_detail['max_price'] else float(product_detail['max_price']),
         "is_allow_price_range": product_detail['is_allow_price_range'],
         "product_category_id": product_detail['product_category'].get('id', None),
         "payment_service_id": product_detail['payment_service_id']
     }
     if product_status:
         logger.info('========== Start active product ==========')
     else:
         logger.info('========== Start inactive product ==========')
     url = api_settings.UPDATE_PRODUCT_STATUS_IN_CATEGORY.format(product_id=product_id)
     result = ajax_functions._put_method(request, url, "", logger, body)
     if product_status:
         logger.info('========== Finish active product ==========')
     else:
         logger.info('========== Finish inactive product ==========')
     return result