[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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-11 05:00+0000\n"
"X-Generator: Launchpad (build 16523)\n"
"X-Launchpad-Export-Date: 2013-04-13 05:37+0000\n"
"X-Generator: Launchpad (build 16564)\n"
#. module: 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 {
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 {
display: none !important;
}
@ -2309,6 +2312,30 @@
display: inline-block;
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 {
height: 22px;
font-size: 10px;
@ -2379,6 +2406,7 @@
background: white;
min-width: 60px;
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] {
background: #e5e5e5 !important;
@ -2393,6 +2421,7 @@
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
color: #4c4c4c;
}
.openerp .oe_form textarea.oe_inline[disabled] {
border-left: 8px solid #eeeeee;
@ -3152,6 +3181,14 @@
.kitten-mode-activated > * {
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 {
background: black;

View File

@ -480,7 +480,28 @@ $sheet-padding: 16px
.oe_tag_dark
background: $tag-bg-dark
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_inline
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))
.oe_form_invisible
display: none !important
.oe_form_editable
.oe_read_only
display: none !important
.oe_form_readonly
.oe_edit_only, .oe_form_field:empty
display: none !important
@ -1884,6 +1908,7 @@ $sheet-padding: 16px
background: white
min-width: 60px
color: #1f1f1f
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif
input[readonly], select[readonly], textarea[readonly], input[disabled], select[disabled]
background: #E5E5E5 !important
color: #666
@ -1892,6 +1917,7 @@ $sheet-padding: 16px
padding-left: 8px
@include box-shadow(none)
@include radius(0px)
color: #4c4c4c
textarea.oe_inline[disabled]
border-left: 8px solid #eee
.oe_form_field_url button img
@ -2482,6 +2508,9 @@ $sheet-padding: 16px
background-attachment: fixed
>*
opacity: 0.70
.loading-kitten
@include radius(15px)
@include box-shadow(0 0 5px 5px #999)
// }}}
// jQueryUI top level {{{

View File

@ -1257,7 +1257,8 @@ instance.web.WebClient = instance.web.Client.extend({
$("body").addClass("kitten-mode-activated");
$("body").css("background-image", "url(" + instance.session.origin + "/web/static/src/img/back-enable.jpg" + ")");
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()) {

View File

@ -969,7 +969,10 @@ instance.web.CompoundContext = instance.web.Class.extend({
},
get_eval_context: function () {
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({
@ -992,7 +995,10 @@ instance.web.CompoundDomain = instance.web.Class.extend({
},
get_eval_context: function() {
return this.__eval_context;
}
},
eval: function() {
return instance.web.pyeval.eval('domain', this);
},
});
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]);
});
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, {
__init__: function () {
this.ops = py.PY_parseArgs(arguments,
'* year month day hour minute second microsecond '
+ 'years months weeks days hours minutes secondes microseconds '
+ 'weekday leakdays yearday nlyearday');
this.ops = py.PY_parseArgs(arguments, args);
},
__add__: function (other) {
if (!py.PY_isInstance(other, datetime.date)) {
@ -600,7 +603,7 @@ openerp.web.pyeval = function (instance) {
});
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) {
// __eval_context evaluations can lead to some of `contexts`'s
// values being null, skip them as well as empty contexts
@ -625,9 +628,10 @@ openerp.web.pyeval = function (instance) {
// siblings
_.extend(evaluation_context, evaluated);
return _.extend(result_context, evaluated);
}, _.extend({}, instance.session.user_context));
}, {});
};
var eval_domains = function (domains, evaluation_context) {
evaluation_context = _.extend(instance.web.pyeval.context(), evaluation_context || {});
var result_domain = [];
_(domains).each(function (domain) {
if (_.isString(domain)) {
@ -654,6 +658,7 @@ openerp.web.pyeval = function (instance) {
return result_domain;
};
var eval_groupbys = function (contexts, evaluation_context) {
evaluation_context = _.extend(instance.web.pyeval.context(), evaluation_context || {});
var result_group = [];
_(contexts).each(function (ctx) {
if (_.isString(ctx)) {
@ -704,14 +709,15 @@ openerp.web.pyeval = function (instance) {
* @param {Array} object domains or contexts to evaluate
* @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['context'] = py.dict.fromJSON(context);
//noinspection FallthroughInSwitchStatementJS
switch(type) {
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 'domains': return eval_domains(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,
view_id: this.view_id,
view_type: 'search',
context: this.dataset.get_context(),
});
$.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
(function() {
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_id: self.get("value"),
views: [[false, 'form']],
target: 'current'
target: 'current',
context: self.build_context().eval(),
});
return false;
});
@ -5294,11 +5388,6 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
var self = this;
var content = QWeb.render("FieldStatus.content", {widget: self});
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() {
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',
'datetime' : 'instance.web.form.FieldDatetime',
'selection' : 'instance.web.form.FieldSelection',
'radio' : 'instance.web.form.FieldRadio',
'many2one' : 'instance.web.form.FieldMany2One',
'many2onebutton' : 'instance.web.form.Many2OneButton',
'many2many' : 'instance.web.form.FieldMany2Many',

View File

@ -662,13 +662,6 @@ instance.web.ViewManager = instance.web.Widget.extend({
},
add_breadcrumb: function(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 views = [this.active_view || this.views_src[0].view_type];
this.on('switch_mode', self, function(mode) {
@ -1282,6 +1275,7 @@ instance.web.View = instance.web.Widget.extend({
"view_id": this.view_id,
"view_type": this.view_type,
"toolbar": !!this.options.$sidebar,
"context": this.dataset.get_context(),
});
}
return view_loaded_def.then(function(r) {
@ -1370,7 +1364,7 @@ instance.web.View = instance.web.Widget.extend({
} else if (action_data.type=="action") {
return this.rpc('/web/action/load', {
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
}).then(handler);
} else {
@ -1458,7 +1452,7 @@ instance.web.View = instance.web.Widget.extend({
is_action_enabled: function(action) {
var attrs = this.fields_view.arch.attrs;
return (action in attrs) ? JSON.parse(attrs[action]) : true;
}
},
});
/**
@ -1496,7 +1490,7 @@ instance.web.fields_view_get = function(args) {
if (typeof model === 'string') {
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);
});
};

View File

@ -40,7 +40,7 @@
<td>
<p>
<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)
.replace(/\n/g, '<br/>');
</t>
@ -125,7 +125,7 @@
<tr>
<td><label for="super_admin_pwd">Master password:</label></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>
</tr>
<tr>
@ -1111,6 +1111,34 @@
</select>
</span>
</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">
<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')">

View File

@ -259,6 +259,12 @@ openerp.testing.section('eval.types', {
py.eval('a + a', ctx);
}, /^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', {
dependencies: ['web.data'],

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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