[MERGE] trunk

bzr revid: qdp-launchpad@openerp.com-20121010100111-vta17dz1vq6n6g9a
This commit is contained in:
Quentin (OpenERP) 2012-10-10 12:01:11 +02:00
commit 96cbbe9d59
19 changed files with 1251 additions and 55 deletions

View File

@ -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 ) "
"<openerp@novotrade.hu>\n"
"PO-Revision-Date: 2012-10-09 13:58+0000\n"
"Last-Translator: krnkris <Unknown>\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

View File

@ -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 ) "
"<openerp@novotrade.hu>\n"
"PO-Revision-Date: 2012-10-09 13:49+0000\n"
"Last-Translator: krnkris <Unknown>\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!"

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: 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 ສຸພາ ເມືອງໂຄຕ <bmuangkhot@gmail.com>\n"
"Language-Team: Lao <lo@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: 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"

View File

@ -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,

View File

@ -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'),
})

View File

@ -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,

View File

@ -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 <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 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 "Пребарај Тип на Договор"

View File

@ -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 <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Macedonian <mk@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: 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 ""

View File

@ -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,

View File

@ -42,10 +42,5 @@ This month you also get 250 EUR of eco-vouchers if you have been in the company
<field name="type">comment</field>
</record>
<record model="ir.config_parameter" id="user_mail_alias">
<field name="key">mail.catchall.domain</field>
<field name="value">demo.openerp.com</field>
</record>
</data>
</openerp>

View File

@ -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',

View File

@ -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

View File

@ -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,

View File

@ -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)
config_parameters.set_param(cr, uid, "mail.catchall.domain", record.alias_domain or '', context=context)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -7,6 +7,7 @@
<record id="project.project_project_1" model="project.project">
<field name="resource_calendar_id" ref="resource.timesheet_group1"/>
<field name="use_phases" eval="True"/>
</record>
<!-- Project Phases -->