summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarry (OpenERP) <hmo@tinyerp.com>2012-10-05 13:33:25 +0530
committerHarry (OpenERP) <hmo@tinyerp.com>2012-10-05 13:33:25 +0530
commit82ab8bf9a3294a95debfc8f6f2fca2d4ded6decb (patch)
treebea9ef83de8041fb1753a2f0d17c291f6079548b
parentac4a1375765760d800b32ace2e0d51eee87c67b8 (diff)
[IMP] base_action_rule: improve view and server action should be one2many instead of many2many
bzr revid: hmo@tinyerp.com-20121005080325-3vcja1mog3yfthtr
-rw-r--r--addons/base_action_rule/base_action_rule.py8
-rw-r--r--addons/base_action_rule/base_action_rule_view.xml21
2 files changed, 21 insertions, 8 deletions
diff --git a/addons/base_action_rule/base_action_rule.py b/addons/base_action_rule/base_action_rule.py
index 13617cd42d9..ebc4c02a938 100644
--- a/addons/base_action_rule/base_action_rule.py
+++ b/addons/base_action_rule/base_action_rule.py
@@ -93,7 +93,7 @@ trigger date, like sending a reminder 15 minutes before a meeting."),
'regex_name': fields.char('Regex on Resource Name', size=128, help="Regular expression for matching name of the resource\
\ne.g.: 'urgent.*' will search for records having name starting with the string 'urgent'\
\nNote: This is case sensitive search."),
- 'server_action_ids': fields.many2many('ir.actions.server', 'Server Action', help="Define Server actions.\neg:Email Reminders, Call Object Service, etc.."),
+ 'server_action_ids': fields.one2many('ir.actions.server', 'action_rule_id', 'Server Action', help="Define Server actions.\neg:Email Reminders, Call Object Service, etc.."),
'filter_id':fields.many2one('ir.filters', 'Filter', required=False), #TODO: set domain [('model_id','=',model)]
'last_run': fields.datetime('Last Run', readonly=1),
}
@@ -321,6 +321,12 @@ trigger date, like sending a reminder 15 minutes before a meeting."),
base_action_rule()
+class actions_server(osv.osv):
+ _inherit = 'ir.actions.server'
+ _columns = {
+ 'action_rule_id': fields.many2one("base.action.rule", string="Action Rule")
+ }
+actions_server()
class ir_cron(osv.osv):
_inherit = 'ir.cron'
diff --git a/addons/base_action_rule/base_action_rule_view.xml b/addons/base_action_rule/base_action_rule_view.xml
index bd5b868e3f9..7c1b6c43b0e 100644
--- a/addons/base_action_rule/base_action_rule_view.xml
+++ b/addons/base_action_rule/base_action_rule_view.xml
@@ -15,7 +15,7 @@
<group col="4">
<field name="name"/>
<field name="model_id"/>
- <field name="filter_id" domain="[('model_id','=',model_id)]"/>
+ <field name="filter_id" domain="[('model_id','=',model_id)]" context="{'default_model_id': model_id}"/>
<field name="sequence"/>
<field name="active"/>
</group>
@@ -47,16 +47,23 @@
</group>
</page>
<page string="Actions">
- <group name="action_field" string="Fields to Change">
+ <group name="action_followers">
+ <field name="act_followers" widget="many2many_tags"/>
+ </group>
+ <group name="action_field" col="4" string="Fields to Change">
<field name="act_user_id"/>
<field name="act_state"/>
</group>
- <group name="action_server" string="Server Action to be Triggered (eg. Email Reminder, Call Object Method, etc...)">
- <field name="server_action_ids" domain="[('model_id','=', model_id)]" nolabel="1"/>
- </group>
- <group name="action_followers" string="Add Followers">
- <field name="act_followers" widget="many2many_tags" nolabel="1"/>
+ <group name="action_server" string="Server Actions to be Triggered (eg. Email Reminder, Call Object Method, etc...)" >
+ <field name="server_action_ids" domain="[('model_id','=', model_id)]" nolabel="1" context="{'default_model_id': model_id}">
+ <tree string="Server Actions">
+ <field name="sequence"/>
+ <field name="name"/>
+ <field name="state"/>
+ </tree>
+ </field>
</group>
+
</page>
</notebook>
</form>