2012-10-16 12:29:13 +00:00
|
|
|
import simplejson
|
2013-02-12 18:15:47 +00:00
|
|
|
import urllib
|
2012-10-16 12:29:13 +00:00
|
|
|
|
2013-10-22 17:06:59 +00:00
|
|
|
import openerp
|
2012-10-11 11:44:01 +00:00
|
|
|
import openerp.addons.web.controllers.main as webmain
|
2011-10-18 14:06:27 +00:00
|
|
|
|
2013-10-22 22:52:47 +00:00
|
|
|
class EDI(openerp.http.Controller):
|
2011-10-18 14:06:27 +00:00
|
|
|
|
2013-10-22 17:06:59 +00:00
|
|
|
@openerp.http.route('/edi/import_url', type='http', auth='none')
|
|
|
|
def import_url(self, url):
|
|
|
|
# http://hostname:8069/edi/import_url?url=URIEncodedURL
|
|
|
|
req = openerp.http.request
|
2012-10-16 12:29:13 +00:00
|
|
|
modules = webmain.module_boot(req) + ['edi']
|
|
|
|
modules_str = ','.join(modules)
|
|
|
|
modules_json = simplejson.dumps(modules)
|
|
|
|
js = "\n ".join('<script type="text/javascript" src="%s"></script>' % i for i in webmain.manifest_list(req, modules_str, 'js'))
|
|
|
|
css = "\n ".join('<link rel="stylesheet" href="%s">' % i for i in webmain.manifest_list(req, modules_str, 'css'))
|
2013-02-12 18:15:47 +00:00
|
|
|
|
|
|
|
# `url` may contain a full URL with a valid query string, we basically want to watch out for XML brackets and double-quotes
|
|
|
|
safe_url = urllib.quote_plus(url,':/?&;=')
|
|
|
|
|
2012-10-16 12:29:13 +00:00
|
|
|
return webmain.html_template % {
|
|
|
|
'js': js,
|
|
|
|
'css': css,
|
|
|
|
'modules': modules_json,
|
2013-02-12 18:15:47 +00:00
|
|
|
'init': 's.edi.edi_import("%s");' % safe_url,
|
2012-10-16 12:29:13 +00:00
|
|
|
}
|
2011-10-18 14:06:27 +00:00
|
|
|
|
2013-10-22 17:06:59 +00:00
|
|
|
@openerp.http.route('/edi/import_edi_url', type='http', auth='none')
|
|
|
|
def import_edi_url(self, url):
|
|
|
|
req = openerp.http.request
|
2011-10-18 14:06:27 +00:00
|
|
|
result = req.session.proxy('edi').import_edi_url(req.session._db, req.session._uid, req.session._password, url)
|
2011-11-05 00:44:38 +00:00
|
|
|
if len(result) == 1:
|
2012-11-27 16:48:01 +00:00
|
|
|
return {"action": webmain.clean_action(req, result[0][2])}
|
2011-11-05 00:44:38 +00:00
|
|
|
return True
|
2011-10-18 14:06:27 +00:00
|
|
|
|
2011-11-22 08:51:38 +00:00
|
|
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|