[MERGE] [IMP] Partner View: Partner View Improvement: remove history tab

This branch adds contextual buttons for the various items contained
in the history tab that are removed.

res.partner:
- in crm: re-ordered of the various Leads/Meetings/Opportunities buttons
- in crm_claim: added a Claims button, removed claims in history tab
- in event: removed one2many field towards event.event and event.registration, as well as other data related to history tab
- in marketing_campaigns: removed on2many field toward workitems (workitem_ids)
- in project: removed task from history; added Tasks button
- in project_issue: removed issues from history; added Issues button

bzr revid: tde@openerp.com-20130614121020-zl1l18iz9gv1smaa
This commit is contained in:
Thibault Delavallée 2013-06-14 14:10:20 +02:00
commit 24a411d9eb
16 changed files with 93 additions and 203 deletions

View File

@ -61,7 +61,7 @@
<field name="name">partner.view.buttons</field> <field name="name">partner.view.buttons</field>
<field name="model">res.partner</field> <field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" /> <field name="inherit_id" ref="base.view_partner_form" />
<field name="priority" eval="10"/> <field name="priority" eval="20"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//div[@name='buttons']" position="inside"> <xpath expr="//div[@name='buttons']" position="inside">
<button type="action" string="Invoices" <button type="action" string="Invoices"
@ -96,7 +96,7 @@
<field name="priority">2</field> <field name="priority">2</field>
<field name="inherit_id" ref="base.view_partner_form"/> <field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<page string="History" position="before" version="7.0"> <page name="sales_purchases" position="after" version="7.0">
<page string="Accounting" col="4" name="accounting" attrs="{'invisible': [('is_company','=',False),('parent_id','!=',False)]}"> <page string="Accounting" col="4" name="accounting" attrs="{'invisible': [('is_company','=',False),('parent_id','!=',False)]}">
<group> <group>
<group> <group>

View File

