form do_mode_switch
bzr revid: al@openerp.com-20120409213043-85a3zd2xoocd4uij
This commit is contained in:
parent
45b11fe674
commit
b40479a59e
|
@ -49,7 +49,6 @@ openerp.web.FormView = openerp.web.View.extend({
|
||||||
this.mutating_mutex = new $.Mutex();
|
this.mutating_mutex = new $.Mutex();
|
||||||
this.on_change_mutex = new $.Mutex();
|
this.on_change_mutex = new $.Mutex();
|
||||||
this.reload_mutex = new $.Mutex();
|
this.reload_mutex = new $.Mutex();
|
||||||
this.set({"force_readonly": false});
|
|
||||||
this.rendering_engine = new openerp.web.FormRenderingEngine(this);
|
this.rendering_engine = new openerp.web.FormRenderingEngine(this);
|
||||||
},
|
},
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
|
@ -432,17 +431,32 @@ openerp.web.FormView = openerp.web.View.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
do_switch_mode: function(mode) {
|
do_switch_mode: function(mode) {
|
||||||
console.log("switch to",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 {
|
||||||
|
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});
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
on_button_save: function() {
|
on_button_save: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
return this.do_save().then(function(result) {
|
return this.do_save().then(function(result) {
|
||||||
self.do_prev_view({'created': result.created, 'default': 'page'});
|
self.do_switch_mode(0);
|
||||||
|
self.do_prev_view({'created': result.created, 'default': 'form'});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
on_button_cancel: function() {
|
on_button_cancel: function() {
|
||||||
if (this.can_be_discarded()) {
|
if (this.can_be_discarded()) {
|
||||||
return this.do_prev_view({'default': 'page'});
|
this.do_switch_mode(0);
|
||||||
|
return this.do_prev_view({'default': 'form'});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
on_button_new: function() {
|
on_button_new: function() {
|
||||||
|
@ -2491,7 +2505,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.AbstractField.extend(_.extend(
|
||||||
res_model: self.field.relation,
|
res_model: self.field.relation,
|
||||||
res_id: self.get("value"),
|
res_id: self.get("value"),
|
||||||
context: self.build_context(),
|
context: self.build_context(),
|
||||||
views: [[false, 'page'], [false, 'form']],
|
views: [[false, 'form']],
|
||||||
target: 'current'
|
target: 'current'
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
|
@ -2637,7 +2651,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.AbstractField.extend({
|
||||||
}
|
}
|
||||||
} else if (view.view_type === "form") {
|
} else if (view.view_type === "form") {
|
||||||
if (self.get("effective_readonly")) {
|
if (self.get("effective_readonly")) {
|
||||||
view.view_type = 'page';
|
view.view_type = 'form';
|
||||||
}
|
}
|
||||||
view.options.not_interactible_on_create = true;
|
view.options.not_interactible_on_create = true;
|
||||||
}
|
}
|
||||||
|
@ -2664,7 +2678,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.AbstractField.extend({
|
||||||
if (view_type == "list") {
|
if (view_type == "list") {
|
||||||
if (self.get("effective_readonly"))
|
if (self.get("effective_readonly"))
|
||||||
controller.set_editable(false);
|
controller.set_editable(false);
|
||||||
} else if (view_type == "form" || view_type == 'page') {
|
} else if (view_type == "form" || view_type == 'form') {
|
||||||
if (view_type == 'page' || self.get("effective_readonly")) {
|
if (view_type == 'page' || self.get("effective_readonly")) {
|
||||||
$(".oe_form_buttons", controller.$element).children().remove();
|
$(".oe_form_buttons", controller.$element).children().remove();
|
||||||
}
|
}
|
||||||
|
|
|
@ -677,12 +677,16 @@
|
||||||
</t>
|
</t>
|
||||||
<t t-name="FormView.buttons">
|
<t t-name="FormView.buttons">
|
||||||
<div class="oe_form_buttons" t-if="widget.options.action_buttons !== false">
|
<div class="oe_form_buttons" t-if="widget.options.action_buttons !== false">
|
||||||
view:<button type="button" class="oe_button oe_form_button_edit">Edit</button>
|
<span class="oe_form_buttons_view">
|
||||||
<button type="button" class="oe_button oe_form_button_create">Create</button>
|
<button type="button" class="oe_button oe_form_button_edit">Edit</button>
|
||||||
<button type="button" class="oe_button oe_form_button_duplicate">Duplicate</button>
|
<button type="button" class="oe_button oe_form_button_create">Create</button>
|
||||||
<button type="button" class="oe_button oe_form_button_delete">Delete</button>
|
<button type="button" class="oe_button oe_form_button_duplicate">Duplicate</button>
|
||||||
edit:<button type="button" class="oe_button oe_form_button_save">Save</button>
|
<button type="button" class="oe_button oe_form_button_delete">Delete</button>
|
||||||
<button type="button" class="oe_button oe_form_button_cancel">Cancel</button>
|
</span>
|
||||||
|
<span class="oe_form_buttons_edit">
|
||||||
|
<button type="button" class="oe_button oe_form_button_save">Save</button>
|
||||||
|
<button type="button" class="oe_button oe_form_button_cancel">Cancel</button>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</t>
|
</t>
|
||||||
<t t-name="FormView.pager">
|
<t t-name="FormView.pager">
|
||||||
|
@ -692,9 +696,6 @@
|
||||||
</t>
|
</t>
|
||||||
</div>
|
</div>
|
||||||
</t>
|
</t>
|
||||||
<t t-name="PageView" t-extend="FormView">
|
|
||||||
</t>
|
|
||||||
|
|
||||||
<t t-name="FormView.sidebar.attachments">
|
<t t-name="FormView.sidebar.attachments">
|
||||||
<div class="oe-sidebar-attachments-toolbar">
|
<div class="oe-sidebar-attachments-toolbar">
|
||||||
<div class="oe-binary-file-set" style="float: right">
|
<div class="oe-binary-file-set" style="float: right">
|
||||||
|
|
Loading…
Reference in New Issue