Commit Graph

165 Commits

Author SHA1 Message Date
Fabien Meghazi e2f92040db [REM] removed Request's getattr proxying to httprequest
This might be a problem when merging the new api so we let it as is for the moment

bzr revid: fme@openerp.com-20140226161627-edgbe5f8mpzylq46
2014-02-26 17:16:27 +01:00
Fabien Meghazi 587ada964e [IMP] Refactor CROS support
bzr revid: fme@openerp.com-20140220133714-igpobx20mhzlxi20
2014-02-20 14:37:14 +01:00
Fabien Meghazi d7ea890cbe [FIX] Don't crash if no host specified
bzr revid: fme@openerp.com-20140220132922-wax6e05u8x06lepu
2014-02-20 14:29:22 +01:00
Fabien Meghazi 17f1992698 [FIX] Correctly handle super() for decorated routes and keep the request type on all functions
bzr revid: fme@openerp.com-20140220115016-axebl9ei9dvysko0
2014-02-20 12:50:16 +01:00
Fabien Meghazi d5dbf9184d [IMP] Warn if invalid response type is returned for a request@type=http
bzr revid: fme@openerp.com-20140219153201-hgyk9c83hwqe49yl
2014-02-19 16:32:01 +01:00
Fabien Meghazi ae87d00ffa [REM] Completely removed LazyResponse
bzr revid: fme@openerp.com-20140219142313-1upmwem8debsqxy4
2014-02-19 15:23:13 +01:00
Fabien Meghazi 226b154154 [FIX] convert endpoint responses only if it's the current request endpoint
bzr revid: fme@openerp.com-20140219135128-6rdnymufpfo1xyvf
2014-02-19 14:51:28 +01:00
Fabien Meghazi 3315938178 [FIX] Response default mimetype
bzr revid: fme@openerp.com-20140219102903-h8n070qqbbhlnenr
2014-02-19 11:29:03 +01:00
Fabien Meghazi 48d1e2d879 [ADD] Request with lazy rendering support
bzr revid: fme@openerp.com-20140218161505-bmfcc2jq16vvflzn
2014-02-18 17:15:05 +01:00
Antony Lesuisse c8324bafcc [IMP] phantomjs testing
- avoid dbmanager by presetting db in the test session
- correctly handle login option
- serialize test cursor access

bzr revid: al@openerp.com-20140216212222-4o6x9uljyua3g1og
2014-02-16 22:22:22 +01:00
Antony Lesuisse e6ac29ee43 [IMP] move test cases to tests.py remove deprecated wsgi import
bzr revid: al@openerp.com-20140209151822-cgk0wibqe1kfd42w
2014-02-09 16:18:22 +01:00
Antony Lesuisse 278ed718e9 new test execution engine
remove deprecated zipfile support
add preload_registry option when server is running
allow registries to be used in contruction in test mode
add a rollback test case for http tests
add a phantomjs helper

