Commit Graph

149 Commits

Author SHA1 Message Date
Denis Ledoux 18532330d4 [FIX] *: replace urllib calls by werkzeug calls, as werkzeug handles utf-8 encoding while urllib doesnt
bzr revid: dle@openerp.com-20140130112408-8pdju26jnkyxvlw2
2014-01-30 12:24:08 +01:00
jke-openerp 516a85cecc [Fix] Use maps.google.com and not .be (as for thumbail who use the api .com).
[IMP] Add zoom 10 by default
[FIX] Escape False in address for google search

bzr revid: jke@openerp.com-20140130111349-l90w9larrntv83hh
2014-01-30 12:13:49 +01:00
Christophe Simonis 3d80e31012 [FIX] website: url_for() does not mess up anchor links
bzr revid: chs@openerp.com-20140129195025-i2ey682o6marp8k1
2014-01-29 20:50:25 +01:00
Denis Ledoux 0306adbfe3 [FIX] *: using werkzeug.url_encode instead of urllib.urlencode because urliblib.encode does not accept unicode
bzr revid: dle@openerp.com-20140129121316-b5f5e4r6fz9l80kq
2014-01-29 13:13:16 +01:00
Antony Lesuisse 6f8d8434dc [FIX] website_hr_recruitment full cleanups
- keep url namespace under /jobs
- public mode fixes
- moved jobs_ids field in hr_recruitment
- simplify code, remove dead code and data

bzr revid: al@openerp.com-20140129051403-cipao0bllxa85gsg
2014-01-29 06:14:03 +01:00
Fabien Meghazi 326c35aecd [IMP] Merge bananas and cumcumbers in order to prepare the t-href|t-action removal
bzr revid: fme@openerp.com-20140128201417-1elmttz8qen9q3ws
2014-01-28 21:14:17 +01:00
Christophe Matthieu 316745250b [FIX] website: public user; website_sale
bzr revid: chm@openerp.com-20140128152136-pqh7oqj4drpjk09z
2014-01-28 16:21:36 +01:00
Antony Lesuisse 7c90d3afa5 [FIX] website page creation
bzr revid: al@openerp.com-20140128140017-r8yy8tzsvo4y0e92
2014-01-28 15:00:17 +01:00
Fabien Meghazi d6690455e9 [REM] Removed preload_records
This feature will be stripped down and moved to server's ir.http#_dispatch()

bzr revid: fme@openerp.com-20140123150448-3hhlj4vytr82k88n
2014-01-23 16:04:48 +01:00
ddm@openerp.com 8ee6f53005 [IMP] Move website settings to 'Configration' wizard
bzr revid: ddm@openerp.com-20140123150317-9vxccax7vn2xls9x
2014-01-23 16:03:17 +01:00
Fabien Meghazi af3428a86f [REV] Revert some stuff in order to bring back main_object on all rendered views
bzr revid: fme@openerp.com-20140123135408-qp4z7ry4a2vej2jy
2014-01-23 14:54:08 +01:00
Fabien Meghazi ef18e601dd [FIX] Reflect endpoints changes introduced in server's Revision: 5153 revid:fme@openerp.com-20140121195348-mcdreqjo3kod0p7i
bzr revid: fme@openerp.com-20140121195441-ijt2yjv32v8b39kq
2014-01-21 20:54:41 +01:00
ddm@openerp.com 1c3a7a8fd3 [IMP] Add support for Google Analytics
bzr revid: ddm@openerp.com-20140121163456-i3v3a7oh8qejc9oo
2014-01-21 17:34:56 +01:00
Fabien Meghazi 14bb6060d7 [REM] Removed @website.route() decorator
Need trunk-website-al Rev#5151

