[IMP] improved statistics, added sendbox options for testing, improved UI

bzr revid: pga@tinyerp.com-20140320071028-adyh8d89o7dij81o
This commit is contained in:
Parth Gajjar (Open ERP) 2014-03-20 12:40:28 +05:30
parent b8d87606f0
commit b7a68828ed
7 changed files with 36 additions and 14 deletions

View File

@ -30,6 +30,7 @@ class res_company(osv.Model):
"gengo_public_key": fields.text("Gengo Public Key"),
"gengo_comment": fields.text("Comments", help="This comment will be automatically be enclosed in each an every request sent to Gengo"),
"gengo_auto_approve": fields.boolean("Auto Approve Translation ?", help="Jobs are Automatically Approved by Gengo."),
"gengo_sandbox": fields.boolean("Sandbox", help="Enable if you using testing account"),
}
_defaults = {

View File

@ -17,8 +17,13 @@
<field name="gengo_private_key" password="True" nolabel="1" placeholder="Add Gengo login Private Key..."/>
</group>
</group>
<group col="4">
<field name="gengo_auto_approve"/>
<group>
<group>
<field name="gengo_auto_approve"/>
</group>
<group>
<field name="gengo_sandbox"/>
</group>
</group>
<group string="Comments for Translator" col="1">
<field name="gengo_comment" nolabel="1" placeholder="Add your comments here for translator...."/>

View File

@ -74,7 +74,7 @@ class base_gengo_translations(osv.osv_memory):
gengo = MyGengo(
public_key=user.company_id.gengo_public_key.encode('ascii'),
private_key=user.company_id.gengo_private_key.encode('ascii'),
sandbox = True,
sandbox = user.company_id.gengo_sandbox,
)
gengo.getAccountStats()
return (True, gengo)

View File

@ -119,7 +119,7 @@
console.log(this.translations);
if (trans.length) {
node.setAttribute('data-oe-translation-id', trans[0].id);
if(trans[0].state && trans[0].state == 'inprogress'){
if(trans[0].state && (trans[0].state == 'inprogress' || trans[0].state == 'to_translate')){
node.className += ' oe_translatable_inprogress';
}
} else {

View File

@ -14,6 +14,6 @@ class website_gengo(http.Controller):
result['total'] += len(trans.source.split())
if trans.state == 'translated':
result['done'] += len(trans.source.split())
elif trans.state == 'inprogress':
elif trans.state in ['inprogress','to_translate']:
result['inprogess'] += len(trans.source.split())
return result

View File

@ -9,6 +9,7 @@
'click a[data-action=translation_gengo]': 'translation_gengo',
'click a[data-action=translation_gengo_post]': 'translation_gengo_post',
'click a[data-action=translation_gengo_info]': 'translation_gengo_info',
'click a[data-action=reload]': 'reload',
}),
start: function () {
this.gengo_translate = false;
@ -32,12 +33,12 @@
self.translate().then(function () {
self.gengo_translate = false;
if($('.oe_translatable_todo').length > 0){
self.$el.find('.gengo_translate').addClass("hidden");
self.$el.find('.gengo_post').removeClass("hidden");
self.$el.find('form.navbar-form.navbar-left > *').addClass("hidden");
self.$el.find('.gengo_post,.gengo_info,.gengo_discard').removeClass("hidden");
}
else{
self.$el.find('.gengo_translate').addClass("hidden");
self.$el.find('.gengo_inprogress').removeClass("hidden");
self.$el.find('form.navbar-form.navbar-left > *').addClass("hidden");
self.$el.find('.gengo_inprogress,.gengo_info,.gengo_discard').removeClass("hidden");
}
});
@ -71,6 +72,8 @@
openerp.jsonRpc('/website/set_translations', 'call', {
'data': trans,
'lang': website.get_context()['lang'],
}).done(function(){
$('.oe_translatable_todo').addClass('oe_translatable_inprogress').removeClass('oe_translatable_todo');
});
});
@ -87,6 +90,9 @@
});
},
reload: function () {
website.reload();
},
});
website.GengoTranslatorDialog = openerp.Widget.extend({
@ -121,9 +127,14 @@
}),
template: 'website.GengoTranslatorStatisticDialog',
init:function(res){
var self = this;
this.total = res.total;
this.inprogess = res.inprogess;
this.done = res.done;
this.new_words = 0;
$('.oe_translatable_todo').each(function () {
self.new_words += $(this).text().split(" ").length;
});
return this._super.apply(this, arguments);
},
start: function (res) {

View File

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<templates id="template" xml:space="preserve">
<t t-name="website.ButtonGengoTranslator">
<a class="btn btn-danger gengo_translate" data-action="translation_gengo" href="#">Buy Translation</a><a class="btn btn-danger hidden gengo_post" data-action="translation_gengo_post" href="#">Post to Gengo</a><a class="btn btn-danger hidden gengo_inprogress disabled" href="#"> <i class="fa fa-clock-o"></i> Translation in Progress</a><a class="btn btn-danger" data-action="translation_gengo_info"><i class="fa fa-info-circle"></i></a>
<a class="btn btn-danger gengo_translate" data-action="translation_gengo" href="#">Gengo Translation</a>
<a class="btn btn-danger hidden gengo_post" data-action="translation_gengo_post" href="#">Post to Gengo</a><a class="btn btn-danger hidden gengo_inprogress disabled" href="#"> <i class="fa fa-clock-o"></i> Translation in Progress</a><a class="btn btn-danger gengo_info hidden" data-action="translation_gengo_info"><i class="fa fa-info-circle"></i></a>
<span class="gengo_discard hidden"> or <a href="#" data-action="reload">Discard</a></span>
</t>
<t t-name="website.GengoTranslatorDialog">
<div class="modal fade oe_website_translator" tabindex="-1" role="dialog">
@ -78,15 +80,18 @@
<div class="modal-content">
<div class="modal-header">
<button title="Close" type="button" class="close" data-dismiss="modal">×</button>
<h2 class="modal-title">Gengo translator statistic for this page</h2>
<h2 class="modal-title">Translator statistics for this page</h2>
</div>
<div class="modal-body">
<b><h3>
<div class="text-info mb8"> <i class="fa fa-align-left"></i> Words to translate <t t-esc="widget.total"></t></div>
<b>
<div class="text-muted mb16"> <i class="fa fa-search-plus"></i> <t t-esc="widget.new_words"></t> new words found on this page.</div>
<h4><i class="fa fa-dashboard"></i> Gengo Statistics <a href="https://gengo.com/c/dashboard" class="pull-right" target="new">Gengo Dashboard</a></h4>
<hr class="mt8"/>
<div class="text-info mb8"> <i class="fa fa-align-left"></i> Words posted for translate <t t-esc="widget.total"></t></div>
<div class="text-warning mb8"> <i class="fa fa-cogs"></i> Words in progress <t t-esc="widget.inprogess"></t></div>
<div class="text-success mb8"> <i class="fa fa-check"></i> Translated words <t t-esc="widget.done"></t></div>
</h3></b>
</b>
</div>
<div class="modal-footer">
<a data-action="discard" data-dismiss="modal" href="#">Close</a>