@ -60,7 +60,7 @@ class crm_meeting(base_state, osv.Model):
'categ_ids': fields.many2many('crm.meeting.type', 'meeting_category_rel', 'categ_ids': fields.many2many('crm.meeting.type', 'meeting_category_rel',
'event_id', 'type_id', 'Tags'), 'event_id', 'type_id', 'Tags'),
'attendee_ids': fields.many2many('calendar.attendee', 'meeting_attendee_rel',\ 'attendee_ids': fields.many2many('calendar.attendee', 'meeting_attendee_rel',\
'event_id', 'attendee_id', 'Attendees', states={'done': [('readonly', True)]}), 'event_id', 'attendee_id', 'Invited People', states={'done': [('readonly', True)]}),
} }
_defaults = { _defaults = {
'state': 'open', 'state': 'open',

View File

@ -2,19 +2,6 @@
<openerp> <openerp>
<data> <data>
<!-- Add section_id (Sales Team) to res.partner -->
<record id="view_partners_form_crm1" model="ir.ui.view">
<field name="name">view.res.partner.form.crm.inherited1</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<field name="user_id" position="after">
<field name="section_id" completion="1" groups="base.group_multi_salesteams"/>
</field>
</field>
</record>
<!-- open meetings related to given partner --> <!-- open meetings related to given partner -->
<record id="crm_meeting_partner" model="ir.actions.act_window"> <record id="crm_meeting_partner" model="ir.actions.act_window">
<field name="name">Meetings</field> <field name="name">Meetings</field>
@ -91,24 +78,31 @@
</field> </field>
</record> </record>
<!-- Add section_id (SalesTeam) and contextual button on partner form view -->
<record model="ir.ui.view" id="res_partner_view_buttons"> <record id="view_partners_form_crm1" model="ir.ui.view">
<field name="name">res.partner.view.buttons</field> <field name="name">view.res.partner.form.crm.inherited1</field>
<field name="model">res.partner</field> <field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" /> <field name="inherit_id" ref="base.view_partner_form"/>
<field name="priority" eval="10"/> <field eval="18" name="priority"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//div[@name='buttons']" position="inside"> <data>
<button type="action" <field name="user_id" position="after">
string="Meetings" <field name="section_id" completion="1" groups="base.group_multi_salesteams"/>
name="%(base_calendar.action_crm_meeting)d" </field>
context="{'search_default_partner_ids': active_id, 'default_partner_ids' : [active_id]}"/> <xpath expr="//div[@name='buttons']" position="inside">
<button type="action" string="Calls" <button class="oe_inline" type="action" string="Opportunities"
name="%(crm.crm_case_categ_phone_incoming0)d" attrs="{'invisible': [('customer', '=', False)]}"
context="{'search_default_partner_id': active_id, 'default_duration': 1.0}" /> name="%(crm.crm_case_category_act_oppor11)d"
<button type="action" string="Opportunities" attrs="{'invisible': [('customer', '=', False)]}" context="{'search_default_partner_id': active_id}"/>
name="%(crm.crm_case_category_act_oppor11)d" context="{'search_default_partner_id': active_id}"/> <button class="oe_inline" type="action"
</xpath> string="Meetings"
name="%(base_calendar.action_crm_meeting)d"
context="{'search_default_partner_ids': active_id, 'default_partner_ids' : [active_id]}"/>
<button class="oe_inline" type="action" string="Calls"
name="%(crm.crm_case_categ_phone_incoming0)d"
context="{'search_default_partner_id': active_id, 'default_duration': 1.0}" />
</xpath>
</data>
</field> </field>
</record> </record>

View File

@ -42,14 +42,20 @@ automatically new claims based on incoming emails.
'security/ir.model.access.csv', 'security/ir.model.access.csv',
'report/crm_claim_report_view.xml', 'report/crm_claim_report_view.xml',
'crm_claim_data.xml', 'crm_claim_data.xml',
'res_partner_view.xml',
], ],
'demo': ['crm_claim_demo.xml'], 'demo': ['crm_claim_demo.xml'],
'test': ['test/process/claim.yml', 'test': [
'test/ui/claim_demo.yml' 'test/process/claim.yml',
'test/ui/claim_demo.yml'
], ],
'installable': True, 'installable': True,
'auto_install': False, 'auto_install': False,
'images': ['images/claim_categories.jpeg','images/claim_stages.jpeg','images/claims.jpeg'], 'images': [
'images/claim_categories.jpeg',
'images/claim_stages.jpeg',
'images/claims.jpeg'
],
} }
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -16,9 +16,9 @@
<field name="context">{"search_default_user_id":uid, "stage_type":'claim'}</field> <field name="context">{"search_default_user_id":uid, "stage_type":'claim'}</field>
<field name="search_view_id" ref="crm_claim.view_crm_case_claims_filter"/> <field name="search_view_id" ref="crm_claim.view_crm_case_claims_filter"/>
<field name="help" type="html"> <field name="help" type="html">
<p class="oe_view_nocontent_create"> <p class="oe_view_nocontent_create">
Record and track your customers' claims. Claims may be linked to a sales order or a lot.You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on).Claims may automatically be linked to an email address using the mail gateway module. Record and track your customers' claims. Claims may be linked to a sales order or a lot.You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on).Claims may automatically be linked to an email address using the mail gateway module.
</p> </p>
</field> </field>
</record> </record>

View File

@ -216,35 +216,5 @@
</search> </search>
</field> </field>
</record> </record>
<record id="view_claim_partner_info_form1" model="ir.ui.view">
<field name="name">res.partner.claim.info.form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="priority">20</field>
<field name="arch" type="xml">
<xpath expr="//page[@name='page_history']" position="attributes">
<attribute name="invisible">False</attribute>
</xpath>
<xpath expr="//page[@name='page_history']" position="inside">
<group name="grp_claim" string="Claims">
<field name="claims_ids" colspan="4" nolabel="1">
<tree string="Partners Claim" editable="bottom">
<field name="name"/>
</tree>
</field>
</group>
</xpath>
</field>
</record>
<act_window
context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
id="act_claim_partner"
name="Claims"
view_mode="tree,form"
res_model="crm.claim"
src_model="res.partner"/>
</data> </data>
</openerp> </openerp>

View File

