Click to create a new document.
diff --git a/addons/hr_timesheet/hr_timesheet.py b/addons/hr_timesheet/hr_timesheet.py
index 5baf8ec262b..7aa7cbaba08 100644
--- a/addons/hr_timesheet/hr_timesheet.py
+++ b/addons/hr_timesheet/hr_timesheet.py
@@ -207,8 +207,8 @@ class account_analytic_account(osv.osv):
'use_timesheets': fields.boolean('Timesheets', help="Check this field if this project manages timesheets"),
}
- def on_change_template(self, cr, uid, ids, template_id, context=None):
- res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, context=context)
+ def on_change_template(self, cr, uid, ids, template_id, date_start=False, context=None):
+ res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, date_start=date_start, context=context)
if template_id and 'value' in res:
template = self.browse(cr, uid, template_id, context=context)
res['value']['use_timesheets'] = template.use_timesheets
diff --git a/addons/mail/mail_message_view.xml b/addons/mail/mail_message_view.xml
index e2d1deb028b..1c4a7f55c10 100644
--- a/addons/mail/mail_message_view.xml
+++ b/addons/mail/mail_message_view.xml
@@ -89,5 +89,36 @@
+
+ ir.attachment kanban
+ ir.attachment
+
+
+
+
+
+
+
+
+
+
+
bb
+
+
+
+
aa
+
+
+
+
+
+
+
+
+ kanban,form
+
+
+
+
-
\ No newline at end of file
+
diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css
index 614077b65a2..5a51bce04d9 100644
--- a/addons/mail/static/src/css/mail.css
+++ b/addons/mail/static/src/css/mail.css
@@ -318,7 +318,7 @@
.openerp .oe_mail .oe_msg_composer .oe_recipients input{
vertical-align: middle;
}
-.openerp .oe_mail .oe_attachment{
+.oe_attachment{
display: inline-block;
width: 100px;
margin: 4px 2px;
@@ -328,7 +328,7 @@
text-align: center;
vertical-align: top;
}
-.openerp .oe_mail .oe_attachment .oe_name{
+.oe_attachment .oe_name{
display: inline-block;
max-width: 100%;
padding: 1px 3px;
@@ -341,10 +341,10 @@
border-radius: 3px;
}
-.openerp .oe_mail .oe_attachment.oe_preview{
+.oe_attachment.oe_preview{
background: url( data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAJ0lEQVQYV2MsLS39z4AGLCws0IUYGIeCwrVr12J45sSJE5ieGQIKAbuZKf/EMCs7AAAAAElFTkSuQmCC );
}
-.openerp .oe_mail .oe_attachment .oe_progress_bar{
+.oe_attachment .oe_progress_bar{
display: none;
position: absolute;
top: 18px;
@@ -364,7 +364,7 @@
-o-animation: oe_mail_attach_loading_anim 0.75s infinite linear;
animation: oe_mail_attach_loading_anim 0.75s infinite linear;
}
-.openerp .oe_mail .oe_attachment.oe_uploading .oe_progress_bar{
+.oe_attachment.oe_uploading .oe_progress_bar{
display: block;
}
@-webkit-keyframes oe_mail_attach_loading_anim{
@@ -387,7 +387,7 @@
50% { background: #009123 }
100% { background: #4BBD00 }
}
-.openerp .oe_mail .oe_attachment.oe_preview .oe_name{
+.oe_attachment.oe_preview .oe_name{
position: absolute;
bottom: 0px;
margin: 3px;
@@ -405,14 +405,14 @@
-o-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
-.openerp .oe_mail .oe_attachment.oe_preview:hover .oe_name{
+.oe_attachment.oe_preview:hover .oe_name{
opacity: 1;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
-.openerp .oe_mail .oe_attachment img{
+.oe_attachment img{
position: absolute;
width: 48px;
height: 48px;
@@ -420,7 +420,7 @@
left: 50%;
margin-left: -24px;
}
-.openerp .oe_mail .oe_attachment.oe_preview img{
+.oe_attachment.oe_preview img{
display: block;
position: relative;
margin:0px;
diff --git a/addons/project/project.py b/addons/project/project.py
index f6bd55c2fb6..9dcf069a856 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -223,7 +223,7 @@ class project(osv.osv):
'res_model': 'ir.attachment',
'type': 'ir.actions.act_window',
'view_id': False,
- 'view_mode': 'tree,form',
+ 'view_mode': 'kanban,form',
'view_type': 'form',
'limit': 80,
'context': "{'default_res_model': '%s','default_res_id': %d}" % (self._name, res_id)
@@ -1202,8 +1202,8 @@ class account_analytic_account(osv.osv):
'company_uom_id': fields.related('company_id', 'project_time_mode_id', type='many2one', relation='product.uom'),
}
- def on_change_template(self, cr, uid, ids, template_id, context=None):
- res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, context=context)
+ def on_change_template(self, cr, uid, ids, template_id, date_start=False, context=None):
+ res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, date_start=date_start, context=context)
if template_id and 'value' in res:
template = self.browse(cr, uid, template_id, context=context)
res['value']['use_tasks'] = template.use_tasks
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index 6f072f5abd1..84abc33a7e6 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -530,8 +530,8 @@ class account_analytic_account(osv.Model):
'use_issues': fields.boolean('Issues', help="Check this field if this project manages issues"),
}
- def on_change_template(self, cr, uid, ids, template_id, context=None):
- res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, context=context)
+ def on_change_template(self, cr, uid, ids, template_id, date_start=False, context=None):
+ res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, date_start=date_start, context=context)
if template_id and 'value' in res:
template = self.browse(cr, uid, template_id, context=context)
res['value']['use_issues'] = template.use_issues
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index a950907fb69..29e94591094 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -273,8 +273,8 @@ class account_analytic_account(osv.osv):
'use_phases': fields.boolean('Phases', help="Check this field if you plan to use phase-based scheduling"),
}
- def on_change_template(self, cr, uid, ids, template_id, context=None):
- res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, context=context)
+ def on_change_template(self, cr, uid, ids, template_id, date_start=False, context=None):
+ res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, date_start=date_start, context=context)
if template_id and 'value' in res:
template = self.browse(cr, uid, template_id, context=context)
res['value']['use_phases'] = template.use_phases
diff --git a/addons/survey/views/survey_views.xml b/addons/survey/views/survey_views.xml
index 1fd3ea3015a..5aefd8d261c 100644
--- a/addons/survey/views/survey_views.xml
+++ b/addons/survey/views/survey_views.xml
@@ -125,18 +125,15 @@
-
-
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
@@ -145,16 +142,15 @@
-
+
-
-
+
+
diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py
index 9872db219ec..1711bddcfce 100644
--- a/addons/website/controllers/main.py
+++ b/addons/website/controllers/main.py
@@ -206,7 +206,7 @@ class Website(openerp.addons.web.controllers.main.Home):
views_ids = [view.get('id') for view in views if view.get('active')]
domain = [('type', '=', 'view'), ('res_id', 'in', views_ids), ('lang', '=', lang)]
irt = request.registry.get('ir.translation')
- return irt.search_read(request.cr, request.uid, domain, ['id', 'res_id', 'value'], context=request.context)
+ return irt.search_read(request.cr, request.uid, domain, ['id', 'res_id', 'value','state','gengo_translation'], context=request.context)
@http.route('/website/set_translations', type='json', auth='public', website=True)
def set_translations(self, data, lang):
@@ -240,6 +240,9 @@ class Website(openerp.addons.web.controllers.main.Home):
'source': initial_content,
'value': new_content,
}
+ if t.get('gengo_translation'):
+ new_trans['gengo_translation'] = t.get('gengo_translation')
+ new_trans['gengo_comment'] = t.get('gengo_comment')
irt.create(request.cr, request.uid, new_trans)
return True
diff --git a/addons/website/static/src/js/website.translator.js b/addons/website/static/src/js/website.translator.js
index 44e2117a7f0..e88b1e4a6b6 100644
--- a/addons/website/static/src/js/website.translator.js
+++ b/addons/website/static/src/js/website.translator.js
@@ -34,11 +34,17 @@
dialog.$el.modal('hide');
self.translate().then(function () {
mysuper.call(self);
+ if(self.gengo_translate){
+ self.translation_gengo_display()
+ }
});
});
} else {
this.translate().then(function () {
mysuper.call(self);
+ if(self.gengo_translate){
+ self.translation_gengo_display()
+ }
});
}
},
@@ -68,7 +74,7 @@
var source_attr = 'data-oe-source-id';
var $editables = $('[data-oe-model="ir.ui.view"]')
.not('link, script')
- .not('.oe_snippets,.oe_snippet, .oe_snippet *')
+ .not('.oe_snippets,.oe_snippet, .oe_snippet *, .navbar-toggle')
.not('[data-oe-type]');
$editables.each(function () {
@@ -92,7 +98,7 @@
self.sanitizeNode($node[0]);
}
if (self.getInitialContent($node[0]) !== $node.text()) {
- $node.addClass('oe_dirty').removeClass('oe_translatable_todo');
+ $node.addClass('oe_dirty').removeClass('oe_translatable_todo oe_translatable_inprogress');
}
}, 0);
});
@@ -119,6 +125,9 @@
});
if (trans.length) {
node.setAttribute('data-oe-translation-id', trans[0].id);
+ if(trans[0].gengo_translation && (trans[0].state == 'inprogress' || trans[0].state == 'to_translate')){
+ node.className += ' oe_translatable_inprogress';
+ }
} else {
node.className += ' oe_translatable_todo';
}
diff --git a/addons/website/static/src/xml/website.translator.xml b/addons/website/static/src/xml/website.translator.xml
index d1d9ab14a39..480489ad9b3 100644
--- a/addons/website/static/src/xml/website.translator.xml
+++ b/addons/website/static/src/xml/website.translator.xml
@@ -38,7 +38,7 @@