[MERGE] sync with latest trunk

bzr revid: mat@openerp.com-20130527085023-j1d452esdu4chy7d
This commit is contained in:
Martin Trigaux 2013-05-27 10:50:23 +02:00
commit 2036bf536c
8 changed files with 90 additions and 58 deletions

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
"PO-Revision-Date: 2013-03-16 17:27+0000\n"
"PO-Revision-Date: 2013-05-25 13:13+0000\n"
"Last-Translator: Erwin van der Ploeg (Endian Solutions) <Unknown>\n"
"Language-Team: Dutch <nl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-28 05:33+0000\n"
"X-Generator: Launchpad (build 16546)\n"
"X-Launchpad-Export-Date: 2013-05-26 05:39+0000\n"
"X-Generator: Launchpad (build 16640)\n"
#. module: base_import
#. openerp-web
@ -84,7 +84,7 @@ msgid ""
" record, defined by the ID postgresql column"
msgstr ""
"Land/Database ID: de unieke OpenERP ID voor een \n"
" record, gedefinieerd door de postgresql kolom id"
" record, gedefinieerd door de PostgreSQL kolom id"
#. module: base_import
#. openerp-web
@ -246,7 +246,7 @@ msgstr "Kan ik meerdere maken hetzelfde record importeren."
#: code:addons/base_import/static/src/xml/import.xml:15
#, python-format
msgid "Validate"
msgstr "Bevestigen"
msgstr "Valideren"
#. module: base_import
#. openerp-web
@ -358,9 +358,9 @@ msgid ""
msgstr ""
"Zoals u in dit bestand kunt zien, werken Fabien en Laurence\n"
" voor grote bedrijven (company_1) en Eric werkt\n"
" voor het nedrijf Organi. De relatie tussen de "
" voor het bedrijf Organi. De relatie tussen de "
"personen \n"
" en de bedrijven wordt egmaakt door gebruik te maken "
" en de bedrijven wordt gemaakt door gebruik te maken "
"van de \n"
" External ID van de bedrijven. We hebben een prefix "
"gemaakt voor de \n"
@ -455,7 +455,7 @@ msgstr ""
"\"Verkoopbaar\" (bijv. \"Div.\n"
" Producten / Verkoopbaar\" & \"Overige producten / "
"Verkoopbaar\"),\n"
" zal de import validate stoppen, maar u kunt nog "
" zal de import validatie stoppen, maar u kunt nog "
"steeds uw data importeren.\n"
" Toch raden wij u niet aan de data te importeren "
"omdat deze allemaal worden\n"
@ -1010,7 +1010,7 @@ msgid ""
"command:"
msgstr ""
"We zullen eerst alle bedrijven met de \n"
" \"External ID\" exproteren. In PSQL, schrijf het "
" \"External ID\" exporteren. In PSQL, schrijf het "
"volgende commando:"
#. module: base_import
@ -1211,8 +1211,8 @@ msgid ""
" import an other record that links to the first\n"
" one, use"
msgstr ""
"kolom in OpenERP. Waneer u\n"
" een ander record importeerd, welke verwijst naar de "
"kolom in OpenERP. Wanneer u\n"
" een ander record importeert, welke verwijst naar de "
"eerste\n"
" gebruik,"

View File

