[IMP] crm: demo data of action rule
bzr revid: hmo@tinyerp.com-20121009075340-ogm51x9z2irmzijt
This commit is contained in:
parent
cde1d85310
commit
e84b3f2493
|
@ -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:
|
||||
|
|
|
@ -15,7 +15,8 @@
|
|||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="model_id"/>
|
||||
<field name="filter_id" domain="[('model_id','=',model_id)]" context="{'default_model_id': model_id}"/>
|
||||
<field name="model" invisible="1"/>
|
||||
<field name="filter_id" domain="[('model_id','=',model)]" context="{'default_model_id': model}"/>
|
||||
<field name="sequence"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<!-- email server actions -->
|
||||
<record id="action_email_reminder_lead" model="ir.actions.server">
|
||||
<field name="name">Reminder to User</field>
|
||||
<field name="model_id" ref="model_crm_lead"/>
|
||||
<field name="condition">True</field>
|
||||
<field name="type">ir.actions.server</field>
|
||||
<field name="state">email</field>
|
||||
<field name="email">object.user_id.email</field>
|
||||
<field name="subject">Reminder on Lead: [[object.name ]] of [[object.partner_id.name]]</field>
|
||||
<field name="message">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,
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_email_reminder_customer_lead" model="ir.actions.server">
|
||||
<field name="name">Reminder to Customer</field>
|
||||
<field name="model_id" ref="model_crm_lead"/>
|
||||
<field name="condition">True</field>
|
||||
<field name="type">ir.actions.server</field>
|
||||
<field name="state">email</field>
|
||||
<field name="email">object.email_from</field>
|
||||
<field name="subject">Reminder on Lead: [[object.name ]]</field>
|
||||
<field name="message">Hello [[object.partner_id.name]],
|
||||
your following lead inactive since 5 days.
|
||||
|
||||
Lead Id: [[object.id ]]
|
||||
Customer: [[object.partner_id.name]]
|
||||
|
||||
[[object.description]]
|
||||
|
||||
Thanks,
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- automated actions -->
|
||||
<record id="rule_set_reminder_lead" model="base.action.rule">
|
||||
<field name="name">Set Auto Reminder on leads which are inactive since 5 days.</field>
|
||||
<field name="model_id" ref="model_crm_lead"/>
|
||||
<field name="sequence">1</field>
|
||||
<field name="trg_date_type">write</field>
|
||||
<field name="trg_date_range">5</field>
|
||||
<field name="trg_date_range_type">day</field>
|
||||
<field name="server_action_ids" eval="[(6,0,[ref('action_email_reminder_customer_lead'), ref('action_email_reminder_lead')])]"/>
|
||||
</record>
|
||||
|
||||
<record id="filter_usa_lead" model="ir.filters">
|
||||
<field name="name">Filter on leads which come from USA.</field>
|
||||
<field name="model_id">crm.lead</field>
|
||||
<field name="domain">[('country_id','=','United States')]</field>
|
||||
</record>
|
||||
|
||||
<record id="rule_set_followers_lead" model="base.action.rule">
|
||||
<field name="name">Set Auto Followers on leads which are come from USA.</field>
|
||||
<field name="model_id" ref="model_crm_lead"/>
|
||||
<field name="sequence">2</field>
|
||||
<field name="regex_name">urgent.*</field>
|
||||
<field name="filter_id" ref="filter_usa_lead"/>
|
||||
<field name="act_followers" eval="[(6,0,[ref('base.res_partner_4'), ref('base.res_partner_5'), ref('base.res_partner_6')])]"/>
|
||||
<field name="act_user_id" ref="base.user_root"/>
|
||||
<field name="act_section_id" ref="section_sales_department"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
Loading…
Reference in New Issue