示例#1
0
    def update_pincode_status(self, request):
        """
        update status of pincode as active or deactive
        """

        requested_data = json.loads(request.body)
        try:
            is_success, message, pincode_details = LocationManager(
            ).update_pincode_status(requested_data)
            if is_success:
                msg = message
                data = pincode_details
            else:
                msg = message
                data = {}
            self.success_resp.message = msg
            self.success_resp.data = data
            return Response(
                status=status.HTTP_200_OK,
                data=convert_to_dict(
                    self.success_resp))
        except Exception as e:
            LOGGER.exception("Some internal server error occurred")
            return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR,
                            data=convert_to_dict(self.exception_error_resp))
示例#2
0
    def broadcast_trip(self, request, *args, **kwargs):
        try:
            # Call Business Logic
            req_data = json.loads(request.body)
            print("reqdata: ", req_data)

            data = {}
            trip = TripManager().get_trip(req_data["trip_id"])
            #trip.status = 7
            #trip.save()

            action_type = req_data["action_type"]
            if action_type == "broadcast":
                data = json.loads(trip.trip_json_request)
                data["trip_id"] = req_data["trip_id"]

            msg = "Trip Broadcasted Successfully !"
            self.success_resp.message = msg
            self.success_resp.data = data
            return Response(status=status.HTTP_200_OK,
                            data=convert_to_dict(self.success_resp))
        except Exception as e:
            logger.exception("Some internal server error occurred")
            return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR,
                            data=convert_to_dict(self.exception_error_resp))
示例#3
0
    def update_trip_inprogress_info(self, request, *args, **kwargs):
        try:
            req_data = json.loads(request.body)
            print(req_data)
            msg = "Trip Updated Successfully"
            data = {}

            self.success_resp.message = msg
            self.success_resp.data = data
            return Response(status=status.HTTP_200_OK,
                            data=convert_to_dict(self.success_resp))
        except Exception as e:
            logger.exception("Some internal server error occurred")
            return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR,
                            data=convert_to_dict(self.exception_error_resp))
示例#4
0
 def post(self, request, *args, **kwargs):
     try:
         ##Call Business Logic
         is_success, trip_details = TripManager().get_trip(trip_id=1)
         if is_success:
             msg = "Business Logic called Successfully"
             data = trip_details
         else:
             msg = "Business Logic called Failed"
             data = {}
         self.success_resp.message = msg
         self.success_resp.data = data
         return Response(status=status.HTTP_200_OK,
                         data=convert_to_dict(self.success_resp))
     except Exception as e:
         logger.exception("Some internal server error occurred")
         return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR,
                         data=convert_to_dict(self.exception_error_resp))
示例#5
0
    def create_trip(self, request, *args, **kwargs):
        try:
            # Call Business Logic
            req_data = json.loads(request.body)
            print("reqdata: ", req_data)

            ## input validation here [pincode, mobile, etc]
            #FormFieldValidation.is_valid_pincode(re.sub('[^0-9]', '', req_data["trip_pickup_address"]["pincode"]))

            ## creating trip object
            trip_id, trip_ref_number, pickup_address_id, drop_address_id = \
                    TripManager().create_trip(req_data)

            #################################################
            ### Third Party Service Integration comes here
            ### Push Notification, Delivery people search etc
            #################################################

            ## response preparation
            trip_response = {}
            trip_response["trip_id"] = trip_id
            trip_response["trip_ref_number"] = trip_ref_number
            trip_response["pickup_address_id"] = pickup_address_id
            trip_response["drop_address_id"] = drop_address_id
            trip_response["trip_status"] = "CREATED"

            msg = "Trip Created Successfully"
            data = trip_response

            self.success_resp.message = msg
            self.success_resp.data = data
            return Response(status=status.HTTP_200_OK,
                            data=convert_to_dict(self.success_resp))
        except Exception as e:
            logger.exception("Some internal server error occurred")
            return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR,
                            data=convert_to_dict(self.exception_error_resp))
示例#6
0
 def create_area(self, request):
     """
     create Area and return result with status code
     """
     requested_data = json.loads(request.body)
     try:
         is_success, message, area_details = LocationManager().create_area(requested_data)
         if is_success:
             msg = message
             data = area_details
         else:
             msg = message
             data = {}
         self.success_resp.message = msg
         self.success_resp.data = data
         self.success_resp.is_error = not is_success  ## Toggle the success msg 
         return Response(
             status=status.HTTP_200_OK,
             data=convert_to_dict(
                 self.success_resp))
     except Exception as e:
         LOGGER.exception("Some internal server error occurred")
         return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR,
                         data=convert_to_dict(self.exception_error_resp))