@ -8,35 +8,35 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:38+0000\n"
"PO-Revision-Date: 2012-12-21 23:00+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2013-05-24 05:55+0000\n"
"Last-Translator: Samuli Kivistö <samuli.kivisto@harppaus.fi>\n"
"Language-Team: Finnish <fi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-28 05:38+0000\n"
"X-Generator: Launchpad (build 16546)\n"
"X-Launchpad-Export-Date: 2013-05-25 06:27+0000\n"
"X-Generator: Launchpad (build 16640)\n"
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:67
#, python-format
msgid "Reason:"
msgstr ""
msgstr "Syy:"
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:60
#, python-format
msgid "The document has been successfully imported!"
msgstr ""
msgstr "Dokumentin tuonti onnistui!"
#. module: edi
#. openerp-web
#: code:addons/edi/static/src/js/edi.js:65
#, python-format
msgid "Sorry, the document could not be imported."
msgstr ""
msgstr "Dokumenttia ei voida tuoda."
#. module: edi
#: model:ir.model,name:edi.model_res_company
@ -53,13 +53,13 @@ msgstr "Valuutta"
#: code:addons/edi/static/src/js/edi.js:71
#, python-format
msgid "Document Import Notification"
msgstr ""
msgstr "Dokumentin tuonti-ilmoitus"
#. module: edi
#: code:addons/edi/models/edi.py:130
#, python-format
msgid "Missing application."
msgstr ""
msgstr "Sovellus puuttuu."
#. module: edi
#: code:addons/edi/models/edi.py:131
@ -69,6 +69,9 @@ msgid ""
"You can install it by connecting as the administrator and opening the "
"configuration assistant."
msgstr ""
"Dokumentti, jota yrität tuoda, vaatii OpenERP `%s` sovelluksen. Voit asentaa "
"puuttuvan sovelluksen, jos olet kirjautunut administraattorina, käyttämällä "
"konfigurointi assistenttia."
#. module: edi
#: code:addons/edi/models/edi.py:47
@ -84,4 +87,4 @@ msgstr "Kumppani"
#. module: edi
#: model:ir.model,name:edi.model_edi_edi
msgid "EDI Subsystem"
msgstr ""
msgstr "EDI Alijärjestelmä"

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:38+0000\n"
"PO-Revision-Date: 2013-03-07 18:51+0000\n"
"Last-Translator: Fekete Mihai <mihai@erpsystems.ro>\n"
"PO-Revision-Date: 2013-05-24 15:42+0000\n"
"Last-Translator: Simonel Criste <simi@erpsystems.ro>\n"
"Language-Team: Romanian <ro@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-03-28 05:38+0000\n"
"X-Generator: Launchpad (build 16546)\n"
"X-Launchpad-Export-Date: 2013-05-25 06:27+0000\n"
"X-Generator: Launchpad (build 16640)\n"
#. module: event
#: view:event.event:0
@ -1156,9 +1156,9 @@ msgid ""
" <p>Best regards</p>"
msgstr ""
"\n"
" <p>Buna ziua ${obiect.nume},</p>\n"
" <p>Confirmam faptul ca am inregistrat inregistrarea dumenavoastra la "
"eveniment. ${obiect.eveniment_id.nume}.\n"
" <p>Buna ziua ${object.name},</p>\n"
" <p>Confirmam faptul ca a fost facuta inregistrarea dumenavoastra la "
"eveniment. ${object.event_id.name} .\n"
" Veti primi automat un email care va ofera mai multe informatii "
"practice (precum programul, ordinea de zi...) de indata ce evenimentul este "
"confirmat.</p>\n"

View File

