def accept_price(self, cr, uid, omni, package, context=None): ''' This method calls the Accept Price function of the wizard . :return: True ''' package_obj = self.pool.get('stock.out.package') move_obj = self.pool.get('stock.move') # writing image to digest so that it can be used. shipment_accept = ShipmentAccept.shipment_accept_request_type(\ package.digest) #Accept Transaction Reference shipment_accept_instance = self.get_ups_api(cr, uid, omni, 'accept', context) shipment_accept_instance.TransactionReference = E.TransactionReference( E.CustomerContext('12345') ) #End Transaction Reference try: response = shipment_accept_instance.request( shipment_accept) if isinstance(response, tuple): request = response[0] response = response[1] except PyUPSException, error: raise osv.except_osv(('Error : '), ('%s' % error[0]))
def accept_price(self, cr, uid, omni, package, context=None): ''' This method calls the Accept Price function of the wizard . :return: True ''' package_obj = self.pool.get('stock.out.package') move_obj = self.pool.get('stock.move') # writing image to digest so that it can be used. shipment_accept = ShipmentAccept.shipment_accept_request_type(\ package.digest) #Accept Transaction Reference shipment_accept_instance = self.get_ups_api(cr, uid, omni, 'accept', context) shipment_accept_instance.TransactionReference = E.TransactionReference( E.CustomerContext('12345')) #End Transaction Reference try: response = shipment_accept_instance.request(shipment_accept) if isinstance(response, tuple): request = response[0] response = response[1] except PyUPSException, error: raise osv.except_osv(('Error : '), ('%s' % error[0]))
def test_0020_gb_gb(self): "GB to GB UPS Standard with 2 packages" 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 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_0020_gb_gb(self): "GB to GB UPS Standard with 2 packages" 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 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 accept_price(self, cursor, user, ids, context=None): ''' This method calls the Accept Price function of the wizard . :param cursor: Database Cursor :param user: ID of User :param ids: ID of Current record. :param context: Context(no direct use). :return: True ''' packages_obj = self.pool.get('ups.shippingregister.package') for shipping_register_record in self.browse(cursor, user, ids, context): # writing image to digest so that it can be used. shipment_accept = ShipmentAccept.shipment_accept_request_type(\ shipping_register_record.digest) shipment_accept_instance = self.get_ups_api(cursor, user, 'accept', context) try: #response = shipment_accept_instance.request(shipment_accept) response = shipment_accept_instance.request(shipment_accept) except Exception, error: raise osv.except_osv(('Error : '), ('%s' % error)) packages = [] for package in response.ShipmentResults.PackageResults: packages.append(package) # UPS does not give the information as to which package # got which label, Here we are just assuming that they # came in order to assign the label package_record_ids = [pkg.id for pkg in \ shipping_register_record.package_det] assert len(package_record_ids) == len(packages) for package in packages: register_vals = { 'tracking_no': package.TrackingNumber.pyval, 'label_image': package.LabelImage.GraphicImage.pyval, 'state': 'accepted' } packages_obj.write( cursor, user, package_record_ids[packages.index(package)], register_vals, context) # changing state to accepted of shipping register record. self.write(cursor, user, shipping_register_record.id, {'state': 'accepted'}, context)
def accept_price(self, cursor, user, ids, context=None): ''' This method calls the Accept Price function of the wizard . :param cursor: Database Cursor :param user: ID of User :param ids: ID of Current record. :param context: Context(no direct use). :return: True ''' packages_obj = self.pool.get('ups.shippingregister.package') company_obj = self.pool.get('res.company') for shipping_register_record in self.browse(cursor, user, ids, context): # writing image to digest so that it can be used. shipment_accept = ShipmentAccept.shipment_accept_request_type(\ shipping_register_record.digest) shipment_accept_instance = self.get_ups_api( cursor, user, 'accept', context) try: response = shipment_accept_instance.request(shipment_accept) if isinstance(response, tuple): request = response[0] response = response[1] except PyUPSException, error: if company_obj.get_ups_save_xml(cursor, user, context): # TODO: We need a better error exception here. xml_messages = [(0, 0, { 'name': 'AcceptShipmentRequest', 'type': 'request', 'message': error[1] }), (0, 0, { 'name': 'AcceptShipmentResponse', 'type': 'response', 'message': etree.tostring(error[2], pretty_print=True) })] self.write(cursor, user, shipping_register_record.id, {'xml_messages': xml_messages}, context) raise osv.except_osv(('Error : '), ('%s' % error[0])) packages = [] for package in response.ShipmentResults.PackageResults: packages.append(package) # UPS does not give the information as to which package # got which label, Here we are just assuming that they # came in order to assign the label package_record_ids = [pkg.id for pkg in \ shipping_register_record.package_det] assert len(package_record_ids) == len(packages) for package in packages: register_vals = { 'tracking_no': package.TrackingNumber.pyval, 'label_image': package.LabelImage.GraphicImage.pyval, 'state': 'accepted' } packages_obj.write(cursor, user, package_record_ids[packages.index(package)], register_vals, context) # changing state to accepted of shipping register record... if company_obj.get_ups_save_xml(cursor, user, context): xml_messages = [(0, 0, { 'name': 'AcceptShipmentRequest', 'type': 'request', 'message': request }), (0, 0, { 'name': 'AcceptShipmentResponse', 'type': 'response', 'message': etree.tostring(response, pretty_print=True) })] else: xml_messages = [] self.write(cursor, user, shipping_register_record.id, { 'state': 'accepted', 'xml_messages': xml_messages }, context)
def accept_price(self, cursor, user, ids, context=None): ''' This method calls the Accept Price function of the wizard . :param cursor: Database Cursor :param user: ID of User :param ids: ID of Current record. :param context: Context(no direct use). :return: True ''' packages_obj = self.pool.get('ups.shippingregister.package') company_obj = self.pool.get('res.company') for shipping_register_record in self.browse(cursor, user, ids, context): # writing image to digest so that it can be used. shipment_accept = ShipmentAccept.shipment_accept_request_type(\ shipping_register_record.digest) shipment_accept_instance = self.get_ups_api(cursor, user, 'accept', context) try: response = shipment_accept_instance.request( shipment_accept) if isinstance(response, tuple): request = response[0] response = response[1] except PyUPSException, error: if company_obj.get_ups_save_xml(cursor, user, context): # TODO: We need a better error exception here. xml_messages = [(0, 0, {'name': 'AcceptShipmentRequest', 'type': 'request', 'message': error[1]}), (0, 0, {'name': 'AcceptShipmentResponse', 'type': 'response', 'message': etree.tostring( error[2], pretty_print=True)})] self.write(cursor, user, shipping_register_record.id, {'xml_messages': xml_messages}, context) raise osv.except_osv(('Error : '), ('%s' % error[0])) packages = [] for package in response.ShipmentResults.PackageResults: packages.append(package) # UPS does not give the information as to which package # got which label, Here we are just assuming that they # came in order to assign the label package_record_ids = [pkg.id for pkg in \ shipping_register_record.package_det] assert len(package_record_ids) == len(packages) for package in packages: register_vals = { 'tracking_no': package.TrackingNumber.pyval, 'label_image': package.LabelImage.GraphicImage.pyval, 'state': 'accepted' } packages_obj.write( cursor, user, package_record_ids[packages.index(package)], register_vals, context) # changing state to accepted of shipping register record... if company_obj.get_ups_save_xml(cursor, user, context): xml_messages = [(0, 0, {'name': 'AcceptShipmentRequest', 'type': 'request', 'message': request}), (0, 0, {'name': 'AcceptShipmentResponse', 'type': 'response', 'message': etree.tostring( response, pretty_print=True)})] else: xml_messages = [] self.write(cursor, user, shipping_register_record.id, {'state': 'accepted', 'xml_messages': xml_messages}, context)