[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
+35 -85
View File
@@ -54,10 +54,9 @@ class actions(osv.osv):
_defaults = { _defaults = {
'usage': lambda *a: False, '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): def _report_content(self, cursor, user, ids, name, arg, context=None):
res = {} res = {}
@@ -174,9 +173,8 @@ class report_xml(osv.osv):
'attachment': False, 'attachment': False,
} }
report_xml()
class act_window(osv.osv): class ir_actions_act_window(osv.osv):
_name = 'ir.actions.act_window' _name = 'ir.actions.act_window'
_table = 'ir_act_window' _table = 'ir_act_window'
_inherit = 'ir.actions.actions' _inherit = 'ir.actions.actions'
@@ -291,7 +289,7 @@ class act_window(osv.osv):
ids_int = isinstance(ids, (int, long)) ids_int = isinstance(ids, (int, long))
if ids_int: if ids_int:
ids = [ids] 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: if not fields or 'help' in fields:
context = dict(context or {}) context = dict(context or {})
@@ -328,8 +326,6 @@ class act_window(osv.osv):
res_id = dataobj.browse(cr, uid, data_id, context).res_id res_id = dataobj.browse(cr, uid, data_id, context).res_id
return self.read(cr, uid, res_id, [], context) return self.read(cr, uid, res_id, [], context)
act_window()
VIEW_TYPES = [ VIEW_TYPES = [
('tree', 'Tree'), ('tree', 'Tree'),
('form', 'Form'), ('form', 'Form'),
@@ -337,7 +333,7 @@ VIEW_TYPES = [
('calendar', 'Calendar'), ('calendar', 'Calendar'),
('gantt', 'Gantt'), ('gantt', 'Gantt'),
('kanban', 'Kanban')] ('kanban', 'Kanban')]
class act_window_view(osv.osv): class ir_actions_act_window_view(osv.osv):
_name = 'ir.actions.act_window.view' _name = 'ir.actions.act_window.view'
_table = 'ir_act_window_view' _table = 'ir_act_window_view'
_rec_name = 'view_id' _rec_name = 'view_id'
@@ -354,33 +350,22 @@ class act_window_view(osv.osv):
'multi': False, 'multi': False,
} }
def _auto_init(self, cr, context=None): 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\'') cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'act_window_view_unique_mode_per_action\'')
if not cr.fetchone(): 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)') 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' _inherit = 'ir.actions.actions'
_table = 'ir_act_wizard' _table = 'ir_actions'
_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),
}
_defaults = { _defaults = {
'type': 'ir.actions.wizard', 'type': 'ir.actions.act_window_close',
'multi': False,
} }
act_wizard()
class act_url(osv.osv):
class ir_actions_act_url(osv.osv):
_name = 'ir.actions.act_url' _name = 'ir.actions.act_url'
_table = 'ir_act_url' _table = 'ir_act_url'
_inherit = 'ir.actions.actions' _inherit = 'ir.actions.actions'
@@ -400,55 +385,9 @@ class act_url(osv.osv):
'type': 'ir.actions.act_url', 'type': 'ir.actions.act_url',
'target': 'new' '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',
}
## class ir_actions_server(osv.osv):
# Actions that are run on the server side
#
class actions_server(osv.osv):
""" Server actions model. Server action work on a base model and offer various """ 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 type of actions that can be executed automatically, for example using base
action rules, of manually, by adding the action in the 'More' contextual action rules, of manually, by adding the action in the 'More' contextual
@@ -1029,16 +968,26 @@ class actions_server(osv.osv):
return res return res
class act_window_close(osv.osv): class ir_server_object_lines(osv.osv):
_name = 'ir.actions.act_window_close' _name = 'ir.server.object.lines'
_inherit = 'ir.actions.actions' _sequence = 'ir_actions_id_seq'
_table = 'ir_actions' _columns = {
_defaults = { 'server_id': fields.many2one('ir.actions.server', 'Related Server Action'),
'type': 'ir.actions.act_window_close', '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'), TODO_STATES = [('open', 'To Do'),
('done', 'Done')] ('done', 'Done')]
TODO_TYPES = [('manual', 'Launch Manually'),('once', 'Launch Manually Once'), 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) 'todo': len(total) - len(done)
} }
ir_actions_todo()
class act_client(osv.osv): class ir_actions_act_client(osv.osv):
_name = 'ir.actions.client' _name = 'ir.actions.client'
_inherit = 'ir.actions.actions' _inherit = 'ir.actions.actions'
_table = 'ir_act_client' _table = 'ir_act_client'
@@ -1182,6 +1130,8 @@ class act_client(osv.osv):
'context': '{}', 'context': '{}',
} }
act_client()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+8 -76
View File
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<openerp> <openerp>
<data> <data>
<!-- Actions -->
<!-- ir.actions -->
<record id="action_view" model="ir.ui.view"> <record id="action_view" model="ir.ui.view">
<field name="name">ir.actions.actions</field> <field name="name">ir.actions.actions</field>
<field name="model">ir.actions.actions</field> <field name="model">ir.actions.actions</field>
@@ -34,7 +36,6 @@
</search> </search>
</field> </field>
</record> </record>
<record id="ir_sequence_actions" model="ir.actions.act_window"> <record id="ir_sequence_actions" model="ir.actions.act_window">
<field name="name">Actions</field> <field name="name">Actions</field>
<field name="type">ir.actions.act_window</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 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"/> <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"> <record id="act_report_xml_view" model="ir.ui.view">
<field name="name">ir.actions.report.xml</field> <field name="name">ir.actions.report.xml</field>
@@ -121,7 +122,6 @@
</search> </search>
</field> </field>
</record> </record>
<record id="ir_action_report_xml" model="ir.actions.act_window"> <record id="ir_action_report_xml" model="ir.actions.act_window">
<field name="name">Reports</field> <field name="name">Reports</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
@@ -132,6 +132,8 @@
</record> </record>
<menuitem action="ir_action_report_xml" id="menu_ir_action_report_xml" parent="base.next_id_6"/> <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"> <record id="view_window_action_tree" model="ir.ui.view">
<field name="name">ir.actions.windows.tree</field> <field name="name">ir.actions.windows.tree</field>
<field name="model">ir.actions.act_window</field> <field name="model">ir.actions.act_window</field>
@@ -145,7 +147,6 @@
</tree> </tree>
</field> </field>
</record> </record>
<record id="view_window_action_form" model="ir.ui.view"> <record id="view_window_action_form" model="ir.ui.view">
<field name="name">ir.actions.windows.form</field> <field name="name">ir.actions.windows.form</field>
<field name="model">ir.actions.act_window</field> <field name="model">ir.actions.act_window</field>
@@ -221,7 +222,6 @@
</search> </search>
</field> </field>
</record> </record>
<record id="ir_action_window" model="ir.actions.act_window"> <record id="ir_action_window" model="ir.actions.act_window">
<field name="name">Window Actions</field> <field name="name">Window Actions</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
@@ -243,66 +243,7 @@
</record> </record>
<menuitem action="ir_action_window" id="menu_ir_action_window" parent="base.next_id_6"/> <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"> <!-- ir.actions.server -->
<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-->
<record id="view_server_action_form" model="ir.ui.view"> <record id="view_server_action_form" model="ir.ui.view">
<field name="name">Server Action</field> <field name="name">Server Action</field>
@@ -514,7 +455,6 @@
</form> </form>
</field> </field>
</record> </record>
<record id="view_server_action_tree" model="ir.ui.view"> <record id="view_server_action_tree" model="ir.ui.view">
<field name="name">Server Actions</field> <field name="name">Server Actions</field>
<field name="model">ir.actions.server</field> <field name="model">ir.actions.server</field>
@@ -527,7 +467,6 @@
</tree> </tree>
</field> </field>
</record> </record>
<record id="view_server_action_search" model="ir.ui.view"> <record id="view_server_action_search" model="ir.ui.view">
<field name="name">ir.actions.server.search</field> <field name="name">ir.actions.server.search</field>
<field name="model">ir.actions.server</field> <field name="model">ir.actions.server</field>
@@ -542,7 +481,6 @@
</search> </search>
</field> </field>
</record> </record>
<record id="action_server_action" model="ir.actions.act_window"> <record id="action_server_action" model="ir.actions.act_window">
<field name="name">Server Actions</field> <field name="name">Server Actions</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
@@ -573,7 +511,6 @@
</tree> </tree>
</field> </field>
</record> </record>
<record id="config_wizard_step_view_form" model="ir.ui.view"> <record id="config_wizard_step_view_form" model="ir.ui.view">
<field name="model">ir.actions.todo</field> <field name="model">ir.actions.todo</field>
<field name="name">Config Wizard Steps</field> <field name="name">Config Wizard Steps</field>
@@ -602,7 +539,6 @@
</form> </form>
</field> </field>
</record> </record>
<record id="config_wizard_step_view_search" model="ir.ui.view"> <record id="config_wizard_step_view_search" model="ir.ui.view">
<field name="model">ir.actions.todo</field> <field name="model">ir.actions.todo</field>
<field name="name">ir.actions.todo.select</field> <field name="name">ir.actions.todo.select</field>
@@ -614,7 +550,6 @@
</search> </search>
</field> </field>
</record> </record>
<record id="act_ir_actions_todo_form" model="ir.actions.act_window"> <record id="act_ir_actions_todo_form" model="ir.actions.act_window">
<field name="name">Configuration Wizards</field> <field name="name">Configuration Wizards</field>
<field name="res_model">ir.actions.todo</field> <field name="res_model">ir.actions.todo</field>
@@ -622,9 +557,7 @@
<field name="view_type">form</field> <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> <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> </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="base.next_id_6"/>
<menuitem id="menu_ir_actions_todo_form" action="act_ir_actions_todo_form" parent="menu_ir_actions_todo"/>
<record id="action_run_ir_action_todo" model="ir.actions.server"> <record id="action_run_ir_action_todo" model="ir.actions.server">
<field name="name">Run Remaining Action Todo</field> <field name="name">Run Remaining Action Todo</field>
<field name="condition">True</field> <field name="condition">True</field>
@@ -638,6 +571,5 @@ if config.get('type') not in ('ir.actions.act_window_close',):
</field> </field>
</record> </record>
</data> </data>
</openerp> </openerp>
+1 -2
View File
@@ -86,8 +86,7 @@
<field name="context">{'active_test': False}</field> <field name="context">{'active_test': False}</field>
<field name="view_id" ref="ir_cron_view_tree"/> <field name="view_id" ref="ir_cron_view_tree"/>
</record> </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="base.next_id_6"/>
<menuitem id="menu_ir_cron_act" action="ir_cron_act" parent="menu_ir_cron"/>
</data> </data>
</openerp> </openerp>
+2
View File
@@ -219,9 +219,11 @@ class ir_model(osv.osv):
class ir_model_fields(osv.osv): class ir_model_fields(osv.osv):
_name = 'ir.model.fields' _name = 'ir.model.fields'
_description = "Fields" _description = "Fields"
_rec_name = 'field_description'
_columns = { _columns = {
'name': fields.char('Name', required=True, size=64, select=1), '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, 'model': fields.char('Object Name', size=64, required=True, select=1,
help="The technical name of the model this field belongs to"), help="The technical name of the model this field belongs to"),
'relation': fields.char('Object Relation', size=64, 'relation': fields.char('Object Relation', size=64,
+10
View File
@@ -85,5 +85,15 @@
<field name="search_view_id" ref="view_rule_search"/> <field name="search_view_id" ref="view_rule_search"/>
</record> </record>
<menuitem action="action_rule" id="menu_action_rule" parent="base.menu_security" sequence="3"/> <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> </data>
</openerp> </openerp>
@@ -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_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_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_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_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_all","workflow_all","model_workflow",,1,0,0,0
"access_workflow_group_system","workflow_group_system","model_workflow","group_system",1,1,1,1 "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