summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2012-04-09 22:53:34 +0200
committerAntony Lesuisse <al@openerp.com>2012-04-09 22:53:34 +0200
commit77ec66a20ec0a453b4c62c82a0e226cdb02cede3 (patch)
treef557064b0a652ab2be677561c984afaad6ed1427 /addons/web/static/src
parentdb8a61ba9b8cb9a877f17d041d68ba817be99d4b (diff)
bye bye page view
bzr revid: al@openerp.com-20120409205334-tbgk3fz7q7q60o3t
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/view_form.js67
-rw-r--r--addons/web/static/src/js/view_list.js17
-rw-r--r--addons/web/static/src/js/view_page.js67
-rw-r--r--addons/web/static/src/js/views.js6
4 files changed, 76 insertions, 81 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index c4bac3c2cd1..3a5b387297a 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -80,6 +80,10 @@ openerp.web.FormView = openerp.web.View.extend({
this.$buttons.html(QWeb.render("FormView.buttons", {'widget':self}));
this.$buttons.on('click','.oe_form_buttons button.oe_form_button_save',this.on_button_save);
this.$buttons.on('click','.oe_form_buttons button.oe_form_button_cancel',this.on_button_cancel);
+ this.$buttons.on('click','.oe_form_buttons button.oe_form_button_edit',this.on_button_edit);
+ this.$buttons.on('click','.oe_form_buttons button.oe_form_button_create',this.on_button_create);
+ this.$buttons.on('click','.oe_form_buttons button.oe_form_button_duplicate',this.on_button_duplicate);
+ this.$buttons.on('click','.oe_form_buttons button.oe_form_button_delete',this.on_button_delete);
this.$pager.html(QWeb.render("FormView.pager", {'widget':self}));
this.$pager.on('click','.oe_form_pager button[data-pager-action]',function(event) {
@@ -145,15 +149,15 @@ openerp.web.FormView = openerp.web.View.extend({
});
},
do_hide: function () {
- //if (this.sidebar) {
- // this.sidebar.$element.hide();
- //}
- //if (this.$buttons) {
- // this.$buttons.find('.oe_form_buttons').hide();
- //}
- //if (this.$pager) {
- // this.$pager.find('.oe_form_pager').hide();
- //}
+ if (this.sidebar) {
+ this.sidebar.$element.hide();
+ }
+ if (this.$buttons) {
+ this.$buttons.find('.oe_form_buttons').hide();
+ }
+ if (this.$pager) {
+ this.$pager.find('.oe_form_pager').hide();
+ }
this._super();
},
on_record_loaded: function(record) {
@@ -427,6 +431,9 @@ openerp.web.FormView = openerp.web.View.extend({
return $.Deferred().reject();
}
},
+ do_switch_mode: function(mode) {
+ console.log("switch to",mode)
+ },
on_button_save: function() {
var self = this;
return this.do_save().then(function(result) {
@@ -457,6 +464,44 @@ openerp.web.FormView = openerp.web.View.extend({
});
return def.promise();
},
+ on_button_edit: function() {
+ return this.do_switch_mode(1);
+ },
+ on_button_create: function() {
+ this.dataset.index = null;
+ return this.do_switch_mode(1);
+ },
+ on_button_duplicate: function() {
+ var self = this;
+ var def = $.Deferred();
+ $.when(this.has_been_loaded).then(function() {
+ self.dataset.call('copy', [self.datarecord.id, {}, self.dataset.context]).then(function(new_id) {
+ return self.on_created({ result : new_id });
+ }).then(function() {
+ return self.do_switch_mode(1);
+ }).then(function() {
+ def.resolve();
+ });
+ });
+ return def.promise();
+ },
+ on_button_delete: function() {
+ var self = this;
+ var def = $.Deferred();
+ $.when(this.has_been_loaded).then(function() {
+ if (self.datarecord.id && confirm(_t("Do you really want to delete this record?"))) {
+ self.dataset.unlink([self.datarecord.id]).then(function() {
+ self.on_pager_action('next');
+ def.resolve();
+ });
+ } else {
+ $.async_when().then(function () {
+ def.reject();
+ })
+ }
+ });
+ return def.promise();
+ },
can_be_discarded: function() {
return !this.$element.is('.oe_form_dirty') || confirm(_t("Warning, the record has been modified, your changes will be discarded."));
},
@@ -578,6 +623,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 (self.dataset.index == null || self.dataset.index < 0) {
return $.when(self.on_button_new());
} else {
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index 1aabfd41d00..525a47c3654 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -409,7 +409,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
* @param {String} [view="page"] the view type to switch to
*/
select_record:function (index, view) {
- view = view || index == null ? 'form' : 'page';
+ view = view || index == null ? 'form' : 'form';
this.dataset.index = index;
_.delay(_.bind(function () {
this.do_switch_view(view);
@@ -420,11 +420,24 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
if (this.sidebar) {
this.sidebar.$element.show();
}
+ if (this.$buttons) {
+ this.$buttons.find('.oe_list_buttons').show();
+ }
+ if (this.$pager) {
+ this.$pager.find('.oe_list_pager').show();
+ }
},
do_hide: function () {
- this._super();
if (this.sidebar) {
+ this.sidebar.$element.hide();
}
+ if (this.$buttons) {
+ this.$buttons.find('.oe_list_buttons').hide();
+ }
+ if (this.$pager) {
+ this.$pager.find('.oe_list_pager').hide();
+ }
+ this._super();
},
/**
* Reloads the list view based on the current settings (dataset & al)
diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js
index 941aec36650..6dedb60c2c2 100644
--- a/addons/web/static/src/js/view_page.js
+++ b/addons/web/static/src/js/view_page.js
@@ -2,71 +2,4 @@ openerp.web.page = function (openerp) {
var _t = openerp.web._t,
_lt = openerp.web._lt;
- openerp.web.views.add('page', 'openerp.web.PageView');
- openerp.web.PageView = openerp.web.FormView.extend({
- template: "PageView",
- display_name: _lt('Page'),
- init: function() {
- this._super.apply(this, arguments);
- this.rendering_engine = new openerp.web.FormRenderingEngineReadonly(this);
- },
- reload: function () {
- if (this.dataset.index == null) {
- this.do_prev_view();
- return $.Deferred().reject().promise();
- }
- return this._super();
- },
- on_loaded: function(data) {
- this._super(data);
- this.$buttons.find('button.oe_form_button_edit').click(this.on_button_edit);
- this.$buttons.find('button.oe_form_button_create').click(this.on_button_create);
- this.$buttons.find('button.oe_form_button_duplicate').click(this.on_button_duplicate);
- this.$buttons.find('button.oe_form_button_delete').click(this.on_button_delete);
- },
- on_button_edit: function() {
- return this.do_switch_view('form');
- },
- on_button_create: function() {
- this.dataset.index = null;
- return this.do_switch_view('form');
- },
- on_button_duplicate: function() {
- var self = this;
- var def = $.Deferred();
- $.when(this.has_been_loaded).then(function() {
- self.dataset.call('copy', [self.datarecord.id, {}, self.dataset.context]).then(function(new_id) {
- return self.on_created({ result : new_id });
- }).then(function() {
- return self.do_switch_view('form');
- }).then(function() {
- def.resolve();
- });
- });
- return def.promise();
- },
- on_button_delete: function() {
- var self = this;
- var def = $.Deferred();
- $.when(this.has_been_loaded).then(function() {
- if (self.datarecord.id && confirm(_t("Do you really want to delete this record?"))) {
- self.dataset.unlink([self.datarecord.id]).then(function() {
- self.on_pager_action('next');
- def.resolve();
- });
- } else {
- $.async_when().then(function () {
- def.reject();
- })
- }
- });
- return def.promise();
- }
- });
-
- openerp.web.FormRenderingEngineReadonly = openerp.web.FormRenderingEngine.extend({
- alter_field: function(field) {
- field.set({"force_readonly": true});
- },
- });
};
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index c8c9bdead97..bd90c75e748 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -63,7 +63,7 @@ session.web.ActionManager = session.web.Widget.extend({
res_model: state.model,
res_id: state.id,
type: 'ir.actions.act_window',
- views: [[false, 'page'], [false, 'form']]
+ views: [[false, 'form']]
};
action_loaded = this.do_action(action);
} else if (state.sa) {
@@ -356,10 +356,10 @@ session.web.ViewManager = session.web.OldWidget.extend({
if (options.created && current_view === 'form' && previous_view === 'list') {
// APR special case: "If creation mode from list (and only from a list),
// after saving, go to page view (don't come back in list)"
- return this.on_mode_switch('page');
+ return this.on_mode_switch('form');
} else if (options.created && !previous_view && this.action && this.action.flags.default_view === 'form') {
// APR special case: "If creation from dashboard, we have no previous view
- return this.on_mode_switch('page');
+ return this.on_mode_switch('form');
}
return this.on_mode_switch(previous_view, true);
},