~camptocamp/openerp-connector-magento/7.0-copy-quotation-move-binding

« back to all changes in this revision

Viewing changes to magentoerpconnect/stock_picking.py

  • Committer: Guewen Baconnier
  • Date: 2014-05-26 09:37:00 UTC
  • Revision ID: guewen.baconnier@camptocamp.com-20140526093700-o0i186du7k39724i
Implements Related Actions

A related action can be attached to a job. It is shown to the user as a button on the form view of the jobs.
When the button is used, the related action is called and must return an OpenERP "client action".

Related action in this connector:
* Open the form view of the record that is concerned by the job on export jobs
* Open a browser on Magento's admin page in order to view/edit the record on import jobs

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
import xmlrpclib
24
24
from openerp.osv import orm, fields
25
25
from openerp.tools.translate import _
26
 
from openerp.addons.connector.queue.job import job
 
26
from openerp.addons.connector.queue.job import job, related_action
27
27
from openerp.addons.connector.event import on_record_create
28
28
from openerp.addons.connector.exception import NothingToDoJob
29
29
from openerp.addons.connector.unit.synchronizer import ExportSynchronizer
33
33
from .connector import get_environment
34
34
from .backend import magento
35
35
from .stock_tracking import export_tracking_number
 
36
from .related_action import unwrap_binding
36
37
 
37
38
_logger = logging.getLogger(__name__)
38
39
 
99
100
class StockPickingAdapter(GenericAdapter):
100
101
    _model_name = 'magento.stock.picking.out'
101
102
    _magento_model = 'sales_order_shipment'
 
103
    _admin_path = 'sales_shipment/view/shipment_id/{id}'
102
104
 
103
105
    def _call(self, method, arguments):
104
106
        try:
248
250
 
249
251
 
250
252
@job
 
253
@related_action(action=unwrap_binding)
251
254
def export_picking_done(session, model_name, record_id):
252
255
    """ Export a complete or partial delivery order. """
253
256
    picking = session.browse(model_name, record_id)