@ -0,0 +1,21 @@
<?xml version="1.0"?>
<openerp>
<data>
<!-- Partners inherited form -->
<record id="view_claim_res_partner_info_form" model="ir.ui.view">
<field name="name">res.partner.claim.info.form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="priority" eval="50"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='buttons']" position="inside">
<button class="oe_inline" type="action"
name="%(crm_case_categ_claim0)d"
string="Claims"
context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}"
groups="base.group_sale_salesman" />
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -21,15 +21,13 @@
from openerp.osv import fields, osv from openerp.osv import fields, osv
class res_partner(osv.osv): class res_partner(osv.osv):
_inherit = 'res.partner' _inherit = 'res.partner'
_columns = { _columns = {
'speaker': fields.boolean('Speaker', help="Check this box if this contact is a speaker."), 'speaker': fields.boolean('Speaker', help="Check this box if this contact is a speaker."),
'event_ids': fields.one2many('event.event','main_speaker_id', readonly=True),
'event_registration_ids': fields.one2many('event.registration','partner_id', readonly=True),
} }
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -2,9 +2,8 @@
<openerp> <openerp>
<data> <data>
<!-- Partners inherited form --> <!-- Partners inherited form -->
<record id="view_event_partner_info_form" model="ir.ui.view">
<record id="view_event_partner_info_form" model="ir.ui.view">
<field name="name">res.partner.event.info.inherit</field> <field name="name">res.partner.event.info.inherit</field>
<field name="model">res.partner</field> <field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/> <field name="inherit_id" ref="base.view_partner_form"/>
@ -12,34 +11,8 @@
<field name="supplier" position="after"> <field name="supplier" position="after">
<field name="speaker"/> <field name="speaker"/>
</field> </field>
<xpath expr="//page[@name='page_history']" position="attributes">
<attribute name="invisible">False</attribute>
</xpath>
<xpath expr="//page[@name='page_history']" position="inside">
<group name="grp_event" string="Events">
<field name="event_ids" colspan="4" nolabel="1">
<tree string="Events">
<field name="name" string="Event"/>
<field name="main_speaker_id"/>
</tree>
</field>
</group>
<group name="grp_registration" string="Registrations">
<field name="event_registration_ids" colspan="4" nolabel="1">
<tree string="Events Registration">
<field name="event_begin_date" string="Date"/>
<field name="event_id" />
<field name="nb_register"/>
<field name="state"/>
<button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
<button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
<button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
</tree>
</field>
</group>
</xpath>
</field> </field>
</record> </record>
</data> </data>
</openerp> </openerp>

View File

@ -20,7 +20,6 @@
############################################################################## ##############################################################################
import marketing_campaign import marketing_campaign
import res_partner
import report import report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -59,7 +59,6 @@ input segments, workflow.
'marketing_campaign_view.xml', 'marketing_campaign_view.xml',
'marketing_campaign_data.xml', 'marketing_campaign_data.xml',
'marketing_campaign_workflow.xml', 'marketing_campaign_workflow.xml',
'res_partner_view.xml',
'report/campaign_analysis_view.xml', 'report/campaign_analysis_view.xml',
'security/marketing_campaign_security.xml', 'security/marketing_campaign_security.xml',
'security/ir.model.access.csv' 'security/ir.model.access.csv'

View File

@ -1,41 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# 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/>.
#
##############################################################################
from openerp.osv import fields,osv
class res_partner(osv.osv):
_inherit = 'res.partner'
_columns = {
'workitem_ids': fields.one2many('marketing.campaign.workitem',
'partner_id', 'Workitems',
readonly=True),
}
def copy(self, cr, uid, id, default={}, context=None):
default.update({
'workitem_ids': [],
})
return super(res_partner, self).copy(cr, uid, id, default=default, context=context)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,23 +0,0 @@
<?xml version="1.0"?>
<openerp>
<data>
<!-- Partners inherited form -->
<record id="view_workitem_partner_info_form" model="ir.ui.view">
<field name="name">res.partner.workitem.info.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='page_history']" position="attributes">
<attribute name="invisible">False</attribute>
</xpath>
<xpath expr="//page[@name='page_history']" position="inside">
<group name="grp_campaign" string="Campaigns">
<field name="workitem_ids" colspan="4" nolabel="1"/>
</group>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -32,6 +32,7 @@
<separator/> <separator/>
<filter string="Deadlines" context="{'deadline_visible': False}" domain="[('date_deadline','&lt;&gt;',False)]" <filter string="Deadlines" context="{'deadline_visible': False}" domain="[('date_deadline','&lt;&gt;',False)]"
help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/> help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/>
<field name="partner_id"/>
<field name="project_id"/> <field name="project_id"/>
<field name="user_id"/> <field name="user_id"/>
<group expand="0" string="Group By..."> <group expand="0" string="Group By...">

