form ro by default fix namespace

bzr revid: al@openerp.com-20120409233615-u13xttozjdmzqqcr
This commit is contained in:
Antony Lesuisse 2012-04-10 01:36:15 +02:00
parent d7d69a26c9
commit bd579db499
3 changed files with 53 additions and 117 deletions

View File

@ -831,12 +831,11 @@
text-decoration: none;
}
.openerp2 .oe-view-manager-header .button-group .active {
width: 100%;
background: #999999;
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset;
}
.openerp2 .oe-view-manager-header .button-group .active a {
color: white;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
@ -928,78 +927,30 @@
.openerp2 .oe_view_manager_header .oe_view_manager_pager {
float: right;
}
.openerp2 .oe_view_manager_switch {
float: right;
margin: 2px 0 0 0;
.openerp2 .oe_view_manager_switch li {
padding-left: 1px;
text-align: center;
width: 24px;
height: 24px;
line-height: 24px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_form,
.openerp2 .oe_view_manager_switch .oe_vm_switch_page,
.openerp2 .oe_view_manager_switch .oe_vm_switch_tree,
.openerp2 .oe_view_manager_switch .oe_vm_switch_list,
.openerp2 .oe_view_manager_switch .oe_vm_switch_graph,
.openerp2 .oe_view_manager_switch .oe_vm_switch_gantt,
.openerp2 .oe_view_manager_switch .oe_vm_switch_calendar,
.openerp2 .oe_view_manager_switch .oe_vm_switch_kanban,
.openerp2 .oe_view_manager_switch .oe_vm_switch_diagram {
background: url("/web/static/src/img/views-icons-a.png") repeat-x scroll left top transparent;
overflow: hidden;
width: 22px;
height: 21px;
border: none;
background-position: 0px 0px;
.openerp2 .oe_view_manager_switch .oe_vm_switch_list:after, .openerp2 .oe_view_manager_switch .oe_vm_switch_tree:after {
content: "ö";
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_form span,
.openerp2 .oe_view_manager_switch .oe_vm_switch_page span,
.openerp2 .oe_view_manager_switch .oe_vm_switch_tree span,
.openerp2 .oe_view_manager_switch .oe_vm_switch_list span,
.openerp2 .oe_view_manager_switch .oe_vm_switch_graph span,
.openerp2 .oe_view_manager_switch .oe_vm_switch_gantt span,
.openerp2 .oe_view_manager_switch .oe_vm_switch_calendar span,
.openerp2 .oe_view_manager_switch .oe_vm_switch_kanban span,
.openerp2 .oe_view_manager_switch .oe_vm_switch_diagram span {
display: none;
.openerp2 .oe_view_manager_switch .oe_vm_switch_graph:after {
content: "ó";
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_list, .openerp2 .oe_view_manager_switch .oe_vm_switch_tree {
background-position: 0px 0px;
.openerp2 .oe_view_manager_switch .oe_vm_switch_gantt:after {
content: "y";
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_list:active, .openerp2 .oe_view_manager_switch .oe_vm_switch_list:hover, .openerp2 .oe_view_manager_switch .oe_vm_switch_list:focus, .openerp2 .oe_view_manager_switch .oe_vm_switch_list.oe_view_manager_switch_selected, .openerp2 .oe_view_manager_switch .oe_vm_switch_tree:active, .openerp2 .oe_view_manager_switch .oe_vm_switch_tree:hover, .openerp2 .oe_view_manager_switch .oe_vm_switch_tree:focus, .openerp2 .oe_view_manager_switch .oe_vm_switch_tree.oe_view_manager_switch_selected {
background-position: 0px -21px;
.openerp2 .oe_view_manager_switch .oe_vm_switch_calendar:after {
content: "b";
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_form, .openerp2 .oe_view_manager_switch .oe_vm_switch_page {
background-position: -22px 0px;
.openerp2 .oe_view_manager_switch .oe_vm_switch_kanban:after {
content: "ó";
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_form:active, .openerp2 .oe_view_manager_switch .oe_vm_switch_form:hover, .openerp2 .oe_view_manager_switch .oe_vm_switch_form:focus, .openerp2 .oe_view_manager_switch .oe_vm_switch_form.oe_view_manager_switch_selected, .openerp2 .oe_view_manager_switch .oe_vm_switch_page:active, .openerp2 .oe_view_manager_switch .oe_vm_switch_page:hover, .openerp2 .oe_view_manager_switch .oe_vm_switch_page:focus, .openerp2 .oe_view_manager_switch .oe_vm_switch_page.oe_view_manager_switch_selected {
background-position: -22px -21px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_graph {
background-position: -44px 0px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_graph:active, .openerp2 .oe_view_manager_switch .oe_vm_switch_graph:hover, .openerp2 .oe_view_manager_switch .oe_vm_switch_graph:focus, .openerp2 .oe_view_manager_switch .oe_vm_switch_graph.oe_view_manager_switch_selected {
background-position: -44px -21px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_gantt {
background-position: -66px 0px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_gantt:active, .openerp2 .oe_view_manager_switch .oe_vm_switch_gantt:hover, .openerp2 .oe_view_manager_switch .oe_vm_switch_gantt:focus, .openerp2 .oe_view_manager_switch .oe_vm_switch_gantt.oe_view_manager_switch_selected {
background-position: -66px -21px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_calendar {
background-position: -88px 0px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_calendar:active, .openerp2 .oe_view_manager_switch .oe_vm_switch_calendar:hover, .openerp2 .oe_view_manager_switch .oe_vm_switch_calendar:focus, .openerp2 .oe_view_manager_switch .oe_vm_switch_calendar.oe_view_manager_switch_selected {
background-position: -88px -21px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_kanban {
background-position: -110px 0px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_kanban:active, .openerp2 .oe_view_manager_switch .oe_vm_switch_kanban:hover, .openerp2 .oe_view_manager_switch .oe_vm_switch_kanban:focus, .openerp2 .oe_view_manager_switch .oe_vm_switch_kanban.oe_view_manager_switch_selected {
background-position: -110px -21px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_diagram {
background-position: 0px 0px;
}
.openerp2 .oe_view_manager_switch .oe_vm_switch_diagram:active, .openerp2 .oe_view_manager_switch .oe_vm_switch_diagram:hover, .openerp2 .oe_view_manager_switch .oe_vm_switch_diagram:focus, .openerp2 .oe_view_manager_switch .oe_vm_switch_diagram.oe_view_manager_switch_selected {
background-position: 0px -21px;
.openerp2 .oe_view_manager_switch .oe_vm_switch_diagram:after {
content: "}";
}
.openerp2 .oe_form_dropdown_section {
position: relative;
@ -1606,28 +1557,6 @@
.openerp2 .oe_form .oe_form_field_progressbar.ui-progressbar .ui-widget-header {
background: #cccccc url(/web/static/lib/jquery.ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
}
.openerp2 .oe_form .oe_form_field_progressbar.ui-progressbar {
height: 22px;
font-size: 10px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #999999;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
background: white;
min-width: 90px;
}
.openerp2 .oe_form .oe_form_field_progressbar.ui-progressbar span {
position: absolute;
margin-left: 10px;
font-weight: bold;
}
.openerp2 .oe_form .oe_form_field_progressbar.ui-progressbar .ui-widget-header {
background: #cccccc url(/web/static/lib/jquery.ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
}
.openerp2 .oe_form .oe_view_manager_row:first-child {
display: none;
}

View File

@ -1,9 +1,11 @@
openerp.web.form = function (openerp) {
var _t = openerp.web._t,
_lt = openerp.web._lt;
var QWeb = openerp.web.qweb;
/** @namespace */
openerp.web.form = {};
openerp.web.views.add('form', 'openerp.web.FormView');
openerp.web.FormView = openerp.web.View.extend({
/**
@ -49,7 +51,8 @@ openerp.web.FormView = openerp.web.View.extend({
this.mutating_mutex = new $.Mutex();
this.on_change_mutex = new $.Mutex();
this.reload_mutex = new $.Mutex();
this.rendering_engine = new openerp.web.FormRenderingEngine(this);
this.mode = null;
this.rendering_engine = new openerp.web.form.FormRenderingEngineReadonly(this);
},
destroy: function() {
_.each(this.get_widgets(), function(w) {
@ -103,6 +106,7 @@ openerp.web.FormView = openerp.web.View.extend({
}
}]);
}
this.do_switch_mode("view");
this.has_been_loaded.resolve();
return $.when();
},
@ -432,31 +436,30 @@ openerp.web.FormView = openerp.web.View.extend({
},
do_switch_mode: function(mode) {
var self = this;
if(mode) {
self.$buttons.find('.oe_form_buttons_edit').show();
self.$buttons.find('.oe_form_buttons_view').hide();
_.each(this.fields,function(field){
field.set({"force_readonly": false});
});
} else {
if(mode=="view") {
self.$buttons.find('.oe_form_buttons_edit').hide();
self.$buttons.find('.oe_form_buttons_view').show();
_.each(this.fields,function(field){
field.set({"force_readonly": true});
});
} else {
self.$buttons.find('.oe_form_buttons_edit').show();
self.$buttons.find('.oe_form_buttons_view').hide();
_.each(this.fields,function(field){
field.set({"force_readonly": false});
});
}
self.mode = mode;
},
on_button_save: function() {
var self = this;
return this.do_save().then(function(result) {
self.do_switch_mode(0);
self.do_prev_view({'created': result.created, 'default': 'form'});
self.do_switch_mode("view");
});
},
on_button_cancel: function() {
if (this.can_be_discarded()) {
this.do_switch_mode(0);
return this.do_prev_view({'default': 'form'});
this.do_switch_mode("view");
}
},
on_button_new: function() {
@ -479,11 +482,12 @@ openerp.web.FormView = openerp.web.View.extend({
return def.promise();
},
on_button_edit: function() {
return this.do_switch_mode(1);
return this.do_switch_mode("edit");
},
on_button_create: function() {
this.dataset.index = null;
return this.do_switch_mode(1);
this.do_switch_mode("edit");
this.do_show();
},
on_button_duplicate: function() {
var self = this;
@ -637,10 +641,10 @@ openerp.web.FormView = openerp.web.View.extend({
reload: function() {
var self = this;
return this.reload_mutex.exec(function() {
//if (this.dataset.index == null) {
// this.do_prev_view();
// return $.Deferred().reject().promise();
//}
if (this.dataset.index == null) {
this.do_prev_view();
return $.Deferred().reject().promise();
}
if (self.dataset.index == null || self.dataset.index < 0) {
return $.when(self.on_button_new());
} else {
@ -779,7 +783,7 @@ openerp.web.FormView = openerp.web.View.extend({
/**
* Interface to be implemented by rendering engines for the form view.
*/
openerp.web.FormRenderingEngineInterface = {
openerp.web.form.FormRenderingEngineInterface = {
set_fields_view: function(fields_view) {},
render_to: function($element) {},
};
@ -789,7 +793,7 @@ openerp.web.FormRenderingEngineInterface = {
*
* It is necessary to set the view using set_view() before usage.
*/
openerp.web.FormRenderingEngine = openerp.web.Class.extend({
openerp.web.form.FormRenderingEngine = openerp.web.Class.extend({
init: function(view) {
this.view = view;
this.legacy_mode = false;
@ -1104,7 +1108,13 @@ openerp.web.FormRenderingEngine = openerp.web.Class.extend({
},
});
openerp.web.FormDialog = openerp.web.Dialog.extend({
openerp.web.form.FormRenderingEngineReadonly = openerp.web.form.FormRenderingEngine.extend({
alter_field: function(field) {
field.set({"force_readonly": true});
},
});
openerp.web.form.FormDialog = openerp.web.Dialog.extend({
init: function(parent, options, view_id, dataset) {
this._super(parent, options);
this.dataset = dataset;
@ -1135,15 +1145,12 @@ openerp.web.FormDialog = openerp.web.Dialog.extend({
}
});
/** @namespace */
openerp.web.form = {};
openerp.web.form.SidebarAttachments = openerp.web.OldWidget.extend({
openerp.web.form.SidebarAttachments = openerp.web.Widget.extend({
init: function(parent, form_view) {
//var $section = parent.add_section(_t('Attachments'), 'attachments');
//this.$div = $('<div class="oe-sidebar-attachments"></div>');
//$section.append(this.$div);
this._super(parent);
this.view = form_view;
},

View File

@ -23,7 +23,7 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({
records : {}
};
this.groups = [];
this.form_dialog = new openerp.web.FormDialog(this, {}, this.options.action_views_ids.form, dataset).start();
this.form_dialog = new openerp.web.form.FormDialog(this, {}, this.options.action_views_ids.form, dataset).start();
this.form_dialog.on_form_dialog_saved.add_last(this.do_reload);
this.aggregates = {};
this.group_operators = ['avg', 'max', 'min', 'sum', 'count'];