[IMP] Project TODO, CRM TODO

bzr revid: fp@tinyerp.com-20111107221337-if1e6us8r95jdfel
This commit is contained in:
Fabien Pinckaers 2011-11-07 23:13:37 +01:00
commit 9fd3158961
11 changed files with 257 additions and 78 deletions

View File

@ -10,12 +10,12 @@
<field eval="'The Oil Company'" name="partner_name"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'Luc Latour'" name="contact_name"/>
<field eval="'Luc Latour'" name="contact_name"/>
<field name="title" ref="base.res_partner_title_sir"/>
<field eval="'Training Manager'" name="function"/>
<field eval="'Paris'" name="city"/>
<field name="country_id" ref="base.fr"/>
<field eval="'luc.latour@oilcompany.fr'" name="email_from"/>
<field eval="'Training Manager'" name="function"/>
<field eval="'Paris'" name="city"/>
<field name="country_id" ref="base.fr"/>
<field eval="'luc.latour@oilcompany.fr'" name="email_from"/>
<field eval="'0033 621 782-0636'" name="mobile"/>
<field eval="1" name="active"/>
<field name="stage_id" ref="crm.stage_lead1"/>
@ -29,12 +29,12 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Le Club SARL'" name="partner_name"/>
<field eval="'Marc Dufour'" name="contact_name"/>
<field eval="'Marc Dufour'" name="contact_name"/>
<field name="title" ref="base.res_partner_title_sir"/>
<field eval="'Purchase Manager'" name="function"/>
<field eval="'Bordeaux'" name="city"/>
<field name="country_id" ref="base.fr"/>
<field eval="'md@leclub.fr'" name="email_from"/>
<field eval="'Purchase Manager'" name="function"/>
<field eval="'Bordeaux'" name="city"/>
<field name="country_id" ref="base.fr"/>
<field eval="'md@leclub.fr'" name="email_from"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(392) 895-7917'" name="mobile"/>
@ -50,9 +50,9 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="'The Kompany'" name="partner_name"/>
<field eval="'John Miller'" name="contact_name"/>
<field eval="'New-York'" name="city"/>
<field name="country_id" ref="base.us"/>
<field eval="'John Miller'" name="contact_name"/>
<field eval="'New-York'" name="city"/>
<field name="country_id" ref="base.us"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(820) 167-3208'" name="mobile"/>
@ -68,9 +68,9 @@
<field eval="'3'" name="priority"/>
<field name="type">lead</field>
<field eval="'The Gas Company'" name="partner_name"/>
<field eval="'Henry Mc Coy'" name="contact_name"/>
<field eval="'London'" name="city"/>
<field name="country_id" ref="base.uk"/>
<field eval="'Henry Mc Coy'" name="contact_name"/>
<field eval="'London'" name="city"/>
<field name="country_id" ref="base.uk"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(077) 582-4035'" name="mobile"/>
@ -87,10 +87,10 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Stonage IT'" name="partner_name"/>
<field eval="'Carrie Helle'" name="contact_name"/>
<field eval="'Purchase Manager'" name="function"/>
<field eval="'Bruxelles'" name="city"/>
<field name="country_id" ref="base.be"/>
<field eval="'Carrie Helle'" name="contact_name"/>
<field eval="'Purchase Manager'" name="function"/>
<field eval="'Bruxelles'" name="city"/>
<field name="country_id" ref="base.be"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(333) 715-1450'" name="mobile"/>
@ -111,10 +111,10 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_root"/>
<field eval="'Opensides'" name="partner_name"/>
<field eval="'Tina Pinero'" name="contact_name"/>
<field eval="'Consultant'" name="function"/>
<field eval="'Roma'" name="city"/>
<field name="country_id" ref="base.it"/>
<field eval="'Tina Pinero'" name="contact_name"/>
<field eval="'Consultant'" name="function"/>
<field eval="'Roma'" name="city"/>
<field name="country_id" ref="base.it"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(468) 017-2684'" name="mobile"/>
@ -131,10 +131,10 @@
<field name="type">lead</field>
<field name="user_id" ref="base.user_demo"/>
<field eval="'Gardner Group'" name="partner_name"/>
<field eval="'Wendi Baltz'" name="contact_name"/>
<field eval="'Journalist'" name="function"/>
<field eval="'Kiev'" name="city"/>
<field name="country_id" ref="base.ua"/>
<field eval="'Wendi Baltz'" name="contact_name"/>
<field eval="'Journalist'" name="function"/>
<field eval="'Kiev'" name="city"/>
<field name="country_id" ref="base.ua"/>
<field eval="'draft'" name="state"/>
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(463) 014-1208'" name="mobile"/>
@ -155,12 +155,12 @@
<field name="categ_id" ref="crm.categ_oppor6"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Survey Expert'" name="partner_name"/>
<field eval="'John Smith'" name="contact_name"/>
<field eval="'Sales'" name="function"/>
<field eval="'Cambridge'" name="city"/>
<field name="country_id" ref="base.uk"/>
<field eval="'John Smith'" name="contact_name"/>
<field eval="'Sales'" name="function"/>
<field eval="'Cambridge'" name="city"/>
<field name="country_id" ref="base.uk"/>
<field eval="'smith_john@gmail.com'" name="email_from"/>
<field eval="'(282) 596-8584'" name="phone"/>
<field eval="'(282) 596-8584'" name="phone"/>
</record>
<record id="crm_case_business_card0" model="crm.lead">
<field eval="1" name="active"/>
@ -174,12 +174,12 @@
<field name="categ_id" ref="crm.categ_oppor5"/>
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Marketing Business'" name="partner_name"/>
<field eval="'Laure Smith'" name="contact_name"/>
<field eval="'Sales'" name="function"/>
<field eval="'Oxford'" name="city"/>
<field name="country_id" ref="base.uk"/>
<field eval="'Laure Smith'" name="contact_name"/>
<field eval="'Sales'" name="function"/>
<field eval="'Oxford'" name="city"/>
<field name="country_id" ref="base.uk"/>
<field eval="'l.smith@marketing-business.com'" name="email_from"/>
<field eval="'(252) 578-7894'" name="phone"/>
<field eval="'(252) 578-7894'" name="phone"/>
</record>
<record id="crm_case_imported_contact0" model="crm.lead">
<field eval="1" name="active"/>
@ -204,7 +204,7 @@
<field name="categ_id" ref="crm.categ_oppor3"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Agrolait'" name="partner_name"/>
<field eval="'Sylvie Lelitre'" name="contact_name"/>
<field eval="'Sylvie Lelitre'" name="contact_name"/>
</record>
<record id="crm_case_company_partnership0" model="crm.lead">
<field eval="1" name="active"/>
@ -270,7 +270,7 @@
<field name="categ_id" ref="crm.categ_oppor3"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Pricing Information of Onsite Intervention'" name="name"/>
<field eval="'Send price list regarding our interventions'" name="title_action"/>
<field eval="'Send price list regarding our interventions'" name="title_action"/>
<field name="partner_name">BalmerInc S.A.</field>
<field name="street">Rue des Palais 51, bte 33</field>
<field name="city">Bruxelles</field>
@ -291,14 +291,14 @@
<field name="categ_id" ref="crm.categ_oppor3"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Interest in your Kitchen Design Project'" name="name"/>
<field eval="'Send Catalogue by E-Mail'" name="title_action"/>
<field eval="'Send Catalogue by E-Mail'" name="title_action"/>
<field name="partner_name">Lucie Vonck</field>
<field name="street">Chaussée de Namur</field>
<field name="city">Grand-Rosière</field>
<field eval="1367" name="zip"/>
<field name="country_id" ref="base.be"/>
</record>
<record id="crm_case_unifliege" model="crm.lead">
<record id="crm_case_unifliege" model="crm.lead">
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead2"/>
@ -313,7 +313,7 @@
<field name="categ_id" ref="crm.categ_oppor6"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Plan train our students on your product'" name="name"/>
<field eval="'Call to define real needs about training'" name="title_action"/>
<field eval="'Call to define real needs about training'" name="title_action"/>
<field eval="4000" name="zip"/>
<field name="partner_name">Université de Liège</field>
<field name="street">Place du 20Août</field>
@ -321,7 +321,7 @@
<field eval="75016" name="zip"/>
<field name="country_id" ref="base.be"/>
</record>
<record id="crm_case_bankwealthy2" model="crm.lead">
<record id="crm_case_bankwealthy2" model="crm.lead">
<field eval="1" name="active"/>
<field name="type">opportunity</field>
<field name="type_id" ref="crm.type_lead2"/>
@ -336,7 +336,7 @@
<field name="categ_id" ref="crm.categ_oppor2"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Plan to buy 66 keyboards and 66 mouses'" name="name"/>
<field eval="'Propose the kit keyboard+mouse'" name="title_action"/>
<field eval="'Propose the kit keyboard+mouse'" name="title_action"/>
<field name="partner_name">Bank Wealthy and sons</field>
<field name="street">1 rue Rockfeller</field>
<field name="city">Paris</field>
@ -377,7 +377,7 @@
<field name="stage_id" ref="crm.stage_lead4"/>
<field eval="'Need new design for my website'" name="name"/>
<field eval="'info@opensides.be'" name="email_from"/>
<field eval="'Convert to quote'" name="title_action"/>
<field eval="'Convert to quote'" name="title_action"/>
<field name="partner_name">Dubois sprl</field>
<field name="street">Avenue de la Liberté 56</field>
<field name="city">Brussels</field>
@ -399,7 +399,7 @@
<field name="stage_id" ref="crm.stage_lead6"/>
<field eval="'Want to subscribe to your online solution'" name="name"/>
</record>
<record id="crm_case_dirtminingltdunits0" model="crm.lead">
<record id="crm_case_dirtminingltdunits0" model="crm.lead">
<field eval="30" name="probability"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
@ -413,7 +413,7 @@
<field name="stage_id" ref="crm.stage_lead6"/>
<field eval="'Interest in your Partnership Contract'" name="name"/>
</record>
<record id="crm_case_dirtminingltdunits10" model="crm.lead">
<record id="crm_case_dirtminingltdunits10" model="crm.lead">
<field eval="30" name="probability"/>
<field name="partner_address_id" ref="base.res_partner_address_3000"/>
<field eval="1" name="active"/>
@ -428,14 +428,14 @@
<field name="categ_id" ref="crm.categ_oppor2"/>
<field name="stage_id" ref="crm.stage_lead2"/>
<field eval="'Plan to attend a training'" name="name"/>
<field eval="'Call to give info about next training session'" name="title_action"/>
<field eval="'Call to give info about next training session'" name="title_action"/>
<field name="partner_name">Axelor</field>
<field name="street">12 rue Albert Einstein</field>
<field name="city">Champs sur Marne</field>
<field eval="77420" name="zip"/>
<field name="country_id" ref="base.fr"/>
</record>
<record id="crm_case_construstazunits0" model="crm.lead">
<record id="crm_case_construstazunits0" model="crm.lead">
<field eval="60" name="probability"/>
<field name="partner_address_id" ref="base.res_partner_address_thymbra"/>
<field eval="1" name="active"/>
@ -458,7 +458,7 @@
<field eval="1659" name="zip"/>
<field name="country_id" ref="base.ar"/>
</record>
<record id="crm_case_ericdubois4" model="crm.lead">
<record id="crm_case_ericdubois4" model="crm.lead">
<field eval="65" name="probability"/>
<field name="partner_address_id" ref="base.res_partner_address_ericdubois0"/>
<field eval="1" name="active"/>
@ -480,7 +480,7 @@
<field eval="7000" name="zip"/>
<field name="country_id" ref="base.be"/>
</record>
<record id="crm_case_fabiendupont" model="crm.lead">
<record id="crm_case_fabiendupont" model="crm.lead">
<field name="partner_address_id" ref="base.res_partner_address_fabiendupont0"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>
@ -493,7 +493,7 @@
<field name="stage_id" ref="crm.stage_lead1"/>
<field eval="'Need more info about the onsite intervention'" name="name"/>
</record>
<record id="crm_case_shelvehouse" model="crm.lead">
<record id="crm_case_shelvehouse" model="crm.lead">
<field name="partner_address_id" ref="base.res_partner_address_henrychard1"/>
<field eval="1" name="active"/>
<field name="type">opportunity</field>

