[ADD] data for gamification plan in the sale_crm module

bzr revid: mat@openerp.com-20130304153325-nzc6f04groiuqsn8
This commit is contained in:
Martin Trigaux 2013-03-04 16:33:25 +01:00
parent 9e025b95a8
commit 102064ee0d
3 changed files with 257 additions and 0 deletions

View File

View File

@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2013 Tiny SPRL (<http://openerp.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'CRM Gamification',
'version': '1.0',
'author': 'OpenERP SA',
'category': 'CRM',
'depends': ['gamification','sale_crm'],
'description': """Example of goal types and plans that can be used related to the usage of the CRM Sale module.""",
'data': [
'sale_crm_goals.xml',
],
'auto_install': True,
}

View File

@ -0,0 +1,224 @@
<?xml version="1.0"?>
<openerp>
<data>
<!--
plan sale
invocie of the month
delais de fermeture
commandes crees ce mois
factures payees
note de credit
plan marketing
delais d'ouverture
# new leads
# new opportunities
invoice of the month
-->
<!-- goal types -->
<record model="gamification.goal.type" id="type_crm_tot_invoices">
<field name="name">Total Invoiced</field>
<field name="description"></field>
<field name="computation_mode">sum</field>
<field name="model_id" eval="str(ref('account.model_account_invoice_report'))" />
<field name="field_id" eval="str(ref('account.field_account_invoice_report_price_total'))" />
<field name="field_date_id" eval="str(ref('account.field_account_invoice_report_day'))" />
<field name="domain">[('state','!=','cancel'),('user_id','=',user_id)]</field>
</record>
<record model="gamification.goal.type" id="type_crm_lead_delay_open">
<field name="name">Delay to Open</field>
<field name="description">The average number of days to open the case (less than)</field>
<field name="computation_mode">sum</field>
<field name="condition">minus</field>
<field name="model_id" eval="str(ref('crm.model_crm_lead_report'))" />
<field name="field_id" eval="str(ref('crm.field_crm_lead_report_delay_close'))" />
<field name="field_date_id" eval="str(ref('crm.field_crm_lead_report_date_closed'))" />
<field name="domain">[('user_id','=',user_id)]</field>
</record>
<record model="gamification.goal.type" id="type_crm_lead_delay_close">
<field name="name">Delay to Close</field>
<field name="description">The average number of days to close the case (less than)</field>
<field name="computation_mode">sum</field>
<field name="condition">minus</field>
<field name="model_id" eval="str(ref('crm.model_crm_lead_report'))" />
<field name="field_id" eval="str(ref('crm.field_crm_lead_report_delay_open'))" />
<field name="field_date_id" eval="str(ref('crm.field_crm_lead_report_opening_date'))" />
<field name="domain">[('user_id','=',user_id)]</field>
</record>
<record model="gamification.goal.type" id="type_crm_nbr_call">
<field name="name"># Logged Calls</field>
<field name="description">Log a certain number of calls to reach this goal</field>
<field name="computation_mode">count</field>
<field name="model_id" eval="str(ref('crm.model_crm_phonecall'))" />
<field name="field_date_id" eval="str(ref('crm.field_crm_phonecall_date_closed'))" />
<field name="domain">[('user_id','=',user_id),('type','='),('state','=','done')]</field>
</record>
<record model="gamification.goal.type" id="type_crm_nbr_new_leads">
<field name="name"># New Leads</field>
<field name="description">Based on the creation date</field>
<field name="computation_mode">count</field>
<field name="model_id" eval="str(ref('crm.model_crm_lead'))" />
<field name="field_date_id" eval="str(ref('crm.field_crm_lead_create_date'))" />
<field name="domain">[('user_id','=',user_id)]</field>
</record>
<record model="gamification.goal.type" id="type_crm_nbr_new_opportunities">
<field name="name"># New Opportunities</field>
<field name="description">Based on the opening date</field>
<field name="computation_mode">count</field>
<field name="model_id" eval="str(ref('crm.model_crm_lead'))" />
<field name="field_date_id" eval="str(ref('crm.field_crm_lead_date_open'))" />
<field name="domain">[('user_id','=',user_id),('type','=','opportunity')]</field>
</record>
<record model="gamification.goal.type" id="type_crm_nbr_sale_order_created">
<field name="name"># New Sales Orders</field>
<field name="description">Based on the creation date</field>
<field name="computation_mode">count</field>
<field name="model_id" eval="str(ref('sale.model_sale_order'))" />
<field name="field_date_id" eval="str(ref('sale.field_sale_order_date_order'))" />
<field name="domain">[('user_id','=',user_id),('state','not in',('draft', 'sent', 'cancel'))]</field>
</record>
<record model="gamification.goal.type" id="type_crm_nbr_paid_sale_order">
<field name="name"># Paid Sales Orders</field>
<field name="description">Based on the confirmation date</field>
<field name="computation_mode">count</field>
<field name="model_id" eval="str(ref('sale.model_sale_order'))" />
<field name="field_date_id" eval="str(ref('sale.field_sale_order_date_confirm'))" />
<field name="domain">[('user_id','=',user_id),('paid','=',True)]</field>
</record>
<record model="gamification.goal.type" id="type_crm_tot_paid_sale_order">
<field name="name">Total Paid Sales Orders</field>
<field name="description">Based on the confirmation date</field>
<field name="computation_mode">sum</field>
<field name="model_id" eval="str(ref('sale.model_sale_order'))" />
<field name="field_id" eval="str(ref('sale.field_sale_order_amount_total'))" />
<field name="field_date_id" eval="str(ref('sale.field_sale_order_date_confirm'))" />
<field name="domain">[('user_id','=',user_id),('paid','=',True)]</field>
</record>
<record model="gamification.goal.type" id="type_crm_nbr_customer_refunds">
<field name="name"># Customer Refunds</field>
<field name="description"></field>
<field name="computation_mode">count</field>
<field name="model_id" eval="str(ref('account.model_account_invoice'))" />
<field name="field_date_id" eval="str(ref('account.field_account_invoice_date_invoice'))" />
<field name="domain">[('state','!=','cancel'),('user_id','=',user_id),('type','=','out_refund')]</field>
</record>
<record model="gamification.goal.type" id="type_crm_tot_customer_refunds">
<field name="name">Total Customer Refunds</field>
<field name="description"></field>
<field name="computation_mode">sum</field>
<field name="model_id" eval="str(ref('account.model_account_invoice'))" />
<field name="field_id" eval="str(ref('account.field_account_invoice_amount_total'))" />
<field name="field_date_id" eval="str(ref('account.field_account_invoice_date_invoice'))" />
<field name="domain">[('state','!=','cancel'),('user_id','=',user_id),('type','=','out_refund')]</field>
</record>
<!-- planlines -->
<record model="gamification.goal.planline" id="planline_crm_sale1">
<field name="type_id" eval="str(ref('type_crm_tot_invoices'))" />
<field name="target_goal">20000</field>
</record>
<record model="gamification.goal.planline" id="planline_crm_sale2">
<field name="type_id" eval="str(ref('type_crm_lead_delay_close'))" />
<field name="target_goal">20</field>
</record>
<record model="gamification.goal.planline" id="planline_crm_sale3">
<field name="type_id" eval="str(ref('type_crm_nbr_sale_order_created'))" />
<field name="target_goal">5</field>
</record>
<record model="gamification.goal.planline" id="planline_crm_sale4">
<field name="type_id" eval="str(ref('type_crm_nbr_paid_sale_order'))" />
<field name="target_goal">5</field>
</record>
<record model="gamification.goal.planline" id="planline_crm_sale5">
<field name="type_id" eval="str(ref('type_crm_nbr_customer_refunds'))" />
<field name="target_goal">4</field>
</record>
<record model="gamification.goal.planline" id="planline_crm_marketing1">
<field name="type_id" eval="str(ref('type_crm_lead_delay_open'))" />
<field name="target_goal">15</field>
</record>
<record model="gamification.goal.planline" id="planline_crm_marketing2">
<field name="type_id" eval="str(ref('type_crm_nbr_new_leads'))" />
<field name="target_goal">7</field>
</record>
<record model="gamification.goal.planline" id="planline_crm_marketing3">
<field name="type_id" eval="str(ref('type_crm_nbr_new_opportunities'))" />
<field name="target_goal">5</field>
</record>
<!-- plans -->
<record model="gamification.goal.plan" id="plan_crm_sale">
<field name="name">Saleperson</field>
<field name="period">monthly</field>
<field name="visibility_mode">board</field>
<field name="autojoin_group_id" eval="ref('base.group_sale_salesman')" />
<field name="report_message_frequency">weekly</field>
<field name="report_header">The following message contains the current progress of the sale team based on several criterias. The progress is reinitialised each month and shared weekly.</field>
<field name="planline_ids" eval="[(4, ref('planline_crm_sale1')),(4, ref('planline_crm_sale2')),(4, ref('planline_crm_sale3')),(4, ref('planline_crm_sale4')),(4, ref('planline_crm_sale5'))]"/>
</record>
<record model="gamification.goal.plan" id="plan_crm_marketing">
<field name="name">Marketing team</field>
<field name="period">monthly</field>
<field name="visibility_mode">board</field>
<field name="autojoin_group_id" eval="ref('base.group_sale_salesman')" />
<field name="report_message_frequency">weekly</field>
<field name="report_header">The following message contains the current progress of the marketing team based on several criterias. The progress is reinitialised each month and shared weekly.</field>
<field name="planline_ids" eval="[(4, ref('planline_crm_marketing1')),(4, ref('planline_crm_marketing2')),(4, ref('planline_crm_marketing3'))]"/>
</record>
<!-- link planline -> plan -->
<record model="gamification.goal.planline" id="planline_crm_sale1">
<field name="plan_id" eval="str(ref('plan_crm_sale'))" />
</record>
<record model="gamification.goal.planline" id="planline_crm_sale2">
<field name="plan_id" eval="str(ref('plan_crm_sale'))" />
</record>
<record model="gamification.goal.planline" id="planline_crm_sale3">
<field name="plan_id" eval="str(ref('plan_crm_sale'))" />
</record>
<record model="gamification.goal.planline" id="planline_crm_sale4">
<field name="plan_id" eval="str(ref('plan_crm_sale'))" />
</record>
<record model="gamification.goal.planline" id="planline_crm_sale5">
<field name="plan_id" eval="str(ref('plan_crm_sale'))" />
</record>
<record model="gamification.goal.planline" id="planline_crm_marketing1">
<field name="plan_id" eval="str(ref('plan_crm_marketing'))" />
</record>
<record model="gamification.goal.planline" id="planline_crm_marketing2">
<field name="plan_id" eval="str(ref('plan_crm_marketing'))" />
</record>
<record model="gamification.goal.planline" id="planline_crm_marketing3">
<field name="plan_id" eval="str(ref('plan_crm_marketing'))" />
</record>
</data>
</openerp>