bzr revid: fme@openerp.com-20140120153733-ve3dn2kwvha7n3yl
2014-01-20 16:37:33 +01:00
Jojo le bricolo 03606aa347 QWeb cleanups 1 sql query less per page
bzr revid: jojo_le_bricolo-20140119174642-q2ix8p27ospjkuf4
2014-01-19 18:46:42 +01:00
Christophe Matthieu 449a37dc0d [FIX] website: base_language_install is an osv.osv_memory insead of osv.osv
bzr revid: chm@openerp.com-20140114093603-toryzflx3b0yzdyr
2014-01-14 10:36:03 +01:00
Christophe Matthieu 1acf6d904f [FIX] website: editable in context
bzr revid: chm@openerp.com-20131211152511-5bw86drta0374x6y
2013-12-11 16:25:11 +01:00
Christophe Matthieu 2257e8d431 [IMP] website: change editable and use groups
bzr revid: chm@openerp.com-20131211145930-r0izxh9t0efjwhxh
2013-12-11 15:59:30 +01:00
Fabien Pinckaers 59906a3af8 [IMP] allow users to change product price from CMS[FIX] small bug in reordering of PTT
bzr revid: fp@tinyerp.com-20131209210511-5w03vf2wt0pmgdew
2013-12-09 22:05:11 +01:00
Fabien Meghazi 7a3b490f46 [IMP] preload records and throw 404 if not exists for blog, event, product
bzr revid: fme@openerp.com-20131205155450-y6joi29l2cn9amkn
2013-12-05 16:54:50 +01:00
Fabien Meghazi ea037cc7d5 [ADD] status_code to website#render()
bzr revid: fme@openerp.com-20131204145728-ztv6ur760b3nru58
2013-12-04 15:57:28 +01:00
Christophe Matthieu 704607db5a [FIX] website: signin and logout redirect url
bzr revid: chm@openerp.com-20131203173146-7om0xl9b7ubb5cqc
2013-12-03 18:31:46 +01:00
Fabien Pinckaers 642fce4a5b [IMP] speed improvement + small bug
bzr revid: fp@tinyerp.com-20131203171033-oe6pkzb9jal3ril8
2013-12-03 18:10:33 +01:00
Xavier Morel 87b5c7990a [FIX] unused check_groups call, preprocess_request style
bzr revid: xmo@openerp.com-20131203080055-wgja1zraygglo767
2013-12-03 09:00:55 +01:00
Xavier Morel 278316ef9f [FIX] broken call to (ir.model.access).check
bzr revid: xmo@openerp.com-20131203075715-xsmueut0n3g9ggd6
2013-12-03 08:57:15 +01:00
Xavier Morel 0271062a80 [FIX] clear cache on method with a cache
bzr revid: xmo@openerp.com-20131203073429-g8vqg1dqltgtc4r6
2013-12-03 08:34:29 +01:00
Fabien Meghazi b78f196362 [IMP] cached website's default_lang and language_ids
bzr revid: fme@openerp.com-20131202172110-h7s023xv4ohq31tw
2013-12-02 18:21:10 +01:00
Fabien Meghazi a5ed3f8b42 [ADD] slug() helper to rendering context
bzr revid: fme@openerp.com-20131202125652-5e30xd3ym6nww44o
2013-12-02 13:56:52 +01:00
Fabien Pinckaers b51daf482b [IMP] 2SQL Queries less per query
bzr revid: fp@tinyerp.com-20131202122233-m9y37fr6nhh03a08
2013-12-02 13:22:33 +01:00
Xavier Morel a108af5cb8 [FIX] website: endpoint_is_enumerable
old version of @website.route would wrap the base method within a
decorator, and endpoint_is_enumerable had to dig into the decorator to
get the original function (and be able to inspect it).

@website.route has been simplified and no longer wraps the function,
just adds a pair of attributes to it (and so does the base
@http.route), so don't dig into anymore, inspect rule.endpoint
directly.

bzr revid: xmo@openerp.com-20131202102525-8jsondrr1649c8t8
2013-12-02 11:25:25 +01:00
Fabien Pinckaers 660b420696 [FIX] public user
bzr revid: fp@tinyerp.com-20131202090239-a4b1kkg5pni8ye3d
2013-12-02 10:02:39 +01:00
Fabien Pinckaers d4fc95f1fe [FIX] small fixes
bzr revid: fp@tinyerp.com-20131130205834-ilds41gcktv7vchg
2013-11-30 21:58:34 +01:00
Fabien Pinckaers cf3ecb9ff0 [IMP] Huge speed improvements 64 SQL queries to render '/' --> 10 Queries
bzr revid: fp@tinyerp.com-20131130193739-095yd4p9llmj0kt1
2013-11-30 20:37:39 +01:00
Fabien Pinckaers ed7623fc45 [IMP] Performance improvement: improved cache with context, better get_object
bzr revid: fp@tinyerp.com-20131130154659-uqis34x2cemmocly
2013-11-30 16:46:59 +01:00
Fabien Meghazi 07eaace3ee [ADD] custom website ir.http#dispatch and rerouting
bzr revid: fme@openerp.com-20131127170432-z7d1w4ck03d7wwia
2013-11-27 18:04:32 +01:00
Xavier Morel 44af6d1e09 [IMP] significantly improve handling of trying to create a new page which already exists
# Through the menu

