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