changes done in project.py, project_view.xml, project_wizard.xml

bzr revid: solanki.priyesh@gmail.com-20080902124253-hubs1f03nectzvvj
This commit is contained in:
Priyesh
2008-09-02 18:12:53 +05:30
parent cdc4a1018f
commit 48670c7cf2
3 changed files with 27 additions and 108 deletions
+17 -9
View File
@@ -125,16 +125,15 @@ class project(osv.osv):
('hour', 'By Hour'),
('effective', 'By Effective Hour')
], 'Price setting mode'),
'partner_id': fields.many2one('res.partner', 'Customer'),
'partner_id': fields.many2one('res.partner', 'Partner'),
'contact_id': fields.many2one('res.partner.address', 'Contact'),
'pricelist_id': fields.many2one('product.pricelist', 'Pricelist'),
'tax_ids': fields.many2many('account.tax', 'project_account_tax_rel', 'project_id','tax_id', 'Applicable taxes'),
'warn_customer': fields.boolean('Warn customer'),
'warn_header': fields.text('Mail header'),
'warn_footer': fields.text('Mail footer'),
'notes': fields.text('Notes'),
'timesheet_id': fields.many2one('hr.timesheet.group', 'Working hours'),
'state': fields.selection([('open', 'Open'),('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'Status', required=True),
'state': fields.selection([('template', 'Template'), ('open', 'Open'), ('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', required=True, readonly=True),
}
_defaults = {
@@ -151,10 +150,21 @@ class project(osv.osv):
]
# toggle activity of projects, their sub projects and their tasks
def toggleActive(self, cr, uid, ids, context={}):
for proj in self.browse(cr, uid, ids, context):
self.setActive(cr, uid, proj.id, not proj.active, context)
return True
def settemplate(self, cr, uid, ids, context={}):
b_obj = self.browse(cr, uid, ids)[0]
task_data = self.pool.get('project.task').search(cr, uid, [('project_id','in',ids)])
for id in task_data:
self.pool.get('project.task').write(cr, uid, id, {'active':False})
return self.write(cr, uid, ids, {'state':'template'})
def resetproject(self, cr, uid, ids, context={}):
cr.execute('select id from project_task where project_id in ('+','.join(map(str, ids))+')')
for id in cr.fetchall():
self.pool.get('project.task').write(cr, uid, id[0], {'active':True})
return self.write(cr, uid, ids, {'state':'open'})
def duplicatetemplate(self, cr, uid, ids, context={}):
return self.pool.get('project.project').copy(cr, uid, ids[0], context=context)
# set active value for a project, its sub projects and its tasks
def setActive(self, cr, uid, id, value, context={}):
@@ -244,8 +254,6 @@ class task(osv.osv):
'effective_hours': fields.function(_hours_effect, method=True, string='Eff. Hours'),
'progress_rate': fields.function(_progress_rate, method=True, string='Progress', type='float'),
'progress': fields.integer('Progress (0-100)'),
'billable': fields.boolean('To be invoiced'),
'invoice_id': fields.many2one('account.invoice','Generated Invoice'),
'user_id': fields.many2one('res.users', 'Assigned to'),
'partner_id': fields.many2one('res.partner', 'Customer'),
'work_ids': fields.one2many('project.task.work', 'task_id', 'Work done'),
+9 -97
View File
@@ -14,10 +14,6 @@
<notebook>
<page string="Administration">
<field name="name" select="1"/>
<group col="3" colspan="2">
<field name="active" select="2"/>
<button name="toggleActive" string="Toggle activity" type="object"/>
</group>
<field name="manager" select="1"/>
<field name="warn_manager"/>
<newline/>
@@ -29,14 +25,20 @@
<field name="effective_hours" widget="float_time"/>
<field name="timesheet_id"/>
<field name="state"/>
<field name="active" select="2"/>
<separator colspan="4" string="Project's members"/>
<field colspan="4" name="members" nolabel="1"/>
<group col="6" colspan="8">
<field name="state"/>
<button name="settemplate" string="set as template" type="object" states="open"/>
<button name="resetproject" string="reset as project" type="object" states="template"/>
<button name="duplicatetemplate" string="duplicate template" type="object" states="template"/>
</group>
</page>
<page groups="base.group_extended" string="Partner Info">
<field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1"/>
<field domain="[('partner_id','=',partner_id)]" name="contact_id" select="2"/>
<field name="category_id" select="2"/>
<field name="pricelist_id"/>
<field name="warn_customer"/>
<field name="mode"/>
<field name="tariff"/>
@@ -54,76 +56,6 @@
<separator colspan="4" string="Taxes"/>
<field colspan="4" name="tax_ids" nolabel="1"/>
</page>
<page string="Tasks">
<field colspan="4" name="tasks" nolabel="1" widget="one2many_list">
<form string="Task edition">
<notebook>
<page string="Task definition">
<separator colspan="4" string="Task Information"/>
<field name="name" select="1"/>
<field name="active" select="1"/>
<field name="sequence"/>
<field name="priority" select="1"/>
<field name="user_id" select="1"/>
<field name="date_deadline" select="1"/>
<field name="date_start" select="1"/>
<field name="date_close" select="1"/>
<field name="progress"/>
<newline/>
<field name="planned_hours" widget="float_time"/>
<field name="effective_hours" widget="float_time"/>
<separator colspan="4" string="Description"/>
<field colspan="4" name="description" nolabel="1"/>
<group col="11" colspan="4">
<field name="state" select="1"/>
<button name="do_draft" states="open" string="Set Draft" type="object"/>
<button name="do_open" states="pending,draft" string="Open task" type="object"/>
<button name="do_reopen" states="done,cancelled" string="Re-open" type="object"/>
<button name="do_pending" states="open" string="Set pending" type="object"/>
<button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action"/>
<button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open" string="Delegate" type="action"/>
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object"/>
</group>
</page>
<page string="Work done">
<separator colspan="4" string="Work done"/>
<field colspan="4" name="work_ids" nolabel="1"/>
</page>
<page string="Others">
<separator colspan="4" string="Notes"/>
<field colspan="4" name="invoice_id" readonly="True"/>
<field colspan="4" name="notes" nolabel="1"/>
<newline/>
<field name="type"/>
<field name="billable" select="1"/>
<field name="start_sequence"/>
<field colspan="4" name="child_ids" nolabel="1">
<tree string="Delegated tasks">
<field name="name"/>
<field name="user_id"/>
<field name="date_deadline"/>
<field name="planned_hours" widget="float_time"/>
<field name="effective_hours" widget="float_time"/>
<field name="state"/>
</tree>
</field>
<field colspan="4" name="parent_id"/>
</page>
</notebook>
</form>
<tree colors="red:date_deadline&lt;current_date and state=='draft';blue:date_deadline==current_date and state=='draft';grey:state=='cancel' or state=='close'" string="All tasks">
<field name="sequence"/>
<field name="name"/>
<field name="user_id"/>
<field name="date_deadline"/>
<field name="progress_rate" widget="progressbar"/>
<field name="planned_hours" widget="float_time"/>
<field name="effective_hours" widget="float_time"/>
<field name="state"/>
</tree>
</field>
</page>
<page string="Notes">
<field colspan="4" name="notes" nolabel="1"/>
</page>
@@ -327,8 +259,6 @@
<field name="start_sequence"/>
<field name="partner_id" select="2"/>
<newline/>
<field name="invoice_id"/>
<field name="billable" select="2"/>
<separator colspan="4" string="Notes"/>
<field colspan="4" name="notes" nolabel="1"/>
</page>
@@ -379,26 +309,6 @@
</record>
<menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_main"/>
<record id="action_view_task2" model="ir.actions.act_window">
<field name="name">Unbilled closed tasks</field>
<field name="res_model">project.task</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('state','=','done'), ('billable','=',True), ('invoice_id','=',False)]</field>
</record>
<menuitem groups="base.group_extended" id="menu_action_billable" name="Billable Tasks" parent="project.menu_action_view_task"/>
<menuitem action="action_view_task2" id="menu_action_view_task2" parent="project.menu_action_billable"/>
<record id="action_view_task3" model="ir.actions.act_window">
<field name="name">Unbilled open tasks</field>
<field name="res_model">project.task</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('state','=','open'), ('billable','=',True), ('invoice_id','=',False)]</field>
</record>
<menuitem action="action_view_task3" id="menu_action_view_task3" parent="project.menu_action_billable"/>
<record id="action_view_task4" model="ir.actions.act_window">
<field name="name">My Tasks</field>
<field name="res_model">project.task</field>
@@ -520,6 +430,8 @@
<act_window domain="[('project_id', '=', active_id),('state', '&lt;&gt;', 'cancelled'),('state', '&lt;&gt;', 'done')]" id="act_project_project_2_project_task_opened" name="Opened tasks" res_model="project.task" src_model="project.project" view_mode="tree,form" view_type="form"/>
<act_window id="act_project_project_2_project_task_all" name="All tasks" res_model="project.task" src_model="project.project" view_mode="tree,form" view_type="form"/>
<act_window domain="[('user_id', '=', active_id),('state', '&lt;&gt;', 'cancelled'),('state', '&lt;&gt;', 'done')]" id="act_res_users_2_project_task_opened" name="Assigned tasks" res_model="project.task" src_model="res.users" view_mode="tree,form" view_type="form"/>
<act_window domain="[('user_id', '=', active_id),('date', '&gt;=', time.strftime('%Y-%m-01'))]" id="act_res_users_2_project_task_work_month" name="Month works" res_model="project.task.work" src_model="res.users" view_mode="tree,form" view_type="form"/>
+1 -2
View File
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<terp>
<data>
<wizard id="wizard_billing" model="project.task" name="project.wiz_bill" string="Bill tasks"/>
<wizard id="wizard_close_task" menu="False" model="project.task" name="project.task.close" string="Close Task"/>
<wizard id="wizard_delegate_task" menu="False" model="project.task" name="project.task.delegate" string="Delegate Task"/>
</data>
</terp>
</terp>