Rather than output a generic error (500 due to an IntegrityError),
return a templated 409 letting the user either visit the
page-which-already-exists-with-the-name-he'd-picked or open the page
creation dialog again for a second round.

An alternative would be to promote the website.prompt use to
full-blown dialog as a result of selecting "New Page" and handle the
"page already exists" case without even closing the dialog.

# Through the link dialog

Added an RPC call to check if a page already exists (essentially a
cheaper version of opening /page/whatever and checking whether it's a
200 over JSON-RPC), if the page matching the completion term already
exists, do *not* add the choice of creating the page, only provide
completions from existing pages.

bzr revid: xmo@openerp.com-20131126160148-wrk4zvz9istscwa0
2013-11-26 17:01:48 +01:00
Xavier Morel 6fc69e33d4 [FIX] correctly rollback savepoint in new_page
bzr revid: xmo@openerp.com-20131126102321-35wmxcncl3pp4mhw
2013-11-26 11:23:21 +01:00
Fabien Meghazi cc424c1a55 [IMP] http errors refactoring
bzr revid: fme@openerp.com-20131125165958-0k84rp9rbsxvav77
2013-11-25 17:59:58 +01:00
Xavier Morel 3542a27f9c [FIX] force url enumeration/generation to be performed as 'public' user
bzr revid: xmo@openerp.com-20131125100813-fln1j714m2h85h09
2013-11-25 11:08:13 +01:00
Fabien Pinckaers d19b85f873 [IMP] new featuers for complex events
bzr revid: fp@tinyerp.com-20131124223802-20rpekho195fu2l5
2013-11-24 23:38:02 +01:00
Fabien Pinckaers 5ee03592cf [FIX] misc fixes in new event devs
bzr revid: fp@tinyerp.com-20131124214257-pg9bsbzzydoz6z1a
2013-11-24 22:42:57 +01:00
Fabien Pinckaers 105fc16c11 [IMP] events improvements
bzr revid: fp@tinyerp.com-20131124210221-hwalp7983olmrhew
2013-11-24 22:02:21 +01:00
Fabien Meghazi a337d0dc2c [FIX] kanban broken by lazyrenderer
bzr revid: fme@openerp.com-20131121154213-71hb70c9326gtafb
2013-11-21 16:42:13 +01:00
Fabien Meghazi 7d43b226ab [IMP] Use LazyResponse for website.render()
bzr revid: fme@openerp.com-20131120202842-zethge8jykzlzjjy
2013-11-20 21:28:42 +01:00
Xavier Morel a1463c60b3 [CHG] **kw don't prevent url searching/listing anymore
After discussion and addition of support for the methods parameter (on
@route), it's been determined that:

* POST endpoint must set up method correctly

* **kw on GET endpoints must be completely optional, mandatory query
    arguments should be added as formal parameters without a default
    values

* URLs can thus be generated for methods with **kw, simply by ignoring
  it entirely

bzr revid: xmo@openerp.com-20131119154254-vp0zfnzjvi451vv0
2013-11-19 16:42:54 +01:00
Fabien Meghazi 8e68c33a4b [MOV] Moved methods filtering support from @website.route to @http.route
bzr revid: fme@openerp.com-20131119135428-fm3bfbp83anoxgo6
2013-11-19 14:54:28 +01:00
Xavier Morel 86a0f67a69 [ADD] note about leftover task
bzr revid: xmo@openerp.com-20131119122906-9meh7ubye952o67j
2013-11-19 13:29:06 +01:00
Christophe Matthieu 910c2657a9 [IMP] website: add a group_website_publisher to Display Editor Bar on Website and other editable option
bzr revid: chm@openerp.com-20131119103042-stdyd6r00e1zgli5
2013-11-19 11:30:42 +01:00
Xavier Morel 5723b1588e [MERGE] from trunk
bzr revid: xmo@openerp.com-20131119102552-f8d03meddylwseyr
2013-11-19 11:25:52 +01:00
Xavier Morel 986b4c49d1 [IMP] url generation & filtering
* add filtering in enumerate_pages directly
* make ModelConverter use name_search for generation