View File

@ -0,0 +1,22 @@
# -*- 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/>.
#
##############################################################################
import crm_todo

View File

@ -0,0 +1,38 @@
# -*- 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/>.
#
##############################################################################
{
'name': 'To Do List for CRM',
'version': '1.0',
'category': 'Sales',
'description': """
Todo list for CRM leads and opportunities.
""",
'author': 'OpenERP SA',
'depends': ['crm','project_gtd'],
'update_xml': [
'crm_todo_view.xml',
],
'demo': [
'crm_todo_demo.xml',
],
}

View File

@ -0,0 +1,37 @@
# -*- 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 osv import fields, osv
class project_task(osv.osv):
_inherit = 'project.task'
_columns = {
'lead_id': fields.many2one('crm.lead', 'Lead / Opportunity')
}
class crm_todo(osv.osv):
_inherit = 'crm.lead'
_columns = {
'task_ids': fields.one2many('project.task', 'lead_id', 'Tasks'),
}

View File

@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<openerp>
<data>
<record id="project.project_task_188" model="project.task">
<field name="lead_id" ref="crm.crm_case_fabiendupont"/>
</record>
<record id="project.project_task_186" model="project.task">
<field name="lead_id" ref="crm.crm_case_fabiendupont"/>
</record>
<record id="project.project_task_184" model="project.task">
<field name="lead_id" ref="crm.crm_case_dirtminingltdunits25"/>
</record>
</data>
</openerp>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" ?>
<openerp>
<data>
<record id="crm_todo_opportunity_add" model="ir.ui.view">
<field name="name">Opportunities - Tasks</field>
<field name="model">crm.lead</field>
<field name="type">form</field>
<field name="inherit_id" ref="crm.crm_case_form_view_oppor" />
<field name="arch" type="xml">
<data>
<page string="Extra Info" position="before">
<page string="Tasks">
<field name="task_ids" colspan="4" nolabel="1">
<tree editable="bottom" string="Tasks">
<field name="name"/>
<field name="user_id"/>
<field string="Timebox" name="timebox_id"/>
<button name="prev_timebox" type="object" icon="gtk-go-back" string="Previous" states="draft,pending,open"/>
<button name="next_timebox" type="object" icon="gtk-go-forward" string="Next" states="draft,pending,open"/>
<field name="state"/>
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/>
<button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state"/>
</tree>
</field>
</page>
</page>
</data>
</field>
</record>
<record model="ir.ui.view" id="project_task_crm_tree">
<field name="name">project.task.tree.crm</field>
<field name="model">project.task</field>
<field name="type">tree</field>
<field name="priority">20</field>
<field name="inherit_id" ref="project.view_task_tree2" />
<field name="arch" type="xml">
<field name="remaining_hours" position="after">
<field name="lead_id" invisible="not context.get('lead_id', False)"/>
</field>
</field>
</record>
<record model="ir.actions.act_window" id="crm_todo_action">
<field name="name">Todo List</field>
<field name="res_model">project.task</field>
<field name="context">{'set_editable':True,'set_visible':True,'gtd':True,'user_invisible':True, 'search_default_user_id':uid, "search_default_current": 1, "search_default_open": 1, "lead_id": 1}</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,gantt,graph,kanban</field>
</record>
<menuitem name="Tasks"
id="menu_crm_todo"
parent="base.menu_sales"
action="crm_todo_action"/>
</data>
</openerp>

