From 110b0d1052280be256325c0e5b9b3a52626e59ea Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 26 Jun 2013 01:07:34 +0200 Subject: [PATCH] [ADD] Save to db bzr revid: fme@openerp.com-20130625230734-6i0vxc89gkshrp8t --- addons/website/controllers/main.py | 7 +++- .../website/static/src/js/website_editor.js | 35 +++++++++++++++++-- addons/website/views/homepage.html | 4 +-- 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index d1a5a083d66..f8f45e44f9d 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -22,7 +22,12 @@ module_template = Template(""" -
{{ module.shortdesc }}
+
{{ module.shortdesc }}
').appendTo($('body')); + // Init headless webclient + // TODO: check embedded mode or how to put it cleanly in a dom ready callback + var $web = $('
').appendTo('body'); var s = new openerp.init(['web']); var wc = new s.web.WebClient(); + // TODO: disable blockUI wc.appendTo($web); + var instance = openerp.instances[wc.session.name]; + + setTimeout(function () { + // HACKY HACK YUCK YUCK !! + // TODO: Need modification to webclient. Webclient shall trigger an event when it's ready. + if (instance.web.notification) { + instance.web.notification.$el.appendTo('body'); + } else { + console.log("too late"); + } + }, 2000); $(function() { - $('.editable').css('outline', '1px solid red').attr('contentEditable', 'true').click(function (e) { + $('.editable').css('outline', '1px dotted red').attr('contentEditable', 'true').click(function (e) { e.stopPropagation(); e.preventDefault(); }); + $('body').on("keypress", ".editable", function(e) { + if (e.which == 13) { + var $el = $(e.currentTarget); + var data = $el.data(); + var update = {}; + // TODO: Are we going to use a meta-data flag in order to know if the field shall be text or html ? + update[data.field] = $el.text(); + (new instance.web.DataSet(this, data.model)).write(data.id, update).done(function() { + $el.blur(); + instance.webclient.do_notify('Save', _.str.sprintf('%s#%d#%s saved', data.model, data.id, data.field)); + }).fail(function () { + console.error('fail'); + }); + e.preventDefault(); + } + }); }); })(); diff --git a/addons/website/views/homepage.html b/addons/website/views/homepage.html index 51cb0e333c9..d27bbf882f1 100644 --- a/addons/website/views/homepage.html +++ b/addons/website/views/homepage.html @@ -27,7 +27,7 @@ OpenERP: Open Source Business Apps
-