-
+
@
Organized by
diff --git a/addons/event/i18n/zh_TW.po b/addons/event/i18n/zh_TW.po
index b353b5b0e3a..a6c27495e1c 100644
--- a/addons/event/i18n/zh_TW.po
+++ b/addons/event/i18n/zh_TW.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2011-09-27 07:58+0000\n"
-"Last-Translator: Walter Cheuk \n"
-"Language-Team: \n"
+"PO-Revision-Date: 2012-08-30 10:20+0000\n"
+"Last-Translator: Bonnie Duan \n"
+"Language-Team: Cenoq Corp.\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:02+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-08-31 04:56+0000\n"
+"X-Generator: Launchpad (build 15887)\n"
#. module: event
#: view:event.event:0
@@ -24,55 +24,55 @@ msgstr "發票資訊"
#. module: event
#: view:partner.event.registration:0
msgid "Event Details"
-msgstr "活動詳情"
+msgstr "事件細節"
#. module: event
#: field:event.event,main_speaker_id:0
msgid "Main Speaker"
-msgstr "主講者"
+msgstr "主要關注者"
#. module: event
#: view:event.event:0
#: view:event.registration:0
#: view:report.event.registration:0
msgid "Group By..."
-msgstr "分組根據..."
+msgstr "分類方式..."
#. module: event
#: field:event.event,register_min:0
msgid "Minimum Registrations"
-msgstr "最小登記數"
+msgstr "最少的登記記錄"
#. module: event
#: model:ir.model,name:event.model_event_confirm_registration
msgid "Confirmation for Event Registration"
-msgstr "活動登記確認"
+msgstr "確認事件的登記記錄"
#. module: event
#: field:event.registration.badge,title:0
msgid "Title"
-msgstr "稱謂"
+msgstr "標題"
#. module: event
#: field:event.event,mail_registr:0
msgid "Registration Email"
-msgstr "登記電郵"
+msgstr "登記記錄的郵件"
#. module: event
#: model:ir.actions.act_window,name:event.action_event_confirm_registration
msgid "Make Invoices"
-msgstr "開立發票"
+msgstr "生成發票"
#. module: event
#: view:event.event:0
#: view:event.registration:0
msgid "Registration Date"
-msgstr "登記日期"
+msgstr "登錄日期"
#. module: event
#: view:partner.event.registration:0
msgid "_Close"
-msgstr "結束(_C)"
+msgstr "結束"
#. module: event
#: model:event.event,name:event.event_0
@@ -82,17 +82,17 @@ msgstr "Bon Jovi 演唱會"
#. module: event
#: view:report.event.registration:0
msgid "Invoiced Registrations only"
-msgstr ""
+msgstr "僅已開發票的報名者"
#. module: event
#: selection:report.event.registration,month:0
msgid "March"
-msgstr "三月"
+msgstr "3月"
#. module: event
#: field:event.event,mail_confirm:0
msgid "Confirmation Email"
-msgstr "確認電郵"
+msgstr "確認電子郵件"
#. module: event
#: field:event.registration,nb_register:0
@@ -103,7 +103,7 @@ msgstr "數量"
#: code:addons/event/wizard/event_make_invoice.py:63
#, python-format
msgid "Registration doesn't have any partner to invoice."
-msgstr ""
+msgstr "登記記錄沒有給任何業務夥伴開發票"
#. module: event
#: field:event.event,company_id:0
@@ -121,7 +121,7 @@ msgstr "發票日期"
#. module: event
#: help:event.event,pricelist_id:0
msgid "Pricelist version for current event."
-msgstr "當前活動價目表版本"
+msgstr "當前事件的價目表版本"
#. module: event
#: code:addons/event/wizard/partner_event_registration.py:88
@@ -131,17 +131,17 @@ msgstr "當前活動價目表版本"
#: view:partner.event.registration:0
#, python-format
msgid "Event Registration"
-msgstr "活動登記"
+msgstr "事件登錄"
#. module: event
#: field:event.event,parent_id:0
msgid "Parent Event"
-msgstr "上級活動"
+msgstr "上級事件"
#. module: event
#: model:ir.actions.act_window,name:event.action_make_invoices
msgid "Make Invoice"
-msgstr "開立發票"
+msgstr "生成發票"
#. module: event
#: field:event.registration,price_subtotal:0
@@ -151,27 +151,27 @@ msgstr "小計"
#. module: event
#: view:report.event.registration:0
msgid "Event on Registration"
-msgstr "正登記活動"
+msgstr "登錄的事件"
#. module: event
#: help:event.event,reply_to:0
msgid "The email address put in the 'Reply-To' of all emails sent by OpenERP"
-msgstr ""
+msgstr "所有系統的電子郵件在「回覆」填入這郵件地址。"
#. module: event
#: view:event.registration:0
msgid "Add Internal Note"
-msgstr "添加內部記事"
+msgstr "新增內部備註"
#. module: event
#: view:event.event:0
msgid "Confirmed events"
-msgstr ""
+msgstr "已確認的活動"
#. module: event
#: view:report.event.registration:0
msgid "Event Beginning Date"
-msgstr ""
+msgstr "活動開始日期"
#. module: event
#: model:ir.actions.act_window,name:event.action_report_event_registration
@@ -179,17 +179,17 @@ msgstr ""
#: model:ir.ui.menu,name:event.menu_report_event_registration
#: view:report.event.registration:0
msgid "Events Analysis"
-msgstr "活動分析"
+msgstr "事件分析"
#. module: event
#: field:event.registration,message_ids:0
msgid "Messages"
-msgstr "郵件"
+msgstr "訊息"
#. module: event
#: model:ir.model,name:event.model_event_registration_badge
msgid "event.registration.badge"
-msgstr ""
+msgstr "event.registration.badge"
#. module: event
#: field:event.event,mail_auto_confirm:0
@@ -206,25 +206,25 @@ msgstr "歌劇門票"
#: view:event.event:0
#, python-format
msgid "Confirm Event"
-msgstr "確認活動"
+msgstr "確認事件"
#. module: event
#: selection:event.event,state:0
#: selection:event.registration,state:0
#: selection:report.event.registration,state:0
msgid "Cancelled"
-msgstr "取消"
+msgstr "已取消"
#. module: event
#: field:event.event,reply_to:0
msgid "Reply-To"
-msgstr "回覆至"
+msgstr "回覆:"
#. module: event
#: model:ir.actions.act_window,name:event.open_board_associations_manager
#: model:ir.ui.menu,name:event.menu_board_associations_manager
msgid "Event Dashboard"
-msgstr "活動儀錶板"
+msgstr "事件控制台"
#. module: event
#: model:event.event,name:event.event_1
@@ -234,40 +234,40 @@ msgstr "威爾第歌劇"
#. module: event
#: selection:report.event.registration,month:0
msgid "July"
-msgstr "七月"
+msgstr "7月"
#. module: event
#: help:event.event,register_prospect:0
msgid "Total of Prospect Registrations"
-msgstr ""
+msgstr "意向報名者合計"
#. module: event
#: help:event.event,mail_auto_confirm:0
msgid ""
"Check this box if you want to use automatic confirmation emailing or "
"reminder."
-msgstr ""
+msgstr "如果你想用自動確認郵件或提醒請勾選這裡。"
#. module: event
#: field:event.registration,ref:0
msgid "Reference"
-msgstr "參照"
+msgstr "關聯"
#. module: event
#: help:event.event,date_end:0
#: help:partner.event.registration,end_date:0
msgid "Closing Date of Event"
-msgstr "活動結束日期"
+msgstr "事件的結束日期"
#. module: event
#: view:event.registration:0
msgid "Emails"
-msgstr "電郵"
+msgstr "電子郵件"
#. module: event
#: view:event.registration:0
msgid "Extra Info"
-msgstr "額外資訊"
+msgstr "附加資訊"
#. module: event
#: code:addons/event/wizard/event_make_invoice.py:83
@@ -279,17 +279,17 @@ msgstr "客戶發票"
#: selection:event.event,state:0
#: selection:report.event.registration,state:0
msgid "Draft"
-msgstr "草案"
+msgstr "草稿"
#. module: event
#: field:event.type,name:0
msgid "Event type"
-msgstr "活動類型"
+msgstr "事件類型"
#. module: event
#: model:ir.model,name:event.model_event_type
msgid " Event Type "
-msgstr " 活動類型 "
+msgstr " 事件類型 "
#. module: event
#: view:event.event:0
@@ -301,13 +301,13 @@ msgstr " 活動類型 "
#: field:report.event.registration,event_id:0
#: view:res.partner:0
msgid "Event"
-msgstr "活動"
+msgstr "事件"
#. module: event
#: view:event.registration:0
#: field:event.registration,badge_ids:0
msgid "Badges"
-msgstr "襟章"
+msgstr "標記"
#. module: event
#: view:event.event:0
@@ -316,38 +316,38 @@ msgstr "襟章"
#: selection:event.registration,state:0
#: selection:report.event.registration,state:0
msgid "Confirmed"
-msgstr "確認"
+msgstr "已確認"
#. module: event
#: view:event.confirm.registration:0
msgid "Registration Confirmation"
-msgstr "登記確認"
+msgstr "確認登記記錄"
#. module: event
#: view:event.event:0
msgid "Events in New state"
-msgstr ""
+msgstr "在新建狀態的活動"
#. module: event
#: view:report.event.registration:0
msgid "Confirm"
-msgstr ""
+msgstr "確認"
#. module: event
#: view:event.event:0
#: field:event.event,speaker_ids:0
msgid "Other Speakers"
-msgstr "其他講者"
+msgstr "其他關注者"
#. module: event
#: model:ir.model,name:event.model_event_make_invoice
msgid "Event Make Invoice"
-msgstr "活動開立發票"
+msgstr "事件建立發票"
#. module: event
#: help:event.registration,nb_register:0
msgid "Number of Registrations or Tickets"
-msgstr "登記或門票數量"
+msgstr "登錄編號或票"
#. module: event
#: code:addons/event/wizard/event_make_invoice.py:50
@@ -361,30 +361,30 @@ msgstr "警告!"
#. module: event
#: view:event.registration:0
msgid "Send New Email"
-msgstr "發送新電郵"
+msgstr "發送新電子郵件"
#. module: event
#: help:event.event,register_min:0
msgid "Provide Minimum Number of Registrations"
-msgstr ""
+msgstr "提供最小的報名人數"
#. module: event
#: view:event.event:0
msgid "Location"
-msgstr "地點"
+msgstr "位置"
#. module: event
#: view:event.event:0
#: view:event.registration:0
#: view:report.event.registration:0
msgid "New"
-msgstr ""
+msgstr "新建"
#. module: event
#: field:event.event,register_current:0
#: view:report.event.registration:0
msgid "Confirmed Registrations"
-msgstr "已確認登記"
+msgstr "確認登記記錄"
#. module: event
#: field:event.event,mail_auto_registr:0
@@ -400,7 +400,7 @@ msgstr "類型"
#. module: event
#: field:event.registration,email_from:0
msgid "Email"
-msgstr "電郵"
+msgstr "電子郵件"
#. module: event
#: help:event.event,mail_confirm:0
@@ -408,17 +408,17 @@ msgid ""
"This email will be sent when the event gets confirmed or when someone "
"subscribes to a confirmed event. This is also the email sent to remind "
"someone about the event."
-msgstr ""
+msgstr "這封郵件會在活動已確認或有人註冊了已確認的郵件時發送。此郵件也會發送關於本活動的提醒。"
#. module: event
#: field:event.registration,tobe_invoiced:0
msgid "To be Invoiced"
-msgstr ""
+msgstr "待開票"
#. module: event
#: view:event.event:0
msgid "My Sales Team(s)"
-msgstr ""
+msgstr "我的銷售團隊"
#. module: event
#: code:addons/event/event.py:398
@@ -430,55 +430,55 @@ msgstr "錯誤!"
#: field:event.event,name:0
#: field:event.registration,name:0
msgid "Summary"
-msgstr "摘要"
+msgstr "概要"
#. module: event
#: field:event.registration,create_date:0
msgid "Creation Date"
-msgstr ""
+msgstr "建立日期"
#. module: event
#: view:event.event:0
#: view:event.registration:0
#: view:res.partner:0
msgid "Cancel Registration"
-msgstr "取消登記"
+msgstr "取消登記記錄"
#. module: event
#: code:addons/event/event.py:399
#, python-format
msgid "Registered partner doesn't have an address to make the invoice."
-msgstr ""
+msgstr "要開票的登記記錄裡的業務夥伴沒地址"
#. module: event
#: view:report.event.registration:0
msgid "Events created in last month"
-msgstr ""
+msgstr "上個月新建的活動"
#. module: event
#: view:report.event.registration:0
msgid "Events created in current year"
-msgstr ""
+msgstr "本年新建的活動"
#. module: event
#: help:event.event,type:0
msgid "Type of Event like Seminar, Exhibition, Conference, Training."
-msgstr "活動類型,如座談會、展覽、會議、培訓"
+msgstr "事件類型如:研討會,展覽,會議,培訓。"
#. module: event
#: view:event.registration:0
msgid "Confirmed registrations"
-msgstr ""
+msgstr "確認報名者"
#. module: event
#: view:event.event:0
msgid "Event Organization"
-msgstr "活動組織"
+msgstr "事件結構"
#. module: event
#: view:event.registration:0
msgid "History Information"
-msgstr "歷史資訊"
+msgstr "日誌資訊"
#. module: event
#: view:event.registration:0
@@ -489,18 +489,18 @@ msgstr "日期"
#: view:event.confirm:0
#: view:event.confirm.registration:0
msgid "Confirm Anyway"
-msgstr "無論如何確認"
+msgstr "總是確認"
#. module: event
#: code:addons/event/wizard/event_confirm_registration.py:54
#, python-format
msgid "Warning: The Event '%s' has reached its Maximum Limit (%s)."
-msgstr ""
+msgstr "警告:這事件 '%s'已達到最高極限 (%s)。"
#. module: event
#: view:report.event.registration:0
msgid " Month-1 "
-msgstr ""
+msgstr " 上月 "
#. module: event
#: view:event.event:0
@@ -508,17 +508,17 @@ msgstr ""
#: field:event.registration.badge,registration_id:0
#: model:ir.actions.act_window,name:event.act_event_list_register_event
msgid "Registration"
-msgstr "登記"
+msgstr "登記記錄"
#. module: event
#: field:report.event.registration,nbevent:0
msgid "Number Of Events"
-msgstr "活動數目"
+msgstr "事件數"
#. module: event
#: help:event.event,main_speaker_id:0
msgid "Speaker who will be giving speech at the event."
-msgstr ""
+msgstr "要在這次活動上發言的演講者"
#. module: event
#: help:event.event,state:0
@@ -527,17 +527,18 @@ msgid ""
"particular dates the state is set to 'Confirmed'. If the event is over, the "
"state is set to 'Done'.If event is cancelled the state is set to 'Cancelled'."
msgstr ""
+"如果事件剛建立狀態是「草稿」。如果事件在具體的日期已確認狀態是「已確認」。如果事件結束狀態設為「完成」。如果事件已經取消狀態是「已取消」。"
#. module: event
#: view:event.event:0
msgid "Cancel Event"
-msgstr "取消活動"
+msgstr "取消事件"
#. module: event
#: view:event.event:0
#: view:event.registration:0
msgid "Contact"
-msgstr "聯絡人"
+msgstr "聯繫方式"
#. module: event
#: view:event.event:0
@@ -545,45 +546,45 @@ msgstr "聯絡人"
#: field:event.registration,partner_id:0
#: model:ir.model,name:event.model_res_partner
msgid "Partner"
-msgstr "伙伴"
+msgstr "業務夥伴"
#. module: event
#: view:board.board:0
#: model:ir.actions.act_window,name:event.act_event_reg
#: view:report.event.registration:0
msgid "Events Filling Status"
-msgstr ""
+msgstr "事件填充狀態"
#. module: event
#: field:event.make.invoice,grouped:0
msgid "Group the invoices"
-msgstr "發票分類"
+msgstr "發票組"
#. module: event
#: view:event.event:0
msgid "Mailing"
-msgstr ""
+msgstr "郵遞"
#. module: event
#: view:report.event.registration:0
msgid "Events States"
-msgstr ""
+msgstr "活動狀態"
#. module: event
#: view:board.board:0
#: field:event.event,register_prospect:0
msgid "Unconfirmed Registrations"
-msgstr "未確認登記"
+msgstr "不確認登記記錄"
#. module: event
#: field:event.registration,partner_invoice_id:0
msgid "Partner Invoiced"
-msgstr ""
+msgstr "已開票業務夥伴"
#. module: event
#: help:event.event,register_max:0
msgid "Provide Maximum Number of Registrations"
-msgstr ""
+msgstr "提供本次報名的最大人數"
#. module: event
#: field:event.registration,log_ids:0
@@ -598,17 +599,17 @@ msgstr "日誌"
#: view:report.event.registration:0
#: field:report.event.registration,state:0
msgid "State"
-msgstr ""
+msgstr "狀態"
#. module: event
#: selection:report.event.registration,month:0
msgid "September"
-msgstr "九月"
+msgstr "9月"
#. module: event
#: selection:report.event.registration,month:0
msgid "December"
-msgstr "十二月"
+msgstr "12月"
#. module: event
#: field:event.registration,event_product:0
@@ -618,28 +619,28 @@ msgstr "發票名稱"
#. module: event
#: field:report.event.registration,draft_state:0
msgid " # No of Draft Registrations"
-msgstr ""
+msgstr " # 沒草稿狀態的登記記錄"
#. module: event
#: view:report.event.registration:0
#: field:report.event.registration,month:0
msgid "Month"
-msgstr "月"
+msgstr "月份"
#. module: event
#: view:event.event:0
msgid "Event Done"
-msgstr "活動完結"
+msgstr "事件完成"
#. module: event
#: view:event.registration:0
msgid "Registrations in unconfirmed state"
-msgstr ""
+msgstr "未確認狀態的報名者"
#. module: event
#: help:event.event,register_current:0
msgid "Total of Open and Done Registrations"
-msgstr "開放及完成登記總數"
+msgstr "開啟和完成的登記記錄共有"
#. module: event
#: field:event.confirm.registration,msg:0
@@ -649,35 +650,35 @@ msgstr "訊息"
#. module: event
#: constraint:event.event:0
msgid "Error ! You cannot create recursive event."
-msgstr ""
+msgstr "錯誤!你不能建立互相調用的事件。"
#. module: event
#: field:event.registration,ref2:0
msgid "Reference 2"
-msgstr "參照 2"
+msgstr "關聯2"
#. module: event
#: code:addons/event/event.py:361
#: view:report.event.registration:0
#, python-format
msgid "Invoiced"
-msgstr "已開發票"
+msgstr "已開票"
#. module: event
#: view:event.event:0
#: view:report.event.registration:0
msgid "My Events"
-msgstr "我的活動"
+msgstr "我的事件"
#. module: event
#: view:event.event:0
msgid "Speakers"
-msgstr "講者"
+msgstr "關注者"
#. module: event
#: view:event.make.invoice:0
msgid "Create invoices"
-msgstr ""
+msgstr "開立發票"
#. module: event
#: help:event.registration,email_cc:0
@@ -685,12 +686,12 @@ msgid ""
"These email addresses will be added to the CC field of all inbound and "
"outbound emails for this record before being sent. Separate multiple email "
"addresses with a comma"
-msgstr ""
+msgstr "這些郵箱地址將添加到所有接收的發送郵件的副本欄位,用逗號分隔多個郵件地址。"
#. module: event
#: view:event.make.invoice:0
msgid "Do you really want to create the invoice(s) ?"
-msgstr ""
+msgstr "你真的要生成發票嗎 ?"
#. module: event
#: view:event.event:0
@@ -700,12 +701,12 @@ msgstr "開始日期"
#. module: event
#: field:event.registration,date_closed:0
msgid "Closed"
-msgstr "結束"
+msgstr "已結束"
#. module: event
#: view:report.event.registration:0
msgid "Events which are in New state"
-msgstr ""
+msgstr "新建狀態的活動"
#. module: event
#: view:event.event:0
@@ -714,28 +715,28 @@ msgstr ""
#: model:ir.ui.menu,name:event.menu_event_event_assiciation
#: view:res.partner:0
msgid "Events"
-msgstr "活動"
+msgstr "事件"
#. module: event
#: field:partner.event.registration,nb_register:0
msgid "Number of Registration"
-msgstr "登記數量"
+msgstr "登記記錄數"
#. module: event
#: field:event.event,child_ids:0
msgid "Child Events"
-msgstr "子活動"
+msgstr "子事件"
#. module: event
#: selection:report.event.registration,month:0
msgid "August"
-msgstr "八月"
+msgstr "8月"
#. module: event
#: field:res.partner,event_ids:0
#: field:res.partner,event_registration_ids:0
msgid "unknown"
-msgstr "不詳"
+msgstr "未知的"
#. module: event
#: help:event.event,product_id:0
@@ -743,39 +744,39 @@ msgid ""
"The invoices of this event registration will be created with this Product. "
"Thus it allows you to set the default label and the accounting info you want "
"by default on these invoices."
-msgstr ""
+msgstr "將建立這事件登記記錄的產品發票。因此對這些預設發票它允許你設置預設的標籤和會計資訊。"
#. module: event
#: selection:report.event.registration,month:0
msgid "June"
-msgstr "六月"
+msgstr "6月"
#. module: event
#: model:product.template,name:event.event_product_0_product_template
msgid "Ticket for Concert"
-msgstr ""
+msgstr "合作的門票"
#. module: event
#: field:event.registration,write_date:0
msgid "Write Date"
-msgstr ""
+msgstr "寫入日期"
#. module: event
#: view:event.registration:0
msgid "My Registrations"
-msgstr "我的登記"
+msgstr "我的登記記錄"
#. module: event
#: view:event.confirm:0
msgid ""
"Warning: This Event has not reached its Minimum Registration Limit. Are you "
"sure you want to confirm it?"
-msgstr "警告:本活動未達最少登記限制。是否確認?"
+msgstr "警告:這事件沒有達到最低登記記錄的規定,你肯定要確認它?"
#. module: event
#: field:event.registration,active:0
msgid "Active"
-msgstr ""
+msgstr "生效"
#. module: event
#: field:event.registration,date:0
@@ -785,12 +786,12 @@ msgstr "開始日期"
#. module: event
#: selection:report.event.registration,month:0
msgid "November"
-msgstr "十一月"
+msgstr "11月"
#. module: event
#: view:report.event.registration:0
msgid "Extended Filters..."
-msgstr ""
+msgstr "增加篩選條件"
#. module: event
#: field:partner.event.registration,start_date:0
@@ -800,7 +801,7 @@ msgstr "開始日期"
#. module: event
#: selection:report.event.registration,month:0
msgid "October"
-msgstr "十月"
+msgstr "10月"
#. module: event
#: field:event.event,language:0
@@ -811,22 +812,22 @@ msgstr "語言"
#: view:event.registration:0
#: field:event.registration,email_cc:0
msgid "CC"
-msgstr "副本(CC)"
+msgstr "抄送"
#. module: event
#: selection:report.event.registration,month:0
msgid "January"
-msgstr "一月"
+msgstr "1月"
#. module: event
#: help:event.registration,email_from:0
msgid "These people will receive email."
-msgstr "此等人士會收到電郵"
+msgstr "這些人將收到電子郵件。"
#. module: event
#: view:event.event:0
msgid "Set To Draft"
-msgstr "設為草案"
+msgstr "設為草稿"
#. module: event
#: code:addons/event/event.py:499
@@ -835,7 +836,7 @@ msgstr "設為草案"
#: view:res.partner:0
#, python-format
msgid "Confirm Registration"
-msgstr "確認登記"
+msgstr "確認登記記錄"
#. module: event
#: view:event.event:0
@@ -847,39 +848,39 @@ msgstr "日期"
#. module: event
#: view:event.event:0
msgid "Registration Email Body"
-msgstr "登記電郵內容"
+msgstr "登記記錄的郵件內容"
#. module: event
#: view:event.event:0
msgid "Confirmation Email Body"
-msgstr "確認電郵內容"
+msgstr "確認郵件內容"
#. module: event
#: view:report.event.registration:0
msgid "Registrations in confirmed or done state"
-msgstr ""
+msgstr "在已確認或已完成狀態的報名者"
#. module: event
#: view:event.registration:0
#: view:res.partner:0
msgid "History"
-msgstr "歷史"
+msgstr "日誌"
#. module: event
#: field:event.event,address_id:0
msgid "Location Address"
-msgstr "地點位址"
+msgstr "地址"
#. module: event
#: model:ir.actions.act_window,name:event.action_event_type
#: model:ir.ui.menu,name:event.menu_event_type
msgid "Types of Events"
-msgstr "活動類型"
+msgstr "事件類型"
#. module: event
#: field:event.registration,contact_id:0
msgid "Partner Contact"
-msgstr "伙伴聯絡人"
+msgstr "業務夥伴聯繫方式"
#. module: event
#: field:event.event,pricelist_id:0
@@ -890,12 +891,12 @@ msgstr "價目表"
#: code:addons/event/wizard/event_make_invoice.py:59
#, python-format
msgid "Event related doesn't have any product defined"
-msgstr ""
+msgstr "事件沒關聯任何定義的產品"
#. module: event
#: view:event.event:0
msgid "Auto Confirmation Email"
-msgstr "自動確認電郵"
+msgstr "自動確認郵件"
#. module: event
#: view:event.registration:0
@@ -905,7 +906,7 @@ msgstr "雜項"
#. module: event
#: constraint:event.event:0
msgid "Error ! Closing Date cannot be set before Beginning Date."
-msgstr "錯誤!結束日期不能早於開始日期"
+msgstr "錯誤!結束日期不能在開始日期前。"
#. module: event
#: code:addons/event/event.py:446
@@ -932,7 +933,7 @@ msgstr "發票"
#: view:report.event.registration:0
#: field:report.event.registration,year:0
msgid "Year"
-msgstr "年份"
+msgstr "年"
#. module: event
#: code:addons/event/event.py:465
@@ -945,30 +946,30 @@ msgstr "取消"
#: view:event.confirm.registration:0
#: view:event.make.invoice:0
msgid "Close"
-msgstr "關閉"
+msgstr "結束"
#. module: event
#: view:event.event:0
msgid "Event by Registration"
-msgstr "各登記活動"
+msgstr "事件登記記錄"
#. module: event
#: code:addons/event/event.py:436
#, python-format
msgid "Open"
-msgstr "開放"
+msgstr "開啟"
#. module: event
#: field:event.event,user_id:0
msgid "Responsible User"
-msgstr "負責用戶"
+msgstr "責任用戶"
#. module: event
#: code:addons/event/event.py:561
#: code:addons/event/event.py:568
#, python-format
msgid "Auto Confirmation: [%s] %s"
-msgstr "自動確認:[%s] %s"
+msgstr "自動確認: [%s] %s"
#. module: event
#: view:event.event:0
@@ -977,14 +978,14 @@ msgstr "自動確認:[%s] %s"
#: view:report.event.registration:0
#: field:report.event.registration,user_id:0
msgid "Responsible"
-msgstr "負責"
+msgstr "負責人"
#. module: event
#: field:event.event,unit_price:0
#: view:event.registration:0
#: field:partner.event.registration,unit_price:0
msgid "Registration Cost"
-msgstr "登記成本"
+msgstr "登記記錄的成本"
#. module: event
#: field:event.registration,unit_price:0
@@ -996,7 +997,7 @@ msgstr "單價"
#: field:report.event.registration,speaker_id:0
#: field:res.partner,speaker:0
msgid "Speaker"
-msgstr "講者"
+msgstr "關注者"
#. module: event
#: model:event.event,name:event.event_2
@@ -1011,13 +1012,13 @@ msgstr "回覆"
#. module: event
#: view:report.event.registration:0
msgid "Events created in current month"
-msgstr ""
+msgstr "本月新建的活動"
#. module: event
#: help:event.event,mail_auto_registr:0
msgid ""
"Check this box if you want to use automatic emailing for new registration."
-msgstr ""
+msgstr "如果你要自動發郵件給新的報名者請勾選此項。"
#. module: event
#: field:event.event,date_end:0
@@ -1038,12 +1039,12 @@ msgstr "產品"
#: view:event.registration:0
#: field:event.registration,description:0
msgid "Description"
-msgstr "說明"
+msgstr "描述"
#. module: event
#: field:report.event.registration,confirm_state:0
msgid " # No of Confirmed Registrations"
-msgstr " # 已確認登記數"
+msgstr " # 沒確認登記記錄"
#. module: event
#: model:ir.actions.act_window,name:event.act_register_event_partner
@@ -1053,17 +1054,17 @@ msgstr "訂閱"
#. module: event
#: selection:report.event.registration,month:0
msgid "May"
-msgstr "五月"
+msgstr "5月"
#. module: event
#: view:res.partner:0
msgid "Events Registration"
-msgstr "活動登記"
+msgstr "事件登記記錄"
#. module: event
#: help:event.event,mail_registr:0
msgid "This email will be sent when someone subscribes to the event."
-msgstr ""
+msgstr "當有人讚同這事件時將發送這郵件"
#. module: event
#: model:product.template,name:event.event_product_2_product_template
@@ -1073,34 +1074,34 @@ msgstr "會議門票"
#. module: event
#: model:ir.ui.menu,name:event.menu_event_type_association
msgid "Events Type"
-msgstr ""
+msgstr "活動類型"
#. module: event
#: field:event.registration.badge,address_id:0
msgid "Address"
-msgstr "地址"
+msgstr "地址:"
#. module: event
#: view:board.board:0
#: model:ir.actions.act_window,name:event.act_event_view
msgid "Next Events"
-msgstr "下個活動"
+msgstr "下一個事件"
#. module: event
#: view:partner.event.registration:0
msgid "_Subcribe"
-msgstr "訂閱(_S)"
+msgstr "訂閱"
#. module: event
#: model:ir.model,name:event.model_partner_event_registration
msgid " event Registration "
-msgstr " 活動登記 "
+msgstr " 事件登記記錄 "
#. module: event
#: help:event.event,date_begin:0
#: help:partner.event.registration,start_date:0
msgid "Beginning Date of Event"
-msgstr "活動開始日"
+msgstr "事件開始日期"
#. module: event
#: selection:event.registration,state:0
@@ -1111,22 +1112,22 @@ msgstr "未確認"
#: code:addons/event/event.py:565
#, python-format
msgid "Auto Registration: [%s] %s"
-msgstr "自動登記:[%s] %s"
+msgstr "自動登記記錄: [%s] %s"
#. module: event
#: field:event.registration,date_deadline:0
msgid "End Date"
-msgstr "結束日"
+msgstr "結束日期"
#. module: event
#: selection:report.event.registration,month:0
msgid "February"
-msgstr "二月"
+msgstr "2月"
#. module: event
#: view:board.board:0
msgid "Association Dashboard"
-msgstr ""
+msgstr "商會控制台"
#. module: event
#: view:event.event:0
@@ -1140,18 +1141,18 @@ msgstr "名稱"
#: view:report.event.registration:0
#: field:report.event.registration,section_id:0
msgid "Sale Team"
-msgstr "業務團隊"
+msgstr "銷售團隊"
#. module: event
#: field:event.event,country_id:0
msgid "Country"
-msgstr "國家或地區"
+msgstr "國家"
#. module: event
#: code:addons/event/wizard/event_make_invoice.py:55
#, python-format
msgid "Registration is set as Cannot be invoiced"
-msgstr ""
+msgstr "登記記錄設置為不能開發票"
#. module: event
#: code:addons/event/event.py:527
@@ -1160,24 +1161,24 @@ msgstr ""
#: view:res.partner:0
#, python-format
msgid "Close Registration"
-msgstr "結束登記"
+msgstr "結束登記記錄"
#. module: event
#: selection:report.event.registration,month:0
msgid "April"
-msgstr "四月"
+msgstr "4月"
#. module: event
#: help:event.event,unit_price:0
msgid ""
"This will be the default price used as registration cost when invoicing this "
"event. Note that you can specify a specific amount for each registration."
-msgstr ""
+msgstr "這裡是開發票是預設的報名價格,注意你可以對每個報名者用不同的價格。"
#. module: event
#: view:report.event.registration:0
msgid "Events which are in confirm state"
-msgstr ""
+msgstr "已確認狀態的活動"
#. module: event
#: view:event.event:0
@@ -1185,7 +1186,7 @@ msgstr ""
#: view:report.event.registration:0
#: field:report.event.registration,type:0
msgid "Event Type"
-msgstr "活動類型"
+msgstr "事件類型"
#. module: event
#: view:event.event:0
@@ -1194,51 +1195,51 @@ msgstr "活動類型"
#: model:ir.ui.menu,name:event.menu_action_registration
#: model:ir.ui.menu,name:event.menu_action_registration_association
msgid "Registrations"
-msgstr "登記"
+msgstr "登記記錄"
#. module: event
#: field:event.registration,id:0
msgid "ID"
-msgstr ""
+msgstr "標識"
#. module: event
#: field:event.event,register_max:0
#: field:report.event.registration,register_max:0
msgid "Maximum Registrations"
-msgstr "最大登記數"
+msgstr "最多的登記記錄"
#. module: event
#: constraint:res.partner:0
msgid "Error ! You cannot create recursive associated members."
-msgstr ""
+msgstr "錯誤,您不能建立循環引用的會員用戶"
#. module: event
#: field:report.event.registration,date:0
msgid "Event Start Date"
-msgstr "活動開始日"
+msgstr "事件開始日期"
#. module: event
#: view:partner.event.registration:0
msgid "Event For Registration"
-msgstr "可登記活動"
+msgstr "登記記錄引起的事件"
#. module: event
#: code:addons/event/wizard/event_make_invoice.py:51
#, python-format
msgid "Invoice cannot be created if the registration is in %s state."
-msgstr ""
+msgstr "如果登記記錄在 %s 狀態,不能開發票。"
#. module: event
#: view:event.confirm:0
#: model:ir.actions.act_window,name:event.action_event_confirm
#: model:ir.model,name:event.model_event_confirm
msgid "Event Confirmation"
-msgstr "活動確認"
+msgstr "事件確認"
#. module: event
#: view:event.event:0
msgid "Auto Registration Email"
-msgstr "自動登記電郵"
+msgstr "自動登記記錄郵件"
#. module: event
#: view:event.registration:0
@@ -1250,7 +1251,7 @@ msgstr "總計"
#. module: event
#: field:event.event,speaker_confirmed:0
msgid "Speaker Confirmed"
-msgstr "已確認講者"
+msgstr "關注者確認"
#. module: event
#: model:ir.actions.act_window,help:event.action_event_view
@@ -1259,7 +1260,7 @@ msgid ""
"should be synchronized with mobile devices or calendar applications through "
"caldav. Most of the users should work in the Calendar menu, and not in the "
"list of events."
-msgstr ""
+msgstr "事件是低層對象用於會議和其它文檔通過caldar同步移動設備或日程表應用程序。大多數用戶將使用日程表菜單而不是事件列表。"
#~ msgid "Provide Maximun Number of Registrations"
#~ msgstr "提供登記最大數"
diff --git a/addons/event_project/i18n/zh_TW.po b/addons/event_project/i18n/zh_TW.po
index bffc12fa553..764a9d8957f 100644
--- a/addons/event_project/i18n/zh_TW.po
+++ b/addons/event_project/i18n/zh_TW.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2009-01-23 17:18+0000\n"
-"Last-Translator: <>\n"
+"PO-Revision-Date: 2012-08-30 03:32+0000\n"
+"Last-Translator: Bonnie Duan \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-08-31 04:56+0000\n"
+"X-Generator: Launchpad (build 15887)\n"
#. module: event_project
#: model:ir.model,name:event_project.model_event_project
@@ -29,7 +29,7 @@ msgstr "結束日期"
#. module: event_project
#: view:event.project:0
msgid "Ok"
-msgstr ""
+msgstr "確認"
#. module: event_project
#: help:event.project,project_id:0
@@ -37,13 +37,13 @@ msgid ""
"This is Template Project. Project of event is a duplicate of this Template. "
"After click on 'Create Retro-planning', New Project will be duplicated from "
"this template project."
-msgstr ""
+msgstr "這是模板專案。專案的事件是重複的,這個模板。點擊打造追朔規劃“後,新專案將被複製此模板的專案。"
#. module: event_project
#: view:event.project:0
#: model:ir.actions.act_window,name:event_project.action_event_project
msgid "Retro-Planning"
-msgstr ""
+msgstr "追溯計畫"
#. module: event_project
#: constraint:event.event:0
@@ -63,23 +63,23 @@ msgstr "專案範本"
#. module: event_project
#: view:event.event:0
msgid "All tasks"
-msgstr ""
+msgstr "所有的工作任務"
#. module: event_project
#: view:event.event:0
#: model:ir.actions.act_window,name:event_project.act_event_task
msgid "Tasks"
-msgstr ""
+msgstr "任務"
#. module: event_project
#: constraint:event.event:0
msgid "Error ! You cannot create recursive event."
-msgstr ""
+msgstr "錯誤!您不能創建遞歸的事件"
#. module: event_project
#: field:event.event,task_ids:0
msgid "Project tasks"
-msgstr ""
+msgstr "專案任務"
#. module: event_project
#: view:event.project:0
@@ -94,7 +94,7 @@ msgstr "開始日期"
#. module: event_project
#: view:event.event:0
msgid "Create Retro-Planning"
-msgstr ""
+msgstr "創建追溯計畫"
#. module: event_project
#: model:ir.model,name:event_project.model_event_event
@@ -104,7 +104,7 @@ msgstr "活動"
#. module: event_project
#: view:event.event:0
msgid "Tasks Management"
-msgstr ""
+msgstr "任務管理"
#~ msgid ""
#~ "Organization and management of events.\n"
diff --git a/addons/event_sale/event_sale_view.xml b/addons/event_sale/event_sale_view.xml
index 82c1c05b714..53e8a4cc18f 100644
--- a/addons/event_sale/event_sale_view.xml
+++ b/addons/event_sale/event_sale_view.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml
index 0dcc675e665..99d7af027e9 100644
--- a/addons/hr/hr_view.xml
+++ b/addons/hr/hr_view.xml
@@ -130,11 +130,11 @@
-
+
diff --git a/addons/hr_timesheet/hr_timesheet_view.xml b/addons/hr_timesheet/hr_timesheet_view.xml
index d364d605b5f..6ece274fea1 100644
--- a/addons/hr_timesheet/hr_timesheet_view.xml
+++ b/addons/hr_timesheet/hr_timesheet_view.xml
@@ -83,11 +83,9 @@
account.analytic.account
-
-
-
-
+
+
diff --git a/addons/import_sugarcrm/i18n/de.po b/addons/import_sugarcrm/i18n/de.po
new file mode 100644
index 00000000000..e47dc95b8dd
--- /dev/null
+++ b/addons/import_sugarcrm/i18n/de.po
@@ -0,0 +1,429 @@
+# German 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-08-29 07:36+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: German \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-30 05:12+0000\n"
+"X-Generator: Launchpad (build 15864)\n"
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1105
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1131
+#, python-format
+msgid "Error !!"
+msgstr "Fehler!"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"Use the SugarSoap API URL (read tooltip) and a full access SugarCRM login."
+msgstr ""
+"Nutzen Sie die SugarSoap API URL (siehe Tooltip) und eine SugarCRM-Anmeldung "
+"mit Vollzugriff."
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "(Coming Soon)"
+msgstr "(Bald erwartet)"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,document:0
+msgid "Documents"
+msgstr "Dokumente"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Import your data from SugarCRM :"
+msgstr "Importieren Sie Ihre Daten aus SugarCRM:"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"Choose data you want to import. Click 'Import' to get data manually or "
+"'Schedule Reccurent Imports' to get recurrently and automatically data."
+msgstr ""
+"Wählen Sie die zu importierenden Daten aus. Drücken Sie \"Import\", um Daten "
+"manuell zu holen oder \"Wiederkehrende Importe Terminieren\", um Daten "
+"automatisch und wiederholt einzuholen."
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,contact:0
+msgid "Contacts"
+msgstr "Kontakte"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "HR"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,bug:0
+msgid "Check this box to import sugarCRM Bugs into OpenERP project issues"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,instance_name:0
+msgid "Instance's Name"
+msgstr "Name der Instanz"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,project_task:0
+msgid "Project Tasks"
+msgstr "Projekt Aufgaben"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,email_from:0
+msgid "Notify End Of Import To:"
+msgstr "Über Abschluss des Imports zu informieren:"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,user:0
+msgid ""
+"Check this box to import sugarCRM Users into OpenERP users, warning if a "
+"user with the same login exist in OpenERP, user information will be erase by "
+"sugarCRM user information"
+msgstr ""
+"Haken Sie dieses Feld an, um SugarCRM-Benutzer als OpenERP-Benutzer zu "
+"importieren. Hinweis: In OpenERP bestehende Benutzer gleichen Namens werden "
+"gelöscht und durch die SugarCRM-Information ersetzt."
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugarsoap_services.py:23
+#, python-format
+msgid "Please install SOAP for python - ZSI-2.0-rc3.tar.gz - python-zci"
+msgstr ""
+"Installieren Sie bitte SOAP für Python - ZSI-2.0-rc3.tar.gz - python-zci"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "_Schedule Recurrent Imports"
+msgstr "_Terminierung wiederkehrender Importe"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"Do not forget the email address to be notified of the success of the import."
+msgstr ""
+"Vergessen Sie nicht die über den Erfolg des Imports zu banachrichtende EMail-"
+"Adresse."
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,call:0
+msgid "Check this box to import sugarCRM Calls into OpenERP calls"
+msgstr ""
+"Haken Sie dieses Feld an, um SugarCRM-Anrufe in OpenERP-Anrufe zu "
+"importieren."
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid ""
+"If you make recurrent or ponctual import, data already in OpenERP will be "
+"updated by SugarCRM data."
+msgstr ""
+"Wenn Sie wiederkehrende oder vereinzelte Importe durchführen, werden bereits "
+"in OpenERP vorliegende Daten aktualsiert."
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,employee:0
+msgid "Employee"
+msgstr "Angstellter"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Document"
+msgstr "Dokument"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,document:0
+msgid "Check this box to import sugarCRM Documents into OpenERP documents"
+msgstr ""
+"Haken Sie dieses Feld an, um Dokumente aus SugarCRM in OpenERP zu importieren"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Import Data From SugarCRM"
+msgstr "Daten von SugarCRM importieren"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "CRM"
+msgstr "Kundenbeziehungsverwaltung"
+
+#. module: import_sugarcrm
+#: view:import.message:0
+msgid ""
+"Data are importing, the process is running in the background, an email will "
+"be sent to the given email address if it was defined."
+msgstr ""
+"Daten werden importiert; der Prozess läuft im Hintergrund. Bei Abschluss "
+"wird eine Benachrichtigung per EMail verschickt, sofern diese angegeben "
+"wurde."
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,call:0
+msgid "Calls"
+msgstr "Anrufe"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Multi Instance Management"
+msgstr "Verwaltung von mehrfachen Instanzen"
+
+#. module: import_sugarcrm
+#: view:import.message:0
+msgid "_Ok"
+msgstr "_OK"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,opportunity:0
+msgid ""
+"Check this box to import sugarCRM Leads and Opportunities into OpenERP Leads "
+"and Opportunities"
+msgstr ""
+"Haken Sie dieses Feld an, um Leads aus SugarCRM nach OpenERP zu importieren."
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,email_history:0
+msgid "Email and Note"
+msgstr "Nachrichten und Notizen"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,url:0
+msgid ""
+"Webservice's url where to get the data. example : "
+"'http://example.com/sugarcrm/soap.php', or copy the address of your sugarcrm "
+"application "
+"http://trial.sugarcrm.com/qbquyj4802/index.php?module=Home&action=index"
+msgstr ""
+"URL des Web-Dienstes bei dem Daten geholt werden sollen. Beispiel: "
+"\"http://example.com/sugarcrm/soap.php\", oder kopieren Sie die Adresse "
+"Ihrer SugarCRM-Anwendung (z. B. "
+"http://trial.sugarcrm.com/qbquyj4802/index.php?module=Home&action=index)"
+
+#. module: import_sugarcrm
+#: model:ir.actions.act_window,name:import_sugarcrm.action_import_sugarcrm
+#: model:ir.ui.menu,name:import_sugarcrm.menu_sugarcrm_import
+msgid "Import SugarCRM"
+msgstr "Aus SugarCRM importieren"
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "_Import"
+msgstr "_Import"
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,user:0
+msgid "User"
+msgstr "Benutzer"
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1105
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1131
+#, python-format
+msgid "%s data required %s Module to be installed, Please install %s module"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,claim:0
+msgid "Cases"
+msgstr "Vorgänge"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,meeting:0
+msgid ""
+"Check this box to import sugarCRM Meetings and Tasks into OpenERP meetings"
+msgstr ""
+"Haken Sie dieses Feld an, um Termine von SugarCRM nach OpenERP zu importieren"
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,email_history:0
+msgid ""
+"Check this box to import sugarCRM Emails, Notes and Attachments into OpenERP "
+"Messages and Attachments"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,project:0
+msgid "Projects"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugarsoap_services_types.py:14
+#, python-format
+msgid ""
+"Please install SOAP for python - ZSI-2.0-rc3.tar.gz from "
+"http://pypi.python.org/pypi/ZSI/"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,project:0
+msgid "Check this box to import sugarCRM Projects into OpenERP projects"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1098
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1124
+#, python-format
+msgid "Select Module to Import."
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,meeting:0
+msgid "Meetings"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,employee:0
+msgid "Check this box to import sugarCRM Employees into OpenERP employees"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,url:0
+msgid "SugarSoap Api url:"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Address Book"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugar.py:60
+#, python-format
+msgid ""
+"Authentication error !\n"
+"Bad Username or Password bad SugarSoap Api url !"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,bug:0
+msgid "Bugs"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Project"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,project_task:0
+msgid "Check this box to import sugarCRM Project Tasks into OpenERP tasks"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,opportunity:0
+msgid "Leads & Opp"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:79
+#, python-format
+msgid ""
+"Authentication error !\n"
+"Bad Username or Password or bad SugarSoap Api url !"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:79
+#: code:addons/import_sugarcrm/sugar.py:60
+#, python-format
+msgid "Error !"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1098
+#: code:addons/import_sugarcrm/import_sugarcrm.py:1124
+#, python-format
+msgid "Warning !"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,instance_name:0
+msgid ""
+"Prefix of SugarCRM id to differentiate xml_id of SugarCRM models datas come "
+"from different server."
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,contact:0
+msgid "Check this box to import sugarCRM Contacts into OpenERP addresses"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,password:0
+msgid "Password"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Login Information"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,claim:0
+msgid "Check this box to import sugarCRM Cases into OpenERP claims"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Email Notification When Import is Finished"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,username:0
+msgid "User Name"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.message:0
+#: model:ir.model,name:import_sugarcrm.model_import_message
+msgid "Import Message"
+msgstr ""
+
+#. module: import_sugarcrm
+#: help:import.sugarcrm,account:0
+msgid "Check this box to import sugarCRM Accounts into OpenERP partners"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Online documentation:"
+msgstr ""
+
+#. module: import_sugarcrm
+#: field:import.sugarcrm,account:0
+msgid "Accounts"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "_Cancel"
+msgstr ""
+
+#. module: import_sugarcrm
+#: code:addons/import_sugarcrm/sugarsoap_services.py:23
+#: code:addons/import_sugarcrm/sugarsoap_services_types.py:14
+#, python-format
+msgid "ZSI Import Error!"
+msgstr ""
+
+#. module: import_sugarcrm
+#: model:ir.model,name:import_sugarcrm.model_import_sugarcrm
+msgid "Import SugarCRM DATA"
+msgstr ""
+
+#. module: import_sugarcrm
+#: view:import.sugarcrm:0
+msgid "Email Address to Notify"
+msgstr ""
diff --git a/addons/mail/mail_group_view.xml b/addons/mail/mail_group_view.xml
index a71ec972326..d21d32a3893 100644
--- a/addons/mail/mail_group_view.xml
+++ b/addons/mail/mail_group_view.xml
@@ -25,10 +25,10 @@
-
+
-
+
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index c394544574d..99c8befbb6c 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -362,6 +362,10 @@
+
+ When processing a sale order for this product, the delivery order
+ will contain the raw materials, instead of the finished product.
+
@@ -678,11 +682,11 @@
-
+
-
+
@@ -981,11 +985,21 @@
+
+ product.normal.form.mrp.inherit
+ product.product
+
+
+
+
+
+
+
product.normal.form.mrp.inherit
product.product
-
+
diff --git a/addons/pad/pad.py b/addons/pad/pad.py
index 40569fcd589..d21ccd42d16 100644
--- a/addons/pad/pad.py
+++ b/addons/pad/pad.py
@@ -1,30 +1,64 @@
# -*- coding: utf-8 -*-
from osv import fields, osv
import random
+import re
import string
import urllib2
from tools.translate import _
class pad_common(osv.osv_memory):
_name = 'pad.common'
- _pad_fields = []
+
def pad_generate_url(self, cr, uid, context=None):
- pad_url_template = self.pool.get('res.users').browse(cr,uid, uid, context).company_id.pad_url_template
+ pad_server = self.pool.get('res.users').browse(cr, uid, uid, context).company_id.pad_server
+ # make sure pad server in the form of http://hostname
+ if not pad_server:
+ return ''
+ if not pad_server.startswith('http'):
+ pad_server = 'http://' + pad_server
+ pad_server = pad_server.rstrip('/')
+ # generate a salt
s = string.ascii_uppercase + string.digits
- salt = ''.join([s[random.randint(0, len(s) - 1)] for i in range(8)])
- template_vars = {
- 'db' : cr.dbname,
- 'model' : self._name,
- 'salt' : salt,
- }
- url = pad_url_template % template_vars
+ salt = ''.join([s[random.randint(0, len(s) - 1)] for i in range(10)])
+ # contruct the url
+ url = '%s/p/%s-%s-%s' % (pad_server, cr.dbname, self._name, salt)
return url
+ def pad_get_content(self, cr, uid, url, context=None):
+ content = ''
+ if url:
+ page = urllib2.urlopen('%s/export/html'%url).read()
+ mo = re.search('(.*)',page)
+ if mo:
+ content = mo.group(1)
+ return content
+
+ # TODO
+ # reverse engineer protocol to be setHtml without using the api key
+ # override read and copy to generate url and store the content if empty
+
+ def default_get(self, cr, uid, fields, context=None):
+ data = super(pad_common, self).default_get(cr, uid, fields, context)
+ for k in fields:
+ field = self._all_columns[k].column
+ if hasattr(field,'pad_content_field'):
+ data[k] = self.pad_generate_url(cr, uid, context=context)
+ return data
+
+ def write(self, cr, uid, ids, vals, context=None):
+ for k,v in vals.items():
+ field = self._all_columns[k].column
+ if hasattr(field,'pad_content_field'):
+ vals[field.pad_content_field] = self.pad_get_content(cr, uid, v, context=context)
+ return super(pad_common, self).write(cr, uid, ids, vals, context=context)
+
def copy(self, cr, uid, id, default=None, context=None):
if not default:
default = {}
- update = [(field,self.pad_generate_url(cr, uid, context)) for field in self._pad_fields]
- default.update(update)
+ for k,v in self._all_columns:
+ field = v.column
+ if hasattr(field,'pad_content_field'):
+ default[k] = self.pad_generate_url(cr, uid, context)
return super(pad_common, self).copy(cr, uid, id, default, context)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/pad/res_company.py b/addons/pad/res_company.py
index bd955cd0481..fcf8bc97e91 100644
--- a/addons/pad/res_company.py
+++ b/addons/pad/res_company.py
@@ -1,15 +1,11 @@
# -*- coding: utf-8 -*-
from osv import fields, osv
-DEFAULT_PAD_TEMPLATE = 'http://beta.etherpad.org/p/%(db)s-%(model)s-%(salt)s'
-
class company_pad(osv.osv):
_inherit = 'res.company'
_columns = {
- 'pad_url_template': fields.char('Pad URL Template', size=128, required=True, help="Template used to generate pad URL."),
- }
- _defaults = {
- 'pad_url_template': DEFAULT_PAD_TEMPLATE,
+ 'pad_server': fields.char('Pad Server', help="Etherpad lite server. Example: beta.primarypad.com"),
+ 'pad_key': fields.char('Pad Api Key', help="Etherpad lite api key."),
}
diff --git a/addons/pad/res_company.xml b/addons/pad/res_company.xml
index 017561aaec3..5a9164db2f4 100644
--- a/addons/pad/res_company.xml
+++ b/addons/pad/res_company.xml
@@ -7,7 +7,8 @@
-
+
+
diff --git a/addons/pad/static/src/css/etherpad.css b/addons/pad/static/src/css/etherpad.css
index a0240afcab7..8ea7972071e 100644
--- a/addons/pad/static/src/css/etherpad.css
+++ b/addons/pad/static/src/css/etherpad.css
@@ -1,52 +1,39 @@
-.oe_etherpad_head{
+.oe_pad_head {
width: 100%;
display: block;
- padding-left:3px;
- cursor:pointer;
+ padding: 4px;
}
-.oe_etherpad_fullscreen div.oe_etherpad_head .oe_normal {
- display: none;
+
+.oe_pad_readonly {
+ border: 1px solid #ddd;
+ padding: 8px;
}
-.oe_etherpad_normal div.oe_etherpad_head .oe_fullscreen {
- display: none;
-}
-.oe_etherpad_fullscreen {
+
+.oe_pad_fullscreen {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background-color: white;
- z-index:10001 !important;
-}
-.etherpad_default{
- width: 100%;
- height: 450px;
-}
-.oe_etherpad_fullscreen .etherpad_default{
- height: 100%
+ z-index: 1000;
}
-.etherpad_body{
- overflow:hidden;
+.oe_pad_fullscreen .oe_pad_content {
+ height: 100%;
}
-.etherpad_readonly{
- width: 100%;
- height: 450px;
- overflow:auto;
+.etherpad_readonly ul, .etherpad_readonly ol {
+ margin-before: 1em;
+ margin-after: 1em;
+ margin-start: 0px;
+ margin-end: 0px;
+ padding-start: 40px !important;
}
-.etherpad_readonly ul,.etherpad_readonly ol{
- -webkit-margin-before: 1em;
- -webkit-margin-after: 1em;
- -webkit-margin-start: 0px;
- -webkit-margin-end: 0px;
- -webkit-padding-start: 40px !important;
-}
-.etherpad_readonly ul li{
+.etherpad_readonly ul li{
list-style-type: disc;
}
-.etherpad_readonly ol li{
+.etherpad_readonly ol li{
list-style-type: decimal;
}
.etherpad_readonly .indent li{
diff --git a/addons/pad/static/src/js/pad.js b/addons/pad/static/src/js/pad.js
index df182650afe..511400bcede 100644
--- a/addons/pad/static/src/js/pad.js
+++ b/addons/pad/static/src/js/pad.js
@@ -1,32 +1,41 @@
openerp.pad = function(instance) {
-instance.web.form.FieldPad = instance.web.form.AbstractField.extend(instance.web.form.ReinitializeFieldMixin, {
+instance.web.form.FieldPad = instance.web.form.AbstractField.extend({
template: 'FieldPad',
- initialize_content: function() {
+ start: function() {
+ this._super();
var self = this;
- this.$textarea = undefined;
- this.$el.find('div.oe_etherpad_head').click(function(ev) {
- self.$el.toggleClass('oe_etherpad_fullscreen').toggleClass('oe_etherpad_normal');
+ this.$el.find('div.oe_pad_head').click(function(ev) {
+ self.$el.toggleClass('oe_pad_fullscreen');
+ });
+ this.on("change:effective_readonly", this, function() {
+ this.render_value();
});
},
- set_value: function(value_) {
- this._super(value_);
- this.render_value();
+ set_value: function(val) {
+ var self = this;
+ var _super = self._super;
+ _super.apply(self,[val]);
+ this._dirty_flag = true;
+ self.render_value();
},
render_value: function() {
+ console.log("display");
var self = this;
var value = this.get('value');
- if(value !== false) {
- var url = value.split('\n')[0];
+
+ if (!_.str.startsWith(value, "http")) {
+ self.$('.oe_pad_content').html(instance.web.qweb.render('FieldPad.unconfigured'));
+ } else {
if (!this.get("effective_readonly")) {
var pad_username = this.session.username;
- var code = '';
- this.$el.find('div.oe_etherpad_default').html(code);
+ var code = '';
+ this.$('.oe_pad_content').html(code);
} else {
- $.get(url+'/export/html').success(function(data) {
- self.$el.html(''+data+'
');
+ $.get(value+'/export/html').success(function(data) {
+ self.$('.oe_pad_content').html(''+data+'
');
}).error(function() {
- self.$el.text('Unable to load pad');
+ self.$('.oe_pad_content').text('Unable to load pad');
});
}
}
diff --git a/addons/pad/static/src/xml/pad.xml b/addons/pad/static/src/xml/pad.xml
index e128fb183fb..e84414dd4e8 100644
--- a/addons/pad/static/src/xml/pad.xml
+++ b/addons/pad/static/src/xml/pad.xml
@@ -2,17 +2,16 @@
-
-
-
-
- Fullscreen
- Return to Record
-
-
+
+
+
+ Please configure your etherpad server.
+ OpenERP Entreprise customers may safely use pad.openerp.com
-
diff --git a/addons/pad_project/project_task.py b/addons/pad_project/project_task.py
index 46c2c54cd46..6ebebae97fd 100644
--- a/addons/pad_project/project_task.py
+++ b/addons/pad_project/project_task.py
@@ -5,10 +5,6 @@ from osv import fields, osv
class task(osv.osv):
_name = "project.task"
_inherit = ["project.task",'pad.common']
- _pad_fields = ['description_pad']
_columns = {
- 'description_pad': fields.char('Description PAD', size=250)
- }
- _defaults = {
- 'description_pad': lambda self, cr, uid, context: self.pad_generate_url(cr, uid, context),
+ 'description_pad': fields.char('Description PAD', pad_content_field='description')
}
diff --git a/addons/point_of_sale/account_bank_statement.py b/addons/point_of_sale/account_bank_statement.py
index eb7d791ebf9..06fe1d4a1f8 100644
--- a/addons/point_of_sale/account_bank_statement.py
+++ b/addons/point_of_sale/account_bank_statement.py
@@ -27,15 +27,10 @@ class account_journal(osv.osv):
_columns = {
'journal_user': fields.boolean('PoS Payment Method', help="Check this box if this journal define a payment method that can be used in point of sales."),
- 'opening_control': fields.boolean('Opening Control', help="If you want the journal should be control at opening, check this option"),
- 'closing_control': fields.boolean('Closing Control', help="If you want the journal should be control at closing, check this option"),
-
'amount_authorized_diff' : fields.float('Amount Authorized Difference'),
'self_checkout_payment_method' : fields.boolean('Self Checkout Payment Method'),
}
_defaults = {
- 'opening_control' : False,
- 'closing_control' : False,
'self_checkout_payment_method' : False,
}
@@ -46,6 +41,7 @@ class account_cash_statement(osv.osv):
_columns = {
'pos_session_id' : fields.many2one('pos.session'),
}
+
account_cash_statement()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/point_of_sale/account_statement_view.xml b/addons/point_of_sale/account_statement_view.xml
index d7f3be2a8d6..86fc8fec164 100644
--- a/addons/point_of_sale/account_statement_view.xml
+++ b/addons/point_of_sale/account_statement_view.xml
@@ -10,8 +10,6 @@
-
-
@@ -113,37 +111,5 @@
-
-
-
-
diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py
index f4d32985688..b17e672cb9c 100644
--- a/addons/point_of_sale/point_of_sale.py
+++ b/addons/point_of_sale/point_of_sale.py
@@ -74,6 +74,26 @@ class pos_config(osv.osv):
'group_by' : fields.boolean('Group Journal Items', help="Check this if you want to group the Journal Items by Product while closing a Session"),
}
+ def _check_cash_control(self, cr, uid, ids, context=None):
+ return all(
+ (sum(int(journal.cash_control) for journal in record.journal_ids) <= 1)
+ for record in self.browse(cr, uid, ids, context=context)
+ )
+
+ _constraints = [
+ (_check_cash_control, "You cannot have two cash controls in one Point Of Sale !", ['journal_ids']),
+ ]
+
+ def copy(self, cr, uid, id, default=None, context=None):
+ if not default:
+ default = {}
+ d = {
+ 'sequence_id' : False,
+ }
+ d.update(default)
+ return super(pos_order, self).copy(cr, uid, id, d, context=context)
+
+
def name_get(self, cr, uid, ids, context=None):
result = []
states = {
@@ -90,11 +110,6 @@ class pos_config(osv.osv):
result.append((record.id, record.name + ' ('+session.user_id.name+')')) #, '+states[session.state]+')'))
return result
-
- def _default_payment_journal(self, cr, uid, context=None):
- res = self.pool.get('account.journal').search(cr, uid, [('type', 'in', ('bank','cash'))], limit=2)
- return res or []
-
def _default_sale_journal(self, cr, uid, context=None):
res = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'sale')], limit=1)
return res and res[0] or False
@@ -107,7 +122,6 @@ class pos_config(osv.osv):
'state' : POS_CONFIG_STATE[0][0],
'shop_id': _default_shop,
'journal_id': _default_sale_journal,
- 'journal_ids': _default_payment_journal,
'group_by' : True,
}
@@ -148,45 +162,20 @@ class pos_session(osv.osv):
('closed', 'Closed & Posted'),
]
- def _compute_cash_journal_id(self, cr, uid, ids, fieldnames, args, context=None):
- result = dict.fromkeys(ids, False)
- for record in self.browse(cr, uid, ids, context=context):
- for st in record.statement_ids:
- if st.journal_id.type == 'cash':
- result[record.id] = st.journal_id.id
- break
- return result
-
- def _compute_cash_register_id(self, cr, uid, ids, fieldnames, args, context=None):
- result = dict.fromkeys(ids, False)
- for record in self.browse(cr, uid, ids, context=context):
- for st in record.statement_ids:
- if st.journal_id.type == 'cash':
- result[record.id] = st.id
- break
- return result
-
- def _compute_controls(self, cr, uid, ids, fieldnames, args, context=None):
- result = {}
+ def _compute_cash_all(self, cr, uid, ids, fieldnames, args, context=None):
+ result = dict()
for record in self.browse(cr, uid, ids, context=context):
- has_opening_control = False
- has_closing_control = False
-
- for journal in record.config_id.journal_ids:
- if journal.opening_control == True:
- has_opening_control = True
- if journal.closing_control == True:
- has_closing_control = True
-
- if has_opening_control and has_closing_control:
- break
-
- values = {
- 'has_opening_control': has_opening_control,
- 'has_closing_control': has_closing_control,
+ result[record.id] = {
+ 'cash_journal_id' : False,
+ 'cash_register_id' : False,
+ 'cash_control' : False,
}
- result[record.id] = values
+ for st in record.statement_ids:
+ if st.journal_id.cash_control == True:
+ result[record.id]['cash_control'] = True
+ result[record.id]['cash_journal_id'] = st.journal_id.id
+ result[record.id]['cash_register_id'] = st.id
return result
@@ -212,12 +201,17 @@ class pos_session(osv.osv):
required=True, readonly=True,
select=1),
- 'cash_journal_id' : fields.function(_compute_cash_journal_id, method=True,
- type='many2one', relation='account.journal',
- string='Cash Journal', store=True),
- 'cash_register_id' : fields.function(_compute_cash_register_id, method=True,
- type='many2one', relation='account.bank.statement',
- string='Cash Register', store=True),
+ 'cash_control' : fields.function(_compute_cash_all,
+ multi='cash',
+ type='boolean', string='Has Cash Control'),
+ 'cash_journal_id' : fields.function(_compute_cash_all,
+ multi='cash',
+ type='many2one', relation='account.journal',
+ string='Cash Journal', store=True),
+ 'cash_register_id' : fields.function(_compute_cash_all,
+ multi='cash',
+ type='many2one', relation='account.bank.statement',
+ string='Cash Register', store=True),
'opening_details_ids' : fields.related('cash_register_id', 'opening_details_ids',
type='one2many', relation='account.cashbox.line',
@@ -261,8 +255,6 @@ class pos_session(osv.osv):
'order_ids' : fields.one2many('pos.order', 'session_id', 'Orders'),
'statement_ids' : fields.one2many('account.bank.statement', 'pos_session_id', 'Bank Statement', readonly=True),
- 'has_opening_control' : fields.function(_compute_controls, string='Has Opening Control', multi='control', type='boolean'),
- 'has_closing_control' : fields.function(_compute_controls, string='Has Closing Control', multi='control', type='boolean'),
}
_defaults = {
@@ -372,10 +364,8 @@ class pos_session(osv.osv):
def wkf_action_closing_control(self, cr, uid, ids, context=None):
for session in self.browse(cr, uid, ids, context=context):
for statement in session.statement_ids:
- if statement.id <> session.cash_register_id.id:
- if statement.balance_end<>statement.balance_end_real:
- self.pool.get('account.bank.statement').write(cr, uid,
- [statement.id], {'balance_end_real': statement.balance_end})
+ if statement != session.cash_register_id and statement.balance_end != statement.balance_end_real:
+ self.pool.get('account.bank.statement').write(cr, uid, [statement.id], {'balance_end_real': statement.balance_end})
return self.write(cr, uid, ids, {'state' : 'closing_control', 'stop_at' : time.strftime('%Y-%m-%d %H:%M:%S')}, context=context)
def wkf_action_close(self, cr, uid, ids, context=None):
@@ -388,7 +378,7 @@ class pos_session(osv.osv):
if not self.pool.get('ir.model.access').check_groups(cr, uid, "point_of_sale.group_pos_manager"):
raise osv.except_osv( _('Error!'),
_("Your ending balance is too different from the theorical cash closing (%.2f), the maximum allowed is: %.2f. You can contact your manager to force it.") % (st.difference, st.journal_id.amount_authorized_diff))
- if st.difference:
+ if st.difference and st.journal_id.cash_control == True:
if st.difference > 0.0:
name= _('Point of Sale Profit')
account_id = st.journal_id.profit_account_id.id
@@ -406,6 +396,9 @@ class pos_session(osv.osv):
'account_id': account_id
}, context=context)
+ if st.journal_id.type == 'bank':
+ st.write({'balance_end_real' : st.balance_end})
+
getattr(st, 'button_confirm_%s' % st.journal_id.type)(context=context)
self._confirm_orders(cr, uid, ids, context=context)
self.write(cr, uid, ids, {'state' : 'closed'}, context=context)
@@ -731,7 +724,7 @@ class pos_order(osv.osv):
'pos_statement_id' : order_id,
'journal_id' : journal_id,
'type' : 'customer',
- 'ref' : order.name,
+ 'ref' : order.session_id.name,
})
statement_line_obj.create(cr, uid, args, context=context)
@@ -1084,6 +1077,7 @@ class account_bank_statement_line(osv.osv):
_columns= {
'pos_statement_id': fields.many2one('pos.order', ondelete='cascade'),
}
+
account_bank_statement_line()
class pos_order_line(osv.osv):
@@ -1284,8 +1278,30 @@ class product_product(osv.osv):
help="If you want to sell this product through the point of sale, select the category it belongs to."),
'to_weight' : fields.boolean('To Weight', help="This category contains products that should be weighted, mainly used for the self-checkout interface"),
}
+
+ def _default_pos_categ_id(self, cr, uid, context=None):
+ proxy = self.pool.get('ir.model.data')
+
+ try:
+ category_id = proxy.get_object_reference(cr, uid, 'point_of_sale', 'categ_others')[1]
+ except ValueError:
+ values = {
+ 'name' : 'Others',
+ }
+ category_id = self.pool.get('pos.category').create(cr, uid, values, context=context)
+ values = {
+ 'name' : 'categ_others',
+ 'model' : 'pos.category',
+ 'module' : 'point_of_sale',
+ 'res_id' : category_id,
+ }
+ proxy.create(cr, uid, values, context=context)
+
+ return category_id
+
_defaults = {
'to_weight' : False,
+ 'pos_categ_id' : _default_pos_categ_id,
}
def edit_ean(self, cr, uid, ids, context):
diff --git a/addons/point_of_sale/point_of_sale_demo.xml b/addons/point_of_sale/point_of_sale_demo.xml
index db8caaadf3b..47256279c59 100644
--- a/addons/point_of_sale/point_of_sale_demo.xml
+++ b/addons/point_of_sale/point_of_sale_demo.xml
@@ -8,7 +8,7 @@
0410200000005
-
+
@@ -36,6 +36,10 @@
+
+
+
+
diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml
index dce19ab77b6..0e906186285 100644
--- a/addons/point_of_sale/point_of_sale_view.xml
+++ b/addons/point_of_sale/point_of_sale_view.xml
@@ -126,7 +126,7 @@
- Sales
+ Orders
pos.order
@@ -138,6 +138,7 @@
+
@@ -625,7 +626,7 @@
product.normal.form.inherit
product.product
-
+
@@ -791,8 +792,7 @@
-
-
+
@@ -878,10 +878,10 @@
@@ -900,8 +900,7 @@
-
-
+
@@ -912,26 +911,26 @@
-
+
-
+
-
+
-
+
-
diff --git a/addons/portal_project_issue/portal_project_issue_view.xml b/addons/portal_project_issue/portal_project_issue_view.xml
index 14e944ab32e..5d0b4ce081e 100644
--- a/addons/portal_project_issue/portal_project_issue_view.xml
+++ b/addons/portal_project_issue/portal_project_issue_view.xml
@@ -18,7 +18,7 @@
diff --git a/addons/procurement/i18n/ru.po b/addons/procurement/i18n/ru.po
index 70986bfa1df..4beb8951849 100644
--- a/addons/procurement/i18n/ru.po
+++ b/addons/procurement/i18n/ru.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:37+0000\n"
-"PO-Revision-Date: 2011-03-16 07:09+0000\n"
+"PO-Revision-Date: 2012-08-30 18:15+0000\n"
"Last-Translator: Chertykov Denis \n"
"Language-Team: Russian \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:36+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-08-31 04:56+0000\n"
+"X-Generator: Launchpad (build 15887)\n"
#. module: procurement
#: view:make.procurement:0
@@ -376,7 +376,7 @@ msgstr "Ссылки"
#: view:product.product:0
#: field:product.product,orderpoint_ids:0
msgid "Minimum Stock Rule"
-msgstr ""
+msgstr "Правило минимальных запасов"
#. module: procurement
#: view:res.company:0
@@ -390,6 +390,8 @@ msgid ""
"Please check the quantity in procurement order(s), it should not be 0 or "
"less!"
msgstr ""
+"Пожалуйста, проверьте количество в заказе на снабжение, оно не должно быть "
+"нулевым или отрицательным!"
#. module: procurement
#: help:procurement.order,procure_method:0
@@ -615,7 +617,7 @@ msgstr "Правило минимума ТМЦ"
#. module: procurement
#: help:stock.warehouse.orderpoint,qty_multiple:0
msgid "The procurement quantity will be rounded up to this multiple."
-msgstr ""
+msgstr "Количество в заказе будет округляться до этого значения."
#. module: procurement
#: model:ir.model,name:procurement.model_res_company
@@ -655,7 +657,7 @@ msgstr "Заказ по максимуму"
#. module: procurement
#: sql_constraint:stock.picking:0
msgid "Reference must be unique per Company!"
-msgstr ""
+msgstr "Ссылка должна быть уникальна для каждой компании!"
#. module: procurement
#: field:procurement.order,date_close:0
@@ -896,7 +898,7 @@ msgstr ""
#. module: procurement
#: sql_constraint:res.company:0
msgid "The company name must be unique !"
-msgstr ""
+msgstr "Название компании должно быть уникальным!"
#. module: procurement
#: field:mrp.property,name:0
@@ -995,7 +997,7 @@ msgstr ""
#. module: procurement
#: constraint:product.product:0
msgid "Error: Invalid ean code"
-msgstr ""
+msgstr "Ошибка: Неверный штрих-код"
#. module: procurement
#: code:addons/procurement/schedulers.py:152
diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml
index dbdc65c6763..f2a8dc98cb0 100644
--- a/addons/procurement/procurement_view.xml
+++ b/addons/procurement/procurement_view.xml
@@ -286,7 +286,7 @@
product.normal.form.orderpoint.inherit
product.product
-
+
diff --git a/addons/product/i18n/ru.po b/addons/product/i18n/ru.po
index 1576d2f8314..5762449e179 100644
--- a/addons/product/i18n/ru.po
+++ b/addons/product/i18n/ru.po
@@ -7,14 +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:37+0000\n"
-"PO-Revision-Date: 2012-07-26 16:28+0000\n"
-"Last-Translator: Michael Otcheskih \n"
+"PO-Revision-Date: 2012-08-30 18:22+0000\n"
+"Last-Translator: Chertykov Denis \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:18+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-08-31 04:56+0000\n"
+"X-Generator: Launchpad (build 15887)\n"
#. module: product
#: model:product.template,name:product.product_product_ram512_product_template
@@ -968,7 +968,7 @@ msgstr "Итоговый вес пакета"
#. module: product
#: field:product.template,seller_info_id:0
msgid "unknown"
-msgstr ""
+msgstr "неизвесно"
#. module: product
#: help:product.packaging,code:0
@@ -1893,7 +1893,7 @@ msgstr "Другие ТМЦ"
#. module: product
#: field:product.product,color:0
msgid "Color Index"
-msgstr ""
+msgstr "Цветовая палитра"
#. module: product
#: view:product.product:0
@@ -1919,7 +1919,7 @@ msgstr "Каталог поставщика"
#: code:addons/product/product.py:175
#, python-format
msgid "Warning"
-msgstr ""
+msgstr "Внимание"
#. module: product
#: field:product.pricelist.item,base:0
@@ -2007,7 +2007,7 @@ msgstr ""
#: model:ir.actions.act_window,name:product.product_uom_categ_form_action
#: model:ir.ui.menu,name:product.menu_product_uom_categ_form_action
msgid "UoM Categories"
-msgstr ""
+msgstr "Категории единиц"
#. module: product
#: field:product.template,seller_delay:0
@@ -2088,7 +2088,7 @@ msgstr "Поставщик ТМЦ"
#. module: product
#: field:product.product,product_image:0
msgid "Image"
-msgstr ""
+msgstr "Изображение"
#. module: product
#: field:product.uom,uom_type:0
diff --git a/addons/product/product.py b/addons/product/product.py
index aa1bc3954a0..214445204bb 100644
--- a/addons/product/product.py
+++ b/addons/product/product.py
@@ -541,7 +541,7 @@ class product_product(osv.osv):
'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the product without removing it."),
'variants': fields.char('Variants', size=64),
'product_tmpl_id': fields.many2one('product.template', 'Product Template', required=True, ondelete="cascade"),
- 'ean13': fields.char('EAN13', size=13, help="The numbers encoded in EAN-13 bar codes are product identification numbers."),
+ 'ean13': fields.char('EAN13 Barcode', size=13, help="The numbers encoded in EAN-13 bar codes are product identification numbers."),
'packaging' : fields.one2many('product.packaging', 'product_id', 'Logistical Units', help="Gives the different ways to package the same product. This has no impact on the picking order and is mainly used if you use the EDI module."),
'price_extra': fields.float('Variant Price Extra', digits_compute=dp.get_precision('Product Price')),
'price_margin': fields.float('Variant Price Margin', digits_compute=dp.get_precision('Product Price')),
diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml
index 70651a0a795..17b4a7ecc68 100644
--- a/addons/product/product_view.xml
+++ b/addons/product/product_view.xml
@@ -86,12 +86,11 @@
-
-
+
-
+
@@ -118,28 +117,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/product/security/product_security.xml b/addons/product/security/product_security.xml
index 1d2c795083a..73ab6f8a3d5 100644
--- a/addons/product/security/product_security.xml
+++ b/addons/product/security/product_security.xml
@@ -23,7 +23,12 @@
Purchase Pricelists
-
+
+
+ Costing Method
+
+
+
Manage Multiple Units of Measure
diff --git a/addons/project/project.py b/addons/project/project.py
index ab1c3c47dfe..904e19671cb 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -210,7 +210,7 @@ class project(osv.osv):
'complete_name': fields.function(_complete_name, string="Project Name", type='char', size=250),
'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the project without removing it."),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of Projects."),
- 'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account', help="Link this project to an analytic account if you need financial management on projects. It enables you to connect projects with budgets, planning, cost and revenue analysis, timesheets on projects, etc.", ondelete="cascade", required=True),
+ 'analytic_account_id': fields.many2one('account.analytic.account', 'Contract/Analytic', help="Link this project to an analytic account if you need financial management on projects. It enables you to connect projects with budgets, planning, cost and revenue analysis, timesheets on projects, etc.", ondelete="cascade", required=True),
'priority': fields.integer('Sequence', help="Gives the sequence order when displaying the list of projects"),
'members': fields.many2many('res.users', 'project_user_rel', 'project_id', 'uid', 'Project Members',
help="Project's members are users who can have an access to the tasks related to this project.", states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
@@ -1265,7 +1265,7 @@ class account_analytic_account(osv.osv):
_inherit = 'account.analytic.account'
_description = 'Analytic Account'
_columns = {
- 'use_tasks': fields.boolean('Tasks Mgmt.',help="If check,this contract will be available in the project menu and you will be able to manage tasks or track issues"),
+ 'use_tasks': fields.boolean('Tasks',help="If check,this contract will be available in the project menu and you will be able to manage tasks or track issues"),
'company_uom_id': fields.related('company_id', 'project_time_mode_id', type='many2one', relation='product.uom'),
}
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index 6195ca909d2..f864e207141 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -76,33 +76,29 @@
-
-
-
-
-
-
-
-
@
+
+
+
+
-
-
-
+
+
@@ -126,6 +122,13 @@
+
+
+
+
+ @
+
+
@@ -133,11 +136,11 @@
-
+
-
+
@@ -245,8 +248,8 @@
Tasks
-
- Deadline
+
+ Deadline
@@ -312,7 +315,7 @@
{}
-
+
Click to start a new project.
@@ -688,11 +691,9 @@
-
-
-
-
+
+
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index 4fb75c0333c..c2ff76d05a6 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -569,7 +569,7 @@ class account_analytic_account(osv.osv):
_description = 'Analytic Account'
_columns = {
- 'use_issues' : fields.boolean('Issues Tracking', help="Check this field if this project manages issues"),
+ 'use_issues' : fields.boolean('Issues', help="Check this field if this project manages issues"),
}
def on_change_template(self, cr, uid, ids, template_id, context=None):
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index b37cf40014e..75bf50b23a4 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -355,11 +355,12 @@
project.project
-
-
-
-
-
+
+
+
+
+
+
@@ -382,7 +383,7 @@
- Issues( )
+ Issues
@@ -393,11 +394,9 @@
-
-
-
-
+
+
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index d5ac3868a5e..2eab5fa6ac6 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -273,9 +273,9 @@ class account_analytic_account(osv.osv):
_inherit = 'account.analytic.account'
_description = 'Analytic Account'
_columns = {
- 'use_phases': fields.boolean('Phases Planing', help="Check this field if project manages phases"),
+ 'use_phases': fields.boolean('Phases', help="Check this field if you plan to use phase-based scheduling"),
}
-
+
def on_change_template(self, cr, uid, ids, template_id, context=None):
res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, context=context)
if template_id and 'value' in res:
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index b4b98e8fe4a..55a91b36f08 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -96,11 +96,14 @@
project.project
-
-
-
-
-
+
+
+
+
+
+
@@ -347,11 +350,9 @@
-
-
-
-
+
+
diff --git a/addons/project_mrp/project_mrp_view.xml b/addons/project_mrp/project_mrp_view.xml
index ffceb33a611..841a61e6c31 100644
--- a/addons/project_mrp/project_mrp_view.xml
+++ b/addons/project_mrp/project_mrp_view.xml
@@ -14,7 +14,7 @@
product.form.view.inherit
product.product
-
+
diff --git a/addons/project_timesheet/__openerp__.py b/addons/project_timesheet/__openerp__.py
index 8770aa53429..805556c1a96 100644
--- a/addons/project_timesheet/__openerp__.py
+++ b/addons/project_timesheet/__openerp__.py
@@ -48,7 +48,7 @@ with the effect of creating, editing and deleting either ways.
'test/work_timesheet.yml',
],
'installable': True,
- 'auto_install': False,
+ 'auto_install': True,
'certificate': '0075123647453',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_timesheet/project_timesheet.py b/addons/project_timesheet/project_timesheet.py
index e4374f096fd..1e50848201c 100644
--- a/addons/project_timesheet/project_timesheet.py
+++ b/addons/project_timesheet/project_timesheet.py
@@ -28,33 +28,6 @@ from tools.translate import _
class project_project(osv.osv):
_inherit = 'project.project'
-
- def _to_invoice(self, cr, uid, ids, field_name, arg, context=None):
- account_analytic_line = self.pool.get("account.analytic.line")
- res = {}
- for project in self.browse(cr,uid,ids,context=context):
- line_ids = account_analytic_line.search(cr, uid, [('account_id', '=', project.analytic_account_id.id), ('to_invoice','=',1), ('invoice_id','=',False)])
- lines = account_analytic_line.browse(cr, uid, line_ids, context)
- res[project.id] = {
- 'amount_to_invoice': sum(line.amount for line in lines),
- 'time_to_invoice': sum(line.unit_amount for line in lines),
- }
- return res
-
- def _timesheet_count(self, cr, uid, ids, field_name, arg, context=None):
- account_analytic_line = self.pool.get('account.analytic.line')
- res = {}
- for project in self.browse(cr, uid, ids, context):
- line_ids = account_analytic_line.search(cr, uid, [('account_id', '=', project.analytic_account_id.id)])
- res[project.id] = len(line_ids)
- return res
-
- _columns = {
- 'amount_to_invoice': fields.function(_to_invoice, string="Amount to Invoice", multi="sums"),
- 'time_to_invoice': fields.function(_to_invoice, string="Time to Invoice", multi="sums"),
- 'timesheet_count': fields.function(_timesheet_count, type='integer', string="Issue"),
- }
-
def onchange_partner_id(self, cr, uid, ids, part=False, context=None):
res = super(project_project, self).onchange_partner_id(cr, uid, ids, part, context)
if part and res and ('value' in res):
@@ -66,6 +39,31 @@ class project_project(osv.osv):
res['value'].update({'to_invoice': factor_id})
return res
+ _defaults = {
+ 'use_timesheets': True,
+ }
+
+ def open_timesheets(self, cr, uid, ids, context=None):
+ """ open Timesheets view """
+ project = self.browse(cr, uid, ids[0], context)
+ try:
+ journal_id = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_timesheet', 'analytic_journal').id
+ except ValueError:
+ journal_id = False
+ view_context = {
+ 'search_default_account_id': [project.analytic_account_id.id],
+ 'default_account_id': project.analytic_account_id.id,
+ 'default_journal_id': journal_id,
+ }
+ return {
+ 'type': 'ir.actions.act_window',
+ 'name': _('Bill Tasks Works'),
+ 'res_model': 'account.analytic.line',
+ 'view_type': 'form',
+ 'view_mode': 'tree,form',
+ 'context': view_context,
+ 'nodestroy': True,
+ }
project_project()
class project_work(osv.osv):
diff --git a/addons/project_timesheet/project_timesheet_view.xml b/addons/project_timesheet/project_timesheet_view.xml
index c47c411f6c9..66104ee0d8c 100644
--- a/addons/project_timesheet/project_timesheet_view.xml
+++ b/addons/project_timesheet/project_timesheet_view.xml
@@ -9,33 +9,29 @@
-
+
Timesheets( )
-
-
-
-
Amount to invoice
-
-
Time to Invoice
-
-
+ name="open_timesheets" type="object"> Timesheets
-
- Inherit project form : Customer
+
+ Inherit project form : Invoicing Data
project.project
-
+
-
-
-
+
+
+
+
+
+
+
@@ -45,7 +41,6 @@
-
@@ -95,7 +90,7 @@
Click to add a work to invoice.
You will find here all works made on tasks that you can
- invoice.
+ invoice.
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index aec55bf93c2..f513e2a60e8 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -554,5 +554,20 @@
+
+
+
+
+ product.normal.supplier.form.inherit
+ product.product
+
+
+
+
+
+
+
+
+
diff --git a/addons/purchase/res_config.py b/addons/purchase/res_config.py
index 6beac5a4cd0..3d9c858cec5 100644
--- a/addons/purchase/res_config.py
+++ b/addons/purchase/res_config.py
@@ -40,6 +40,9 @@ class purchase_config_settings(osv.osv_memory):
'group_uom':fields.boolean("manage different units of measure for products",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
+ 'group_costing_method':fields.boolean("compute product cost price based on average cost",
+ implied_group='product.group_costing_method',
+ help="""Allows you to compute product cost price based on average cost."""),
'group_purchase_delivery_address': fields.boolean("allow a different address for incoming products and invoicings",
implied_group='purchase.group_delivery_invoice_address',
help="Allows you to specify different delivery and invoice addresses on a purchase order."),
diff --git a/addons/purchase/res_config_view.xml b/addons/purchase/res_config_view.xml
index 23d89f1a7f1..00e0b6108e8 100644
--- a/addons/purchase/res_config_view.xml
+++ b/addons/purchase/res_config_view.xml
@@ -59,6 +59,10 @@
+
+
+
+
diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml
index 188f81b6cbe..a1b270934e2 100644
--- a/addons/purchase_requisition/purchase_requisition_view.xml
+++ b/addons/purchase_requisition/purchase_requisition_view.xml
@@ -182,7 +182,7 @@
product.product
-
+
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index c4edc162f08..a0e69efe849 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -259,8 +259,8 @@
+
-
diff --git a/addons/stock/product_view.xml b/addons/stock/product_view.xml
index 3264057ae21..477c458da02 100644
--- a/addons/stock/product_view.xml
+++ b/addons/stock/product_view.xml
@@ -50,6 +50,40 @@
+
+
+ product.normal.procurement.locations.inherit
+ product.product
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
product.product.standard.price.form.inherit
@@ -178,10 +212,10 @@
-
+
-
+
Code:
Stock on hand:
@@ -210,21 +244,5 @@
-
- product.normal.stock.property.form.inherit
- product.product
-
-
-
-
-
-
-
-
-
-
-
-
-