[MERGE] Merged with web/trunk.
bzr revid: tde@openerp.com-20121016074614-bpa5fernlvppihue
This commit is contained in:
@@ -70,7 +70,7 @@ instance.web.Dialog = instance.web.Widget.extend({
|
||||
autoOpen: false,
|
||||
position: [false, 40],
|
||||
buttons: {},
|
||||
beforeClose: function () { self.close(); },
|
||||
beforeClose: function () { self.trigger("closing") },
|
||||
resizeStop: this.on_resized
|
||||
};
|
||||
for (var f in this) {
|
||||
@@ -84,6 +84,7 @@ instance.web.Dialog = instance.web.Widget.extend({
|
||||
}
|
||||
_.extend(this.dialog_options, options);
|
||||
}
|
||||
this.on("closing", this, this._closing);
|
||||
},
|
||||
get_options: function(options) {
|
||||
var self = this,
|
||||
@@ -150,14 +151,16 @@ instance.web.Dialog = instance.web.Widget.extend({
|
||||
var res = this.start();
|
||||
return res;
|
||||
},
|
||||
close: function() {
|
||||
close: function() {
|
||||
this.$el.dialog('close');
|
||||
},
|
||||
_closing: function() {
|
||||
if (this.__tmp_dialog_destroying)
|
||||
return;
|
||||
if (this.dialog_options.destroy_on_close) {
|
||||
this.__tmp_dialog_closing = true;
|
||||
this.destroy();
|
||||
this.__tmp_dialog_closing = undefined;
|
||||
this.trigger("dialog_close");
|
||||
}
|
||||
},
|
||||
on_resized: function() {
|
||||
|
||||
@@ -135,7 +135,7 @@ instance.web.format_value = function (value, descriptor, value_if_empty) {
|
||||
Math.round((value % 1) * 60));
|
||||
case 'many2one':
|
||||
// name_get value format
|
||||
return value[1];
|
||||
return value[1] ? value[1].split("\n")[0] : value[1];
|
||||
case 'one2many':
|
||||
case 'many2many':
|
||||
if (typeof value === 'string') {
|
||||
|
||||
@@ -4404,9 +4404,8 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
|
||||
self.check_exit(true);
|
||||
},
|
||||
title: this.options.title || "",
|
||||
buttons: [{text:"tmp"}],
|
||||
}, this.$el).open();
|
||||
this.$buttonpane = dialog.$el.dialog("widget").find(".ui-dialog-buttonpane").html("");
|
||||
this.$buttonpane = dialog.$buttons;
|
||||
this.start();
|
||||
},
|
||||
setup_form_view: function() {
|
||||
|
||||
@@ -201,10 +201,7 @@ openerp.web.list_editable = function (instance) {
|
||||
}, function () {
|
||||
return self.editor.edit(item, function (field_name, field) {
|
||||
var cell = cells[field_name];
|
||||
if (!cell || field.get('effective_readonly')) {
|
||||
// Readonly fields can just remain the list's,
|
||||
// form's usually don't have backgrounds &al
|
||||
field.set({invisible: true});
|
||||
if (!cell) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -400,6 +397,21 @@ openerp.web.list_editable = function (instance) {
|
||||
},
|
||||
setup_events: function () {
|
||||
var self = this;
|
||||
_.each(this.editor.form.fields, function(field, field_name) {
|
||||
var field;
|
||||
var setting = false;
|
||||
var set_invisible = function() {
|
||||
if (!setting && field.get("effective_readonly")) {
|
||||
setting = true;
|
||||
field.set({invisible: true});
|
||||
setting = false;
|
||||
}
|
||||
};
|
||||
field.on("change:effective_readonly", self, set_invisible);
|
||||
field.on("change:invisible", self, set_invisible);
|
||||
set_invisible();
|
||||
});
|
||||
|
||||
this.editor.$el.on('keyup keydown', function (e) {
|
||||
if (!self.editor.is_editing()) { return; }
|
||||
var key = _($.ui.keyCode).chain()
|
||||
|
||||
@@ -296,9 +296,8 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
||||
buttons: { "Close": function() { $(this).dialog("close"); }},
|
||||
dialogClass: executor.klass
|
||||
});
|
||||
if (on_close) {
|
||||
this.dialog.on("dialog_close", this, on_close);
|
||||
}
|
||||
if(on_close)
|
||||
this.dialog.on("closing", null, on_close);
|
||||
} else {
|
||||
this.dialog_widget.destroy();
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import mock
|
||||
import unittest2
|
||||
import web.controllers.main
|
||||
import openerp.addons.web.controllers.main
|
||||
|
||||
class TestDataSetController(unittest2.TestCase):
|
||||
def setUp(self):
|
||||
self.dataset = web.controllers.main.DataSet()
|
||||
self.dataset = openerp.addons.web.controllers.main.DataSet()
|
||||
self.request = mock.Mock()
|
||||
self.read = self.request.session.model().read
|
||||
self.search = self.request.session.model().search
|
||||
|
||||
@@ -5,7 +5,7 @@ import mock
|
||||
import unittest2
|
||||
import simplejson
|
||||
|
||||
import web.controllers.main
|
||||
import openerp.addons.web.controllers.main
|
||||
from .. import nonliterals, session as s
|
||||
|
||||
def field_attrs(fields_view_get, fieldname):
|
||||
@@ -16,7 +16,7 @@ def field_attrs(fields_view_get, fieldname):
|
||||
#noinspection PyCompatibility
|
||||
class DomainsAndContextsTest(unittest2.TestCase):
|
||||
def setUp(self):
|
||||
self.view = web.controllers.main.View()
|
||||
self.view = openerp.addons.web.controllers.main.View()
|
||||
|
||||
def test_convert_literal_domain(self):
|
||||
e = xml.etree.ElementTree.Element(
|
||||
@@ -106,7 +106,7 @@ class DomainsAndContextsTest(unittest2.TestCase):
|
||||
|
||||
class AttrsNormalizationTest(unittest2.TestCase):
|
||||
def setUp(self):
|
||||
self.view = web.controllers.main.View()
|
||||
self.view = openerp.addons.web.controllers.main.View()
|
||||
|
||||
def test_identity(self):
|
||||
web_view = """
|
||||
|
||||
@@ -450,12 +450,19 @@ instance.web_calendar.CalendarFormDialog = instance.web.Dialog.extend({
|
||||
this.dataset = dataset;
|
||||
this.view_id = view_id;
|
||||
this.view = view;
|
||||
this.on("closing", this, function() {
|
||||
if (this.view.creating_event_id) {
|
||||
scheduler.deleteEvent(this.view.creating_event_id);
|
||||
this.view.creating_event_id = null;
|
||||
}
|
||||
});
|
||||
},
|
||||
start: function() {
|
||||
var self = this;
|
||||
this._super();
|
||||
this.form = new instance.web.FormView(this, this.dataset, this.view_id, {
|
||||
pager: false
|
||||
pager: false,
|
||||
$buttons: this.$buttons,
|
||||
});
|
||||
var def = this.form.appendTo(this.$el);
|
||||
this.form.on('record_created', self, this.on_form_dialog_saved);
|
||||
@@ -474,12 +481,6 @@ instance.web_calendar.CalendarFormDialog = instance.web.Dialog.extend({
|
||||
this.view.reload_event(id);
|
||||
this.close();
|
||||
},
|
||||
on_close: function() {
|
||||
if (this.view.creating_event_id) {
|
||||
scheduler.deleteEvent(this.view.creating_event_id);
|
||||
this.view.creating_event_id = null;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
instance.web_calendar.Sidebar = instance.web.Widget.extend({
|
||||
|
||||
@@ -194,10 +194,10 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
||||
});
|
||||
var am = instance.webclient.action_manager;
|
||||
var form = am.dialog_widget.views.form.controller;
|
||||
form.on("on_button_cancel", self, am.dialog.on_close);
|
||||
form.on("on_button_cancel", am.dialog, am.dialog.close);
|
||||
form.on('record_created', self, function(r) {
|
||||
(new instance.web.DataSet(self, self.group_by_field.relation)).name_get([r]).then(function(new_record) {
|
||||
am.dialog.on_close();
|
||||
am.dialog.close();
|
||||
var domain = self.dataset.domain.slice(0);
|
||||
domain.push([self.group_by, '=', new_record[0][0]]);
|
||||
var dataset = new instance.web.DataSetSearch(self, self.dataset.model, self.dataset.get_context(), domain);
|
||||
@@ -672,9 +672,9 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
|
||||
});
|
||||
var am = instance.webclient.action_manager;
|
||||
var form = am.dialog_widget.views.form.controller;
|
||||
form.on("on_button_cancel", self, am.dialog.on_close);
|
||||
form.on("on_button_cancel", am.dialog, am.dialog.close);
|
||||
form.on('record_saved', self, function() {
|
||||
am.dialog.on_close();
|
||||
am.dialog.close();
|
||||
self.view.do_reload();
|
||||
});
|
||||
},
|
||||
|
||||
@@ -67,6 +67,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
||||
{text: _t("Close"), click: function() { self.view_edit_dialog.close(); window.location.reload(); }}
|
||||
]
|
||||
}).open();
|
||||
this.view_edit_dialog.on("closing", this, function(){window.location.reload();});
|
||||
this.main_view_id = this.parent.fields_view.view_id;
|
||||
this.action_manager = new instance.web.ActionManager(this);
|
||||
this.action_manager.appendTo(this.view_edit_dialog.$el);
|
||||
|
||||
Reference in New Issue
Block a user