1 openerp.web.page = function (openerp) {
2 var _t = openerp.web._t,
5 openerp.web.views.add('page', 'openerp.web.PageView');
6 openerp.web.PageView = openerp.web.FormView.extend({
8 display_name: _lt('Page'),
10 this._super.apply(this, arguments);
11 this.registry = openerp.web.page.readonly;
12 this.set({"force_readonly": true});
15 if (this.dataset.index == null) {
17 return $.Deferred().reject().promise();
21 on_loaded: function(data) {
23 this.$form_header.find('button.oe_form_button_edit').click(this.on_button_edit);
24 this.$form_header.find('button.oe_form_button_create').click(this.on_button_create);
25 this.$form_header.find('button.oe_form_button_duplicate').click(this.on_button_duplicate);
26 this.$form_header.find('button.oe_form_button_delete').click(this.on_button_delete);
28 on_button_edit: function() {
29 return this.do_switch_view('form');
31 on_button_create: function() {
32 this.dataset.index = null;
33 return this.do_switch_view('form');
35 on_button_duplicate: function() {
37 var def = $.Deferred();
38 $.when(this.has_been_loaded).then(function() {
39 self.dataset.call('copy', [self.datarecord.id, {}, self.dataset.context]).then(function(new_id) {
40 return self.on_created({ result : new_id });
42 return self.do_switch_view('form');
49 on_button_delete: function() {
51 var def = $.Deferred();
52 $.when(this.has_been_loaded).then(function() {
53 if (self.datarecord.id && confirm(_t("Do you really want to delete this record?"))) {
54 self.dataset.unlink([self.datarecord.id]).then(function() {
55 self.on_pager_action('next');
59 $.async_when().then(function () {
69 openerp.web.page = {};
71 openerp.web.page.readonly = openerp.web.form.widgets.extend({