[IMP] marketing_campaign: modified view
bzr revid: ssi@tinyerp.com-20100519073324-x11a2xiz1afh6zsq
This commit is contained in:
parent
5433b182da
commit
10a76ac8d9
|
@ -67,9 +67,9 @@ class marketing_campaign_segment(osv.osv): #{{{
|
|||
'object_id': fields.related('campaign_id','object_id',
|
||||
type='many2one', relation='ir.model',
|
||||
string='Object'),
|
||||
'ir_filter_id':fields.many2one('ir.filters', 'Filter'),
|
||||
'ir_filter_id': fields.many2one('ir.filters', 'Filter'),
|
||||
'sync_last_date': fields.datetime('Date'),
|
||||
'sync_mode':fields.selection([('create', 'Create'),
|
||||
'sync_mode': fields.selection([('create', 'Create'),
|
||||
('write', 'Write')],
|
||||
'Mode'),
|
||||
'state': fields.selection([('draft', 'Draft'),
|
||||
|
@ -95,7 +95,7 @@ class marketing_campaign_activity(osv.osv): #{{{
|
|||
string='Object'),
|
||||
'start': fields.boolean('Start'),
|
||||
'condition': fields.text('Condition'),
|
||||
'type':fields.selection([('email', 'E-mail'),
|
||||
'type': fields.selection([('email', 'E-mail'),
|
||||
('paper', 'Paper'),
|
||||
('action', 'Action'),
|
||||
('subcampaign', 'Sub-Campaign')],
|
||||
|
@ -110,8 +110,8 @@ class marketing_campaign_activity(osv.osv): #{{{
|
|||
'from_ids': fields.one2many('marketing.campaign.transition',
|
||||
'activity_from_id',
|
||||
'Previous Activities'),
|
||||
'subcampaign_id' :fields.many2one('marketing.campaign', 'Sub-Campaign'),
|
||||
'subcampaign_segment_id' :fields.many2one('marketing.campaign.segment',
|
||||
'subcampaign_id': fields.many2one('marketing.campaign', 'Sub-Campaign'),
|
||||
'subcampaign_segment_id': fields.many2one('marketing.campaign.segment',
|
||||
'Sub Campaign Segment'),
|
||||
'variable_cost': fields.float('Variable Cost'),
|
||||
'revenue': fields.float('Revenue')
|
||||
|
@ -173,8 +173,8 @@ class marketing_campaign_workitem(osv.osv): #{{{
|
|||
'date': fields.datetime('Execution Date'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner',required=True),
|
||||
'state': fields.selection([('todo', 'ToDo'), ('inprogress', 'In Progress'),
|
||||
('exception', 'Exception'), ('done', 'Done'),
|
||||
('cancelled', 'Cancelled')], 'State')
|
||||
('exception', 'Exception'), ('done', 'Done'),
|
||||
('cancelled', 'Cancelled')], 'State')
|
||||
}
|
||||
|
||||
def process_chain(self, cr, uid, workitem_id, context={}):
|
||||
|
|
|
@ -14,59 +14,59 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Campaign">
|
||||
<group colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="object_id" select="1"/>
|
||||
<field name="mode"/>
|
||||
<field name="fixed_cost"/>
|
||||
<group colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="object_id" select="1"/>
|
||||
<field name="mode"/>
|
||||
<field name="fixed_cost"/>
|
||||
</group>
|
||||
<field name="activity_ids" nolabel = "1" colspan="4">
|
||||
<field name="activity_ids" nolabel = "1" colspan="4">
|
||||
<form string="Activities">
|
||||
<field name="name" select="1" />
|
||||
<field name="object_id" readonly="True"/>
|
||||
<field name="start"/>
|
||||
<field name="condition" colspan="4"/>
|
||||
<field name="variable_cost" select="1"/>
|
||||
<field name="type"/>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','email')]}" >
|
||||
<field name="email_template_id" attrs="{'required':[('type','=','email')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','paper')]}" >
|
||||
<field name="report_id" attrs="{'required':[('type','=','paper')]}" />
|
||||
<field name="report_directory_id" attrs="{'required':[('type','=','paper')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','action')]}" >
|
||||
<field name="server_action_id" attrs="{'required':[('type','=','action')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','subcampaign')]}" >
|
||||
<field name="subcampaign_id" attrs="{'required':[('type','=','subcampaign')]}" />
|
||||
<field name="subcampaign_segment_id" attrs="{'required':[('type','=','subcampaign')]}" />
|
||||
</group>
|
||||
<field name="to_ids" nolabel="1" colspan="4" mode="tree" default_get="{'type_id':'activity_from_id','activity_id':active_id or False}">
|
||||
<tree string="All Transitions" editable="bottom">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</tree>
|
||||
</field>
|
||||
</form>
|
||||
<tree string="All Activities">
|
||||
<field name="name" select="1"/>
|
||||
<field name="object_id"/>
|
||||
<field name="start"/>
|
||||
<field name="condition"/>
|
||||
<field name="variable_cost" select="1"/>
|
||||
<field name="type"/>
|
||||
<field name="report_id"/>
|
||||
<field name="to_ids"/>
|
||||
<field name="subcampaign_id"/>
|
||||
<field name="subcampaign_segment_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="name" select="1" />
|
||||
<field name="object_id" readonly="True"/>
|
||||
<field name="start"/>
|
||||
<field name="condition" colspan="4"/>
|
||||
<field name="variable_cost" select="1"/>
|
||||
<field name="type"/>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','email')]}" >
|
||||
<field name="email_template_id" attrs="{'required':[('type','=','email')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','paper')]}" >
|
||||
<field name="report_id" attrs="{'required':[('type','=','paper')]}" />
|
||||
<field name="report_directory_id" attrs="{'required':[('type','=','paper')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','action')]}" >
|
||||
<field name="server_action_id" attrs="{'required':[('type','=','action')]}" />
|
||||
</group>
|
||||
<group colspan="4" attrs="{'invisible':[('type','!=','subcampaign')]}" >
|
||||
<field name="subcampaign_id" attrs="{'required':[('type','=','subcampaign')]}" />
|
||||
<field name="subcampaign_segment_id" attrs="{'required':[('type','=','subcampaign')]}" />
|
||||
</group>
|
||||
<field name="to_ids" nolabel="1" colspan="4" mode="tree" default_get="{'type_id':'activity_from_id','activity_id':active_id or False}">
|
||||
<tree string="All Transitions" editable="bottom">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</tree>
|
||||
</field>
|
||||
</form>
|
||||
<tree string="All Activities">
|
||||
<field name="name" select="1"/>
|
||||
<field name="object_id"/>
|
||||
<field name="start"/>
|
||||
<field name="condition"/>
|
||||
<field name="variable_cost" select="1"/>
|
||||
<field name="type"/>
|
||||
<field name="report_id"/>
|
||||
<field name="to_ids"/>
|
||||
<field name="subcampaign_id"/>
|
||||
<field name="subcampaign_segment_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
<separator string="Status" colspan="4" />
|
||||
<field name="state" nolabel = "1" colspan="4" readonly="True"/>
|
||||
</form>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
@ -75,35 +75,34 @@
|
|||
<field name="model">marketing.campaign</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="All Campaigns">
|
||||
<field name="name" select="1"/>
|
||||
<field name="object_id" select="1"/>
|
||||
<field name="mode"/>
|
||||
<field name="fixed_cost"/>
|
||||
<field name="state"/>
|
||||
<tree string="All Campaigns">
|
||||
<field name="name" select="1"/>
|
||||
<field name="object_id" select="1"/>
|
||||
<field name="mode"/>
|
||||
<field name="fixed_cost"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_marketing_campaign_diagram" model="ir.ui.view">
|
||||
<field name="name">marketing.campaign.diagram</field>
|
||||
<field name="model">marketing.campaign</field>
|
||||
<field name="type">diagram</field>
|
||||
<field name="arch" type="xml">
|
||||
<diagram string="Campaign Editor">
|
||||
<node object="marketing.campaign.activity" shape="rectangle:type!='subcampaign'" bgcolor="gray:start==True">
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="start" invisible="1"/>
|
||||
<field name="condition"/>
|
||||
</node>
|
||||
<arrow object="marketing.campaign.transition" source="activity_from_id" destination="activity_to_id">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</arrow>
|
||||
<diagram string="Campaign Editor">
|
||||
<node object="marketing.campaign.activity" shape="rectangle:type!='subcampaign'" bgcolor="gray:start==True">
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="start" invisible="1"/>
|
||||
<field name="condition"/>
|
||||
</node>
|
||||
<arrow object="marketing.campaign.transition" source="activity_from_id" destination="activity_to_id">
|
||||
<field name="activity_from_id"/>
|
||||
<field name="activity_to_id"/>
|
||||
<field name="interval_nbr"/>
|
||||
<field name="interval_type"/>
|
||||
</arrow>
|
||||
</diagram>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -131,20 +130,20 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Segments">
|
||||
<group colspan="4">
|
||||
<field name="name" select="1" colspan="4"/>
|
||||
<newline/>
|
||||
<field name="campaign_id" select="1"/>
|
||||
<field name="object_id" select="1" readonly="True"/>
|
||||
<newline/>
|
||||
<field name="ir_filter_id" select="1"/>
|
||||
<newline/>
|
||||
<field name="date_run"/>
|
||||
<field name="date_done"/>
|
||||
<separator string="Synchronization" colspan="4" />
|
||||
<field name="sync_last_date"/>
|
||||
<field name="sync_mode"/>
|
||||
</group>
|
||||
<group colspan="4">
|
||||
<field name="name" select="1" colspan="4"/>
|
||||
<newline/>
|
||||
<field name="campaign_id" select="1"/>
|
||||
<field name="object_id" select="1" readonly="True"/>
|
||||
<newline/>
|
||||
<field name="ir_filter_id" select="1"/>
|
||||
<newline/>
|
||||
<field name="date_run"/>
|
||||
<field name="date_done"/>
|
||||
<separator string="Synchronization" colspan="4" />
|
||||
<field name="sync_last_date"/>
|
||||
<field name="sync_mode"/>
|
||||
</group>
|
||||
<separator string="Status" colspan="4" />
|
||||
<field name="state" nolabel = "1" colspan="4" readonly="1"/>
|
||||
</form>
|
||||
|
@ -231,16 +230,16 @@
|
|||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="All Activities">
|
||||
<field name="name" select="1"/>
|
||||
<field name="campaign_id" select="1"/>
|
||||
<field name="start"/>
|
||||
<field name="object_id"/>
|
||||
<field name="condition"/>
|
||||
<field name="type"/>
|
||||
<field name="report_id"/>
|
||||
<field name="to_ids" />
|
||||
<field name="subcampaign_id"/>
|
||||
<field name="subcampaign_segment_id"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="campaign_id" select="1"/>
|
||||
<field name="start"/>
|
||||
<field name="object_id"/>
|
||||
<field name="condition"/>
|
||||
<field name="type"/>
|
||||
<field name="report_id"/>
|
||||
<field name="to_ids" />
|
||||
<field name="subcampaign_id"/>
|
||||
<field name="subcampaign_segment_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -288,7 +287,7 @@
|
|||
<field name="segment_id" select="1"/>
|
||||
<field name="activity_id" context="{'segment_id':segment_id}" select="1"/>
|
||||
<field name="object_id" readonly="True"/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<field name="res_id"/>
|
||||
<field name="date" select="1"/>
|
||||
<separator string="Status" colspan="4"/>
|
||||
|
|
|
@ -18,16 +18,14 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields, osv
|
||||
import tools
|
||||
from osv import fields, osv
|
||||
|
||||
class campaign_analysis(osv.osv): #{{{
|
||||
_name = "campaign.analysis"
|
||||
_description = "Campaign Analysis"
|
||||
_auto = False
|
||||
_rec_name = 'date'
|
||||
|
||||
|
||||
def _total_cost(self, cr, uid, ids, field_name, arg, context={}):
|
||||
|
||||
|
@ -58,14 +56,15 @@ class campaign_analysis(osv.osv): #{{{
|
|||
readonly=True),
|
||||
'segment_id': fields.many2one('marketing.campaign.segment', 'Segment',
|
||||
readonly=True),
|
||||
'partner_id' : fields.many2one('res.partner', 'Partner', readonly=True),
|
||||
'country_id' : fields.related('partner_id','address', 'country_id', type='many2one',
|
||||
relation='res.country', string='Country'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
|
||||
'country_id': fields.related('partner_id','address', 'country_id',
|
||||
type='many2one', relation='res.country',
|
||||
string='Country'),
|
||||
# 'case_id': fields.many2one('crm.lead', 'Opportunity', readonly=True),
|
||||
# 'count' : fields.integer('Count', readonly=True),
|
||||
'total_cost' : fields.function(_total_cost, string='Cost', method=True,
|
||||
'total_cost': fields.function(_total_cost, string='Cost', method=True,
|
||||
type="float"),
|
||||
'revenue' : fields.float('Revenue',readonly=True),
|
||||
'revenue': fields.float('Revenue',readonly=True),
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -6,19 +6,19 @@
|
|||
<field name="model">campaign.analysis</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Marketing Reports">
|
||||
<tree string="Marketing Reports">
|
||||
<field name="month"/>
|
||||
<field name="year"/>
|
||||
<field name="year"/>
|
||||
<field name="date"/>
|
||||
<field name="campaign_id"/>
|
||||
<field name="activity_id"/>
|
||||
<field name="segment_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="country_id" />
|
||||
<!--field name="case_id"/-->
|
||||
<!--field name="count"/-->
|
||||
<field name="total_cost"/>
|
||||
<field name="revenue"/>
|
||||
<field name="campaign_id"/>
|
||||
<field name="activity_id"/>
|
||||
<field name="segment_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="country_id" />
|
||||
<!--field name="case_id"/-->
|
||||
<!--field name="count"/-->
|
||||
<field name="total_cost"/>
|
||||
<field name="revenue"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -29,15 +29,17 @@
|
|||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Marketing Reports">
|
||||
<group>
|
||||
<filter icon="terp-account"
|
||||
<group>
|
||||
<filter icon="terp-account"
|
||||
string="This Year"
|
||||
domain="[('year','=',time.strftime('%%Y'))]"/>
|
||||
<filter icon="terp-account"
|
||||
string="This Month"
|
||||
domain="[('month','=',time.strftime('%%m'))]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Date" icon="terp-account" domain="[('date','=',time.strftime('%%Y/%%m/%%d'))]"/>
|
||||
<filter icon="terp-account"
|
||||
string="Date"
|
||||
domain="[('date','=',time.strftime('%%Y/%%m/%%d'))]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="campaign_id"/>
|
||||
<field name="activity_id"/>
|
||||
|
@ -60,7 +62,6 @@
|
|||
</record>
|
||||
|
||||
<menuitem action="action_campaign_analysis_all" id="menu_action_campaign_analysis_all" parent="menu_marketing" sequence="40"/>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
Loading…
Reference in New Issue