todo: per-request name_get caching/coalescing?

bzr revid: xmo@openerp.com-20131119102117-p7de3t93qex1n28q
2013-11-19 11:21:17 +01:00
Xavier Morel 5bab419967 [IMP] add page converter to get pages listing out of enumeration/search itself, restrict to single converter
bzr revid: xmo@openerp.com-20131115154840-psfns4datw5l1lr4
2013-11-15 16:48:40 +01:00
Christophe Matthieu b958ece1df [IMP] website_sale: access rights
bzr revid: chm@openerp.com-20131115152716-86wb7yxq2s4hr633
2013-11-15 16:27:16 +01:00
Xavier Morel 780c35598d [MERGE] from trunk
bzr revid: xmo@openerp.com-20131115132903-epi3321e4uxjqtn2
2013-11-15 14:29:03 +01:00
Christophe Matthieu cc574fa2c4 [IMP] website: catch exception of controller error to return a 401 or 500 error page (and log this exception).
bzr revid: chm@openerp.com-20131114144652-7ta05hrssx22cuiv
2013-11-14 15:46:52 +01:00
Christophe Matthieu 8ae07d4cba [FIX] website: helper google_map for res.company
bzr revid: chm@openerp.com-20131114090223-2gl6y7shh6f7fplm
2013-11-14 10:02:23 +01:00
Xavier Morel d15a6f426d [IMP] replace selection list of existing CMS pages by FAYT via select2
bzr revid: xmo@openerp.com-20131113143934-je7dusgzj15f7li0
2013-11-13 15:39:34 +01:00
Xavier Morel 122ddb8e31 [IMP] rename list_pages to enumerate_pages, add a search method and a basic non-contiguous substring match
bzr revid: xmo@openerp.com-20131113101824-uqatvqokkzhvi0ei
2013-11-13 11:18:24 +01:00
Fabien Meghazi 9ca2b8e8e0 [ADD] methods arg to @website.route() until the feature hit the server
bzr revid: fme@openerp.com-20131113101319-tvamyl0ikqmsqh18
2013-11-13 11:13:19 +01:00
Xavier Morel b1b29acd4b [ADD] pages to pages listing
I don't see a good way to reverse `/page/<path:path>` for Website.page
during pages listing, so reintoduce explicit handling of that crap.

Ideally it would be possible to plug in new converters per db and
create some sort of PageConverte, *or* add a reverse operation to
controllers on top of converters (-> controller-specific url
generation even with un-generable converters).

bzr revid: xmo@openerp.com-20131112120814-ekt1rzlzj06pzypw
2013-11-12 13:08:14 +01:00
Fabien Meghazi 91ac20c28c [FIX] Remove lang_code from kwargs
bzr revid: fme@openerp.com-20131112112150-ka9ner1bkqx6ioeg
2013-11-12 12:21:50 +01:00
Xavier Morel 5b0e0a343b [IMP] use pair unpacking rather than indexing + comment
bzr revid: xmo@openerp.com-20131112101559-s280ffmmc06vq23a
2013-11-12 11:15:59 +01:00
Xavier Morel 92b0539d1d [IMP] remove unused local variable in list_pages
bzr revid: xmo@openerp.com-20131112100411-r4va4xpcovnawuzr
2013-11-12 11:04:11 +01:00
Xavier Morel 8c786b7aab [IMP] move slugify to server, use slugified url as page name
bzr revid: xmo@openerp.com-20131108154842-ts1nnd40jusa92h6
2013-11-08 16:48:42 +01:00
Xavier Morel 01a414fb7c [ADD] initial route introspection + fix pair of routes/controllers
* most controllers turn out to be complete cork and thus can't be
  reversed

* fixup a pair of simple controllers

TODO:
* fixup more controllers
* how can labels/page names be produced?
* grouping/categories of links?

At a high level, workings are pretty simple:
* iterate on all rules (every url pattern produces a werkzeug rule)
* check if the url can make sense as a link: GET, http, no auth or
  public auth, coming from the CMS (no web client links) and all
  converters can generate values for themselves (e.g. a url with an
  `int` converter can't be generated as there is no finite set of
  integers, let alone one small enough to make sense to show to users)
