[IMP] project_long_term: improve gantt view

bzr revid: hmo@tinyerp.com-20101014102654-e3wkawf339sc9ido
This commit is contained in:
Harry (OpenERP) 2010-10-14 15:56:54 +05:30
parent 2b29d4784d
commit 10ecb719bd
4 changed files with 45 additions and 37 deletions

View File

@ -88,7 +88,6 @@ class document_file(osv.osv):
'parent_id': fields.many2one('document.directory', 'Directory', select=1, required=True),
'index_content': fields.text('Indexed Content'),
'partner_id':fields.many2one('res.partner', 'Partner', select=1),
'company_id': fields.many2one('res.company', 'Company'),
'file_size': fields.integer('File Size', required=True),
'file_type': fields.char('Content Type', size=128),
@ -102,7 +101,6 @@ class document_file(osv.osv):
return dirobj._get_root_directory(cr, uid, context)
_defaults = {
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'ir.attachment', context=c),
'user_id': lambda self, cr, uid, ctx:uid,
'file_size': lambda self, cr, uid, ctx:0,
'parent_id': __get_def_directory

View File

@ -277,38 +277,42 @@
</form>
</field>
</record>
<record id="view_attach_filter" model="ir.ui.view">
<field name="name">IR Attachment</field>
<record id="view_attach_filter_inherit0" model="ir.ui.view">
<field name="name">IR Attachment0</field>
<field name="model">ir.attachment</field>
<field name="type">search</field>
<field name="inherit_id" ref="base.view_attachment_search"/>
<field name="arch" type="xml">
<search string="Document">
<filter icon="terp-go-month" string="Month"
domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')),('create_date','&gt;=',time.strftime('%%Y-%%m-01'))]"
/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="parent_id" />
<field name="user_id">
<filter icon="terp-personal"
domain="[('user_id','=',uid)]"
help="Filter on my documents" />
</field>
<field name="partner_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<newline/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-personal" domain="[]"
<field name="create_uid" position="replace">
<field name="user_id">
<filter icon="terp-personal"
domain="[('user_id','=',uid)]"
help="Filter on my documents" />
</field>
<field name="parent_id" />
</field>
</field>
</record>
<record id="view_attach_filter_inherit2" model="ir.ui.view">
<field name="name">IR Attachment2</field>
<field name="model">ir.attachment</field>
<field name="type">search</field>
<field name="inherit_id" ref="base.view_attachment_search"/>
<field name="arch" type="xml">
<filter string="Owner" position="replace">
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-partner" domain="[]"
context="{'group_by':'partner_id'}" groups="base.group_extended"/>
<filter string="Directory" icon="terp-folder-green" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}" groups="base.group_extended"/>
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Company" icon="terp-personal" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
</group>
</search>
</field>
</record>
</filter>
</field>
</record>
<record model="ir.ui.view" id="view_document_file_tree">
<field name="name">ir.attachment</field>
<field name="model">ir.attachment</field>
@ -319,6 +323,7 @@
<field name="name"/>
<field name="parent_id" />
<field name="user_id"/>
<field name="company_id"/>
<field name="create_date"/>
<field name="write_date"/>
<field name="partner_id" groups="base.group_extended" />
@ -333,7 +338,6 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.attachment</field>
<field name="view_type">form</field>
<field name="search_view_id" ref="view_attach_filter"/>
<field name="help">The Documents repository gives you access to all attachments, such as mails, project documents, invoices etc.</field>
</record>
<menuitem name="Documents" id="menu_document_doc" parent="knowledge.menu_document" sequence="0"/>

View File

@ -297,6 +297,7 @@ class project_phase(osv.osv):
if context is None:
context = {}
resource_pool = self.pool.get('resource.resource')
resource_allocation_pool = self.pool.get('project.resource.allocation')
uom_pool = self.pool.get('product.uom')
if context is None:
context = {}
@ -344,7 +345,12 @@ class project_phase(osv.osv):
'date_start': start_date.strftime('%Y-%m-%d'),
'date_end': end_date.strftime('%Y-%m-%d')
}, context=ctx)
# write dates into Resources Allocation
for resource in phase.resource_ids:
resource_allocation_pool.write(cr, uid, [resource.id], {
'date_start': start_date.strftime('%Y-%m-%d'),
'date_end': end_date.strftime('%Y-%m-%d')
}, context=ctx)
# Recursive call till all the next phases scheduled
for phase in phase.next_phase_ids:
if phase.state in ['draft', 'open', 'pending']:

View File

@ -14,8 +14,8 @@
<field name="type">gantt</field>
<field name="arch" type="xml">
<gantt color="phase_id" date_start="date_start" date_stop="date_end" string="R.A." mode="year">
<level object="res.users" link="user_id" domain="[]">
<field name="useability" string="Availability"/>
<level object="project.resource.allocation" link="id" domain="[]">
<field name="resource_id"/>
</level>
</gantt>
</field>
@ -27,7 +27,7 @@
<field name="type">calendar</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<calendar color="user_id" date_start="date_start" date_stop="date_end" day_length="12" string="Resources">
<calendar color="resource_id" date_start="date_start" date_stop="date_end" day_length="12" string="Resources">
<field name="phase_id"/>
<field name="project_id"/>
</calendar>
@ -244,7 +244,7 @@
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<gantt color="responsible_id" date_stop="date_end" date_start="date_start" string="Phases">
<level object="project.project" link="project_id" domain="[]">
<level object="project.phase" link="id" domain="[]">
<field name="name"/>
</level>
</gantt>
@ -288,7 +288,7 @@
<field name="res_model">project.phase</field>
<field name="view_type">form</field>
<field name="view_mode">gantt,tree,form,calendar</field>
<field name="context">{'search_default_responsible_id':uid,'group_by':'project_id'}</field>
<field name="context">{'search_default_responsible_id':uid,'search_default_project':1}</field>
<field name="search_view_id" ref="view_project_phase_search"/>
<field name="help">You can subdivide your larger projects into several phases. For each phase, you can define your resources allocation (humans or engine), describe de differend task and link your phase with previous and next one, add constraints date and scheduling. A gantt view of your project phase is also available from this menu. Gantt view is a graphically draw of the project plan; it includes any task dependencies by visually adjusting task durations and priorities, and by linking tasks to each other.</field>
</record>
@ -298,7 +298,7 @@
<field name="res_model">project.phase</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="context">{'search_default_responsible_id':uid,'group_by':'project_id'}</field>
<field name="context">{'search_default_responsible_id':uid,'search_default_project':1}</field>
<field name="search_view_id" ref="view_project_phase_search"/>
</record>