[MERGE]:testing of attachment in edi
bzr revid: han@tinyerp.com-20110630133333-wt7pwnzc30h89n0w
This commit is contained in:
@@ -23,7 +23,7 @@ from base.ir import ir_edi
|
||||
|
||||
class res_partner(osv.osv, ir_edi.edi):
|
||||
_inherit = "res.partner"
|
||||
|
||||
|
||||
res_partner()
|
||||
|
||||
class res_partner_address(osv.osv, ir_edi.edi):
|
||||
|
||||
@@ -111,6 +111,7 @@ class res_partner(osv.osv):
|
||||
_order = "name"
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=128, required=True, select=True),
|
||||
'opt_out':fields.boolean('Opt-out'),
|
||||
'date': fields.date('Date', select=1),
|
||||
'title': fields.many2one('res.partner.title','Partner Firm'),
|
||||
'parent_id': fields.many2one('res.partner','Parent Partner'),
|
||||
@@ -149,6 +150,7 @@ class res_partner(osv.osv):
|
||||
'customer': lambda *a: 1,
|
||||
'category_id': _default_category,
|
||||
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner', context=c),
|
||||
'opt_out' : False
|
||||
}
|
||||
def copy(self, cr, uid, id, default={}, context={}):
|
||||
name = self.read(cr, uid, [id], ['name'])[0]['name']
|
||||
|
||||
@@ -261,6 +261,7 @@
|
||||
<group colspan="1" col="2">
|
||||
<field name="customer" select="1"/>
|
||||
<field name="supplier"/>
|
||||
<field name="opt_out"/>
|
||||
<!-- <field name="employee"/>-->
|
||||
</group>
|
||||
</group>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
-
|
||||
!record {model: res.partner, id: res_partner_test33}:
|
||||
name: Ivan
|
||||
title: 5
|
||||
title: base.res_partner_title_sir
|
||||
website: www.openerp.com
|
||||
address:
|
||||
- type: default
|
||||
@@ -15,23 +15,34 @@
|
||||
supplier: False
|
||||
customer: True
|
||||
company_id: base.main_company
|
||||
|
||||
-
|
||||
Tesing of EDI functionality
|
||||
I am creating one Document to be stored in ".
|
||||
-
|
||||
!record {model: 'ir.attachment', id: document_4}:
|
||||
name : "My partner document"
|
||||
res_model : res.partner
|
||||
type : binary
|
||||
|
||||
-
|
||||
Attach a pdf file in "My partner document"
|
||||
-
|
||||
!python {model: 'ir.attachment'}: |
|
||||
import addons
|
||||
import base64
|
||||
pdf_file = open(addons.get_module_resource('base','test', 'partner.pdf'))
|
||||
self.write(cr, uid, [ref("document_4")], {'res_id':ref("res_partner_test33"), 'datas_fname': 'partner.pdf', 'datas' : base64.encodestring(pdf_file.read())}, context)
|
||||
|
||||
-
|
||||
Testing import and export
|
||||
-
|
||||
|
||||
!python {model: ir.edi.document}: |
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
partners = [partner_obj.browse(cr, uid, ref("res_partner_test33"))]
|
||||
tokens = self.export_edi(cr, uid, partners)
|
||||
for token in tokens:
|
||||
document = self.get_document(cr, uid, token, context=context)
|
||||
print document
|
||||
a = self.import_edi(cr, uid, edi_document = document)
|
||||
|
||||
-
|
||||
Check the exported out_invoice become in_invoice or not
|
||||
-
|
||||
!python {model: res.partner}: |
|
||||
old_ids = self.search(cr,uid,[('id','=',ref('res_partner_test33')),('customer','=',True)])
|
||||
partner_old = self.browse(cr ,uid, old_ids[0])
|
||||
assert partner_old.name == 'Ivan', "partner is not created"
|
||||
assert partner_old.website == 'www.openerp.com', "website is inserted"
|
||||
|
||||
|
||||
@@ -40,27 +40,43 @@ from cStringIO import StringIO
|
||||
import threading
|
||||
|
||||
class edi(netsvc.ExportService):
|
||||
def exp_get_edi_document(self, edi_token):
|
||||
db_name = getattr(threading.currentThread(), 'dbname', None)
|
||||
def exp_get_edi_document(self, edi_token, db_name=None):
|
||||
res = None
|
||||
if not db_name:
|
||||
db_name = getattr(threading.currentThread(), 'dbname', None)
|
||||
if db_name:
|
||||
cr = pooler.get_db_only(db_name).cursor()
|
||||
cr = pooler.get_db(db_name).cursor()
|
||||
else:
|
||||
raise Exception("No database cursor found!")
|
||||
pool = pooler.get_pool(db_name)
|
||||
edi_pool = pool.get('ir.edi.document')
|
||||
return edi_pool.get_document(cr, 1, edi_token)
|
||||
try:
|
||||
res = edi_pool.get_document(cr, 1, edi_token)
|
||||
finally:
|
||||
cr.close()
|
||||
return res
|
||||
|
||||
def exp_import_edi_document(self, db, uid, passwd, edi_document, context=None):
|
||||
cr = pooler.get_db_only(db).cursor()
|
||||
res = None
|
||||
cr = pooler.get_db(db).cursor()
|
||||
pool = pooler.get_pool(db)
|
||||
edi_pool = pool.get('ir.edi.document')
|
||||
return edi_pool.import_edi(cr, uid, edi_document=edi_document, context=context)
|
||||
try:
|
||||
res = edi_pool.import_edi(cr, uid, edi_document=edi_document, context=context)
|
||||
finally:
|
||||
cr.close()
|
||||
return res
|
||||
|
||||
def exp_import_edi_url(self, db, uid, passwd, edi_url, context=None):
|
||||
res = None
|
||||
cr = pooler.get_db_only(db).cursor()
|
||||
pool = pooler.get_pool(db)
|
||||
edi_pool = pool.get('ir.edi.document')
|
||||
return edi_pool.import_edi(cr, uid, edi_url=edi_url, context=context)
|
||||
try:
|
||||
res = edi_pool.import_edi(cr, uid, edi_url=edi_url, context=context)
|
||||
finally:
|
||||
cr.close()
|
||||
return res
|
||||
|
||||
def __init__(self, name="edi"):
|
||||
netsvc.ExportService.__init__(self, name)
|
||||
|
||||
Reference in New Issue
Block a user