diff --git a/addons/base_action_rule/base_action_rule.py b/addons/base_action_rule/base_action_rule.py
index ebc4c02a938..8b56bb9c909 100644
--- a/addons/base_action_rule/base_action_rule.py
+++ b/addons/base_action_rule/base_action_rule.py
@@ -63,6 +63,7 @@ class base_action_rule(osv.osv):
_columns = {
'name': fields.char('Rule Name', size=64, required=True),
'model_id': fields.many2one('ir.model', 'Related Document Model', required=True, domain=[('osv_memory','=', False)]),
+ 'model': fields.related('model_id', 'model', type="char", size=256, string='Model'),
'create_date': fields.datetime('Create Date', readonly=1),
'active': fields.boolean('Active', help="If the active field is set to False,\
it will allow you to hide the rule without removing it."),
@@ -71,6 +72,7 @@ when displaying a list of rules."),
'trg_date_type': fields.selection([
('none', 'None'),
('create', 'Creation Date'),
+ ('write', 'Last Modified Date'),
('action_last', 'Last Action Date'),
('date', 'Date'),
('deadline', 'Deadline'),
@@ -93,15 +95,15 @@ 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.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)]
+ 'server_action_ids': fields.one2many('ir.actions.server', 'action_rule_id', 'Server Action', help="Define Server actions.\neg:Email Reminders, Call Object Service, etc.."), #TODO: set domain [('model_id','=',model_id)]
+ 'filter_id':fields.many2one('ir.filters', 'Filter', required=False), #TODO: set domain [('model_id','=',model_id.model)]
'last_run': fields.datetime('Last Run', readonly=1),
}
_defaults = {
- 'active': lambda *a: True,
- 'trg_date_type': lambda *a: 'none',
- 'trg_date_range_type': lambda *a: 'day',
+ 'active': True,
+ 'trg_date_type': 'none',
+ 'trg_date_range_type': 'day',
}
_order = 'sequence'
@@ -200,6 +202,8 @@ trigger date, like sending a reminder 15 minutes before a meeting."),
base = False
if rule.trg_date_type=='create' and hasattr(obj, 'create_date'):
base = obj.create_date
+ elif rule.trg_date_type=='write' and hasattr(obj, 'write_date'):
+ base = obj.write_date
elif (rule.trg_date_type=='action_last'
and hasattr(obj, 'create_date')):
if hasattr(obj, 'date_action_last') and obj.date_action_last:
diff --git a/addons/base_action_rule/base_action_rule_view.xml b/addons/base_action_rule/base_action_rule_view.xml
index 2bffbf5b92c..64b1dd4fe32 100644
--- a/addons/base_action_rule/base_action_rule_view.xml
+++ b/addons/base_action_rule/base_action_rule_view.xml
@@ -15,7 +15,8 @@
-
+
+
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index dd36aa19041..ddeded0926e 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -107,6 +107,7 @@ Dashboard for CRM will include:
'crm_demo.xml',
'crm_lead_demo.xml',
'crm_phonecall_demo.xml',
+ 'crm_action_rule_demo.xml',
],
'test': [
'test/process/communication_with_customer.yml',
diff --git a/addons/crm/crm_action_rule_demo.xml b/addons/crm/crm_action_rule_demo.xml
new file mode 100644
index 00000000000..e1cafbc76a6
--- /dev/null
+++ b/addons/crm/crm_action_rule_demo.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+ Reminder to User
+
+ True
+ ir.actions.server
+ email
+ object.user_id.email
+ Reminder on Lead: [[object.name ]] of [[object.partner_id.name]]
+ Hello [[object.user_id.name]],
+can you check following lead, it's inactive since 5 days ?
+
+Lead Id: [[object.id ]]
+Customer: [[object.partner_id.name]]
+
+ [[object.description]]
+
+Thanks,
+
+
+
+
+ Reminder to Customer
+
+ True
+ ir.actions.server
+ email
+ object.email_from
+ Reminder on Lead: [[object.name ]]
+ Hello [[object.partner_id.name]],
+your following lead inactive since 5 days.
+
+Lead Id: [[object.id ]]
+Customer: [[object.partner_id.name]]
+
+ [[object.description]]
+
+Thanks,
+
+
+
+
+
+ Set Auto Reminder on leads which are inactive since 5 days.
+
+ 1
+ write
+ 5
+ day
+
+
+
+
+ Filter on leads which come from USA.
+ crm.lead
+ [('country_id','=','United States')]
+
+
+
+ Set Auto Followers on leads which are come from USA.
+
+ 2
+ urgent.*
+
+
+
+
+
+
+