diff options
| author | mtr <mtr@mtr> | 2010-07-16 10:31:50 +0530 |
|---|---|---|
| committer | mtr <mtr@mtr> | 2010-07-16 10:31:50 +0530 |
| commit | f98297ca8ae5e2acd1bba199d4e2f6945812e377 (patch) | |
| tree | c3ce83e10732b74b013ab1ad476209e5150164ac | |
| parent | 34e035b083179a6ba7f086e06fdd7ec96d7364d8 (diff) | |
| parent | 6e07e9994d2ffb54c7f96f29ba6dc6d7c56d442d (diff) | |
[MERGE] branch merged with lp:~openerp-dev/openobject-addons/trunk-dev-addons3
bzr revid: mtr@mtr-20100716050150-faf0zvi2fxpa4rix
| -rw-r--r-- | addons/account/account.py | 9 | ||||
| -rw-r--r-- | addons/account/account_invoice_view.xml | 2 | ||||
| -rw-r--r-- | addons/account/board_account_view.xml | 12 | ||||
| -rw-r--r-- | addons/account/wizard/account_journal_select.py | 9 | ||||
| -rw-r--r-- | addons/account/wizard/account_pl_report.py | 2 | ||||
| -rw-r--r-- | addons/account/wizard/account_pl_report_view.xml | 2 | ||||
| -rw-r--r-- | addons/account/wizard/account_print_journal_view.xml | 82 | ||||
| -rw-r--r-- | addons/account_voucher/i18n/zh_CN.po | 2 | ||||
| -rw-r--r-- | addons/account_voucher_payment/i18n/zh_CN.po | 2 | ||||
| -rw-r--r-- | addons/analytic_journal_billing_rate/i18n/zh_CN.po | 20 | ||||
| -rw-r--r-- | addons/analytic_user_function/i18n/zh_CN.po | 12 | ||||
| -rw-r--r-- | addons/auction/i18n/zh_CN.po | 505 | ||||
| -rw-r--r-- | addons/base_contact/__openerp__.py | 2 | ||||
| -rw-r--r-- | addons/base_contact/i18n/ru.po | 18 | ||||
| -rw-r--r-- | addons/base_module_record/i18n/ru.po | 6 | ||||
| -rw-r--r-- | addons/crm/__openerp__.py | 2 | ||||
| -rw-r--r-- | addons/crm/wizard/crm_forward_to_partner.py | 115 | ||||
| -rw-r--r-- | addons/crm/wizard/crm_forward_to_partner_view.xml | 52 | ||||
| -rw-r--r-- | addons/crm/wizard/crm_send_email.py | 64 | ||||
| -rw-r--r-- | addons/crm/wizard/crm_send_email_view.xml | 10 | ||||
| -rw-r--r-- | addons/document_ics/document_ics_config_wizard.xml | 23 | ||||
| -rw-r--r-- | addons/hr_contract/i18n/ru.po | 12 | ||||
| -rw-r--r-- | addons/hr_holidays/hr_holidays_view.xml | 2 | ||||
| -rw-r--r-- | addons/multi_company/i18n/ru.po | 11 | ||||
| -rw-r--r-- | addons/olap/data/olap_cube_view.xml | 27 | ||||
| -rw-r--r-- | addons/olap/olap.py | 21 | ||||
| -rw-r--r-- | addons/project/board_project_view.xml | 28 | ||||
| -rw-r--r-- | addons/project/project.py | 20 | ||||
| -rw-r--r-- | addons/project/project_view.xml | 8 | ||||
| -rw-r--r-- | addons/project/report/project_report.py | 4 | ||||
| -rw-r--r-- | addons/project_gtd/project_gtd_demo.xml | 18 | ||||
| -rw-r--r-- | addons/project_scrum/__init__.py (renamed from addons/scrum/__init__.py) | 6 | ||||
| -rw-r--r-- | addons/project_scrum/__openerp__.py (renamed from addons/scrum/__openerp__.py) | 16 | ||||
| -rw-r--r-- | addons/project_scrum/board_project_scrum_view.xml (renamed from addons/scrum/board_scrum_view.xml) | 10 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/ar.po (renamed from addons/scrum/i18n/ar.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/bg.po (renamed from addons/scrum/i18n/bg.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/bs.po (renamed from addons/scrum/i18n/bs.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/ca.po (renamed from addons/scrum/i18n/ca.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/cs.po (renamed from addons/scrum/i18n/cs.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/de.po (renamed from addons/scrum/i18n/de.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/es.po (renamed from addons/scrum/i18n/es.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/es_AR.po (renamed from addons/scrum/i18n/es_AR.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/et.po (renamed from addons/scrum/i18n/et.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/fr.po (renamed from addons/scrum/i18n/fr.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/hr.po (renamed from addons/scrum/i18n/hr.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/hu.po (renamed from addons/scrum/i18n/hu.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/id.po (renamed from addons/scrum/i18n/id.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/it.po (renamed from addons/scrum/i18n/it.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/ko.po (renamed from addons/scrum/i18n/ko.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/lt.po (renamed from addons/scrum/i18n/lt.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/nl.po (renamed from addons/scrum/i18n/nl.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/nl_BE.po (renamed from addons/scrum/i18n/nl_BE.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/pl.po (renamed from addons/scrum/i18n/pl.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/pt.po (renamed from addons/scrum/i18n/pt.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/pt_BR.po (renamed from addons/scrum/i18n/pt_BR.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/ro.po (renamed from addons/scrum/i18n/ro.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/ru.po (renamed from addons/scrum/i18n/ru.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/scrum.pot (renamed from addons/scrum/i18n/scrum.pot) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/sl.po (renamed from addons/scrum/i18n/sl.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/sq.po (renamed from addons/scrum/i18n/sq.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/sv.po (renamed from addons/scrum/i18n/sv.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/tlh.po (renamed from addons/scrum/i18n/tlh.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/tr.po (renamed from addons/scrum/i18n/tr.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/uk.po (renamed from addons/scrum/i18n/uk.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/vi.po (renamed from addons/scrum/i18n/vi.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/zh_CN.po (renamed from addons/scrum/i18n/zh_CN.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/i18n/zh_TW.po (renamed from addons/scrum/i18n/zh_TW.po) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/process/project_scrum_process.xml (renamed from addons/scrum/process/scrum_process.xml) | 20 | ||||
| -rw-r--r-- | addons/project_scrum/project_scrum.py (renamed from addons/scrum/scrum.py) | 52 | ||||
| -rw-r--r-- | addons/project_scrum/project_scrum_demo.xml (renamed from addons/scrum/scrum_demo.xml) | 58 | ||||
| -rw-r--r-- | addons/project_scrum/project_scrum_report.xml (renamed from addons/scrum/scrum_report.xml) | 2 | ||||
| -rw-r--r-- | addons/project_scrum/project_scrum_view.xml (renamed from addons/scrum/scrum_view.xml) | 59 | ||||
| -rw-r--r-- | addons/project_scrum/report/__init__.py (renamed from addons/scrum/report/__init__.py) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/report/_burndown.py (renamed from addons/scrum/report/_burndown.py) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/report/sprint_burndown.py (renamed from addons/scrum/report/sprint_burndown.py) | 4 | ||||
| -rw-r--r-- | addons/project_scrum/report/task_burndown.py (renamed from addons/scrum/report/task_burndown.py) | 0 | ||||
| -rw-r--r-- | addons/project_scrum/security/ir.model.access.csv | 9 | ||||
| -rw-r--r-- | addons/project_scrum/wizard/__init__.py (renamed from addons/scrum/wizard/__init__.py) | 6 | ||||
| -rw-r--r-- | addons/project_scrum/wizard/project_scrum_backlog_create_task.py (renamed from addons/scrum/wizard/scrum_backlog_create_task.py) | 4 | ||||
| -rw-r--r-- | addons/project_scrum/wizard/project_scrum_backlog_create_task_view.xml (renamed from addons/scrum/wizard/scrum_backlog_create_task_view.xml) | 12 | ||||
| -rw-r--r-- | addons/project_scrum/wizard/project_scrum_backlog_merger.py (renamed from addons/scrum/wizard/scrum_backlog_merger.py) | 12 | ||||
| -rw-r--r-- | addons/project_scrum/wizard/project_scrum_backlog_merger_view.xml (renamed from addons/scrum/wizard/scrum_backlog_merger_view.xml) | 10 | ||||
| -rw-r--r-- | addons/project_scrum/wizard/project_scrum_backlog_sprint.py (renamed from addons/scrum/wizard/scrum_backlog_sprint.py) | 8 | ||||
| -rw-r--r-- | addons/project_scrum/wizard/project_scrum_backlog_sprint_view.xml (renamed from addons/scrum/wizard/scrum_backlog_sprint_view.xml) | 10 | ||||
| -rw-r--r-- | addons/scrum/security/ir.model.access.csv | 9 | ||||
| -rw-r--r-- | addons/thunderbird/plugin/tiny_plugin-2.0.xpi | bin | 68895 -> 68906 bytes |
86 files changed, 774 insertions, 635 deletions
diff --git a/addons/account/account.py b/addons/account/account.py index 6aa47551a98..45d3cb4377c 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2684,6 +2684,15 @@ class wizard_multi_charts_accounts(osv.osv_memory): 'position_id' : new_fp, } obj_ac_fp.create(cr, uid, vals_acc) + + #fially inactive the demo chart of accounts + data_id = data_pool.search(cr, uid, [('model','=','account.account'), ('name','=','chart0')]) + if data_id: + data = data_pool.browse(cr, uid, data_id[0]) + account_id = data.res_id + if account_id: + cr.execute("update account_account set active='f' where id=%s" % (account_id)) + wizard_multi_charts_accounts() class account_bank_accounts_wizard(osv.osv_memory): diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 6fe0182b584..e9c66c3036d 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -207,7 +207,7 @@ <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="terp-gtk-stop"/> <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="terp-stock_effects-object-colorize"/> <button name="%(action_account_state_open)d" type='action' string='Re-Open' states='paid' icon="gtk-convert"/> - <button name="%(action_account_invoice_refund)d" type='action' string='Credit Note' states='paid' icon="terp-dolar"/> + <button name="%(action_account_invoice_refund)d" type='action' string='Credit Note' states='open,paid' icon="terp-dolar"/> </group> </group> </page> diff --git a/addons/account/board_account_view.xml b/addons/account/board_account_view.xml index 6738c7a7d37..4cf8cd89ec5 100644 --- a/addons/account/board_account_view.xml +++ b/addons/account/board_account_view.xml @@ -27,15 +27,19 @@ <field name="type">form</field> <field name="arch" type="xml"> <form string="Account Board"> - <hpaned> + <vpaned> <child1> <action colspan="4" height="160" name="%(account.action_invoice_tree1)d" string="Draft Customer Invoices" domain="[('state','=','draft'),('type','=','out_invoice')]"/> </child1> <child2> - <action colspan="4" height="220" name="%(action_aged_receivable)d" string="Aged receivables"/> - <action colspan="4" height="220" name="%(action_aged_income)d" string="Aged income"/> + <group col="2" colspan="2" expand="1"> + <action colspan="4" name="%(action_aged_receivable)d" string="Aged receivables"/> + </group> + <group col="2" colspan="2"> + <action colspan="4" height="220" name="%(action_aged_income)d" string="Aged income"/> + </group> </child2> - </hpaned> + </vpaned> </form> </field> </record> diff --git a/addons/account/wizard/account_journal_select.py b/addons/account/wizard/account_journal_select.py index f13958ed90f..e11660a42af 100644 --- a/addons/account/wizard/account_journal_select.py +++ b/addons/account/wizard/account_journal_select.py @@ -38,10 +38,11 @@ class account_journal_select(osv.osv_memory): id = mod_obj.read(cr, uid, [result], ['res_id'])[0]['res_id'] result = act_obj.read(cr, uid, [id])[0] cr.execute('select journal_id, period_id from account_journal_period where id=%s', (context['active_id'],)) - journal_id, period_id = cr.fetchone() - - result['domain'] = str([('journal_id', '=', journal_id), ('period_id', '=', period_id)]) - result['context'] = str({'journal_id': journal_id, 'period_id': period_id}) + res = cr.fetchone() + if res: + journal_id, period_id = res + result['domain'] = str([('journal_id', '=', journal_id), ('period_id', '=', period_id)]) + result['context'] = str({'journal_id': journal_id, 'period_id': period_id}) return result diff --git a/addons/account/wizard/account_pl_report.py b/addons/account/wizard/account_pl_report.py index f507226fefd..79b701b6fb9 100644 --- a/addons/account/wizard/account_pl_report.py +++ b/addons/account/wizard/account_pl_report.py @@ -68,7 +68,7 @@ class account_pl_report(osv.osv_memory): 'fiscalyear' : False, 'display_account': 'bal_all', 'display_type': True, - } + } def next_view(self, cr, uid, ids, context=None): obj_model = self.pool.get('ir.model.data') diff --git a/addons/account/wizard/account_pl_report_view.xml b/addons/account/wizard/account_pl_report_view.xml index b1104df8d25..47ad83a235e 100644 --- a/addons/account/wizard/account_pl_report_view.xml +++ b/addons/account/wizard/account_pl_report_view.xml @@ -55,6 +55,8 @@ <field name="type">form</field> <field name="arch" type="xml"> <form string="Select Chart"> + <label string="Select account chart to print profit and loss account report" colspan="4"/> + <separator colspan="4"/> <field name="Account_list"/> <separator colspan="4"/> <button icon="gtk-cancel" special="cancel" string="Cancel"/> diff --git a/addons/account/wizard/account_print_journal_view.xml b/addons/account/wizard/account_print_journal_view.xml index 3c08fa5f697..1a4ad43724b 100644 --- a/addons/account/wizard/account_print_journal_view.xml +++ b/addons/account/wizard/account_print_journal_view.xml @@ -2,51 +2,51 @@ <openerp> <data> <!----> -<!-- <record id="view_account_print_journal" model="ir.ui.view">--> +<!-- <record id="view_account_print_journal" model="ir.ui.view">--> <!-- <field name="name">Account Print Journal</field>--> <!-- <field name="model">account.print.journal</field>--> <!-- <field name="type">form</field>--> <!-- <field name="arch" type="xml">--> -<!-- <form string="Print Journal">--> -<!-- <group col="4" colspan="6">--> -<!-- <field name="journal_id"/>--> -<!-- <field name="period_id"/>--> -<!-- <newline/>--> -<!-- <field name="sort_selection"/>--> -<!-- </group>--> -<!-- <separator colspan="4"/>--> -<!-- <group col="2" colspan="4">--> -<!-- <button special="cancel" string="Cancel" icon='gtk-cancel'/>--> -<!-- <button name="check_data" string="Print" colspan="1" type="object" icon="gtk-ok"/>--> -<!-- </group>--> -<!-- </form>--> +<!-- <form string="Print Journal">--> +<!-- <group col="4" colspan="6">--> +<!-- <field name="journal_id"/>--> +<!-- <field name="period_id"/>--> +<!-- <newline/>--> +<!-- <field name="sort_selection"/>--> +<!-- </group>--> +<!-- <separator colspan="4"/>--> +<!-- <group col="2" colspan="4">--> +<!-- <button special="cancel" string="Cancel" icon='gtk-cancel'/>--> +<!-- <button name="check_data" string="Print" colspan="1" type="object" icon="gtk-ok"/>--> +<!-- </group>--> +<!-- </form>--> <!-- </field>--> <!-- </record>--> - <record id="view_account_print_journal" model="ir.ui.view"> + <record id="view_account_print_journal" model="ir.ui.view"> <field name="name">Account Print Journal</field> <field name="model">account.print.journal</field> <field name="type">form</field> <field name="arch" type="xml"> - <form string="Print Journal"> - <group height="400" width="400"> - <group> - <separator string="Journals"/><newline/> - <field name="journal_id" nolabel="1"/><newline/> - <separator string="Periods"/><newline/> - <field name="period_id" nolabel="1"/><newline/> - </group> - <newline/> - <group> - <field name="sort_selection"/> - <newline/> - <separator colspan="4"/> - <button special="cancel" string="Cancel" icon='gtk-cancel'/> - <button name="check_data" string="Print" colspan="1" type="object" icon="gtk-ok"/> - </group> - </group> - </form> + <form string="Print Journal"> + <group height="430" width="420"> + <group> + <separator string="Journals"/><newline/> + <field name="journal_id" nolabel="1"/><newline/> + <separator string="Periods"/><newline/> + <field name="period_id" nolabel="1"/><newline/> + </group> + <newline/> + <group> + <field name="sort_selection"/> + <newline/> + <separator colspan="4"/> + <button special="cancel" string="Cancel" icon='gtk-cancel'/> + <button name="check_data" string="Print" colspan="1" type="object" icon="gtk-ok"/> + </group> + </group> + </form> </field> </record> @@ -59,12 +59,12 @@ <field name="target">new</field> </record> - <menuitem - name="Journals" - parent="account.menu_generic_report" - action="action_account_print_journal" - id="menu_account_print_journal" - icon="STOCK_PRINT"/> + <menuitem + name="Journals" + parent="account.menu_generic_report" + action="action_account_print_journal" + id="menu_account_print_journal" + icon="STOCK_PRINT"/> - </data> -</openerp>
\ No newline at end of file + </data> +</openerp> diff --git a/addons/account_voucher/i18n/zh_CN.po b/addons/account_voucher/i18n/zh_CN.po index 8ba6cb29fa0..37bfbcda4d8 100644 --- a/addons/account_voucher/i18n/zh_CN.po +++ b/addons/account_voucher/i18n/zh_CN.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-07-14 03:37+0000\n" +"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_voucher diff --git a/addons/account_voucher_payment/i18n/zh_CN.po b/addons/account_voucher_payment/i18n/zh_CN.po index 362481f0a53..377a1926046 100644 --- a/addons/account_voucher_payment/i18n/zh_CN.po +++ b/addons/account_voucher_payment/i18n/zh_CN.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-07-14 03:37+0000\n" +"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_voucher_payment diff --git a/addons/analytic_journal_billing_rate/i18n/zh_CN.po b/addons/analytic_journal_billing_rate/i18n/zh_CN.po index 4b85391f013..765982cfc04 100644 --- a/addons/analytic_journal_billing_rate/i18n/zh_CN.po +++ b/addons/analytic_journal_billing_rate/i18n/zh_CN.po @@ -7,55 +7,55 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.6\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-03-20 07:31+0000\n" +"PO-Revision-Date: 2010-07-14 03:49+0000\n" "Last-Translator: Black Jack <onetimespeed@hotmail.com>\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: 2010-06-22 04:17+0000\n" +"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: analytic_journal_billing_rate #: constraint:ir.ui.view:0 msgid "Invalid XML for View Architecture!" -msgstr "无效的视图结构XML文件!" +msgstr "无效XML视图结构!" #. module: analytic_journal_billing_rate #: field:analytic_journal_rate_grid,journal_id:0 msgid "Analytic Journal" -msgstr "辅助核算分类帐" +msgstr "辅助核算记录集合" #. module: analytic_journal_billing_rate #: constraint:ir.model:0 msgid "" "The Object name must start with x_ and not contain any special character !" -msgstr "对象名必须要以X_开头并且不能含有特殊字符!" +msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符!" #. module: analytic_journal_billing_rate #: view:analytic_journal_rate_grid:0 msgid "Billing Rate per Journal for this Analytic Account" -msgstr "辅助核算分类帐中每个分类帐的记帐标准" +msgstr "辅助核算记录集合中每个记录集合的开单税率" #. module: analytic_journal_billing_rate #: field:analytic_journal_rate_grid,account_id:0 msgid "Analytic Account" -msgstr "辅助核算分类帐" +msgstr "辅助核算项" #. module: analytic_journal_billing_rate #: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid msgid "Relation table between journals and billing rates" -msgstr "分类帐和记帐标准的关系表" +msgstr "记录集合和开票税率的关系表" #. module: analytic_journal_billing_rate #: field:account.analytic.account,journal_rate_ids:0 msgid "Invoicing Rate per Journal" -msgstr "分类帐的开票税率" +msgstr "每个记录集合的的开票税率" #. module: analytic_journal_billing_rate #: model:ir.module.module,shortdesc:analytic_journal_billing_rate.module_meta_information msgid "Analytic Journal Billing Rate" -msgstr "辅助核算分类帐的记帐标准" +msgstr "辅助核算集合的开票税率" #. module: analytic_journal_billing_rate #: field:analytic_journal_rate_grid,rate_id:0 diff --git a/addons/analytic_user_function/i18n/zh_CN.po b/addons/analytic_user_function/i18n/zh_CN.po index 034ad99e623..e20db0149f5 100644 --- a/addons/analytic_user_function/i18n/zh_CN.po +++ b/addons/analytic_user_function/i18n/zh_CN.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.6\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-03-20 07:31+0000\n" +"PO-Revision-Date: 2010-07-14 03:52+0000\n" "Last-Translator: Black Jack <onetimespeed@hotmail.com>\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: 2010-06-22 04:17+0000\n" +"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: analytic_user_function #: constraint:ir.ui.view:0 msgid "Invalid XML for View Architecture!" -msgstr "无效的视图结构XML文件!" +msgstr "无效XML视图结构!" #. module: analytic_user_function #: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid @@ -51,7 +51,7 @@ msgstr "用户" #: constraint:ir.model:0 msgid "" "The Object name must start with x_ and not contain any special character !" -msgstr "对象名必须要以X_开头并且不能含有特殊字符!" +msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符!" #. module: analytic_user_function #: model:ir.module.module,shortdesc:analytic_user_function.module_meta_information @@ -63,6 +63,10 @@ msgstr "辅助核算用的函数" msgid "User's Product for this Analytic Account" msgstr "用户的产品辅助核算项" +#, python-format +#~ msgid "Error !" +#~ msgstr "错误!" + #~ msgid "" #~ "\n" #~ "\n" diff --git a/addons/auction/i18n/zh_CN.po b/addons/auction/i18n/zh_CN.po index cdd945f6eef..03e5ffa4234 100644 --- a/addons/auction/i18n/zh_CN.po +++ b/addons/auction/i18n/zh_CN.po @@ -1,19 +1,19 @@ # Translation of OpenERP Server. # This file contains the translation of the following modules: -# * auction +# * auction # msgid "" msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-06-04 12:37+0000\n" -"Last-Translator: Eleanor Chen <chenyueg@gmail.com>\n" +"PO-Revision-Date: 2010-07-15 03:34+0000\n" +"Last-Translator: Black Jack <onetimespeed@hotmail.com>\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: 2010-06-22 04:13+0000\n" +"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: auction @@ -24,7 +24,7 @@ msgstr "总利润" #. module: auction #: wizard_view:auction.lots.sms_send,init:0 msgid "SMS - Gateway: clickatell" -msgstr "SMS网关" +msgstr "短信网关:clickatell" #. module: auction #: view:auction.lots:0 @@ -32,22 +32,24 @@ msgid "Set to draft" msgstr "设为草稿" #. module: auction -#: field:auction.deposit,partner_id:0 view:auction.lots:0 -#: xsl:report.auction.seller.list:0 field:report.deposit.border,seller:0 -#: field:report.seller.auction,seller:0 field:report.seller.auction2,seller:0 +#: field:auction.deposit,partner_id:0 +#: view:auction.lots:0 +#: field:report.deposit.border,seller:0 +#: field:report.seller.auction,seller:0 +#: field:report.seller.auction2,seller:0 msgid "Seller" msgstr "卖方" #. module: auction #: constraint:ir.actions.act_window:0 msgid "Invalid model name in the action definition." -msgstr "在这动作定义中无效的模块名" +msgstr "在动作定义使用了无效的模块名。" #. module: auction #: selection:auction.lots.send.aie,date_ask,numerotation:0 #: selection:auction.lots.send.aie,init,numerotation:0 msgid "Provisoire" -msgstr "" +msgstr "暂时的" #. module: auction #: selection:auction.lots.send.aie,date_ask,numerotation:0 @@ -58,7 +60,7 @@ msgstr "确定的(订单目录)" #. module: auction #: model:ir.ui.menu,name:auction.menu_report_auction_object_date_tree1_my msgid "My Encoded Objects Per Day" -msgstr "每天我编码的物品" +msgstr "我每天编号的物品" #. module: auction #: model:ir.model,name:auction.model_auction_lot_history @@ -79,26 +81,31 @@ msgstr "物品#" #. module: auction #: model:ir.ui.menu,name:auction.menu_action_bids_form msgid "Bids line" -msgstr "出价线" +msgstr "投标线" #. module: auction #: xsl:report.auction.deposit:0 msgid "Deposit Form" -msgstr "押金方式" +msgstr "押金单" #. module: auction -#: rml:auction.bids:0 view:auction.lots:0 field:auction.lots,ach_uid:0 +#: rml:auction.bids:0 +#: view:auction.lots:0 +#: field:auction.lots,ach_uid:0 #: wizard_field:auction.lots.buyer_map,check,ach_uid:0 #: wizard_field:auction.lots.make_invoice_buyer,init,buyer_id:0 -#: wizard_field:auction.pay.buy,init,buyer_id:0 rml:buyer.list:0 +#: wizard_field:auction.pay.buy,init,buyer_id:0 +#: rml:buyer.list:0 #: model:ir.ui.menu,name:auction.auction_report_buyer_menu -#: rml:report.auction.buyer.result:0 field:report.buyer.auction,buyer:0 +#: rml:report.auction.buyer.result:0 +#: field:report.buyer.auction,buyer:0 #: field:report.buyer.auction2,buyer:0 msgid "Buyer" msgstr "买家" #. module: auction -#: field:report.auction.view,nobjects:0 field:report.buyer.auction,object:0 +#: field:report.auction.view,nobjects:0 +#: field:report.buyer.auction,object:0 msgid "No of objects" msgstr "没有物品" @@ -110,7 +117,7 @@ msgstr "拍卖最终结果" #. module: auction #: rml:auction.total.rml:0 msgid "# of paid items (based on invoices):" -msgstr "(根据发票)支付项目:" +msgstr "支付项目(根据发票):" #. module: auction #: model:ir.actions.wizard,name:auction.wizard_numerotate_lot @@ -123,7 +130,8 @@ msgid "Antique/Books, manuscripts, eso." msgstr "古董/书籍/手稿" #. module: auction -#: view:auction.deposit:0 model:ir.model,name:auction.model_auction_deposit +#: view:auction.deposit:0 +#: model:ir.model,name:auction.model_auction_deposit msgid "Deposit Border" msgstr "押金最少" @@ -131,7 +139,7 @@ msgstr "押金最少" #: wizard_field:auction.lots.make_invoice,init,amount:0 #: wizard_field:auction.lots.make_invoice_buyer,init,amount:0 msgid "Invoiced Amount" -msgstr "发票金额" +msgstr "已开票金额" #. module: auction #: selection:auction.lot.category,aie_categ:0 @@ -141,7 +149,7 @@ msgstr "古董/锡/铜制品" #. module: auction #: field:auction.lots,paid_ach:0 msgid "Buyer invoice reconciled" -msgstr "买家发票对账" +msgstr "买家发票已核销" #. module: auction #: model:ir.actions.wizard,name:auction.auction_wizard_able_taken @@ -151,7 +159,7 @@ msgstr "标记为带走" #. module: auction #: xsl:report.auction.seller.list:0 msgid "Inv." -msgstr "" +msgstr "发票" #. module: auction #: field:auction.deposit.cost,amount:0 @@ -195,7 +203,8 @@ msgid "Objects by Auction" msgstr "拍卖物品" #. module: auction -#: field:auction.lots,lot_num:0 field:report.unclassified.objects,lot_num:0 +#: field:auction.lots,lot_num:0 +#: field:report.unclassified.objects,lot_num:0 msgid "List Number" msgstr "表编号" @@ -230,7 +239,8 @@ msgid "Contemporary Art" msgstr "当代艺术" #. module: auction -#: view:auction.lots:0 view:report.unclassified.objects:0 +#: view:auction.lots:0 +#: view:report.unclassified.objects:0 msgid "Ref" msgstr "参考" @@ -250,9 +260,10 @@ msgid "Error: Sign in (resp. Sign out) must follow Sign out (resp. Sign in)" msgstr "错误:登入必须要先登出" #. module: auction -#: view:auction.lots:0 field:report.buyer.auction,total_price:0 +#: view:auction.lots:0 +#: field:report.buyer.auction,total_price:0 msgid "Total Adj." -msgstr "" +msgstr "合计" #. module: auction #: field:report.auction.view2,obj_margin_procent:0 @@ -260,7 +271,8 @@ msgid "Net margin (%)" msgstr "净利润(%)" #. module: auction -#: selection:auction.lots,state:0 selection:report.object.encoded,state:0 +#: selection:auction.lots,state:0 +#: selection:report.object.encoded,state:0 #: selection:report.seller.auction,state:0 #: selection:report.unclassified.objects,state:0 msgid "Unsold" @@ -274,7 +286,7 @@ msgstr "日期" #. module: auction #: constraint:product.template:0 msgid "Error: UOS must be in a different category than the UOM" -msgstr "错误:销售单位必须要和计量单位不同类型" +msgstr "错误:销售单位必须和计量单位在不同的分类." #. module: auction #: rml:auction.total.rml:0 @@ -288,7 +300,9 @@ msgid "Seller Costs" msgstr "卖家费用" #. module: auction -#: view:auction.bid:0 view:auction.bid_line:0 view:auction.lots:0 +#: view:auction.bid:0 +#: view:auction.bid_line:0 +#: view:auction.lots:0 #: field:auction.lots,bid_lines:0 #: model:ir.actions.report.xml,name:auction.bid_auction #: model:ir.ui.menu,name:auction.menu_action_bid_open @@ -311,7 +325,8 @@ msgid "Contact" msgstr "联系" #. module: auction -#: field:report.auction.view,obj_ret:0 field:report.object.encoded,obj_ret:0 +#: field:report.auction.view,obj_ret:0 +#: field:report.object.encoded,obj_ret:0 #: field:report.object.encoded.manager,obj_ret:0 msgid "# obj ret" msgstr "物品#" @@ -339,7 +354,7 @@ msgstr "佣金" #. module: auction #: wizard_button:auction.lots.numerotate,search,init:0 msgid "Back" -msgstr "后面" +msgstr "后退" #. module: auction #: model:ir.actions.act_window,name:auction.action_all_objects_unsold @@ -352,17 +367,20 @@ msgid "Sold Objects" msgstr "已卖出的物品" #. module: auction -#: view:report.buyer.auction2:0 view:report.seller.auction2:0 +#: view:report.buyer.auction2:0 +#: view:report.seller.auction2:0 msgid "Sum net margin" msgstr "合计净利润" #. module: auction #: view:auction.deposit:0 msgid "Deposit Border Form" -msgstr "押金最少方式" +msgstr "最少押金单" #. module: auction -#: field:auction.bid,bid_lines:0 rml:auction.bids:0 rml:bids.lots:0 +#: field:auction.bid,bid_lines:0 +#: rml:auction.bids:0 +#: rml:bids.lots:0 #: model:ir.model,name:auction.model_auction_bid_line msgid "Bid" msgstr "出价" @@ -373,15 +391,17 @@ msgid "Langage" msgstr "" #. module: auction -#: field:auction.bid_line,lot_id:0 field:auction.lot.history,lot_id:0 -#: view:auction.lots:0 model:ir.model,name:auction.model_auction_lots +#: field:auction.bid_line,lot_id:0 +#: field:auction.lot.history,lot_id:0 +#: view:auction.lots:0 +#: model:ir.model,name:auction.model_auction_lots msgid "Object" msgstr "物品" #. module: auction #: model:ir.actions.wizard,name:auction.wizard_map_user msgid "Map buyer username to Partners" -msgstr "从买家用户到业务伙伴" +msgstr "从买家到业务伙伴" #. module: auction #: wizard_field:auction.lots.numerotate,search,lot_num:0 @@ -407,9 +427,11 @@ msgid "Auction buyer reporting form view" msgstr "拍卖买方报表" #. module: auction -#: field:auction.dates,state:0 field:auction.lots,state:0 +#: field:auction.dates,state:0 +#: field:auction.lots,state:0 #: field:report.auction.adjudication,state:0 -#: field:report.object.encoded,state:0 field:report.seller.auction,state:0 +#: field:report.object.encoded,state:0 +#: field:report.seller.auction,state:0 #: field:report.unclassified.objects,state:0 msgid "Status" msgstr "状态" @@ -425,7 +447,8 @@ msgid "Antique/Cartoons" msgstr "古董/卡通" #. module: auction -#: view:auction.lots:0 selection:auction.lots,state:0 +#: view:auction.lots:0 +#: selection:auction.lots,state:0 #: selection:report.seller.auction,state:0 #: selection:report.unclassified.objects,state:0 msgid "Sold" @@ -449,7 +472,7 @@ msgstr "费用科目" #. module: auction #: model:ir.ui.menu,name:auction.menu_wizard_emporte msgid "Deliveries Management" -msgstr "发货管理" +msgstr "交付管理" #. module: auction #: field:auction.lots,obj_desc:0 @@ -482,47 +505,48 @@ msgstr "" #. module: auction #: model:ir.actions.wizard,name:auction.wizard_pay msgid "Pay objects of the buyer" -msgstr "" +msgstr "买家支付的物品" #. module: auction #: view:report.deposit.border:0 msgid "Depositer's statistics" -msgstr "" +msgstr "押金统计" #. module: auction #: view:auction.lots:0 msgid "Buyer information" -msgstr "" +msgstr "买家信息" #. module: auction #: model:ir.model,name:auction.model_report_seller_auction msgid "Auction Reporting on seller view" -msgstr "" +msgstr "拍卖报表卖家视图" #. module: auction #: field:auction.lots,name2:0 msgid "Short Description (2)" -msgstr "" +msgstr "简短描述(2)" #. module: auction #: model:ir.model,name:auction.model_auction_dates msgid "auction.dates" -msgstr "" +msgstr "拍卖.日期" #. module: auction -#: rml:auction.total.rml:0 model:ir.ui.menu,name:auction.auction_buyers_menu +#: rml:auction.total.rml:0 +#: model:ir.ui.menu,name:auction.auction_buyers_menu msgid "Buyers" -msgstr "" +msgstr "买家" #. module: auction #: wizard_field:auction.pay.buy,init,amount:0 #: wizard_field:auction.pay.buy,init,amount2:0 #: wizard_field:auction.pay.buy,init,amount3:0 msgid "Amount paid" -msgstr "" +msgstr "已付款金额" #. module: auction -#: view:board.board:0 +#: model:ir.ui.menu,name:auction.menu_report_latest_doposit_tree msgid "My Latest Deposits" msgstr "我最近的押金" @@ -533,27 +557,27 @@ msgstr "我最近的押金" #: field:report.auction.view,min_est:0 #: field:report.unclassified.objects,lot_est1:0 msgid "Minimum Estimation" -msgstr "" +msgstr "最低估价" #. module: auction #: view:auction.dates:0 msgid "Accounting" -msgstr "" +msgstr "会计" #. module: auction #: model:ir.ui.menu,name:auction.menu_buyer_allmonth_view2 msgid "Buyer's Revenues" -msgstr "" +msgstr "买家收入" #. module: auction #: model:ir.model,name:auction.model_report_auction_adjudication msgid "report_auction_adjudication" -msgstr "" +msgstr "拍卖最终结果报表" #. module: auction #: field:auction.bid_line,price:0 msgid "Maximum Price" -msgstr "" +msgstr "最高价格" #. module: auction #: selection:auction.lots.send.aie,date_ask,lang:0 @@ -563,22 +587,22 @@ msgstr "" #. module: auction #: view:report.buyer.auction2:0 msgid "Auction buyer reporting tree view2" -msgstr "" +msgstr "拍卖买家报表树视图2" #. module: auction #: wizard_view:auction.lots.sms_send,init:0 msgid "Bulk SMS send" -msgstr "" +msgstr "批量发送SMS" #. module: auction #: wizard_view:auction.taken,init:0 msgid "Select lots which are Sold" -msgstr "" +msgstr "选择已售出的批" #. module: auction #: field:auction.lots,statement_id:0 msgid "Payment" -msgstr "" +msgstr "付款" #. module: auction #: selection:auction.lots.send.aie,date_ask,lang:0 @@ -588,50 +612,50 @@ msgstr "" #. module: auction #: selection:auction.lot.category,aie_categ:0 msgid "Antique/Old weapons and militaria" -msgstr "" +msgstr "古董/旧武器和军备" #. module: auction #: selection:auction.lot.category,aie_categ:0 msgid "Antique/Oriental Arts/Chineese furnitures" -msgstr "" +msgstr "古董/东方艺术品/中国家具" #. module: auction #: selection:auction.deposit,method:0 msgid "Keep until sold" -msgstr "" +msgstr "保留直到售出" #. module: auction #: wizard_button:auction.lots.numerotate,init,choice:0 #: wizard_button:auction.lots.send.aie,init,date_ask:0 #: wizard_button:auction.lots.send.aie.results,init,date_ask:0 msgid "Continue" -msgstr "" +msgstr "继续" #. module: auction #: field:report.object.encoded,obj_num:0 #: field:report.object.encoded.manager,obj_num:0 msgid "# of Encoded obj." -msgstr "" +msgstr "# 物品编码" #. module: auction #: xsl:report.auction.vnd_bordereau:0 msgid "List N." -msgstr "" +msgstr "列表 N" #. module: auction #: field:report.deposit.border,moy_est:0 msgid "Avg. Est" -msgstr "" +msgstr "平均值" #. module: auction #: rml:auction.total.rml:0 msgid "# of sellers:" -msgstr "" +msgstr "# 卖家" #. module: auction #: constraint:product.product:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "错误:无效EAN编码" #. module: auction #: model:ir.module.module,description:auction.module_meta_information @@ -642,26 +666,31 @@ msgid "" " Delivery Management. \n" " " msgstr "" +"这模块提供以下功能\n" +" 管理艺术家, 作品, 买家, 卖家和拍卖\n" +" 管理出价, 售出跟踪, 支付和未售出物品\n" +" 交付管理 \n" +" " #. module: auction #: rml:auction.total.rml:0 msgid "# of items taken away:" -msgstr "" +msgstr "# 带走的物品:" #. module: auction #: model:ir.ui.menu,name:auction.menu_auction_allmonth_view1 msgid "Auction's Summary" -msgstr "" +msgstr "拍卖合计:" #. module: auction #: rml:buyer.list:0 msgid "%)" -msgstr "" +msgstr "%)" #. module: auction #: wizard_view:auction.lots.able,init:0 msgid "Confirmation set taken away" -msgstr "" +msgstr "确认设为带走" #. module: auction #: wizard_field:auction.lots.make_invoice,init,objects:0 @@ -670,7 +699,7 @@ msgstr "" #: wizard_field:auction.lots.send.aie.results,date_ask,objects:0 #: field:report.deposit.border,nb_obj:0 msgid "# of objects" -msgstr "" +msgstr "# 物品" #. module: auction #: field:auction.lots,lot_est2:0 @@ -679,82 +708,83 @@ msgstr "" #: field:report.auction.view,max_est:0 #: field:report.unclassified.objects,lot_est2:0 msgid "Maximum Estimation" -msgstr "" +msgstr "最高估价" #. module: auction #: field:auction.lots,buyer_price:0 msgid "Buyer price" -msgstr "" +msgstr "买家价格" #. module: auction #: model:ir.actions.wizard,name:auction.auction_wizard_payer_sel msgid "Mark as paid for seller" -msgstr "" +msgstr "标记为卖家支付" #. module: auction #: model:ir.actions.report.xml,name:auction.seller_form_id msgid "Seller List" -msgstr "" +msgstr "卖家列表" #. module: auction #: field:auction.lots,is_ok:0 msgid "Buyer's payment" -msgstr "" +msgstr "买家付款" #. module: auction #: view:auction.dates:0 msgid "Close + Create all invoices" -msgstr "" +msgstr "费用 + 创建所有发票" #. module: auction #: model:ir.actions.wizard,name:auction.auction_catalog_flagy msgid "Auction Catalog Flagey" -msgstr "" +msgstr "拍卖目录Flagey" #. module: auction #: field:auction.lot.history,price:0 msgid "Withdrawn price" -msgstr "" +msgstr "撤销价格" #. module: auction #: model:account.tax,name:auction.auction_tax4 msgid "Seller Costs1" -msgstr "" +msgstr "卖家成本1" #. module: auction #: selection:auction.lot.category,aie_categ:0 msgid "Antique/Verreries" -msgstr "" +msgstr "古董/玻璃器皿" #. module: auction #: selection:auction.lot.category,aie_categ:0 msgid "Antique/Toys" -msgstr "" +msgstr "古董/玩具" #. module: auction -#: field:auction.deposit,create_uid:0 field:auction.lots,create_uid:0 +#: field:auction.deposit,create_uid:0 +#: field:auction.lots,create_uid:0 msgid "Created by" -msgstr "" +msgstr "创建者" #. module: auction #: xsl:report.auction.ach_bordereau:0 msgid "Buyer form" -msgstr "" +msgstr "买家" #. module: auction #: xsl:report.auction.deposit:0 msgid "Estimate" -msgstr "" +msgstr "预计" #. module: auction #: rml:auction.total.rml:0 msgid "# of buyers:" -msgstr "" +msgstr "# 买家:" #. module: auction #: field:auction.lots,costs:0 msgid "Indirect costs" -msgstr "" +msgstr "间接成本" #. module: auction #: xsl:report.auction.ach_bordereau:0 @@ -764,53 +794,53 @@ msgstr "" #. module: auction #: constraint:account.tax.code:0 msgid "Error ! You can not create recursive accounts." -msgstr "" +msgstr "错误!你不能创建递归的科目" #. module: auction #: model:ir.ui.menu,name:auction.auction_menu_root msgid "Auction Management" -msgstr "" +msgstr "拍卖管理" #. module: auction #: field:auction.dates,journal_seller_id:0 msgid "Seller Journal" -msgstr "" +msgstr "卖家记录集合" #. module: auction #: view:report.buyer.auction:0 msgid "Auction buyer reporting tree view" -msgstr "" +msgstr "拍卖买家报表树视图" #. module: auction #: model:ir.ui.menu,name:auction.menu_auction_artist msgid "Define Artists" -msgstr "" +msgstr "定义艺术家" #. module: auction #: field:auction.lot.category,name:0 msgid "Category Name" -msgstr "" +msgstr "类别名称" #. module: auction #: model:ir.ui.menu,name:auction.menu_report_auction_estimation_adj_category_manager #: model:ir.ui.menu,name:auction.menu_report_auction_estimation_adj_category_member msgid "Comparison of estimations" -msgstr "" +msgstr "估价比较" #. module: auction #: model:ir.actions.report.xml,name:auction.v_report_barcode_lot msgid "Code barres du lot" -msgstr "" +msgstr "条码批" #. module: auction #: wizard_button:auction.lots.numerotate,not_exist,init:0 msgid "Retry" -msgstr "" +msgstr "重试" #. module: auction #: field:auction.artists,birth_death_dates:0 msgid "Birth / Death dates" -msgstr "" +msgstr "出生/ 死亡日期" #. module: auction #: selection:auction.lot.category,aie_categ:0 @@ -820,7 +850,7 @@ msgstr "" #. module: auction #: model:ir.model,name:auction.model_report_unclassified_objects msgid "Unclassified objects " -msgstr "" +msgstr "无类别物品 " #. module: auction #: wizard_button:auction.lots.numerotate_cont,init,set_number:0 @@ -837,22 +867,22 @@ msgstr "" #. module: auction #: xsl:report.auction.deposit:0 msgid "Document type" -msgstr "" +msgstr "文档类型" #. module: auction #: model:ir.model,name:auction.model_report_auction_estimation_adj_category msgid "comparaison estimate/adjudication " -msgstr "" +msgstr "估价比价/ 最终结果 " #. module: auction #: rml:buyer.list:0 msgid "Adj(EUR)" -msgstr "" +msgstr "最终结果(EUR)" #. module: auction #: selection:auction.lot.category,aie_categ:0 msgid "Cont. Art/Other Media" -msgstr "" +msgstr "艺术品/ 其它媒体" #. module: auction #: model:ir.actions.wizard,name:auction.wizard_emporte @@ -860,42 +890,44 @@ msgid "Gestion emporte" msgstr "" #. module: auction -#: xsl:report.auction.lots.list.landscape:0 xsl:report.auction.vnd_bordereau:0 +#: xsl:report.auction.lots.list.landscape:0 +#: xsl:report.auction.vnd_bordereau:0 msgid "Cat. N." msgstr "" #. module: auction #: model:ir.ui.menu,name:auction.menu_auction_object_cat msgid "Object Categories" -msgstr "" +msgstr "物品类别" #. module: auction #: wizard_field:auction.lots.send.aie,date_ask,img_send:0 msgid "Send Image also ?" -msgstr "" +msgstr "也传送图像?" #. module: auction #: view:auction.deposit:0 msgid "General Informations" -msgstr "" +msgstr "一般信息" #. module: auction #: constraint:ir.ui.view:0 msgid "Invalid XML for View Architecture!" -msgstr "在这动作定义中无效的模块名" +msgstr "无效XML视图结构!" #. module: auction #: view:report.auction.view:0 msgid "Auctions results" -msgstr "" +msgstr "拍卖结果" #. module: auction #: wizard_field:auction.lots.sms_send,init,app_id:0 msgid "API ID" -msgstr "" +msgstr "API ID" #. module: auction -#: field:auction.bid,name:0 field:auction.bid_line,bid_id:0 +#: field:auction.bid,name:0 +#: field:auction.bid_line,bid_id:0 msgid "Bid ID" msgstr "" @@ -907,40 +939,40 @@ msgstr "" #. module: auction #: field:report.buyer.auction2,net_margin:0 msgid "Net Margin" -msgstr "" +msgstr "净利润" #. module: auction #: field:auction.lots,vnd_lim_net:0 msgid "Net limit ?" -msgstr "" +msgstr "净限额?" #. module: auction #: rml:auction.total.rml:0 msgid "# of commissions:" -msgstr "" +msgstr "# 佣金:" #. module: auction #: model:ir.actions.act_window,name:auction.action_unclassified_objects #: model:ir.ui.menu,name:auction.menu_all_objects_unclassified #: view:report.unclassified.objects:0 msgid "Unclassified objects" -msgstr "" +msgstr "无类别物品" #. module: auction #: wizard_view:auction.lots.make_invoice_buyer,init:0 msgid "(Keep empty for automatic number)" -msgstr "" +msgstr "(空为自动编号)" #. module: auction #: model:ir.model,name:auction.model_report_auction_object_date #: view:report.auction.object.date:0 msgid "Objects per day" -msgstr "" +msgstr "每天物品" #. module: auction #: model:product.template,name:auction.monproduit_product_template msgid "Oeuvres a 21%" -msgstr "" +msgstr "全部 21%" #. module: auction #: selection:auction.lot.category,aie_categ:0 @@ -948,97 +980,99 @@ msgid "Antique/Carpet and textilles" msgstr "" #. module: auction -#: xsl:report.auction.seller.list:0 field:report.object.encoded.manager,adj:0 +#: field:report.object.encoded.manager,adj:0 msgid "Adj." -msgstr "" +msgstr "最终结果" #. module: auction -#: field:auction.lot.history,name:0 field:report.attendance,name:0 -#: field:report.auction.adjudication,date:0 xsl:report.auction.deposit:0 +#: field:auction.lot.history,name:0 +#: field:report.attendance,name:0 +#: field:report.auction.adjudication,date:0 #: field:report.auction.estimation.adj.category,date:0 msgid "Date" -msgstr "" +msgstr "日期" #. module: auction #: field:auction.lots,obj_ret:0 msgid "Price retired" -msgstr "" +msgstr "价格撤回" #. module: auction #: view:auction.deposit:0 msgid "Extra Costs" -msgstr "" +msgstr "额外费用" #. module: auction #: model:ir.ui.menu,name:auction.menu_auction_dates_new msgid "New Auction Dates" -msgstr "" +msgstr "新拍卖日期" #. module: auction #: field:auction.lots,paid_vnd:0 msgid "Seller Paid" -msgstr "" +msgstr "卖家支付" #. module: auction #: field:auction.deposit,date_dep:0 msgid "Deposit date" -msgstr "" +msgstr "押金日期" #. module: auction #: model:ir.actions.report.xml,name:auction.id_deposit msgid "Deposits" -msgstr "" +msgstr "押金" #. module: auction #: field:auction.deposit,specific_cost_ids:0 msgid "Specific Costs" -msgstr "" +msgstr "特别费用" #. module: auction -#: view:report.buyer.auction2:0 view:report.seller.auction2:0 +#: view:report.buyer.auction2:0 +#: view:report.seller.auction2:0 msgid "Sum adj" -msgstr "" +msgstr "最终结果合计" #. module: auction -#: view:auction.dates:0 view:report.auction.view2:0 +#: view:auction.dates:0 +#: view:report.auction.view2:0 msgid "Auctions" -msgstr "" +msgstr "拍卖" #. module: auction #: field:report.seller.auction,object_number:0 msgid "No of Objects" -msgstr "" +msgstr "没物品" #. module: auction #: view:auction.lots:0 msgid "History" -msgstr "" +msgstr "日志" #. module: auction #: field:auction.lot.category,priority:0 msgid "Priority" -msgstr "" +msgstr "优先级" #. module: auction #: rml:auction.code_bar_lot:0 msgid "Nr." -msgstr "" +msgstr "Nr." #. module: auction #: selection:auction.lot.category,aie_categ:0 msgid "Antique/Painting" -msgstr "" +msgstr "古董/ 绘画" #. module: auction #: field:auction.lot.category,aie_categ:0 msgid "Aie Category" -msgstr "" +msgstr "Aie类别" #. module: auction -#: xsl:flagey.huissier:0 rml:report.auction.buyer.result:0 -#: xsl:report.auction.deposit:0 +#: rml:report.auction.buyer.result:0 msgid "Num" -msgstr "" +msgstr "编号" #. module: auction #: wizard_button:auction.lots.able,init,end:0 @@ -1055,94 +1089,97 @@ msgstr "" #: wizard_button:auction.pay.buy,init,end:0 #: wizard_button:auction.payer.sel,init,end:0 msgid "Cancel" -msgstr "" +msgstr "取消" #. module: auction #: view:auction.dates:0 msgid "Beginning of the auction" -msgstr "" +msgstr "开始拍卖" #. module: auction #: field:auction.artists,biography:0 msgid "Biography" -msgstr "" +msgstr "传记" #. module: auction #: field:auction.lots,lot_local:0 msgid "Location" -msgstr "" +msgstr "位置" #. module: auction #: wizard_view:auction.payer.sel,init:0 msgid "Check payment for seller" -msgstr "" +msgstr "检查卖家付款" #. module: auction #: model:ir.actions.act_window,name:auction.view_report_object_by_auction msgid "Detailed lots" -msgstr "" +msgstr "详细" #. module: auction -#: view:board.board:0 +#: view:report.object.encoded:0 +#: view:report.object.encoded.manager:0 msgid "Objects statistics" msgstr "物品统计" #. module: auction #: view:auction.dates:0 msgid "Analytic" -msgstr "" +msgstr "分析" #. module: auction #: model:ir.actions.wizard,name:auction.wizard_results msgid "Send results to Auction-in-europe.com" -msgstr "" +msgstr "发送结果到europe.com" #. module: auction -#: rml:bids.lots:0 rml:bids.phones.details:0 +#: rml:bids.lots:0 +#: rml:bids.phones.details:0 msgid "Cat.N" msgstr "" #. module: auction #: selection:auction.deposit,method:0 msgid "Decrease limit of 10%" -msgstr "" +msgstr "减少10%限制" #. module: auction #: field:auction.dates,adj_total:0 #: field:report.auction.adjudication,adj_total:0 #: field:report.auction.estimation.adj.category,adj_total:0 msgid "Total Adjudication" -msgstr "" +msgstr "最终结果合计" #. module: auction #: model:ir.actions.act_window,name:auction.action_auction_reporting1 #: model:ir.actions.act_window,name:auction.action_auction_reporting_all1 #: model:ir.actions.act_window,name:auction.action_auction_reporting_all2 msgid "Seller's auction" -msgstr "" +msgstr "卖家拍卖" #. module: auction #: model:ir.actions.wizard,name:auction.wizard_invoice_buyer1 msgid "Invoice Buyer objects" -msgstr "" +msgstr "买家物品发票" #. module: auction #: model:ir.ui.menu,name:auction.menu_seller_allmonth_view2 msgid "Seller's Revenues" -msgstr "" +msgstr "卖家收入" #. module: auction #: xsl:flagey.huissier:0 msgid "Price" -msgstr "" +msgstr "价格" #. module: auction #: rml:bids.phones.details:0 msgid "-" -msgstr "" +msgstr "-" #. module: auction -#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.vnd_bordereau:0 +#: xsl:report.auction.ach_bordereau:0 +#: xsl:report.auction.vnd_bordereau:0 msgid "Subtotal:" msgstr "" @@ -1158,7 +1195,8 @@ msgid "Invoice Number" msgstr "" #. module: auction -#: field:report.buyer.auction,date:0 field:report.buyer.auction2,date:0 +#: field:report.buyer.auction,date:0 +#: field:report.buyer.auction2,date:0 #: field:report.object.encoded,date:0 #: field:report.object.encoded.manager,date:0 #: field:report.seller.auction,date:0 @@ -1181,7 +1219,8 @@ msgid "Name" msgstr "" #. module: auction -#: field:auction.deposit,name:0 field:auction.lots,bord_vnd_id:0 +#: field:auction.deposit,name:0 +#: field:auction.lots,bord_vnd_id:0 #: wizard_field:auction.lots.numerotate,init,bord_vnd_id:0 #: field:report.deposit.border,bord:0 #: field:report.unclassified.objects,bord_vnd_id:0 @@ -1209,7 +1248,7 @@ msgid "Login" msgstr "" #. module: auction -#: rml:buyer.list:0 xsl:report.auction.seller.list:0 +#: rml:buyer.list:0 msgid "To pay" msgstr "" @@ -1229,7 +1268,8 @@ msgid "Seller Form" msgstr "" #. module: auction -#: field:auction.lots,lot_type:0 field:report.unclassified.objects,lot_type:0 +#: field:auction.lots,lot_type:0 +#: field:report.unclassified.objects,lot_type:0 msgid "Object category" msgstr "" @@ -1298,7 +1338,8 @@ msgid "Payment's history" msgstr "" #. module: auction -#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.vnd_bordereau:0 +#: xsl:report.auction.ach_bordereau:0 +#: xsl:report.auction.vnd_bordereau:0 msgid "Document" msgstr "" @@ -1370,7 +1411,8 @@ msgid "Cont. Art/Curiosa" msgstr "" #. module: auction -#: field:auction.bid,auction_id:0 field:auction.lots,auction_id:0 +#: field:auction.bid,auction_id:0 +#: field:auction.lots,auction_id:0 #: wizard_field:auction.lots.auction_move,init,auction_id:0 #: wizard_field:auction.lots.send.aie,date_ask,dates:0 #: wizard_field:auction.lots.send.aie,init,dates:0 @@ -1418,7 +1460,8 @@ msgid "Cont. Art/Jewelry" msgstr "" #. module: auction -#: xsl:report.auction.deposit:0 xsl:report.auction.vnd_bordereau:0 +#: xsl:report.auction.deposit:0 +#: xsl:report.auction.vnd_bordereau:0 msgid "Inventory" msgstr "" @@ -1428,7 +1471,7 @@ msgid "Next Auctions" msgstr "" #. module: auction -#: rml:buyer.list:0 xsl:report.auction.seller.list:0 +#: rml:buyer.list:0 msgid "#" msgstr "" @@ -1530,7 +1573,7 @@ msgstr "" #: constraint:product.template:0 msgid "" "Error: The default UOM and the purchase UOM must be in the same category." -msgstr "" +msgstr "错误:默认的计量单位和这货物的计量单位必须是同一类型." #. module: auction #: xsl:report.auction.vnd_bordereau:0 @@ -1558,14 +1601,15 @@ msgid "Buyer Journal" msgstr "" #. module: auction -#: selection:auction.lots,state:0 xsl:report.auction.ach_bordereau:0 +#: selection:auction.lots,state:0 #: selection:report.object.encoded,state:0 #: selection:report.unclassified.objects,state:0 msgid "Paid" msgstr "" #. module: auction -#: rml:bids.lots:0 rml:bids.phones.details:0 +#: rml:bids.lots:0 +#: rml:bids.phones.details:0 msgid "Phone" msgstr "" @@ -1596,8 +1640,7 @@ msgid "Antique/Sculpture, bronze, eso." msgstr "" #. module: auction -#: rml:buyer.list:0 xsl:report.auction.ach_bordereau:0 -#: xsl:report.auction.seller.list:0 xsl:report.auction.vnd_bordereau:0 +#: rml:buyer.list:0 msgid "Total:" msgstr "" @@ -1661,7 +1704,7 @@ msgstr "" #: constraint:ir.model:0 msgid "" "The Object name must start with x_ and not contain any special character !" -msgstr "" +msgstr "对象名称必须以“x_”开头且不能包含任何特殊字符!" #. module: auction #: field:auction.deposit,transfer:0 @@ -1741,7 +1784,8 @@ msgid "Plate Number:" msgstr "" #. module: auction -#: view:auction.deposit:0 field:auction.deposit,lot_id:0 +#: view:auction.deposit:0 +#: field:auction.deposit,lot_id:0 #: model:ir.ui.menu,name:auction.auction_objects_menu msgid "Objects" msgstr "对象" @@ -1763,9 +1807,10 @@ msgid "Allow Negative Amount" msgstr "" #. module: auction -#: rml:auction.bids:0 view:auction.lots:0 rml:auction.total.rml:0 +#: rml:auction.bids:0 +#: view:auction.lots:0 +#: rml:auction.total.rml:0 #: model:ir.ui.menu,name:auction.auction_report_auction_menu -#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.deposit:0 msgid "Auction" msgstr "" @@ -1775,12 +1820,17 @@ msgid "Cont. Art/Shows" msgstr "" #. module: auction -#: field:auction.dates,name:0 field:auction.lot.history,auction_id:0 +#: field:auction.dates,name:0 +#: field:auction.lot.history,auction_id:0 #: field:report.auction.adjudication,name:0 -#: field:report.auction.view,auction_id:0 field:report.auction.view2,auction:0 -#: field:report.auction.view2,date:0 field:report.buyer.auction,auction:0 -#: field:report.buyer.auction2,auction:0 field:report.seller.auction,auction:0 -#: field:report.seller.auction2,auction:0 field:report.seller.auction2,date:0 +#: field:report.auction.view,auction_id:0 +#: field:report.auction.view2,auction:0 +#: field:report.auction.view2,date:0 +#: field:report.buyer.auction,auction:0 +#: field:report.buyer.auction2,auction:0 +#: field:report.seller.auction,auction:0 +#: field:report.seller.auction2,auction:0 +#: field:report.seller.auction2,date:0 #: field:report.unclassified.objects,auction:0 msgid "Auction date" msgstr "" @@ -1842,7 +1892,6 @@ msgstr "" #. module: auction #: field:report.attendance,total_attendance:0 -#: xsl:report.auction.ach_bordereau:0 msgid "Total" msgstr "" @@ -1932,7 +1981,8 @@ msgstr "" #. module: auction #: wizard_view:auction.lots.auction_move,init:0 -msgid "Warning, this will erase the object adjudication price and its buyer !" +msgid "" +"Warning, this will erase the object adjudication price and its buyer !" msgstr "" #. module: auction @@ -1956,14 +2006,16 @@ msgid "Income Account" msgstr "" #. module: auction -#: field:auction.lots,net_revenue:0 field:report.auction.view2,net_revenue:0 +#: field:auction.lots,net_revenue:0 +#: field:report.auction.view2,net_revenue:0 #: field:report.object.encoded.manager,net_revenue:0 #: field:report.seller.auction2,net_revenue:0 msgid "Net revenue" msgstr "" #. module: auction -#: xsl:report.auction.deposit:0 xsl:report.auction.lots.list.landscape:0 +#: xsl:report.auction.deposit:0 +#: xsl:report.auction.lots.list.landscape:0 msgid "Limit" msgstr "" @@ -2035,7 +2087,8 @@ msgid "Closed" msgstr "" #. module: auction -#: field:auction.lots,obj_comm:0 field:report.unclassified.objects,obj_comm:0 +#: field:auction.lots,obj_comm:0 +#: field:report.unclassified.objects,obj_comm:0 msgid "Commission" msgstr "" @@ -2047,7 +2100,7 @@ msgstr "" #. module: auction #: constraint:res.partner:0 msgid "The VAT doesn't seem to be correct." -msgstr "" +msgstr "这增值税似乎不正确" #. module: auction #: field:report.attendance,employee_id:0 @@ -2055,7 +2108,8 @@ msgid "Employee" msgstr "" #. module: auction -#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.vnd_bordereau:0 +#: xsl:report.auction.ach_bordereau:0 +#: xsl:report.auction.vnd_bordereau:0 msgid "Adj.(EUR)" msgstr "" @@ -2067,7 +2121,7 @@ msgstr "" #. module: auction #: model:ir.ui.menu,name:auction.auction_report_menu msgid "Reporting" -msgstr "报表" +msgstr "内部报表" #. module: auction #: view:auction.lots:0 @@ -2132,7 +2186,8 @@ msgid "Invoiced" msgstr "" #. module: auction -#: view:auction.lots:0 selection:auction.lots,state:0 +#: view:auction.lots:0 +#: selection:auction.lots,state:0 msgid "Taken away" msgstr "" @@ -2166,10 +2221,11 @@ msgstr "" #. module: auction #: constraint:res.partner:0 msgid "Error ! You can not create recursive associated members." -msgstr "" +msgstr "错误!您不能创建递归的相关成员。" #. module: auction -#: selection:auction.dates,state:0 selection:auction.lots,state:0 +#: selection:auction.dates,state:0 +#: selection:auction.lots,state:0 #: selection:report.auction.adjudication,state:0 #: selection:report.object.encoded,state:0 #: selection:report.seller.auction,state:0 @@ -2198,7 +2254,8 @@ msgid "Adj" msgstr "" #. module: auction -#: view:auction.dates:0 model:ir.ui.menu,name:auction.auction_date_menu +#: view:auction.dates:0 +#: model:ir.ui.menu,name:auction.auction_date_menu msgid "Auction Dates" msgstr "" @@ -2344,11 +2401,11 @@ msgid "Report Sign In/Out" msgstr "" #. module: auction -#: view:auction.deposit:0 field:auction.deposit,info:0 view:auction.lots:0 +#: view:auction.deposit:0 +#: field:auction.deposit,info:0 +#: view:auction.lots:0 #: wizard_field:auction.lots.numerotate,search,obj_desc:0 -#: rml:bids.phones.details:0 xsl:flagey.huissier:0 -#: xsl:report.auction.ach_bordereau:0 xsl:report.auction.deposit:0 -#: xsl:report.auction.lots.list.landscape:0 xsl:report.auction.vnd_bordereau:0 +#: rml:bids.phones.details:0 msgid "Description" msgstr "" @@ -2358,7 +2415,8 @@ msgid "Cont. Art/Arts" msgstr "" #. module: auction -#: field:auction.lots,obj_price:0 field:report.auction.view,adj_price:0 +#: field:auction.lots,obj_price:0 +#: field:report.auction.view,adj_price:0 #: field:report.unclassified.objects,obj_price:0 msgid "Adjudication price" msgstr "" @@ -2420,7 +2478,8 @@ msgid "Pay objects" msgstr "" #. module: auction -#: view:report.object.encoded:0 view:report.object.encoded.manager:0 +#: view:report.object.encoded:0 +#: view:report.object.encoded.manager:0 msgid "# objects" msgstr "" @@ -2488,84 +2547,88 @@ msgstr "" #. module: auction #: view:board.board:0 msgid "Objects by day" -msgstr "天物品" +msgstr "" #. module: auction #: model:ir.ui.menu,name:auction.menu_board_auction_manager msgid "Auction Manager" -msgstr "拍卖管理" +msgstr "" #. module: auction #: view:board.board:0 msgid "Summary pointing by user" -msgstr "每用户摘要指示" +msgstr "" #. module: auction #: model:ir.ui.menu,name:auction.menu_board_auction msgid "Auction Member" -msgstr "拍卖会员" +msgstr "" #. module: auction #: model:ir.actions.act_window,name:auction.open_board_auction msgid "Auction member board" -msgstr "拍卖会员控制台" +msgstr "" #. module: auction #: view:board.board:0 msgid "Auction manager " -msgstr "拍卖管理 " +msgstr "" #. module: auction #: model:ir.module.module,shortdesc:auction.module_meta_information msgid "Board for Auction" -msgstr "拍卖控制台" +msgstr "" #. module: auction #: view:board.board:0 msgid "Estimations/Adjudication" -msgstr "评价/最终结果" +msgstr "" #. module: auction #: view:board.board:0 msgid "Total Adjudications" -msgstr "最终结果合计" +msgstr "" #. module: auction #: view:board.board:0 msgid "Latest objects" -msgstr "最新的物品" +msgstr "" #. module: auction #: view:board.board:0 msgid "Latest deposits" -msgstr "最近的押金" +msgstr "" #. module: auction #: view:board.board:0 msgid "Menu" -msgstr "菜单" +msgstr "" #. module: auction #: view:board.board:0 msgid "My objects By Day" -msgstr "每天我的物品" +msgstr "" #. module: auction #: view:board.board:0 msgid "My board" -msgstr "我的控制台" +msgstr "" #. module: auction #: model:ir.actions.act_window,name:auction.open_board_auction_manager msgid "Auction manager board" -msgstr "拍卖管理控制台" +msgstr "" #. module: auction #: view:board.board:0 msgid "Min/Adj/Max" -msgstr "最少/邻近/最大" +msgstr "" #. module: auction #: view:board.board:0 msgid "My Latest Objects" -msgstr "我最后的物品" +msgstr "" + +#, python-format +#~ msgid "The Buyer \"%s\" has no Invoice Address." +#~ msgstr "نىڭ رۇخسەت ئادېرىسى يوق \"%s\" ساتقۇچى تەرەپ" diff --git a/addons/base_contact/__openerp__.py b/addons/base_contact/__openerp__.py index b5de9b321a3..8c58d44ff4c 100644 --- a/addons/base_contact/__openerp__.py +++ b/addons/base_contact/__openerp__.py @@ -45,7 +45,7 @@ 'update_xml': [ 'security/ir.model.access.csv', 'base_contact_view.xml', -# 'base_contact_installer_view.xml', + 'base_contact_installer_view.xml', 'process/base_contact_process.xml' ], 'demo_xml': ['base_contact_demo.xml'], diff --git a/addons/base_contact/i18n/ru.po b/addons/base_contact/i18n/ru.po index 426fb570629..5f5320fbf33 100644 --- a/addons/base_contact/i18n/ru.po +++ b/addons/base_contact/i18n/ru.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.0\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-07-08 15:37+0000\n" -"Last-Translator: Pomazan Bogdan <Unknown>\n" +"PO-Revision-Date: 2010-07-14 08:08+0000\n" +"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\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: 2010-07-09 03:56+0000\n" +"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: base_contact @@ -67,7 +67,7 @@ msgstr "Имя" #. module: base_contact #: model:ir.model,name:base_contact.model_res_partner_job msgid "Contact Partner Function" -msgstr "" +msgstr "Функции сотрудника партнера" #. module: base_contact #: field:res.partner.job,other:0 @@ -122,7 +122,7 @@ msgstr "Телефон" #. module: base_contact #: model:process.transition,note:base_contact.process_transition_contacttofunction0 msgid "Defines contacts and functions." -msgstr "" +msgstr "Определить контакты и функции" #. module: base_contact #: field:res.partner.contact,title:0 @@ -196,7 +196,7 @@ msgstr "Категории" #. module: base_contact #: field:res.partner.contact,function_id:0 msgid "Main Function" -msgstr "" +msgstr "Личная функция" #. module: base_contact #: model:process.transition,note:base_contact.process_transition_partnertoaddress0 @@ -211,12 +211,12 @@ msgstr "Неправильный XML для просмотра архитектÑ #. module: base_contact #: model:process.process,name:base_contact.process_process_basecontactprocess0 msgid "Base Contact Process" -msgstr "" +msgstr "Основной контакт" #. module: base_contact #: view:res.partner.contact:0 msgid "Seq." -msgstr "" +msgstr "Посл-ть" #. module: base_contact #: field:res.partner.job,extension:0 @@ -272,7 +272,7 @@ msgstr "Основной работодатель" #. module: base_contact #: model:process.transition,name:base_contact.process_transition_functiontoaddress0 msgid "Function to address" -msgstr "" +msgstr "Адрес функции" #. module: base_contact #: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs diff --git a/addons/base_module_record/i18n/ru.po b/addons/base_module_record/i18n/ru.po index 06bf1c04a8e..b191fa95feb 100644 --- a/addons/base_module_record/i18n/ru.po +++ b/addons/base_module_record/i18n/ru.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2010-04-16 13:36+0000\n" +"PO-Revision-Date: 2010-07-14 08:10+0000\n" "Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\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: 2010-06-22 04:01+0000\n" +"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: base_module_record @@ -32,7 +32,7 @@ msgstr "Информация" #. module: base_module_record #: model:ir.model,name:base_module_record.model_ir_module_record msgid "ir.module.record" -msgstr "" +msgstr "Системный модуль записи" #. module: base_module_record #: constraint:ir.model:0 diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index f23b61df5ea..00b964a2039 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -83,8 +83,8 @@ Create dashboard for CRM that includes: 'wizard/crm_opportunity_to_phonecall_view.xml', 'wizard/crm_partner_to_opportunity_view.xml', - 'wizard/crm_forward_to_partner_view.xml', 'wizard/crm_send_email_view.xml', + 'wizard/crm_forward_to_partner_view.xml', 'wizard/crm_custom_create_menu_view.xml', 'crm_view.xml', diff --git a/addons/crm/wizard/crm_forward_to_partner.py b/addons/crm/wizard/crm_forward_to_partner.py index 1a6e1fb505b..6b39fbd9f15 100644 --- a/addons/crm/wizard/crm_forward_to_partner.py +++ b/addons/crm/wizard/crm_forward_to_partner.py @@ -21,9 +21,8 @@ ############################################################################## import base64 -import itertools import time - +import re from osv import osv, fields import tools from tools.translate import _ @@ -31,6 +30,7 @@ from tools.translate import _ class crm_lead_forward_to_partner(osv.osv_memory): """Forwards lead history""" _name = 'crm.lead.forward.to.partner' + _inherit = "crm.send.mail" _columns = { 'name': fields.selection([('user', 'User'), ('partner', 'Partner'), \ @@ -38,19 +38,12 @@ class crm_lead_forward_to_partner(osv.osv_memory): 'user_id': fields.many2one('res.users', "User"), 'partner_id' : fields.many2one('res.partner', 'Partner'), 'address_id' : fields.many2one('res.partner.address', 'Address'), - 'email_from' : fields.char('From', required=True, size=128), - 'email_to' : fields.char('To', required=True, size=128), - 'subject' : fields.char('Subject', required=True, size=128), - 'message' : fields.text('Message', required=True), - 'history': fields.selection([('latest', 'Latest email'), ('whole', 'Whole Story'), ('info', 'Case Information')], 'Send history', required=True), - 'add_cc': fields.boolean('Add as CC', required=False, help="Check this box if you want this address to be added in the CC list"\ - " for this case, in order to receive all future conversations"), + 'history': fields.selection([('info', 'Case Information'), ('latest', 'Latest email'), ('whole', 'Whole Story')], 'Send history', required=True), } _defaults = { 'name' : 'email', - 'history': 'info', - 'add_cc': True, + 'history': 'latest', 'email_from': lambda self, cr, uid, *a: self.pool.get('res.users')._get_email_from(cr, uid, uid)[uid] } @@ -117,7 +110,7 @@ class crm_lead_forward_to_partner(osv.osv_memory): res_id = context.get('active_id') msg_val = self._get_case_history(cr, uid, history_type, res_id, context=context) if msg_val: - res = {'value': {'message' : '\n\n' + msg_val}} + res = {'value': {'body' : '\n\n' + msg_val}} return res def _get_case_history(self, cr, uid, history_type, res_id, context=None): @@ -125,22 +118,23 @@ class crm_lead_forward_to_partner(osv.osv_memory): return msg_val = '' + case_info = self.get_lead_details(cr, uid, res_id, context=context) model_pool = self.pool.get('crm.lead') + if history_type == 'info': - msg_val = self.get_lead_details(cr, uid, res_id, context=context) + msg_val = case_info elif history_type == 'whole': log_ids = model_pool.browse(cr, uid, res_id, context=context).message_ids log_ids = [x.id for x in log_ids] - if not log_ids: - raise osv.except_osv('Warning!', 'There is no history to send') - msg_val = self.get_whole_history(cr, uid, log_ids, context=context) + msg_val = case_info + '\n\n' + self.get_whole_history(cr, uid, log_ids, context=context) elif history_type == 'latest': log_ids = model_pool.browse(cr, uid, res_id, context=context).message_ids if not log_ids: - raise osv.except_osv('Warning!', 'There is no history to send') - msg_val = self.get_latest_history(cr, uid, log_ids[0].id, context=context) + msg_val = case_info + else: + msg_val = case_info + '\n\n' + self.get_latest_history(cr, uid, log_ids[0].id, context=context) return msg_val @@ -170,69 +164,40 @@ class crm_lead_forward_to_partner(osv.osv_memory): email = self.pool.get('res.partner.address').browse(cr, uid, address_id).email return {'value': {'email_to' : email}} - def action_cancel(self, cr, uid, ids, context=None): - return {'type' : 'ir.actions.act_window_close'} - def action_forward(self, cr, uid, ids, context=None): """ Forward the lead to a partner """ - if context is None: - context = {} - - res_id = context.get('active_id', False) - - model = context.get('active_model', False) - if not res_id or not model: - return {} - + this = self.browse(cr, uid, ids[0], context=context) - - case_pool = self.pool.get(model) + case_pool = self.pool.get(context.get('active_model')) + res_id = context and context.get('active_id', False) or False case = case_pool.browse(cr, uid, res_id, context=context) - emails = [this.email_to] - body = case_pool.format_body(this.message) - email_from = this.email_from or False - - # extract attachements from case and emails according to mode - attachments = [] - attach_pool = self.pool.get('ir.attachment') - direct_attachments = attach_pool.search(cr, uid, [('res_model', '=', 'crm.lead'), ('res_id', '=', res_id)], context=context) - attachments += attach_pool.browse(cr, uid, direct_attachments, context=context) - if this.history in ['latest', 'whole'] and case.message_ids: - msgs = case.message_ids - if this.history == 'latest': - msgs = msgs[:1] - attachments.extend(itertools.chain(*[m.attachment_ids for m in msgs])) - attach = [(a.datas_fname or a.name, base64.decodestring(a.datas)) for a in attachments if a.datas] - - result = tools.email_send( - email_from, - emails, - this.subject, - body, - openobject_id=str(case.id), - attach=attach, - reply_to=case.section_id.reply_to, - ) - - if result: - case_pool.history(cr, uid, [case], _('Forward'), history=True, email=this.email_to, subject=this.subject, details=body, email_from=email_from, attach=attach) - to_write = {'date_assign': time.strftime('%Y-%m-%d')} - if (this.name == 'partner' and this.partner_id): - to_write['partner_assigned_id'] = this.partner_id.id - case_pool.write(cr, uid, case.id, to_write) - else: - raise osv.except_osv(_('Error!'), _('Unable to send mail. Please check SMTP is configured properly.')) - - if this.add_cc and (not case.email_cc or not this.email_to in case.email_cc): - case_pool.write(cr, uid, case.id, {'email_cc' : case.email_cc and case.email_cc + ', ' + this.email_to or this.email_to}) + context.update({'mail': 'forward'}) + super(crm_lead_forward_to_partner, self).action_send(cr, uid, ids, context=context) + + to_write = {'date_assign': time.strftime('%Y-%m-%d')} + if (this.name == 'partner' and this.partner_id): + to_write['partner_assigned_id'] = this.partner_id.id + + if this.name == 'user': + to_write.update({'user_id' : this.user_id.id}) + email_re = r'([^ ,<@]+@[^> ,]+)' + email_cc = re.findall(email_re, case.email_cc or '') + new_cc = '' + for to in this.email_to.split(','): + email_to = re.findall(email_re, to) + email_to = email_to and email_to[0] or '' + if email_to not in email_cc: + new_cc += ', ' + to + to_write.update({'email_cc' : case.email_cc and case.email_cc + new_cc}) + case_pool.write(cr, uid, case.id, to_write, context=context) return {} def get_lead_details(self, cr, uid, lead_id, context=None): - message = [] + body = [] lead_proxy = self.pool.get('crm.lead') lead = lead_proxy.browse(cr, uid, lead_id, context=context) if not lead.type or lead.type == 'lead': @@ -258,10 +223,10 @@ class crm_lead_forward_to_partner(osv.osv_memory): else: value = lead[field_name] - message.append("%s: %s" % (field_definition.string, value or '')) + body.append("%s: %s" % (field_definition.string, value or '')) elif lead.type == 'opportunity': pa = lead.partner_address_id - message = [ + body = [ "Partner: %s" % (lead.partner_id.name_get()[0][1]), "Contact: %s" % (pa.name or ''), "Title: %s" % (pa.title or ''), @@ -277,7 +242,7 @@ class crm_lead_forward_to_partner(osv.osv_memory): "Fax: %s" % (pa.fax or ''), "Mobile: %s" % (pa.mobile or ''), ] - return "\n".join(message + ['---']) + return "\n".join(body + ['---']) def default_get(self, cr, uid, fields, context=None): """ @@ -295,10 +260,10 @@ class crm_lead_forward_to_partner(osv.osv_memory): lead_proxy = self.pool.get('crm.lead') lead = lead_proxy.browse(cr, uid, active_id, context=context) - message = self._get_case_history(cr, uid, defaults.get('history', 'latest'), lead.id, context=context) + body = self._get_case_history(cr, uid, defaults.get('history', 'latest'), lead.id, context=context) defaults.update({ 'subject' : '%s: %s' % (_('Fwd'), lead.name), - 'message' : message, + 'body' : body, }) return defaults diff --git a/addons/crm/wizard/crm_forward_to_partner_view.xml b/addons/crm/wizard/crm_forward_to_partner_view.xml index e8a60cea01f..d2705c8f0db 100644 --- a/addons/crm/wizard/crm_forward_to_partner_view.xml +++ b/addons/crm/wizard/crm_forward_to_partner_view.xml @@ -5,41 +5,45 @@ <field name="name">crm_lead_forward_to_partner</field> <field name="model">crm.lead.forward.to.partner</field> <field name="type">form</field> + <field name="inherit_id" ref="crm_send_new_mail_view"/> <field name="arch" type="xml"> - <form string="Forward to Partner"> - <separator string="Sender" colspan="4" /> - <field name="email_from" colspan="2" /> - <field name="history" colspan="2" on_change="on_change_history(history, context)"/> - <separator string="Recipient" colspan="4" /> - <field name="name" colspan="2" /> - <group col="2" colspan="2" attrs="{ 'invisible' : [('name','!=','user')]}"> - <field name="user_id" - attrs="{ 'required' : [('name','=','user')]}" - on_change="on_change_email(user_id)" /> + <field name="email_from" position="before"> + <separator string="Forward to Partner" colspan="4" /> + <group col="4" colspan="6"> + <field name="history" colspan="2" on_change="on_change_history(history, context)"/> + <field name="name" colspan="2" /> + <group col="2" colspan="2" attrs="{ 'invisible' : [('name','!=','user')]}"> + <field name="user_id" + attrs="{ 'required' : [('name','=','user')]}" + on_change="on_change_email(user_id)" /> + </group> + <group col="4" colspan="4" attrs="{'invisible' : [('name','!=','partner')]}"> + <field name="partner_id" attrs="{'required' : [('name','=','partner')]}" on_change="on_change_partner(partner_id)" colspan="2" /> + <field name="address_id" string="Contact" on_change="on_change_address(address_id)" colspan="2" /> + </group> </group> - <group col="4" colspan="4" attrs="{'invisible' : [('name','!=','partner')]}"> - <field name="partner_id" attrs="{'required' : [('name','=','partner')]}" on_change="on_change_partner(partner_id)" colspan="2" /> - <field name="address_id" string="Contact" on_change="on_change_address(address_id)" colspan="2" /> - </group> - <field colspan="2" name="email_to" attrs="{ 'required' : [('name','=','email')]}" /> - <field name="add_cc"/> - <separator string="Message" colspan="4" /> - <field name="subject" colspan="4" /> - <field name="message" colspan="4" nolabel="1"/> <separator string="" colspan="4" /> - <group colspan="4" col="2"> - <button name="action_cancel" special="cancel" string="Cancel" icon="gtk-cancel" type="object" /> - <button name="action_forward" string="Forward" icon="gtk-go-forward" type="object" /> - </group> - </form> + </field> </field> </record> + <record model="ir.ui.view" id="crm_lead_forward_to_partner_form1"> + <field name="name">crm_lead_forward_to_partner1</field> + <field name="model">crm.lead.forward.to.partner</field> + <field name="type">form</field> + <field name="inherit_id" ref="crm_send_new_mail_view"/> + <field name="arch" type="xml"> + <button name="action_send" position="replace"> + <button name="action_forward" string="Forward" icon="gtk-go-forward" type="object" /> + </button> + </field> + </record> <record model="ir.actions.act_window" id="crm_lead_forward_to_partner_act"> <field name="name">Forward to Partner</field> <field name="res_model">crm.lead.forward.to.partner</field> <field name="view_type">form</field> <field name="view_mode">form</field> + <field name="view_id" ref="crm_lead_forward_to_partner_form1"/> <field name="target">new</field> </record> diff --git a/addons/crm/wizard/crm_send_email.py b/addons/crm/wizard/crm_send_email.py index bc2b5357c15..58aa729e454 100644 --- a/addons/crm/wizard/crm_send_email.py +++ b/addons/crm/wizard/crm_send_email.py @@ -20,11 +20,12 @@ # ############################################################################## +from crm import crm from osv import osv, fields from tools.translate import _ import base64 +import itertools import tools -from crm import crm class crm_send_new_email_attachment(osv.osv_memory): _name = 'crm.send.mail.attachment' @@ -49,29 +50,23 @@ class crm_send_new_email(osv.osv_memory): 'email_cc' : fields.char('CC', size=512, help="Carbon Copy: list of recipients that will receive"\ " a copy of this mail, and future communication related to this case"), 'subject': fields.char('Subject', size=512, required=True), - 'text': fields.text('Message', required=True), + 'body': fields.text('Message Body', required=True), 'state': fields.selection(crm.AVAILABLE_STATES, string='Set New State To', required=True), 'attachment_ids' : fields.one2many('crm.send.mail.attachment', 'wizard_id'), } - def action_cancel(self, cr, uid, ids, context=None): - """ Closes Phonecall to Opportunity form - """ - return {'type':'ir.actions.act_window_close'} - def action_send(self, cr, uid, ids, context=None): """ This sends an email to ALL the addresses of the selected partners. """ - hist_obj = self.pool.get('mailgate.message') if not context: context = {} - if not context.get('model'): + if not context.get('active_model'): raise osv.except_osv(_('Error'), _('Can not send mail!')) - model = context.get('model') + model = context.get('active_model') case_pool = self.pool.get(model) res_id = context and context.get('active_id', False) or False @@ -83,24 +78,38 @@ class crm_send_new_email(osv.osv_memory): message_id = None ref_id = None - case = case_pool.browse(cr, uid, res_id) + case = case_pool.browse(cr, uid, res_id, context=context) if context.get('mail', 'new') == 'new': if case.message_ids: message_id = case.message_ids[0].message_id + elif context.get('mail') == 'forward': + # extract attachements from case and emails according to mode + attachments = [] + attach_pool = self.pool.get('ir.attachment') + direct_attachments = attach_pool.search(cr, uid, [('res_model', '=', 'crm.lead'), ('res_id', '=', res_id)], context=context) + attachments += attach_pool.browse(cr, uid, direct_attachments, context=context) + if obj.history in ['latest', 'whole'] and case.message_ids: + msgs = case.message_ids + if obj.history == 'latest': + msgs = msgs[:1] + attachments.extend(itertools.chain(*[m.attachment_ids for m in msgs])) + attach_all = [(a.datas_fname or a.name, base64.decodestring(a.datas)) for a in attachments if a.datas] + attach += attach_all + else: - hist = hist_obj.browse(cr, uid, res_id) + hist = hist_obj.browse(cr, uid, res_id, context=context) message_id = hist.message_id model = hist.model - model_pool = self.pool.get(model) + case_pool = self.pool.get(model) res_id = hist.res_id ref_id = hist.ref_id - case = model_pool.browse(cr, uid, res_id) + case = case_pool.browse(cr, uid, res_id, context=context) emails = [obj.email_to] email_cc = obj.email_cc and obj.email_cc.split(',') or '' emails = filter(None, emails) - body = obj.text + body = obj.body - body = case_pool.format_body(body) + body = body and tools.ustr(body) or '' email_from = getattr(obj, 'email_from', False) x_headers = {} if message_id: @@ -121,10 +130,11 @@ class crm_send_new_email(osv.osv_memory): if not flag: raise osv.except_osv(_('Error!'), _('Unable to send mail. Please check SMTP is configured properly.')) - case_pool.history(cr, uid, [case], _('Send'), history=True, \ + msg_dict = {'new': 'Send', 'reply': 'Reply', 'forward': 'Forward'} + case_pool.history(cr, uid, [case], _(msg_dict[context.get('mail', 'new')]), history=True, \ email=obj.email_to, details=body, \ subject=obj.subject, email_from=email_from, \ - email_cc=email_cc, message_id=message_id, \ + email_cc=', '.join(email_cc), message_id=message_id, \ references=ref_id or message_id, attach=attach) if obj.state == 'unchanged': pass @@ -145,7 +155,7 @@ class crm_send_new_email(osv.osv_memory): if not context: context = {} - if not context.get('model'): + if not context.get('active_model'): raise osv.except_osv(_('Error'), _('Can not send mail!')) res = super(crm_send_new_email, self).default_get(cr, uid, fields, context=context) @@ -154,7 +164,7 @@ class crm_send_new_email(osv.osv_memory): res.update(self.get_reply_defaults(cr, uid, fields, context=context)) return res - model = context.get('model') + model = context.get('active_model') mod_obj = self.pool.get(model) res_id = context and context.get('active_ids', []) or [] @@ -172,8 +182,8 @@ class crm_send_new_email(osv.osv_memory): res.update({'subject': tools.ustr(context.get('subject', case.name) or '')}) if 'email_cc' in fields: res.update({'email_cc': tools.ustr(case.email_cc or '')}) - if 'text' in fields: - res.update({'text': u'\n'+(tools.ustr(case.user_id.signature or ''))}) + if 'body' in fields: + res.update({'body': u'\n'+(tools.ustr(case.user_id.signature or ''))}) if 'state' in fields: res.update({'state': u'pending'}) @@ -209,7 +219,7 @@ class crm_send_new_email(osv.osv_memory): signature = u'\n' + (tools.ustr(case.user_id.signature or '')) + u'\n' original = [signature] - if include_original == True and 'text' in fields: + if include_original == True and 'body' in fields: header = u'-------- Original Message --------' sender = u'From: %s' %(tools.ustr(hist.email_from or '')) to = u'To: %s' % (tools.ustr(hist.email_to or '')) @@ -218,10 +228,14 @@ class crm_send_new_email(osv.osv_memory): original = [signature, header, sender, to, sentdate, desc] - res['text']= u'\n' + u'\n'.join(original) + res['body']= u'\n' + u'\n'.join(original) if 'subject' in fields: res.update({u'subject': u'Re: %s' %(tools.ustr(hist.name or ''))}) + if 'email_cc' in fields: + res.update({'email_cc': case.email_cc and tools.ustr(case.email_cc) or False}) + if 'reply_to' in fields: + res.update({'reply_to': case.section_id.reply_to}) if 'state' in fields: res['state'] = u'pending' return res @@ -239,7 +253,7 @@ class crm_send_new_email(osv.osv_memory): if not context: context = {} - if not context.get('model'): + if not context.get('active_model'): raise osv.except_osv(_('Error'), _('Can not send mail!')) return True diff --git a/addons/crm/wizard/crm_send_email_view.xml b/addons/crm/wizard/crm_send_email_view.xml index df7218cbc02..77202a19f6c 100644 --- a/addons/crm/wizard/crm_send_email_view.xml +++ b/addons/crm/wizard/crm_send_email_view.xml @@ -9,7 +9,7 @@ <field name="model">crm.send.mail</field> <field name="type">form</field> <field name="arch" type="xml"> - <form string="Send New Mail" col="4"> + <form string="Send Mail" col="4"> <group colspan="4" col="2"> <field name="email_from"/> <field name="reply_to"/> @@ -19,7 +19,7 @@ </group> <notebook colspan="6"> <page string="Message"> - <field name="text" nolabel="1" colspan="4" default_focus="1"/> + <field name="body" nolabel="1" colspan="4" default_focus="1"/> </page> <page string="Attachments"> <field name="attachment_ids" colspan="4" nolabel="1"> @@ -36,7 +36,7 @@ <separator string="" colspan="6"/> <group colspan="6" col="4" > <field name="state" /> - <button name="action_cancel" string="_Cancel" icon="gtk-cancel" special="cancel" /> + <button string="_Cancel" icon="gtk-cancel" special="cancel" /> <button name="action_send" type="object" string="_Send" icon="gtk-go-forward" /> </group> </form> @@ -46,7 +46,7 @@ <!-- Send New Mail action --> <record model="ir.actions.act_window" id="action_crm_send_mail"> - <field name="name">Send New Mail</field> + <field name="name">Send Mail</field> <field name="res_model">crm.send.mail</field> <field name="view_type">form</field> <field name="view_mode">form</field> @@ -77,7 +77,7 @@ </tree> </field> <separator string="" colspan="4"/> - <field name="text" nolabel="1" colspan="4"/> + <field name="body" nolabel="1" colspan="4"/> <separator string=" " colspan="4"/> <group colspan="4" col="3" > <label string=" " /> diff --git a/addons/document_ics/document_ics_config_wizard.xml b/addons/document_ics/document_ics_config_wizard.xml index ea7e5926868..39ec392d3f9 100644 --- a/addons/document_ics/document_ics_config_wizard.xml +++ b/addons/document_ics/document_ics_config_wizard.xml @@ -11,12 +11,19 @@ <form position="attributes"> <attribute name="string">Configure Calendars for CRM Sections</attribute> </form> - <group string="res_config_contents" position="replace"> - <label colspan="4" align="0.0" - string="OpenERP can create and pre-configure a series of integrated calendar for you."/> - <separator string="Create Pre-Configured Calendars" - colspan="4"/> - <newline/> + <separator string="title" position="attributes"> + <attribute name="string" + >Create Pre-Configured Calendars</attribute> + </separator> + <xpath expr="//label[@string='description']" position="attributes"> + <attribute name="string">OpenERP can create and pre-configure a series of integrated calendar for you.</attribute> + <attribute name="width">200</attribute> + </xpath> + <xpath expr='//separator[@string="vsep"]' position='attributes'> + <attribute name='rowspan'>15</attribute> + <attribute name='string'></attribute> + </xpath> + <group string="res_config_contents" position="replace"> <field name="meeting"/> <field name="opportunity"/> <field name="phonecall"/> @@ -27,8 +34,6 @@ <field name="jobs"/> <field name="fund"/> </group> - <xpath expr='//button[@name="action_skip"]' - position='replace'/> </data> </field> </record> @@ -43,7 +48,7 @@ <field name="target">new</field> </record> - <!-- register configuration wizard --> + register configuration wizard <record id="config_wizard_step_case_section_menu" model="ir.actions.todo"> <field name="action_id" ref="action_view_document_ics_config_directories"/> </record> diff --git a/addons/hr_contract/i18n/ru.po b/addons/hr_contract/i18n/ru.po index 7c5d4087cc2..4c7ab9930f4 100644 --- a/addons/hr_contract/i18n/ru.po +++ b/addons/hr_contract/i18n/ru.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2009-12-08 19:44+0000\n" -"Last-Translator: Vadim Peretokin <vperetokin@gmail.com>\n" +"PO-Revision-Date: 2010-07-14 08:14+0000\n" +"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\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: 2010-06-22 04:13+0000\n" +"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: hr_contract @@ -38,7 +38,7 @@ msgstr "" #: view:hr.contract:0 #: view:hr.employee:0 msgid "Generalities" -msgstr "" +msgstr "Общее положение" #. module: hr_contract #: field:hr.employee,children:0 @@ -73,7 +73,7 @@ msgstr "Сумма на руки" #. module: hr_contract #: model:ir.module.module,shortdesc:hr_contract.module_meta_information msgid "Human Resources Contracts" -msgstr "" +msgstr "Договор с содрудником" #. module: hr_contract #: field:hr.contract.wage.type.period,factor_days:0 @@ -189,7 +189,7 @@ msgstr "Зарплатный период" #. module: hr_contract #: field:hr.employee,audiens_num:0 msgid "AUDIENS Number" -msgstr "" +msgstr "Номер посещения" #. module: hr_contract #: view:hr.contract:0 diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index a6b87304ae5..3879493592f 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -69,7 +69,7 @@ <field name="state" colspan="2"/> <group colspan="2"> <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/> - <button string="To Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply"/> + <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply"/> <button string="Approved" name="second_validate" states="validate1" type="workflow" icon="gtk-apply"/> <button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" icon="gtk-no"/> <button string="Cancel" name="cancel" states="validate,refuse" type="workflow" icon="gtk-cancel"/> diff --git a/addons/multi_company/i18n/ru.po b/addons/multi_company/i18n/ru.po index 8b9ce974399..82fb3aa107c 100644 --- a/addons/multi_company/i18n/ru.po +++ b/addons/multi_company/i18n/ru.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2009-12-08 11:46+0000\n" -"PO-Revision-Date: 2010-07-07 22:52+0000\n" -"Last-Translator: Pomazan Bogdan <Unknown>\n" +"PO-Revision-Date: 2010-07-14 08:17+0000\n" +"Last-Translator: Nikolay Chesnokov <chesnokov_n@msn.com>\n" "Language-Team: Russian <ru@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: 2010-07-09 03:56+0000\n" +"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: multi_company @@ -35,6 +35,7 @@ msgstr "" msgid "" "Error: The default UOM and the purchase UOM must be in the same category." msgstr "" +"Ошибка. ЕИМ по умолчанию и закупочная ЕИМ должны иметь одинаковую категорию." #. module: multi_company #: constraint:res.partner:0 @@ -115,7 +116,7 @@ msgstr "Ошибка. UOS и UOM должны принадлежать к раз #. module: multi_company #: model:product.category,name:multi_company.Odoo1 msgid "Odoo Offers" -msgstr "" +msgstr "Предложения Odoo" #. module: multi_company #: constraint:res.company:0 @@ -155,7 +156,7 @@ msgstr "Выражение" #. module: multi_company #: model:product.template,name:multi_company.product_product_odoo1_product_template msgid "Odoo Offer" -msgstr "" +msgstr "Предложение Odoo" #. module: multi_company #: field:multi_company.default,sequence:0 diff --git a/addons/olap/data/olap_cube_view.xml b/addons/olap/data/olap_cube_view.xml index c3f43b89740..bd30efeafe7 100644 --- a/addons/olap/data/olap_cube_view.xml +++ b/addons/olap/data/olap_cube_view.xml @@ -76,7 +76,30 @@ <field name="model">olap.parameters.config.wizard</field> <field name="type">form</field> <field name="arch" type="xml"> - <form string="Parameters Configure"> + <form string="Parameters Configure wizard"> + <group colspan="4" col="8"> + <group colspan="3" width="180" height="250"> + <field name="config_logo" widget="image" width="200" height="100" nolabel="1" colspan="1"/> + <newline/> + <label align="0.0" string="This wizard will automatically configure the web client for Business Intelligence." width="200" colspan="2"/> + </group> + <separator string="" position="vertical" colspan="1" rowspan="12"/> + <group colspan="4"> + <separator string=" Business Intelligence Web Client" colspan="4"/> + <field name="host_name" colspan="4"/> + <field name="host_port" colspan="4"/> + </group> + <group colspan="8" col="8"> + <separator string="" colspan="8"/> + <group colspan="4" width="220"> + <field name="progress" widget="progressbar" nolabel="1" colspan="2"/> + </group> + <button special="cancel" string="Cancel" name="action_cancel" type="object" icon='gtk-cancel'/> + <button name="action_config" string="Configure" icon='gtk-ok' type="object"/> + </group> + </group> + </form> + <!--form string="Parameters Configure"> <separator string="BI Web Client." colspan="4"/> <label string="This wizard will automatically configure the web client for BI." align="0.0" colspan="4"/> <field name="host_name" colspan="4"/> @@ -87,7 +110,7 @@ <button special="cancel" string="Cancel" name="action_cancel" type="object" icon='gtk-cancel'/> <button name="action_config" string="Configure" icon='gtk-ok' type="object"/> </group> - </form> + </form--> </field> </record> diff --git a/addons/olap/olap.py b/addons/olap/olap.py index 317a56dd7c3..765711793f3 100644 --- a/addons/olap/olap.py +++ b/addons/olap/olap.py @@ -30,6 +30,9 @@ from osv import osv from osv import fields, osv import netsvc import cube +import os +import tools +import base64 from cube import levels @@ -2128,16 +2131,34 @@ class olap_parameters_config_wizard(osv.osv_memory): Word(alphanums + "_" + " ").suppress() return s_p.parseString(aid.url)[1] + def _get_image(self, cr, uid, context=None): + path = os.path.join('base','res','config_pixmaps/1.png') + file_data = tools.file_open(path,'rb').read() + return base64.encodestring(file_data) + + def _progress(self, cr, uid, context=None): + total = self.pool.get('ir.actions.todo')\ + .search_count(cr, uid, [], context) + open = self.pool.get('ir.actions.todo')\ + .search_count(cr, uid, [('state','<>','open')], context) + if total: + return round(open*90./total) + return 100. + _columns = { 'host_name': fields.char('Server Name', size = 64, help = "Put here the server address or IP \ Put localhost if its not clear.", required = True), 'host_port': fields.char('Port', size = 4, help = "Put the port for the server. Put 8080 if \ its not clear.", required = True), + 'config_logo': fields.binary('Image', readonly=True), + 'progress': fields.float('Configuration Progress', readonly=True), } _defaults = { 'host_name': _get_host, 'host_port': _get_port, + 'progress': _progress, + 'config_logo': _get_image, } def action_cancel(self, cr, uid, ids, conect = None): diff --git a/addons/project/board_project_view.xml b/addons/project/board_project_view.xml index 5c216e1eaad..a6c489a528d 100644 --- a/addons/project/board_project_view.xml +++ b/addons/project/board_project_view.xml @@ -17,13 +17,33 @@ <field name="name"/> <field name="project_id"/> <field name="date_deadline"/> - <field name="planned_hours"/> - <field name="effective_hours"/> <field name="priority"/> + <field name="planned_hours" widget="float_time"/> + <field name="effective_hours" widget="float_time"/> + <field name="progress" widget="progressbar"/> </tree> </field> </record> + <record id="view_delegated_task_tree" model="ir.ui.view"> + <field name="name">project.task.delegated.tree</field> + <field name="model">project.task</field> + <field name="type">tree</field> + <field eval="99" name="priority"/> + <field name="arch" type="xml"> + <tree colors="red:date_deadline<current_date;blue:date_deadline==current_date;black:date_deadline>current_date" string="My Delegated Tasks"> + <field name="user_id"/> + <field name="name"/> + <field name="project_id"/> + <field name="date_deadline"/> + <field name="total_hours" widget="float_time"/> + <field name="progress" widget="progressbar"/> + <field name="type_id"/> + </tree> + </field> + </record> + + <record id="action_view_task_tree" model="ir.actions.act_window"> <field name="name">My Open Tasks</field> <field name="res_model">project.task</field> @@ -38,8 +58,8 @@ <field name="res_model">project.task</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> - <field name="domain">['|',('parent_ids.user_id','=',uid),('user_id','=',uid)]</field> - <field name="view_id" ref="project.view_task_tree2"/> + <field name="domain">[('parent_ids.user_id','=',uid),('state', 'in', ('draft','open','pending'))]</field> + <field name="view_id" ref="view_delegated_task_tree"/> </record> <record id="action_view_task_tree_deadline" model="ir.actions.act_window"> diff --git a/addons/project/project.py b/addons/project/project.py index 168e7db7c7c..af8332abb27 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -359,7 +359,7 @@ class task(osv.osv): 'description': fields.text('Description'), 'priority' : fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Urgent'), ('0','Very urgent')], 'Importance'), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of tasks."), - 'type': fields.many2one('project.task.type', 'Stage',), + 'type_id': fields.many2one('project.task.type', 'Stage',), 'state': fields.selection([('draft', 'Draft'),('open', 'In Progress'),('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', readonly=True, required=True, help='If the task is created the state is \'Draft\'.\n If the task is started, the state becomes \'In Progress\'.\n If review is needed the task is in \'Pending\' state.\ \n If the task is over, the states is set to \'Done\'.'), @@ -549,25 +549,25 @@ class task(osv.osv): return True def next_type(self, cr, uid, ids, *args): - for typ in self.browse(cr, uid, ids): - typeid = typ.type.id - types = map(lambda x:x.id, typ.project_id.type_ids or []) + for task in self.browse(cr, uid, ids): + typeid = task.type_id.id + types = map(lambda x:x.id, task.project_id.type_ids or []) if types: if not typeid: - self.write(cr, uid, typ.id, {'type': types[0]}) + self.write(cr, uid, task.id, {'type_id': types[0]}) elif typeid and typeid in types and types.index(typeid) != len(types)-1 : index = types.index(typeid) - self.write(cr, uid, typ.id, {'type': types[index+1]}) + self.write(cr, uid, task.id, {'type_id': types[index+1]}) return True def prev_type(self, cr, uid, ids, *args): - for typ in self.browse(cr, uid, ids): - typeid = typ.type.id - types = map(lambda x:x.id, typ.project_id.type_ids) + for task in self.browse(cr, uid, ids): + typeid = task.type_id.id + types = map(lambda x:x.id, task.project_id.type_ids) if types: if typeid and typeid in types: index = types.index(typeid) - self.write(cr, uid, typ.id, {'type': index and types[index-1] or False}) + self.write(cr, uid, task.id, {'type_id': index and types[index-1] or False}) return True task() diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 8fb488478ec..16ed6634558 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -321,7 +321,7 @@ <field name="partner_id"/> <field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/> <group col="4" colspan="2"> - <field name="type" widget="selection" readonly="1"/> + <field name="type_id" widget="selection" readonly="1"/> <button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/> <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/> </group> @@ -354,7 +354,7 @@ icon="gtk-go-forward" groups="base.group_extended" help="Change Type"/> - <field name="type" groups="base.group_extended" invisible="context.get('set_visible',False)"/> + <field name="type_id" groups="base.group_extended" invisible="context.get('set_visible',False)"/> <field name="date_start" invisible="1"/> <field name="date_end" invisible="1"/> <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/> @@ -441,7 +441,7 @@ <group expand="0" string="Group By..." colspan="4" col="20"> <filter string="Users" name="group_user_id" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Project" name="group_project_id" icon="terp-folder-blue" domain="[]" context="{'group_by':'project_id'}"/> - <filter string="Stage" name="group_stage_id" icon="terp-stage" domain="[]" context="{'group_by':'type'}"/> + <filter string="Stage" name="group_stage_id" icon="terp-stage" domain="[]" context="{'group_by':'type_id'}"/> <filter string="State" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <separator orientation="vertical"/> <filter string="Deadline" icon="terp-gnome-cpu-frequency-applet+" domain="[]" context="{'group_by':'date_deadline'}"/> @@ -659,4 +659,4 @@ <act_window domain="[('project_id', '=', active_id)]" id="act_project_messages" name="Messages" res_model="project.message" src_model="project.project"/> </data> -</openerp>
\ No newline at end of file +</openerp> diff --git a/addons/project/report/project_report.py b/addons/project/report/project_report.py index 0d373cdff98..ad6a4b4612b 100644 --- a/addons/project/report/project_report.py +++ b/addons/project/report/project_report.py @@ -83,7 +83,7 @@ class report_project_task_user(osv.osv): t.name as name, t.company_id, t.partner_id, - t.type, + t.type_id, remaining_hours as remaining_hours, total_hours as total_hours, t.delay_hours as hours_delay, @@ -115,7 +115,7 @@ class report_project_task_user(osv.osv): name, t.company_id, t.partner_id, - t.type + t.type_id """) diff --git a/addons/project_gtd/project_gtd_demo.xml b/addons/project_gtd/project_gtd_demo.xml index a696e901686..a5bf075b6f6 100644 --- a/addons/project_gtd/project_gtd_demo.xml +++ b/addons/project_gtd/project_gtd_demo.xml @@ -39,18 +39,18 @@ <field name="name">Long Term</field> <field name="icon">terp-project</field> </record> - + <record id="project.project_task_116" model="project.task"> <field name="planned_hours">38.0</field> <field name="remaining_hours">38.0</field> <field name="timebox_id" ref="timebox_daily"/> <field name="context_id" ref="context_office"/> - <field name="type" ref="project.project_tt_development"/> + <field name="type_id" ref="project.project_tt_development"/> <field name="user_id" ref="base.user_root"/> <field name="project_id" ref="project.project_project_22"/> <field name="name">Specific adaptation to MRP</field> </record> - + <record id="project.project_task_201" model="project.task"> <field name="sequence">40</field> <field name="planned_hours">32.0</field> @@ -71,19 +71,19 @@ <field name="user_id" ref="base.user_root"/> <field name="project_id" ref="project.project_project_22"/> <field name="name">Validation + latest modifications.</field> - </record> - + </record> + <record id="project.project_task_116" model="project.task"> <field name="planned_hours">38.0</field> <field name="remaining_hours">38.0</field> <field name="timebox_id" ref="timebox_daily"/> <field name="context_id" ref="context_office"/> - <field name="type" ref="project.project_tt_development"/> + <field name="type_id" ref="project.project_tt_development"/> <field name="user_id" ref="base.user_root"/> <field name="project_id" ref="project.project_project_22"/> <field name="name">Specific adaptation to MRP</field> </record> - + <record id="project.project_task_201" model="project.task"> <field name="sequence">40</field> <field name="planned_hours">32.0</field> @@ -104,7 +104,7 @@ <field name="user_id" ref="base.user_root"/> <field name="project_id" ref="project.project_project_22"/> <field name="name">Validation + latest modifications.</field> - </record> - + </record> + </data> </openerp> diff --git a/addons/scrum/__init__.py b/addons/project_scrum/__init__.py index 204f3abd3f8..ab85f618822 100644 --- a/addons/scrum/__init__.py +++ b/addons/project_scrum/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- ############################################################################## -# +# # OpenERP, Open Source Management Solution # Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). # @@ -15,11 +15,11 @@ # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## -import scrum +import project_scrum import report import wizard diff --git a/addons/scrum/__openerp__.py b/addons/project_scrum/__openerp__.py index ef552090c67..c42908ff50a 100644 --- a/addons/scrum/__openerp__.py +++ b/addons/project_scrum/__openerp__.py @@ -51,15 +51,15 @@ 'init_xml': [], 'update_xml': [ 'security/ir.model.access.csv', - 'scrum_report.xml', - 'wizard/scrum_backlog_create_task_view.xml', - 'scrum_view.xml', - 'process/scrum_process.xml', - 'wizard/scrum_backlog_sprint_view.xml', - 'wizard/scrum_backlog_merger_view.xml', - "board_scrum_view.xml", + 'project_scrum_report.xml', + 'wizard/project_scrum_backlog_create_task_view.xml', + 'project_scrum_view.xml', + 'process/project_scrum_process.xml', + 'wizard/project_scrum_backlog_sprint_view.xml', + 'wizard/project_scrum_backlog_merger_view.xml', + "board_project_scrum_view.xml", ], - 'demo_xml': ['scrum_demo.xml'], + 'demo_xml': ['project_scrum_demo.xml'], 'installable': True, 'active': False, 'certificate': '0084121063261', diff --git a/addons/scrum/board_scrum_view.xml b/addons/project_scrum/board_project_scrum_view.xml index 5184aefa79c..3889e8f7af3 100644 --- a/addons/scrum/board_scrum_view.xml +++ b/addons/project_scrum/board_project_scrum_view.xml @@ -2,8 +2,8 @@ <openerp> <data> <record id="view_scrum_sprint_dashboard_tree" model="ir.ui.view"> - <field name="name">scrum.sprint.dashboard.tree</field> - <field name="model">scrum.sprint</field> + <field name="name">project.scrum.sprint.dashboard.tree</field> + <field name="model">project.scrum.sprint</field> <field name="type">tree</field> <field name="arch" type="xml"> <tree string="Scrum Sprint"> @@ -14,21 +14,21 @@ <field name="date_start"/> <field name="progress" widget="progressbar"/> <field name="effective_hours" sum="Effective hours" widget="float_time"/> - <field name="planned_hours" sum="Planned hours" widget="float_time"/> + <!-- field name="planned_hours" sum="Planned hours" widget="float_time"/> --> <field name="expected_hours" sum="Expected hours" widget="float_time"/> <field name="state"/> <button type="object" string="Open" name="button_open" states="draft,pending" icon="gtk-jump-to"/> <button type="object" string="Pending" name="button_pending" states="open" icon="gtk-media-pause"/> <button type="object" string="Close" name="button_close" states="open,pending" icon="gtk-jump-to"/> <button type="object" string="Set to Draft" name="button_draft" states="cancel,done" icon="gtk-convert"/> - <button name="%(scrum.report_scrum_sprint_burndown_chart)d" states="open,draft,close,cancel" + <button name="%(project_scrum.report_scrum_sprint_burndown_chart)d" states="open,draft,close,cancel" string="Burndown Chart" type="action" icon="gtk-print"/> </tree> </field> </record> <record id="action_sprint_all_dashboard_tree" model="ir.actions.act_window"> <field name="name">Sprint's List</field> - <field name="res_model">scrum.sprint</field> + <field name="res_model">project.scrum.sprint</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> <field name="view_id" ref="view_scrum_sprint_dashboard_tree"/> diff --git a/addons/scrum/i18n/ar.po b/addons/project_scrum/i18n/ar.po index 84b8d28c47a..84b8d28c47a 100644 --- a/addons/scrum/i18n/ar.po +++ b/addons/project_scrum/i18n/ar.po diff --git a/addons/scrum/i18n/bg.po b/addons/project_scrum/i18n/bg.po index 42698e099ce..42698e099ce 100644 --- a/addons/scrum/i18n/bg.po +++ b/addons/project_scrum/i18n/bg.po diff --git a/addons/scrum/i18n/bs.po b/addons/project_scrum/i18n/bs.po index 209d05ce047..209d05ce047 100644 --- a/addons/scrum/i18n/bs.po +++ b/addons/project_scrum/i18n/bs.po diff --git a/addons/scrum/i18n/ca.po b/addons/project_scrum/i18n/ca.po index e25cafb9f23..e25cafb9f23 100644 --- a/addons/scrum/i18n/ca.po +++ b/addons/project_scrum/i18n/ca.po diff --git a/addons/scrum/i18n/cs.po b/addons/project_scrum/i18n/cs.po index 95b1a8d11e2..95b1a8d11e2 100644 --- a/addons/scrum/i18n/cs.po +++ b/addons/project_scrum/i18n/cs.po diff --git a/addons/scrum/i18n/de.po b/addons/project_scrum/i18n/de.po index 2aa1e064c52..2aa1e064c52 100644 --- a/addons/scrum/i18n/de.po +++ b/addons/project_scrum/i18n/de.po diff --git a/addons/scrum/i18n/es.po b/addons/project_scrum/i18n/es.po index 5bc27170c9b..5bc27170c9b 100644 --- a/addons/scrum/i18n/es.po +++ b/addons/project_scrum/i18n/es.po diff --git a/addons/scrum/i18n/es_AR.po b/addons/project_scrum/i18n/es_AR.po index 960161bf927..960161bf927 100644 --- a/addons/scrum/i18n/es_AR.po +++ b/addons/project_scrum/i18n/es_AR.po diff --git a/addons/scrum/i18n/et.po b/addons/project_scrum/i18n/et.po index 5f97d21ea10..5f97d21ea10 100644 --- a/addons/scrum/i18n/et.po +++ b/addons/project_scrum/i18n/et.po diff --git a/addons/scrum/i18n/fr.po b/addons/project_scrum/i18n/fr.po index 95b757da770..95b757da770 100644 --- a/addons/scrum/i18n/fr.po +++ b/addons/project_scrum/i18n/fr.po diff --git a/addons/scrum/i18n/hr.po b/addons/project_scrum/i18n/hr.po index 98e92cfe358..98e92cfe358 100644 --- a/addons/scrum/i18n/hr.po +++ b/addons/project_scrum/i18n/hr.po diff --git a/addons/scrum/i18n/hu.po b/addons/project_scrum/i18n/hu.po index 98e92cfe358..98e92cfe358 100644 --- a/addons/scrum/i18n/hu.po +++ b/addons/project_scrum/i18n/hu.po diff --git a/addons/scrum/i18n/id.po b/addons/project_scrum/i18n/id.po index e6c3d1e9cfb..e6c3d1e9cfb 100644 --- a/addons/scrum/i18n/id.po +++ b/addons/project_scrum/i18n/id.po diff --git a/addons/scrum/i18n/it.po b/addons/project_scrum/i18n/it.po index 09d6bf3e487..09d6bf3e487 100644 --- a/addons/scrum/i18n/it.po +++ b/addons/project_scrum/i18n/it.po diff --git a/addons/scrum/i18n/ko.po b/addons/project_scrum/i18n/ko.po index 237a2fa455a..237a2fa455a 100644 --- a/addons/scrum/i18n/ko.po +++ b/addons/project_scrum/i18n/ko.po diff --git a/addons/scrum/i18n/lt.po b/addons/project_scrum/i18n/lt.po index 98e92cfe358..98e92cfe358 100644 --- a/addons/scrum/i18n/lt.po +++ b/addons/project_scrum/i18n/lt.po diff --git a/addons/scrum/i18n/nl.po b/addons/project_scrum/i18n/nl.po index bc7741790c9..bc7741790c9 100644 --- a/addons/scrum/i18n/nl.po +++ b/addons/project_scrum/i18n/nl.po diff --git a/addons/scrum/i18n/nl_BE.po b/addons/project_scrum/i18n/nl_BE.po index 0c8c3890a0b..0c8c3890a0b 100644 --- a/addons/scrum/i18n/nl_BE.po +++ b/addons/project_scrum/i18n/nl_BE.po diff --git a/addons/scrum/i18n/pl.po b/addons/project_scrum/i18n/pl.po index a4295ae2f7b..a4295ae2f7b 100644 --- a/addons/scrum/i18n/pl.po +++ b/addons/project_scrum/i18n/pl.po diff --git a/addons/scrum/i18n/pt.po b/addons/project_scrum/i18n/pt.po index 2576f968387..2576f968387 100644 --- a/addons/scrum/i18n/pt.po +++ b/addons/project_scrum/i18n/pt.po diff --git a/addons/scrum/i18n/pt_BR.po b/addons/project_scrum/i18n/pt_BR.po index 4a0b29045a9..4a0b29045a9 100644 --- a/addons/scrum/i18n/pt_BR.po +++ b/addons/project_scrum/i18n/pt_BR.po diff --git a/addons/scrum/i18n/ro.po b/addons/project_scrum/i18n/ro.po index 98e92cfe358..98e92cfe358 100644 --- a/addons/scrum/i18n/ro.po +++ b/addons/project_scrum/i18n/ro.po diff --git a/addons/scrum/i18n/ru.po b/addons/project_scrum/i18n/ru.po index 44bbc963615..44bbc963615 100644 --- a/addons/scrum/i18n/ru.po +++ b/addons/project_scrum/i18n/ru.po diff --git a/addons/scrum/i18n/scrum.pot b/addons/project_scrum/i18n/scrum.pot index 140d3e7fdfa..140d3e7fdfa 100644 --- a/addons/scrum/i18n/scrum.pot +++ b/addons/project_scrum/i18n/scrum.pot diff --git a/addons/scrum/i18n/sl.po b/addons/project_scrum/i18n/sl.po index c61e320d782..c61e320d782 100644 --- a/addons/scrum/i18n/sl.po +++ b/addons/project_scrum/i18n/sl.po diff --git a/addons/scrum/i18n/sq.po b/addons/project_scrum/i18n/sq.po index 94d493c7915..94d493c7915 100644 --- a/addons/scrum/i18n/sq.po +++ b/addons/project_scrum/i18n/sq.po diff --git a/addons/scrum/i18n/sv.po b/addons/project_scrum/i18n/sv.po index a99afddeba5..a99afddeba5 100644 --- a/addons/scrum/i18n/sv.po +++ b/addons/project_scrum/i18n/sv.po diff --git a/addons/scrum/i18n/tlh.po b/addons/project_scrum/i18n/tlh.po index 495757da589..495757da589 100644 --- a/addons/scrum/i18n/tlh.po +++ b/addons/project_scrum/i18n/tlh.po diff --git a/addons/scrum/i18n/tr.po b/addons/project_scrum/i18n/tr.po index faadb247517..faadb247517 100644 --- a/addons/scrum/i18n/tr.po +++ b/addons/project_scrum/i18n/tr.po diff --git a/addons/scrum/i18n/uk.po b/addons/project_scrum/i18n/uk.po index 1248e913a85..1248e913a85 100644 --- a/addons/scrum/i18n/uk.po +++ b/addons/project_scrum/i18n/uk.po diff --git a/addons/scrum/i18n/vi.po b/addons/project_scrum/i18n/vi.po index aeac69360c2..aeac69360c2 100644 --- a/addons/scrum/i18n/vi.po +++ b/addons/project_scrum/i18n/vi.po diff --git a/addons/scrum/i18n/zh_CN.po b/addons/project_scrum/i18n/zh_CN.po index 9ef5a0f1b49..9ef5a0f1b49 100644 --- a/addons/scrum/i18n/zh_CN.po +++ b/addons/project_scrum/i18n/zh_CN.po diff --git a/addons/scrum/i18n/zh_TW.po b/addons/project_scrum/i18n/zh_TW.po index c3f8246cf04..c3f8246cf04 100644 --- a/addons/scrum/i18n/zh_TW.po +++ b/addons/project_scrum/i18n/zh_TW.po diff --git a/addons/scrum/process/scrum_process.xml b/addons/project_scrum/process/project_scrum_process.xml index c9c7db868f6..9700677c100 100644 --- a/addons/scrum/process/scrum_process.xml +++ b/addons/project_scrum/process/project_scrum_process.xml @@ -1,14 +1,14 @@ <?xml version="1.0" ?> <openerp> <data> - - <!-- + + <!-- Process Node --> - + <record id="process_node_productbacklog0" model="process.node"> - <field name="menu_id" ref="scrum.menu_action_product_backlog_form"/> - <field name="model_id" ref="scrum.model_scrum_product_backlog"/> + <field name="menu_id" ref="menu_action_product_backlog_form"/> + <field name="model_id" ref="model_project_scrum_product_backlog"/> <field eval=""""state"""" name="kind"/> <field eval=""""Product backlog"""" name="name"/> <field eval=""""Create task from backlogs"""" name="note"/> @@ -16,11 +16,11 @@ <field eval=""""object.state=='draft'"""" name="model_states"/> <field eval="1" name="flow_start"/> </record> - - <!-- + + <!-- Process Transition --> - + <record id="process_transition_backlogtask0" model="process.transition"> <field eval="[(6,0,[])]" name="role_ids"/> <field eval="[(6,0,[])]" name="transition_ids"/> @@ -29,6 +29,6 @@ <field model="process.node" name="target_node_id" ref="project.process_node_drafttask0"/> <field model="process.node" name="source_node_id" ref="process_node_productbacklog0"/> </record> - + </data> -</openerp>
\ No newline at end of file +</openerp> diff --git a/addons/scrum/scrum.py b/addons/project_scrum/project_scrum.py index 0eb23916bc1..5fc873c40aa 100644 --- a/addons/scrum/scrum.py +++ b/addons/project_scrum/project_scrum.py @@ -27,7 +27,7 @@ import re import tools from tools.translate import _ -class scrum_project(osv.osv): +class project_scrum_project(osv.osv): _inherit = 'project.project' _columns = { 'product_owner_id': fields.many2one('res.users', 'Product Owner', help="The person who is responsible for the product"), @@ -39,11 +39,11 @@ class scrum_project(osv.osv): 'sprint_size': 15, 'scrum': 1 } -scrum_project() +project_scrum_project() -class scrum_sprint(osv.osv): - _name = 'scrum.sprint' - _description = 'Scrum Sprint' +class project_scrum_sprint(osv.osv): + _name = 'project.scrum.sprint' + _description = 'Project Scrum Sprint' def _calc_progress(self, cr, uid, ids, name, args, context): res = {} @@ -115,10 +115,10 @@ class scrum_sprint(osv.osv): 'project_id': fields.many2one('project.project', 'Project', required=True, domain=[('scrum','=',1)], help="If you have [?] in the project name, it means there are no analytic account linked to this project."), 'product_owner_id': fields.many2one('res.users', 'Product Owner', required=True,help="The person who is responsible for the product"), 'scrum_master_id': fields.many2one('res.users', 'Scrum Master', required=True,help="The person who is maintains the processes for the product"), - 'meeting_ids': fields.one2many('scrum.meeting', 'sprint_id', 'Daily Scrum'), + 'meeting_ids': fields.one2many('project.scrum.meeting', 'sprint_id', 'Daily Scrum'), 'review': fields.text('Sprint Review'), 'retrospective': fields.text('Sprint Retrospective'), - 'backlog_ids': fields.one2many('scrum.product.backlog', 'sprint_id', 'Sprint Backlog'), + 'backlog_ids': fields.one2many('project.scrum.product.backlog', 'sprint_id', 'Sprint Backlog'), 'progress': fields.function(_calc_progress, method=True, string='Progress (0-100)', help="Computed as: Time Spent / Total Time."), 'effective_hours': fields.function(_calc_effective, method=True, string='Effective hours', help="Computed using the sum of the task work done."), 'expected_hours': fields.function(_calc_expected, method=True, string='Planned Hours', help='Estimated time to do the task.'), @@ -153,10 +153,10 @@ class scrum_sprint(osv.osv): v['date_stop'] = (DateTime.now() + DateTime.RelativeDateTime(days=int(proj.sprint_size or 14))).strftime('%Y-%m-%d') return {'value':v} -scrum_sprint() +project_scrum_sprint() -class scrum_product_backlog(osv.osv): - _name = 'scrum.product.backlog' +class project_scrum_product_backlog(osv.osv): + _name = 'project.scrum.product.backlog' _description = 'Product Backlog' def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100): @@ -200,9 +200,10 @@ class scrum_product_backlog(osv.osv): return res def button_cancel(self, cr, uid, ids, context={}): + obj_project_task = self.pool.get('project.task') self.write(cr, uid, ids, {'state':'cancel'}, context=context) for backlog in self.browse(cr, uid, ids, context=context): - self.pool.get('project.task').write(cr, uid, [i.id for i in backlog.tasks_id], {'state': 'cancelled'}) + obj_project_task.write(cr, uid, [i.id for i in backlog.tasks_id], {'state': 'cancelled'}) return True def button_draft(self, cr, uid, ids, context={}): @@ -217,9 +218,10 @@ class scrum_product_backlog(osv.osv): return True def button_close(self, cr, uid, ids, context={}): + obj_project_task = self.pool.get('project.task') self.write(cr, uid, ids, {'state':'done'}, context=context) for backlog in self.browse(cr, uid, ids, context=context): - self.pool.get('project.task').write(cr, uid, [i.id for i in backlog.tasks_id], {'state': 'done'}) + obj_project_task.write(cr, uid, [i.id for i in backlog.tasks_id], {'state': 'done'}) message = _('Product Backlog ') + " '" + backlog.name + "' "+ _("is Closed.") self.log(cr, uid, backlog.id, message) return True @@ -249,7 +251,7 @@ class scrum_product_backlog(osv.osv): 'active' : fields.boolean('Active', help="If Active field is set to true, it will allow you to hide the product backlog without removing it."), 'project_id': fields.many2one('project.project', 'Project', required=True, domain=[('scrum','=',1)], help="If you have [?] in the project name, it means there are no analytic account linked to this project."), 'user_id': fields.many2one('res.users', 'Author'), - 'sprint_id': fields.many2one('scrum.sprint', 'Sprint'), + 'sprint_id': fields.many2one('project.scrum.sprint', 'Sprint'), 'sequence' : fields.integer('Sequence', help="Gives the sequence order when displaying a list of product backlog."), 'tasks_id': fields.one2many('project.task', 'product_backlog_id', 'Tasks Details'), 'state': fields.selection([('draft','Draft'),('open','Open'),('pending','Pending'),('done','Done'),('cancel','Cancelled')], 'State', required=True), @@ -265,42 +267,42 @@ class scrum_product_backlog(osv.osv): 'user_id': lambda self, cr, uid, context: uid, } _order = "sequence" -scrum_product_backlog() +project_scrum_product_backlog() -class scrum_task(osv.osv): +class project_scrum_task(osv.osv): _name = 'project.task' _inherit = 'project.task' def _get_task(self, cr, uid, ids, context={}): result = {} - for line in self.pool.get('scrum.product.backlog').browse(cr, uid, ids, context=context): + for line in self.pool.get('project.scrum.product.backlog').browse(cr, uid, ids, context=context): for task in line.tasks_id: result[task.id] = True return result.keys() _columns = { - 'product_backlog_id': fields.many2one('scrum.product.backlog', 'Product Backlog',help="Related product backlog that contains this task. Used in SCRUM methodology"), - 'sprint_id': fields.related('product_backlog_id','sprint_id', type='many2one', relation='scrum.sprint', string='Sprint', + 'product_backlog_id': fields.many2one('project.scrum.product.backlog', 'Product Backlog',help="Related product backlog that contains this task. Used in SCRUM methodology"), + 'sprint_id': fields.related('product_backlog_id','sprint_id', type='many2one', relation='project.scrum.sprint', string='Sprint', store={ 'project.task': (lambda self, cr, uid, ids, c={}: ids, ['product_backlog_id'], 10), - 'scrum.product.backlog': (_get_task, ['sprint_id'], 10) + 'project.scrum.product.backlog': (_get_task, ['sprint_id'], 10) }), } def onchange_backlog_id(self, cr, uid, backlog_id): if not backlog_id: return {} - project_id = self.pool.get('scrum.product.backlog').browse(cr, uid, backlog_id).project_id.id + project_id = self.pool.get('project.scrum.product.backlog').browse(cr, uid, backlog_id).project_id.id return {'value': {'project_id': project_id}} -scrum_task() +project_scrum_task() -class scrum_meeting(osv.osv): - _name = 'scrum.meeting' +class project_scrum_meeting(osv.osv): + _name = 'project.scrum.meeting' _description = 'Scrum Meeting' _order = 'date desc' _columns = { 'name' : fields.char('Meeting Name', size=64), 'date': fields.date('Meeting Date', required=True), - 'sprint_id': fields.many2one('scrum.sprint', 'Sprint', required=True), + 'sprint_id': fields.many2one('project.scrum.sprint', 'Sprint', required=True), 'project_id': fields.many2one('project.project', 'Project'), 'question_yesterday': fields.text('Tasks since yesterday'), 'question_today': fields.text('Tasks for today'), @@ -357,5 +359,5 @@ class scrum_meeting(osv.osv): return False return True -scrum_meeting() +project_scrum_meeting() diff --git a/addons/scrum/scrum_demo.xml b/addons/project_scrum/project_scrum_demo.xml index 9e97e635cf3..a4fad8eb307 100644 --- a/addons/scrum/scrum_demo.xml +++ b/addons/project_scrum/project_scrum_demo.xml @@ -13,9 +13,9 @@ <field model="res.users" name="product_owner_id" search="[('login','=','demo')]"/> </record> - <!-- Resource: scrum.sprint --> + <!-- Resource: project_scrum.sprint --> - <record id="scrum_sprint_0" model="scrum.sprint"> + <record id="scrum_sprint_0" model="project.scrum.sprint"> <field name="date_stop">2005-12-20</field> <field name="name">Sprint for V3.2.0</field> <field model="res.users" name="scrum_master_id" search="[('login','=','demo')]"/> @@ -26,7 +26,7 @@ <!-- Resource: project.product.backlog --> - <record id="scrum_product_backlog_0" model="scrum.product.backlog"> + <record id="scrum_product_backlog_0" model="project.scrum.product.backlog"> <field name="priority">3</field> <field name="name">Automatic migration system</field> <field name="expected_hours">6.0</field> @@ -35,54 +35,54 @@ <field name="state">done</field> <field name="project_id" ref="scrum_project_1"/> </record> - <record id="scrum_product_backlog_1" model="scrum.product.backlog"> + <record id="scrum_product_backlog_1" model="project.scrum.product.backlog"> <field name="priority">3</field> <field name="name">New accounting module</field> <field name="expected_hours">111.0</field> <field name="note">The accounting module of Open ERP (financial accounting and management accounting) is being reshaped. New functionnalities will be added: intangible assets, a new way of presenting ledgers and bookings, new stock valuation calculation, and lots of predefined reports. </field> <field name="sprint_id" ref="scrum_sprint_0"/> - <field name="state">open</field> + <field name="state">open</field> <field name="project_id" ref="scrum_project_1"/> </record> - <record id="scrum_product_backlog_2" model="scrum.product.backlog"> + <record id="scrum_product_backlog_2" model="project.scrum.product.backlog"> <field name="priority">3</field> <field name="name">Automated Plugin System to install/uninstall modules</field> <field name="expected_hours">4.0</field> <field name="note">We have to develop a plug-in system which will enable to install/remove modules. The basic version of Open ERP will include only the required minimum, and you will select the modules thanks to the plug-in manager. This allows you to limit your system to your real needs: quality management, localisations, project and service management, marketing campaigns, and so on... </field> <field name="sprint_id" ref="scrum_sprint_0"/> - <field name="state">open</field> + <field name="state">open</field> <field name="project_id" ref="scrum_project_1"/> </record> - <record id="scrum_product_backlog_3" model="scrum.product.backlog"> + <record id="scrum_product_backlog_3" model="project.scrum.product.backlog"> <field name="name">Review all terms</field> <field name="expected_hours">8.0</field> <field name="sprint_id" ref="scrum_sprint_0"/> - <field name="state">done</field> + <field name="state">done</field> <field name="project_id" ref="scrum_project_1"/> </record> - <record id="scrum_product_backlog_4" model="scrum.product.backlog"> + <record id="scrum_product_backlog_4" model="project.scrum.product.backlog"> <field name="name">Bugfixes</field> <field name="expected_hours">6.0</field> <field name="sprint_id" ref="scrum_sprint_0"/> - <field name="state">open</field> + <field name="state">open</field> <field name="project_id" ref="scrum_project_1"/> </record> - <record id="scrum_product_backlog_5" model="scrum.product.backlog"> + <record id="scrum_product_backlog_5" model="project.scrum.product.backlog"> <field name="name">Test for 3.2.0 Publishing</field> <field name="expected_hours">5.0</field> <field name="note">Test Open ERP to release stable 3.2.0 version. (may be 3.2.0-pre1 ?)</field> <field name="sprint_id" ref="scrum_sprint_0"/> <field name="project_id" ref="scrum_project_1"/> </record> - <record id="scrum_product_backlog_6" model="scrum.product.backlog"> + <record id="scrum_product_backlog_6" model="project.scrum.product.backlog"> <field name="name">Reshape the complete menu</field> <field name="expected_hours">4.0</field> <field name="note">Restructure the Open ERP menu to be more like others ERP.</field> <field name="sprint_id" ref="scrum_sprint_0"/> - <field name="state">open</field> + <field name="state">open</field> <field name="project_id" ref="scrum_project_1"/> </record> - <record id="scrum_product_backlog_7" model="scrum.product.backlog"> + <record id="scrum_product_backlog_7" model="project.scrum.product.backlog"> <field name="name">Editable Trees</field> <field name="expected_hours">12.0</field> <field name="note">Editable trees in list and one2many_list widgets.</field> @@ -98,7 +98,7 @@ <field name="project_id" ref="scrum_project_1"/> <field name="name">Review all English Terms</field> <field name="state">done</field> - <field eval="time.strftime('%Y-%m-%d')" name="date_close"/> + <field eval="time.strftime('%Y-%m-%d')" name="date_close"/> <field name="product_backlog_id" ref="scrum_product_backlog_3"/> </record> <record id="scrum_task_4" model="project.task"> @@ -107,7 +107,7 @@ <field name="project_id" ref="scrum_project_1"/> <field name="name">Review all french terms</field> <field name="state">done</field> - <field eval="time.strftime('%Y-%m-%d')" name="date_close"/> + <field eval="time.strftime('%Y-%m-%d')" name="date_close"/> <field name="product_backlog_id" ref="scrum_product_backlog_3"/> </record> <record id="scrum_task_5" model="project.task"> @@ -116,7 +116,7 @@ <field name="project_id" ref="scrum_project_1"/> <field name="name">Analytic Accounting features</field> <field name="state">done</field> - <field eval="time.strftime('%Y-%m-%d')" name="date_close"/> + <field eval="time.strftime('%Y-%m-%d')" name="date_close"/> <field name="product_backlog_id" ref="scrum_product_backlog_1"/> </record> <record id="scrum_task_6" model="project.task"> @@ -149,7 +149,7 @@ <field name="description">Cash book, general ledger, accounts list, aged trial balance</field> <field name="name">Accounting Report General</field> <field name="state">open</field> - <field eval="[(6,0,[ref('scrum.scrum_task_8')])]" name="child_ids"/> + <field eval="[(6,0,[ref('scrum_task_8')])]" name="child_ids"/> <field name="product_backlog_id" ref="scrum_product_backlog_1"/> </record> <record id="scrum_task_10" model="project.task"> @@ -164,7 +164,7 @@ <field model="res.users" name="user_id" search="[('login','=','demo')]"/> <field name="project_id" ref="scrum_project_1"/> <field name="name">Accounting Report Analytic</field> - <field name="state">open</field> + <field name="state">open</field> <field name="product_backlog_id" ref="scrum_product_backlog_1"/> </record> <record id="scrum_task_12" model="project.task"> @@ -173,7 +173,7 @@ <field name="project_id" ref="scrum_project_1"/> <field name="name">Bugfix - memory leak</field> <field name="state">done</field> - <field eval="time.strftime('%Y-%m-%d')" name="date_close"/> + <field eval="time.strftime('%Y-%m-%d')" name="date_close"/> <field name="product_backlog_id" ref="scrum_product_backlog_4"/> </record> <record id="scrum_task_13" model="project.task"> @@ -181,8 +181,8 @@ <field model="res.users" name="user_id" search="[('login','=','demo')]"/> <field name="project_id" ref="scrum_project_1"/> <field name="name">Bugfix - Translations</field> - <field name="state">open</field> - <field eval="[(6,0,[ref('scrum.scrum_task_12')])]" name="child_ids"/> + <field name="state">open</field> + <field eval="[(6,0,[ref('scrum_task_12')])]" name="child_ids"/> <field name="product_backlog_id" ref="scrum_product_backlog_4"/> </record> <record id="scrum_task_14" model="project.task"> @@ -205,7 +205,7 @@ <field model="res.users" name="user_id" search="[('login','=','demo')]"/> <field name="project_id" ref="scrum_project_1"/> <field name="name">Test 3.2.0 before releasing</field> - <field name="state">open</field> + <field name="state">open</field> <field name="product_backlog_id" ref="scrum_product_backlog_5"/> </record> <record id="scrum_task_17" model="project.task"> @@ -214,10 +214,10 @@ <field name="project_id" ref="scrum_project_1"/> <field name="description">default values, onchange, required, add on top or bottom and shortcuts (Ctrl S, Ctrl X, ...)</field> <field name="name">Editable trees</field> - <field name="state">open</field> + <field name="state">open</field> <field name="product_backlog_id" ref="scrum_product_backlog_7"/> </record> - <record id="scrum_meeting_0" model="scrum.meeting"> + <record id="scrum_meeting_0" model="project.scrum.meeting"> <field name="question_yesterday"> Admin: Worked on the Automatic migration system Demo: Worked on the Test 3.2.0 before releasing @@ -228,7 +228,7 @@ Demo: Work on Editable trees</field> <field name="question_blocks"> Demo :Bugfix - memory leak </field> - <field name="sprint_id" ref="scrum.scrum_sprint_0"/> + <field name="sprint_id" ref="scrum_sprint_0"/> <field eval="time.strftime('%Y-%m-%d')" name="date"/> </record> <record id="project_task_work_scrum_task1" model="project.task.work"> @@ -247,7 +247,7 @@ Demo :Bugfix - memory leak <field eval="5.0" name="hours"/> <field eval="time.strftime('%Y-%m-%d')" name="date"/> </record> - + <record id="project_task_work_scrum_task2" model="project.task.work"> <field name="user_id" ref="base.user_root"/> <field name="name">Create a script for migration and testing</field> @@ -264,6 +264,6 @@ Demo :Bugfix - memory leak <field eval="10.0" name="hours"/> <field eval="time.strftime('%Y-%m-%d')" name="date"/> </record> - + </data> </openerp> diff --git a/addons/scrum/scrum_report.xml b/addons/project_scrum/project_scrum_report.xml index 8d95d8bdc37..b958732d3c4 100644 --- a/addons/scrum/scrum_report.xml +++ b/addons/project_scrum/project_scrum_report.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <openerp> <data> - <report auto="False" id="report_scrum_sprint_burndown_chart" model="scrum.sprint" name="scrum.sprint.burndown" string="Burndown Chart"/> + <report auto="False" id="report_scrum_sprint_burndown_chart" model="project.scrum.sprint" name="scrum.sprint.burndown" string="Burndown Chart"/> </data> </openerp> diff --git a/addons/scrum/scrum_view.xml b/addons/project_scrum/project_scrum_view.xml index 86f92981fed..fd044427869 100644 --- a/addons/scrum/scrum_view.xml +++ b/addons/project_scrum/project_scrum_view.xml @@ -29,8 +29,8 @@ --> <record id="view_scrum_product_backlog_tree" model="ir.ui.view"> - <field name="name">scrum.product.backlog.tree</field> - <field name="model">scrum.product.backlog</field> + <field name="name">project.scrum.product.backlog.tree</field> + <field name="model">project.scrum.product.backlog</field> <field name="type">tree</field> <field name="arch" type="xml"> <tree colors="grey:state in ('cancel','done');blue:state in ('pending')" string="Product Backlog"> @@ -52,8 +52,8 @@ </record> <record id="view_scrum_product_backlog_form" model="ir.ui.view"> - <field name="name">scrum.product.backlog.form</field> - <field name="model">scrum.product.backlog</field> + <field name="name">project.scrum.product.backlog.form</field> + <field name="model">project.scrum.product.backlog</field> <field name="type">form</field> <field name="arch" type="xml"> <form string="Product backlog"> @@ -124,8 +124,8 @@ </record> <record model="ir.ui.view" id="view_scrum_product_backlog_search"> - <field name="name">scrum.product.backlog.search</field> - <field name="model">scrum.product.backlog</field> + <field name="name">project.scrum.product.backlog.search</field> + <field name="model">project.scrum.product.backlog</field> <field name="type">search</field> <field name="arch" type="xml"> <search string="Product Backlogs"> @@ -177,7 +177,7 @@ <record id="action_product_backlog_form" model="ir.actions.act_window"> <field name="name">Product Backlogs</field> - <field name="res_model">scrum.product.backlog</field> + <field name="res_model">project.scrum.product.backlog</field> <field name="view_type">form</field> <field name="context">{'search_default_current': 1}</field> <field name="search_view_id" ref="view_scrum_product_backlog_search"/> @@ -193,8 +193,8 @@ --> <record id="view_scrum_sprint_tree" model="ir.ui.view"> - <field name="name">scrum.sprint.tree</field> - <field name="model">scrum.sprint</field> + <field name="name">project.scrum.sprint.tree</field> + <field name="model">project.scrum.sprint</field> <field name="type">tree</field> <field name="arch" type="xml"> <tree colors="blue:state in ('pending');grey:state in ('cancel','done')" string="Scrum Sprint"> @@ -215,8 +215,8 @@ </field> </record> <record id="view_scrum_sprint_form" model="ir.ui.view"> - <field name="name">scrum.sprint.form</field> - <field name="model">scrum.sprint</field> + <field name="name">project.scrum.sprint.form</field> + <field name="model">project.scrum.sprint</field> <field name="type">form</field> <field name="arch" type="xml"> <form string="Scrum Sprint"> @@ -265,8 +265,8 @@ </record> <record model="ir.ui.view" id="view_scrum_sprint_search"> - <field name="name">scrum.sprint.search</field> - <field name="model">scrum.sprint</field> + <field name="name">project.scrum.sprint.search</field> + <field name="model">project.scrum.sprint</field> <field name="type">search</field> <field name="arch" type="xml"> <search string="Sprints"> @@ -296,7 +296,7 @@ <record id="action_sprint_all_tree" model="ir.actions.act_window"> <field name="name">Sprints</field> - <field name="res_model">scrum.sprint</field> + <field name="res_model">project.scrum.sprint</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> <field name="view_id" ref="view_scrum_sprint_tree"/> @@ -312,8 +312,8 @@ --> <record id="view_scrum_meeting_tree" model="ir.ui.view"> - <field name="name">scrum.meeting.tree</field> - <field name="model">scrum.meeting</field> + <field name="name">project.scrum.meeting.tree</field> + <field name="model">project.scrum.meeting</field> <field name="type">tree</field> <field name="arch" type="xml"> <tree string="Scrum Sprint"> @@ -324,7 +324,7 @@ </record> <record id="view_scrum_meeting_form" model="ir.ui.view"> <field name="name">Scrum Meeting</field> - <field name="model">scrum.meeting</field> + <field name="model">project.scrum.meeting</field> <field name="type">form</field> <field name="arch" type="xml"> <form string="Scrum Sprint"> @@ -358,8 +358,8 @@ </record> <record id="view_scrum_meeting_search" model="ir.ui.view"> - <field name="name">scrum.meeting.search</field> - <field name="model">scrum.meeting</field> + <field name="name">project_scrum.meeting.search</field> + <field name="model">project.scrum.meeting</field> <field name="type">search</field> <field name="arch" type="xml"> <search string="Scrum Sprint"> @@ -383,7 +383,7 @@ <record id="action_meeting_form" model="ir.actions.act_window"> <field name="name">Scrum Meetings</field> - <field name="res_model">scrum.meeting</field> + <field name="res_model">project.scrum.meeting</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> <field name="context">{'search_default_scrum_daily':1}</field> @@ -405,14 +405,14 @@ </record> <record id="ir_scrum_sprint_open_task" model="ir.values"> <field eval=" 'tree_but_open'" name="key2"/> - <field eval="'scrum.sprint'" name="model"/> + <field eval="'project.scrum.sprint'" name="model"/> <field name="name">View sprint tasks</field> <field eval="'ir.actions.act_window,'+str(action_sprint_task_open)" name="value"/> <field eval="True" name="object"/> </record> <record id="action_sprint_backlog_open" model="ir.actions.act_window"> - <field name="res_model">scrum.product.backlog</field> + <field name="res_model">project.scrum.product.backlog</field> <field name="name">View sprint backlog</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> @@ -420,7 +420,7 @@ </record> <record id="ir_scrum_sprint_open_sprint" model="ir.values"> <field eval=" 'tree_but_open'" name="key2"/> - <field eval="'scrum.sprint'" name="model"/> + <field eval="'project.scrum.sprint'" name="model"/> <field name="name">View sprint backlog</field> <field eval="'ir.actions.act_window,'+str(action_sprint_backlog_open)" name="value"/> <field eval="True" name="object"/> @@ -431,7 +431,7 @@ --> <record id="dblc_proj" model="ir.actions.act_window"> - <field name="res_model">scrum.product.backlog</field> + <field name="res_model">project.scrum.product.backlog</field> <field name="name">View project's backlog</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> @@ -439,7 +439,7 @@ </record> <record id="ir_scrum_project_backlog" model="ir.values"> <field eval=" 'tree_but_open'" name="key2"/> - <field eval="'scrum.project'" name="model"/> + <field eval="'project.scrum.project'" name="model"/> <field name="name">View project's backlog</field> <field eval="'ir.actions.act_window,'+str(dblc_proj)" name="value"/> <field eval="True" name="object"/> @@ -453,7 +453,7 @@ </record> <record id="ir_scrum_project_task" model="ir.values"> <field eval=" 'tree_but_open'" name="key2"/> - <field eval="'scrum.project'" name="model"/> + <field eval="'project.scrum.project'" name="model"/> <field name="name">View project's tasks</field> <field eval="'ir.actions.act_window,'+str(dblc_proj2)" name="value"/> <field eval="True" name="object"/> @@ -509,6 +509,7 @@ <field name="project_id" position="after"> <field name="sprint_id" context="{'sprint_invisible':False}"> <filter icon="terp-check" string="Current" context="{'sprint_invisible':False}" domain="[('sprint_id.state','in',('draft','open'))]" help="Current Sprints"/> + <filter icon="terp-check" string="Current" context="{'sprint_invisible':False}" domain="[]" help="View Sprints"/> </field> </field> </field> @@ -532,8 +533,8 @@ domain="[('sprint_id', '=', active_id)]" id="act_scrum_sprint_2_product_backlog" name="Backlogs" - res_model="scrum.product.backlog" - src_model="scrum.sprint" + res_model="project.scrum.product.backlog" + src_model="project.scrum.sprint" view_mode="tree,form" view_type="form"/> @@ -542,7 +543,7 @@ id="act_scrum_sprint_2_project_task" name="Tasks" res_model="project.task" - src_model="scrum.sprint" + src_model="project.scrum.sprint" view_mode="tree,form" view_type="form"/> diff --git a/addons/scrum/report/__init__.py b/addons/project_scrum/report/__init__.py index 6112b117959..6112b117959 100644 --- a/addons/scrum/report/__init__.py +++ b/addons/project_scrum/report/__init__.py diff --git a/addons/scrum/report/_burndown.py b/addons/project_scrum/report/_burndown.py index 6f0db24bcb6..6f0db24bcb6 100644 --- a/addons/scrum/report/_burndown.py +++ b/addons/project_scrum/report/_burndown.py diff --git a/addons/scrum/report/sprint_burndown.py b/addons/project_scrum/report/sprint_burndown.py index cdc837fe96b..853986c9d5f 100644 --- a/addons/scrum/report/sprint_burndown.py +++ b/addons/project_scrum/report/sprint_burndown.py @@ -48,9 +48,9 @@ class report_tasks(report_int): canv = canvas.init(fname=io, format='pdf') canv.set_author("Open ERP") - cr.execute('select id,date_start,date_stop from scrum_sprint where id=%s', (datas['id'],)) + cr.execute('select id,date_start,date_stop from project_scrum_sprint where id=%s', (datas['id'],)) for (id,date_start,date_stop) in cr.fetchall(): - cr.execute('select id from project_task where product_backlog_id in(select id from scrum_product_backlog where sprint_id=%s)', (id,)) + cr.execute('select id from project_task where product_backlog_id in(select id from project_scrum_product_backlog where sprint_id=%s)', (id,)) ids = map(lambda x: x[0], cr.fetchall()) datas = _burndown.compute_burndown(cr, uid, ids, date_start, date_stop) diff --git a/addons/scrum/report/task_burndown.py b/addons/project_scrum/report/task_burndown.py index efd285c357e..efd285c357e 100644 --- a/addons/scrum/report/task_burndown.py +++ b/addons/project_scrum/report/task_burndown.py diff --git a/addons/project_scrum/security/ir.model.access.csv b/addons/project_scrum/security/ir.model.access.csv new file mode 100644 index 00000000000..752e834b1e0 --- /dev/null +++ b/addons/project_scrum/security/ir.model.access.csv @@ -0,0 +1,9 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_scrum_sprint","project_scrum.sprint","model_project_scrum_sprint","project.group_project_user",1,0,0,0 +"access_scrum_product_backlog","project_scrum.product.backlog","model_project_scrum_product_backlog","project.group_project_user",1,1,1,1 +"access_scrum_meeting","project_scrum.meeting","model_project_scrum_meeting","project.group_project_user",1,0,0,0 +"access_scrum_meeting_manager","project_scrum.meeting.manager","model_project_scrum_meeting","project.group_project_manager",1,1,1,1 +"access_scrum_sprint_manager","project_scrum.sprint.manager","model_project_scrum_sprint","project.group_project_manager",1,1,1,1 +"access_scrum_product_backlog_manager","project_scrum.product.backlog manager","model_project_scrum_product_backlog","project.group_project_manager",1,1,1,1 +"access_product_uom_project_manager","product.uom project manager","product.model_product_uom","project.group_project_manager",1,1,1,1 +"access_product_uom_project_user","product.uom project user","product.model_product_uom","project.group_project_user",1,0,0,0 diff --git a/addons/scrum/wizard/__init__.py b/addons/project_scrum/wizard/__init__.py index bcced59f96b..92ed57d7d7e 100644 --- a/addons/scrum/wizard/__init__.py +++ b/addons/project_scrum/wizard/__init__.py @@ -19,9 +19,9 @@ # ############################################################################## -import scrum_backlog_create_task -import scrum_backlog_sprint -import scrum_backlog_merger +import project_scrum_backlog_create_task +import project_scrum_backlog_sprint +import project_scrum_backlog_merger # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/scrum/wizard/scrum_backlog_create_task.py b/addons/project_scrum/wizard/project_scrum_backlog_create_task.py index fcade59bc2f..9fcf104211e 100644 --- a/addons/scrum/wizard/scrum_backlog_create_task.py +++ b/addons/project_scrum/wizard/project_scrum_backlog_create_task.py @@ -21,7 +21,7 @@ from osv import osv, fields class backlog_create_task(osv.osv_memory): - _name = 'backlog.create.task' + _name = 'project.scrum.backlog.create.task' _description = 'Create Tasks from Product Backlogs' _columns = { 'user_id': fields.many2one('res.users', 'Assign To') @@ -30,7 +30,7 @@ class backlog_create_task(osv.osv_memory): def do_create(self, cr, uid, ids, context=None): mod_obj = self.pool.get('ir.model.data') task = self.pool.get('project.task') - backlog_id = self.pool.get('scrum.product.backlog') + backlog_id = self.pool.get('project.scrum.product.backlog') ids_task = [] if context is None: diff --git a/addons/scrum/wizard/scrum_backlog_create_task_view.xml b/addons/project_scrum/wizard/project_scrum_backlog_create_task_view.xml index 25cc78b873f..0ec3ab736af 100644 --- a/addons/scrum/wizard/scrum_backlog_create_task_view.xml +++ b/addons/project_scrum/wizard/project_scrum_backlog_create_task_view.xml @@ -3,8 +3,8 @@ <data> <record id="view_scrum_backlog_to_task" model="ir.ui.view"> - <field name="name">backlog.create.task.form</field> - <field name="model">backlog.create.task</field> + <field name="name">project.scrum.backlog.create.task.form</field> + <field name="model">project.scrum.backlog.create.task</field> <field name="type">form</field> <field name="arch" type="xml"> <form string="Create Tasks"> @@ -23,21 +23,21 @@ <record id="action_scrum_backlog_to_task" model="ir.actions.act_window"> <field name="name">Create Tasks</field> <field name="type">ir.actions.act_window</field> - <field name="res_model">backlog.create.task</field> + <field name="res_model">project.scrum.backlog.create.task</field> <field name="view_type">form</field> <field name="view_mode">form</field> <field name="target">new</field> </record> <record model="ir.values" id="scrum_backlog_to_task_values"> - <field name="model_id" ref="model_scrum_product_backlog" /> + <field name="model_id" ref="model_project_scrum_product_backlog" /> <field name="object" eval="1" /> <field name="name">Create Tasks</field> <field name="key2">client_action_multi</field> <field name="value" eval="'ir.actions.act_window,' + str(ref('action_scrum_backlog_to_task'))" /> <field name="key">action</field> - <field name="model">scrum.product.backlog</field> + <field name="model">project.scrum.product.backlog</field> </record> </data> -</openerp>
\ No newline at end of file +</openerp> diff --git a/addons/scrum/wizard/scrum_backlog_merger.py b/addons/project_scrum/wizard/project_scrum_backlog_merger.py index 8d7d38633c7..eb31ebe031c 100644 --- a/addons/scrum/wizard/scrum_backlog_merger.py +++ b/addons/project_scrum/wizard/project_scrum_backlog_merger.py @@ -21,15 +21,15 @@ from osv import osv, fields from tools.translate import _ -class scrum_backlog_merge(osv.osv_memory): - _name = 'scrum.backlog.merge' +class project_scrum_backlog_merge(osv.osv_memory): + _name = 'project.scrum.backlog.merge' _description = 'Merge Product Backlogs' _columns = { 'project_id': fields.many2one('project.project', 'Project', help="Select project for the new product backlog"), } def check_backlogs(self, cr, uid, ids, context=None): - backlog_obj = self.pool.get('scrum.product.backlog') + backlog_obj = self.pool.get('project.scrum.product.backlog') mod_obj = self.pool.get('ir.model.data') p_list = [] if context is None: @@ -50,7 +50,7 @@ class scrum_backlog_merge(osv.osv_memory): 'context': context, 'view_type': 'form', 'view_mode': 'form', - 'res_model': 'scrum.backlog.merge', + 'res_model': 'project.scrum.backlog.merge', 'views': [(resource_id,'form')], 'type': 'ir.actions.act_window', 'target': 'new', @@ -58,7 +58,7 @@ class scrum_backlog_merge(osv.osv_memory): return self.do_merge(cr, uid, ids, context=context) def do_merge(self, cr, uid, ids, context=None): - backlog_obj = self.pool.get('scrum.product.backlog') + backlog_obj = self.pool.get('project.scrum.product.backlog') task_obj = self.pool.get('project.task') task_lines = [] new_exp_hour = [] @@ -99,5 +99,5 @@ class scrum_backlog_merge(osv.osv_memory): backlog_obj.unlink(cr, uid, context['active_ids'], context=context) return {} -scrum_backlog_merge() +project_scrum_backlog_merge() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/scrum/wizard/scrum_backlog_merger_view.xml b/addons/project_scrum/wizard/project_scrum_backlog_merger_view.xml index 849f6099908..9e374d9437b 100644 --- a/addons/scrum/wizard/scrum_backlog_merger_view.xml +++ b/addons/project_scrum/wizard/project_scrum_backlog_merger_view.xml @@ -3,7 +3,7 @@ <data> <record id="scrum_backlog_merge_view" model="ir.ui.view"> <field name="name">Merge Backlogs</field> - <field name="model">scrum.backlog.merge</field> + <field name="model">project.scrum.backlog.merge</field> <field name="type">form</field> <field name="arch" type="xml"> <form string="Merge Backlogs"> @@ -19,7 +19,7 @@ <record id="action_scrum_backlog_merge" model="ir.actions.act_window"> <field name="name">Merge Backlogs</field> <field name="type">ir.actions.act_window</field> - <field name="res_model">scrum.backlog.merge</field> + <field name="res_model">project.scrum.backlog.merge</field> <field name="view_type">form</field> <field name="view_mode">form</field> <field name="target">new</field> @@ -27,18 +27,18 @@ </record> <record model="ir.values" id="scrum_backlog_merge_values"> - <field name="model_id" ref="model_scrum_product_backlog" /> + <field name="model_id" ref="model_project_scrum_product_backlog" /> <field name="object" eval="1" /> <field name="name">Merge Backlogs</field> <field name="key2">client_action_multi</field> <field name="value" eval="'ir.actions.act_window,' + str(ref('action_scrum_backlog_merge'))" /> <field name="key">action</field> - <field name="model">scrum.product.backlog</field> + <field name="model">project.scrum.product.backlog</field> </record> <record id="scrum_merge_project_id_view" model="ir.ui.view"> <field name="name">Merge Backlogs</field> - <field name="model">scrum.backlog.merge</field> + <field name="model">project.scrum.backlog.merge</field> <field name="type">form</field> <field name="arch" type="xml"> <form string="Merge Backlogs"> diff --git a/addons/scrum/wizard/scrum_backlog_sprint.py b/addons/project_scrum/wizard/project_scrum_backlog_sprint.py index 308ac75795e..5d4a6831533 100644 --- a/addons/scrum/wizard/scrum_backlog_sprint.py +++ b/addons/project_scrum/wizard/project_scrum_backlog_sprint.py @@ -22,10 +22,10 @@ from osv import osv, fields from tools.translate import _ class backlog_sprint_assign(osv.osv_memory): - _name = 'backlog.assign.sprint' + _name = 'project.scrum.backlog.assign.sprint' _description = 'Assign sprint to backlogs' _columns = { - 'sprint_id': fields.many2one('scrum.sprint', 'Sprint Name', required=True), + 'sprint_id': fields.many2one('project.scrum.sprint', 'Sprint Name', required=True), 'state_open': fields.boolean('Set Open', help="Change the state of product backlogs to open if its in draft state"), 'convert_to_task': fields.boolean('Convert To Task', help="Create Task for Product Backlog") } @@ -35,8 +35,8 @@ class backlog_sprint_assign(osv.osv_memory): } def assign_sprint(self, cr, uid, ids, context=None): - backlog_obj = self.pool.get('scrum.product.backlog') - sprint_obj = self.pool.get('scrum.sprint') + backlog_obj = self.pool.get('project.scrum.product.backlog') + sprint_obj = self.pool.get('project.scrum.sprint') task = self.pool.get('project.task') backlog_ids = [] if context is None: diff --git a/addons/scrum/wizard/scrum_backlog_sprint_view.xml b/addons/project_scrum/wizard/project_scrum_backlog_sprint_view.xml index d9806d4aff0..b4942cf27a6 100644 --- a/addons/scrum/wizard/scrum_backlog_sprint_view.xml +++ b/addons/project_scrum/wizard/project_scrum_backlog_sprint_view.xml @@ -3,8 +3,8 @@ <data> <record id="view_scrum_backlog_to_sprint" model="ir.ui.view"> - <field name="name">backlog.assign.sprint.form</field> - <field name="model">backlog.assign.sprint</field> + <field name="name">project.scrum.backlog.assign.sprint.form</field> + <field name="model">project.scrum.backlog.assign.sprint</field> <field name="type">form</field> <field name="arch" type="xml"> <form string="Assign Sprint"> @@ -30,20 +30,20 @@ <record id="action_scrum_backlog_to_sprint" model="ir.actions.act_window"> <field name="name">Assign Sprint</field> <field name="type">ir.actions.act_window</field> - <field name="res_model">backlog.assign.sprint</field> + <field name="res_model">project.scrum.backlog.assign.sprint</field> <field name="view_type">form</field> <field name="view_mode">form</field> <field name="target">new</field> </record> <record model="ir.values" id="scrum_backlog_to_sprint_values"> - <field name="model_id" ref="model_scrum_product_backlog" /> + <field name="model_id" ref="model_project_scrum_product_backlog" /> <field name="object" eval="1" /> <field name="name">Assign Sprint</field> <field name="key2">client_action_multi</field> <field name="value" eval="'ir.actions.act_window,' + str(ref('action_scrum_backlog_to_sprint'))" /> <field name="key">action</field> - <field name="model">scrum.product.backlog</field> + <field name="model">project.scrum.product.backlog</field> </record> </data> diff --git a/addons/scrum/security/ir.model.access.csv b/addons/scrum/security/ir.model.access.csv deleted file mode 100644 index 76ba229e952..00000000000 --- a/addons/scrum/security/ir.model.access.csv +++ /dev/null @@ -1,9 +0,0 @@ -"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -"access_scrum_sprint","scrum.sprint","model_scrum_sprint","project.group_project_user",1,0,0,0 -"access_scrum_product_backlog","scrum.product.backlog","model_scrum_product_backlog","project.group_project_user",1,1,1,1 -"access_scrum_meeting","scrum.meeting","model_scrum_meeting","project.group_project_user",1,0,0,0 -"access_scrum_meeting_manager","scrum.meeting.manager","model_scrum_meeting","project.group_project_manager",1,1,1,1 -"access_scrum_sprint_manager","scrum.sprint.manager","model_scrum_sprint","project.group_project_manager",1,1,1,1 -"access_scrum_product_backlog_manager","scrum.product.backlog manager","model_scrum_product_backlog","project.group_project_manager",1,1,1,1 -"access_product_uom_project_manager","product.uom project manager","product.model_product_uom","project.group_project_manager",1,1,1,1 -"access_product_uom_project_user","product.uom project user","product.model_product_uom","project.group_project_user",1,0,0,0 diff --git a/addons/thunderbird/plugin/tiny_plugin-2.0.xpi b/addons/thunderbird/plugin/tiny_plugin-2.0.xpi Binary files differindex 2cba195ac62..f1ee999490d 100644 --- a/addons/thunderbird/plugin/tiny_plugin-2.0.xpi +++ b/addons/thunderbird/plugin/tiny_plugin-2.0.xpi |
