diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 93a155ce333..200d1dd400a 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1371,7 +1371,7 @@
-
+
diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py
index 73a9f20ddf9..cd615f84006 100644
--- a/addons/mrp/mrp.py
+++ b/addons/mrp/mrp.py
@@ -1136,6 +1136,11 @@ class StockMove(osv.osv):
_columns = {
'procurements': fields.one2many('mrp.procurement', 'move_id', 'Procurements'),
}
+ def copy(self, cr, uid, id, default=None, context=None):
+ default = default or {}
+ default['procurements'] = []
+ return super(StockMove, self).copy(cr, uid, id, default, context)
+
def _action_explode(self, cr, uid, move, context={}):
if move.product_id.supply_method=='produce' and move.product_id.procure_method=='make_to_order':
bis = self.pool.get('mrp.bom').search(cr, uid, [
diff --git a/addons/project/process/task_process.xml b/addons/project/process/task_process.xml
index 9ba6a39b9dc..f987ba07af3 100644
--- a/addons/project/process/task_process.xml
+++ b/addons/project/process/task_process.xml
@@ -39,7 +39,7 @@
-
+
@@ -152,4 +152,4 @@
-
\ No newline at end of file
+
diff --git a/addons/project/project.py b/addons/project/project.py
index 43319ace95a..675c1af883d 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -137,7 +137,7 @@ class project(osv.osv):
'warn_footer': fields.text('Mail Footer', help="Footer added at the beginning of the email for the warning message sent to the customer when a task is closed."),
'notes': fields.text('Notes', help="Internal description of the project."),
'timesheet_id': fields.many2one('hr.timesheet.group', 'Working Time', help="Timetable working hours to adjust the gantt diagram report"),
- 'state': fields.selection([('template', 'Template'), ('open', 'Open'), ('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', required=True, readonly=True),
+ 'state': fields.selection([('template', 'Template'), ('open', 'Running'), ('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', required=True, readonly=True),
}
_defaults = {
@@ -289,8 +289,8 @@ class task(osv.osv):
'priority' : fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Urgent'), ('0','Very urgent')], 'Importance'),
'sequence': fields.integer('Sequence'),
'type': fields.many2one('project.task.type', 'Type'),
- 'state': fields.selection([('draft', 'Draft'),('open', 'Open'),('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'Status', readonly=True, required=True),
- 'date_start': fields.datetime('Date Opened'),
+ 'state': fields.selection([('draft', 'Draft'),('open', 'In Progress'),('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'Status', readonly=True, required=True),
+ 'date_start': fields.datetime('Starting Date'),
'date_deadline': fields.datetime('Deadline'),
'date_close': fields.datetime('Date Closed', readonly=True),
'project_id': fields.many2one('project.project', 'Project', ondelete='cascade'),
@@ -375,7 +375,7 @@ class task(osv.osv):
project = task.project_id
if project and project.warn_manager and project.manager.id and (project.manager.id != uid):
request.create(cr, uid, {
- 'name': "Task '%s' reopened" % task.name,
+ 'name': "Task '%s' set in progress" % task.name,
'state': 'waiting',
'act_from': uid,
'act_to': project.manager.id,
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index aae9a5bb847..a21b13e2c29 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -33,7 +33,7 @@
-
+
@@ -89,36 +89,10 @@
-
- All Projects
- project.project
- tree
- [('parent_id','=',False)]
-
-
-
-
-
- Unclosed projects
- project.project
- tree
- [('parent_id','=',False),('state','<>','cancelled'),('state','<>','done')]
-
-
-
-
-
-
- Open projects
- project.project
- tree
- [('parent_id','=',False),('state','=','open')]
-
-
-
+
- Open projects
+ Running projects
project.project
form
[('state','=','open')]
@@ -142,7 +116,7 @@
form,tree,calendar
-
+
project.task.work.form
@@ -189,33 +163,36 @@
- My projects
+ My Projects
project.project
- tree
- [('parent_id','=',False),('manager', '=', uid)]
+ form
+ [('manager', '=', uid)]
-
+
-
-
- My unclosed projects
+
+ My Running Projects
project.project
- tree
- [('parent_id','=',False),('manager', '=', uid),('state','<>','cancelled'),('state','<>','done')]
+ form
+ [('manager', '=', uid),('state','=','open')]
-
-
+
- My open projects
+ Projects Structure
project.project
tree
- [('parent_id','=',False),('manager', '=', uid),('state','=','open')]
-
+ [('parent_id','=',False)]
-
+
@@ -249,8 +226,8 @@
-
-
+
+
@@ -379,15 +356,6 @@
-
- My Open Tasks
- project.task
- form
- tree,form,calendar,graph
- [('user_id', '=', uid),('state','=','open')]
-
-
-
My Tasks in Progress
project.task
@@ -405,15 +373,6 @@
-
- Open Tasks
- project.task
- form
- tree,form,calendar,graph
- [('state', '=', 'open')]
-
-
-
Tasks in Progress
project.task
@@ -502,7 +461,7 @@
'cancel':
- notcanceled = True
+ if line.procurement_id:
+ if (line.procurement_id.state == 'cancel') or (line.procurement_id.move_id and line.procurement_id.move_id.state=='cancel'):
+ canceled = True
+ if line.state != 'cancel':
+ write_cancel_ids.append(line.id)
+ else:
+ notcanceled = True
# if a line is finished (ie its procuremnt is done or it has not procuremernt and it
# is not already marked as done, mark it as being so...
if ((not line.procurement_id) or line.procurement_id.state == 'done') and line.state != 'done':
write_done_ids.append(line.id)
- # ... same for canceled lines
- if line.procurement_id and line.procurement_id.state == 'cancel' and line.state != 'cancel':
- write_cancel_ids.append(line.id)
+
if write_done_ids:
self.pool.get('sale.order.line').write(cr, uid, write_done_ids, {'state': 'done'})
if write_cancel_ids:
@@ -477,6 +480,7 @@ class sale_order(osv.osv):
if mode=='finished':
return finished
elif mode=='canceled':
+ return canceled
if notcanceled:
return False
return canceled