* check if the controller function bound to the URL can use the URLs
  we can generate (no **kwargs as that means arbitrary get|post
  parameter, no query param without a default value (a query param is
  a parameter which does not come from a URL/rule converter))
* use rule converter(s) to generate a matrix of values, and build urls
  from these

bzr revid: xmo@openerp.com-20131108132615-2n7t1vj8hz9v9eis
2013-11-08 14:26:15 +01:00
Fabien Meghazi 01a28b6e03 [FIX] Can't translate menus
context was not passed while setting request.website
forced to refactor a bit in order to make true model methods but stopped
because it will be duplicated work when migrating to the new api

bzr revid: fme@openerp.com-20131107151400-9dmtgz7xs34qmbmq
2013-11-07 16:14:00 +01:00
Fabien Meghazi 1aaf0eaa4c [FIX] Multiple fixes to url_for
url_for now accepts a path or an uri
correctly handling shemeless uri's
url params are shadowed by keep_query

bzr revid: fme@openerp.com-20131106151752-sdov6zynz2g80uro
2013-11-06 16:17:52 +01:00
Fabien Meghazi 6ba57343da [WIP] Trying to use t-fields for menus
Not working quite well
Working it out

bzr revid: fme@openerp.com-20131105151651-8jn1po2fhyojum2c
2013-11-05 16:16:51 +01:00
Christophe Matthieu 49384720c0 [FIX] website contact us: add google_map_img on res.company insead of use partner_id field
bzr revid: chm@openerp.com-20131104165954-o77oi2miksvvt81r
2013-11-04 17:59:54 +01:00
Fabien Meghazi 5f2dc489b2 [MERGE] upstream
bzr revid: fme@openerp.com-20131104114431-dhjp6iy1sfxq4cg1
2013-11-04 12:44:31 +01:00
Xavier Morel 49381094a8 [IMP] error handling in website.render
Return responses with the correct status code instead of always
returning 200 on rendering errors from website.

bzr revid: xmo@openerp.com-20131104111021-inrsbawnakhsva1q
2013-11-04 12:10:21 +01:00
Antony Lesuisse c0dc6c81dc [FIX] qweb exception hiding
bzr revid: al@openerp.com-20131102171656-j4lqrx1gfosi8ofd
2013-11-02 18:16:56 +01:00
Fabien Meghazi 90814d781a [MERGE] upstream
bzr revid: fme@openerp.com-20131030144813-xmjb6i9ayv23aqyi
2013-10-30 15:48:13 +01:00
Fabien Meghazi 2e429fff8b [FIX] Load translation wizard could not properly redirect when only one language is installed
bzr revid: fme@openerp.com-20131030142955-482vt76w67zerui2
2013-10-30 15:29:55 +01:00
Fabien Meghazi 418e10c382 [IMP] Misc menu improvements
bzr revid: fme@openerp.com-20131030140216-f2fz7p3waur3l8j7
2013-10-30 15:02:16 +01:00
Fabien Meghazi fcdef0faaf [ADD] delete menu
bzr revid: fme@openerp.com-20131030105803-yq7r5lt9vtnd21p0
2013-10-30 11:58:03 +01:00
Fabien Meghazi 07b9cf0f02 [IMP] Save menu is working
bzr revid: fme@openerp.com-20131029143346-nu9skoj5s06hwgw6
2013-10-29 15:33:46 +01:00
Fabien Meghazi af4b4b94be [ADD] new_window field in website.menu
bzr revid: fme@openerp.com-20131029112221-7h39wlmbxb8xwm94
2013-10-29 12:22:21 +01:00
Fabien Meghazi 26e62b0e0e [IMP] Menu tree from client side
bzr revid: fme@openerp.com-20131028112350-9or1z3e3ndgk4mfg
2013-10-28 12:23:50 +01:00
Fabien Meghazi eb7b1362cd [WIP] Menu working from database (not yet multi-website)
bzr revid: fme@openerp.com-20131025152446-si9gsjujzcn40hip
2013-10-25 17:24:46 +02:00
Fabien Meghazi a597cc59ef [WIP] menus
bzr revid: fme@openerp.com-20131024141840-ihp2i6huzdlamf94
2013-10-24 16:18:40 +02:00
Xavier Morel b702a9887c [IMP] remove /website/attachment, make attachments go through /website/image
bzr revid: xmo@openerp.com-20131024103401-yik03je9qm1ge0tp
2013-10-24 12:34:01 +02:00
ddm 62bdd7bd9c [FIX] Fixed eCommerce pager
bzr revid: ddm@openerp.com-20131023145152-smhlpc0eydvos7sx
2013-10-23 16:51:52 +02:00
Fabien Meghazi 120620eb27 [IMP] Check current website in Load a Translation wizard
bzr revid: fme@openerp.com-20131022121840-0q1n8ci1fpihi4yf
2013-10-22 14:18:40 +02:00
Christophe Matthieu a93a0b384b [IMP] website: traceback, node, message in page 500
bzr revid: chm@openerp.com-20131018114116-ywe7pp49f2cb0dor
2013-10-18 13:41:16 +02:00
ddm 41c49645e2 [FIX] Refactor SEO models
bzr revid: ddm@openerp.com-20131018092820-lqj9yz518262nknr
2013-10-18 11:28:20 +02:00
Fabien Meghazi 8b78e88ff9 [FIX] Do not overwrite main_object if present
bzr revid: fme@openerp.com-20131016151257-0r42s8t3xevabfm3
2013-10-16 17:12:57 +02:00
Fabien Meghazi c056f03a82 [FIX] main_objet is now always set in qweb rendering context
If no main_object is provided, the current ir.ui.view will be used