bzr revid: al@openerp.com-20140209004005-p5pwym4sqc23vw5b
2014-02-09 01:40:05 +01:00
Christophe Simonis 5a022d6ab3 [MERGE] backport trunk revision 5053 fva@openerp.com-20140206110134-jk5zbd8cc6x1ebh5
bzr revid: chs@openerp.com-20140206131116-we6rlic5fu09xh8q
2014-02-06 14:11:16 +01:00
Christophe Simonis 94162667dd [IMP] http: extract save/get session actions as methods on session object
bzr revid: chs@openerp.com-20140206115209-naleunin0mleghda
2014-02-06 12:52:09 +01:00
Xavier Morel 0aa0bbd539 [FIX] add warning when dbfilter logs out current session
bzr revid: xmo@openerp.com-20140203115633-es2o542ywg85d46i
2014-02-03 12:56:33 +01:00
Christophe Simonis 46cbf22efb [FIX] allow to use "dbname" as keyword in routes
bzr revid: chs@openerp.com-20140131163139-89lfordriamw9i1w
2014-01-31 17:31:39 +01:00
Fabien Meghazi 3fac414239 [FIX] CORS routing should use new routing api
bzr revid: fme@openerp.com-20140131104840-e0557qke365ym2x4
2014-01-31 11:48:40 +01:00
Antony Lesuisse d6c1346e12 [MERGE] trunk-website-al
bzr revid: al@openerp.com-20140131005207-mn7t6tar8cywe9hz
2014-01-31 01:52:07 +01:00
Fabien Meghazi 9cc89156cc [REM] outdated disable_db
bzr revid: fme@openerp.com-20140130210612-su04ki3zlv043bvz
2014-01-30 22:06:12 +01:00
Christophe Simonis 83bd83dc63 [REVERT] revert commit 5210 chs@openerp.com-20140130150628-qqbno0nu8mp27b9u: bring back magic
bzr revid: chs@openerp.com-20140130162041-63wbcsq1udxw529f
2014-01-30 17:20:41 +01:00
Fabien Meghazi ff0e5318f6 [ADD] Support cors for pos demo
bzr revid: fme@openerp.com-20140130151425-tkcv5cvx04og0neu
2014-01-30 16:14:25 +01:00
Christophe Simonis 4ab91a958d [FIX] http: allow auth="none" routes to works without being logged in when in monodb.
bzr revid: chs@openerp.com-20140130150628-qqbno0nu8mp27b9u
2014-01-30 16:06:28 +01:00
Christophe Simonis 51cabd2c69 [FIX] correct retro-compatibility with 7.0 route()
bzr revid: chs@openerp.com-20140130125827-j1xzt4qowg1ew3zf
2014-01-30 13:58:27 +01:00
Fabien Meghazi 5322b98647 [FIX] request.func not available on favicon.ico requests
bzr revid: fme@openerp.com-20140130133343-gbo353c41dphy1hj
2014-01-30 14:33:43 +01:00
Fabien Meghazi 53098c666c [MERGE] trunk's CORS support (merge with changes)
bzr revid: chs@openerp.com-20140130120448-tj9pu30o7dj74zid
bzr revid: fme@openerp.com-20140130125425-j1yn6p4lr7lincr3
2014-01-30 13:54:25 +01:00
Fabien Meghazi b63b03abd0 [IMP] better handling of methods for CORS
bzr revid: fme@openerp.com-20140130122654-2p481p5hwn033mi7
2014-01-30 13:26:54 +01:00
Fabien Meghazi 9cce88ab6a [ADD] Cross-Origin Resource Sharing support as http.route() argument
bzr revid: fme@openerp.com-20140130121745-zjuuves1yhydydpx
2014-01-30 13:17:45 +01:00
Antony Lesuisse 20fc20a3f2 [IMP] http allow auth=none without db outside of web
bzr revid: al@openerp.com-20140130114535-0keldqr1eln8swm8
2014-01-30 12:45:35 +01:00
Fabien Meghazi 1daa7db8b0 [REM] Removed disabled_db=True from ir_http's auth="none"
[MOV] ensure_db() helper from http module to web module

Since we removed auth="admin" in favor of auth="none" with explicit superuser id usage,
the disable_db clause in auth_none() has only sense for the /web and /web/login routes.
The web module is an exception because it's routes are registered for the nodb dispatching.
This is why the ensure_db() helper is moved to web client and will take care of the
web's auth="none" routes that needs a db to work with

bzr revid: fme@openerp.com-20140130092152-h6elwf2yerhd9xey
2014-01-30 10:21:52 +01:00
Fabien Meghazi 279c5e67ec [FIX] Check if session.db is legit before dispatching
bzr revid: fme@openerp.com-20140130085224-ac0w90ap9u4nmzen
2014-01-30 09:52:24 +01:00
Fabien Meghazi 0322f77279 [FIX] jsonrequests exposes same context object as it's session
bzr revid: fme@openerp.com-20140129124641-om4s0ts1zvf73zk0
2014-01-29 13:46:41 +01:00
Fabien Meghazi cfaadc0433 [ADD] http#ensure_db()
A helper that allows to force a db in the controller context otherwise redirect to database selector

Used for /web, /web/login and auth_* modules

bzr revid: fme@openerp.com-20140128211550-vmhy5nu0qbi33qh5
2014-01-28 22:15:50 +01:00
Fabien Meghazi 568ec06c06 [FIX] proper fix
bzr revid: fme@openerp.com-20140128141122-x1tj370w7zqi033h
2014-01-28 15:11:22 +01:00
Fabien Meghazi de3819972a [FIX] Temporary hackish fix in order to restore login on runbot
bzr revid: fme@openerp.com-20140128140025-h70s2exdswppp8dn
2014-01-28 15:00:25 +01:00
Xavier Morel 5528b9b2d8 [FIX] sprurious error in log during javascript unit tests
During some tests, the runner performs sequences of DUPLICATE and DROP
on databases. Each DUPLICATE is followed by some operations then a
DROP.

Problem is, after a DROP the next DUPLICATE RPC query will attempt a
connection to the just-dropped database, openerp.sql_db will log an
OperationalError ("Connection to the database failed" since the db it
tries to connect to was removed) then the HTTP dispatcher will just
switch to "nodb" and continue on its merry way.

Mute the sql_db logger while attempting to fetch the ir.http object.

