[IMP] ir_actions cleanups.

Remove deprecated old style wizards.
Remove unsed get_model() function.
Move crons into Actions menuitem.
Move todos into Actions menuitem.

bzr revid: al@openerp.com-20131006102404-s46md70ahydihiih
This commit is contained in:
Antony Lesuisse 2013-10-06 12:24:04 +02:00
parent 780ae08294
commit a32bf724f2
6 changed files with 56 additions and 165 deletions

View File

@ -54,10 +54,9 @@ class actions(osv.osv):
_defaults = {
'usage': lambda *a: False,
}
actions()
class report_xml(osv.osv):
class ir_actions_report_xml(osv.osv):
def _report_content(self, cursor, user, ids, name, arg, context=None):
res = {}
@ -174,9 +173,8 @@ class report_xml(osv.osv):
'attachment': False,
}
report_xml()
class act_window(osv.osv):
class ir_actions_act_window(osv.osv):
_name = 'ir.actions.act_window'
_table = 'ir_act_window'
_inherit = 'ir.actions.actions'
@ -291,7 +289,7 @@ class act_window(osv.osv):
ids_int = isinstance(ids, (int, long))
if ids_int:
ids = [ids]
results = super(act_window, self).read(cr, uid, ids, fields=fields, context=context, load=load)
results = super(ir_actions_act_window, self).read(cr, uid, ids, fields=fields, context=context, load=load)
if not fields or 'help' in fields:
context = dict(context or {})
@ -328,8 +326,6 @@ class act_window(osv.osv):
res_id = dataobj.browse(cr, uid, data_id, context).res_id
return self.read(cr, uid, res_id, [], context)
act_window()
VIEW_TYPES = [
('tree', 'Tree'),
('form', 'Form'),
@ -337,7 +333,7 @@ VIEW_TYPES = [
('calendar', 'Calendar'),
('gantt', 'Gantt'),
('kanban', 'Kanban')]
class act_window_view(osv.osv):
class ir_actions_act_window_view(osv.osv):
_name = 'ir.actions.act_window.view'
_table = 'ir_act_window_view'
_rec_name = 'view_id'
@ -354,33 +350,22 @@ class act_window_view(osv.osv):
'multi': False,
}
def _auto_init(self, cr, context=None):
super(act_window_view, self)._auto_init(cr, context)
super(ir_actions_act_window_view, self)._auto_init(cr, context)
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'act_window_view_unique_mode_per_action\'')
if not cr.fetchone():
cr.execute('CREATE UNIQUE INDEX act_window_view_unique_mode_per_action ON ir_act_window_view (act_window_id, view_mode)')
act_window_view()
class act_wizard(osv.osv):
_name = 'ir.actions.wizard'
class ir_actions_act_window_close(osv.osv):
_name = 'ir.actions.act_window_close'
_inherit = 'ir.actions.actions'
_table = 'ir_act_wizard'
_sequence = 'ir_actions_id_seq'
_order = 'name'
_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),
'multi': fields.boolean('Action on Multiple Doc.', help="If set to true, the wizard will not be displayed on the right toolbar of a form view."),
'groups_id': fields.many2many('res.groups', 'res_groups_wizard_rel', 'uid', 'gid', 'Groups'),
'model': fields.char('Object', size=64),
}
_table = 'ir_actions'
_defaults = {
'type': 'ir.actions.wizard',
'multi': False,
'type': 'ir.actions.act_window_close',
}
act_wizard()
class act_url(osv.osv):
class ir_actions_act_url(osv.osv):
_name = 'ir.actions.act_url'
_table = 'ir_act_url'
_inherit = 'ir.actions.actions'
@ -400,55 +385,9 @@ class act_url(osv.osv):
'type': 'ir.actions.act_url',
'target': 'new'
}
act_url()
def model_get(self, cr, uid, context=None):
wkf_pool = self.pool.get('workflow')
ids = wkf_pool.search(cr, uid, [])
osvs = wkf_pool.read(cr, uid, ids, ['osv'])
res = []
mpool = self.pool.get('ir.model')
for osv in osvs:
model = osv.get('osv')
id = mpool.search(cr, uid, [('model','=',model)])
name = mpool.read(cr, uid, id)[0]['name']
res.append((model, name))
return res
class ir_model_fields(osv.osv):
_inherit = 'ir.model.fields'
_rec_name = 'field_description'
_columns = {
'complete_name': fields.char('Complete Name', size=64, select=1),
}
ir_model_fields()
class server_object_lines(osv.osv):
_name = 'ir.server.object.lines'
_sequence = 'ir_actions_id_seq'
_columns = {
'server_id': fields.many2one('ir.actions.server', 'Related Server Action'),
'col1': fields.many2one('ir.model.fields', 'Field', required=True),
'value': fields.text('Value', required=True, help="Expression containing a value specification. \n"
"When Formula type is selected, this field may be a Python expression "
" that can use the same values as for the condition field on the server action.\n"
"If Value type is selected, the value will be used directly without evaluation."),
'type': fields.selection([
('value', 'Value'),
('equation', 'Python expression')
], 'Evaluation Type', required=True, change_default=True),
}
_defaults = {
'type': 'value',
}
##
# Actions that are run on the server side
#
class actions_server(osv.osv):
class ir_actions_server(osv.osv):
""" Server actions model. Server action work on a base model and offer various
type of actions that can be executed automatically, for example using base
action rules, of manually, by adding the action in the 'More' contextual
@ -1029,16 +968,26 @@ class actions_server(osv.osv):
return res
class act_window_close(osv.osv):
_name = 'ir.actions.act_window_close'
_inherit = 'ir.actions.actions'
_table = 'ir_actions'
_defaults = {
'type': 'ir.actions.act_window_close',
class ir_server_object_lines(osv.osv):
_name = 'ir.server.object.lines'
_sequence = 'ir_actions_id_seq'
_columns = {
'server_id': fields.many2one('ir.actions.server', 'Related Server Action'),
'col1': fields.many2one('ir.model.fields', 'Field', required=True),
'value': fields.text('Value', required=True, help="Expression containing a value specification. \n"
"When Formula type is selected, this field may be a Python expression "
" that can use the same values as for the condition field on the server action.\n"
"If Value type is selected, the value will be used directly without evaluation."),
'type': fields.selection([
('value', 'Value'),
('equation', 'Python expression')
], 'Evaluation Type', required=True, change_default=True),
}
_defaults = {
'type': 'value',
}
act_window_close()
# This model use to register action services.
TODO_STATES = [('open', 'To Do'),
('done', 'Done')]
TODO_TYPES = [('manual', 'Launch Manually'),('once', 'Launch Manually Once'),
@ -1139,9 +1088,8 @@ Launch Manually Once: after having been launched manually, it sets automatically
'todo': len(total) - len(done)
}
ir_actions_todo()
class act_client(osv.osv):
class ir_actions_act_client(osv.osv):
_name = 'ir.actions.client'
_inherit = 'ir.actions.actions'
_table = 'ir_act_client'
@ -1182,6 +1130,8 @@ class act_client(osv.osv):
'context': '{}',
}
act_client()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Actions -->
<!-- ir.actions -->
<record id="action_view" model="ir.ui.view">
<field name="name">ir.actions.actions</field>
<field name="model">ir.actions.actions</field>
@ -34,7 +36,6 @@
</search>
</field>
</record>
<record id="ir_sequence_actions" model="ir.actions.act_window">
<field name="name">Actions</field>
<field name="type">ir.actions.act_window</field>
@ -46,7 +47,7 @@
<menuitem id="next_id_6" name="Actions" parent="base.menu_custom" sequence="2"/>
<menuitem action="ir_sequence_actions" id="menu_ir_sequence_actions" parent="next_id_6"/>
<!-- ir.actions.report.xml -->
<record id="act_report_xml_view" model="ir.ui.view">
<field name="name">ir.actions.report.xml</field>
@ -121,7 +122,6 @@
</search>
</field>
</record>
<record id="ir_action_report_xml" model="ir.actions.act_window">
<field name="name">Reports</field>
<field name="type">ir.actions.act_window</field>
@ -132,6 +132,8 @@
</record>
<menuitem action="ir_action_report_xml" id="menu_ir_action_report_xml" parent="base.next_id_6"/>
<!-- ir.actions.act_window -->
<record id="view_window_action_tree" model="ir.ui.view">
<field name="name">ir.actions.windows.tree</field>
<field name="model">ir.actions.act_window</field>
@ -145,7 +147,6 @@
</tree>
</field>
</record>
<record id="view_window_action_form" model="ir.ui.view">
<field name="name">ir.actions.windows.form</field>
<field name="model">ir.actions.act_window</field>
@ -221,7 +222,6 @@
</search>
</field>
</record>
<record id="ir_action_window" model="ir.actions.act_window">
<field name="name">Window Actions</field>
<field name="type">ir.actions.act_window</field>
@ -243,66 +243,7 @@
</record>
<menuitem action="ir_action_window" id="menu_ir_action_window" parent="base.next_id_6"/>
<record id="act_wizard_view_tree" model="ir.ui.view">
<field name="name">ir.actions.wizard.tree</field>
<field name="model">ir.actions.wizard</field>
<field name="arch" type="xml">
<tree string="Wizard">
<field name="name"/>
<field name="wiz_name"/>
<field name="multi"/>
</tree>
</field>
</record>
<record id="act_wizard_view" model="ir.ui.view">
<field name="name">ir.actions.wizard</field>
<field name="model">ir.actions.wizard</field>
<field name="arch" type="xml">
<form string="Wizards" version="7.0">
<group col="4">
<field name="name"/>
<field name="type"/>
<field name="wiz_name"/>
<field name="multi"/>
</group>
<label for="groups_id"/>
<field name="groups_id"/>
</form>
</field>
</record>
<record id="act_wizard_search_view" model="ir.ui.view">
<field name="name">ir.actions.wizard.search</field>
<field name="model">ir.actions.wizard</field>
<field name="arch" type="xml">
<search string="Wizards">
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('type','ilike',self), ('wiz_name','ilike',self)]"
string="Wizard"/>
</search>
</field>
</record>
<record id="ir_action_wizard" model="ir.actions.act_window">
<field name="name">Wizards</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.actions.wizard</field>
<field name="view_type">form</field>
<field name="search_view_id" ref="act_wizard_search_view"/>
</record>
<menuitem action="ir_action_wizard" id="menu_ir_action_wizard" parent="base.next_id_6"/>
<record id="property_rule" model="ir.rule">
<field name="name">Property multi-company</field>
<field name="model_id" ref="model_ir_property"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','child_of',[user.company_id.id]),('company_id','=',False)]</field>
</record>
<!--server action view-->
<!-- ir.actions.server -->
<record id="view_server_action_form" model="ir.ui.view">
<field name="name">Server Action</field>
@ -514,7 +455,6 @@
</form>
</field>
</record>
<record id="view_server_action_tree" model="ir.ui.view">
<field name="name">Server Actions</field>
<field name="model">ir.actions.server</field>
@ -527,7 +467,6 @@
</tree>
</field>
</record>
<record id="view_server_action_search" model="ir.ui.view">
<field name="name">ir.actions.server.search</field>
<field name="model">ir.actions.server</field>
@ -542,7 +481,6 @@
</search>
</field>
</record>
<record id="action_server_action" model="ir.actions.act_window">
<field name="name">Server Actions</field>
<field name="type">ir.actions.act_window</field>
@ -573,7 +511,6 @@
</tree>
</field>
</record>
<record id="config_wizard_step_view_form" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">Config Wizard Steps</field>
@ -602,7 +539,6 @@
</form>
</field>
</record>
<record id="config_wizard_step_view_search" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">ir.actions.todo.select</field>
@ -614,7 +550,6 @@
</search>
</field>
</record>
<record id="act_ir_actions_todo_form" model="ir.actions.act_window">
<field name="name">Configuration Wizards</field>
<field name="res_model">ir.actions.todo</field>
@ -622,9 +557,7 @@
<field name="view_type">form</field>
<field name="help">The configuration wizards are used to help you configure a new instance of OpenERP. They are launched during the installation of new modules, but you can choose to restart some wizards manually from this menu.</field>
</record>
<menuitem id="menu_ir_actions_todo" name="Configuration Wizards" parent="menu_custom" sequence="20" groups="base.group_no_one"/>
<menuitem id="menu_ir_actions_todo_form" action="act_ir_actions_todo_form" parent="menu_ir_actions_todo"/>
<menuitem id="menu_ir_actions_todo_form" action="act_ir_actions_todo_form" parent="base.next_id_6"/>
<record id="action_run_ir_action_todo" model="ir.actions.server">
<field name="name">Run Remaining Action Todo</field>
<field name="condition">True</field>
@ -638,6 +571,5 @@ if config.get('type') not in ('ir.actions.act_window_close',):
</field>
</record>
</data>
</openerp>

View File

@ -86,8 +86,7 @@
<field name="context">{'active_test': False}</field>
<field name="view_id" ref="ir_cron_view_tree"/>
</record>
<menuitem id="menu_ir_cron" name="Scheduler" parent="menu_custom" groups="base.group_no_one" sequence="23"/>
<menuitem id="menu_ir_cron_act" action="ir_cron_act" parent="menu_ir_cron"/>
<menuitem id="menu_ir_cron_act" action="ir_cron_act" parent="base.next_id_6"/>
</data>
</openerp>

View File

@ -219,9 +219,11 @@ class ir_model(osv.osv):
class ir_model_fields(osv.osv):
_name = 'ir.model.fields'
_description = "Fields"
_rec_name = 'field_description'
_columns = {
'name': fields.char('Name', required=True, size=64, select=1),
'complete_name': fields.char('Complete Name', size=64, select=1),
'model': fields.char('Object Name', size=64, required=True, select=1,
help="The technical name of the model this field belongs to"),
'relation': fields.char('Object Relation', size=64,

View File

@ -85,5 +85,15 @@
<field name="search_view_id" ref="view_rule_search"/>
</record>
<menuitem action="action_rule" id="menu_action_rule" parent="base.menu_security" sequence="3"/>
<record id="property_rule" model="ir.rule">
<field name="name">Property multi-company</field>
<field name="model_id" ref="model_ir_property"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','child_of',[user.company_id.id]),('company_id','=',False)]</field>
</record>
</data>
</openerp>

View File

@ -85,8 +85,6 @@
"access_ir_actions_act_window_close_group_system","ir_actions_act_window_close_group_system","model_ir_actions_act_window_close","group_system",1,1,1,1
"access_ir_actions_report_xml_all","ir_actions_report_xml","model_ir_actions_report_xml",,1,0,0,0
"access_ir_actions_report_xml_group_system","ir_actions_report_xml_group_system","model_ir_actions_report_xml","group_system",1,1,1,1
"access_ir_actions_wizard_all","ir_actions_wizard","model_ir_actions_wizard",,1,0,0,0
"access_ir_actions_wizard_group_system","ir_actions_wizard_group_system","model_ir_actions_wizard","group_system",1,1,1,1
"access_ir_actions_todo_group_system","ir_actions_todo group system","model_ir_actions_todo","group_system",1,1,1,1
"access_workflow_all","workflow_all","model_workflow",,1,0,0,0
"access_workflow_group_system","workflow_group_system","model_workflow","group_system",1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
85 access_ir_actions_act_window_close_group_system ir_actions_act_window_close_group_system model_ir_actions_act_window_close group_system 1 1 1 1
86 access_ir_actions_report_xml_all ir_actions_report_xml model_ir_actions_report_xml 1 0 0 0
87 access_ir_actions_report_xml_group_system ir_actions_report_xml_group_system model_ir_actions_report_xml group_system 1 1 1 1
access_ir_actions_wizard_all ir_actions_wizard model_ir_actions_wizard 1 0 0 0
access_ir_actions_wizard_group_system ir_actions_wizard_group_system model_ir_actions_wizard group_system 1 1 1 1
88 access_ir_actions_todo_group_system ir_actions_todo group system model_ir_actions_todo group_system 1 1 1 1
89 access_workflow_all workflow_all model_workflow 1 0 0 0
90 access_workflow_group_system workflow_group_system model_workflow group_system 1 1 1 1