def post(self, request, *args, **kwargs):
        self.logger.info('========== Start update provider detail ==========')
        context = super(UpdateView, self).get_context_data(**kwargs)

        provider_id = context['provider_id']

        url  = UPDATE_CARED_PROVIDER.format(provider_id=provider_id)

        provider_name = request.POST.get('provider_name')

        params = {
            'name': provider_name
        }
        
        self.logger.info('Params: {}'.format(params))

        is_success, status_code, status_message, data = RestFulClient.put(url=url,
                                                                           headers=self._get_headers(),
                                                                           loggers=self.logger,
                                                                           timeout=settings.GLOBAL_TIMEOUT,
                                                                           params=params)
        if not is_success:
            if status_code in ["access_token_expire", 'authentication_fail', 'invalid_access_token']:
                self.logger.info("{}".format(status_message))
                raise InvalidAccessToken(status_message)

        self.logger.info('========== Finish update provider detail ==========')

        messages.add_message(request, messages.SUCCESS, 'Update provider successfully')
        return redirect('card_provider:card_provider')
Exemple #2
0
    def post(self, request, *args, **kwargs):
        self.logger.info('========== User start updating password ==========')
        url = api_settings.CHANGE_PASSWD
        old_password = request.POST.get('old_password')
        new_password = request.POST.get('new_password')

        body = {
            'old_password': encrypt_text(old_password),
            'new_password': encrypt_text(new_password),
        }

        success, status_code, message, data = RestFulClient.put(
            url=url,
            headers=self._get_headers(),
            loggers=self.logger,
            timeout=settings.GLOBAL_TIMEOUT,
            params=body)

        self.logger.info('========== User finish updating password ==========')
        if success:
            return render(request,
                          self.template_name,
                          context={'update_passwd_success': True})
        else:
            if status_code in [
                    "access_token_expire", 'authentication_fail',
                    'invalid_access_token'
            ]:
                self.logger.info("{}".format(message))
                raise InvalidAccessToken(message)

            body = {
                'old_password': old_password,
                'new_password': new_password,
                "confirm_new_password":
                request.POST.get('confirm_new_password')
            }

            if status_code.lower() in ["invalid_request"]:
                messages.add_message(
                    request, messages.ERROR,
                    "Password change failed as it not met password criteria or old password didn’t match. Please review and try again."
                )

            else:
                messages.add_message(
                    request, messages.ERROR,
                    "Password change failed. Please try again or contact support."
                )

            return render(request, self.template_name, body)
    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 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', '/'))