Also assert that the logger name is a string in mute_logger, as
`mute_logger(openerp.sql_db)` is syntactically valid, but will not do
anything.

bzr revid: xmo@openerp.com-20140123115413-ax5patcomdfp3ue3
2014-01-23 12:54:13 +01:00
Fabien Meghazi fea8520889 [FIX] local_redirect() should forward code to redirect_with_hash()
bzr revid: fme@openerp.com-20140122104022-hal3xe6eywffly3u
2014-01-22 11:40:22 +01:00
Fabien Meghazi 5013315f57 [MERGE] upstream
bzr revid: fme@openerp.com-20140122102358-te3vpyhblujbxkzt
2014-01-22 11:23:58 +01:00
Fabien Meghazi f8281bce0b [FIX] routing_map crossdb bug introduced in Rev: 5151 revid:fme@openerp.com-20140120153614-t8l7tfit686ehfn0
bzr revid: fme@openerp.com-20140121195348-mcdreqjo3kod0p7i
2014-01-21 20:53:48 +01:00
Fabien Meghazi b5118e606e [FIX] redirect_with_hash firefox bug
bzr revid: fme@openerp.com-20140121160158-qsy28zty51wg7ip4
2014-01-21 17:01:58 +01:00
Fabien Meghazi 646a7de17a [MOV] move redirection headers from webclient to server
bzr revid: fme@openerp.com-20140121155403-nmnntq664j2d1qjz
2014-01-21 16:54:03 +01:00
Fabien Meghazi 8702ef5d3b [CHG] Allow @http.route() to use additional parameters and inherits them properly
bzr revid: fme@openerp.com-20140120153614-t8l7tfit686ehfn0
2014-01-20 16:36:14 +01:00
Christophe Simonis 080cbb88a3 [FIX] works better without SyntaxError
bzr revid: chs@openerp.com-20140116202601-ckn20h6yhiufzonq
2014-01-16 21:26:01 +01:00
Christophe Simonis db10e1d3a5 [FIX] http: store sessions in data-dir
bzr revid: chs@openerp.com-20140116164142-ikcw82lyfopoj46k
2014-01-16 17:41:42 +01:00
Fabien Meghazi 2e43125353 [FIX] LazyResponse exceptions not properly managed in auth="none"
bzr revid: fme@openerp.com-20140116135650-c3gri2m1j80wcwca
2014-01-16 14:56:50 +01:00
Thibault Delavallée ab5c23079a [MERGE] Sync with trunk, solved conflicts.
bzr revid: tde@openerp.com-20140116091716-zk1n5ots94i65io5
2014-01-16 10:17:16 +01:00
Christophe Simonis 29cd983258 [FIX] http: correct jsonp 2pass
bzr revid: chs@openerp.com-20140115162242-cyqb02wxmlhxqtu6
2014-01-15 17:22:42 +01:00
Fabien Meghazi 7ddfe4c5c6 [FIX] file uploads broken by MultiDict
bzr revid: fme@openerp.com-20131217161725-hx0m85adlgok9uxt
2013-12-17 17:17:25 +01:00
Fabien Meghazi fa08b82d91 [IMP] Use werkzeug's ImmutableMultiDict as parameter storage while keeping backward compatibility
bzr revid: fme@openerp.com-20131216162148-utfqjy9s6ji0s42n
2013-12-16 17:21:48 +01:00
Xavier Morel 0546993327 [FIX] merge from trunk and fix handling of view inheritance
main problem, view inheritance model field would use model from the
root view (after following inherit_id links) rather than the base view
(the requested one) -> with divergent models, it was possible for the
requested view itself to never be returned.

bzr revid: xmo@openerp.com-20131212134422-uxg6h21w1jhth9ow
2013-12-12 14:44:22 +01:00
Thibault Delavallée 1a16ecf8c2 [FIX] http: correctly handle the rollback when an exception is raised. Indeed dispathc serializes the exception, leading to the error being catched before we check and rollback the transaction. This commit fixes this.
bzr revid: tde@openerp.com-20131211112304-m2591t7endfetptc
2013-12-11 12:23:04 +01:00
Fabien Meghazi cc49b88487 [ADD] status_code to LazyResponse constructor
bzr revid: fme@openerp.com-20131204145613-721x3ij2ylpykzgw
2013-12-04 15:56:13 +01:00
Antony Lesuisse 447255e021 [FIX] http response handling inside request context
bzr revid: al@openerp.com-20131203215640-ev45het902u6afls
2013-12-03 22:56:40 +01:00
Antony Lesuisse 43979cfd8f [IMP] http improvement
- context manager request object (removes some ugly hacks)
- improve http error handling
- add lazyresponses