View File

@ -398,9 +398,9 @@
<field name="user_id" invisible="context.get('user_invisible', False)"/>
<field name="delegated_user_id" invisible="context.get('show_delegated', True)"/>
<field name="total_hours" invisible="1"/>
<field name="planned_hours"/>
<field name="planned_hours" invisible="context.get('set_visible',False)"/>
<field name="effective_hours" widget="float_time" sum="Spent Hours" invisible="1"/>
<field name="remaining_hours" widget="float_time" sum="Remaining Hours" on_change="onchange_remaining(remaining_hours,planned_hours)"/>
<field name="remaining_hours" widget="float_time" sum="Remaining Hours" on_change="onchange_remaining(remaining_hours,planned_hours)" invisible="context.get('set_visible',False)"/>
<field name="date_deadline" invisible="context.get('deadline_visible',True)"/>
<field name="type_id" groups="base.group_extended" invisible="context.get('set_visible',False)"/>
<button name="next_type" invisible="context.get('set_visible',False)"
@ -485,6 +485,7 @@
<filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-personal"/>
</field>
<field name="user_id">
<filter domain="[('user_id','=',uid)]" help="My Tasks" icon="terp-personal" />
<filter domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="terp-personal-" />
</field>
</group>
@ -513,11 +514,11 @@
<field name="view_mode">tree,form,calendar,gantt,graph,kanban</field>
<field eval="False" name="filter"/>
<field name="view_id" ref="view_task_tree2"/>
<field name="context">{"search_default_user_id":uid, "search_default_draft": 1, "search_default_open":1 }</field>
<field name="context">{"search_default_draft": 1, "search_default_open":1 }</field>
<field name="search_view_id" ref="view_task_search_form"/>
<field name="help">A task represents a work that has to be done. Each user works in his own list of tasks where he can record his task work in hours. He can work and close the task itself or delegate it to another user. If you delegate a task to another user, you get a new task in pending state, which will be reopened when you have to review the work achieved. If you install the project_timesheet module, task work can be invoiced based on the project configuration. With the project_mrp module, sales orders can create tasks automatically when they are confirmed.</field>
</record>
<menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_project_management" sequence="3"/>
<record id="action_view_task_overpassed_draft" model="ir.actions.act_window">

