[MERGE] merged with openobject-addons

bzr revid: hmo@tinyerp.com-20101027131925-6399ot77ovmvdcon
This commit is contained in:
Harry (OpenERP)
2010-10-27 18:49:25 +05:30
17 changed files with 68 additions and 69 deletions
+2 -2
View File
@@ -328,8 +328,8 @@ class account_cash_statement(osv.osv):
statement_pool = self.pool.get('account.bank.statement')
for statement in statement_pool.browse(cr, uid, ids, context=context):
vals = {}
if not self._user_allow(cr, uid, statement.id, context=context):
force_allow = context.get('force_allow',False)
if not force_allow and not self._user_allow(cr, uid, statement.id, context=context):
raise osv.except_osv(_('Error !'), _('User %s does not have rights to access %s journal !' % (statement.user_id.name, statement.journal_id.name)))
if statement.name and statement.name == '/':
@@ -26,7 +26,7 @@
I clicked on Open CashBox button to open the cashbox
-
!python {model: account.bank.statement}: |
self.button_open(cr, uid, [ref("account_bank_statement_1")], {"lang": "en_US", "tz": False, "active_model": "account.bank.statement", "active_ids": [ref("account_bank_statement_1")], "active_id": ref("account_bank_statement_1"), })
self.button_open(cr, uid, [ref("account_bank_statement_1")], {"force_allow":True, "lang": "en_US", "tz": False, "active_model": "account.bank.statement", "active_ids": [ref("account_bank_statement_1")], "active_id": ref("account_bank_statement_1"), })
-
I check that now bank statement is in the "Open" state
+1 -1
View File
@@ -44,7 +44,7 @@ class buyer_form_report(report_sxw.rml_parse):
taxes.append(lot.author_right)
if lot.auction_id:
taxes += lot.auction_id.buyer_costs
tax=self.pool.get('account.tax').compute(self.cr, self.uid, taxes, lot.obj_price, 1)
tax=self.pool.get('account.tax').compute_all(self.cr, self.uid, taxes, lot.obj_price, 1)
for t in tax:
amount+=t['amount']
return amount
+3 -3
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:date="http://exslt.org/dates-and-times"extension-element-prefixes="date">
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:date="http://exslt.org/dates-and-times" extension-element-prefixes="date">
<xsl:template match="report">
@@ -30,7 +30,7 @@
<pageGraphics>
<!-- <image x="1.0cm" y="27.3cm" file="/home/tiny/terp/4.2/server/bin/addons/auction/report/images/flagey_head.png"/>-->
- <image x="1.0cm" y="26.1cm" file="flagey_logo.jpg"/>
<drawRightString x="19.0cm" y="26.6cm"> Vente antiquitée le <xsl:value-of select="date:day-name(catalog/AuctionDate1)"/> &#160;<xsl:value-of select="date:day-in-month(catalog/AuctionDate1)"/>&#160;<xsl:value-of select="date:month-name(catalog/AuctionDate1)"/> &#160;<xsl:value-of select="date:year(catalog/AuctionDate1)"/></drawRightString>
<drawRightString x="19.0cm" y="26.6cm"> Antiques on sale <xsl:value-of select="date:day-name(catalog/AuctionDate1)"/> <xsl:value-of select="date:day-in-month(catalog/AuctionDate1)"/><xsl:value-of select="date:month-name(catalog/AuctionDate1)"/> <xsl:value-of select="date:year(catalog/AuctionDate1)"/></drawRightString>
<lineMode width="1mm"/>
<setFont name="Helvetica" size="26"/>
<!-- <drawString x="10mm" y="27.8cm">Flagey.com</drawString>-->
+2 -2
View File
@@ -35,7 +35,7 @@ class seller_form_report(report_sxw.rml_parse):
'sum_taxes': self.sum_taxes,
'sellerinfo' : self.seller_info,
'grand_total' : self.grand_seller_total,
})
})
def sum_taxes(self, lot):
@@ -45,7 +45,7 @@ class seller_form_report(report_sxw.rml_parse):
taxes.append(lot.bord_vnd_id.tax_id)
elif lot.auction_id and lot.auction_id.seller_costs:
taxes += lot.auction_id.seller_costs
tax=self.pool.get('account.tax').compute(self.cr, self.uid, taxes, lot.obj_price, 1)
tax=self.pool.get('account.tax').compute_all(self.cr, self.uid, taxes, lot.obj_price, 1)
for t in tax:
amount+=t['amount']
return amount
@@ -27,8 +27,8 @@
I will search for one of the recurrent event and count the number of events
-
!python {model: calendar.event}: |
ids = self.search(cr, uid, [('date', '>=', '2010-05-01 00:00:00'), ('date', '<=', '2010-05-31 00:00:00')] )
assert len(ids) == 9
ids = self.search(cr, uid, [('date', '>=', '2010-04-30 16:00:00'), ('date', '<=', '2010-05-31 00:00:00')] )
assert len(ids) == 10
- |
Now I will make All day event and test it
-
+1 -1
View File
@@ -40,7 +40,7 @@
'partner_view.xml'
],
'demo_xml': ['delivery_demo.xml'],
'test':['test/delivery_test.yml','test/delivery_report.yml'],
'test':['test/delivery_report.yml'],
'installable': True,
'active': False,
'certificate': '0033981912253',
-2
View File
@@ -19,8 +19,6 @@
#
##############################################################################
from itertools import groupby
from operator import itemgetter
from datetime import datetime
from osv import osv, fields
from tools.translate import _
@@ -21,4 +21,9 @@
"access_account_tax_manager","account.tax manager","account.model_account_tax","mrp.group_mrp_manager",1,0,0,0
"access_mrp_repair_fee_user_mrp","MRP Repair Fee user mrp","model_mrp_repair_fee","mrp.group_mrp_user",1,1,1,1
"access_mrp_repair_fee_mgr","MRP Repair Fee mgr","model_mrp_repair_fee","mrp.group_mrp_manager",1,0,0,0
"access_account_invoice_user","account.invoice","account.model_account_invoice","mrp.group_mrp_user",1,1,1,1
"access_account_invoice_manager","account.invoice manager","account.model_account_invoice","mrp.group_mrp_manager",1,0,0,0
"access_account_invoice_line_user","account.invoice.line","account.model_account_invoice_line","mrp.group_mrp_user",1,1,1,1
"access_account_invoice_line_manager","account.invoice.line manager","account.model_account_invoice_line","mrp.group_mrp_manager",1,0,0,0
"access_account_journal_user","account.journal","account.model_account_journal","mrp.group_mrp_user",1,1,1,1
"access_account_journal_manager","account.journal manager","account.model_account_journal","mrp.group_mrp_manager",1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
21 access_account_tax_manager account.tax manager account.model_account_tax mrp.group_mrp_manager 1 0 0 0
22 access_mrp_repair_fee_user_mrp MRP Repair Fee user mrp model_mrp_repair_fee mrp.group_mrp_user 1 1 1 1
23 access_mrp_repair_fee_mgr MRP Repair Fee mgr model_mrp_repair_fee mrp.group_mrp_manager 1 0 0 0
24 access_account_invoice_user account.invoice account.model_account_invoice mrp.group_mrp_user 1 1 1 1
25 access_account_invoice_manager account.invoice manager account.model_account_invoice mrp.group_mrp_manager 1 0 0 0
26 access_account_invoice_line_user account.invoice.line account.model_account_invoice_line mrp.group_mrp_user 1 1 1 1
27 access_account_invoice_line_manager account.invoice.line manager account.model_account_invoice_line mrp.group_mrp_manager 1 0 0 0
28 access_account_journal_user account.journal account.model_account_journal mrp.group_mrp_user 1 1 1 1
29 access_account_journal_manager account.journal manager account.model_account_journal mrp.group_mrp_manager 1 0 0 0
+2 -2
View File
@@ -85,7 +85,7 @@
obj_lines = self.pool.get('account.invoice.line')
inv_obj = self.pool.get('account.invoice')
repair_id = self.browse(cr, uid, [ref('mrp_repair_rma0')], context=context)[0]
invoice_ids = inv_obj.search(cr, uid, [('partner_id', '=', repair_id.partner_invoice_id.id)])
invoice_ids = inv_obj.search(cr, uid, [('partner_id', '=', repair_id.partner_id.id)])
invoice_id = inv_obj.browse(cr, uid, invoice_ids)[0]
assert repair_id.partner_invoice_id.id == invoice_id.partner_id.id, "No invoice existing for the same partner"
assert repair_id.partner_id.id == invoice_id.partner_id.id, "No invoice existing for the same partner"
+5 -5
View File
@@ -134,7 +134,7 @@
-
Make a work task entry 'Training on OpenERP modules, models and classes' of 10 hours
-
!record {model: project.task, id: project_task_technicaltraining0}:
!record {model: project.task, id: project_task_technicaltraining0, context:{'no_analytic_entry':True}}:
work_ids:
- date: '2010-05-31 15:04:22'
hours: 10.0
@@ -149,7 +149,7 @@
-
Make a work task entry 'Training on OpenERP xml views' of 10 hours
-
!record {model: project.task, id: project_task_technicaltraining0}:
!record {model: project.task, id: project_task_technicaltraining0, context:{'no_analytic_entry':True}}:
work_ids:
- date: '2010-06-01 15:04:46'
hours: 10.0
@@ -164,7 +164,7 @@
-
Make a work task entry 'Training on workflows' of 10 hours
-
!record {model: project.task, id: project_task_technicaltraining0}:
!record {model: project.task, id: project_task_technicaltraining0, context:{'no_analytic_entry':True}}:
work_ids:
- date: '2010-06-02 15:05:24'
hours: 10.0
@@ -200,7 +200,7 @@
-
Make a work task entry 'Training on reports and wizards' of 10 hours
-
!record {model: project.task, id: project_task_technicaltraining0}:
!record {model: project.task, id: project_task_technicaltraining0, context:{'no_analytic_entry':True}}:
work_ids:
- date: '2010-05-31 15:08:40'
hours: 10.0
@@ -251,7 +251,7 @@
-
Make a work task entry 'Training on yml' of 5 hours
-
!record {model: project.task, id: project_task_technicaltraining0}:
!record {model: project.task, id: project_task_technicaltraining0, context:{'no_analytic_entry':True}}:
work_ids:
- date: '2010-05-31 16:55:27'
hours: 5.0
+1
View File
@@ -32,6 +32,7 @@ class project_task(osv.osv):
# force inherit from project.project_task so that
# calendar.todo.active is masked oute
'active': base_project_task._columns['active'],
'date_deadline': base_project_task._columns['date_deadline'],
'write_date': fields.datetime('Write Date'),
'create_date': fields.datetime('Create Date', readonly=True),
'attendee_ids': fields.many2many('calendar.attendee', \
@@ -10,7 +10,7 @@
Create task 'Plan all projects'
-
!record {model: project.task, id: project_task_planallprojects0}:
date_deadline: '2010-06-07 12:00:00'
date_deadline: '2010-06-07'
date_end: '2010-06-04 14:00:00'
date_start: '2010-06-01 17:25:32'
name: Plan all projects
+34 -34
View File
@@ -80,42 +80,42 @@ class project_work(osv.osv):
vals_line = {}
context = kwargs.get('context', {})
if not context.get('no_analytic_entry',False):
obj_task = task_obj.browse(cr, uid, vals['task_id'])
result = self.get_user_related_details(cr, uid, vals.get('user_id', uid))
vals_line['name'] = '%s: %s' % (tools.ustr(obj_task.name), tools.ustr(vals['name']) or '/')
vals_line['user_id'] = vals['user_id']
vals_line['product_id'] = result['product_id']
vals_line['date'] = vals['date'][:10]
#calculate quantity based on employee's product's uom
vals_line['unit_amount'] = vals['hours']
obj_task = task_obj.browse(cr, uid, vals['task_id'])
result = self.get_user_related_details(cr, uid, vals.get('user_id', uid))
vals_line['name'] = '%s: %s' % (tools.ustr(obj_task.name), tools.ustr(vals['name']) or '/')
vals_line['user_id'] = vals['user_id']
vals_line['product_id'] = result['product_id']
vals_line['date'] = vals['date'][:10]
#calculate quantity based on employee's product's uom
vals_line['unit_amount'] = vals['hours']
default_uom = self.pool.get('res.users').browse(cr, uid, uid).company_id.project_time_mode_id.id
if result['product_uom_id'] != default_uom:
vals_line['unit_amount'] = uom_obj._compute_qty(cr, uid, default_uom, vals['hours'], result['product_uom_id'])
acc_id = obj_task.project_id and obj_task.project_id.analytic_account_id.id or False
if acc_id:
vals_line['account_id'] = acc_id
res = obj_timesheet.on_change_account_id(cr, uid, False, acc_id)
if res.get('value'):
vals_line.update(res['value'])
vals_line['general_account_id'] = result['general_account_id']
vals_line['journal_id'] = result['journal_id']
vals_line['amount'] = 0.0
vals_line['product_uom_id'] = result['product_uom_id']
amount = vals_line['unit_amount']
prod_id = vals_line['product_id']
unit = False
timeline_id = obj_timesheet.create(cr, uid, vals=vals_line, context=context)
default_uom = self.pool.get('res.users').browse(cr, uid, uid).company_id.project_time_mode_id.id
if result['product_uom_id'] != default_uom:
vals_line['unit_amount'] = uom_obj._compute_qty(cr, uid, default_uom, vals['hours'], result['product_uom_id'])
acc_id = obj_task.project_id and obj_task.project_id.analytic_account_id.id or False
if acc_id:
vals_line['account_id'] = acc_id
res = obj_timesheet.on_change_account_id(cr, uid, False, acc_id)
if res.get('value'):
vals_line.update(res['value'])
vals_line['general_account_id'] = result['general_account_id']
vals_line['journal_id'] = result['journal_id']
vals_line['amount'] = 0.0
vals_line['product_uom_id'] = result['product_uom_id']
amount = vals_line['unit_amount']
prod_id = vals_line['product_id']
unit = False
timeline_id = obj_timesheet.create(cr, uid, vals=vals_line, context=context)
# Compute based on pricetype
amount_unit = obj_timesheet.on_change_unit_amount(cr, uid, timeline_id,
prod_id, amount, False, unit, context=context)
if amount_unit and 'amount' in amount_unit.get('value',{}):
updv = { 'amount': amount_unit['value']['amount'] }
obj_timesheet.write(cr, uid, [timeline_id], updv, context=context)
vals['hr_analytic_timesheet_id'] = timeline_id
# Compute based on pricetype
amount_unit = obj_timesheet.on_change_unit_amount(cr, uid, timeline_id,
prod_id, amount, False, unit, context=context)
if amount_unit and 'amount' in amount_unit.get('value',{}):
updv = { 'amount': amount_unit['value']['amount'] }
obj_timesheet.write(cr, uid, [timeline_id], updv, context=context)
vals['hr_analytic_timesheet_id'] = timeline_id
return super(project_work,self).create(cr, uid, vals, *args, **kwargs)
def write(self, cr, uid, ids, vals, context=None):
-1
View File
@@ -2008,7 +2008,6 @@ class stock_move(osv.osv):
for id in ids:
wf_service.trg_trigger(uid, 'stock.move', id, cr)
picking_obj = self.pool.get('stock.picking')
wf_service = netsvc.LocalService("workflow")
for pick_id in picking_ids:
wf_service.trg_write(uid, 'stock.picking', pick_id, cr)
@@ -60,16 +60,12 @@
}
pick_obj.do_partial(cr, uid, [ref('stock_picking_out0')], partial_datas, context=context)
-
As the Invoice state of the picking order is To be invoiced. I create a record for create invoice.
-
!record {model: stock.invoice.onshipping, id: stock_invoice_onshipping_0}:
invoice_date: '2010-08-04'
journal_id: account.bank_journal
-
I create a Customer invoice for my outgoing picking order.
As the Invoice state of the picking order is To be invoiced. I create invoice for my outgoing picking order.
-
!python {model: stock.invoice.onshipping}: |
self.create_invoice(cr, uid, [ref("stock_invoice_onshipping_0")], {"lang": "en_US",
wiz_id = self.create(cr, uid, {'invoice_date': '2010-08-04', 'journal_id': ref('account.bank_journal')},
{'active_ids': [ref("stock_picking_out0")]})
self.create_invoice(cr, uid, [wiz_id], {"lang": "en_US",
"search_default_available": 1, "tz": False, "active_model": "stock.picking",
"contact_display": "partner", "active_ids": [ref("stock_picking_out0")], "active_id": ref("stock_picking_out0")})
-
@@ -1977,9 +1977,9 @@ class Parser(BaseParser):
if toclevel < wgMaxTocLevel:
toc.append(u"</li>\n")
toc.append(u"</ul>\n</li>\n" * max(0, toclevel - 1))
#TODO: use gettext
#toc.insert(0, u'<div id="toc"><h2>' + _('Table of Contents') + '</h2>')
toc.insert(0, u'<div id="toc"><h2>Table of Contents</h2>')
#TODO: use gettext
#toc.insert(0, u'<div id="toc"><h2>' + _('Table of Contents') + '</h2>')
toc.insert(0, u'<div id="toc"><h2>Table of Contents</h2>')
toc.append(u'</ul>\n</div>')
# split up and insert constructed headlines