|
[[ c['name'] ]]
diff --git a/addons/product/security/ir.model.access.csv b/addons/product/security/ir.model.access.csv
index 1e1572a3c0a..7b8da0dd675 100644
--- a/addons/product/security/ir.model.access.csv
+++ b/addons/product/security/ir.model.access.csv
@@ -40,3 +40,4 @@
"access_product_ul_system","product.ul system","model_product_ul","base.group_system",1,1,1,1
"access_product_product_system","product.product system","model_product_product","base.group_system",1,0,0,0
"access_product_category_system","product.category.system","model_product_category","base.group_system",1,1,1,1
+"access_product_product_employee","product.product employee","model_product_product","base.group_user",1,0,0,0
diff --git a/addons/product/wizard/product_price.py b/addons/product/wizard/product_price.py
index 4681f28d71b..853935acf6e 100644
--- a/addons/product/wizard/product_price.py
+++ b/addons/product/wizard/product_price.py
@@ -51,7 +51,6 @@ class product_price_list(osv.osv_memory):
datas = {'ids': context.get('active_ids', [])}
res = self.read(cr, uid, ids, ['price_list','qty1', 'qty2','qty3','qty4','qty5'], context)
res = res and res[0] or {}
- price_dict = self.pool.get('product.pricelist').price_get(cr, uid, [res['price_list']], 1, 1.0)
datas['form'] = res
return {
'type': 'ir.actions.report.xml',
diff --git a/addons/project/test/test_project_delegation.yml b/addons/project/test/test_project_delegation.yml
index f86f488dee7..722f58e65c2 100644
--- a/addons/project/test/test_project_delegation.yml
+++ b/addons/project/test/test_project_delegation.yml
@@ -1,11 +1,11 @@
-
This scenario tests the delegation process. Closing all the delegated tasks(task delegation at multiple levels) transits the parent task from pending to open state.
-
- Creating a project OpenERP Documentaion
+ Creating a project OpenERP Documentation
-
- !record {model: project.project, id: project_project_openerpdocumentaion0}:
+ !record {model: project.project, id: project_project_openerpdocumentation0}:
company_id: base.main_company
- name: OpenERP Documentaion
+ name: OpenERP Documentation
-
Creating a task 'Develop book for Technical and Functional reference'
@@ -13,7 +13,7 @@
!record {model: project.task, id: project_task_documentation_book}:
name: Develop book for Technical and Functional reference
planned_hours: 20.0
- project_id: project_project_openerpdocumentaion0
+ project_id: project_project_openerpdocumentation0
remaining_hours: 20.0
state: draft
@@ -31,7 +31,7 @@
!record {model: project.task, id: project_task_publish_book}:
name: Publish the References
planned_hours: 10.0
- project_id: project_project_openerpdocumentaion0
+ project_id: project_project_openerpdocumentation0
remaining_hours: 10.0
state: draft
@@ -77,7 +77,7 @@
!record {model: project.task, id: project_task_delegate_openerp_tutorial}:
name: Prepare a book that gives functional overview of OpenERP
planned_hours: 30.0
- project_id: project.project_project_openerpdocumentaion0
+ project_id: project.project_project_openerpdocumentation0
remaining_hours: 30.0
state: draft
@@ -95,7 +95,7 @@
!record {model: project.task, id: project_task_delegate_developer_book}:
name: Prepare a technical reference for creating your modules
planned_hours: 30.0
- project_id: project_project_openerpdocumentaion0
+ project_id: project_project_openerpdocumentation0
remaining_hours: 30.0
state: draft
@@ -123,7 +123,7 @@
!record {model: project.task, id: project_task_delegate_module_develop}:
name: Prepare documentation for Module Development
planned_hours: 30.0
- project_id: project.project_project_openerpdocumentaion0
+ project_id: project.project_project_openerpdocumentation0
remaining_hours: 30.0
state: draft
@@ -134,7 +134,7 @@
!record {model: project.task, id: project_task_delegate_business_process_develop}:
name: Prepare documentation for Business Process Development
planned_hours: 30.0
- project_id: project_project_openerpdocumentaion0
+ project_id: project_project_openerpdocumentation0
remaining_hours: 30.0
state: draft
diff --git a/addons/project_issue/report/project_issue_report_view.xml b/addons/project_issue/report/project_issue_report_view.xml
index 5ddfd1ead2d..d1b421d59ca 100644
--- a/addons/project_issue/report/project_issue_report_view.xml
+++ b/addons/project_issue/report/project_issue_report_view.xml
@@ -99,7 +99,7 @@
-
+
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index be0eb07bd47..a535015d067 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -291,11 +291,16 @@ class project_phase(osv.osv):
# Create a new project for each phase
def Project():
start = start_date
+ minimum_time_unit = 1
+ resource = phase_resource_obj
# If project has working calendar then that
# else the default one would be considered
if calendar_id:
- resource_pool.compute_working_calendar(cr, uid, calendar_id, context=context)
- resource_pool.compute_vacation(cr, uid, calendar_id)
+ working_days = resource_pool.compute_working_calendar(cr, uid, calendar_id, context=context)
+ vacation = tuple(resource_pool.compute_vacation(cr, uid, calendar_id))
+
+ def phase():
+ effort = duration
project = Task.BalancedProject(Project)
s_date = project.phase.start.to_datetime()
@@ -334,6 +339,7 @@ class project_phase(osv.osv):
Schedule the tasks according to resource available and priority.
"""
task_pool = self.pool.get('project.task')
+ resource_pool = self.pool.get('resource.resource')
if context is None:
context = {}
resources_list = self.generate_resources(cr, uid, ids, context=context)
@@ -425,7 +431,9 @@ class project(osv.osv):
"""
if type(ids) in (long, int,):
ids = [ids]
+ user_pool = self.pool.get('res.users')
task_pool = self.pool.get('project.task')
+ resource_pool = self.pool.get('resource.resource')
if context is None:
context = {}
@@ -484,7 +492,7 @@ class project_task(osv.osv):
if context is None:
context = {}
user_pool = self.pool.get('res.users')
- resource_pool = self.pool.get('resource.resource')
+ project_pool = self.pool.get('project.project')
priority_dict = {'0': 1000, '1': 800, '2': 500, '3': 300, '4': 100}
# Create dynamic no of tasks with the resource specified
def create_tasks(task_number, eff, priorty=500, obj=False):
@@ -492,23 +500,28 @@ class project_task(osv.osv):
"""
task is a dynamic method!
"""
+ effort = eff
if obj:
resource = obj
+ priority = priorty
task.__doc__ = "TaskNO%d" %task_number
task.__name__ = "task%d" %task_number
return task
# Create a 'Faces' project with all the tasks and resources
def Project():
+ title = "Project"
+ start = datetime.strftime(datetime.strptime(start_date, "%Y-%m-%d"), "%Y-%m-%d %H:%M")
try:
resource = reduce(operator.or_, resources)
except:
raise osv.except_osv(_('Error'), _('Should have Resources Allocation or Project Members!'))
-
+ minimum_time_unit = 1
if calendar_id: # If project has working calendar
- resource_pool.compute_working_calendar(cr, uid, calendar_id, context=context)
- resource_pool.compute_vacation(cr, uid, calendar_id, context=context)
+ working_days = resource_pool.compute_working_calendar(cr, uid, calendar_id, context=context)
+ vacation = tuple(resource_pool.compute_vacation(cr, uid, calendar_id, context=context))
# Dynamic creation of tasks
+ task_number = 0
for openobect_task in self.browse(cr, uid, ids, context=context):
hours = str(openobect_task.planned_hours )+ 'H'
if openobect_task.priority in priority_dict.keys():
@@ -542,7 +555,5 @@ class project_task(osv.osv):
loop_no += 1
return True
-
project_task()
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_mrp/__openerp__.py b/addons/project_mrp/__openerp__.py
index c224bf243ca..e99869e2591 100644
--- a/addons/project_mrp/__openerp__.py
+++ b/addons/project_mrp/__openerp__.py
@@ -32,7 +32,7 @@ When installed, this module will automatically create a new task
for each procurement order line, when the corresponding product
meets the following characteristics:
* Type = Service
- * Procurement method (Order fulfilment) = MTO (make to order)
+ * Procurement method (Order fulfillment) = MTO (make to order)
* Supply/Procurement method = Produce
The new task is created outside of any existing project, but
diff --git a/addons/project_timesheet/__openerp__.py b/addons/project_timesheet/__openerp__.py
index 3636fa4bdcb..021d30da687 100644
--- a/addons/project_timesheet/__openerp__.py
+++ b/addons/project_timesheet/__openerp__.py
@@ -32,7 +32,7 @@
'website': 'http://www.openerp.com',
'depends': ['base', 'project', 'hr_timesheet_sheet', 'hr_timesheet_invoice'],
'init_xml': [],
- 'update_xml': ["process/project_timesheet_process.xml", "report/task_report_view.xml", "project_timesheet_view.xml"],
+ 'update_xml': ["security/ir.model.access.csv","process/project_timesheet_process.xml", "report/task_report_view.xml", "project_timesheet_view.xml"],
'demo_xml': [],
'test': [
'test/worktask_entry_to_timesheetline_entry.yml',
diff --git a/addons/project_timesheet/report/task_report_view.xml b/addons/project_timesheet/report/task_report_view.xml
index 036acefc9b8..379922f4838 100644
--- a/addons/project_timesheet/report/task_report_view.xml
+++ b/addons/project_timesheet/report/task_report_view.xml
@@ -46,15 +46,15 @@
- Timesheet / Task Hours Per Month
+ Task Hours Per Month
report.timesheet.task.user
form
tree
{"search_default_user_id":uid}
-
+
diff --git a/addons/project_timesheet/security/ir.model.access.csv b/addons/project_timesheet/security/ir.model.access.csv
index ae44690329f..ab1e82cacb6 100644
--- a/addons/project_timesheet/security/ir.model.access.csv
+++ b/addons/project_timesheet/security/ir.model.access.csv
@@ -1,6 +1,6 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
-"access_report_timesheet_task_user","report.timesheet.task.user","model_report_timesheet_task_user","project.group_project_manager",1,0,0,0
-"access_hr_analytic_timesheet_user","hr.analytic.timesheet.user","model_hr_analytic_timesheet","project.group_project_user",1,1,1,0
-"access_hr_timesheet_sheet_sheet_user","hr.timesheet.sheet.sheet.user","model_hr_timesheet_sheet.sheet","project.group_project_user",1,1,1,0
-"access_hr_analytic_timesheet_system","hr.analytic.timesheet system","model_hr_analytic_timesheet","base.group_system",1,1,1,1
-"access_hr_timesheet_sheet_sheet_system","hr.timesheet.sheet.sheet system","model_hr_timesheet_sheet.sheet","base.group_system",1,1,1,1
+"access_report_timesheet_task_user_manager","report.timesheet.task.user.manager","model_report_timesheet_task_user","project.group_project_manager",1,1,1,1
+"access_hr_analytic_timesheet_user","hr.analytic.timesheet.user","hr_timesheet_sheet.model_hr_analytic_timesheet","project.group_project_user",1,1,1,0
+"access_hr_timesheet_sheet_sheet_user","hr.timesheet.sheet.sheet.user","hr_timesheet_sheet.model_hr_timesheet_sheet_sheet","project.group_project_user",1,1,1,0
+"access_hr_analytic_timesheet_system","hr.analytic.timesheet.system","hr_timesheet_sheet.model_hr_analytic_timesheet","base.group_system",1,1,1,1
+"access_hr_timesheet_sheet_sheet_system","hr.timesheet.sheet.sheet.system","hr_timesheet_sheet.model_hr_timesheet_sheet_sheet","base.group_system",1,1,1,1
diff --git a/addons/purchase/test/procurement_buy.yml b/addons/purchase/test/procurement_buy.yml
index 99fe1a2eb4d..4f28ccfafcf 100644
--- a/addons/purchase/test/procurement_buy.yml
+++ b/addons/purchase/test/procurement_buy.yml
@@ -50,7 +50,9 @@
-
I run the scheduler.
-
- !workflow {model: procurement.order, action: button_check, ref: procurement_order_testcase0}
+ !function {model: procurement.order, name: run_scheduler}:
+ - model: procurement.order
+ search: "[]"
-
I check that purchase order is generated.
-
@@ -81,14 +83,14 @@
!python {model: stock.picking }: |
import time
procurement_obj = self.pool.get('procurement.order')
- proc_ids = procurement_obj.browse(cr, uid, [ref('procurement_order_testcase0')])[0]
- picking_id = self.search(cr, uid, [('origin', '=', proc_ids.purchase_id.name)])
- if picking_id:
- pick=self.browse(cr,uid,picking_id[0])
- move =pick.move_lines[0]
+ proc_ids = procurement_obj.browse(cr, uid, [ref('procurement_order_testcase0')])[0]
+ picking_ids = self.search(cr, uid, [('purchase_id', '=', proc_ids.purchase_id.id),('type','=','in')])
+ pickings = self.browse(cr, uid, picking_ids)
+ for picking in pickings:
+ move = picking.move_lines[0]
partial_datas = {
- 'partner_id':pick.address_id.partner_id.id,
- 'address_id': pick.address_id.id,
+ 'partner_id': picking.address_id.partner_id.id,
+ 'address_id': picking.address_id.id,
'delivery_date' : time.strftime('%Y-%m-%d')
}
partial_datas['move%s'%(move.id)]= {
@@ -96,7 +98,7 @@
'product_qty': move.product_qty,
'product_uom': move.product_uom.id,
}
- self.do_partial(cr, uid, picking_id,partial_datas)
+ self.do_partial(cr, uid, [picking.id], partial_datas)
-
I confirm the Reservation.
-
diff --git a/addons/purchase_requisition/test/purchase_requisition.yml b/addons/purchase_requisition/test/purchase_requisition.yml
index 1564abf638f..3f3aae2d8f0 100644
--- a/addons/purchase_requisition/test/purchase_requisition.yml
+++ b/addons/purchase_requisition/test/purchase_requisition.yml
@@ -58,7 +58,7 @@
-
!workflow {model: sale.order, action: order_confirm, ref: sale_order_testtender0}
-
- I launch he scheduler to compute all procurements, and specify all requisitions orders.
+ I launch the scheduler to compute all procurements, and specify all requisitions orders.
-
!python {model: procurement.order.compute.all}: |
proc_obj = self.pool.get('procurement.order')
diff --git a/addons/stock/report/report_stock_move_view.xml b/addons/stock/report/report_stock_move_view.xml
index 2c8c1ad80e9..efbaaa12625 100644
--- a/addons/stock/report/report_stock_move_view.xml
+++ b/addons/stock/report/report_stock_move_view.xml
@@ -86,6 +86,15 @@
+
+
+
+
+
+
+
+
+
@@ -102,16 +111,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -187,7 +186,13 @@
-
+
+
+
+
+
+
+
@@ -200,13 +205,6 @@
-
-
-
-
-
-
-
diff --git a/addons/stock/report/report_stock_picking_view.xml b/addons/stock/report/report_stock_picking_view.xml
index 13cdd624cf2..edbd9e66b7d 100644
--- a/addons/stock/report/report_stock_picking_view.xml
+++ b/addons/stock/report/report_stock_picking_view.xml
@@ -72,6 +72,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -89,21 +103,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index ed93388df54..d14f891e016 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -1088,8 +1088,6 @@ class stock_picking(osv.osv):
@return: True or False
"""
for pick in self.browse(cr, uid, ids, context=context):
- if not pick.move_lines:
- return False
for move in pick.move_lines:
if move.state not in ('cancel',):
return False
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index f9fd2ed2bd2..e80e9856023 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -1598,6 +1598,14 @@
+
+
+
+
+
+
+
+
@@ -1612,14 +1620,6 @@
-
-
-
-
-
-
-
-
diff --git a/addons/subscription/subscription.py b/addons/subscription/subscription.py
index 8fa330b1fb5..307f06c6f91 100644
--- a/addons/subscription/subscription.py
+++ b/addons/subscription/subscription.py
@@ -53,7 +53,7 @@ class subscription_document_fields(osv.osv):
_rec_name = 'field'
_columns = {
'field': fields.many2one('ir.model.fields', 'Field', domain="[('model_id', '=', parent.model)]", required=True),
- 'value': fields.selection([('false','False'),('date','Current Date')], 'Default Value', size=40, help="User can set new values for the field when new document is generated"),
+ 'value': fields.selection([('false','False'),('date','Current Date')], 'Default Value', size=40, help="Default value is considered for field when new document is generated."),
'document_id': fields.many2one('subscription.document', 'Subscription Document', ondelete='cascade'),
}
_defaults = {}
@@ -79,7 +79,7 @@ class subscription_subscription(osv.osv):
'state': fields.selection([('draft','Draft'),('running','Running'),('done','Done')], 'State'),
'doc_source': fields.reference('Source Document', required=True, selection=_get_document_types, size=128, help="User can choose the source document on which he wants to create documents"),
'doc_lines': fields.one2many('subscription.subscription.history', 'subscription_id', 'Documents created', readonly=True),
- 'cron_id': fields.many2one('ir.cron', 'Cron Job', help="Scheduler which run on subscription"),
+ 'cron_id': fields.many2one('ir.cron', 'Cron Job', help="Scheduler which runs on subscription"),
'note': fields.text('Notes', help="Description or Summary of Subscription"),
}
_defaults = {
|