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
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
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
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) })
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
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
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
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
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
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
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
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
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
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
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
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
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