bzr revid: al@openerp.com-20131203190639-e8r1qm9wc82t8g4k
2013-12-03 20:06:39 +01:00
Christophe Simonis 28581cc734 [MERGE] manual forward port of changes made in http dispatching in saas-2 branch since last web revid 3865 dle@openerp.com-20131023113414-mlwppd4d7vyh1tyj
bzr revid: chs@openerp.com-20131125165804-0d25q1vn5z0y9nv8
2013-11-25 17:58:04 +01:00
Xavier Morel 0ece469392 [FIX] bunch of broken stuff over http requests in new routing thing
* make ModelConverter use its regex for data extraction so
  replacements can just fixup the request and don't have to mess with
  _uid

* replace routing_map property by method, for unknown reasons the
  property does not work at least overridden (it's not found) and I
  don't care enough to wonder why

* arguments result from MapAdapter.match() is a mapping, not a
  sequence. Iterate through values()/itervalues() otherwise we'll
  never get a browse_record to do the uid substitution on, only
  strings (params names)

* inject arguments from URL map/match into the function before
  executing it, this was apparently lost during the transition

* reintroduce get_db_router for third-party code needing to generate
  URLs

bzr revid: xmo@openerp.com-20131115124819-bp4gjpfdlda2qyf5
2013-11-15 13:48:19 +01:00
Xavier Morel 321d4681e1 [IMP] new routing thing
* fix nameerror on SessionExpired exception not being imported
* remove pointless RequestUID instantiation by single placeholder object
  - may be replaceable with a LocalProxy or something along those lines?
* rename default/nodb routing map
* make better use of werkzeug API
* move lazy routing_map instantiation to property in ir_http.find_handler
  - do we have some sort of lazy_property?

bzr revid: xmo@openerp.com-20131115100901-s3skmwv9d1jgk9y0
2013-11-15 11:09:01 +01:00
Antony Lesuisse 575376ef29 [FIX] http.py use checked_call for concurrency retry and exception handling
bzr revid: al@openerp.com-20131110140757-tbe8yondadokd4ke
2013-11-10 15:07:57 +01:00
Antony Lesuisse c396149f4f [FIX] use AbstractModel, use session.db to ir_http dispatch for none controllers
bzr revid: al@openerp.com-20131110135406-r0cyxhnve3jl8r2i
2013-11-10 14:54:06 +01:00
Antony Lesuisse afbec17f77 [IMP] model converters for routes, to directly get the browse record
example @route(['/job/detail/<model("hr.job"):job>'], type='http', auth="user")

bzr revid: al@openerp.com-20131110123707-yb3hbdqlo063dj64
2013-11-10 13:37:07 +01:00
Antony Lesuisse d50577b69d [IMP] http move db dispatching on the orm level
Split low level dispatching and high level dispatching.
Low level dispatching is used when the db is unknown it's only used by a few
controller in base and web.
High level dispatching is used when the db is known, it is used by most
controllers and it handles authentication and errors. Because it's a regular
osv object all it is fully overridable by openerp modules.

bzr revid: al@openerp.com-20131110014609-io03vspj2q1wtqa0
2013-11-10 02:46:09 +01:00
Christophe Simonis 1c523aa1be [FIX] http: bind RouteMap using environ to allow correct redirections
(manual forward port of revid 3860 chs@openerp.com-20131023162646-9t8iu2okkddg56yi from web branch)

bzr revid: chs@openerp.com-20131030182400-bfuvl2209a7e1ifz
2013-10-30 19:24:00 +01:00
niv-openerp f312303734 [IMP] Added doc
bzr revid: nicolas.vanhoren@openerp.com-20131029150105-4l3hys56zt2dpmcc
2013-10-29 16:01:05 +01:00
Antony Lesuisse a569093606 [IMP] move http layer from openerp-web to openobject-server, convert controllers to the new route api
versioned history http.py can be found in lp:~openerp/openerp-web/trunk file addons/web/http.py

bzr revid: al@openerp.com-20131027171553-qe1ulbff0bphm15o
2013-10-27 18:15:53 +01:00
Vo Minh Thu 56df6d6ecc [DOC] openerp.http: use sphinx domains.
bzr revid: vmt@openerp.com-20130201151354-uyxgyt0aw101a2mq
2013-02-01 16:13:54 +01:00
Vo Minh Thu 665fc8d8f1 [REF] openerp.service.{rpc,route,handler} decorators moved to openerp.http.
bzr revid: vmt@openerp.com-20130201093727-pgcvauuo87o2a3p6
2013-02-01 10:37:27 +01:00