http://pad.openerp.com/
oe_kanban_color_red
@@ -344,8 +350,8 @@
- |
-
+ |
+
|
@@ -355,8 +361,11 @@
@@ -423,7 +434,7 @@
-
+
@@ -518,7 +529,7 @@
tree,form,calendar,gantt,graph,kanban
- {"search_default_draft": 1, "search_default_open":1}
+ {"search_default_draft": 1, "search_default_open":1, "search_default_project_id": project_id}
A task represents a work that has to be done. Each user works in his own list of tasks where he can record his task work in hours. He can work and close the task itself or delegate it to another user. If you delegate a task to another user, you get a new task in pending state, which will be reopened when you have to review the work achieved. If you install the project_timesheet module, task work can be invoiced based on the project configuration. With the project_mrp module, sales orders can create tasks automatically when they are confirmed.
diff --git a/addons/project/report/project_report.py b/addons/project/report/project_report.py
index fb1b0b030d6..1b66361854b 100644
--- a/addons/project/report/project_report.py
+++ b/addons/project/report/project_report.py
@@ -91,7 +91,7 @@ class report_project_task_user(osv.osv):
(extract('epoch' from (t.date_start-t.create_date)))/(3600*24) as opening_days,
abs((extract('epoch' from (t.date_deadline-t.date_end)))/(3600*24)) as delay_endings_days
FROM project_task t
-
+ WHERE t.active = 'true'
GROUP BY
t.id,
remaining_hours,
diff --git a/addons/project_issue/board_project_issue_view.xml b/addons/project_issue/board_project_issue_view.xml
index 2d30b2673b4..216f01eba9f 100644
--- a/addons/project_issue/board_project_issue_view.xml
+++ b/addons/project_issue/board_project_issue_view.xml
@@ -138,6 +138,7 @@
form
graph,tree,form,
[('state','=','open'),('user_id','=',uid)]
+ {'default_user_id': uid}
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index 6973002be23..b83efbc4996 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -487,7 +487,6 @@ project_issue()
class project(osv.osv):
_inherit = "project.project"
_columns = {
- 'resource_calendar_id' : fields.many2one('resource.calendar', 'Working Time', help="Timetable working hours to adjust the gantt diagram report", states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'project_escalation_id' : fields.many2one('project.project','Project Escalation', help='If any issue is escalated from the current Project, it will be listed under the project selected here.', states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'reply_to' : fields.char('Reply-To Email Address', size=256)
}
diff --git a/addons/project_issue/project_issue_demo.xml b/addons/project_issue/project_issue_demo.xml
index 12ff265b1e9..f1c7dd5eb4d 100644
--- a/addons/project_issue/project_issue_demo.xml
+++ b/addons/project_issue/project_issue_demo.xml
@@ -16,6 +16,7 @@
+
@@ -31,6 +32,7 @@
+
@@ -45,6 +47,7 @@
+
@@ -60,6 +63,7 @@
+
@@ -74,6 +78,7 @@
+
@@ -89,6 +94,7 @@
+
@@ -104,6 +110,7 @@
+
@@ -119,6 +126,7 @@
+
@@ -133,6 +141,7 @@
+
@@ -148,6 +157,7 @@
+
@@ -163,6 +173,7 @@
+
@@ -195,6 +207,7 @@
+
@@ -210,6 +223,7 @@
+
@@ -225,6 +239,7 @@
+
@@ -240,6 +255,7 @@
+
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 9504f865256..51440e1cbff 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -40,7 +40,7 @@
form
[('object_id.model', '=', 'project.issue')]
- {'object_id':'project.issue'}
+
@@ -398,19 +398,6 @@
# Project
# ------------------------------------------------------
-
- Project Resource Calendar View
- project.project
- form
-
-
-
-
-
-
-
-
-
project.project.form.inherited
project.project
diff --git a/addons/project_issue/report/project_issue_report.py b/addons/project_issue/report/project_issue_report.py
index 36ce72f2a70..b550b5c47ce 100644
--- a/addons/project_issue/report/project_issue_report.py
+++ b/addons/project_issue/report/project_issue_report.py
@@ -104,7 +104,7 @@ class project_issue_report(osv.osv):
FROM
project_issue c
- WHERE c.categ_id IN (select id from crm_case_categ where object_id in (select id from ir_model where model = 'project.issue'))
+ WHERE c.active= 'true' and c.categ_id IN (select id from crm_case_categ where object_id in (select id from ir_model where model = 'project.issue'))
)""")
project_issue_report()
diff --git a/addons/project_issue/security/ir.model.access.csv b/addons/project_issue/security/ir.model.access.csv
index 01afcb73b09..f5c39be7713 100644
--- a/addons/project_issue/security/ir.model.access.csv
+++ b/addons/project_issue/security/ir.model.access.csv
@@ -9,3 +9,4 @@
"access_resource_calendar_project_manager","resource.calendar.project.manager","resource.model_resource_calendar","project.group_project_manager",1,1,1,1
"access_project_issue_report_user","project.issue.report user","model_project_issue_report","project.group_project_user",1,0,0,0
"access_mail_message_issue_project_user","mail.message.user","mail.model_mail_message","project.group_project_user",1,1,1,0
+"access_crm_case_section","crm.case.section","crm.model_crm_case_section","project.group_project_user",1,0,0,0
diff --git a/addons/project_long_term/__openerp__.py b/addons/project_long_term/__openerp__.py
index 31522d63ea2..f4b8ce34ad0 100644
--- a/addons/project_long_term/__openerp__.py
+++ b/addons/project_long_term/__openerp__.py
@@ -26,7 +26,7 @@
"website": "http://www.openerp.com",
"category": "Project Management",
"images": ["images/project_phase_form.jpeg","images/project_phases.jpeg", "images/resources_allocation.jpeg"],
- "depends": ["resource", "project"],
+ "depends": ["project"],
"description": """
Long Term Project management module that tracks planning, scheduling, resources allocation.
===========================================================================================
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index cdeb0a0d63d..37a9e8f154b 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -273,23 +273,6 @@
- # ------------------------------------------------------
- # Project
- # ------------------------------------------------------
-
-
- Project Resource Calendar View
- project.project
- form
-
-
-
-
-
-
-
-
-
# ------------------------------------------------------
# Project Task
# ------------------------------------------------------
diff --git a/addons/project_scrum/__openerp__.py b/addons/project_scrum/__openerp__.py
index fb08b8432be..d4aa99196b0 100644
--- a/addons/project_scrum/__openerp__.py
+++ b/addons/project_scrum/__openerp__.py
@@ -65,7 +65,11 @@ More information on the methodology:
"board_project_scrum_view.xml",
],
'demo_xml': ['project_scrum_demo.xml'],
- 'test': ['test/project_scrum_report.yml'],
+ 'test': ['test/backlog_process.yml',
+ 'test/sprint_process.yml',
+ 'test/cancel_backlog.yml',
+ 'test/project_scrum_demo.yml',
+ ],
'installable': True,
'active': False,
'certificate' : '00736750152003010781',
diff --git a/addons/project_scrum/i18n/fr.po b/addons/project_scrum/i18n/fr.po
index efac2950020..a4109b8e61e 100644
--- a/addons/project_scrum/i18n/fr.po
+++ b/addons/project_scrum/i18n/fr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-09-26 12:11+0000\n"
-"Last-Translator: Numérigraphe \n"
+"PO-Revision-Date: 2011-11-25 14:47+0000\n"
+"Last-Translator: lholivier \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:57+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-11-26 05:49+0000\n"
+"X-Generator: Launchpad (build 14381)\n"
#. module: project_scrum
#: help:project.scrum.email,scrum_master_email:0
@@ -976,6 +976,10 @@ msgid ""
" \n"
"I am sending you Daily Meeting Details of date %s for the Sprint %s\n"
msgstr ""
+"Bonjour %s,\n"
+" \n"
+"Je vous envoie les informations du rendez-vous quotidien du %s en vue du "
+"\"sprint\" %s\n"
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:325
diff --git a/addons/project_scrum/project_scrum.py b/addons/project_scrum/project_scrum.py
index 1ac0871de68..260eadd4a61 100644
--- a/addons/project_scrum/project_scrum.py
+++ b/addons/project_scrum/project_scrum.py
@@ -262,7 +262,7 @@ class project_scrum_task(osv.osv):
'project.scrum.product.backlog': (_get_task, ['sprint_id'], 10)
}),
}
-
+ #dead code
def onchange_backlog_id(self, cr, uid, backlog_id=False):
if not backlog_id:
return {}
@@ -292,7 +292,7 @@ class project_scrum_meeting(osv.osv):
_defaults = {
'date' : lambda *a: time.strftime('%Y-%m-%d'),
}
-
+ # dead code
def button_send_to_master(self, cr, uid, ids, context=None):
meeting_id = self.browse(cr, uid, ids, context=context)[0]
if meeting_id and meeting_id.sprint_id.scrum_master_id.user_email:
@@ -303,6 +303,7 @@ class project_scrum_meeting(osv.osv):
raise osv.except_osv(_('Error !'), _('Please provide email address for scrum master defined on sprint.'))
return True
+ #dead code
def button_send_product_owner(self, cr, uid, ids, context=None):
if context is None:
context = {}
@@ -316,6 +317,7 @@ class project_scrum_meeting(osv.osv):
raise osv.except_osv(_('Error !'), _('Please provide email address for product owner defined on sprint.'))
return True
+ #dead code
def email_send(self, cr, uid, ids, email, context=None):
mail_message_obj = self.pool.get('mail.message')
meeting_id = self.browse(cr, uid, ids, context=context)[0]
diff --git a/addons/project_scrum/project_scrum_demo.xml b/addons/project_scrum/project_scrum_demo.xml
index 76f2846c76f..50c67146716 100644
--- a/addons/project_scrum/project_scrum_demo.xml
+++ b/addons/project_scrum/project_scrum_demo.xml
@@ -10,7 +10,6 @@
- open
@@ -158,7 +157,6 @@
6.0
This new system will enable you to migrate automatically from an old version of OpenERP to a new one. This system will migrate not only the OpenERP system but also the customers particularities. This happens without any kind of script or programming. It has been possible to carry out such a system thanks to the descriptive approach of OpenERP components.
- done
@@ -387,6 +385,9 @@
open
+
+
+
Admin: Worked on the Automatic migration system
diff --git a/addons/project_scrum/project_scrum_view.xml b/addons/project_scrum/project_scrum_view.xml
index 7749b5e2d3b..7dc2cc1d4f0 100644
--- a/addons/project_scrum/project_scrum_view.xml
+++ b/addons/project_scrum/project_scrum_view.xml
@@ -263,6 +263,8 @@
+
@@ -273,8 +275,6 @@
-
-
@@ -467,6 +467,7 @@
form
tree,form
[('product_backlog_id', '=', active_id)]
+ {'default_product_backlog_id': active_id}
@@ -481,6 +482,7 @@
form
tree,form
[('sprint_id', '=', active_id)]
+ {'default_sprint_id': active_id}
diff --git a/addons/project_scrum/test/backlog_process.yml b/addons/project_scrum/test/backlog_process.yml
new file mode 100644
index 00000000000..08a0d52ed0a
--- /dev/null
+++ b/addons/project_scrum/test/backlog_process.yml
@@ -0,0 +1,39 @@
+-
+ In Order to Test process of Project Agile Methology,
+-
+ I put Backlog in pending state because of specification is not ready.
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_pending(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after put in pending.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in pending state}:
+ - state == "pending"
+-
+ Now Specification is ready so I Open backlog "Automatic migration system".
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_open(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after opened.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in open state}:
+ - state == "open"
+-
+ I close Backlog after review.
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_close(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after closed.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in close state}:
+ - state == "done"
+-
+ I merge two Backlogs in to one Backlog.
+-
+ !python {model: project.scrum.backlog.merge}: |
+ self.check_backlogs(cr, uid, [ref("scrum_product_backlog_1"),ref("scrum_product_backlog_2")], {"active_ids": [ref("scrum_product_backlog_1"),ref("scrum_product_backlog_2")],
+ "active_id": ref("scrum_product_backlog_1")
+ })
diff --git a/addons/project_scrum/test/cancel_backlog.yml b/addons/project_scrum/test/cancel_backlog.yml
new file mode 100644
index 00000000000..0ab8dedec26
--- /dev/null
+++ b/addons/project_scrum/test/cancel_backlog.yml
@@ -0,0 +1,50 @@
+-
+ I cancel Backlog "Automatic migration system" from draft state.
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_cancel(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after canceled.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: backlog should be in cancel state}:
+ - state == "cancel"
+-
+ I cancel opened Backlog "Editable Trees".
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_cancel(cr, uid, [ref("scrum_product_backlog_7")])
+-
+ I check state of Backlog after canceled.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_7, severity: error, string: backlog should be in cancel state}:
+ - state == "cancel"
+-
+ I put Backlog in pending due to resource unavailability.
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_pending(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after put in pending.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in pending state}:
+ - state == "pending"
+-
+ I cancel pending Backlog "Automatic migration system".
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_cancel(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after canceled.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: backlog should be in cancel state}:
+ - state == "cancel"
+-
+ I Postpone opened Backlog "Reshape the complete menu".
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_postpone(cr, uid, [ref("scrum_product_backlog_6")])
+-
+ I check state of Backlog after Postpone.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_6, severity: error, string: backlog should be in cancel state}:
+ - state == "cancel"
diff --git a/addons/project_scrum/test/project_scrum_demo.yml b/addons/project_scrum/test/project_scrum_demo.yml
new file mode 100644
index 00000000000..d9f8418b08e
--- /dev/null
+++ b/addons/project_scrum/test/project_scrum_demo.yml
@@ -0,0 +1,3 @@
+-
+ !record {model: project.scrum.sprint, id: scrum_sprint_0, view: False}:
+ project_id: project.project_integrate_openerp
diff --git a/addons/project_scrum/test/project_scrum_report.yml b/addons/project_scrum/test/project_scrum_report.yml
deleted file mode 100644
index 7fb3e9c07fc..00000000000
--- a/addons/project_scrum/test/project_scrum_report.yml
+++ /dev/null
@@ -1,9 +0,0 @@
--
- In order to test the PDF reports defined on a Project Scrum, we will print Project Scrum Sprint Burndown Report
--
- !python {model: project.scrum.sprint}: |
- import netsvc, tools, os
- data_dict = {'model': 'project.scrum.sprint', 'id':ref('project_scrum.scrum_sprint_0')}
- (data, format) = netsvc.LocalService('report.scrum.sprint.burndown').create(cr, uid, [ref('project_scrum.scrum_sprint_0')], data_dict, {})
- if tools.config['test_report_directory']:
- file(os.path.join(tools.config['test_report_directory'], 'project_scrum-project_scrum_sprint_burndown.'+format), 'wb+').write(data)
\ No newline at end of file
diff --git a/addons/project_scrum/test/sprint_process.yml b/addons/project_scrum/test/sprint_process.yml
new file mode 100644
index 00000000000..dc7e4f46666
--- /dev/null
+++ b/addons/project_scrum/test/sprint_process.yml
@@ -0,0 +1,78 @@
+-
+ I put sprint in pending state to allocate task to resources.
+-
+ !python {model: project.scrum.sprint}: |
+ self.button_pending(cr, uid, [ref("scrum_sprint_0")])
+-
+ I check state of sprint after put in pending.
+-
+ !assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint should be in pending state}:
+ - state == "pending"
+-
+ I assign Backlog into this Sprint
+-
+ !python {model: project.scrum.backlog.assign.sprint}: |
+ new_id = self.create(cr, uid, {'sprint_id': ref("scrum_sprint_0")})
+ self.assign_sprint(cr, uid, [new_id], {"active_ids": [ref("scrum_product_backlog_0")]
+ })
+ backlog_obj = self.pool.get('project.scrum.product.backlog')
+ task_obj = self.pool.get('project.task')
+
+ backlog_data = backlog_obj.browse(cr, uid, ref("scrum_product_backlog_0"), context)
+ assert backlog_data.sprint_id.id == ref("scrum_sprint_0"), 'Sprint is not assigned'
+-
+ I Open sprint of "Week 31"
+-
+ !python {model: project.scrum.sprint}: |
+ self.button_open(cr, uid, [ref("scrum_sprint_0")])
+-
+ I check state of sprint after opened.
+-
+ !assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint should be in Open state}:
+ - state == "open"
+-
+ I create tasks from backlog "Automatic migration system" for sprint
+-
+ !python {model: project.scrum.backlog.create.task}: |
+ new_id = self.create(cr, uid, {'user_id': ref("project.res_users_project_manager")})
+ task_obj = self.pool.get('project.task')
+ backlog_obj = self.pool.get('project.scrum.product.backlog')
+
+ new_task = self.do_create(cr, uid, [new_id], {"active_ids": [ref("scrum_product_backlog_0")]})
+ backlog_data = backlog_obj.browse(cr, uid, ref("scrum_product_backlog_0"), context)
+ task_ids = task_obj.search(cr, uid, [('product_backlog_id','=', backlog_data.id)])
+ assert len(task_ids), "Task not created"
+ task = task_obj.browse(cr, uid, task_ids[0], context)
+
+ assert task.name == backlog_data.name and task.total_hours == backlog_data.expected_hours and task.user_id and task.user_id.id == ref("project.res_users_project_manager"), 'Task not has been created'
+-
+ I send email to scrum master with scrum meeting details.
+-
+ !python {model: mail.compose.message }: |
+ ctx = context.copy()
+ ctx.update({'active_model': 'project.scrum.meeting', 'active_id': ref("scrum_meeting_0"), 'active_ids': [ref("scrum_meeting_0")]})
+ vals = self.default_get(cr, uid , [], context=ctx)
+ try:
+ new_id = self.create(cr, uid, {'email_to': 'xyz@mycompany.com', 'subject': 'test'})
+ self.send_mail(cr, uid, [new_id], context=ctx)
+ except Exception, e:
+ pass
+-
+ I close sprint after review
+-
+ !python {model: project.scrum.sprint}: |
+ self.button_close(cr, uid, [ref("scrum_sprint_0")])
+-
+ I check state after closed sprint.
+-
+ !assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint shoud be in close state}:
+ - state == "done"
+-
+ I print Burndown chart of Sprint.
+-
+ !python {model: project.scrum.sprint}: |
+ import netsvc, tools, os
+ data_dict = {'model': 'project.scrum.sprint', 'id':ref('scrum_sprint_0')}
+ (data, format) = netsvc.LocalService('report.scrum.sprint.burndown').create(cr, uid, [ref('scrum_sprint_0')], data_dict, {})
+ if tools.config['test_report_directory']:
+ file(os.path.join(tools.config['test_report_directory'], 'project_scrum-project_scrum_sprint_burndown.'+format), 'wb+').write(data)
diff --git a/addons/purchase/board_purchase_view.xml b/addons/purchase/board_purchase_view.xml
index 453f029aa0d..04a9b47abe3 100644
--- a/addons/purchase/board_purchase_view.xml
+++ b/addons/purchase/board_purchase_view.xml
@@ -136,7 +136,6 @@
-->
-
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index 2b1ba34b8e1..90acbf4ecfd 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -108,7 +108,7 @@
tree,form,calendar,graph
[('type','=','in_invoice')]
- {'type':'in_invoice', 'journal_type': 'purchase', 'search_default_draft': 1}
+ {'default_type':'in_invoice', 'type':'in_invoice', 'journal_type': 'purchase', 'search_default_draft': 1}
Use this menu to control the invoices to be received from your supplier. OpenERP pregenerates draft invoices from your purchase orders or receptions, according to your settings. Once you receive a supplier invoice, you can match it with the draft invoice and validate it.
@@ -172,7 +172,7 @@
-
+
diff --git a/addons/purchase/stock.py b/addons/purchase/stock.py
index 42d9c40d7e5..c212a171b21 100644
--- a/addons/purchase/stock.py
+++ b/addons/purchase/stock.py
@@ -35,16 +35,12 @@ class stock_move(osv.osv):
on the purchase order in case the valuation data was not directly specified during picking
confirmation.
"""
- product_uom_obj = self.pool.get('product.uom')
-
reference_amount, reference_currency_id = super(stock_move, self)._get_reference_accounting_values_for_valuation(cr, uid, move, context=context)
- default_uom = move.product_id.uom_id.id
- qty = product_uom_obj._compute_qty(cr, uid, move.product_uom.id, move.product_qty, default_uom)
if move.product_id.cost_method != 'average' or not move.price_unit:
# no average price costing or cost not specified during picking validation, we will
# plug the purchase line values if they are found.
if move.purchase_line_id and move.picking_id.purchase_id.pricelist_id:
- reference_amount, reference_currency_id = move.purchase_line_id.price_unit * qty, move.picking_id.purchase_id.pricelist_id.currency_id.id
+ reference_amount, reference_currency_id = move.purchase_line_id.price_unit * move.product_qty, move.picking_id.purchase_id.pricelist_id.currency_id.id
return reference_amount, reference_currency_id
stock_move()
diff --git a/addons/purchase/stock_view.xml b/addons/purchase/stock_view.xml
index 0e2a1852eca..7afcc96767f 100644
--- a/addons/purchase/stock_view.xml
+++ b/addons/purchase/stock_view.xml
@@ -31,7 +31,7 @@
res_model="stock.picking"
groups="base.group_extended"
src_model="purchase.order"
- context="{'contact_display': 'partner'}" />
+ context="{'default_purchase_id': active_id, 'contact_display': 'partner'}" />
@@ -110,7 +110,7 @@
form
tree,form,calendar
[('type','=','in')]
- {'contact_display': 'partner_address',"search_default_done":1, "search_default_to_invoice":1}
+ {"default_type": "in", "contact_display": "partner_address", "search_default_done": 1, "search_default_to_invoice": 1}
If you set the Invoicing Control on a purchase order as "Based on receptions", you can track here all the product receptions and create invoices for those receptions.
diff --git a/addons/purchase_double_validation/__openerp__.py b/addons/purchase_double_validation/__openerp__.py
index 7bd9df87c8b..cd379afdb59 100644
--- a/addons/purchase_double_validation/__openerp__.py
+++ b/addons/purchase_double_validation/__openerp__.py
@@ -37,9 +37,10 @@ that exceeds minimum amount set by configuration wizard.
'website': 'http://www.openerp.com',
'init_xml': [],
'update_xml': [
- 'purchase_double_validation_workflow.xml',
- 'purchase_double_validation_installer.xml'
- ],
+ 'purchase_double_validation_workflow.xml',
+ 'purchase_double_validation_installer.xml',
+ 'board_purchase_view.xml'
+ ],
'test': ['test/purchase_double_validation_test.yml'],
'demo_xml': [],
'installable': True,
diff --git a/addons/purchase_double_validation/board_purchase_view.xml b/addons/purchase_double_validation/board_purchase_view.xml
new file mode 100644
index 00000000000..d093dcc6937
--- /dev/null
+++ b/addons/purchase_double_validation/board_purchase_view.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ Purchase Order Waiting Approval
+ ir.actions.act_window
+ purchase.order
+ form
+ tree,form
+ [('date_order','>',time.strftime('%Y-01-01 00:00:00')),('date_order','<',time.strftime('%Y-12-31 23:59:59')), ('state','in',('wait','confirmed'))]
+
+
+
+ board.purchase.form
+ board.board
+ form
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml
index fdddb4b7fee..e0f09f6f7d6 100644
--- a/addons/purchase_requisition/purchase_requisition_view.xml
+++ b/addons/purchase_requisition/purchase_requisition_view.xml
@@ -205,6 +205,7 @@
diff --git a/addons/sale/stock_view.xml b/addons/sale/stock_view.xml
index 943d528b7b4..7b9e90f6f0a 100644
--- a/addons/sale/stock_view.xml
+++ b/addons/sale/stock_view.xml
@@ -71,7 +71,7 @@
form
tree,form,calendar
[('type','=','out')]
- {'contact_display': 'partner_address', 'search_default_to_invoice': 1, 'search_default_done': 1}
+ {'default_type': 'out', 'contact_display': 'partner_address', 'search_default_to_invoice': 1, 'search_default_done': 1}
diff --git a/addons/sale_crm/i18n/fr.po b/addons/sale_crm/i18n/fr.po
index f61ff152f64..ce39c2219d5 100644
--- a/addons/sale_crm/i18n/fr.po
+++ b/addons/sale_crm/i18n/fr.po
@@ -7,15 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2011-01-13 11:11+0000\n"
-"Last-Translator: Maxime Chambreuil (http://www.savoirfairelinux.com) "
-"\n"
+"PO-Revision-Date: 2011-11-25 14:51+0000\n"
+"Last-Translator: Numérigraphe \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:04+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-11-26 05:49+0000\n"
+"X-Generator: Launchpad (build 14381)\n"
#. module: sale_crm
#: field:crm.make.sale,partner_id:0
@@ -31,7 +30,7 @@ msgstr "Convertir en devis"
#: code:addons/sale_crm/wizard/crm_make_sale.py:108
#, python-format
msgid "Opportunity '%s' is converted to Quotation."
-msgstr ""
+msgstr "L'opportunité '%s' a été convertie en devis."
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:89
diff --git a/addons/stock/board_warehouse_view.xml b/addons/stock/board_warehouse_view.xml
index 68485ab2b49..3c645aecb5b 100644
--- a/addons/stock/board_warehouse_view.xml
+++ b/addons/stock/board_warehouse_view.xml
@@ -28,7 +28,7 @@
graph,tree
[('type','=','in'),('day','<=', time.strftime('%Y-%m-%d')),('day','>',(datetime.date.today()-datetime.timedelta(days=15)).strftime('%Y-%m-%d'))]
- {'search_default_month-1':1,'search_default_in':1,'group_by':['day'], 'group_by_no_leaf':1}
+ {'default_type':'in','search_default_month-1':1,'search_default_in':1,'group_by':['day'], 'group_by_no_leaf':1}
Outgoing Products Delay
@@ -37,7 +37,7 @@
graph,tree
[('type','=','out'),('day','<=', time.strftime('%Y-%m-%d')),('day','>',(datetime.date.today()-datetime.timedelta(days=15)).strftime('%Y-%m-%d'))]
- {'search_default_month-1':1,'search_default_out':1,'group_by':['day'], 'group_by_no_leaf':1}
+ {'default_type':'out','search_default_month-1':1,'search_default_out':1,'group_by':['day'], 'group_by_no_leaf':1}
board.warehouse.form
diff --git a/addons/stock/i18n/de.po b/addons/stock/i18n/de.po
index 072c6d34cab..9c60193d1f1 100644
--- a/addons/stock/i18n/de.po
+++ b/addons/stock/i18n/de.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2011-11-07 12:47+0000\n"
-"Last-Translator: Ferdinand-camptocamp \n"
+"PO-Revision-Date: 2011-11-29 07:02+0000\n"
+"Last-Translator: Ferdinand @ Camptocamp \n"
"Language-Team: German \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-12 04:50+0000\n"
-"X-Generator: Launchpad (build 14277)\n"
+"X-Launchpad-Export-Date: 2011-11-30 05:27+0000\n"
+"X-Generator: Launchpad (build 14404)\n"
#. module: stock
#: field:product.product,track_outgoing:0
@@ -2256,7 +2256,7 @@ msgstr "Zukünftige Menge"
#. module: stock
#: field:product.category,property_stock_valuation_account_id:0
msgid "Stock Valuation Account"
-msgstr ""
+msgstr "Lagerbestandskonto"
#. module: stock
#: field:stock.move,note:0
@@ -4220,7 +4220,7 @@ msgstr "Optionale Lagerort Details, nur als Information"
#. module: stock
#: view:product.product:0
msgid "Expected Stock Variations"
-msgstr ""
+msgstr "Erwartete Lagerveränderungen"
#~ msgid "LIFO"
#~ msgstr "LiFo"
diff --git a/addons/stock/report/report_stock.py b/addons/stock/report/report_stock.py
index 6344fe2c044..37e4f28c858 100644
--- a/addons/stock/report/report_stock.py
+++ b/addons/stock/report/report_stock.py
@@ -159,6 +159,7 @@ class report_stock_lines_date(osv.osv):
left outer join stock_inventory_line l on (p.id=l.product_id)
left join stock_inventory s on (l.inventory_id=s.id)
and s.state = 'done'
+ where p.active='true'
group by p.id
)""")
report_stock_lines_date()
diff --git a/addons/stock/report/report_stock_move.py b/addons/stock/report/report_stock_move.py
index 520efc229a0..8b18331d2bf 100644
--- a/addons/stock/report/report_stock_move.py
+++ b/addons/stock/report/report_stock_move.py
@@ -128,15 +128,12 @@ class report_stock_move(osv.osv):
LEFT JOIN product_uom pu ON (sm.product_uom=pu.id)
LEFT JOIN product_uom pu2 ON (sm.product_uom=pu2.id)
LEFT JOIN product_template pt ON (pp.product_tmpl_id=pt.id)
- LEFT JOIN stock_location sl ON (sm.location_id = sl.id)
-
GROUP BY
sm.id,sp.type, sm.date,sm.address_id,
sm.product_id,sm.state,sm.product_uom,sm.date_expected,
sm.product_id,pt.standard_price, sm.picking_id, sm.product_qty,
sm.company_id,sm.product_qty, sm.location_id,sm.location_dest_id,pu.factor,pt.categ_id, sp.stock_journal_id)
AS al
-
GROUP BY
al.out_qty,al.in_qty,al.curr_year,al.curr_month,
al.curr_day,al.curr_day_diff,al.curr_day_diff1,al.curr_day_diff2,al.dp,al.location_id,al.location_dest_id,
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 8e3450708eb..6cd9d61f6c4 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -1058,7 +1058,7 @@
form
tree,form,calendar
[('type','=','out')]
- {'contact_display': 'partner_address', 'search_default_available': 1}
+ {'default_type': 'out', 'contact_display': 'partner_address', 'search_default_available': 1}
This is the list of all delivery orders that have to be prepared, according to your different sales orders and your logistics rules.
@@ -1335,7 +1335,7 @@
form
tree,form,calendar
[('type','=','internal')]
- {'contact_display': 'partner_address',"search_default_available":1}
+ {'default_type': 'internal', 'contact_display': 'partner_address', 'search_default_available': 1}
Internal Moves display all inventory operations you have to perform in your warehouse. All operations can be categorized into stock journals, so that each worker has his own list of operations to perform in his own journal. Most operations are prepared automatically by OpenERP according to your preconfigured logistics rules, but you can also record manual stock operations.
@@ -1841,7 +1841,7 @@
form
tree,form,calendar
[('type','=','out')]
- {'contact_display': 'partner',"search_default_available":1}
+ {'default_type': 'out', 'contact_display': 'partner',"search_default_available":1}
diff --git a/addons/stock_planning/i18n/de.po b/addons/stock_planning/i18n/de.po
index 022df420410..dcc5c9160c7 100644
--- a/addons/stock_planning/i18n/de.po
+++ b/addons/stock_planning/i18n/de.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2011-01-12 15:14+0000\n"
-"Last-Translator: Ferdinand-camptocamp \n"
+"PO-Revision-Date: 2011-11-29 07:08+0000\n"
+"Last-Translator: Ferdinand @ Camptocamp \n"
"Language-Team: German \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:48+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-11-30 05:27+0000\n"
+"X-Generator: Launchpad (build 14404)\n"
#. module: stock_planning
#: code:addons/stock_planning/wizard/stock_planning_createlines.py:73
@@ -352,7 +352,7 @@ msgstr " Bedarfsmenge "
#: code:addons/stock_planning/stock_planning.py:719
#, python-format
msgid "%s Pick List %s (%s, %s) %s %s \n"
-msgstr ""
+msgstr "%s Lieferscheinliste %s (%s, %s) %s %s \n"
#. module: stock_planning
#: view:stock.planning.createlines:0
@@ -473,7 +473,7 @@ msgstr "Fehler !"
#: code:addons/stock_planning/stock_planning.py:626
#, python-format
msgid "Manual planning for %s"
-msgstr ""
+msgstr "Manuelle Planung für %s"
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_user_id:0
@@ -1248,7 +1248,7 @@ msgstr "Erzeuge Prognosepositionen für d. ausgew. Zentrallager u. d. Periode"
#: code:addons/stock_planning/stock_planning.py:656
#, python-format
msgid "%s Requisition (%s, %s) %s %s \n"
-msgstr ""
+msgstr "%s Anforderung (%s, %s) %s %s \n"
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:655
@@ -1757,6 +1757,22 @@ msgid ""
" Expected Out: %s Incoming Left: %s \n"
" Stock Simulation: %s Minimum stock: %s "
msgstr ""
+"Lieferschein erstellt im MPS von Benutzer: %s Erstellungsdatum: %s "
+" \n"
+"Für Periode: %s entspricht Status: \n"
+" Lagervorschau: %s \n"
+" Anfangsbestand: %s \n"
+" Geplant Auslieferung: %s Geplanter Eingang: %s "
+" \n"
+" bereits ausgeliefert: %s Bereits eingegangen: %s "
+" \n"
+" bestätigte Auslieferung: %s Bestätigter Eingang: %s "
+" \n"
+" geplante Auslieferung vor: %s Geplanter Eingang vor: %s "
+" \n"
+" erwartete Auslieferung: %s restlicher Eingang: %s "
+" \n"
+" Lager Simulation: %s Minimumbestand: %s "
#. module: stock_planning
#: field:stock.planning,procure_to_stock:0
diff --git a/addons/wiki/wiki.py b/addons/wiki/wiki.py
index 940d7116099..fa1dca8e95a 100644
--- a/addons/wiki/wiki.py
+++ b/addons/wiki/wiki.py
@@ -125,9 +125,9 @@ class wiki_wiki2(osv.osv):
'child_ids': fields.one2many('wiki.wiki', 'parent_id', 'Child Pages'),
}
_defaults = {
- 'toc': lambda *a: True,
- 'review': lambda *a: True,
- 'minor_edit': lambda *a: True,
+ 'toc': True,
+ 'review': True,
+ 'minor_edit': True,
}
def onchange_group_id(self, cr, uid, ids, group_id, content, context=None):
|