Exemple #5
0
    def post(self, request, *args, **kwargs):
        body = {}
        self.logger.info(
            '========== Start updating Member Customer ==========')
        customer_id = kwargs['customerId']

        # personal detail section
        firstname = request.POST.get('firstname')
        middle_name = request.POST.get('middle_name')
        lastname = request.POST.get('lastname')
        place_of_birth = request.POST.get('place_of_birth')
        date_of_birth = request.POST.get('date_of_birth')
        if date_of_birth:
            date_of_birth2 = datetime.strptime(date_of_birth, "%Y-%m-%d")
            date_of_birth2 = date_of_birth2.strftime('%Y-%m-%dT%H:%M:%SZ')
            body['date_of_birth'] = date_of_birth2
        gender = request.POST.get('gender')
        occupations = request.POST.get('occupations')
        nationality = request.POST.get('nationality')
        beneficiary = request.POST.get('beneficiary')
        unique_reference = request.POST.get('unique_reference')
        citizen_card_id = request.POST.get('citizen_card_id')
        passport_id = request.POST.get('passport_id')
        tax_id = request.POST.get('tax_id')
        social_security_id = request.POST.get('social_security_id')
        citizen_card_place_of_issue = request.POST.get(
            'citizen_card_place_of_issue')
        passport_place_of_issue = request.POST.get('passport_place_of_issue')
        citizen_card_date_of_issue = request.POST.get(
            'citizen_card_date_of_issue')
        if citizen_card_date_of_issue:
            citizen_card_date_of_issue2 = datetime.strptime(
                citizen_card_date_of_issue, "%Y-%m-%d")
            citizen_card_date_of_issue2 = citizen_card_date_of_issue2.strftime(
                '%Y-%m-%dT%H:%M:%SZ')
            body['citizen_card_date_of_issue'] = citizen_card_date_of_issue2

        passport_date_of_issue = request.POST.get('passport_date_of_issue')
        if passport_date_of_issue:
            passport_date_of_issue2 = datetime.strptime(
                passport_date_of_issue, "%Y-%m-%d")
            passport_date_of_issue2 = passport_date_of_issue2.strftime(
                '%Y-%m-%dT%H:%M:%SZ')
            body['passport_date_of_issue'] = passport_date_of_issue2

        #contact details section
        mobile_number = request.POST.get('mobile_number')
        email = request.POST.get('email')

        #current address section
        current_province = request.POST.get('current_province')
        current_city = request.POST.get('current_city')
        current_district = request.POST.get('current_district')
        current_commune = request.POST.get('current_commune')
        current_address = request.POST.get('current_address')
        current_country = request.POST.get('current_country')
        current_landmark = request.POST.get('current_landmark')
        current_longitude = request.POST.get('current_longitude')
        current_latitude = request.POST.get('current_latitude')

        # permarnent address section
        is_current_address_same_permanent_address = request.POST.get(
            'is-permanent-same-current')
        if is_current_address_same_permanent_address:
            permanent_address = current_address
            permanent_city = current_city
            permanent_district = current_district
            permanent_province = current_province
            permanent_commune = current_commune
            permanent_country = current_country
            permanent_landmark = current_landmark
            permanent_longitude = current_longitude
            permanent_latitude = current_latitude
        else:
            permanent_address = request.POST.get('permanent_address')
            permanent_city = request.POST.get('permanent_city')
            permanent_district = request.POST.get('permanent_district')
            permanent_province = request.POST.get('permanent_province')
            permanent_commune = request.POST.get('permanent_commune')
            permanent_country = request.POST.get('permanent_country')
            permanent_landmark = request.POST.get('permanent_landmark')
            permanent_longitude = request.POST.get('permanent_longitude')
            permanent_latitude = request.POST.get('permanent_latitude')

        new_body = {
            "firstname": firstname,
            "lastname": lastname,
            "middle_name": middle_name,
            "place_of_birth": place_of_birth,
            "gender": gender,
            "occupations": occupations,
            "nationality": nationality,
            "beneficiary": beneficiary,
            "unique_reference": unique_reference,
            "citizen_card_id": citizen_card_id,
            "passport_id": passport_id,
            "tax_id": tax_id,
            "social_security_id": social_security_id,
            "citizen_card_place_of_issue": citizen_card_place_of_issue,
            "passport_place_of_issue": passport_place_of_issue,
            #contact detail saction
            "email": email,
            "mobile_number": mobile_number,
            #current address section
            "current_address": current_address,
            "current_province": current_province,
            "current_city": current_city,
            "current_district": current_district,
            "current_commune": current_commune,
            "current_country": current_country,
            "current_landmark": current_landmark,
            "current_longitude": current_longitude,
            "current_latitude": current_latitude,
            #permanent address section
            "permanent_address": permanent_address,
            "permanent_city": permanent_city,
            "permanent_district": permanent_district,
            "permanent_province": permanent_province,
            "permanent_commune": permanent_commune,
            "permanent_country": permanent_country,
            "permanent_landmark": permanent_landmark,
            "permanent_longitude": permanent_longitude,
            "permanent_latitude": permanent_latitude,
            "profile_picture_url": request.POST.get('profile_picture_url')
        }
        body.update(new_body)
        self.logger.info("Params: {} ".format(body))

        url = api_settings.ADMIN_UPDATE_CUSTOMER.format(customer_id)
        success, status_code, message, data = RestFulClient.put(
            url=url,
            headers=self._get_headers(),
            loggers=self.logger,
            params=body)

        self.logger.info(
            '========== Finish updating Member Customer ==========')

        if success:
            messages.add_message(request, messages.SUCCESS,
                                 'Updated profile successfully')
            data = self.get_member_detail(customer_id=customer_id)
            return render(request, self.template_name, data)
        elif (status_code == "access_token_expire") or (
                status_code
                == 'authentication_fail') or (status_code
                                              == 'invalid_access_token'):
            self.logger.info("{}".format(data))
            raise InvalidAccessToken(data)

        elif data == 'timeout':
            messages.add_message(
                request,
                messages.ERROR,
                message=
                'Update customer profile timeout. Please try again or contact admin.'
            )
        else:
            messages.add_message(
                request,
                messages.ERROR,
                message=
                "Update customer profile fail. Please try again or contact admin."
            )

        body['created_timestamp'] = request.POST.get('created_timestamp')
        body['last_updated_timestamp'] = request.POST.get(
            'last_updated_timestamp')
        body['id'] = customer_id
        body['date_of_birth'] = date_of_birth
        body['citizen_card_date_of_issue'] = citizen_card_date_of_issue
        body['passport_date_of_issue'] = passport_date_of_issue

        context = {'customer_info': body, 'customer_id': customer_id}
        return render(request, self.template_name, context)