bzr revid: nicolas.vanhoren@openerp.com-20110722100739-kg430kzpgsh89tug
This commit is contained in:
niv-openerp
2011-07-22 12:07:39 +02:00
13 changed files with 96 additions and 69 deletions
+1 -1
View File
@@ -31,8 +31,8 @@
<script type="text/javascript" src="/base/static/src/js/form.js"></script>
<script type="text/javascript" src="/base/static/src/js/list.js"></script>
<script type="text/javascript" src="/base/static/src/js/list-editable.js"></script>
<script type="text/javascript" src="/base/static/src/js/tree.js"></script>
<script type="text/javascript" src="/base/static/src/js/search.js"></script>
<script type="text/javascript" src="/base/static/src/js/view_tree.js"></script>
<link rel="stylesheet" type="text/css" media="screen" href="/base/static/lib/jquery.ui/css/smoothness/jquery-ui-1.8.9.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="/base/static/lib/jquery.ui.notify/css/ui.notify.css" />
+3 -3
View File
@@ -72,9 +72,6 @@ openerp.base = function(instance) {
if (openerp.base.list) {
openerp.base.list(instance);
}
if (openerp.base.tree) {
openerp.base.tree(instance);
}
if (openerp.base. m2o) {
openerp.base.m2o(instance);
}
@@ -87,6 +84,9 @@ openerp.base = function(instance) {
if (openerp.web_mobile) {
openerp.web_mobile(instance);
}
if (openerp.base.view_tree) {
openerp.base.view_tree(instance);
}
};
// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax:
+3
View File
@@ -467,6 +467,9 @@ openerp.base.Controller = openerp.base.BasicController.extend( /** @lends opener
*/
rpc: function(url, data, success, error) {
return this.session.rpc(url, data, success, error);
},
do_action: function(action, on_finished) {
return this.parent.do_action(action, on_finished);
}
});
+1 -1
View File
@@ -186,7 +186,7 @@ openerp.base.ContainerDataGroup = openerp.base.DataGroup.extend( /** @lends open
var child_context = _.extend({}, self.context, group.__context);
return _.extend(
new openerp.base.DataGroup(
self.session, self.model, group.__domain,
self, self.model, group.__domain,
child_context, child_context.group_by,
self.level + 1),
group, {sort: self.sort});
+13 -14
View File
@@ -85,7 +85,8 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV
$('<xmp>' + openerp.base.json_node_to_xml(self.fields_view.arch, true) + '</xmp>').dialog({ width: '95%', height: 600});
});
this.view_manager.sidebar.set_toolbar(data.fields_view.toolbar);
if(this.view_manager.sidebar)
this.view_manager.sidebar.set_toolbar(data.fields_view.toolbar);
this.has_been_loaded.resolve();
},
do_show: function () {
@@ -98,7 +99,8 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV
promise = this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded);
}
self.$element.show();
this.view_manager.sidebar.do_refresh(true);
if(this.view_manager.sidebar)
this.view_manager.sidebar.do_refresh(true);
return promise;
},
do_hide: function () {
@@ -1299,7 +1301,7 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({
if (!self.value) {
return;
}
var pop = new openerp.base.form.FormOpenPopup(null, self.view.session);
var pop = new openerp.base.form.FormOpenPopup(self.view);
pop.show_element(self.field.relation, self.value[0],self.build_context(), {});
pop.on_write_completed.add_last(function() {
self.set_value(self.value[0]);
@@ -1749,7 +1751,7 @@ openerp.base.form.One2ManyListView = openerp.base.ListView.extend({
},
do_activate_record: function(index, id) {
var self = this;
var pop = new openerp.base.form.FormOpenPopup(null, self.o2m.view.session);
var pop = new openerp.base.form.FormOpenPopup(self.o2m.view);
pop.show_element(self.o2m.field.relation, id, self.o2m.build_context(),{
auto_write: false,
alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined,
@@ -1782,7 +1784,7 @@ openerp.base.form.FieldMany2Many = openerp.base.form.Field.extend({
self.on_ui_change();
});
this.list_view = new openerp.base.form.Many2ManyListView(this.view.view_manager, this.list_id, this.dataset, false, {
this.list_view = new openerp.base.form.Many2ManyListView(new openerp.base.NullViewManager(this), this.list_id, this.dataset, false, {
'addable': 'Add',
'selectable': self.multi_selection
});
@@ -1874,7 +1876,7 @@ openerp.base.form.SelectCreatePopup = openerp.base.BaseWidget.extend({
},
start: function() {
this._super();
this.dataset = new openerp.base.ReadOnlyDataSetSearch(this.session, this.model,
this.dataset = new openerp.base.ReadOnlyDataSetSearch(this, this.model,
this.context);
this.dataset.parent_view = this.options.parent_view;
if (this.options.initial_view == "search") {
@@ -1888,7 +1890,7 @@ openerp.base.form.SelectCreatePopup = openerp.base.BaseWidget.extend({
if (this.searchview) {
this.searchview.stop();
}
this.searchview = new openerp.base.SearchView(null, this.session,
this.searchview = new openerp.base.SearchView(this,
this.element_id + "_search", this.dataset, false, {
"selectable": !this.options.disable_multiple_selection,
"deletable": false
@@ -1916,7 +1918,7 @@ openerp.base.form.SelectCreatePopup = openerp.base.BaseWidget.extend({
$sbutton.click(function() {
self.on_select_elements(self.selected_ids);
});
self.view_list = new openerp.base.form.SelectCreateListView(this,
self.view_list = new openerp.base.form.SelectCreateListView(self,
self.element_id + "_view_list", self.dataset, false,
{'deletable': false});
self.view_list.popup = self;
@@ -1956,8 +1958,7 @@ openerp.base.form.SelectCreatePopup = openerp.base.BaseWidget.extend({
this.view_list.$element.hide();
}
this.dataset.index = null;
this.view_form = new openerp.base.FormView(null, this.session,
this.element_id + "_view_form", this.dataset, false);
this.view_form = new openerp.base.FormView(this, this.element_id + "_view_form", this.dataset, false);
if (this.options.alternative_form_view) {
this.view_form.set_embedded_view(this.options.alternative_form_view);
}
@@ -2014,8 +2015,7 @@ openerp.base.form.FormOpenPopup = openerp.base.BaseWidget.extend({
},
start: function() {
this._super();
this.dataset = new openerp.base.ReadOnlyDataSetSearch(this.session, this.model,
this.context);
this.dataset = new openerp.base.ReadOnlyDataSetSearch(this, this.model, this.context);
this.dataset.ids = [this.row_id];
this.dataset.index = 0;
this.dataset.parent_view = this.options.parent_view;
@@ -2035,8 +2035,7 @@ openerp.base.form.FormOpenPopup = openerp.base.BaseWidget.extend({
on_write_completed: function() {},
setup_form_view: function() {
var self = this;
this.view_form = new openerp.base.FormView(null, this.session,
this.element_id + "_view_form", this.dataset, false);
this.view_form = new openerp.base.FormView(this, this.element_id + "_view_form", this.dataset, false);
if (this.options.alternative_form_view) {
this.view_form.set_embedded_view(this.options.alternative_form_view);
}
+4 -4
View File
@@ -254,9 +254,8 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi
})
.val(self._limit || 'NaN');
});
if(this.view_manager.sidebar == undefined)
debugger;
this.view_manager.sidebar.set_toolbar(data.fields_view.toolbar);
if(this.view_manager.sidebar)
this.view_manager.sidebar.set_toolbar(data.fields_view.toolbar);
},
/**
@@ -392,7 +391,8 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi
this.groups.apoptosis().render());
this.hidden = false;
}
this.view_manager.sidebar.do_refresh(true);
if(this.view_manager.sidebar)
this.view_manager.sidebar.do_refresh(true);
},
do_hide: function () {
this.$element.hide();
+23 -15
View File
@@ -593,32 +593,40 @@ openerp.base.search.BooleanField = openerp.base.search.Field.extend({
}
}
});
openerp.base.search.IntegerField = openerp.base.search.Field.extend({
openerp.base.search.NumberField = openerp.base.search.Field.extend(/** @lends openerp.base.search.NumberField# */{
get_value: function () {
if (!this.$element.val()) {
return null;
}
var val = parseInt(this.$element.val());
var check = Number(this.$element.val());
if (isNaN(check) || val !== check) {
var val = this.parse(this.$element.val()),
check = Number(this.$element.val());
if (isNaN(val) || val !== check) {
this.$element.addClass('error');
throw new openerp.base.search.Invalid(
this.attrs.name, this.$element.val(), "not a valid integer");
this.attrs.name, this.$element.val(), this.error_message);
}
this.$element.removeClass('error');
return val;
}
});
openerp.base.search.FloatField = openerp.base.search.Field.extend({
get_value: function () {
var val = Number(this.$element.val());
if (isNaN(val)) {
this.$element.addClass('error');
throw new openerp.base.search.Invalid(
this.attrs.name, this.$element.val(), "not a valid number");
}
this.$element.removeClass('error');
return val;
/**
* @class
* @extends openerp.base.search.NumberField
*/
openerp.base.search.IntegerField = openerp.base.search.NumberField.extend(/** @lends openerp.base.search.IntegerField# */{
error_message: "not a valid integer",
parse: function (value) {
return parseInt(value, 10);
}
});
/**
* @class
* @extends openerp.base.search.NumberField
*/
openerp.base.search.FloatField = openerp.base.search.NumberField.extend(/** @lends openerp.base.search.FloatField# */{
error_message: "not a valid number",
parse: function (value) {
return parseFloat(value);
}
});
openerp.base.search.SelectionField = openerp.base.search.Field.extend({
+15
View File
@@ -0,0 +1,15 @@
/*---------------------------------------------------------
* OpenERP base library
*---------------------------------------------------------*/
openerp.base.view_help = function(openerp) {
openerp.base.ProcessView = openerp.base.Controller.extend({
});
openerp.base.HelpView = openerp.base.Controller.extend({
});
};
// vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax:
@@ -2,7 +2,7 @@
* OpenERP base library
*---------------------------------------------------------*/
openerp.base.tree = function(openerp) {
openerp.base.view_tree = function(openerp) {
openerp.base.views.add('tree', 'openerp.base.TreeView');
openerp.base.TreeView = openerp.base.Controller.extend({
+17 -21
View File
@@ -81,6 +81,19 @@ openerp.base.ActionManager = openerp.base.Controller.extend({
}
});
openerp.base.ActionDialog = openerp.base.Dialog.extend({
identifier_prefix: 'action_dialog',
stop: function() {
this._super(this, arguments);
if (this.close_callback) {
this.close_callback();
}
if (this.viewmanager) {
this.viewmanager.stop();
}
}
});
openerp.base.ViewManager = openerp.base.Controller.extend({
init: function(parent, element_id, dataset, views) {
this._super(parent, element_id);
@@ -242,8 +255,10 @@ openerp.base.ViewManager = openerp.base.Controller.extend({
});
openerp.base.NullViewManager = openerp.base.generate_null_object_class(openerp.base.ViewManager, {
init: function() {
this._super();
init: function(parent) {
this._super(parent);
if(parent)
this.session = parent.session;
this.action = {flags: {}};
this.sidebar = new openerp.base.NullSidebar();
}
@@ -333,19 +348,6 @@ openerp.base.ViewManagerAction = openerp.base.ViewManager.extend({
}
});
openerp.base.ActionDialog = openerp.base.Dialog.extend({
identifier_prefix: 'action_dialog',
stop: function() {
this._super(this, arguments);
if (this.close_callback) {
this.close_callback();
}
if (this.viewmanager) {
this.viewmanager.stop();
}
}
});
openerp.base.Sidebar = openerp.base.BaseWidget.extend({
template: "ViewManager.sidebar",
init: function(parent, view_manager) {
@@ -490,12 +492,6 @@ openerp.base.View = openerp.base.Controller.extend({
*/
openerp.base.views = new openerp.base.Registry();
openerp.base.ProcessView = openerp.base.Controller.extend({
});
openerp.base.HelpView = openerp.base.Controller.extend({
});
openerp.base.json_node_to_xml = function(node, single_quote, indent) {
// For debugging purpose, this function will convert a json node back to xml
// Maybe usefull for xml view editor
+3 -3
View File
@@ -143,8 +143,8 @@
<div class="company_logo" />
</a>
<h1 class="header_title" t-if="session.session_is_valid()">
<span class="company">$company</span> - (<span class="database">$database</span>)<br/>
<small class="username">$username session_id: <t t-esc="session.session_id"/></small>
<span class="database"><t t-esc="session.db"/></span> - <t t-esc="session.login"/> <br/>
<small class="username">rpc_session_id: <t t-esc="session.session_id"/></small>
</h1>
<div class="header_corner">
<ul class="block" t-if="session.session_is_valid()">
@@ -521,7 +521,7 @@
<img src="/base/static/src/img/icons/gtk-index.png"/></span>
<div t-att-id="widget.cm_id" class="contextMenu" style="display:none"><ul>
<li t-att-id="widget.cm_id + '_open'" style="color:grey">Open...</li>
<li t-att-id="widget.cm_id + '_create'">Create and Edit...</li>
<li t-att-id="widget.cm_id + '_create'">Create...</li>
<li t-att-id="widget.cm_id + '_search'">Search...</li>
</ul></div>
</div>
+9 -1
View File
@@ -76,12 +76,20 @@ openerp.base_graph.GraphView = openerp.base.View.extend({
load_chart: function(data) {
var self = this;
var domain = false;
if(data){
this.x_title = this.all_fields[this.chart_info_fields]['string'];
this.y_title = this.all_fields[this.operator_field]['string'];
self.schedule_chart(data);
}else{
this.dataset.read_slice(this.fields, 0, false, function(res) {
if(! _.isEmpty(this.view_manager.dataset.domain)){
domain = this.view_manager.dataset.domain;
}else if(! _.isEmpty(this.view_manager.action.domain)){
domain = this.view_manager.action.domain;
}
this.dataset.domain = domain;
this.dataset.context = this.view_manager.dataset.context;
this.dataset.read_slice(_(this.fields).keys(), 0, false, function(res) {
self.schedule_chart(res);
});
}
@@ -1,6 +1,4 @@
<template>
<t t-name="GraphView">
<h2 class="oe_view_title"><t t-esc="fields_view.arch.attrs.string"/></h2>
<div t-att-id="elem_id+'-'+chart+'chart'" style="height:300px;position:relative;"></div>
</t>
</template>
<div t-name="GraphView" t-att-id="elem_id+'-'+chart+'chart'"
style="height:300px;position:relative;"/>
</template>