def test_0030_gb_gb_saturday(self): "GB to GB UPS Standard with 2 packages and Saturday delivery" ship_confirm_request = ShipmentConfirm.shipment_confirm_request_type( Helper.get_shipper(self.shipper_number, "GB"), Helper.get_ship_to("GB"), Helper.get_ship_from("GB"), # Package 1 Helper.get_package( "GB", weight='15.0', package_type_code='02'), # Customer Supplied Package # Package 2 Helper.get_package( "GB", weight='15.0', package_type_code='02'), # Customer Supplied Package ShipmentConfirm.shipment_service_option_type(SaturdayDelivery="1"), Helper.get_payment_info(AccountNumber=self.shipper_number), ShipmentConfirm.service_type(Code='11'), # UPS Standard Description=__doc__[:50]) response = self.shipment_confirm_api.request(ship_confirm_request) digest = self.shipment_confirm_api.extract_digest(response) # now accept the package accept_request = ShipmentAccept.shipment_accept_request_type(digest) result = self.shipment_accept_api.request(accept_request)
def test_0030_gb_gb_saturday(self): "GB to GB UPS Standard with 2 packages and Saturday delivery" ship_confirm_request = ShipmentConfirm.shipment_confirm_request_type( Helper.get_shipper(self.shipper_number, "GB"), Helper.get_ship_to("GB"), Helper.get_ship_from("GB"), # Package 1 Helper.get_package("GB", weight='15.0', package_type_code='02'), # Customer Supplied Package # Package 2 Helper.get_package("GB", weight='15.0', package_type_code='02'), # Customer Supplied Package ShipmentConfirm.shipment_service_option_type(SaturdayDelivery="1"), Helper.get_payment_info(AccountNumber=self.shipper_number), ShipmentConfirm.service_type(Code='11'), # UPS Standard Description = __doc__[:50] ) response = self.shipment_confirm_api.request(ship_confirm_request) digest = self.shipment_confirm_api.extract_digest(response) # now accept the package accept_request = ShipmentAccept.shipment_accept_request_type(digest) result = self.shipment_accept_api.request(accept_request)
def _add_packages(self, cursor, user, register_id, context=None): """ Adds the UPS style packages and return the XML element :param cursor: Database Cursor :param user: ID of User :param register_id: Shipment Register ID :param context: Context directly uses active id. """ company_obj = self.pool.get('res.company') packages = [] ups_uoms = company_obj.get_ups_uoms(cursor, user, context) register_record = self.browse(cursor, user, register_id, context) for package in register_record.package_det: package_type = ShipmentConfirm.packaging_type( Code=package.package_type.code) package_weight = ShipmentConfirm.package_weight_type( Weight=str(package.weight), Code=ups_uoms[0], Description=package.description or 'None') package_service_options = \ ShipmentConfirm.package_service_options_type( ShipmentConfirm.insured_value_type( MonetaryValue=str(package.insured_value) or '')) if package.length and package.height and package.width: package_dimension = ShipmentConfirm.dimensions_type( Code=ups_uoms[1], Length=str(package.length), Height=str(package.height), Width=str(package.width), Description=package.description or 'None') else: raise osv.except_osv(('Error : '), ("Package Dimensions are required")) package_container = ShipmentConfirm.package_type( package_type, package_weight, package_dimension, package_service_options) packages.append(package_container) shipment_service = ShipmentConfirm.shipment_service_option_type( SaturdayDelivery=1 if register_record.saturday_delivery \ else 'None') return (packages, shipment_service)
def _add_packages(self, cr, uid, omni, package, weight, context=None): """ Adds the UPS style packages and return the XML element """ picking_obj = self.pool.get('stock.picking') package_obj = self.pool.get('stock.out.package') ups_package = None omni_obj = self.pool.get('omniship') ups_uoms = omni_obj.get_ups_uoms(cr, uid, omni, context) #Solves a bug where weight is rejected by UPS api for being too low if weight < 0.5: weight = 0.5 package_type = ShipmentConfirm.packaging_type(Code='02') package_weight = ShipmentConfirm.package_weight_type( Weight=str(weight), Code=ups_uoms[0], Description='None') #Shipment References ref1 = str(12345) package_referencenumber1 = \ ShipmentConfirm.reference_type(Code='02', Value=ref1) #Ignore ref2 for now # ref2 = str(package.move_id.product_id.sku) # package_referencenumber2 = \ # ShipmentConfirm.reference_type(Code='02', Value=ref2) #REVIEW: Value set to 0 package_service_options = \ ShipmentConfirm.package_service_options_type( ShipmentConfirm.insured_value_type( MonetaryValue='0')) if package.length > 0.1 and package.width > 0.1 and package.height > 0.1: length = package.length width = package.width height = package.height elif package.shape_dimension: dims = package.shape_dimension length = dims.length width = dims.width height = dims.height else: length = 1.0 width = 1.0 height = 1.0 package_dimension = ShipmentConfirm.dimensions_type(Code=ups_uoms[1], Length=str(length), Height=str(height), Width=str(width), Description='None') xml_package = ShipmentConfirm.package_type(package_type, package_weight, package_dimension, package_service_options, package_referencenumber1) # package_referencenumber2) shipment_service = ShipmentConfirm.shipment_service_option_type( SaturdayDelivery='None') return ([xml_package], shipment_service)
def _add_packages(self, cr, uid, omni, package, weight, context=None): """ Adds the UPS style packages and return the XML element """ picking_obj = self.pool.get('stock.picking') package_obj = self.pool.get('stock.out.package') ups_package = None omni_obj = self.pool.get('omniship') ups_uoms = omni_obj.get_ups_uoms(cr, uid, omni, context) #Solves a bug where weight is rejected by UPS api for being too low if weight < 0.5: weight = 0.5 package_type = ShipmentConfirm.packaging_type( Code='02') package_weight = ShipmentConfirm.package_weight_type( Weight=str(weight), Code=ups_uoms[0], Description='None') #Shipment References ref1 = str(12345) package_referencenumber1 = \ ShipmentConfirm.reference_type(Code='02', Value=ref1) #Ignore ref2 for now # ref2 = str(package.move_id.product_id.sku) # package_referencenumber2 = \ # ShipmentConfirm.reference_type(Code='02', Value=ref2) #REVIEW: Value set to 0 package_service_options = \ ShipmentConfirm.package_service_options_type( ShipmentConfirm.insured_value_type( MonetaryValue='0')) if ups_package and ups_package.length and ups_package.height and ups_package.width: package_dimension = ShipmentConfirm.dimensions_type( Code=ups_uoms[1], Length=str(ups_package.length), Height=str(ups_package.height), Width=str(ups_package.width), Description='None') else: #Hardcode a failsafe here so there are no complaints! package_dimension = ShipmentConfirm.dimensions_type( Code=ups_uoms[1], Length=str(6.0), Height=str(6.0), Width=str(6.0), Description='None') xml_package = ShipmentConfirm.package_type( package_type, package_weight, package_dimension, package_service_options, package_referencenumber1) # package_referencenumber2) shipment_service = ShipmentConfirm.shipment_service_option_type( SaturdayDelivery='None') return ([xml_package], shipment_service)