1
# -*- coding: utf-8 -*-
2
##############################################################################
4
# Author: Guewen Baconnier
5
# Copyright 2014 Camptocamp SA
7
# This program is free software: you can redistribute it and/or modify
8
# it under the terms of the GNU Affero General Public License as
9
# published by the Free Software Foundation, either version 3 of the
10
# License, or (at your option) any later version.
12
# This program is distributed in the hope that it will be useful,
13
# but WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
# GNU Affero General Public License for more details.
17
# You should have received a copy of the GNU Affero General Public License
18
# along with this program. If not, see <http://www.gnu.org/licenses/>.
20
##############################################################################
23
Related Actions for Magento:
25
Related actions are associated with jobs.
26
When called on a job, they will return an action to the client.
31
from openerp.osv import orm
32
from openerp.tools.translate import _
33
from openerp.addons.connector import related_action
34
from .connector import get_environment
35
from .unit.backend_adapter import GenericAdapter
36
from .unit.binder import MagentoBinder
38
unwrap_binding = functools.partial(related_action.unwrap_binding,
39
binder_class=MagentoBinder)
42
def link(session, job, backend_id_pos=2, magento_id_pos=3):
43
""" Open a Magento URL on the admin page to view/edit the record
46
binding_model = job.args[0]
47
# shift one to the left because session is not in job.args
48
backend_id = job.args[backend_id_pos - 1]
49
magento_id = job.args[magento_id_pos - 1]
50
env = get_environment(session, binding_model, backend_id)
51
adapter = env.get_connector_unit(GenericAdapter)
53
url = adapter.admin_url(magento_id)
57
_('No admin URL configured on the backend or '
58
'no admin path is defined for this record.'))
61
'type': 'ir.actions.act_url',