[MERGE] with lp:openerp-web

bzr revid: ggh@tinyerp.com-20130417062304-d4hpvmsvm3pay4g0
This commit is contained in:
ggh-openerp 2013-04-17 11:53:04 +05:30
commit d11391c575
330 changed files with 23695 additions and 22348 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-11 05:00+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
"X-Generator: Launchpad (build 16523)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web #. module: web
#. openerp-web #. openerp-web

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2105,6 +2105,9 @@
.openerp .oe_form_invisible { .openerp .oe_form_invisible {
display: none !important; display: none !important;
} }
.openerp .oe_form_editable .oe_read_only {
display: none !important;
}
.openerp .oe_form_readonly .oe_edit_only, .openerp .oe_form_readonly .oe_form_field:empty { .openerp .oe_form_readonly .oe_edit_only, .openerp .oe_form_readonly .oe_form_field:empty {
display: none !important; display: none !important;
} }
@ -2309,6 +2312,30 @@
display: inline-block; display: inline-block;
min-width: 70px; min-width: 70px;
} }
.openerp .oe_form_field_radio.oe_horizontal {
white-space: nowrap;
}
.openerp .oe_form_field_radio.oe_form_required .oe_radio_input {
border: 1px solid transparent;
display: inline-block;
height: 12px;
width: 12px;
vertical-align: bottom;
border-radius: 10px;
margin: 1px 0;
}
.openerp .oe_form_field_radio.oe_form_required.oe_form_invalid .oe_radio_input {
border-color: red;
}
.openerp .oe_form_field_radio.oe_horizontal label,
.openerp .oe_form_field_radio.oe_horizontal div {
display: inline-block;
text-align: center;
height: 16px;
}
.openerp .oe_form_field_radio.oe_vertical label {
margin-left: 4px;
}
.openerp .oe_form_field_progressbar.ui-progressbar { .openerp .oe_form_field_progressbar.ui-progressbar {
height: 22px; height: 22px;
font-size: 10px; font-size: 10px;
@ -2379,6 +2406,7 @@
background: white; background: white;
min-width: 60px; min-width: 60px;
color: #1f1f1f; color: #1f1f1f;
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif;
} }
.openerp .oe_form input[readonly], .openerp .oe_form select[readonly], .openerp .oe_form textarea[readonly], .openerp .oe_form input[disabled], .openerp .oe_form select[disabled] { .openerp .oe_form input[readonly], .openerp .oe_form select[readonly], .openerp .oe_form textarea[readonly], .openerp .oe_form input[disabled], .openerp .oe_form select[disabled] {
background: #e5e5e5 !important; background: #e5e5e5 !important;
@ -2393,6 +2421,7 @@
-moz-border-radius: 0px; -moz-border-radius: 0px;
-webkit-border-radius: 0px; -webkit-border-radius: 0px;
border-radius: 0px; border-radius: 0px;
color: #4c4c4c;
} }
.openerp .oe_form textarea.oe_inline[disabled] { .openerp .oe_form textarea.oe_inline[disabled] {
border-left: 8px solid #eeeeee; border-left: 8px solid #eeeeee;
@ -3152,6 +3181,14 @@
.kitten-mode-activated > * { .kitten-mode-activated > * {
opacity: 0.7; opacity: 0.7;
} }
.loading-kitten {
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
border-radius: 15px;
-moz-box-shadow: 0 0 5px 5px #999999;
-webkit-box-shadow: 0 0 5px 5px #999999;
box-shadow: 0 0 5px 5px #999999;
}
div.ui-widget-overlay { div.ui-widget-overlay {
background: black; background: black;

View File

@ -480,7 +480,28 @@ $sheet-padding: 16px
.oe_tag_dark .oe_tag_dark
background: $tag-bg-dark background: $tag-bg-dark
color: #eee color: #eee
.oe_form_field_radio
&.oe_horizontal
white-space: nowrap
label
display: inline-block
text-align: center
height: 16px
&.oe_vertical
label
margin-left: 4px
&.oe_form_required
.oe_radio_input
border: 2px solid transparent
display: inline-block
height: 12px
width: 12px
vertical-align: bottom
border-radius: 10px
margin: 1px 0
&.oe_form_invalid
.oe_radio_input
border-color: red
.oe_tags .oe_tags
&.oe_inline &.oe_inline
min-width: 250px min-width: 250px
@ -1664,6 +1685,9 @@ $sheet-padding: 16px
@include box-shadow((0 1px 2px rgba(0, 0, 0, .1), 0 1px 1px rgba(255, 255, 255, .8) inset)) @include box-shadow((0 1px 2px rgba(0, 0, 0, .1), 0 1px 1px rgba(255, 255, 255, .8) inset))
.oe_form_invisible .oe_form_invisible
display: none !important display: none !important
.oe_form_editable
.oe_read_only
display: none !important
.oe_form_readonly .oe_form_readonly
.oe_edit_only, .oe_form_field:empty .oe_edit_only, .oe_form_field:empty
display: none !important display: none !important
@ -1884,6 +1908,7 @@ $sheet-padding: 16px
background: white background: white
min-width: 60px min-width: 60px
color: #1f1f1f color: #1f1f1f
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif
input[readonly], select[readonly], textarea[readonly], input[disabled], select[disabled] input[readonly], select[readonly], textarea[readonly], input[disabled], select[disabled]
background: #E5E5E5 !important background: #E5E5E5 !important
color: #666 color: #666
@ -1892,6 +1917,7 @@ $sheet-padding: 16px
padding-left: 8px padding-left: 8px
@include box-shadow(none) @include box-shadow(none)
@include radius(0px) @include radius(0px)
color: #4c4c4c
textarea.oe_inline[disabled] textarea.oe_inline[disabled]
border-left: 8px solid #eee border-left: 8px solid #eee
.oe_form_field_url button img .oe_form_field_url button img
@ -2482,6 +2508,9 @@ $sheet-padding: 16px
background-attachment: fixed background-attachment: fixed
>* >*
opacity: 0.70 opacity: 0.70
.loading-kitten
@include radius(15px)
@include box-shadow(0 0 5px 5px #999)
// }}} // }}}
// jQueryUI top level {{{ // jQueryUI top level {{{

View File

@ -1257,7 +1257,8 @@ instance.web.WebClient = instance.web.Client.extend({
$("body").addClass("kitten-mode-activated"); $("body").addClass("kitten-mode-activated");
$("body").css("background-image", "url(" + instance.session.origin + "/web/static/src/img/back-enable.jpg" + ")"); $("body").css("background-image", "url(" + instance.session.origin + "/web/static/src/img/back-enable.jpg" + ")");
if ($.blockUI) { if ($.blockUI) {
$.blockUI.defaults.message = '<img src="http://www.amigrave.com/kitten.gif">'; var imgkit = Math.floor(Math.random() * 2 + 1);
$.blockUI.defaults.message = '<img src="http://www.amigrave.com/loading-kitten/' + imgkit + '.gif" class="loading-kitten">';
} }
} }
if (!self.session.session_is_valid()) { if (!self.session.session_is_valid()) {

View File

@ -969,7 +969,10 @@ instance.web.CompoundContext = instance.web.Class.extend({
}, },
get_eval_context: function () { get_eval_context: function () {
return this.__eval_context; return this.__eval_context;
} },
eval: function() {
return instance.web.pyeval.eval('context', this, undefined, {no_user_context: true});
},
}); });
instance.web.CompoundDomain = instance.web.Class.extend({ instance.web.CompoundDomain = instance.web.Class.extend({
@ -992,7 +995,10 @@ instance.web.CompoundDomain = instance.web.Class.extend({
}, },
get_eval_context: function() { get_eval_context: function() {
return this.__eval_context; return this.__eval_context;
} },
eval: function() {
return instance.web.pyeval.eval('domain', this);
},
}); });
instance.web.DropMisordered = instance.web.Class.extend({ instance.web.DropMisordered = instance.web.Class.extend({

View File

@ -502,12 +502,15 @@ openerp.web.pyeval = function (instance) {
return py.PY_call(py.PY_getAttr(d, 'strftime'), [args.format]); return py.PY_call(py.PY_getAttr(d, 'strftime'), [args.format]);
}); });
var args = _.map(('year month day hour minute second microsecond '
+ 'years months weeks days hours minutes secondes microseconds '
+ 'weekday leakdays yearday nlyearday').split(' '), function (arg) {
return [arg, null]
});
args.unshift('*');
var relativedelta = py.type('relativedelta', null, { var relativedelta = py.type('relativedelta', null, {
__init__: function () { __init__: function () {
this.ops = py.PY_parseArgs(arguments, this.ops = py.PY_parseArgs(arguments, args);
'* year month day hour minute second microsecond '
+ 'years months weeks days hours minutes secondes microseconds '
+ 'weekday leakdays yearday nlyearday');
}, },
__add__: function (other) { __add__: function (other) {
if (!py.PY_isInstance(other, datetime.date)) { if (!py.PY_isInstance(other, datetime.date)) {
@ -600,7 +603,7 @@ openerp.web.pyeval = function (instance) {
}); });
var eval_contexts = function (contexts, evaluation_context) { var eval_contexts = function (contexts, evaluation_context) {
evaluation_context = evaluation_context || {}; evaluation_context = _.extend(instance.web.pyeval.context(), evaluation_context || {});
return _(contexts).reduce(function (result_context, ctx) { return _(contexts).reduce(function (result_context, ctx) {
// __eval_context evaluations can lead to some of `contexts`'s // __eval_context evaluations can lead to some of `contexts`'s
// values being null, skip them as well as empty contexts // values being null, skip them as well as empty contexts
@ -625,9 +628,10 @@ openerp.web.pyeval = function (instance) {
// siblings // siblings
_.extend(evaluation_context, evaluated); _.extend(evaluation_context, evaluated);
return _.extend(result_context, evaluated); return _.extend(result_context, evaluated);
}, _.extend({}, instance.session.user_context)); }, {});
}; };
var eval_domains = function (domains, evaluation_context) { var eval_domains = function (domains, evaluation_context) {
evaluation_context = _.extend(instance.web.pyeval.context(), evaluation_context || {});
var result_domain = []; var result_domain = [];
_(domains).each(function (domain) { _(domains).each(function (domain) {
if (_.isString(domain)) { if (_.isString(domain)) {
@ -654,6 +658,7 @@ openerp.web.pyeval = function (instance) {
return result_domain; return result_domain;
}; };
var eval_groupbys = function (contexts, evaluation_context) { var eval_groupbys = function (contexts, evaluation_context) {
evaluation_context = _.extend(instance.web.pyeval.context(), evaluation_context || {});
var result_group = []; var result_group = [];
_(contexts).each(function (ctx) { _(contexts).each(function (ctx) {
if (_.isString(ctx)) { if (_.isString(ctx)) {
@ -704,14 +709,15 @@ openerp.web.pyeval = function (instance) {
* @param {Array} object domains or contexts to evaluate * @param {Array} object domains or contexts to evaluate
* @param {Object} [context] evaluation context * @param {Object} [context] evaluation context
*/ */
instance.web.pyeval.eval = function (type, object, context) { instance.web.pyeval.eval = function (type, object, context, options) {
options = options || {};
context = _.extend(instance.web.pyeval.context(), context || {}); context = _.extend(instance.web.pyeval.context(), context || {});
context['context'] = py.dict.fromJSON(context); context['context'] = py.dict.fromJSON(context);
//noinspection FallthroughInSwitchStatementJS //noinspection FallthroughInSwitchStatementJS
switch(type) { switch(type) {
case 'context': object = [object]; case 'context': object = [object];
case 'contexts': return eval_contexts(object, context); case 'contexts': return eval_contexts((options.no_user_context ? [] : [instance.session.user_context]).concat(object), context);
case 'domain': object = [object]; case 'domain': object = [object];
case 'domains': return eval_domains(object, context); case 'domains': return eval_domains(object, context);
case 'groupbys': return eval_groupbys(object, context); case 'groupbys': return eval_groupbys(object, context);

View File

@ -382,6 +382,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
model: this.dataset._model, model: this.dataset._model,
view_id: this.view_id, view_id: this.view_id,
view_type: 'search', view_type: 'search',
context: this.dataset.get_context(),
}); });
$.when(load_view).then(function (r) { $.when(load_view).then(function (r) {

View File

@ -2804,6 +2804,99 @@ instance.web.form.FieldSelection = instance.web.form.AbstractField.extend(instan
} }
}); });
instance.web.form.FieldRadio = instance.web.form.AbstractField.extend(instance.web.form.ReinitializeFieldMixin, {
template: 'FieldRadio',
events: {
'click input': 'click_change_value'
},
init: function(field_manager, node) {
/* Radio button widget: Attributes options:
* - "horizontal" to display in column
* - "no_radiolabel" don't display text values
*/
this._super(field_manager, node);
this.selection = _.clone(this.field.selection) || [];
this.domain = false;
},
initialize_content: function () {
this.uniqueId = _.uniqueId("radio");
this.on("change:effective_readonly", this, this.render_value);
this.field_manager.on("view_content_has_changed", this, this.get_selection);
this.get_selection();
},
click_change_value: function (event) {
var val = $(event.target).val();
val = this.field.type == "selection" ? val : +val;
if (val == this.get_value()) {
this.set_value(false);
} else {
this.set_value(val);
}
},
/** Get the selection and render it
* selection: [[identifier, value_to_display], ...]
* For selection fields: this is directly given by this.field.selection
* For many2one fields: perform a search on the relation of the many2one field
*/
get_selection: function() {
var self = this;
var selection = [];
var def = $.Deferred();
if (self.field.type == "many2one") {
var domain = instance.web.pyeval.eval('domain', this.build_domain()) || [];
if (! _.isEqual(self.domain, domain)) {
self.domain = domain;
var ds = new instance.web.DataSet(self, self.field.relation);
ds.call('search', [self.domain])
.then(function (records) {
ds.name_get(records).then(function (records) {
selection = records;
def.resolve();
});
});
} else {
selection = self.selection;
def.resolve();
}
}
else if (self.field.type == "selection") {
selection = self.field.selection || [];
def.resolve();
}
return def.then(function () {
if (! _.isEqual(selection, self.selection)) {
self.selection = _.clone(selection);
self.renderElement();
self.render_value();
}
});
},
set_value: function (value_) {
if (value_) {
if (this.field.type == "selection") {
value_ = _.find(this.field.selection, function (sel) { return sel[0] == value_});
}
else if (!this.selection.length) {
this.selection = [value_];
}
}
this._super(value_);
},
get_value: function () {
var value = this.get('value');
return value instanceof Array ? value[0] : value;
},
render_value: function () {
var self = this;
this.$el.toggleClass("oe_readonly", this.get('effective_readonly'));
this.$("input:checked").prop("checked", false);
if (this.get_value()) {
this.$("input").filter(function () {return this.value == self.get_value()}).prop("checked", true);
this.$(".oe_radio_readonly").text(this.get('value') ? this.get('value')[1] : "");
}
}
});
// jquery autocomplete tweak to allow html and classnames // jquery autocomplete tweak to allow html and classnames
(function() { (function() {
var proto = $.ui.autocomplete.prototype, var proto = $.ui.autocomplete.prototype,
@ -3277,7 +3370,8 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
res_model: self.field.relation, res_model: self.field.relation,
res_id: self.get("value"), res_id: self.get("value"),
views: [[false, 'form']], views: [[false, 'form']],
target: 'current' target: 'current',
context: self.build_context().eval(),
}); });
return false; return false;
}); });
@ -5294,11 +5388,6 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
var self = this; var self = this;
var content = QWeb.render("FieldStatus.content", {widget: self}); var content = QWeb.render("FieldStatus.content", {widget: self});
self.$el.html(content); self.$el.html(content);
var colors = JSON.parse((self.node.attrs || {}).statusbar_colors || "{}");
var color = colors[self.get('value')];
if (color) {
self.$("oe_active").css("color", color);
}
}, },
calc_domain: function() { calc_domain: function() {
var d = instance.web.pyeval.eval('domain', this.build_domain()); var d = instance.web.pyeval.eval('domain', this.build_domain());
@ -5422,6 +5511,7 @@ instance.web.form.widgets = new instance.web.Registry({
'date' : 'instance.web.form.FieldDate', 'date' : 'instance.web.form.FieldDate',
'datetime' : 'instance.web.form.FieldDatetime', 'datetime' : 'instance.web.form.FieldDatetime',
'selection' : 'instance.web.form.FieldSelection', 'selection' : 'instance.web.form.FieldSelection',
'radio' : 'instance.web.form.FieldRadio',
'many2one' : 'instance.web.form.FieldMany2One', 'many2one' : 'instance.web.form.FieldMany2One',
'many2onebutton' : 'instance.web.form.Many2OneButton', 'many2onebutton' : 'instance.web.form.Many2OneButton',
'many2many' : 'instance.web.form.FieldMany2Many', 'many2many' : 'instance.web.form.FieldMany2Many',

View File

@ -662,13 +662,6 @@ instance.web.ViewManager = instance.web.Widget.extend({
}, },
add_breadcrumb: function(options) { add_breadcrumb: function(options) {
var options = options || {}; var options = options || {};
// 7.0 backward compatibility
if (typeof options == 'function') {
options = {
on_reverse_breadcrumb: options
};
}
// end of 7.0 backward compatibility
var self = this; var self = this;
var views = [this.active_view || this.views_src[0].view_type]; var views = [this.active_view || this.views_src[0].view_type];
this.on('switch_mode', self, function(mode) { this.on('switch_mode', self, function(mode) {
@ -1282,6 +1275,7 @@ instance.web.View = instance.web.Widget.extend({
"view_id": this.view_id, "view_id": this.view_id,
"view_type": this.view_type, "view_type": this.view_type,
"toolbar": !!this.options.$sidebar, "toolbar": !!this.options.$sidebar,
"context": this.dataset.get_context(),
}); });
} }
return view_loaded_def.then(function(r) { return view_loaded_def.then(function(r) {
@ -1370,7 +1364,7 @@ instance.web.View = instance.web.Widget.extend({
} else if (action_data.type=="action") { } else if (action_data.type=="action") {
return this.rpc('/web/action/load', { return this.rpc('/web/action/load', {
action_id: action_data.name, action_id: action_data.name,
context: instance.web.pyeval.eval('context', context), context: _.extend({'active_model': dataset.model, 'active_ids': dataset.ids, 'active_id': record_id}, instance.web.pyeval.eval('context', context)),
do_not_eval: true do_not_eval: true
}).then(handler); }).then(handler);
} else { } else {
@ -1458,7 +1452,7 @@ instance.web.View = instance.web.Widget.extend({
is_action_enabled: function(action) { is_action_enabled: function(action) {
var attrs = this.fields_view.arch.attrs; var attrs = this.fields_view.arch.attrs;
return (action in attrs) ? JSON.parse(attrs[action]) : true; return (action in attrs) ? JSON.parse(attrs[action]) : true;
} },
}); });
/** /**
@ -1496,7 +1490,7 @@ instance.web.fields_view_get = function(args) {
if (typeof model === 'string') { if (typeof model === 'string') {
model = new instance.web.Model(args.model, args.context); model = new instance.web.Model(args.model, args.context);
} }
return args.model.call('fields_view_get', [args.view_id, args.view_type, model.context(), args.toolbar]).then(function(fvg) { return args.model.call('fields_view_get', [args.view_id, args.view_type, args.context, args.toolbar]).then(function(fvg) {
return postprocess(fvg); return postprocess(fvg);
}); });
}; };

View File

@ -40,7 +40,7 @@
<td> <td>
<p> <p>
<t t-js="d"> <t t-js="d">
var message = d.message ? d.message : d.error.data.fault_code; var message = d.message ? d.message : d.error.data.message;
d.html_error = context.engine.tools.html_escape(message) d.html_error = context.engine.tools.html_escape(message)
.replace(/\n/g, '<br/>'); .replace(/\n/g, '<br/>');
</t> </t>
@ -125,7 +125,7 @@
<tr> <tr>
<td><label for="super_admin_pwd">Master password:</label></td> <td><label for="super_admin_pwd">Master password:</label></td>
<td> <td>
<input type="text" name="super_admin_pwd" class="required" value="admin"/> <input type="password" name="super_admin_pwd" class="required" value="admin"/>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -1111,6 +1111,34 @@
</select> </select>
</span> </span>
</t> </t>
<t t-name="FieldRadio">
<span t-attf-class="oe_form_field oe_form_field_radio #{widget.options.horizontal ? 'oe_horizontal' : 'oe_vertical'}" t-att-style="widget.node.attrs.style">
<span t-if="!widget.get('effective_readonly')">
<t t-if="widget.options.horizontal">
<t t-set="width" t-value="Math.floor(100 / widget.selection.length)"/>
<t t-if="!widget.options.no_radiolabel">
<t t-foreach="widget.selection" t-as="selection">
<label t-att-for="widget.uniqueId + '_' + selection[0]" t-att-style="'width: ' + width + '%;'"><t t-esc="selection[1]"/></label>
</t>
<br/>
</t>
<t t-foreach="widget.selection" t-as="selection">
<div t-att-style="'width: ' + width + '%;'">
<span class="oe_radio_input"><input type="radio" t-att-name="widget.uniqueId" t-att-id="widget.uniqueId + '_' + selection[0]" t-att-value="selection[0]"/></span>
</div>
</t>
</t>
<t t-if="!widget.options.horizontal">
<t t-foreach="widget.selection" t-as="selection">
<div>
<span class="oe_radio_input"><input type="radio" t-att-id="widget.uniqueId + '_' + selection[0]" t-att-name="widget.uniqueId" t-att-value="selection[0]"/></span><label t-if="!widget.options.no_radiolabel" t-att-for="widget.uniqueId + '_' + selection[0]"><t t-esc="selection[1]"/></label>
</div>
</t>
</t>
</span>
<span t-if="widget.get('effective_readonly')" class="oe_radio_readonly"><t t-esc="widget.get('value')[1]"/></span>
</span>
</t>
<t t-name="FieldMany2One"> <t t-name="FieldMany2One">
<span class="oe_form_field oe_form_field_many2one oe_form_field_with_button" t-att-style="widget.node.attrs.style"> <span class="oe_form_field oe_form_field_many2one oe_form_field_with_button" t-att-style="widget.node.attrs.style">
<t t-if="widget.get('effective_readonly')"> <t t-if="widget.get('effective_readonly')">

View File

@ -259,6 +259,12 @@ openerp.testing.section('eval.types', {
py.eval('a + a', ctx); py.eval('a + a', ctx);
}, /^Error: TypeError:/); }, /^Error: TypeError:/);
}); });
test('relastivedelta', function (instance) {
strictEqual(
py.eval("(datetime.date(2012, 2, 15) + relativedelta(days=-1)).strftime('%Y-%m-%d 23:59:59')",
instance.web.pyeval.context()),
"2012-02-14 23:59:59");
})
}); });
openerp.testing.section('eval.edc', { openerp.testing.section('eval.edc', {
dependencies: ['web.data'], dependencies: ['web.data'],

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
"X-Poedit-Language: Czech\n" "X-Poedit-Language: Czech\n"
#. module: web_calendar #. module: web_calendar

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
"Language: es\n" "Language: es\n"
#. module: web_calendar #. module: web_calendar

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,29 +14,29 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:153 #: code:addons/web_calendar/static/src/js/calendar.js:153
#, python-format #, python-format
msgid "New event" msgid "New event"
msgstr "" msgstr "Uusi tapahtuma"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:156 #: code:addons/web_calendar/static/src/js/calendar.js:156
#, python-format #, python-format
msgid "Details" msgid "Details"
msgstr "" msgstr "Tiedot"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:154 #: code:addons/web_calendar/static/src/js/calendar.js:154
#, python-format #, python-format
msgid "Save" msgid "Save"
msgstr "" msgstr "Tallenna"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -50,21 +50,21 @@ msgstr ""
#: code:addons/web_calendar/static/src/js/calendar.js:149 #: code:addons/web_calendar/static/src/js/calendar.js:149
#, python-format #, python-format
msgid "Today" msgid "Today"
msgstr "" msgstr "Tänään"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:151 #: code:addons/web_calendar/static/src/js/calendar.js:151
#, python-format #, python-format
msgid "Week" msgid "Week"
msgstr "" msgstr "Viikko"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:163 #: code:addons/web_calendar/static/src/js/calendar.js:163
#, python-format #, python-format
msgid "Full day" msgid "Full day"
msgstr "" msgstr "Koko päivä"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -72,14 +72,14 @@ msgstr ""
#: code:addons/web_calendar/static/src/js/calendar.js:174 #: code:addons/web_calendar/static/src/js/calendar.js:174
#, python-format #, python-format
msgid "Description" msgid "Description"
msgstr "" msgstr "Kuvaus"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:160 #: code:addons/web_calendar/static/src/js/calendar.js:160
#, python-format #, python-format
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr "Tapahtuma poistetaan pysyvästi, oletko varma?"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -94,7 +94,7 @@ msgstr "&nbsp;"
#: code:addons/web_calendar/static/src/js/calendar.js:173 #: code:addons/web_calendar/static/src/js/calendar.js:173
#, python-format #, python-format
msgid "Date" msgid "Date"
msgstr "" msgstr "Päivämäärä"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -108,42 +108,42 @@ msgstr ""
#: code:addons/web_calendar/static/src/js/calendar.js:150 #: code:addons/web_calendar/static/src/js/calendar.js:150
#, python-format #, python-format
msgid "Day" msgid "Day"
msgstr "" msgstr "Päivä"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:157 #: code:addons/web_calendar/static/src/js/calendar.js:157
#, python-format #, python-format
msgid "Edit" msgid "Edit"
msgstr "" msgstr "Muokkaa"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:169 #: code:addons/web_calendar/static/src/js/calendar.js:169
#, python-format #, python-format
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr "Käytössä"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:166 #: code:addons/web_calendar/static/src/js/calendar.js:166
#, python-format #, python-format
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr "Haluatko muuttaa kaikki toistuvat tapahtumat?"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:82 #: code:addons/web_calendar/static/src/js/calendar.js:82
#, python-format #, python-format
msgid "Filter" msgid "Filter"
msgstr "" msgstr "Suodatin"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:167 #: code:addons/web_calendar/static/src/js/calendar.js:167
#, python-format #, python-format
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr "Toista tapahtuma"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -151,14 +151,14 @@ msgstr ""
#: code:addons/web_calendar/static/src/js/calendar.js:180 #: code:addons/web_calendar/static/src/js/calendar.js:180
#, python-format #, python-format
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr "Esityslista"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:162 #: code:addons/web_calendar/static/src/js/calendar.js:162
#, python-format #, python-format
msgid "Time period" msgid "Time period"
msgstr "" msgstr "Aikajakso"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -43,7 +43,7 @@ msgstr "Зачувај"
#: code:addons/web_calendar/static/src/js/calendar.js:101 #: code:addons/web_calendar/static/src/js/calendar.js:101
#, python-format #, python-format
msgid "Calendar view has a 'date_delay' type != float" msgid "Calendar view has a 'date_delay' type != float"
msgstr "" msgstr "Календар приказот има 'date_delay' type != float"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -79,7 +79,7 @@ msgstr "Опис"
#: code:addons/web_calendar/static/src/js/calendar.js:160 #: code:addons/web_calendar/static/src/js/calendar.js:160
#, python-format #, python-format
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "Ивентот ќе биде избришан перманентно, Дали сте сигурни?" msgstr "Настанот ќе биде избришан трајно, Дали сте сигурни?"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -122,7 +122,7 @@ msgstr "Измени"
#: code:addons/web_calendar/static/src/js/calendar.js:169 #: code:addons/web_calendar/static/src/js/calendar.js:169
#, python-format #, python-format
msgid "Enabled" msgid "Enabled"
msgstr "Вклучено" msgstr "Овозможено"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -214,7 +214,7 @@ msgstr "Календар"
#: code:addons/web_calendar/static/src/js/calendar.js:93 #: code:addons/web_calendar/static/src/js/calendar.js:93
#, python-format #, python-format
msgid "Calendar view has not defined 'date_start' attribute." msgid "Calendar view has not defined 'date_start' attribute."
msgstr "" msgstr "Каленарскиот приказ нема дефинирано 'date_start' атрибут."
#~ msgid "Navigator" #~ msgid "Navigator"
#~ msgstr "Навигатор" #~ msgstr "Навигатор"

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

View File

@ -14,29 +14,29 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-07 05:26+0000\n" "X-Launchpad-Export-Date: 2013-04-13 05:38+0000\n"
"X-Generator: Launchpad (build 16514)\n" "X-Generator: Launchpad (build 16564)\n"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:153 #: code:addons/web_calendar/static/src/js/calendar.js:153
#, python-format #, python-format
msgid "New event" msgid "New event"
msgstr "" msgstr "Nytt arrangement"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:156 #: code:addons/web_calendar/static/src/js/calendar.js:156
#, python-format #, python-format
msgid "Details" msgid "Details"
msgstr "" msgstr "Detaljer"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:154 #: code:addons/web_calendar/static/src/js/calendar.js:154
#, python-format #, python-format
msgid "Save" msgid "Save"
msgstr "" msgstr "Lagre"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -50,21 +50,21 @@ msgstr ""
#: code:addons/web_calendar/static/src/js/calendar.js:149 #: code:addons/web_calendar/static/src/js/calendar.js:149
#, python-format #, python-format
msgid "Today" msgid "Today"
msgstr "" msgstr "I dag."
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:151 #: code:addons/web_calendar/static/src/js/calendar.js:151
#, python-format #, python-format
msgid "Week" msgid "Week"
msgstr "" msgstr "Uke"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:163 #: code:addons/web_calendar/static/src/js/calendar.js:163
#, python-format #, python-format
msgid "Full day" msgid "Full day"
msgstr "" msgstr "Full dag"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -72,14 +72,14 @@ msgstr ""
#: code:addons/web_calendar/static/src/js/calendar.js:174 #: code:addons/web_calendar/static/src/js/calendar.js:174
#, python-format #, python-format
msgid "Description" msgid "Description"
msgstr "" msgstr "Beskrivelse"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:160 #: code:addons/web_calendar/static/src/js/calendar.js:160
#, python-format #, python-format
msgid "Event will be deleted permanently, are you sure?" msgid "Event will be deleted permanently, are you sure?"
msgstr "" msgstr "Arrangementet vil bli slettet permanent, er du sikker?"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -94,7 +94,7 @@ msgstr "&nbsp;"
#: code:addons/web_calendar/static/src/js/calendar.js:173 #: code:addons/web_calendar/static/src/js/calendar.js:173
#, python-format #, python-format
msgid "Date" msgid "Date"
msgstr "" msgstr "Dato"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -108,28 +108,28 @@ msgstr ""
#: code:addons/web_calendar/static/src/js/calendar.js:150 #: code:addons/web_calendar/static/src/js/calendar.js:150
#, python-format #, python-format
msgid "Day" msgid "Day"
msgstr "" msgstr "Dag"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:157 #: code:addons/web_calendar/static/src/js/calendar.js:157
#, python-format #, python-format
msgid "Edit" msgid "Edit"
msgstr "" msgstr "Rediger"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:169 #: code:addons/web_calendar/static/src/js/calendar.js:169
#, python-format #, python-format
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr "Aktivert"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:166 #: code:addons/web_calendar/static/src/js/calendar.js:166
#, python-format #, python-format
msgid "Do you want to edit the whole set of repeated events?" msgid "Do you want to edit the whole set of repeated events?"
msgstr "" msgstr "Vil du redigere hele settet av gjentatte arrangementer?"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -143,7 +143,7 @@ msgstr ""
#: code:addons/web_calendar/static/src/js/calendar.js:167 #: code:addons/web_calendar/static/src/js/calendar.js:167
#, python-format #, python-format
msgid "Repeat event" msgid "Repeat event"
msgstr "" msgstr "Repeter arrangement"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -151,35 +151,35 @@ msgstr ""
#: code:addons/web_calendar/static/src/js/calendar.js:180 #: code:addons/web_calendar/static/src/js/calendar.js:180
#, python-format #, python-format
msgid "Agenda" msgid "Agenda"
msgstr "" msgstr "dagsorden"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:162 #: code:addons/web_calendar/static/src/js/calendar.js:162
#, python-format #, python-format
msgid "Time period" msgid "Time period"
msgstr "" msgstr "Tidsperiode"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:158 #: code:addons/web_calendar/static/src/js/calendar.js:158
#, python-format #, python-format
msgid "Delete" msgid "Delete"
msgstr "" msgstr "Slett"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:152 #: code:addons/web_calendar/static/src/js/calendar.js:152
#, python-format #, python-format
msgid "Month" msgid "Month"
msgstr "" msgstr "Måned"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:168 #: code:addons/web_calendar/static/src/js/calendar.js:168
#, python-format #, python-format
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr "Deaktivert"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
@ -193,14 +193,14 @@ msgstr ""
#: code:addons/web_calendar/static/src/js/calendar.js:177 #: code:addons/web_calendar/static/src/js/calendar.js:177
#, python-format #, python-format
msgid "Year" msgid "Year"
msgstr "" msgstr "År"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web
#: code:addons/web_calendar/static/src/js/calendar.js:155 #: code:addons/web_calendar/static/src/js/calendar.js:155
#, python-format #, python-format
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr "Avbryt"
#. module: web_calendar #. module: web_calendar
#. openerp-web #. openerp-web

Some files were not shown because too many files have changed in this diff Show More