mirror of https://github.com/OCA/web.git
[IMP] web_translate_dialog: Allow to use it on a list inside a record
parent
167db197a2
commit
442ebe182e
|
@ -27,11 +27,16 @@ var TranslateDialog = Dialog.extend({
|
||||||
var field_names;
|
var field_names;
|
||||||
var single_field = false;
|
var single_field = false;
|
||||||
if (options.field){
|
if (options.field){
|
||||||
|
this.record_id = options.field.id;
|
||||||
|
var record = parent.model.get(options.field.id)
|
||||||
|
this.model = record.model;
|
||||||
field_names = [options.field.fieldName];
|
field_names = [options.field.fieldName];
|
||||||
single_field = true;
|
single_field = true;
|
||||||
title_string = title_string.replace('/', field_names);
|
title_string = title_string.replace('/', field_names);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
this.record_id = parent.handle;
|
||||||
|
this.model = parent.modelName;
|
||||||
field_names = this.get_translatable_fields(parent);
|
field_names = this.get_translatable_fields(parent);
|
||||||
}
|
}
|
||||||
this._super(parent,
|
this._super(parent,
|
||||||
|
@ -168,7 +173,7 @@ var TranslateDialog = Dialog.extend({
|
||||||
var def = $.Deferred();
|
var def = $.Deferred();
|
||||||
deferred.push(def);
|
deferred.push(def);
|
||||||
rpc.query({
|
rpc.query({
|
||||||
model: this.view.modelName,
|
model: this.model,
|
||||||
method: 'get_field_translations',
|
method: 'get_field_translations',
|
||||||
args: [
|
args: [
|
||||||
[this.res_id],
|
[this.res_id],
|
||||||
|
@ -207,7 +212,7 @@ var TranslateDialog = Dialog.extend({
|
||||||
|
|
||||||
var context = new Context(session.user_context, {lang: code});
|
var context = new Context(session.user_context, {lang: code});
|
||||||
rpc.query({
|
rpc.query({
|
||||||
model: self.view.modelName,
|
model: self.model,
|
||||||
method: 'write',
|
method: 'write',
|
||||||
args: [self.res_id, text],
|
args: [self.res_id, text],
|
||||||
kwargs: {context: context.eval()}
|
kwargs: {context: context.eval()}
|
||||||
|
@ -215,9 +220,13 @@ var TranslateDialog = Dialog.extend({
|
||||||
done.resolve();
|
done.resolve();
|
||||||
});
|
});
|
||||||
if (code === self.view_language) {
|
if (code === self.view_language) {
|
||||||
|
var changes = {};
|
||||||
_.each(text, function(value, key) {
|
_.each(text, function(value, key) {
|
||||||
var view_elem = self.view.$( ":input[name='" + key +"']")
|
changes[key] = value;
|
||||||
view_elem.val(value).trigger('change');
|
});
|
||||||
|
self.trigger_up('field_changed', {
|
||||||
|
dataPointID: self.record_id,
|
||||||
|
changes: changes,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return done;
|
return done;
|
||||||
|
|
Loading…
Reference in New Issue