Ejemplo n.º 1
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]))
Ejemplo n.º 2
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]))
Ejemplo n.º 3
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)
Ejemplo n.º 4
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 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)
Ejemplo n.º 6
0
    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)