Better action implementation
- Better naming - Remove inherit from sql and use inherit from ORM - Remove table creation from init.sql as it is no needs
This commit is contained in:
@@ -56,46 +56,6 @@ CREATE TABLE ir_model_fields (
|
||||
-------------------------------------------------------------------------
|
||||
-- Actions
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
CREATE TABLE ir_actions (
|
||||
id serial NOT NULL,
|
||||
name varchar(64) DEFAULT ''::varchar NOT NULL,
|
||||
"type" varchar(64) DEFAULT 'window'::varchar NOT NULL,
|
||||
usage varchar(32) DEFAULT null,
|
||||
primary key(id)
|
||||
);
|
||||
|
||||
CREATE TABLE ir_act_window (
|
||||
view_id integer,
|
||||
res_model varchar(64),
|
||||
view_type varchar(16),
|
||||
"domain" varchar(127),
|
||||
primary key(id)
|
||||
)
|
||||
INHERITS (ir_actions);
|
||||
|
||||
CREATE TABLE ir_act_report (
|
||||
model varchar(64) NOT NULL,
|
||||
report_name varchar(64) NOT NULL,
|
||||
report varchar(64),
|
||||
auto boolean default true,
|
||||
primary key(id)
|
||||
)
|
||||
INHERITS (ir_actions);
|
||||
|
||||
CREATE TABLE ir_act_wizard (
|
||||
wiz_name varchar(64) NOT NULL,
|
||||
primary key(id)
|
||||
)
|
||||
INHERITS (ir_actions);
|
||||
|
||||
CREATE TABLE ir_act_url (
|
||||
url text NOT NULL,
|
||||
target varchar(64) NOT NULL,
|
||||
primary key(id)
|
||||
)
|
||||
INHERITS (ir_actions);
|
||||
|
||||
CREATE TABLE ir_ui_view (
|
||||
id serial NOT NULL,
|
||||
name varchar(64) DEFAULT ''::varchar NOT NULL,
|
||||
|
||||
+98
-61
@@ -1,17 +1,16 @@
|
||||
"Actions"
|
||||
"Action"
|
||||
from trytond.osv import fields, OSV
|
||||
from trytond.tools import file_open
|
||||
|
||||
|
||||
class Actions(OSV):
|
||||
"Actions"
|
||||
_name = 'ir.actions.actions'
|
||||
_table = 'ir_actions'
|
||||
class Action(OSV):
|
||||
"Action"
|
||||
_name = 'ir.action'
|
||||
_description = __doc__
|
||||
_columns = {
|
||||
'name': fields.char('Action Name', required=True, size=64),
|
||||
'type': fields.char('Action Type', required=True, size=32),
|
||||
'usage': fields.char('Action Usage', size=32),
|
||||
'name': fields.char('Name', required=True, size=64, translate=True),
|
||||
'type': fields.char('Type', required=True, size=32, readonly=True),
|
||||
'usage': fields.char('Usage', size=32),
|
||||
'keywords': fields.one2many('ir.action.keyword', 'action',
|
||||
'Keywords'),
|
||||
}
|
||||
@@ -19,7 +18,28 @@ class Actions(OSV):
|
||||
'usage': lambda *a: False,
|
||||
}
|
||||
|
||||
Actions()
|
||||
def get_action_id(self, cursor, user, action_id, context=None):
|
||||
if self.search(cursor, user, [
|
||||
('id', '=', action_id),
|
||||
], context=context):
|
||||
return action_id
|
||||
for action_type in (
|
||||
'ir.action.report',
|
||||
'ir.action.act_window',
|
||||
'ir.action.wizard',
|
||||
'ir.action.url',
|
||||
):
|
||||
action_obj = self.pool.get(action_type)
|
||||
action_id2 = action_obj.search(cursor, user, [
|
||||
('id', '=', action_id),
|
||||
], context=context)
|
||||
if action_id2:
|
||||
action = action_obj.browse(cursor, user, action_id2[0],
|
||||
context=context)
|
||||
return action.action.id
|
||||
return False
|
||||
|
||||
Action()
|
||||
|
||||
|
||||
class ActionKeyword(OSV):
|
||||
@@ -44,10 +64,28 @@ class ActionKeyword(OSV):
|
||||
('form_relate', 'Form relate'),
|
||||
], string='Keyword', required=True),
|
||||
'model': fields.Reference('Model', selection=_models_get, size=128),
|
||||
'action': fields.many2one('ir.actions.actions', 'Action',
|
||||
'action': fields.many2one('ir.action', 'Action',
|
||||
ondelete='CASCADE'),
|
||||
}
|
||||
|
||||
def _convert_vals(self, cursor, user, vals, context=None):
|
||||
vals = vals.copy()
|
||||
action_obj = self.pool.get('ir.action')
|
||||
if 'action' in vals:
|
||||
vals['action'] = action_obj.get_action_id(cursor, user,
|
||||
vals['action'], context=context)
|
||||
return vals
|
||||
|
||||
def create(self, cursor, user, vals, context=None):
|
||||
vals = self._convert_vals(cursor, user, vals, context=context)
|
||||
return super(ActionKeyword, self).create(cursor, user, vals,
|
||||
context=context)
|
||||
|
||||
def write(self, cursor, user, ids, vals, context=None):
|
||||
vals = self._convert_vals(cursor, user, vals, context=context)
|
||||
return super(ActionKeyword, self).write(cursor, user, ids, vals,
|
||||
context=context)
|
||||
|
||||
def get_keyword(self, cursor, user, keyword, value, context=None):
|
||||
res = []
|
||||
model, model_id = value
|
||||
@@ -64,18 +102,23 @@ class ActionKeyword(OSV):
|
||||
], context=context))
|
||||
for action_keyword in self.browse(cursor, user, action_keyword_ids,
|
||||
context=context):
|
||||
res.append(self.pool.get(action_keyword.action.type)\
|
||||
.read(cursor, user, action_keyword.action.id,
|
||||
context=context))
|
||||
if action_keyword.action.type == 'ir.actions.report':
|
||||
del res[-1]['report_content_data']
|
||||
del res[-1]['report_content']
|
||||
action_obj = self.pool.get(action_keyword.action.type)
|
||||
action_id = action_obj.search(cursor, user, [
|
||||
('action', '=', action_keyword.action.id),
|
||||
], context=context)
|
||||
if action_id:
|
||||
res.append(action_obj.read(cursor, user, action_id[0],
|
||||
context=context))
|
||||
if action_keyword.action.type == 'ir.action.report':
|
||||
del res[-1]['report_content_data']
|
||||
del res[-1]['report_content']
|
||||
return res
|
||||
|
||||
ActionKeyword()
|
||||
|
||||
class ActionsReport(OSV):
|
||||
"Actions report"
|
||||
|
||||
class ActionReport(OSV):
|
||||
"Action report"
|
||||
|
||||
def _report_content(self, cursor, user, ids, name, arg, context=None):
|
||||
res = {}
|
||||
@@ -93,13 +136,11 @@ class ActionsReport(OSV):
|
||||
context=None):
|
||||
self.write(cursor, user, obj_id, {name+'_data': value}, context=context)
|
||||
|
||||
_name = 'ir.actions.report'
|
||||
_table = 'ir_act_report'
|
||||
_sequence = 'ir_actions_id_seq'
|
||||
_name = 'ir.action.report'
|
||||
_sequence = 'ir_action_id_seq'
|
||||
_description = __doc__
|
||||
_inherits = {'ir.action': 'action'}
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True, translate=True),
|
||||
'type': fields.char('Report Type', size=32, required=True),
|
||||
'model': fields.char('Model', size=64, required=True),
|
||||
'report_name': fields.char('Internal Name', size=64, required=True),
|
||||
'report': fields.Char('Path', size=128),
|
||||
@@ -107,21 +148,22 @@ class ActionsReport(OSV):
|
||||
'report_content': fields.function(_report_content,
|
||||
fnct_inv=_report_content_inv, method=True,
|
||||
type='binary', string='Content',),
|
||||
'action': fields.many2one('ir.action', 'Action', required=True),
|
||||
}
|
||||
_defaults = {
|
||||
'type': lambda *a: 'ir.actions.report',
|
||||
'type': lambda *a: 'ir.action.report',
|
||||
'report_content': lambda *a: False,
|
||||
}
|
||||
|
||||
ActionsReport()
|
||||
ActionReport()
|
||||
|
||||
|
||||
class ActionsActWindow(OSV):
|
||||
"Actions act window"
|
||||
_name = 'ir.actions.act_window'
|
||||
_table = 'ir_act_window'
|
||||
_sequence = 'ir_actions_id_seq'
|
||||
class ActionActWindow(OSV):
|
||||
"Action act window"
|
||||
_name = 'ir.action.act_window'
|
||||
_sequence = 'ir_action_id_seq'
|
||||
_description = __doc__
|
||||
_inherits = {'ir.action': 'action'}
|
||||
|
||||
def _views_get_fnc(self, cursor, user, ids, name, arg, context=None):
|
||||
res = {}
|
||||
@@ -141,8 +183,6 @@ class ActionsActWindow(OSV):
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Action Name', size=64, translate=True),
|
||||
'type': fields.char('Action Type', size=32, required=True),
|
||||
'domain': fields.char('Domain Value', size=250),
|
||||
'context': fields.char('Context Value', size=250),
|
||||
'res_model': fields.char('Model', size=64),
|
||||
@@ -150,7 +190,7 @@ class ActionsActWindow(OSV):
|
||||
'view_type': fields.selection([('tree','Tree'), ('form','Form')],
|
||||
string='Type of view'),
|
||||
'usage': fields.char('Action Usage', size=32),
|
||||
'view_ids': fields.one2many('ir.actions.act_window.view',
|
||||
'view_ids': fields.one2many('ir.action.act_window.view',
|
||||
'act_window_id', 'Views'),
|
||||
'views': fields.function(_views_get_fnc, method=True, type='binary',
|
||||
string='Views'),
|
||||
@@ -158,22 +198,22 @@ class ActionsActWindow(OSV):
|
||||
help='Default limit for the list view'),
|
||||
'auto_refresh': fields.integer('Auto-Refresh',
|
||||
help='Add an auto-refresh on the view'),
|
||||
'action': fields.many2one('ir.action', 'Action', required=True),
|
||||
}
|
||||
_defaults = {
|
||||
'type': lambda *a: 'ir.actions.act_window',
|
||||
'type': lambda *a: 'ir.action.act_window',
|
||||
'view_type': lambda *a: 'form',
|
||||
'context': lambda *a: '{}',
|
||||
'limit': lambda *a: 80,
|
||||
'auto_refresh': lambda *a: 0,
|
||||
}
|
||||
|
||||
ActionsActWindow()
|
||||
ActionActWindow()
|
||||
|
||||
|
||||
class ActionsActWindowView(OSV):
|
||||
"Actions act window view"
|
||||
_name = 'ir.actions.act_window.view'
|
||||
_table = 'ir_act_window_view'
|
||||
class ActionActWindowView(OSV):
|
||||
"Action act window view"
|
||||
_name = 'ir.action.act_window.view'
|
||||
_rec_name = 'view_id'
|
||||
_description = __doc__
|
||||
_columns = {
|
||||
@@ -184,7 +224,7 @@ class ActionsActWindowView(OSV):
|
||||
('form', 'Form'),
|
||||
('graph', 'Graph'),
|
||||
('calendar', 'Calendar')), string='Type of view', required=True),
|
||||
'act_window_id': fields.many2one('ir.actions.act_window', 'Action',
|
||||
'act_window_id': fields.many2one('ir.action.act_window', 'Action',
|
||||
ondelete='CASCADE'),
|
||||
'multi': fields.boolean('On multiple doc.',
|
||||
help="If set to true, the action will not be displayed \n" \
|
||||
@@ -195,46 +235,43 @@ class ActionsActWindowView(OSV):
|
||||
}
|
||||
_order = 'sequence'
|
||||
|
||||
ActionsActWindowView()
|
||||
ActionActWindowView()
|
||||
|
||||
|
||||
class ActionsWizard(OSV):
|
||||
"Actions wizard"
|
||||
_name = 'ir.actions.wizard'
|
||||
_table = 'ir_act_wizard'
|
||||
_sequence = 'ir_actions_id_seq'
|
||||
class ActionWizard(OSV):
|
||||
"Action wizard"
|
||||
_name = 'ir.action.wizard'
|
||||
_sequence = 'ir_action_id_seq'
|
||||
_description = __doc__
|
||||
_inherits = {'ir.action': 'action'}
|
||||
_columns = {
|
||||
'name': fields.char('Wizard info', size=64, required=True,
|
||||
translate=True),
|
||||
'type': fields.char('Action type', size=32, required=True),
|
||||
'wiz_name': fields.char('Wizard name', size=64, required=True),
|
||||
'action': fields.many2one('ir.action', 'Action', required=True),
|
||||
}
|
||||
_defaults = {
|
||||
'type': lambda *a: 'ir.actions.wizard',
|
||||
'type': lambda *a: 'ir.action.wizard',
|
||||
}
|
||||
|
||||
ActionsWizard()
|
||||
ActionWizard()
|
||||
|
||||
|
||||
class ActionsURL(OSV):
|
||||
"Actions URL"
|
||||
_name = 'ir.actions.url'
|
||||
_table = 'ir_act_url'
|
||||
_sequence = 'ir_actions_id_seq'
|
||||
class ActionURL(OSV):
|
||||
"Action URL"
|
||||
_name = 'ir.action.url'
|
||||
_sequence = 'ir_action_id_seq'
|
||||
_description = __doc__
|
||||
_inherits = {'ir.action': 'action'}
|
||||
_columns = {
|
||||
'name': fields.char('Action Name', size=64, translate=True),
|
||||
'type': fields.char('Action Type', size=32, required=True),
|
||||
'url': fields.text('Action Url',required=True),
|
||||
'target': fields.selection([
|
||||
('new', 'New Window'),
|
||||
('self', 'This Window'),
|
||||
], 'Action Target', required=True)
|
||||
], 'Action Target', required=True),
|
||||
'action': fields.many2one('ir.action', 'Action', required=True),
|
||||
}
|
||||
_defaults = {
|
||||
'type': lambda *a: 'ir.actions.act_url',
|
||||
'type': lambda *a: 'ir.action.act_url',
|
||||
'target': lambda *a: 'new',
|
||||
}
|
||||
|
||||
ActionsURL()
|
||||
ActionURL()
|
||||
|
||||
+94
-67
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0"?>
|
||||
<terp>
|
||||
<data>
|
||||
<menuitem name="Actions" id="menu_actions" parent_id="ir.menu_ir"/>
|
||||
<record model="ir.ui.view" id="actions_actions_view_form">
|
||||
<field name="model">ir.actions.actions</field>
|
||||
<menuitem name="Actions" id="menu_action" parent_id="ir.menu_ir"/>
|
||||
<record model="ir.ui.view" id="action_view_form">
|
||||
<field name="model">ir.action</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<![CDATA[
|
||||
@@ -24,8 +24,8 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="actions_actions_view_tree">
|
||||
<field name="model">ir.actions.actions</field>
|
||||
<record model="ir.ui.view" id="action_view_tree">
|
||||
<field name="model">ir.action</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<![CDATA[
|
||||
@@ -36,30 +36,30 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_actions_actions_form">
|
||||
<record model="ir.action.act_window" id="act_action_form">
|
||||
<field name="name">Actions</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">ir.actions.actions</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.action</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
id="act_actions_actions_form_view1">
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_action_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="actions_actions_view_tree"/>
|
||||
<field name="act_window_id" ref="act_actions_actions_form"/>
|
||||
<field name="view_id" ref="action_view_tree"/>
|
||||
<field name="act_window_id" ref="act_action_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
id="act_actions_actions_form_view2">
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_action_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="actions_actions_view_form"/>
|
||||
<field name="act_window_id" ref="act_actions_actions_form"/>
|
||||
<field name="view_id" ref="action_view_form"/>
|
||||
<field name="act_window_id" ref="act_action_form"/>
|
||||
</record>
|
||||
<menuitem parent_id="menu_actions"
|
||||
action="act_actions_actions_form" id="menu_actions_actions"/>
|
||||
<record model="ir.ui.view" id="actions_report_view_form">
|
||||
<field name="model">ir.actions.report</field>
|
||||
<menuitem parent_id="menu_action"
|
||||
action="act_action_form" id="menu_act_action"/>
|
||||
<record model="ir.ui.view" id="action_report_view_form">
|
||||
<field name="model">ir.action.report</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<![CDATA[
|
||||
@@ -70,12 +70,21 @@
|
||||
<field name="report_name" select="2"/>
|
||||
<field name="report"/>
|
||||
<field name="auto"/>
|
||||
<field name="keywords" colspan="4" nolabel="1">
|
||||
<tree string="Keywords">
|
||||
<field name="keyword"/>
|
||||
</tree>
|
||||
<form string="Keyword">
|
||||
<field name="keyword"/>
|
||||
<field name="model"/>
|
||||
</form>
|
||||
</field>
|
||||
</form>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="actions_report_view_tree">
|
||||
<field name="model">ir.actions.report</field>
|
||||
<record model="ir.ui.view" id="action_report_view_tree">
|
||||
<field name="model">ir.action.report</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<![CDATA[
|
||||
@@ -88,30 +97,30 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_actions_report_form">
|
||||
<record model="ir.action.act_window" id="act_action_report_form">
|
||||
<field name="name">Reports</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">ir.actions.report</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.action.report</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
id="act_actions_report_form_view1">
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_action_report_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="actions_report_view_tree"/>
|
||||
<field name="act_window_id" ref="act_actions_report_form"/>
|
||||
<field name="view_id" ref="action_report_view_tree"/>
|
||||
<field name="act_window_id" ref="act_action_report_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
id="act_actions_report_form_view2">
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_action_report_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="actions_report_view_form"/>
|
||||
<field name="act_window_id" ref="act_actions_report_form"/>
|
||||
<field name="view_id" ref="action_report_view_form"/>
|
||||
<field name="act_window_id" ref="act_action_report_form"/>
|
||||
</record>
|
||||
<menuitem parent_id="menu_actions"
|
||||
action="act_actions_report_form" id="menu_actions_report_form"/>
|
||||
<record model="ir.ui.view" id="actions_act_window_view_form">
|
||||
<field name="model">ir.actions.act_window</field>
|
||||
<menuitem parent_id="menu_action"
|
||||
action="act_action_report_form" id="menu_action_report_form"/>
|
||||
<record model="ir.ui.view" id="action_act_window_view_form">
|
||||
<field name="model">ir.action.act_window</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<![CDATA[
|
||||
@@ -141,12 +150,21 @@
|
||||
<newline/>
|
||||
<field name="view_mode"/>
|
||||
<field name="view_id"/>
|
||||
<field name="keywords" colspan="4" nolabel="1">
|
||||
<tree string="Keywords">
|
||||
<field name="keyword"/>
|
||||
</tree>
|
||||
<form string="Keyword">
|
||||
<field name="keyword"/>
|
||||
<field name="model"/>
|
||||
</form>
|
||||
</field>
|
||||
</form>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="actions_act_window_view_tree">
|
||||
<field name="model">ir.actions.act_window</field>
|
||||
<record model="ir.ui.view" id="action_act_window_view_tree">
|
||||
<field name="model">ir.action.act_window</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<![CDATA[
|
||||
@@ -160,28 +178,28 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_actions_act_window_form">
|
||||
<record model="ir.action.act_window" id="act_action_act_window_form">
|
||||
<field name="name">Window Actions</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.action.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_actions_act_window_view1">
|
||||
<record model="ir.action.act_window.view" id="act_action_act_window_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="actions_act_window_view_tree"/>
|
||||
<field name="act_window_id" ref="act_actions_act_window_form"/>
|
||||
<field name="view_id" ref="action_act_window_view_tree"/>
|
||||
<field name="act_window_id" ref="act_action_act_window_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="act_actions_act_window_view2">
|
||||
<record model="ir.action.act_window.view" id="act_action_act_window_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="actions_act_window_view_form"/>
|
||||
<field name="act_window_id" ref="act_actions_act_window_form"/>
|
||||
<field name="view_id" ref="action_act_window_view_form"/>
|
||||
<field name="act_window_id" ref="act_action_act_window_form"/>
|
||||
</record>
|
||||
<menuitem parent_id="menu_actions"
|
||||
action="act_actions_act_window_form" id="menu_actions_act_window"/>
|
||||
<record model="ir.ui.view" id="actions_wizard_view_form">
|
||||
<field name="model">ir.actions.wizard</field>
|
||||
<menuitem parent_id="menu_action"
|
||||
action="act_action_act_window_form" id="menu_action_act_window"/>
|
||||
<record model="ir.ui.view" id="action_wizard_view_form">
|
||||
<field name="model">ir.action.wizard</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<![CDATA[
|
||||
@@ -190,12 +208,21 @@
|
||||
<field name="type" select="1"/>
|
||||
<field name="wiz_name" select="1"/>
|
||||
<field name="multi"/>
|
||||
<field name="keywords" colspan="4" nolabel="1">
|
||||
<tree string="Keywords">
|
||||
<field name="keyword"/>
|
||||
</tree>
|
||||
<form string="Keyword">
|
||||
<field name="keyword"/>
|
||||
<field name="model"/>
|
||||
</form>
|
||||
</field>
|
||||
</form>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="actions_wizard_view_tree">
|
||||
<field name="model">ir.actions.wizard</field>
|
||||
<record model="ir.ui.view" id="action_wizard_view_tree">
|
||||
<field name="model">ir.action.wizard</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<![CDATA[
|
||||
@@ -208,27 +235,27 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_actions_wizard_form">
|
||||
<record model="ir.action.act_window" id="act_action_wizard_form">
|
||||
<field name="name">Wizards</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">ir.actions.wizard</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.action.wizard</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
id="act_actions_wizard_form_view1">
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_action_wizard_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="actions_wizard_view_tree"/>
|
||||
<field name="act_window_id" ref="act_actions_wizard_form"/>
|
||||
<field name="view_id" ref="action_wizard_view_tree"/>
|
||||
<field name="act_window_id" ref="act_action_wizard_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
id="act_actions_wizard_form_view2">
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_action_wizard_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="actions_wizard_view_form"/>
|
||||
<field name="act_window_id" ref="act_actions_wizard_form"/>
|
||||
<field name="view_id" ref="action_wizard_view_form"/>
|
||||
<field name="act_window_id" ref="act_action_wizard_form"/>
|
||||
</record>
|
||||
<menuitem parent_id="menu_actions"
|
||||
action="act_actions_wizard_form" id="menu_actions_wizard"/>
|
||||
<menuitem parent_id="menu_action"
|
||||
action="act_action_wizard_form" id="menu_action_wizard"/>
|
||||
</data>
|
||||
</terp>
|
||||
|
||||
@@ -32,20 +32,20 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_attachment_form">
|
||||
<record model="ir.action.act_window" id="act_attachment_form">
|
||||
<field name="name">Attachments</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.attachment</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_attachment_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="attachment_view_tree"/>
|
||||
<field name="act_window_id" ref="act_attachment_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_attachment_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
+3
-3
@@ -42,20 +42,20 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_cron_form">
|
||||
<record model="ir.action.act_window" id="act_cron_form">
|
||||
<field name="name">Scheduled Actions</field>
|
||||
<field name="res_model">ir.cron</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{'active_test': False}</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_cron_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="cron_view_tree"/>
|
||||
<field name="act_window_id" ref="act_cron_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_cron_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
@@ -26,20 +26,20 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_exports_form">
|
||||
<record model="ir.action.act_window" id="act_exports_form">
|
||||
<field name="name">Exports</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.exports</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_exports_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="exports_view_tree"/>
|
||||
<field name="act_window_id" ref="act_exports_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_exports_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
@@ -36,19 +36,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_model_form">
|
||||
<record model="ir.action.act_window" id="act_model_form">
|
||||
<field name="name">Models</field>
|
||||
<field name="res_model">ir.model</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_model_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="model_view_tree"/>
|
||||
<field name="act_window_id" ref="act_model_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_model_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -84,19 +84,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_model_fields_form">
|
||||
<record model="ir.action.act_window" id="act_model_fields_form">
|
||||
<field name="name">Fields</field>
|
||||
<field name="res_model">ir.model.fields</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_model_fields_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="model_fields_view_tree"/>
|
||||
<field name="act_window_id" ref="act_model_fields_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_model_fields_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -136,19 +136,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_model_access_form">
|
||||
<record model="ir.action.act_window" id="act_model_access_form">
|
||||
<field name="name">Models Access</field>
|
||||
<field name="res_model">ir.model.access</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_model_access_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="model_access_view_tree"/>
|
||||
<field name="act_window_id" ref="act_model_access_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_model_access_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
@@ -25,14 +25,14 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_category_tree">
|
||||
<record model="ir.action.act_window" id="act_category_tree">
|
||||
<field name="name">Categories</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.module.category</field>
|
||||
<field name="view_type">tree</field>
|
||||
<field name="domain">[('parent_id', '=', False)]</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_category_tree_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
|
||||
@@ -576,7 +576,7 @@ class ModuleUpdateList(Wizard):
|
||||
'view_mode': 'tree,form',
|
||||
'res_model': 'ir.module.module',
|
||||
'view_id': False,
|
||||
'type': 'ir.actions.act_window',
|
||||
'type': 'ir.action.act_window',
|
||||
}
|
||||
|
||||
def _get_repositories(self, cr, uid, data, context):
|
||||
|
||||
@@ -70,20 +70,20 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_module_form">
|
||||
<record model="ir.action.act_window" id="act_module_form">
|
||||
<field name="name">Modules</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.module.module</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_module_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="module_view_tree"/>
|
||||
<field name="act_window_id" ref="act_module_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_module_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -97,7 +97,7 @@
|
||||
</record>
|
||||
<menuitem parent_id="menu_modules"
|
||||
action="act_module_form" id="menu_module_form"/>
|
||||
<record model="ir.actions.wizard" id="act_module_update_list">
|
||||
<record model="ir.action.wizard" id="act_module_update_list">
|
||||
<field name="name">Update Module List</field>
|
||||
<field name="wiz_name">ir.module.module.update_list</field>
|
||||
</record>
|
||||
@@ -131,7 +131,7 @@
|
||||
action="act_module_update_list"
|
||||
type="wizard"
|
||||
id="menu_module_update_list"/>
|
||||
<record model="ir.actions.wizard" id="act_module_install_upgrade">
|
||||
<record model="ir.action.wizard" id="act_module_install_upgrade">
|
||||
<field name="name">Install / Upgrade Modules</field>
|
||||
<field name="wiz_name">ir.module.module.install_upgrade</field>
|
||||
</record>
|
||||
|
||||
@@ -30,20 +30,20 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_repository_form">
|
||||
<record model="ir.action.act_window" id="act_repository_form">
|
||||
<field name="name">Repositories</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.module.repository</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_repository_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="repository_view_tree"/>
|
||||
<field name="act_window_id" ref="act_repository_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_repository_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
@@ -30,21 +30,21 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_property_form_default">
|
||||
<record model="ir.action.act_window" id="act_property_form_default">
|
||||
<field name="name">Default properties</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.property</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="domain">[('res_id','=',False)]</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_property_form_view1_default">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="property_view_tree"/>
|
||||
<field name="act_window_id" ref="act_property_form_default"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_property_form_view2_default">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -53,20 +53,20 @@
|
||||
</record>
|
||||
<menuitem parent_id="ir.menu_ir"
|
||||
action="act_property_form_default" id="menu_property_form_default"/>
|
||||
<record model="ir.actions.act_window" id="act_property_form">
|
||||
<record model="ir.action.act_window" id="act_property_form">
|
||||
<field name="name">Properties</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.property</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_property_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="property_view_tree"/>
|
||||
<field name="act_window_id" ref="act_property_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_property_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
+3
-3
@@ -34,19 +34,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_rule_group_form">
|
||||
<record model="ir.action.act_window" id="act_rule_group_form">
|
||||
<field name="name">Record Rules</field>
|
||||
<field name="res_model">ir.rule.group</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_rule_group_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="rule_group_view_tree"/>
|
||||
<field name="act_window_id" ref="act_rule_group_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_rule_group_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
@@ -39,21 +39,21 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_sequence_form">
|
||||
<record model="ir.action.act_window" id="act_sequence_form">
|
||||
<field name="name">Sequences</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.sequence</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{'active_test': False}</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_sequence_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="sequence_view_tree"/>
|
||||
<field name="act_window_id" ref="act_sequence_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_sequence_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -86,21 +86,21 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window"
|
||||
<record model="ir.action.act_window"
|
||||
id="act_sequence_type_form">
|
||||
<field name="name">Sequence Types</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.sequence.type</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_sequence_type_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="sequence_type_view_tree"/>
|
||||
<field name="act_window_id" ref="act_sequence_type_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_sequence_type_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
@@ -32,19 +32,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_translation_form">
|
||||
<record model="ir.action.act_window" id="act_translation_form">
|
||||
<field name="name">Translations</field>
|
||||
<field name="res_model">ir.translation</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_translation_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="translation_view_tree"/>
|
||||
<field name="act_window_id" ref="act_translation_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_translation_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
@@ -220,11 +220,14 @@ class UIMenu(OSV):
|
||||
if action_keyword_ids:
|
||||
action_keyword_obj.unlink(cursor, user, action_keyword_ids,
|
||||
context=ctx)
|
||||
action_id = value.split(',')[1]
|
||||
action_type, action_id = value.split(',')
|
||||
action_obj = self.pool.get(action_type)
|
||||
action = action_obj.browse(cursor, user, int(action_id),
|
||||
context=context)
|
||||
action_keyword_obj.create(cursor, user, {
|
||||
'keyword': 'tree_open',
|
||||
'model': self._name + ',' + str(menu_id),
|
||||
'action': action_id,
|
||||
'action': action.action.id,
|
||||
}, context=ctx)
|
||||
|
||||
_columns = {
|
||||
@@ -240,10 +243,10 @@ class UIMenu(OSV):
|
||||
'action': fields.function(_action, fnct_inv=_action_inv,
|
||||
method=True, type='reference', string='Action',
|
||||
selection=[
|
||||
('ir.actions.report.custom', 'ir.actions.report.custom'),
|
||||
('ir.actions.report.xml', 'ir.actions.report.xml'),
|
||||
('ir.actions.act_window', 'ir.actions.act_window'),
|
||||
('ir.actions.wizard', 'ir.actions.wizard'),
|
||||
('ir.action.report', 'ir.action.report'),
|
||||
('ir.action.act_window', 'ir.action.act_window'),
|
||||
('ir.action.wizard', 'ir.action.wizard'),
|
||||
('ir.action.url', 'ir.action.url'),
|
||||
]),
|
||||
}
|
||||
_defaults = {
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
</field>
|
||||
<field name="field_parent">child_id</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_menu_tree">
|
||||
<record model="ir.action.act_window" id="act_menu_tree">
|
||||
<field name="name">Menu</field>
|
||||
<field name="res_model">ir.ui.menu</field>
|
||||
<field name="view_type">tree</field>
|
||||
<field name="usage">menu</field>
|
||||
<field name="domain" eval="'[(\'parent_id\',\'=\',False)]'"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_menu_tree_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
@@ -56,19 +56,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_menu_form">
|
||||
<record model="ir.action.act_window" id="act_menu_form">
|
||||
<field name="name">Menus</field>
|
||||
<field name="res_model">ir.ui.menu</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_menu_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="menu_view_tree"/>
|
||||
<field name="act_window_id" ref="act_menu_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_menu_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
@@ -30,19 +30,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_view_form">
|
||||
<record model="ir.action.act_window" id="act_view_form">
|
||||
<field name="name">Views</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.ui.view</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_view_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_view_tree"/>
|
||||
<field name="act_window_id" ref="act_view_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_view_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -77,19 +77,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_view_sc_form">
|
||||
<record model="ir.action.act_window" id="act_view_sc_form">
|
||||
<field name="name">View Shortcuts</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.ui.view_sc</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_view_sc_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="view_sc_view_tree"/>
|
||||
<field name="act_window_id" ref="act_view_sc_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_view_sc_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
@@ -35,20 +35,20 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_values_form">
|
||||
<record model="ir.action.act_window" id="act_values_form">
|
||||
<field name="name">Values</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.values</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_values_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="values_view_tree"/>
|
||||
<field name="act_window_id" ref="act_values_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_values_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
@@ -130,7 +130,7 @@ class Report(object):
|
||||
super(Report, self).__init__()
|
||||
|
||||
def execute(self, cursor, user, ids, datas, context=None):
|
||||
action_report_obj = self.pool.get('ir.actions.report')
|
||||
action_report_obj = self.pool.get('ir.action.report')
|
||||
action_report_ids = action_report_obj.search(cursor, user, [
|
||||
('report_name', '=', self._name)
|
||||
], context=context)
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_lang_form">
|
||||
<record model="ir.action.act_window" id="act_lang_form">
|
||||
<field name="name">Languages</field>
|
||||
<field name="res_model">res.lang</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{'active_test': False}</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_lang_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
|
||||
@@ -61,20 +61,20 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_request_form">
|
||||
<record model="ir.action.act_window" id="act_request_form">
|
||||
<field name="name">Requests</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">res.request</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_request_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="request_view_tree"/>
|
||||
<field name="act_window_id" ref="act_request_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_request_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
+24
-10
@@ -22,10 +22,6 @@ class Group(OSV):
|
||||
]
|
||||
|
||||
def write(self, cursor, user, ids, vals, context=None):
|
||||
if 'name' in vals:
|
||||
if vals['name'].startswith('-'):
|
||||
raise ExceptOSV('Error',
|
||||
'The name of the group can not start with "-"')
|
||||
res = super(Group, self).write(cursor, user, ids, vals,
|
||||
context=context)
|
||||
# Restart the cache on the company_get method
|
||||
@@ -70,8 +66,8 @@ class User(OSV):
|
||||
'signature': fields.Text('Signature', size=64),
|
||||
#'address_id': fields.Many2One('res.partner.address', 'Address'),
|
||||
'active': fields.Boolean('Active'),
|
||||
'action_id': fields.Many2One('ir.actions.actions', 'Home Action'),
|
||||
'menu_id': fields.Many2One('ir.actions.actions', 'Menu Action'),
|
||||
'action_id': fields.Many2One('ir.action', 'Home Action'),
|
||||
'menu_id': fields.Many2One('ir.action', 'Menu Action'),
|
||||
'groups_id': fields.Many2Many('res.group', 'res_group_user_rel',
|
||||
'uid', 'gid', 'Groups'),
|
||||
'roles_id': fields.Many2Many('res.role', 'res_role_user_rel',
|
||||
@@ -95,7 +91,23 @@ class User(OSV):
|
||||
# return company_id
|
||||
# company_get = Cache()(company_get)
|
||||
|
||||
def _convert_vals(self, cursor, user, vals, context=None):
|
||||
vals = vals.copy()
|
||||
action_obj = self.pool.get('ir.action')
|
||||
if 'action_id' in vals:
|
||||
vals['action_id'] = action_obj.get_action_id(cursor, user,
|
||||
vals['action_id'], context=context)
|
||||
if 'menu_id' in vals:
|
||||
vals['menu_id'] = action_obj.get_action_id(cursor, user,
|
||||
vals['menu_id'], context=context)
|
||||
return vals
|
||||
|
||||
def create(self, cursor, user, vals, context=None):
|
||||
vals = self._convert_vals(cursor, user, vals, context=context)
|
||||
return super(User, self).create(cursor, user, vals, context=context)
|
||||
|
||||
def write(self, cursor, user, ids, vals, context=None):
|
||||
vals = self._convert_vals(cursor, user, vals, context=context)
|
||||
res = super(User, self).write(cursor, user, ids, vals, context=context)
|
||||
# Restart the cache for company_get and domain_get method
|
||||
# self.company_get()
|
||||
@@ -135,9 +147,11 @@ User()
|
||||
|
||||
|
||||
class Group2(Group):
|
||||
_columns = {
|
||||
'users': fields.many2many('res.user', 'res_group_user_rel', 'gid',
|
||||
'uid', 'Users'),
|
||||
}
|
||||
|
||||
def __init__(self, pool):
|
||||
Group.__init__(self, pool)
|
||||
|
||||
self._columns['users'] = fields.many2many('res.user',
|
||||
'res_group_user_rel', 'gid', 'uid', 'Users')
|
||||
|
||||
Group2()
|
||||
|
||||
+15
-15
@@ -55,20 +55,20 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_user_form">
|
||||
<record model="ir.action.act_window" id="act_user_form">
|
||||
<field name="name">Users</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">res.user</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_user_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="user_view_tree"/>
|
||||
<field name="act_window_id" ref="act_user_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_user_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -109,20 +109,20 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_group_form">
|
||||
<record model="ir.action.act_window" id="act_group_form">
|
||||
<field name="name">Groups</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">res.group</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_group_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="group_view_tree"/>
|
||||
<field name="act_window_id" ref="act_group_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_group_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -155,33 +155,33 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_role_form">
|
||||
<record model="ir.action.act_window" id="act_role_form">
|
||||
<field name="name">Roles</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">res.role</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_role_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="role_view_tree"/>
|
||||
<field name="act_window_id" ref="act_role_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_role_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="role_view_form"/>
|
||||
<field name="act_window_id" ref="act_role_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_role_tree">
|
||||
<record model="ir.action.act_window" id="act_role_tree">
|
||||
<field name="name">Roles</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">res.role</field>
|
||||
<field name="view_type">tree</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_role_form_view3">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
|
||||
@@ -63,13 +63,19 @@ class MenuitemTagHandler:
|
||||
# TODO maybe use a prefetch for this:
|
||||
self.mh.cursor.execute(
|
||||
"SELECT a.name, a.type, v.type, wv.view_mode " \
|
||||
"FROM ir_actions a " \
|
||||
"LEFT JOIN ir_act_window act on (a.id = act.id) " \
|
||||
"LEFT JOIN ir_ui_view v on (v.id = act.view_id) " \
|
||||
"LEFT JOIN ir_act_window_view wv on (a.id = wv.act_window_id) " \
|
||||
"WHERE a.id = %d " \
|
||||
"FROM ir_action a " \
|
||||
"LEFT JOIN ir_action_report report ON (a.id = report.action) " \
|
||||
"LEFT JOIN ir_action_act_window act ON (a.id = act.action) " \
|
||||
"LEFT JOIN ir_action_wizard wizard ON (a.id = wizard.action) " \
|
||||
"LEFT JOIN ir_action_url url ON (a.id = url.action) " \
|
||||
"LEFT JOIN ir_action_act_window_view wv on (act.id = wv.act_window_id) " \
|
||||
"LEFT JOIN ir_ui_view v on (v.id = wv.view_id) " \
|
||||
"WHERE report.id = %d " \
|
||||
"OR act.id = %d " \
|
||||
"OR wizard.id = %d " \
|
||||
"OR url.id = %d " \
|
||||
"ORDER by wv.sequence " \
|
||||
"LIMIT 1", (action_id,))
|
||||
"LIMIT 1", (action_id, action_id, action_id, action_id))
|
||||
action_name, action_type, view_type, view_mode = \
|
||||
self.mh.cursor.fetchone()
|
||||
|
||||
@@ -78,11 +84,11 @@ class MenuitemTagHandler:
|
||||
icon = attributes.get('icon', '').encode('utf8')
|
||||
if icon:
|
||||
values['icon'] = icon
|
||||
elif action_type == 'ir.actions.wizard':
|
||||
elif action_type == 'ir.action.wizard':
|
||||
values['icon'] = 'STOCK_EXECUTE'
|
||||
elif action_type == 'ir.actions.report':
|
||||
elif action_type == 'ir.action.report':
|
||||
values['icon'] = 'STOCK_PRINT'
|
||||
elif action_type == 'ir.actions.act_window':
|
||||
elif action_type == 'ir.action.act_window':
|
||||
if view_type == 'tree':
|
||||
values['icon'] = 'STOCK_INDENT'
|
||||
elif view_mode and view_mode.startswith('tree'):
|
||||
|
||||
@@ -89,11 +89,6 @@ class TrytonServer(object):
|
||||
"'ir_values', "
|
||||
"'ir_model', "
|
||||
"'ir_model_fields', "
|
||||
"'ir_actions', "
|
||||
"'ir_act_window', "
|
||||
"'ir_act_report', "
|
||||
"'ir_act_wizard', "
|
||||
"'ir_act_url', "
|
||||
"'ir_ui_view', "
|
||||
"'ir_ui_menu', "
|
||||
"'res_user', "
|
||||
|
||||
@@ -52,7 +52,6 @@ class DB(Service):
|
||||
'WHERE login <> \'root\' ORDER BY login')
|
||||
res = cursor.dictfetchall()
|
||||
except Exception, e:
|
||||
print e
|
||||
logger.notify_channel("web-service", LOG_ERROR,
|
||||
'CREATE DB: %s failed' % (db_name,))
|
||||
raise
|
||||
|
||||
@@ -30,19 +30,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_workflow_form">
|
||||
<record model="ir.action.act_window" id="act_workflow_form">
|
||||
<field name="name">Workflows</field>
|
||||
<field name="res_model">workflow</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_workflow_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="workflow_view_tree"/>
|
||||
<field name="act_window_id" ref="act_workflow_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_workflow_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -110,19 +110,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_activity_form">
|
||||
<record model="ir.action.act_window" id="act_activity_form">
|
||||
<field name="name">Activities</field>
|
||||
<field name="res_model">workflow.activity</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_activity_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="activity_view_tree"/>
|
||||
<field name="act_window_id" ref="act_activity_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_activity_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -165,19 +165,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_transition_form">
|
||||
<record model="ir.action.act_window" id="act_transition_form">
|
||||
<field name="name">Transitions</field>
|
||||
<field name="res_model">workflow.transition</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_transition_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="transition_view_tree"/>
|
||||
<field name="act_window_id" ref="act_transition_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_transition_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
@@ -216,12 +216,12 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_instance_form">
|
||||
<record model="ir.action.act_window" id="act_instance_form">
|
||||
<field name="name">Instances</field>
|
||||
<field name="res_model">workflow.instance</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_instance_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
@@ -258,19 +258,19 @@
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="act_workitem_form">
|
||||
<record model="ir.action.act_window" id="act_workitem_form">
|
||||
<field name="name">Workitems</field>
|
||||
<field name="res_model">workflow.workitem</field>
|
||||
<field name="view_type">form</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_workitem_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="workitem_view_tree"/>
|
||||
<field name="act_window_id" ref="act_workitem_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view"
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_workitem_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">form</field>
|
||||
|
||||
Reference in New Issue
Block a user