View File

@ -104,25 +104,22 @@ class project_task(osv.osv):
res = super(project_task,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
search_extended = False
timebox_obj = self.pool.get('project.gtd.timebox')
access_pool = self.pool.get('ir.model.access')
if (res['type'] == 'search') and access_pool.check_groups(cr, uid, "project_gtd.group_project_getting"):
if (res['type'] == 'search') and context.get('gtd', False):
tt = timebox_obj.browse(cr, uid, timebox_obj.search(cr,uid,[]), context=context)
search_extended ='''<newline/><group col="%d" expand="%d" string="%s">''' % (len(tt)+7,1,_('Getting Things Done'))
search_extended += '''<filter domain="[('timebox_id','=', False)]" context="{'set_editable':True,'set_visible':True,'gtd_visible':True,'user_invisible':True}" icon="gtk-new" help="Undefined Timebox" string="%s"/>''' % (_('Inbox'),)
search_extended += '''<filter context="{'set_editable':True,'set_visible':True,'gtd_visible':True,'user_invisible':True}" icon="gtk-new" help="Getting things done" string="%s"/>''' % (_('GTD'),)
search_extended ='''<newline/>'''
search_extended += '''<filter domain="[('timebox_id','=', False)]" context="{'set_editable':True,'set_visible':True,'user_invisible':True}" icon="gtk-new" help="Undefined Timebox" string="%s"/>''' % (_('Inbox'),)
search_extended += '''<separator orientation="vertical"/>'''
for time in tt:
if time.icon:
icon = time.icon
else :
icon=""
search_extended += '''<filter domain="[('timebox_id','=', ''' + str(time.id) + ''')]" icon="''' + icon + '''" string="''' + time.name + '''" context="{'gtd_visible':True, 'user_invisible': True}"/>'''
search_extended += '''<filter domain="[('timebox_id','=', ''' + str(time.id) + ''')]" icon="''' + icon + '''" string="''' + time.name + '''" context="{'user_invisible': True}"/>'''
search_extended += '''
<separator orientation="vertical"/>
<field name="context_id" select="1" widget="selection"/>
</group>
</search> '''
if search_extended:
</search>'''
res['arch'] = unicode(res['arch'], 'utf8').replace('</search>', search_extended)
attrs_sel = self.pool.get('project.gtd.context').name_search(cr, uid, '', [], context=context)
context_id_info = self.pool.get('project.task').fields_get(cr, uid, ['context_id'], context=context)

View File

@ -1,8 +1,5 @@
<?xml version="1.0" ?>
<openerp>
<data>
<record model="res.groups" id="group_project_getting">
<field name="name">Project / Methodology / Getting Things Done</field>
</record>
</data>
</openerp>

View File

@ -31,7 +31,7 @@
<field name="help">Contexts are defined in the "Getting Things Done" methodology. It allows you to categorize your tasks according to the context in which they have to be done: at the office, at home, when I take my car, etc.</field>
</record>
<menuitem name="Contexts" id="menu_open_gtd_time_contexts" groups="group_project_getting"
<menuitem name="Contexts" id="menu_open_gtd_time_contexts"
parent="project.menu_tasks_config" action="open_gtd_context_tree"/>
<record model="ir.ui.view" id="view_gtd_timebox_tree">
@ -79,10 +79,10 @@
<field name="inherit_id" ref="project.view_task_tree2" />
<field name="arch" type="xml">
<field name="remaining_hours" position="after">
<field string="Timebox" name="timebox_id" groups="project_gtd.group_project_getting" invisible=" not context.get('gtd_visible', False)"/>
<button name="prev_timebox" type="object" icon="gtk-go-back" string="Previous" states="draft,pending,open" groups="project_gtd.group_project_getting" invisible=" not context.get('gtd_visible',False)"/>
<button name="next_timebox" type="object" icon="gtk-go-forward" string="Next" states="draft,pending,open" groups="project_gtd.group_project_getting" invisible=" not context.get('gtd_visible',False)"/>
<field name="context_id" groups="project_gtd.group_project_getting" invisible="not context.get('gtd_visible', False)" widget="selection"/>
<field string="Timebox" name="timebox_id" invisible=" not context.get('gtd', False)"/>
<button name="prev_timebox" type="object" icon="gtk-go-back" string="Previous" states="draft,pending,open" invisible=" not context.get('gtd',False)"/>
<button name="next_timebox" type="object" icon="gtk-go-forward" string="Next" states="draft,pending,open" invisible=" not context.get('gtd',False)"/>
<field name="context_id" invisible="not context.get('gtd', False)" widget="selection"/>
<button name="do_reopen" states="done,cancelled" string="Reactivate" type="object" icon="gtk-convert" help="For reopening the tasks" invisible="not context.get('set_visible',False)"/>
</field>
</field>
@ -95,11 +95,22 @@
<field name="inherit_id" ref="project.view_task_form2" />
<field name="arch" type="xml">
<field name="progress" position="after">
<field name="context_id" widget="selection" groups="project_gtd.group_project_getting"/>
<field name="timebox_id" widget="selection" select="1" groups="project_gtd.group_project_getting"/>
<field name="context_id" widget="selection"/>
<field name="timebox_id" widget="selection" select="1"/>
</field>
</field>
</record>
<record model="ir.actions.act_window" id="open_gtd_task">
<field name="name">Todo List</field>
<field name="res_model">project.task</field>
<field name="context">{'set_editable':True,'set_visible':True,'gtd':True,'user_invisible':True, 'search_default_user_id':uid, "search_default_draft": 1, "search_default_open": 1}</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,gantt,graph,kanban</field>
</record>
<menuitem action="open_gtd_task" id="menu_open_gtd_timebox_tree" parent="project.menu_project_management" sequence="4"/>
</data>
</openerp>

View File

@ -1,6 +1,4 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_project_gtd_context","project.gtd.context","model_project_gtd_context","group_project_getting",1,1,1,1
"access_project_gtd_timebox","project.gtd.timebox","model_project_gtd_timebox","group_project_getting",1,1,1,1
"access_project_gtd_context_user","project.gtd.context project user","model_project_gtd_context","project.group_project_user",1,0,0,0
"access_project_gtd_timebox_user","project.gtd.timebox project user","model_project_gtd_timebox","project.group_project_user",1,0,0,0
"access_project_gtd_context_manager","project.gtd.context project manager","model_project_gtd_context","project.group_project_manager",1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
access_project_gtd_context project.gtd.context model_project_gtd_context group_project_getting 1 1 1 1
access_project_gtd_timebox project.gtd.timebox model_project_gtd_timebox group_project_getting 1 1 1 1
2 access_project_gtd_context_user project.gtd.context project user model_project_gtd_context project.group_project_user 1 0 0 0
3 access_project_gtd_timebox_user project.gtd.timebox project user model_project_gtd_timebox project.group_project_user 1 0 0 0
4 access_project_gtd_context_manager project.gtd.context project manager model_project_gtd_context project.group_project_manager 1 1 1 1