diff --git a/addons/document/document_view.xml b/addons/document/document_view.xml index 840c8a4c9e1..e5719705ebe 100644 --- a/addons/document/document_view.xml +++ b/addons/document/document_view.xml @@ -277,7 +277,7 @@ - + IR Attachment0 ir.attachment @@ -296,9 +296,9 @@ - + IR Attachment2 ir.attachment search @@ -307,12 +307,14 @@ + ir.attachment ir.attachment diff --git a/addons/hr_timesheet/hr_timesheet_view.xml b/addons/hr_timesheet/hr_timesheet_view.xml index d2da8e6ea9e..d7700d16db3 100644 --- a/addons/hr_timesheet/hr_timesheet_view.xml +++ b/addons/hr_timesheet/hr_timesheet_view.xml @@ -5,7 +5,6 @@ - hr.analytic.timesheet.tree hr.analytic.timesheet @@ -101,7 +100,6 @@ - hr.timesheet.employee.extd_form diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml index 78582fd9c74..840b8fbe13b 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml +++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml @@ -187,6 +187,9 @@ + + diff --git a/addons/mail_gateway/mail_gateway_view.xml b/addons/mail_gateway/mail_gateway_view.xml index ab118295db5..f3be1eff422 100644 --- a/addons/mail_gateway/mail_gateway_view.xml +++ b/addons/mail_gateway/mail_gateway_view.xml @@ -1,6 +1,10 @@ + + + mailgate.message.form mailgate.message @@ -85,6 +89,20 @@ + + + + + Message + mailgate.message + form + tree,form + + + + + + mailgate.thread.form mailgate.thread @@ -134,6 +152,9 @@ + + + Mailgateway Threads @@ -192,5 +213,8 @@ src_model="mailgate.message" domain="[('res_id', '=', res_id),('res_model','=',model)]"/> + + diff --git a/addons/project/project.py b/addons/project/project.py index 26f67d706ba..a09855d3bce 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -189,13 +189,13 @@ class project(osv.osv): 'warn_manager': fields.boolean('Warn Manager', help="If you check this field, the project manager will receive a request each time a task is completed by his team.", states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'members': fields.many2many('res.users', 'project_user_rel', 'project_id', 'uid', 'Project Members', help="Project's member. Not used in any computation, just for information purpose.", states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'tasks': fields.one2many('project.task', 'project_id', "Project tasks"), - 'planned_hours': fields.function(_progress_rate, multi="progress", method=True, string='Planned Time', help="Sum of planned hours of all tasks related to this project and its child projects.", + 'planned_hours': fields.function(_progress_rate, multi="progress", method=True, string='Planned Time', help="Sum of planned hours of all tasks related to this project and its child projects.", store = { 'project.project': (lambda self, cr, uid, ids, c={}: ids, ['tasks'], 10), 'project.task': (_get_project_task, ['planned_hours', 'effective_hours', 'remaining_hours', 'total_hours', 'progress', 'delay_hours'], 10), 'project.task.work': (_get_project_work, ['hours'], 10), }), - 'effective_hours': fields.function(_progress_rate, multi="progress", method=True, string='Time Spent', help="Sum of spent hours of all tasks related to this project and its child projects.", + 'effective_hours': fields.function(_progress_rate, multi="progress", method=True, string='Time Spent', help="Sum of spent hours of all tasks related to this project and its child projects.", store = { 'project.project': (lambda self, cr, uid, ids, c={}: ids, ['tasks'], 10), 'project.task': (_get_project_task, ['planned_hours', 'effective_hours', 'remaining_hours', 'total_hours', 'progress', 'delay_hours'], 10), @@ -395,10 +395,15 @@ class task(osv.osv): if hours.get(task.id, False): dur_in_user_uom = uom_obj._compute_qty(cr, uid, default_uom, hours.get(task.id, 0.0), user_uom) hours[task.id] = dur_in_user_uom - + timespent=0 for task in self.browse(cr, uid, ids, context=context): res[task.id] = {'effective_hours': hours.get(task.id, 0.0), 'total_hours': task.remaining_hours + hours.get(task.id, 0.0)} - res[task.id]['delay_hours'] = res[task.id]['total_hours'] - task.planned_hours +# res[task.id]['delay_hours'] = res[task.id]['total_hours'] - task.planned_hours + + for ctimespent in task.work_ids: + timespent=timespent+ctimespent.hours + res[task.id]['delay_hours'] = task.planned_hours - timespent + res[task.id]['progress'] = 0.0 if (task.remaining_hours + hours.get(task.id, 0.0)): res[task.id]['progress'] = round(min(100.0 * hours.get(task.id, 0.0) / res[task.id]['total_hours'], 99.99),2) @@ -463,7 +468,7 @@ class task(osv.osv): 'description': fields.text('Description'), 'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Urgent'), ('0','Very urgent')], 'Priority'), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of tasks."), - 'type_id': fields.many2one('project.task.type', 'Stage',), + 'type_id': fields.many2one('project.task.type', 'Type',), 'state': fields.selection([('draft', 'Draft'),('open', 'In Progress'),('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', readonly=True, required=True, help='If the task is created the state is \'Draft\'.\n If the task is started, the state becomes \'In Progress\'.\n If review is needed the task is in \'Pending\' state.\ \n If the task is over, the states is set to \'Done\'.'), diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml index e365d095a20..8d3752c0979 100644 --- a/addons/project/project_demo.xml +++ b/addons/project/project_demo.xml @@ -2,6 +2,216 @@ + + + + Phuong + + phu + phu + + + Anthony + + al + al + + + Quentin + + qdp + qdp + + + Francois + + fpi + fpi + + + Julien + + jth + jth + + + Alien + + apr + apr + + + Fabian + + fbs + fbs + + + + + + open + normal + Integrate a Sale and Warehouse Management. + + + Integrate a Sale and Warehouse Management. + + + + + + + + 2 + + Prepare Requirements Document + + + + + + 2 + + Make SRS + + + + + + 2 + + Design Use Cases + + + + + + 2 + + Budget Planning + + + + + + 2 + + Quality Planning + + + + + + 2 + + Risk Management Planning + + + + + + 2 + + Create Project Schedules + + + + + + 2 + + Dataflow Design + + + + + + 2 + + User Interface Design + + + + + + 2 + + Develop Module in Sale Management + + + + + + 2 + + Develop module in Warehouse + + + + + + 2 + + Integrate Modules + + + + + + 2 + + Unit Testing + + + + + + 2 + + Regression Test + + + + + + 2 + + Documentation + + + + + + + 2 + + Performance Tuning + + + + + + 2 + + Deploy and Review on Customer System + + + + + + 2 + + Training and Presentation + + diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index cda4109c32e..be93e021f96 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -305,13 +305,15 @@ + - + +