View File

@ -4,28 +4,20 @@
<!-- Partners inherited form --> <!-- Partners inherited form -->
<record id="view_task_partner_info_form" model="ir.ui.view"> <record id="view_task_partner_info_form" model="ir.ui.view">
<field name="name">res.partner.task.info.inherit</field> <field name="name">res.partner.task.buttons</field>
<field name="model">res.partner</field> <field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/> <field name="inherit_id" ref="base.view_partner_form"/>
<field name="priority" eval="50"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//page[@name='page_history']" position="attributes"> <xpath expr="//div[@name='buttons']" position="inside">
<attribute name="invisible">False</attribute> <button class="oe_inline" type="action"
</xpath> name="%(action_view_task)d"
<xpath expr="//page[@name='page_history']" position="inside"> string="Tasks"
<group name="grp_task" string="Tasks"> context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}"
<field name="task_ids" colspan="4" nolabel="1"> groups="project.group_project_user" />
<tree string="Tasks" editable="bottom">
<field name="name"/>
<field name="user_id"/>
<field name="date_deadline"/>
<field name="state" invisible="1"/>
<button name="do_open" states="pending,draft,done,cancelled" string="Start Task" type="object" icon="gtk-media-play" help="For changing to open state" invisible="context.get('set_visible',False)"/>
<button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state"/>
</tree>
</field>
</group>
</xpath> </xpath>
</field> </field>
</record> </record>
</data> </data>
</openerp> </openerp>

View File

@ -283,22 +283,6 @@
</field> </field>
</record> </record>
<record id="view_project_feature_filter" model="ir.ui.view">
<field name="name">Project Issue - Feature Tracker Search</field>
<field name="model">project.issue</field>
<field name="arch" type="xml">
<search string="Feature Tracker Search">
<field name="name" string="Feature description"/>
<field name="date"/>
<field name="state" groups="base.group_no_one"/>
<filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/>
<filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/>
<field name="user_id"/>
<field name="project_id" string="Project"/>
</search>
</field>
</record>
<record id="act_project_project_2_project_issue_all" model="ir.actions.act_window"> <record id="act_project_project_2_project_issue_all" model="ir.actions.act_window">
<field name="res_model">project.issue</field> <field name="res_model">project.issue</field>
<field name="view_type">form</field> <field name="view_type">form</field>
@ -384,16 +368,33 @@
</field> </field>
</record> </record>
<record id="action_view_issues" model="ir.actions.act_window">
<field name="res_model">project.issue</field>
<field name="view_type">form</field>
<field name="name">Issues</field>
<field name="view_mode">kanban,tree,form,calendar,graph</field>
<field name="help" type="html">
<p>
The OpenERP issues tacker allows you to efficiantly manage things
like internal requests, software development bugs, customer
complaints, project troubles, material breakdowns, etc.
</p>
</field>
</record>
<!-- res.partner --> <!-- res.partner -->
<record model="ir.ui.view" id="res_partner_issues_button_view"> <record model="ir.ui.view" id="res_partner_issues_button_view">
<field name="name">res.partner.issues.button.view</field> <field name="name">res.partner.issues.button.view</field>
<field name="model">res.partner</field> <field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" /> <field name="inherit_id" ref="base.view_partner_form" />
<field name="priority" eval="10"/> <field name="priority" eval="50"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//div[@name='buttons']" position="inside"> <xpath expr="//div[@name='buttons']" position="inside">
<button type="action" string="Issues" attrs="{'invisible': [('customer', '=', False)]}" <button class="oe_inline" type="action" string="Issues"
name="%(act_project_project_2_project_issue_all)d" context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}" groups="project.group_project_user"/> attrs="{'invisible': [('customer', '=', False)]}"
name="%(action_view_issues)d"
context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}"
groups="project.group_project_user"/>
</xpath> </xpath>
</field> </field>
</record> </record>