[MERGE] Latest trunk.

bzr revid: vta@openerp.com-20121011140800-5xwywdedpopgj6au
This commit is contained in:
vta vta@openerp.com
2012-10-11 16:08:00 +02:00
8 changed files with 26 additions and 27 deletions
+4
View File
@@ -1440,6 +1440,10 @@ instance.web.JsonRPC = instance.web.CallbackEnabled.extend({
},
});
instance.web.py_eval = function(expr, context) {
return py.eval(expr, _.extend({}, context || {}, {"true": true, "false": false, "null": null}));
};
}
// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax:
+12 -15
View File
@@ -956,7 +956,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
var self = this;
return this.reload_mutex.exec(function() {
if (self.dataset.index == null) {
self.do_prev_view();
self.trigger("previous_view");
return $.Deferred().reject().promise();
}
if (self.dataset.index == null || self.dataset.index < 0) {
@@ -2087,11 +2087,7 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
this.field = this.field_manager.get_field_desc(this.name);
this.widget = this.node.attrs.widget;
this.string = this.node.attrs.string || this.field.string || this.name;
try {
this.options = JSON.parse(this.node.attrs.options || '{}');
} catch (e) {
throw new Error(_.str.sprintf(_t("Widget options for field '%s' are not valid JSON."), this.name));
}
this.options = instance.web.py_eval(this.node.attrs.options || '{}');
this.set({'value': false});
this.on("change:value", this, function() {
@@ -2877,7 +2873,7 @@ instance.web.form.CompletionFieldMixin = {
self.build_domain(),
new instance.web.CompoundContext(self.build_context(), context || {})
);
pop.on_select_elements.add(function(element_ids) {
pop.on("select_elements",self,function(element_ids) {
self.add_id(element_ids[0]);
self.focus();
});
@@ -3598,7 +3594,7 @@ instance.web.form.One2ManyViewManager = instance.web.ViewManager.extend({
form_view_options: {'not_interactible_on_create':true},
readonly: self.o2m.get("effective_readonly")
});
pop.on_select_elements.add_last(function() {
pop.on("select_elements", self, function() {
self.o2m.reload_current_view();
});
},
@@ -3684,7 +3680,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
self.o2m.build_domain(),
self.o2m.build_context()
);
pop.on_select_elements.add_last(function() {
pop.on("select_elements", self, function() {
self.o2m.reload_current_view();
});
}
@@ -4121,7 +4117,7 @@ instance.web.form.Many2ManyListView = instance.web.ListView.extend(/** @lends in
this.m2m_field.build_context()
);
var self = this;
pop.on_select_elements.add(function(element_ids) {
pop.on("select_elements", self, function(element_ids) {
_.each(element_ids, function(one_id) {
if(! _.detect(self.dataset.ids, function(x) {return x == one_id;})) {
self.dataset.set_ids([].concat(self.dataset.ids, [one_id]));
@@ -4236,7 +4232,7 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
new instance.web.CompoundDomain(this.build_domain(), ["!", ["id", "in", this.dataset.ids]]),
this.build_context()
);
pop.on_select_elements.add(function(element_ids) {
pop.on("select_elements", self, function(element_ids) {
_.each(element_ids, function(one_id) {
if(! _.detect(self.dataset.ids, function(x) {return x == one_id;})) {
self.dataset.set_ids([].concat(self.dataset.ids, [one_id]));
@@ -4456,11 +4452,12 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
self.view_form.do_show();
});
},
on_select_elements: function(element_ids) {
elements_selected: function(element_ids) {
this.trigger("select_elements",element_ids);
},
check_exit: function(no_destroy) {
if (this.created_elements.length > 0) {
this.on_select_elements(this.created_elements);
this.elements_selected(this.created_elements);
this.created_elements = [];
}
this.destroy();
@@ -4571,7 +4568,7 @@ instance.web.form.SelectCreatePopup = instance.web.form.AbstractFormPopup.extend
});
var $sbutton = self.$buttonpane.find(".oe_selectcreatepopup-search-select");
$sbutton.click(function() {
self.on_select_elements(self.selected_ids);
self.elements_selected(self.selected_ids);
self.destroy();
});
});
@@ -4613,7 +4610,7 @@ instance.web.form.SelectCreateListView = instance.web.ListView.extend({
this.popup.new_object();
},
select_record: function(index) {
this.popup.on_select_elements([this.dataset.ids[index]]);
this.popup.elements_selected([this.dataset.ids[index]]);
this.popup.destroy();
},
do_select: function(ids, records) {
+4 -5
View File
@@ -525,8 +525,8 @@ instance.web.ViewManager = instance.web.Widget.extend({
controller.set_embedded_view(view.embedded_view);
}
controller.on('switch_mode', self, this.switch_mode);
controller.do_prev_view.add_last(this.on_prev_view);
controller.on('previous_view', self, this.prev_view);
var container = this.$el.find(".oe_view_manager_view_" + view_type);
var view_promise = controller.appendTo(container);
this.views[view_type].controller = controller;
@@ -602,7 +602,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
* @param {String} [options.default=null] view to switch to if no previous view
* @returns {$.Deferred} switching end signal
*/
on_prev_view: function (options) {
prev_view: function (options) {
options = options || {};
var current_view = this.views_history.pop();
var previous_view = this.views_history[this.views_history.length - 1] || options['default'];
@@ -1266,8 +1266,7 @@ instance.web.View = instance.web.Widget.extend({
* @param {Boolean} [options.created=false] resource was created
* @param {String} [options.default=null] view to switch to if no previous view
*/
do_prev_view: function (options) {
},
do_search: function(view) {
},
on_sidebar_export: function() {
+1 -1
View File
@@ -4,7 +4,7 @@ import mock
import unittest2
from ..controllers import main
from ..common.session import OpenERPSession
from ..session import OpenERPSession
class Placeholder(object):
def __init__(self, **kwargs):
+1 -1
View File
@@ -6,7 +6,7 @@ import unittest2
import simplejson
import web.controllers.main
from ..common import nonliterals, session as s
from .. import nonliterals, session as s
def field_attrs(fields_view_get, fieldname):
(field,) = filter(lambda f: f['attrs'].get('name') == fieldname,
+2 -3
View File
@@ -273,7 +273,7 @@ instance.web.DiagramView = instance.web.View.extend({
self.dataset.domain,
self.context || self.dataset.context
);
pop.on_select_elements.add_last(function(element_ids) {
pop.on("select_elements", self, function(element_ids) {
self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
});
@@ -325,8 +325,7 @@ instance.web.DiagramView = instance.web.View.extend({
this.dataset.domain,
this.context || this.dataset.context
);
pop.on_select_elements.add_last(function(element_ids) {
pop.on("select_elements", self, function(element_ids) {
self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
});
// We want to destroy the dummy edge after a creation cancel. This destroys it even if we save the changes.
+1 -1
View File
@@ -222,7 +222,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({
on_task_create: function() {
var self = this;
var pop = new instance.web.form.SelectCreatePopup(this);
pop.on_select_elements.add_last(function() {
pop.on("select_elements", self, function() {
self.reload();
});
pop.select_element(
+1 -1
View File
@@ -1067,7 +1067,7 @@ instance.web_kanban.QuickCreate = instance.web.Widget.extend({
[],
{"default_name": self.$input.val()}
);
pop.on_select_elements.add(function(element_ids) {
pop.on("select_elements", self, function(element_ids) {
self.$input.val("");
self.trigger('added', element_ids[0]);
});