@ -163,24 +163,42 @@ openerp.hr_timesheet_sheet = function(instance) {
this.dfm = undefined;
}
},
is_valid_value:function(value){
var split_value = value.split(":");
var valid_value = true;
if (split_value.length > 2)
return false;
_.detect(split_value,function(num){
if(isNaN(num)){
valid_value = false;
}
});
return valid_value;
},
display_data: function() {
var self = this;
self.$el.html(QWeb.render("hr_timesheet_sheet.WeeklyTimesheet", {widget: self}));
_.each(self.accounts, function(account) {
_.each(_.range(account.days.length), function(day_count) {
if (!self.get('effective_readonly')) {
self.get_box(account, day_count).val(self.sum_box(account, day_count)).change(function() {
var num = Number($(this).val());
self.get_box(account, day_count).val(self.sum_box(account, day_count, true)).change(function() {
var num = $(this).val();
if (self.is_valid_value(num)){
num = (num == 0)?0:Number(self.parse_client(num));
}
if (isNaN(num)) {
$(this).val(self.sum_box(account, day_count));
$(this).val(self.sum_box(account, day_count, true));
} else {
account.days[day_count].lines[0].unit_amount += num - self.sum_box(account, day_count);
self.display_totals();
self.sync();
if(!isNaN($(this).val())){
$(this).val(self.sum_box(account, day_count, true));
}
}
});
} else {
self.get_box(account, day_count).html(self.sum_box(account, day_count));
self.get_box(account, day_count).html(self.sum_box(account, day_count, true));
}
});
});
@ -247,12 +265,12 @@ openerp.hr_timesheet_sheet = function(instance) {
get_super_total: function() {
return this.$('.oe_timesheet_weekly_supertotal');
},
sum_box: function(account, day_count) {
sum_box: function(account, day_count, show_value_in_hour) {
var line_total = 0;
_.each(account.days[day_count].lines, function(line) {
line_total += line.unit_amount;
});
return line_total;
return (show_value_in_hour && line_total != 0)?this.format_client(line_total):line_total;
},
display_totals: function() {
var self = this;
@ -266,12 +284,12 @@ openerp.hr_timesheet_sheet = function(instance) {
day_tots[day_count] += sum;
super_tot += sum;
});
self.get_total(account).html(acc_tot);
self.get_total(account).html(self.format_client(acc_tot));
});
_.each(_.range(self.dates.length), function(day_count) {
self.get_day_total(day_count).html(day_tots[day_count]);
self.get_day_total(day_count).html(self.format_client(day_tots[day_count]));
});
self.get_super_total().html(super_tot);
self.get_super_total().html(self.format_client(super_tot));
},
sync: function() {
var self = this;
@ -279,6 +297,14 @@ openerp.hr_timesheet_sheet = function(instance) {
self.set({sheets: this.generate_o2m_value()});
self.setting = false;
},
//converts hour value to float
parse_client: function(value) {
return instance.web.parse_value(value, { type:"float_time" });
},
//converts float value to hour
format_client:function(value){
return instance.web.format_value(value, { type:"float_time" });
},
generate_o2m_value: function() {
var self = this;
var ops = [];

View File

@ -850,9 +850,9 @@ openerp.mail = function (session) {
on_checked_recipient: function (event) {
var $input = $(event.target);
var email = $input.attr("data");
var full_name = $input.attr("data");
_.each(this.recipients, function (recipient) {
if (recipient.email_address == email) {
if (recipient.full_name == full_name) {
recipient.checked = $input.is(":checked");
}
});

View File

@ -143,7 +143,7 @@
<div class="oe_recipients" t-if="!widget.is_log">
<t t-foreach='widget.recipients' t-as='recipient'>
<label t-attf-title="Add as recipient and follower (reason: #{recipient.reason})">
<input type="checkbox" t-att-checked="recipient.checked ? 'checked' : undefined" t-att-data="recipient.email_address"/>
<input type="checkbox" t-att-checked="recipient.checked ? 'checked' : undefined" t-att-data="recipient.full_name"/>
<t t-raw="recipient.name"/>
<t t-if="recipient.email_address">(<t t-raw="recipient.email_address"/>)</t>
<t t-if="!recipient.email_address">(no email address)</t>

View File

@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2013-03-07 08:38+0000\n"
"PO-Revision-Date: 2013-05-22 16:37+0000\n"
"PO-Revision-Date: 2013-05-24 08:12+0000\n"
"Last-Translator: Quentin THEURET <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-05-23 06:19+0000\n"
"X-Launchpad-Export-Date: 2013-05-25 06:27+0000\n"
"X-Generator: Launchpad (build 16640)\n"
#. module: portal_crm
@ -40,27 +40,27 @@ msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,date_action:0
msgid "Next Action Date"
msgstr ""
msgstr "Date de la prochaine action"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,fax:0
msgid "Fax"
msgstr ""
msgstr "Fax"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,zip:0
msgid "Zip"
msgstr ""
msgstr "Code postal"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,message_unread:0
msgid "Unread Messages"
msgstr ""
msgstr "Messages non-lus"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,company_id:0
msgid "Company"
msgstr ""
msgstr "Société"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,day_open:0
@ -90,7 +90,7 @@ msgstr "Notes"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,message_ids:0
msgid "Messages"
msgstr ""
msgstr "Messages"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,color:0
@ -105,22 +105,22 @@ msgstr ""
#. module: portal_crm
#: field:portal_crm.crm_contact_us,partner_name:0
msgid "Customer Name"
msgstr ""
msgstr "Nom du client"
#. module: portal_crm
#: selection:portal_crm.crm_contact_us,state:0
msgid "Cancelled"
msgstr ""
msgstr "Annulé"
#. module: portal_crm
#: help:portal_crm.crm_contact_us,message_unread:0
msgid "If checked new messages require your attention."
msgstr ""
msgstr "Si coché, de nouveaux messages demandent votre attention."
#. module: portal_crm
#: help:portal_crm.crm_contact_us,channel_id:0
msgid "Communication channel (mail, direct, phone, ...)"
msgstr ""
msgstr "Canal de communication (courriel, direct, téléphone, etc.)"
#. module: portal_crm
#: field:portal_crm.crm_contact_us,type_id:0

View File

@ -23,7 +23,7 @@ from openerp.addons.base_status.base_stage import base_stage
from openerp.addons.project.project import _TASK_STATE
from openerp.addons.crm import crm
from datetime import datetime
from openerp.osv import fields,osv
from openerp.osv import fields, osv, orm
from openerp.tools.translate import _
import binascii
import time
@ -489,11 +489,14 @@ class project_issue(base_stage, osv.osv):
def message_get_suggested_recipients(self, cr, uid, ids, context=None):
recipients = super(project_issue, self).message_get_suggested_recipients(cr, uid, ids, context=context)
for issue in self.browse(cr, uid, ids, context=context):
if issue.partner_id:
self._message_add_suggested_recipient(cr, uid, recipients, issue, partner=issue.partner_id, reason=_('Customer'))
elif issue.email_from:
self._message_add_suggested_recipient(cr, uid, recipients, issue, email=issue.email_from, reason=_('Customer Email'))
try:
for issue in self.browse(cr, uid, ids, context=context):
if issue.partner_id:
self._message_add_suggested_recipient(cr, uid, recipients, issue, partner=issue.partner_id, reason=_('Customer'))
elif issue.email_from:
self._message_add_suggested_recipient(cr, uid, recipients, issue, email=issue.email_from, reason=_('Customer Email'))
except (osv.except_osv, orm.except_orm): # no read access rights -> just ignore suggested recipients because this imply modifying followers
pass
return recipients
def message_new(self, cr, uid, msg, custom_values=None, context=None):