Exemplo n.º 1
0
    def sales(self):
        db = DB()

        # for all sales (regardless of host site) send hostSiteName : *
        if (request.method == "GET"):
            if request.params['hostSiteName'] == "*":
                orderList = db.getAllOrders()
                return Sale.toTableMasterOrderList(orderList)
            elif (request.params['hostSiteName'] != ""
                  and request.params['orderID'] == ""):
                orderList = db.getAllOrders()
                return Sale.toCashSaleList(orderList,
                                           request.params['hostSiteName'])
            else:
                order = db.getOrdersByOrderID(request.params['orderID'])
                return json.dumps(order)

        # uses orderID as a key, if it is sent as "" a new order is added
        # updating orders was not implemented
        elif (request.method == "PUT"):
            if request.params['orderID'] == "":
                # 				if (self.validate_new_order_inputs(request.params)):
                order = Sale(
                    None, request.params['dateCreated'],
                    request.params['dateToDistribute'],
                    request.params['firstName'], request.params['lastName'],
                    request.params['email'], request.params['phoneNumber'],
                    request.params['shouldSendNotifications'],
                    request.params['smallBoxQuantity'],
                    request.params['largeBoxQuantity'],
                    request.params['donations'],
                    request.params['donationReceipt'],
                    request.params['totalPaid'],
                    request.params['hostSitePickupID'],
                    request.params['hostSiteOrderID'],
                    request.params['customerID'])
                success = db.createNewOrderModel(order)
                if success:
                    self.send_confirmation_email(
                        request.params['dateCreated'],
                        request.params['dateToDistribute'],
                        request.params['firstName'],
                        request.params['lastName'], request.params['email'],
                        request.params['phoneNumber'],
                        request.params['smallBoxQuantity'],
                        request.params['largeBoxQuantity'],
                        request.params['donations'],
                        request.params['totalPaid'],
                        request.params['hostSitePickupID'],
                        request.params['hostSiteOrderID'])
                    return self.trueString
                else:
                    return "{\"success\":\"false\",\"message\":\"Failed to enter new order.\"}"
# 				else:
# 					return "{\"success\":\"false\",\"message\":\"Please fix inputs.\"}"
            else:
                if (request.params['smallBoxQuantity'] == ""
                        and request.params['largeBoxQuantity'] == ""):
                    # 					Delete
                    success = db.deleteOrder(request.params['orderID'])
                    if success:
                        self.send_confirmation_email(
                            request.params['dateCreated'],
                            request.params['dateToDistribute'],
                            request.params['firstName'],
                            request.params['lastName'],
                            request.params['email'],
                            request.params['phoneNumber'],
                            request.params['smallBoxQuantity'],
                            request.params['largeBoxQuantity'],
                            request.params['donations'],
                            request.params['totalPaid'],
                            request.params['hostSitePickupID'],
                            request.params['hostSiteOrderID'])
                        return self.trueString
                    else:
                        return "{\"success\":\"false\",\"message\":\"Failed to enter new order.\"}"
                else:
                    # 					Edit
                    order = Sale(request.params['orderID'],
                                 request.params['dateCreated'],
                                 request.params['dateToDistribute'],
                                 request.params['firstName'],
                                 request.params['lastName'],
                                 request.params['email'],
                                 request.params['phoneNumber'],
                                 request.params['shouldSendNotifications'],
                                 request.params['smallBoxQuantity'],
                                 request.params['largeBoxQuantity'],
                                 request.params['donations'],
                                 request.params['donationReceipt'],
                                 request.params['totalPaid'],
                                 request.params['hostSitePickupID'],
                                 request.params['hostSiteOrderID'],
                                 request.params['customerID'])

                    success = db.createEditOrderModel(order)
                    if success:
                        self.send_confirmation_email(
                            request.params['dateCreated'],
                            request.params['dateToDistribute'],
                            request.params['firstName'],
                            request.params['lastName'],
                            request.params['email'],
                            request.params['phoneNumber'],
                            request.params['smallBoxQuantity'],
                            request.params['largeBoxQuantity'],
                            request.params['donations'],
                            request.params['totalPaid'],
                            request.params['hostSitePickupID'],
                            request.params['hostSiteOrderID'])
                        return self.trueString
                    else:
                        return "{\"success\":\"false\",\"message\":\"Failed to enter new order.\"}"