Example #1
0
    def obj_create(self, bundle, **kwargs):
        """
        Creates the acknowledgement resource
        """
        logger.info("Creating a new acknowledgement...")
        #Create the object
        bundle.obj = Acknowledgement()
        #hydrate
        bundle = self.full_hydrate(bundle)

        #Set the customer
        try:
            logger.info("Setting customer...")
            bundle.obj.customer = Customer.objects.get(
                pk=bundle.data["customer"]["id"])
            bundle.obj.discount = bundle.obj.customer.discount
        except:
            logger.error("Customer with ID {0} could not be found.".format(
                bundle.data['customer']['id']))
            raise

        #Set the employee
        try:
            logger.info("Setting employee...")
            bundle.obj.employee = bundle.request.user
        except User.DoesNotExist:
            logger.error("User with ID {0} could not be found".format(
                bundle.data['employee']['id']))
            raise
        except KeyError:
            logger.critical("Missing employee ID.")
            raise

        #Set Status
        bundle.obj.status = "ACKNOWLEDGED"

        #Set the project or create a new one
        if "project" in bundle.data:
            try:
                project = Project.objects.get(pk=bundle.data['project']['id'])
            except KeyError, Project.DoesNotExist:
                try:
                    project = Project()
                    project.codename = bundle.data['project']['codename']
                    project.save()
                except KeyError:
                    project = None

            bundle.obj.project = project
Example #2
0
    def setUp(self):
        """
        Set up for the Acknowledgement Test

        Objects created:
        -User
        -Customer
        -Supplier
        -Address
        -product
        -2 fabrics

        After Creating all the needed objects for the Acknowledgement, 
        test that all the objects have been made.
        """
        super(ShippingResourceTest, self).setUp()

        self.ct = ContentType(app_label="shipping")
        self.ct.save()

        #Create the user
        self.username = '******'
        self.password = '******'
        self.user = User.objects.create_user(self.username, '*****@*****.**',
                                             self.password)
        self.user.save()

        p = Permission(content_type=self.ct, codename="change_shipping")
        p.save()
        p2 = Permission(content_type=self.ct, codename="add_shipping")
        p2.save()
        self.user.user_permissions.add(p)
        self.user.user_permissions.add(p2)

        self.user.save()

        self.setup_client()

        #Create supplier, customer and addrss
        self.customer = Customer(**base_customer)
        self.customer.save()
        self.supplier = Supplier(**base_supplier)
        self.supplier.save()
        self.address = Address(address1="Jiggle", contact=self.customer)
        self.address.save()

        #Create project
        self.project = Project.objects.create(codename="Ladawan")

        #Create phase
        self.phase = Phase.objects.create(description="Phase 1/6",
                                          project=self.project)

        #Create a product to add
        self.product = Product.create(self.user, **base_product)
        self.product.save()
        self.fabric = Fabric.create(**base_fabric)
        f_data = base_fabric.copy()
        f_data["pattern"] = "Stripe"
        self.fabric2 = Fabric.create(**f_data)

        #Create acknowledgement
        ack_data = base_ack.copy()
        del ack_data['customer']
        del ack_data['items']
        del ack_data['employee']
        self.ack = Acknowledgement(**ack_data)
        self.ack.customer = self.customer
        self.ack.employee = self.user
        self.ack.save()

        #Create an item
        item_data = {
            'id': 1,
            'quantity': 1,
            'is_custom_size': True,
            'width': 1500,
            "fabric": {
                "id": 1
            }
        }
        self.item = AckItem.create(acknowledgement=self.ack, **item_data)

        #Create an item
        item_data = {
            'id': 1,
            'quantity': 2,
            'is_custom_size': True,
            'width': 1500,
            "fabric": {
                "id": 1
            }
        }
        self.item2 = AckItem.create(acknowledgement=self.ack, **item_data)