bzr revid: fme@openerp.com-20131015095413-ij6dt2rjo527sgga
2013-10-15 11:54:13 +02:00
Fabien Meghazi fa66a101b8 [ADD] website#url_for() support for keep_query
bzr revid: fme@openerp.com-20131014151016-f6xsqxenbs5ph5ey
2013-10-14 17:10:16 +02:00
Xavier Morel 2e352ce187 [MERGE] from trunk
bzr revid: xmo@openerp.com-20131014085459-dhbypq0hg3lzzf3j
2013-10-14 10:54:59 +02:00
Antony Lesuisse 25a260068b [IMP] renamse files to conform to the future openerp module guidelines
bzr revid: al@openerp.com-20131013030806-2236jpszm1morlg6
2013-10-13 05:08:06 +02:00
Fabien Meghazi 119eef1a6b [FIX] Support other types in urlplus()
bzr revid: fme@openerp.com-20131010104900-r315xkg9mhox5ouf
2013-10-10 12:49:00 +02:00
Christophe Matthieu 3df6e97191 [IMP] qweb, website: mark request as a private attribute (begin with underscore for render)
bzr revid: chm@openerp.com-20131010083243-kwu21zepmluq9rip
2013-10-10 10:32:43 +02:00
Xavier Morel df77956424 [IMP] urlplus
bzr revid: xmo@openerp.com-20131010062311-a8br0kaddk7dwqxl
2013-10-10 08:23:11 +02:00
Christophe Matthieu 7025274212 [FIX] website: urlplus don't accept unicode char
bzr revid: chm@openerp.com-20131009142057-y7b98wdr1zcepcj9
2013-10-09 16:20:57 +02:00
Christophe Matthieu e713cce7b9 [FIX] website: change view (lang_selected) for new qweb security access
bzr revid: chm@openerp.com-20131009132724-dza9bgu1w319o9x0
2013-10-09 15:27:24 +02:00
Fabien Meghazi 5cfbcc3aff [ADD] Add language from website
bzr revid: fme@openerp.com-20131009120904-c06nass3srpwqer4
2013-10-09 14:09:04 +02:00
Christophe Matthieu 20b6367ec5 [IMP] website_sale: better access rules and security
bzr revid: chm@openerp.com-20131008152233-zl3dxoyso9liahlm
2013-10-08 17:22:33 +02:00
Xavier Morel 510a4f51d2 [ADD] customizable qweb rendering, add translate flag on fields through this
bzr revid: xmo@openerp.com-20131008092233-9su66923zthl9jyg
2013-10-08 11:22:33 +02:00
Xavier Morel ce30e7691e [IMP] move conversion out of view.save
Also, html.fromstring does weird stuff when encoding is not specified,
force to utf-8 just in case.

bzr revid: xmo@openerp.com-20130930145358-qh7xdicgg21prsk4
2013-09-30 16:53:58 +02:00