diff --git a/addons/account_analytic_default/i18n/hu.po b/addons/account_analytic_default/i18n/hu.po index 557aa2e66f5..8b863f51679 100644 --- a/addons/account_analytic_default/i18n/hu.po +++ b/addons/account_analytic_default/i18n/hu.po @@ -7,15 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:35+0000\n" -"PO-Revision-Date: 2011-02-01 18:11+0000\n" -"Last-Translator: NOVOTRADE RENDSZERHÁZ ( novotrade.hu ) " -"\n" +"PO-Revision-Date: 2012-10-09 13:58+0000\n" +"Last-Translator: krnkris \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:22+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-10-10 04:44+0000\n" +"X-Generator: Launchpad (build 16112)\n" #. module: account_analytic_default #: help:account.analytic.default,partner_id:0 @@ -134,12 +133,14 @@ msgstr "Gyűjtőkód alapértelmezések" #. module: account_analytic_default #: sql_constraint:stock.picking:0 msgid "Reference must be unique per Company!" -msgstr "" +msgstr "Minden vállalkozáshoz egyedi hivatkozás kell!" #. module: account_analytic_default #: view:account.analytic.default:0 msgid "Analytical defaults whose end date is greater than today or None" msgstr "" +"A mai napnál későbbi lejáratú vagy nem létező dátumú elemzések " +"alapértelmezései" #. module: account_analytic_default #: help:account.analytic.default,product_id:0 diff --git a/addons/account_budget/i18n/hu.po b/addons/account_budget/i18n/hu.po index c48392c7c8a..35df6ac7dc9 100644 --- a/addons/account_budget/i18n/hu.po +++ b/addons/account_budget/i18n/hu.po @@ -7,15 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:35+0000\n" -"PO-Revision-Date: 2011-01-30 16:38+0000\n" -"Last-Translator: NOVOTRADE RENDSZERHÁZ ( novotrade.hu ) " -"\n" +"PO-Revision-Date: 2012-10-09 13:49+0000\n" +"Last-Translator: krnkris \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:27+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-10-10 04:44+0000\n" +"X-Generator: Launchpad (build 16112)\n" #. module: account_budget #: field:crossovered.budget,creating_user_id:0 @@ -105,6 +104,7 @@ msgid "Percentage" msgstr "Százalék" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:crossovered.budget.report:0 msgid "to" msgstr "-" @@ -138,21 +138,24 @@ msgstr "" #: code:addons/account_budget/account_budget.py:119 #, python-format msgid "The Budget '%s' has no accounts!" -msgstr "" +msgstr "A '%s' költségvetésnek nincs számlaszáma!" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "%" msgstr "%" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Description" msgstr "Leírás" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:crossovered.budget.report:0 msgid "Currency" msgstr "Pénznem" @@ -187,6 +190,7 @@ msgid "Planned Amount" msgstr "Tervezett összeg" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Perc(%)" @@ -199,6 +203,7 @@ msgid "Done" msgstr "Kész" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Practical Amt" @@ -259,7 +264,7 @@ msgstr "Üzleti terv" #. module: account_budget #: view:crossovered.budget:0 msgid "To Approve Budgets" -msgstr "" +msgstr "Költségvetés jóváhagyása" #. module: account_budget #: code:addons/account_budget/account_budget.py:119 @@ -333,6 +338,7 @@ msgid "Account Budget crossvered summary report" msgstr "Üzleti terv összesítő kimutatás" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Theoretical Amt" @@ -359,9 +365,10 @@ msgstr "Nyomtatás" #: view:crossovered.budget:0 #: field:crossovered.budget.lines,theoritical_amount:0 msgid "Theoretical Amount" -msgstr "" +msgstr "Elméleti mennyiség" #. module: account_budget +#: report:account.analytic.account.budget:0 #: field:crossovered.budget.lines,analytic_account_id:0 #: model:ir.model,name:account_budget.model_account_analytic_account msgid "Analytic Account" @@ -373,6 +380,7 @@ msgid "Budget :" msgstr "Üzleti terv :" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Planned Amt" @@ -413,6 +421,7 @@ msgid "Error! You can not create recursive analytic accounts." msgstr "Hiba! Nem hozhat létre rekurzív gyűjtőkódokat." #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Analysis from" @@ -421,7 +430,7 @@ msgstr "Elemzési időszak" #. module: account_budget #: view:crossovered.budget:0 msgid "Draft Budgets" -msgstr "" +msgstr "Előzetes, tervezett költségvetés" #, python-format #~ msgid "The General Budget '%s' has no Accounts!" diff --git a/addons/account_budget/i18n/lo.po b/addons/account_budget/i18n/lo.po index daa39b8a6e6..cbc81b84000 100644 --- a/addons/account_budget/i18n/lo.po +++ b/addons/account_budget/i18n/lo.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-08 00:35+0000\n" -"PO-Revision-Date: 2011-01-19 15:50+0000\n" +"PO-Revision-Date: 2012-10-09 16:05+0000\n" "Last-Translator: Brice Muangkhot ສຸພາ ເມືອງໂຄຕ \n" "Language-Team: Lao \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-08-28 06:27+0000\n" -"X-Generator: Launchpad (build 15864)\n" +"X-Launchpad-Export-Date: 2012-10-10 04:44+0000\n" +"X-Generator: Launchpad (build 16112)\n" #. module: account_budget #: field:crossovered.budget,creating_user_id:0 @@ -31,7 +31,7 @@ msgstr "ຮັບຮູ້ເເລັວ" #: model:ir.actions.act_window,name:account_budget.open_budget_post_form #: model:ir.ui.menu,name:account_budget.menu_budget_post_form msgid "Budgetary Positions" -msgstr "ຈຸດງົບປະມານ" +msgstr "ຕໍາແຫນ່ງງົບປະມານ" #. module: account_budget #: report:account.budget:0 @@ -105,6 +105,7 @@ msgid "Percentage" msgstr "ເປີເຊັນ" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:crossovered.budget.report:0 msgid "to" msgstr "ຫາ" @@ -126,6 +127,14 @@ msgid "" "revenue per analytic account and monitor its evolution based on the actuals " "realised during that period." msgstr "" +"ງົບປະມານແມ່ນຄາດຄະເນລາຍໄດ້ຂອງບໍລິສັດຂອງທ່ານແລະຄ່າໃຊ້ຈ່າຍຄາດວ່າຈະສໍາລັບໄລຍະເວລາ" +"ໃນອະນາຄົດໄດ້. ມີງົບປະມານ, " +"ບໍລິສັດສາມາດລະມັດລະວັງເບິ່ງວິທີການເງິນຫຼາຍປານເຂົາເຈົ້າໄດ້ຖືກກິນໃນໄລຍະເວລາໃນໄລ" +"ຍະໃດຫນຶ່ງ, ແລະສະວິທີທີ່ດີທີ່ສຸດເພື່ອແບ່ງມັນໃນບັນດາປະເພດຂອງລາຍການຕ່າງໆ. " +"ໂດຍການຮັກສາຕິດຕາມບ່ອນທີ່ເງິນຂອງທ່ານດີ, ທ່ານອາດຈະມີຫນ້ອຍອາດຈະ overspend, " +"ແລະອື່ນໆທີ່ອາດຈະຕອບສະຫນອງໄດ້ຕາມເປົ້າຫມາຍທາງດ້ານການເງິນຂອງທ່ານ. " +"ຄາດງົບປະມານໂດຍ detailing ລາຍຮັບຄາດວ່າຈະຕໍ່ບັນຊີແຍກທາດແລະຕິດຕາມກວດກາຂອງຕົນ " +"evolution ອີງຕາມຕົວຈິງໃນ realized ໃນໄລຍະນັ້ນ." #. module: account_budget #: code:addons/account_budget/account_budget.py:119 @@ -134,18 +143,21 @@ msgid "The Budget '%s' has no accounts!" msgstr "" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "%" msgstr "" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Description" msgstr "ຄຳອະທິບາຍ" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:crossovered.budget.report:0 msgid "Currency" msgstr "ເງິນຕາ" @@ -170,7 +182,7 @@ msgstr "ເພື່ອຮັບຮູ້" #. module: account_budget #: view:crossovered.budget:0 msgid "Reset to Draft" -msgstr "" +msgstr "ປັບກັບຮ່າງ" #. module: account_budget #: view:account.budget.post:0 @@ -180,6 +192,7 @@ msgid "Planned Amount" msgstr "ຈໍານວນຄາດໝາຍມ້ຽນ" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Perc(%)" @@ -192,6 +205,7 @@ msgid "Done" msgstr "ຈົບເເລັວ" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Practical Amt" @@ -203,7 +217,7 @@ msgstr "" #: view:crossovered.budget:0 #: field:crossovered.budget.lines,practical_amount:0 msgid "Practical Amount" -msgstr "" +msgstr "ຈໍານວນເງິນປະຕິບັດໄດ້" #. module: account_budget #: field:crossovered.budget,date_to:0 @@ -292,7 +306,7 @@ msgstr "" #. module: account_budget #: selection:crossovered.budget,state:0 msgid "Cancelled" -msgstr "" +msgstr "ຍົກເລີກ" #. module: account_budget #: view:crossovered.budget:0 @@ -326,6 +340,7 @@ msgid "Account Budget crossvered summary report" msgstr "" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Theoretical Amt" @@ -355,6 +370,7 @@ msgid "Theoretical Amount" msgstr "" #. module: account_budget +#: report:account.analytic.account.budget:0 #: field:crossovered.budget.lines,analytic_account_id:0 #: model:ir.model,name:account_budget.model_account_analytic_account msgid "Analytic Account" @@ -366,6 +382,7 @@ msgid "Budget :" msgstr "ງົບປະມານ" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Planned Amt" @@ -406,6 +423,7 @@ msgid "Error! You can not create recursive analytic accounts." msgstr "" #. module: account_budget +#: report:account.analytic.account.budget:0 #: report:account.budget:0 #: report:crossovered.budget.report:0 msgid "Analysis from" diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 7e33f397e8a..48c6491a7c3 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -26,6 +26,7 @@ from osv import fields, osv import time import tools from tools.translate import _ +from tools import html2plaintext from base.res.res_partner import format_address @@ -812,9 +813,11 @@ class crm_lead(base_stage, format_address, osv.osv): This override updates the document according to the email. """ if custom_values is None: custom_values = {} + + desc = html2plaintext(msg.get('body')) if msg.get('body') else '' custom_values.update({ 'name': msg.get('subject') or _("No Subject"), - 'description': msg.get('body'), + 'description': desc, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), 'user_id': False, diff --git a/addons/crm_claim/crm_claim.py b/addons/crm_claim/crm_claim.py index cbf3ec9f13a..c88b2fe26af 100644 --- a/addons/crm_claim/crm_claim.py +++ b/addons/crm_claim/crm_claim.py @@ -26,6 +26,7 @@ from osv import fields, osv import time import tools from tools.translate import _ +from tools import html2plaintext CRM_CLAIM_PENDING_STATES = ( crm.AVAILABLE_STATES[2][0], # Cancelled @@ -192,9 +193,10 @@ class crm_claim(base_stage, osv.osv): This override updates the document according to the email. """ if custom_values is None: custom_values = {} + desc = html2plaintext(msg.get('body')) if msg.get('body') else '' custom_values.update({ 'name': msg.get('subject') or _("No Subject"), - 'description': msg.get('body'), + 'description': desc, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), }) diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py index f36a3b72640..ceffd282aa8 100644 --- a/addons/crm_helpdesk/crm_helpdesk.py +++ b/addons/crm_helpdesk/crm_helpdesk.py @@ -25,6 +25,7 @@ from crm import crm from osv import fields, osv import tools from tools.translate import _ +from tools import html2plaintext CRM_HELPDESK_STATES = ( crm.AVAILABLE_STATES[2][0], # Cancelled @@ -104,9 +105,10 @@ class crm_helpdesk(base_state, base_stage, osv.osv): This override updates the document according to the email. """ if custom_values is None: custom_values = {} + desc = html2plaintext(msg.get('body')) if msg.get('body') else '' custom_values.update({ 'name': msg.get('subject') or _("No Subject"), - 'description': msg.get('body'), + 'description': desc, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), 'user_id': False, diff --git a/addons/hr_contract/i18n/mk.po b/addons/hr_contract/i18n/mk.po new file mode 100644 index 00000000000..2a4011c9e0d --- /dev/null +++ b/addons/hr_contract/i18n/mk.po @@ -0,0 +1,271 @@ +# Macedonian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-10-09 08:00+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Macedonian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-10-10 04:44+0000\n" +"X-Generator: Launchpad (build 16112)\n" + +#. module: hr_contract +#: field:hr.contract,wage:0 +msgid "Wage" +msgstr "Плата" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Information" +msgstr "Информации" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Trial Period" +msgstr "Пробен Период" + +#. module: hr_contract +#: field:hr.contract,trial_date_start:0 +msgid "Trial Start Date" +msgstr "Пробен Почетен Датум" + +#. module: hr_contract +#: view:hr.employee:0 +msgid "Medical Examination" +msgstr "Систематски Преглед" + +#. module: hr_contract +#: field:hr.employee,vehicle:0 +msgid "Company Vehicle" +msgstr "Службено Возило" + +#. module: hr_contract +#: view:hr.employee:0 +msgid "Miscellaneous" +msgstr "Разно" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Current" +msgstr "Тековен" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Group By..." +msgstr "Групирај По..." + +#. module: hr_contract +#: field:hr.contract,department_id:0 +msgid "Department" +msgstr "Сектор" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Overpassed" +msgstr "Изминат" + +#. module: hr_contract +#: view:hr.contract:0 +#: field:hr.contract,employee_id:0 +#: model:ir.model,name:hr_contract.model_hr_employee +msgid "Employee" +msgstr "Вработен" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Search Contract" +msgstr "Пребарај Договор" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Contracts in progress" +msgstr "Договори во тек" + +#. module: hr_contract +#: field:hr.employee,vehicle_distance:0 +msgid "Home-Work Distance" +msgstr "Дома-Работа Одалеченост" + +#. module: hr_contract +#: view:hr.contract:0 +#: field:hr.employee,contract_ids:0 +#: model:ir.actions.act_window,name:hr_contract.act_hr_employee_2_hr_contract +#: model:ir.actions.act_window,name:hr_contract.action_hr_contract +#: model:ir.ui.menu,name:hr_contract.hr_menu_contract +msgid "Contracts" +msgstr "Договори" + +#. module: hr_contract +#: view:hr.employee:0 +msgid "Personal Info" +msgstr "Лични информации" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Contracts whose end date already passed" +msgstr "Договори чии што краен рок е веќе поминат" + +#. module: hr_contract +#: help:hr.employee,contract_id:0 +msgid "Latest contract of the employee" +msgstr "Последен договор на вработениот" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Job" +msgstr "Работно Место" + +#. module: hr_contract +#: view:hr.contract:0 +#: field:hr.contract,advantages:0 +msgid "Advantages" +msgstr "Придобивки" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Valid for" +msgstr "Валиден за" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Work Permit" +msgstr "Дозвола за Работа" + +#. module: hr_contract +#: field:hr.employee,children:0 +msgid "Number of Children" +msgstr "Број на Деца" + +#. module: hr_contract +#: model:ir.actions.act_window,name:hr_contract.action_hr_contract_type +#: model:ir.ui.menu,name:hr_contract.hr_menu_contract_type +msgid "Contract Types" +msgstr "Типови на Договор" + +#. module: hr_contract +#: constraint:hr.employee:0 +msgid "Error ! You cannot create recursive Hierarchy of Employees." +msgstr "Грешка! Не можете да креирате рекурзивна хиерархија на вработените." + +#. module: hr_contract +#: field:hr.contract,date_end:0 +msgid "End Date" +msgstr "Краен датум" + +#. module: hr_contract +#: help:hr.contract,wage:0 +msgid "Basic Salary of the employee" +msgstr "Основна Плата на вработениот" + +#. module: hr_contract +#: field:hr.contract,name:0 +msgid "Contract Reference" +msgstr "Референца" + +#. module: hr_contract +#: help:hr.employee,vehicle_distance:0 +msgid "In kilometers" +msgstr "во километри" + +#. module: hr_contract +#: view:hr.contract:0 +#: field:hr.contract,notes:0 +msgid "Notes" +msgstr "Забелешки" + +#. module: hr_contract +#: field:hr.contract,permit_no:0 +msgid "Work Permit No" +msgstr "Број на Дозвола за Работа" + +#. module: hr_contract +#: view:hr.contract:0 +#: field:hr.employee,contract_id:0 +#: model:ir.model,name:hr_contract.model_hr_contract +#: model:ir.ui.menu,name:hr_contract.next_id_56 +msgid "Contract" +msgstr "Договор" + +#. module: hr_contract +#: view:hr.contract:0 +#: field:hr.contract,type_id:0 +#: view:hr.contract.type:0 +#: field:hr.contract.type,name:0 +#: model:ir.model,name:hr_contract.model_hr_contract_type +msgid "Contract Type" +msgstr "Тип на Договор" + +#. module: hr_contract +#: view:hr.contract:0 +#: field:hr.contract,working_hours:0 +msgid "Working Schedule" +msgstr "Распоред за Работа" + +#. module: hr_contract +#: view:hr.employee:0 +msgid "Job Info" +msgstr "Информации за Работата" + +#. module: hr_contract +#: field:hr.contract,visa_expire:0 +msgid "Visa Expire Date" +msgstr "Виза Датум на Истекување" + +#. module: hr_contract +#: field:hr.contract,job_id:0 +msgid "Job Title" +msgstr "Звање" + +#. module: hr_contract +#: field:hr.employee,manager:0 +msgid "Is a Manager" +msgstr "Менаџер" + +#. module: hr_contract +#: field:hr.contract,date_start:0 +msgid "Start Date" +msgstr "Почетен датум" + +#. module: hr_contract +#: constraint:hr.contract:0 +msgid "Error! contract start-date must be lower then contract end-date." +msgstr "" +"Грешка! Почетниот датум на договорот мора да биде помал од крајниот датум." + +#. module: hr_contract +#: field:hr.contract,visa_no:0 +msgid "Visa No" +msgstr "Број на Виза" + +#. module: hr_contract +#: field:hr.employee,place_of_birth:0 +msgid "Place of Birth" +msgstr "Место на раѓање" + +#. module: hr_contract +#: view:hr.contract:0 +msgid "Duration" +msgstr "Траење" + +#. module: hr_contract +#: field:hr.employee,medic_exam:0 +msgid "Medical Examination Date" +msgstr "Датум за Систематски Преглед" + +#. module: hr_contract +#: field:hr.contract,trial_date_end:0 +msgid "Trial End Date" +msgstr "Пробен Краен Датум" + +#. module: hr_contract +#: view:hr.contract.type:0 +msgid "Search Contract Type" +msgstr "Пребарај Тип на Договор" diff --git a/addons/hr_holidays/i18n/mk.po b/addons/hr_holidays/i18n/mk.po new file mode 100644 index 00000000000..2694317ebe9 --- /dev/null +++ b/addons/hr_holidays/i18n/mk.po @@ -0,0 +1,864 @@ +# Macedonian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 01:37+0100\n" +"PO-Revision-Date: 2012-10-09 08:43+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Macedonian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-10-10 04:44+0000\n" +"X-Generator: Launchpad (build 16112)\n" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Blue" +msgstr "Сина" + +#. module: hr_holidays +#: field:hr.holidays,holiday_type:0 +msgid "Allocation Type" +msgstr "Тип на Алокација" + +#. module: hr_holidays +#: selection:hr.employee,current_leave_state:0 +#: selection:hr.holidays,state:0 +msgid "Waiting Second Approval" +msgstr "Се чека на второ одобрување" + +#. module: hr_holidays +#: help:hr.holidays.status,remaining_leaves:0 +msgid "Maximum Leaves Allowed - Leaves Already Taken" +msgstr "Мкасимален број на дозволени отсуства - Отсуствата се веќе земени" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Leaves Management" +msgstr "Менаџирање на Отсуства" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Group By..." +msgstr "Групирај По..." + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Allocation Mode" +msgstr "Мод на Алокација" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: field:hr.holidays,department_id:0 +msgid "Department" +msgstr "Сектор" + +#. module: hr_holidays +#: model:ir.actions.act_window,name:hr_holidays.request_approve_holidays +msgid "Requests Approve" +msgstr "Одобри Барања" + +#. module: hr_holidays +#: selection:hr.employee,current_leave_state:0 +#: selection:hr.holidays,state:0 +msgid "Refused" +msgstr "Одбиени" + +#. module: hr_holidays +#: help:hr.holidays,category_id:0 +msgid "Category of Employee" +msgstr "Категорија на Вработен" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid " Month-1" +msgstr " Месец-1" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Brown" +msgstr "Кафена" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Remaining Days" +msgstr "Останати Денови" + +#. module: hr_holidays +#: selection:hr.holidays,holiday_type:0 +msgid "By Employee" +msgstr "По Вработен" + +#. module: hr_holidays +#: help:hr.holidays,employee_id:0 +msgid "" +"Leave Manager can let this field empty if this leave request/allocation is " +"for every employee" +msgstr "" +"Менаџерот за отсуства може да го остави ова поле празно ако барањето за " +"отсуство/преместување е за секој вработен" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Set to Draft" +msgstr "Подеси на нацрт" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Light Cyan" +msgstr "Светла Цијан" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Light Green" +msgstr "Светло зелено" + +#. module: hr_holidays +#: field:hr.employee,current_leave_id:0 +msgid "Current Leave Type" +msgstr "Тековен Тип на Отсуство" + +#. module: hr_holidays +#: model:ir.actions.act_window,help:hr_holidays.open_ask_holidays +msgid "" +"Leave requests can be recorded by employees and validated by their managers. " +"Once a leave request is validated, it appears automatically in the agenda of " +"the employee. You can define several allowance types (paid holidays, " +"sickness, etc.) and manage allowances per type." +msgstr "" + +#. module: hr_holidays +#: model:ir.actions.report.xml,name:hr_holidays.report_holidays_summary +msgid "Summary Of Leaves" +msgstr "Збир на Отсуства" + +#. module: hr_holidays +#: selection:hr.employee,current_leave_state:0 +#: view:hr.holidays:0 +#: selection:hr.holidays,state:0 +msgid "Approved" +msgstr "Одобрено" + +#. module: hr_holidays +#: field:hr.employee,last_login:0 +msgid "Latest Connection" +msgstr "Последна Конекција" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Refuse" +msgstr "Одбиј" + +#. module: hr_holidays +#: code:addons/hr_holidays/hr_holidays.py:344 +#, python-format +msgid "" +"You cannot validate leaves for employee %s: too few remaining days (%s)." +msgstr "" +"Не можете да валидирате отсуства за вработениот %s: премалку преостанати " +"денови (%s)." + +#. module: hr_holidays +#: help:hr.holidays,state:0 +msgid "" +"The state is set to 'Draft', when a holiday request is created. \n" +"The state is 'Waiting Approval', when holiday request is confirmed by user. " +" \n" +"The state is 'Refused', when holiday request is refused by manager. " +" \n" +"The state is 'Approved', when holiday request is approved by manager." +msgstr "" + +#. module: hr_holidays +#: view:board.board:0 +#: model:ir.actions.act_window,name:hr_holidays.act_hr_employee_holiday_request +#: model:ir.ui.menu,name:hr_holidays.menu_hr_reporting_holidays +#: model:ir.ui.menu,name:hr_holidays.menu_open_ask_holidays +msgid "Leaves" +msgstr "Отсуства" + +#. module: hr_holidays +#: model:ir.model,name:hr_holidays.model_hr_holidays +msgid "Leave" +msgstr "" + +#. module: hr_holidays +#: model:ir.ui.menu,name:hr_holidays.menu_request_approve_holidays +msgid "Leave Requests to Approve" +msgstr "Барања за отсуства за одобрување" + +#. module: hr_holidays +#: model:ir.ui.menu,name:hr_holidays.menu_account_central_journal +msgid "Leaves by Department" +msgstr "Отсуства по Сектор" + +#. module: hr_holidays +#: selection:hr.employee,current_leave_state:0 +#: selection:hr.holidays,state:0 +msgid "Cancelled" +msgstr "Откажано" + +#. module: hr_holidays +#: help:hr.holidays,type:0 +msgid "" +"Choose 'Leave Request' if someone wants to take an off-day. \n" +"Choose 'Allocation Request' if you want to increase the number of leaves " +"available for someone" +msgstr "" + +#. module: hr_holidays +#: help:hr.employee,remaining_leaves:0 +msgid "" +"Total number of legal leaves allocated to this employee, change this value " +"to create allocation/leave requests." +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays.status:0 +msgid "Validation" +msgstr "" + +#. module: hr_holidays +#: code:addons/hr_holidays/hr_holidays.py:377 +#, python-format +msgid "Warning !" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays.status,color_name:0 +msgid "Color in Report" +msgstr "" + +#. module: hr_holidays +#: model:ir.model,name:hr_holidays.model_hr_holidays_summary_employee +msgid "HR Holidays Summary Report By Employee" +msgstr "" + +#. module: hr_holidays +#: help:hr.holidays,manager_id:0 +msgid "This area is automatically filled by the user who validate the leave" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,holiday_status_id:0 +#: field:hr.holidays.remaining.leaves.user,leave_type:0 +#: view:hr.holidays.status:0 +#: field:hr.holidays.status,name:0 +#: field:hr.holidays.summary.dept,holiday_type:0 +#: model:ir.actions.act_window,name:hr_holidays.open_view_holiday_status +#: model:ir.model,name:hr_holidays.model_hr_holidays_status +#: model:ir.ui.menu,name:hr_holidays.menu_open_view_holiday_status +msgid "Leave Type" +msgstr "" + +#. module: hr_holidays +#: code:addons/hr_holidays/hr_holidays.py:199 +#: code:addons/hr_holidays/hr_holidays.py:344 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Magenta" +msgstr "" + +#. module: hr_holidays +#: code:addons/hr_holidays/wizard/hr_holidays_summary_department.py:44 +#, python-format +msgid "You have to select at least 1 Department. And try again" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.summary.dept,holiday_type:0 +#: selection:hr.holidays.summary.employee,holiday_type:0 +msgid "Confirmed" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays.summary.dept,date_from:0 +#: field:hr.holidays.summary.employee,date_from:0 +msgid "From" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Confirm" +msgstr "" + +#. module: hr_holidays +#: code:addons/hr_holidays/hr_holidays.py:384 +#, python-format +msgid "Leave Request for %s" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays.status,remaining_leaves:0 +msgid "Remaining Leaves" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: field:hr.holidays,state:0 +msgid "State" +msgstr "" + +#. module: hr_holidays +#: model:ir.model,name:hr_holidays.model_hr_holidays_remaining_leaves_user +msgid "Total holidays by type" +msgstr "" + +#. module: hr_holidays +#: view:hr.employee:0 +#: view:hr.holidays:0 +#: field:hr.holidays,employee_id:0 +#: field:hr.holidays.remaining.leaves.user,name:0 +#: model:ir.model,name:hr_holidays.model_hr_employee +msgid "Employee" +msgstr "" + +#. module: hr_holidays +#: selection:hr.employee,current_leave_state:0 +#: selection:hr.holidays,state:0 +msgid "New" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Type" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Red" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays.remaining.leaves.user:0 +msgid "Leaves by Type" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Light Salmon" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Wheat" +msgstr "" + +#. module: hr_holidays +#: constraint:resource.calendar.leaves:0 +msgid "Error! leave start-date must be lower then leave end-date." +msgstr "" + +#. module: hr_holidays +#: code:addons/hr_holidays/hr_holidays.py:382 +#, python-format +msgid "Allocation for %s" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: field:hr.holidays,number_of_days:0 +#: field:hr.holidays,number_of_days_temp:0 +msgid "Number of Days" +msgstr "" + +#. module: hr_holidays +#: code:addons/hr_holidays/hr_holidays.py:377 +#, python-format +msgid "" +"The feature behind the field 'Remaining Legal Leaves' can only be used when " +"there is only one leave type with the option 'Allow to Override Limit' " +"unchecked. (%s Found). Otherwise, the update is ambiguous as we cannot " +"decide on which leave type the update has to be done. \n" +"You may prefer to use the classic menus 'Leave Requests' and 'Allocation " +"Requests' located in 'Human Resources \\ Leaves' to manage the leave days of " +"the employees if the configuration does not allow to use this field." +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays.status:0 +msgid "Search Leave Type" +msgstr "" + +#. module: hr_holidays +#: sql_constraint:hr.holidays:0 +msgid "You have to select an employee or a category" +msgstr "" + +#. module: hr_holidays +#: help:hr.holidays.status,double_validation:0 +msgid "" +"When selected, the Allocation/Leave Requests for this type require a second " +"validation to be approved." +msgstr "" + +#. module: hr_holidays +#: selection:hr.employee,current_leave_state:0 +#: selection:hr.holidays,state:0 +msgid "Waiting Approval" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays.summary.employee,emp:0 +msgid "Employee(s)" +msgstr "" + +#. module: hr_holidays +#: help:hr.holidays.status,categ_id:0 +msgid "" +"If you set a meeting type, OpenERP will create a meeting in the calendar " +"once a leave is validated." +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,linked_request_ids:0 +msgid "Linked Requests" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,parent_id:0 +msgid "Parent" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Lavender" +msgstr "" + +#. module: hr_holidays +#: xsl:holidays.summary:0 +#: view:hr.holidays:0 +msgid "Month" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: model:ir.actions.act_window,name:hr_holidays.open_ask_holidays +#: model:ir.ui.menu,name:hr_holidays.menu_open_ask_holidays_new +msgid "Leave Requests" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays.status,limit:0 +msgid "Allow to Override Limit" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays.summary.employee:0 +#: model:ir.actions.act_window,name:hr_holidays.action_hr_holidays_summary_employee +msgid "Employee's Holidays" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: field:hr.holidays,category_id:0 +msgid "Category" +msgstr "" + +#. module: hr_holidays +#: help:hr.holidays.status,max_leaves:0 +msgid "" +"This value is given by the sum of all holidays requests with a positive " +"value." +msgstr "" + +#. module: hr_holidays +#: view:board.board:0 +msgid "All Employee Leaves" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Light Coral" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays.summary.dept:0 +#: model:ir.actions.act_window,name:hr_holidays.action_hr_holidays_summary_dept +msgid "Holidays by Department" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Black" +msgstr "" + +#. module: hr_holidays +#: model:ir.actions.act_window,name:hr_holidays.hr_holidays_leaves_assign_legal +msgid "Allocate Leaves for Employees" +msgstr "" + +#. module: hr_holidays +#: field:resource.calendar.leaves,holiday_id:0 +msgid "Holiday" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,case_id:0 +#: field:hr.holidays.status,categ_id:0 +msgid "Meeting" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Ivory" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.summary.dept,holiday_type:0 +#: selection:hr.holidays.summary.employee,holiday_type:0 +msgid "Both Validated and Confirmed" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays.status,leaves_taken:0 +msgid "Leaves Already Taken" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,user_id:0 +#: field:hr.holidays.remaining.leaves.user,user_id:0 +msgid "User" +msgstr "" + +#. module: hr_holidays +#: sql_constraint:hr.holidays:0 +msgid "The start date must be before the end date !" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays.status,active:0 +msgid "Active" +msgstr "" + +#. module: hr_holidays +#: constraint:hr.employee:0 +msgid "Error ! You cannot create recursive Hierarchy of Employees." +msgstr "" + +#. module: hr_holidays +#: view:hr.employee:0 +#: field:hr.employee,remaining_leaves:0 +msgid "Remaining Legal Leaves" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,manager_id:0 +msgid "First Approval" +msgstr "" + +#. module: hr_holidays +#: model:hr.holidays.status,name:hr_holidays.holiday_status_unpaid +msgid "Unpaid" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: model:ir.actions.act_window,name:hr_holidays.open_company_allocation +#: model:ir.ui.menu,name:hr_holidays.menu_open_company_allocation +msgid "Leaves Summary" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Holidays during last month" +msgstr "" + +#. module: hr_holidays +#: code:addons/hr_holidays/wizard/hr_holidays_summary_department.py:44 +#, python-format +msgid "Error" +msgstr "" + +#. module: hr_holidays +#: view:hr.employee:0 +msgid "Assign Leaves" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Light Blue" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "My Department Leaves" +msgstr "" + +#. module: hr_holidays +#: field:hr.employee,current_leave_state:0 +msgid "Current Leave Status" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,type:0 +msgid "Request Type" +msgstr "" + +#. module: hr_holidays +#: help:hr.holidays.status,active:0 +msgid "" +"If the active field is set to false, it will allow you to hide the leave " +"type without removing it." +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays.status:0 +msgid "Misc" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "General" +msgstr "" + +#. module: hr_holidays +#: model:hr.holidays.status,name:hr_holidays.holiday_status_comp +msgid "Compensatory Days" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: field:hr.holidays,notes:0 +msgid "Reasons" +msgstr "" + +#. module: hr_holidays +#: model:ir.actions.act_window,name:hr_holidays.action_hr_available_holidays_report +#: model:ir.ui.menu,name:hr_holidays.menu_hr_available_holidays_report_tree +msgid "Leaves Analysis" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays.summary.dept:0 +#: view:hr.holidays.summary.employee:0 +msgid "Cancel" +msgstr "" + +#. module: hr_holidays +#: help:hr.holidays.status,color_name:0 +msgid "" +"This color will be used in the leaves summary located in Reporting\\Leaves " +"by Departement" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: selection:hr.holidays.summary.dept,holiday_type:0 +#: selection:hr.holidays.summary.employee,holiday_type:0 +msgid "Validated" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: selection:hr.holidays,type:0 +msgid "Allocation Request" +msgstr "" + +#. module: hr_holidays +#: model:ir.model,name:hr_holidays.model_resource_calendar_leaves +msgid "Leave Detail" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,double_validation:0 +#: field:hr.holidays.status,double_validation:0 +msgid "Apply Double Validation" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays.summary.dept:0 +#: view:hr.holidays.summary.employee:0 +msgid "Print" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays.status:0 +msgid "Details" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: model:ir.actions.act_window,name:hr_holidays.action_hr_holidays_leaves_by_month +msgid "My Leaves" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays,holiday_type:0 +msgid "By Employee Category" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: selection:hr.holidays,type:0 +msgid "Leave Request" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,name:0 +msgid "Description" +msgstr "" + +#. module: hr_holidays +#: model:hr.holidays.status,name:hr_holidays.holiday_status_cl +msgid "Legal Leaves" +msgstr "" + +#. module: hr_holidays +#: sql_constraint:hr.holidays:0 +msgid "The number of days must be greater than 0 !" +msgstr "" + +#. module: hr_holidays +#: help:hr.holidays,holiday_type:0 +msgid "" +"By Employee: Allocation/Request for individual Employee, By Employee " +"Category: Allocation/Request for group of employees in category" +msgstr "" + +#. module: hr_holidays +#: code:addons/hr_holidays/hr_holidays.py:199 +#, python-format +msgid "You cannot delete a leave which is not in draft state !" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Search Leave" +msgstr "Пребарај Отсуство" + +#. module: hr_holidays +#: field:hr.holidays.summary.employee,holiday_type:0 +msgid "Select Holiday Type" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays.remaining.leaves.user,no_of_leaves:0 +msgid "Remaining leaves" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays.summary.dept,depts:0 +msgid "Department(s)" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,manager_id2:0 +msgid "Second Approval" +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays,date_to:0 +msgid "End Date" +msgstr "" + +#. module: hr_holidays +#: model:hr.holidays.status,name:hr_holidays.holiday_status_sl +msgid "Sick Leaves" +msgstr "" + +#. module: hr_holidays +#: help:hr.holidays.status,limit:0 +msgid "" +"If you select this checkbox, the system allows the employees to take more " +"leaves than the available ones for this type." +msgstr "" + +#. module: hr_holidays +#: help:hr.holidays.status,leaves_taken:0 +msgid "" +"This value is given by the sum of all holidays requests with a negative " +"value." +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Violet" +msgstr "" + +#. module: hr_holidays +#: model:ir.actions.act_window,help:hr_holidays.hr_holidays_leaves_assign_legal +msgid "" +"You can assign remaining Legal Leaves for each employee, OpenERP will " +"automatically create and validate allocation requests." +msgstr "" + +#. module: hr_holidays +#: field:hr.holidays.status,max_leaves:0 +msgid "Maximum Allowed" +msgstr "" + +#. module: hr_holidays +#: help:hr.holidays,manager_id2:0 +msgid "" +"This area is automaticly filled by the user who validate the leave with " +"second level (If Leave type need second validation)" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Mode" +msgstr "" + +#. module: hr_holidays +#: model:ir.model,name:hr_holidays.model_hr_holidays_summary_dept +msgid "HR Holidays Summary Report By Department" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Approve" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: field:hr.holidays,date_from:0 +msgid "Start Date" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +#: model:ir.actions.act_window,name:hr_holidays.open_allocation_holidays +#: model:ir.ui.menu,name:hr_holidays.menu_open_allocation_holidays +msgid "Allocation Requests" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Light Yellow" +msgstr "" + +#. module: hr_holidays +#: selection:hr.holidays.status,color_name:0 +msgid "Light Pink" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Manager" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "To Confirm" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "Year" +msgstr "" + +#. module: hr_holidays +#: view:hr.holidays:0 +msgid "To Approve" +msgstr "" diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 31959d7e9c7..ccfcae0d26e 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -26,6 +26,7 @@ from base_status.base_stage import base_stage from datetime import datetime from osv import fields, osv from tools.translate import _ +from tools import html2plaintext AVAILABLE_STATES = [ ('draft', 'New'), @@ -327,9 +328,10 @@ class hr_applicant(base_stage, osv.Model): This override updates the document according to the email. """ if custom_values is None: custom_values = {} + desc = html2plaintext(msg.get('body')) if msg.get('body') else '' custom_values.update({ 'name': msg.get('subject') or _("No Subject"), - 'description': msg.get('body'), + 'description': desc, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), 'user_id': False, diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml index 1350fd33547..7bda32c002b 100644 --- a/addons/mail/data/mail_demo.xml +++ b/addons/mail/data/mail_demo.xml @@ -42,10 +42,5 @@ This month you also get 250 EUR of eco-vouchers if you have been in the company comment - - mail.catchall.domain - demo.openerp.com - - diff --git a/addons/mail/mail_mail.py b/addons/mail/mail_mail.py index e9a569a8192..741184ef7a3 100644 --- a/addons/mail/mail_mail.py +++ b/addons/mail/mail_mail.py @@ -63,10 +63,12 @@ class mail_mail(osv.Model): } def _get_default_from(self, cr, uid, context=None): - cur = self.pool.get('res.users').browse(cr, uid, uid, context=context) - if not cur.alias_domain: - raise osv.except_osv(_('Invalid Action!'), _('Unable to send email, set an alias domain in your server settings.')) - return cur.alias_name + '@' + cur.alias_domain + this = self.pool.get('res.users').browse(cr, uid, uid, context=context) + if this.alias_domain: + return '%s@%s' % (this.alias_name, this.alias_domain) + elif this.email: + return this.email + raise osv.except_osv(_('Invalid Action!'), _("Unable to send email, please configure the sender's email address or alias.")) _defaults = { 'state': 'outgoing', diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 9c873a31097..7e77b2f2e8c 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -180,7 +180,6 @@ class mail_message(osv.Model): fields allow to have the foreign record name without having to check external access rights). """ - child_nbr = len(msg.child_ids) has_voted = False vote_ids = self.pool.get('res.users').name_get(cr, SUPERUSER_ID, [user.id for user in msg.vote_user_ids], context=context) for vote in vote_ids: @@ -194,7 +193,7 @@ class mail_message(osv.Model): try: author_id = self.pool.get('res.partner').name_get(cr, uid, [msg.author_id.id], context=context)[0] is_author = uid == msg.author_id.user_ids[0].id - except (orm.except_orm, osv.except_osv): + except Exception: author_id = False is_author = False try: @@ -502,7 +501,7 @@ class mail_message(osv.Model): def create(self, cr, uid, values, context=None): if not values.get('message_id') and values.get('res_id') and values.get('model'): - values['message_id'] = tools.generate_tracking_message_id('%(model)s-%(res_id)s' % values) + values['message_id'] = tools.generate_tracking_message_id('%(res_id)s-%(model)s' % values) newid = super(mail_message, self).create(cr, uid, values, context) self._notify(cr, SUPERUSER_ID, newid, context=context) return newid diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index 09acc85d9e1..e6150640eb3 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -138,6 +138,8 @@ class mail_thread(osv.AbstractModel): return res def _set_followers(self, cr, uid, id, name, value, arg, context=None): + if not value: + return partner_obj = self.pool.get('res.partner') fol_obj = self.pool.get('mail.followers') @@ -420,12 +422,12 @@ class mail_thread(osv.AbstractModel): model_pool = self.pool.get(model) assert thread_id and hasattr(model_pool, 'message_update') or hasattr(model_pool, 'message_new'), \ "Undeliverable mail with Message-Id %s, model %s does not accept incoming emails" % \ - (msg['message-id'], model) + (msg['message_id'], model) if thread_id and hasattr(model_pool, 'message_update'): model_pool.message_update(cr, user_id, [thread_id], msg, context=context) else: thread_id = model_pool.message_new(cr, user_id, msg, custom_values, context=context) - self.message_post(cr, uid, [thread_id], context=context, **msg) + model_pool.message_post(cr, uid, [thread_id], context=context, **msg) return thread_id def message_new(self, cr, uid, msg_dict, custom_values=None, context=None): @@ -536,7 +538,7 @@ class mail_thread(osv.AbstractModel): field may not be present if missing in original message:: - { 'message-id': msg_id, + { 'message_id': msg_id, 'subject': subject, 'from': from, 'to': to, diff --git a/addons/mail/res_config.py b/addons/mail/res_config.py index ce2f75687ba..91606e1c720 100644 --- a/addons/mail/res_config.py +++ b/addons/mail/res_config.py @@ -19,6 +19,8 @@ # ############################################################################## +import urlparse + from openerp.osv import osv, fields class project_configuration(osv.TransientModel): @@ -31,9 +33,16 @@ class project_configuration(osv.TransientModel): } def get_default_alias_domain(self, cr, uid, ids, context=None): - return {'alias_domain': self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context)} + alias_domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context) + if not alias_domain: + domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "web.base.url", context=context) + try: + alias_domain = urlparse.urlsplit(domain).netloc.split(':')[0] + except Exception: + pass + return {'alias_domain': alias_domain} def set_alias_domain(self, cr, uid, ids, context=None): config_parameters = self.pool.get("ir.config_parameter") for record in self.browse(cr, uid, ids, context=context): - config_parameters.set_param(cr, uid, "mail.catchall.domain", record.alias_domain or '', context=context) \ No newline at end of file + config_parameters.set_param(cr, uid, "mail.catchall.domain", record.alias_domain or '', context=context) diff --git a/addons/mail/res_users.py b/addons/mail/res_users.py index 545198f4c7f..f870604b03a 100644 --- a/addons/mail/res_users.py +++ b/addons/mail/res_users.py @@ -110,9 +110,19 @@ class res_users(osv.Model): alias_pool.unlink(cr, uid, alias_ids, context=context) return res - def message_post(self, cr, uid, thread_id, **kwargs): - partner_id = self.pool.get('res.users').browse(cr, uid, thread_id)[0].partner_id.id - return self.pool.get('res.partner').message_post(cr, uid, partner_id, **kwargs) + def message_post(self, cr, uid, thread_id, context=None, **kwargs): + assert thread_id, "res.users does not support posting global messages" + if context and 'thread_model' in context: + context['thread_model'] = 'res.partner' + if isinstance(thread_id, (list, tuple)): + thread_id = thread_id[0] + partner_id = self.pool.get('res.users').browse(cr, uid, thread_id).partner_id.id + return self.pool.get('res.partner').message_post(cr, uid, partner_id, context=context, **kwargs) + + def message_update(self, cr, uid, ids, msg_dict, update_vals=None, context=None): + partner_id = self.pool.get('res.users').browse(cr, uid, ids)[0].partner_id.id + return self.pool.get('res.partner').message_update(cr, uid, [partner_id], msg_dict, + update_vals=update_vals, context=context) class res_users_mail_group(osv.Model): """ Update of res.users class diff --git a/addons/portal/tests/test_portal.py b/addons/portal/tests/test_portal.py index fe26f3280a2..83b10b39c28 100644 --- a/addons/portal/tests/test_portal.py +++ b/addons/portal/tests/test_portal.py @@ -50,6 +50,9 @@ class test_portal(test_mail.TestMailMockups): user_chell = self.res_users.browse(cr, uid, self.user_chell_id) self.partner_chell_id = user_chell.partner_id.id + # Set an email address for the user running the tests, used as Sender for outgoing mails + self.res_users.write(cr, uid, uid, {'email': 'test@localhost'}) + def test_00_access_rights(self): """ Test basic mail_message and mail_group access rights for portal users. """ cr, uid = self.cr, self.uid diff --git a/addons/project/project.py b/addons/project/project.py index 6b02a018293..a47b582be77 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -19,12 +19,14 @@ # ############################################################################## -from base_status.base_stage import base_stage -from datetime import datetime, date +import time from lxml import etree +from datetime import datetime, date + +import tools +from base_status.base_stage import base_stage from osv import fields, osv from openerp.addons.resource.faces import task as Task -import time from tools.translate import _ from openerp import SUPERUSER_ID @@ -1173,11 +1175,10 @@ class task(base_stage, osv.osv): """ Override to updates the document according to the email. """ if custom_values is None: custom_values = {} custom_values.update({ - 'name': subject, + 'name': msg.get('subject'), 'planned_hours': 0.0, - 'subject': msg.get('subject'), }) - return super(project_tasks,self).message_new(cr, uid, msg, custom_values=custom_values, context=context) + return super(task,self).message_new(cr, uid, msg, custom_values=custom_values, context=context) def message_update(self, cr, uid, ids, msg, update_vals=None, context=None): """ Override to update the task according to the email. """ @@ -1202,7 +1203,7 @@ class task(base_stage, osv.osv): act = 'do_%s' % res.group(2).lower() if act: getattr(self,act)(cr, uid, ids, context=context) - return super(project_tasks,self).message_update(cr, uid, msg, update_vals=update_vals, context=context) + return super(task,self).message_update(cr, uid, msg, update_vals=update_vals, context=context) # --------------------------------------------------- # OpenChatter methods and notifications diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 2004e1310f0..9e434078d2f 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -27,6 +27,7 @@ from tools.translate import _ import binascii import time import tools +from tools import html2plaintext class project_issue_version(osv.osv): _name = "project.issue.version" @@ -462,9 +463,11 @@ class project_issue(base_stage, osv.osv): if context is None: context = {} context['state_to'] = 'draft' + desc = html2plaintext(msg.get('body')) if msg.get('body') else '' + custom_values.update({ 'name': msg.get('subject') or _("No Subject"), - 'description': msg.get('body'), + 'description': desc, 'email_from': msg.get('from'), 'email_cc': msg.get('cc'), 'user_id': False, @@ -486,7 +489,6 @@ class project_issue(base_stage, osv.osv): if update_vals is None: update_vals = {} # Update doc values according to the message - update_vals['description'] = msg.get('body', '') if msg.get('priority'): update_vals['priority'] = msg.get('priority') # Parse 'body' to find values to update diff --git a/addons/project_long_term/project_long_term_demo.xml b/addons/project_long_term/project_long_term_demo.xml index bca8231fdaa..fda481d5a11 100644 --- a/addons/project_long_term/project_long_term_demo.xml +++ b/addons/project_long_term/project_long_term_demo.xml @@ -7,6 +7,7 @@ +