[IMP] mark a bunch of dialog stuff as exportable (mostly buttons, but also dialog titles)

bzr revid: xmo@openerp.com-20111215104031-h2xjkf0zwf8x8zjk
This commit is contained in:
Xavier Morel 2011-12-15 11:40:31 +01:00
parent 68ff6cb98a
commit b5a797ba0a
9 changed files with 146 additions and 172 deletions

View File

@ -2,7 +2,8 @@
* OpenERP Web chrome
*---------------------------------------------------------*/
openerp.web.chrome = function(openerp) {
var QWeb = openerp.web.qweb;
var QWeb = openerp.web.qweb,
_t = openerp.web._t;
openerp.web.Notification = openerp.web.Widget.extend(/** @lends openerp.web.Notification# */{
template: 'Notification',
@ -157,11 +158,9 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({
on_managed_error: function(error) {
$('<div>' + QWeb.render('DialogWarning', {error: error}) + '</div>').dialog({
title: "OpenERP " + _.str.capitalize(error.type),
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
buttons: [
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
]
});
},
on_traceback: function(error) {
@ -172,11 +171,9 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({
height: '90%',
min_width: '800px',
min_height: '600px',
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
buttons: [
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
]
}).start();
dialog.$element.html(QWeb.render('DialogTraceback', {error: error}));
}
@ -368,11 +365,9 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database
return $('<div>').dialog({
modal: true,
title: error.title,
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
buttons: [
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
]
}).html(error.error);
},
do_create: function() {
@ -680,7 +675,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# *
self.rpc("/web/webclient/version_info", {}).then(function(res) {
var $help = $(QWeb.render("About-Page", {version_info: res}));
$help.dialog({autoOpen: true,
modal: true, width: 960, title: "About"});
modal: true, width: 960, title: _t("About")});
});
},
shortcut_load :function(){
@ -760,25 +755,22 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# *
});
this.dialog = new openerp.web.Dialog(this,{
modal: true,
title: 'Preferences',
title: _t("Preferences"),
width: 600,
height: 500,
buttons: {
"Change password": function(){
self.change_password();
},
Cancel: function(){
$(this).dialog('destroy');
},
Save: function(){
var inner_viewmanager = action_manager.inner_viewmanager;
inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save()
.then(function() {
self.dialog.stop();
window.location.reload();
});
buttons: [
{text: _t("Change password"), click: function(){ self.change_password(); }},
{text: _t("Cancel"), click: function(){ $(this).dialog('destroy'); }},
{text: _t("Save"), click: function(){
var inner_viewmanager = action_manager.inner_viewmanager;
inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save()
.then(function() {
self.dialog.stop();
window.location.reload();
});
}
}
}
]
});
this.dialog.start().open();
action_manager.appendTo(this.dialog);
@ -789,7 +781,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# *
var self = this;
this.dialog = new openerp.web.Dialog(this,{
modal : true,
title : 'Change Password',
title: _t("Change Password"),
width : 'auto',
height : 'auto'
});
@ -814,11 +806,9 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# *
return $('<div>').dialog({
modal: true,
title: error.title,
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
buttons: [
{text: _("Ok"), click: function() { $(this).dialog("close"); }}
]
}).html(error.error);
},
on_logout: function() {

View File

@ -1,8 +1,9 @@
openerp.web.data_export = function(openerp) {
var QWeb = openerp.web.qweb;
var QWeb = openerp.web.qweb,
_t = openerp.web._t;
openerp.web.DataExport = openerp.web.Dialog.extend({
template: 'ExportTreeView',
dialog_title: 'Export Data',
dialog_title: {toString: function () { return _t("Export Data"); }},
init: function(parent, dataset) {
this._super(parent);
this.records = {};
@ -18,14 +19,10 @@ openerp.web.DataExport = openerp.web.Dialog.extend({
width: '55%',
height: 'auto',
position: 'top',
buttons : {
"Close" : function() {
self.close();
},
"Export To File" : function() {
self.on_click_export_data();
}
},
buttons : [
{text: _t("Close"), click: function() { self.close(); }},
{text: _t("Export To File"), click: function() { self.on_click_export_data(); }}
],
close: function(event, ui){ self.close();}
});
self.$element.removeClass('ui-dialog-content ui-widget-content');

View File

@ -31,7 +31,7 @@ function jsonp(form, attributes, callback) {
openerp.web.DataImport = openerp.web.Dialog.extend({
template: 'ImportDataView',
dialog_title: "Import Data",
dialog_title: {toString: function () { return _t("Import Data"); }},
init: function(parent, dataset){
var self = this;
this._super(parent, {});

View File

@ -35,28 +35,19 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
pager: false,
radio: true,
select_view_id: self.parent.fields_view.view_id
},
}
};
this.view_edit_dialog = new openerp.web.Dialog(this, {
modal: true,
title: 'ViewEditor',
title: _t("ViewEditor"),
width: 750,
height: 500,
buttons: {
"Create": function(){
self.on_create_view();
},
"Edit": function(){
self.xml_element_id = 0;
self.get_arch();
},
"Remove": function(){
self.do_delete_view();
},
"Close": function(){
self.view_edit_dialog.close();
}
},
buttons: [
{text: _t("Create"), click: function() { self.on_create_view(); }},
{text: _t("Edit"), click: function() { self.xml_element_id = 0; self.get_arch(); }},
{text: _t("Remove"), click: function() { self.do_delete_view(); }},
{text: _t("Close"), click: function() { self.view_edit_dialog.close(); }}
]
}).start().open();
this.main_view_id = this.parent.fields_view.view_id;
this.action_manager = new openerp.web.ActionManager(this);
@ -77,36 +68,34 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
var self = this;
this.create_view_dialog = new openerp.web.Dialog(this, {
modal: true,
title: _.str.sprintf("Create a view (%s)", self.model),
title: _.str.sprintf(_t("Create a view (%s)"), self.model),
width: 500,
height: 400,
buttons: {
"Save": function(){
var view_values = {};
var warn = false;
_.each(self.create_view_widget, function(widget) {
if (widget.is_invalid) {
warn = true;
return false;
};
if (widget.dirty && !widget.is_invalid) {
view_values[widget.name] = widget.get_value();
}
});
if (warn) {
self.on_valid_create_view(self.create_view_widget);
} else {
$.when(self.do_save_view(view_values)).then(function() {
self.create_view_dialog.close();
var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller;
controller.reload_content();
});
buttons: [
{text: _t("Save"), click: function () {
var view_values = {};
var warn = false;
_.each(self.create_view_widget, function(widget) {
if (widget.is_invalid) {
warn = true;
return false;
}
},
"Cancel": function(){
self.create_view_dialog.close();
if (widget.dirty && !widget.is_invalid) {
view_values[widget.name] = widget.get_value();
}
});
if (warn) {
self.on_valid_create_view(self.create_view_widget);
} else {
$.when(self.do_save_view(view_values)).then(function() {
self.create_view_dialog.close();
var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller;
controller.reload_content();
});
}
}
}},
{text: _t("Cancel"), click: function () { self.create_view_dialog.close(); }}
]
});
this.create_view_dialog.start().open();
var view_widget = [{'name': 'view_name', 'string':'View Name', 'type': 'char', 'required': true, 'value' : this.model + '.custom_' + Math.round(Math.random() * 1000)},
@ -375,11 +364,11 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
this.one_object = one_object;
this.edit_xml_dialog = new openerp.web.Dialog(this, {
modal: true,
title: _.str.sprintf("View Editor %d - %s", self.main_view_id, self.model),
title: _.str.sprintf(_t("View Editor %d - %s"), self.main_view_id, self.model),
width: 750,
height: 500,
buttons: {
"Preview": function() {
buttons: [
{text: _t("Preview"), click: function() {
var action = {
context: self.session.user_context,
res_model: self.model,
@ -389,16 +378,16 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
flags: {
sidebar: false,
views_switcher: false,
action_buttons: false,
},
action_buttons: false
}
};
var action_manager = new openerp.web.ActionManager(self);
action_manager.do_action(action);
},
"Close": function(){
}},
{text: _t("Close"), click: function(){
self.edit_xml_dialog.close();
}
}
}}
]
}).start().open();
var no_property_att = [];
_.each(_PROPERTIES, function(val, key) {
@ -764,17 +753,17 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
var self = this;
this.edit_node_dialog = new openerp.web.Dialog(this,{
modal: true,
title: 'Properties',
title: _t("Properties"),
width: 500,
height: 400,
buttons: {
"Update": function(){
buttons: [
{text: _t("Update"), click: function () {
var warn = false, update_values = [];
_.each(self.edit_widget, function(widget) {
if (widget.is_invalid) {
warn = true;
return false;
};
}
if (widget.dirty && !widget.is_invalid) {
update_values.push([widget.name, widget.get_value()]);
}
@ -785,11 +774,9 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
self.do_save_update_arch("update_node", update_values);
self.edit_node_dialog.close();
}
},
"Cancel": function(){
self.edit_node_dialog.close();
}
}
}},
{text: _t("Cancel"), click: function () { self.edit_node_dialog.close(); }}
]
});
this.edit_node_dialog.start().open();
var _PROPERTIES_ATTRIBUTES = {
@ -893,32 +880,32 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
this.add_widget = [];
this.add_node_dialog = new openerp.web.Dialog(this,{
modal: true,
title: 'Properties',
title: _t("Properties"),
width: 450,
height: 190,
buttons: {
"Update": function(){
var check_add_node = true, values = {};
_.each(self.add_widget, function(widget) {
values[widget.name] = widget.get_value() || false;
});
(values.position == "Inside")?
check_add_node =(_.include(_CHILDREN[properties[0]],values.node_type))?true:false:
check_add_node =(_.include(_CHILDREN[properties[1]],values.node_type))?true:false;
if(values.node_type == "field" && check_add_node )
{check_add_node = (values.field_value != " ")?true:false;
}
if(check_add_node){
var tag = (values.node_type == "field")?
_.str.sprintf("<%s name='%s'> </%s>",values.node_type,values.field_value,values.node_type):
_.str.sprintf("<%s> </%s>",values.node_type,values.node_type);
self.do_save_update_arch("add_node", [tag, values.position]);
}else{alert("Can't Update View");}
},
"Cancel": function(){
self.add_node_dialog.close();
buttons: [
{text: _t("Update"), click: function() {
var check_add_node = true, values = {};
_.each(self.add_widget, function(widget) {
values[widget.name] = widget.get_value() || false;
});
(values.position == "Inside")?
check_add_node =(_.include(_CHILDREN[properties[0]],values.node_type))?true:false:
check_add_node =(_.include(_CHILDREN[properties[1]],values.node_type))?true:false;
if(values.node_type == "field" && check_add_node )
{check_add_node = (values.field_value != " ")?true:false;
}
}
if(check_add_node){
var tag = (values.node_type == "field")?
_.str.sprintf("<%s name='%s'> </%s>",values.node_type,values.field_value,values.node_type):
_.str.sprintf("<%s> </%s>",values.node_type,values.node_type);
self.do_save_update_arch("add_node", [tag, values.position]);
} else {
alert("Can't Update View");
}
}},
{text: _t("Cancel"), click: function() { self.add_node_dialog.close(); }}
]
}).start().open();
this.add_node_dialog.$element.append('<table id="rec_table" style="width:420px" class="oe_forms"><tbody><tr></tbody></table>');
var table_selector = self.add_node_dialog.$element.find('table[id=rec_table] tbody');

View File

@ -337,11 +337,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
if (!_.isEmpty(result.warning)) {
$(QWeb.render("DialogWarning", result.warning)).dialog({
modal: true,
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
buttons: [
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
]
});
}
if (result.domain) {
@ -1053,18 +1051,20 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({
var dialog = $('<div>' + self.node.attrs.confirm + '</div>').dialog({
title: _t('Confirm'),
modal: true,
buttons: {
Ok: function() {
self.on_confirmed().then(function() {
def.resolve();
});
$(this).dialog("close");
buttons: [
{text: _t("Ok"), click: function() {
self.on_confirmed().then(function() {
def.resolve();
});
$(this).dialog("close");
}
},
Cancel: function() {
def.resolve();
$(this).dialog("close");
{text: _t("Cancel"), click: function() {
def.resolve();
$(this).dialog("close");
}
}
}
]
});
return def.promise();
} else {

View File

@ -840,7 +840,7 @@ session.web.Sidebar = session.web.Widget.extend({
});
session.web.TranslateDialog = session.web.Dialog.extend({
dialog_title: _t("Translations"),
dialog_title: {toString: function () { return _t("Translations"); }},
init: function(view) {
// TODO fme: should add the language to fields_view_get because between the fields view get
// and the moment the user opens the translation dialog, the user language could have been changed

View File

@ -1,5 +1,6 @@
openerp.web_dashboard = function(openerp) {
var QWeb = openerp.web.qweb;
var QWeb = openerp.web.qweb,
_t = openerp.web._t;
if (!openerp.web_dashboard) {
/** @namespace */
@ -59,7 +60,7 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({
};
var $dialog = $('<div>').dialog({
modal: true,
title: 'Edit Layout',
title: _t("Edit Layout"),
width: 'auto',
height: 'auto'
}).html(QWeb.render('DashBoard.layouts', qdict));

View File

@ -3,7 +3,8 @@
*---------------------------------------------------------*/
openerp.web_diagram = function (openerp) {
var QWeb = openerp.web.qweb;
var QWeb = openerp.web.qweb,
_t = openerp.web._t;
openerp.web.views.add('diagram', 'openerp.web.DiagramView');
openerp.web.DiagramView = openerp.web.View.extend({
searchable: false,
@ -203,19 +204,18 @@ openerp.web.DiagramView = openerp.web.View.extend({
var dialog = new openerp.web.Dialog(this, {
width: 800,
height: 600,
buttons : {
Cancel : function() {
$(this).dialog('destroy');
},
Save : function() {
var form_view = action_manager.inner_viewmanager.views.form.controller;
buttons : [
{text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }},
{text: _t("Save"), click: function() {
var form_view = action_manager.inner_viewmanager.views.form.controller;
form_view.do_save(function() {
self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded);
});
$(this).dialog('destroy');
form_view.do_save(function() {
self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded);
});
$(this).dialog('destroy');
}
}
}
]
}).start().open();
action_manager.appendTo(dialog.$element);
action_manager.do_action({

View File

@ -1,5 +1,6 @@
openerp.web_process = function (openerp) {
var QWeb = openerp.web.qweb;
var QWeb = openerp.web.qweb,
_t = openerp.web._t;
openerp.web.ViewManager.include({
start: function() {
this._super();
@ -275,19 +276,17 @@ openerp.web_process = function (openerp) {
var dialog = new openerp.web.Dialog(this, {
width: 800,
height: 600,
buttons : {
Cancel : function() {
$(this).dialog('destroy');
},
Save : function() {
buttons : [
{text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }},
{text: _t("Save"), click: function() {
var form_view = action_manager.inner_viewmanager.views.form.controller;
form_view.do_save(function() {
self.initialize_process_view();
});
$(this).dialog('destroy');
}
}
}}
]
}).start().open();
action_manager.appendTo(dialog.$element);