summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMustufa Rangwala <mra@mra-laptop>2010-06-26 12:39:39 +0530
committerMustufa Rangwala <mra@mra-laptop>2010-06-26 12:39:39 +0530
commit403bf5f236a76df4bdd4de374de2f3430532f281 (patch)
tree2e0f1706edde2422c3c25462a3bf51619c6df302
parentf32f30aefb7db4b9f3ebfb23b1c15ee2ca9e99c2 (diff)
parent5ee9f602a6fbcbae0531cd33908e57cfaa8edf31 (diff)
[MERGE] merge with trunk addons
bzr revid: mra@mra-laptop-20100626070939-6whcffnrj4x8ndsi
-rw-r--r--addons/account/account_unit_test.xml18
-rw-r--r--addons/account/account_view.xml2
-rw-r--r--addons/account/board_account_demo.xml6
-rw-r--r--addons/account/configurable_account_chart.xml188
-rw-r--r--addons/account/i18n/es.po11
-rw-r--r--addons/account/i18n/et.po8
-rw-r--r--addons/account/i18n/gl.po10
-rw-r--r--addons/account/i18n/zh_CN.po2
-rw-r--r--[-rwxr-xr-x]addons/account/report/account_balance_landscape.rml0
-rw-r--r--addons/account/report/account_invoice_report_view.xml80
-rw-r--r--[-rwxr-xr-x]addons/account/report/compare_account_balance.rml0
-rw-r--r--[-rwxr-xr-x]addons/account/report/voucher_print.py0
-rw-r--r--[-rwxr-xr-x]addons/account/report/voucher_print.rml0
-rw-r--r--addons/account/security/account_security.xml3
-rw-r--r--addons/account_budget/i18n/es.po2
-rw-r--r--addons/account_chart/account_chart.xml6
-rw-r--r--addons/account_coda/i18n/es.po167
-rw-r--r--addons/account_followup/wizard/account_followup_print_view.xml122
-rw-r--r--addons/account_payment/i18n/es.po2
-rw-r--r--addons/analytic/analytic.py18
-rw-r--r--addons/auction/auction_sequence.xml46
-rw-r--r--addons/auction/board_auction_demo.xml14
-rw-r--r--addons/auction/i18n/el.po506
-rw-r--r--addons/audittrail/i18n/el.po68
-rw-r--r--addons/base_action_rule/base_action_rule.py7
-rw-r--r--addons/base_contact/base_contact_demo.xml2
-rw-r--r--addons/base_module_quality/i18n/el.po2
-rw-r--r--addons/base_module_quality/i18n/es.po2
-rw-r--r--addons/base_report_creator/i18n/el.po2
-rw-r--r--addons/board_association/i18n/el.po2
-rw-r--r--addons/board_auction/i18n/el.po2
-rw-r--r--addons/board_crm_configuration/i18n/el.po2
-rw-r--r--addons/board_document/i18n/el.po2
-rw-r--r--addons/board_project/i18n/el.po2
-rw-r--r--addons/crm/board_crm_view.xml17
-rw-r--r--addons/crm/crm.py15
-rw-r--r--addons/crm/crm_action_rule.py5
-rw-r--r--addons/crm/crm_data.xml8
-rw-r--r--addons/crm/crm_lead.py100
-rw-r--r--addons/crm/crm_lead_data.xml30
-rw-r--r--addons/crm/crm_lead_menu.xml2
-rw-r--r--addons/crm/crm_lead_view.xml43
-rw-r--r--addons/crm/crm_meeting_data.xml40
-rw-r--r--addons/crm/crm_meeting_menu.xml2
-rw-r--r--addons/crm/crm_opportunity.py2
-rw-r--r--addons/crm/crm_opportunity_data.xml46
-rw-r--r--addons/crm/crm_opportunity_demo.xml2
-rw-r--r--addons/crm/crm_opportunity_menu.xml2
-rw-r--r--addons/crm/crm_opportunity_view.xml19
-rw-r--r--addons/crm/crm_phonecall_data.xml70
-rw-r--r--addons/crm/crm_phonecall_menu.xml2
-rw-r--r--addons/crm/crm_phonecall_view.xml1
-rw-r--r--addons/crm/i18n/es.po2
-rw-r--r--addons/crm/report/crm_lead_report.py8
-rw-r--r--addons/crm/report/crm_lead_report_view.xml120
-rw-r--r--addons/crm/report/crm_phonecall_report_view.xml64
-rw-r--r--addons/crm/res_partner.py17
-rw-r--r--addons/crm/res_partner_view.xml122
-rw-r--r--addons/crm/security/ir.model.access.csv15
-rw-r--r--addons/crm/wizard/crm_forward_to_partner.py152
-rw-r--r--addons/crm/wizard/crm_forward_to_partner_view.xml22
-rw-r--r--addons/crm/wizard/crm_lead_to_opportunity.py5
-rw-r--r--addons/crm/wizard/crm_send_email.py48
-rw-r--r--addons/crm/wizard/crm_send_email_view.xml11
-rw-r--r--addons/crm_claim/crm_claim_menu.xml2
-rw-r--r--addons/crm_profiling/i18n/el.po2
-rw-r--r--addons/document/__openerp__.py2
-rw-r--r--addons/document/board_document_demo.xml4
-rw-r--r--addons/document/document_view.xml4
-rw-r--r--addons/document/i18n/el.po2
-rw-r--r--addons/document/i18n/es.po2
-rw-r--r--addons/document/report/document_report.py15
-rw-r--r--addons/document/security/document_security.xml4
-rw-r--r--addons/document_webdav/i18n/el.po2
-rw-r--r--addons/email_template/email_template.py27
-rw-r--r--addons/email_template/email_template_mailbox.py1
-rw-r--r--addons/email_template/email_template_view.xml17
-rw-r--r--addons/event/board_association_demo.xml14
-rw-r--r--addons/event_project/i18n/el.po88
-rw-r--r--addons/fetchmail/fetchmail.py40
-rw-r--r--addons/hr/i18n/el.po2
-rw-r--r--addons/hr_attendance/hr_attendance.py2
-rw-r--r--addons/hr_contract/i18n/el.po2
-rw-r--r--addons/hr_expense/i18n/el.po2
-rw-r--r--addons/hr_holidays/hr_bel_holidays_2008.xml124
-rw-r--r--addons/hr_holidays/i18n/el.po2
-rw-r--r--addons/hr_payroll/i18n/et.po1439
-rw-r--r--addons/hr_recruitment/hr_recruitment.py31
-rw-r--r--addons/hr_recruitment/hr_recruitment_menu.xml2
-rw-r--r--addons/hr_timesheet/__openerp__.py2
-rw-r--r--addons/hr_timesheet/report/__init__.py3
-rw-r--r--addons/hr_timesheet/report/hr_timesheet_report.py78
-rw-r--r--addons/hr_timesheet/report/hr_timesheet_report_view.xml99
-rw-r--r--addons/hr_timesheet/report/user_timesheet.py3
-rw-r--r--addons/hr_timesheet/security/ir.model.access.csv1
-rw-r--r--addons/hr_timesheet_invoice/i18n/es.po2
-rw-r--r--addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml26
-rw-r--r--addons/hr_timesheet_sheet/i18n/el.po2
-rw-r--r--addons/hr_timesheet_sheet/report/timesheet_report_view.xml110
-rw-r--r--addons/l10n_be/account_pcmn_belgium.xml2
-rw-r--r--addons/l10n_be/fiscal_templates.xml102
-rw-r--r--addons/l10n_ch/zip_code_default.xml2
-rw-r--r--addons/l10n_ch_chart_c2c_pcg/account.xml2
-rw-r--r--addons/l10n_ch_chart_c2c_pcg/vat.xml4
-rw-r--r--addons/l10n_chart_uk_minimal/account_chart.xml39
-rw-r--r--addons/l10n_chart_uk_minimal/account_tax.xml5
-rw-r--r--addons/l10n_chart_uk_minimal/account_types.xml100
-rw-r--r--addons/l10n_fr/fiscal_templates_fr.xml2
-rw-r--r--addons/l10n_fr/l10n_fr_pcg_taxes.xml3
-rw-r--r--addons/l10n_fr/pcg.xml2
-rw-r--r--addons/l10n_fr/tax.xml4
-rw-r--r--addons/l10n_in/i18n/et.po95
-rw-r--r--addons/mail_gateway/__init__.py5
-rw-r--r--addons/mail_gateway/__openerp__.py1
-rw-r--r--addons/mail_gateway/mail_gateway.py228
-rw-r--r--addons/mail_gateway/mail_gateway_view.xml118
-rw-r--r--addons/mail_gateway/res_partner.py35
-rw-r--r--addons/mail_gateway/res_partner_view.xml20
-rwxr-xr-xaddons/mail_gateway/scripts/openerp_mailgate/openerp_mailgate.py27
-rw-r--r--addons/marketing/__openerp__.py7
-rw-r--r--addons/marketing/marketing_view.xml5
-rw-r--r--addons/marketing/security/marketing_security.xml10
-rw-r--r--addons/marketing_campaign/__init__.py1
-rw-r--r--addons/marketing_campaign/__openerp__.py7
-rw-r--r--addons/marketing_campaign/marketing_campaign.py8
-rw-r--r--addons/marketing_campaign/marketing_campaign_data.xml2
-rw-r--r--addons/marketing_campaign/marketing_campaign_view.xml10
-rw-r--r--addons/marketing_campaign/marketing_campaign_workflow.xml8
-rw-r--r--addons/marketing_campaign/res_partner.py37
-rw-r--r--addons/marketing_campaign/res_partner_view.xml20
-rw-r--r--addons/marketing_campaign/security/ir.model.access.csv1
-rw-r--r--addons/mrp/board_manufacturing_demo.xml4
-rw-r--r--addons/mrp/i18n/zh_CN.po2
-rw-r--r--addons/mrp_operations/i18n/es.po2
-rw-r--r--addons/olap/i18n/es.po2
-rw-r--r--addons/olap/i18n/et.po16
-rw-r--r--addons/olap_crm/olap_crm.xml2
-rw-r--r--addons/olap_sale/olap_sale.xml2
-rw-r--r--addons/partner_geo_assign/partner_geo_assign.py50
-rw-r--r--addons/partner_geo_assign/res_partner_view.xml18
-rw-r--r--addons/point_of_sale/i18n/es.po2
-rw-r--r--addons/point_of_sale/i18n/hi.po973
-rw-r--r--addons/product_expiry/i18n/et.po165
-rw-r--r--addons/product_manufacturer/i18n/et.po106
-rw-r--r--addons/project/__init__.py1
-rw-r--r--addons/project/__openerp__.py1
-rw-r--r--addons/project/board_project_demo.xml4
-rw-r--r--addons/project/i18n/es.po2
-rw-r--r--addons/project/project_mailgate.py2
-rw-r--r--addons/project/project_view.xml6
-rw-r--r--addons/project/res_partner.py33
-rw-r--r--addons/project/res_partner_view.xml25
-rw-r--r--addons/project/security/ir.model.access.csv2
-rw-r--r--addons/project_issue/__openerp__.py2
-rw-r--r--addons/project_issue/project_issue.py42
-rw-r--r--addons/project_issue/project_issue_demo.xml526
-rw-r--r--addons/project_issue/project_issue_menu.xml2
-rw-r--r--addons/project_issue/project_issue_view.xml2
-rw-r--r--addons/project_timesheet/i18n/es.po2
-rw-r--r--addons/purchase/i18n/el.po8
-rw-r--r--addons/report_analytic_planning/i18n/es.po2
-rw-r--r--addons/report_task/i18n/es.po2
-rw-r--r--addons/sale/board_sale_demo.xml6
-rw-r--r--addons/sale/i18n/es.po2
-rw-r--r--addons/sale/sale_view.xml3
-rw-r--r--addons/sale_crm/__openerp__.py3
-rw-r--r--addons/sale_crm/board_sale_crm_view.xml94
-rw-r--r--addons/sale_crm/sale_crm_view.xml2
-rw-r--r--addons/sale_crm/sale_crm_wizard.xml14
-rw-r--r--addons/sale_crm/wizard/__init__.py2
-rw-r--r--addons/sale_crm/wizard/crm_make_sale.py183
-rw-r--r--addons/sale_crm/wizard/crm_make_sale_view.xml43
-rw-r--r--addons/sale_crm/wizard/makesale.py179
-rw-r--r--addons/sale_margin/i18n/et.po370
-rw-r--r--addons/scrum/scrum.py13
-rw-r--r--addons/scrum/scrum_view.xml14
-rw-r--r--addons/stock/i18n/es.po2
-rw-r--r--addons/stock/stock.py19
-rw-r--r--addons/stock/stock_workflow.xml5
-rw-r--r--addons/stock_location/i18n/es.po2
-rwxr-xr-xaddons/wiki/test/wiki_test00.yml2
-rw-r--r--addons/wiki/wizard/wiki_create_menu.py9
-rw-r--r--addons/wiki_faq/wiki_faq.xml2
-rw-r--r--addons/wiki_quality_manual/wiki_quality_manual.xml2
184 files changed, 6146 insertions, 2199 deletions
diff --git a/addons/account/account_unit_test.xml b/addons/account/account_unit_test.xml
index 95b0a544c62..77b461a6fdd 100644
--- a/addons/account/account_unit_test.xml
+++ b/addons/account/account_unit_test.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="1">
+ <data>
<!-- This file must be loaded _after_ account_demo.xml ! -->
<record id="test_invoice_1" model="account.invoice">
<field name="currency_id" ref="base.EUR"/>
@@ -44,14 +44,14 @@
<test expr="state">open</test>
</assert>
<function model="account.invoice" name="pay_and_reconcile">
- <!-- ids = --> <value eval="[ref('test_invoice_1')]"/>
- <!-- pay_amount = --> <value eval="1850"/>
- <!-- pay_account_id = --> <value eval="ref('cash')"/>
- <!-- period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
- <!-- pay_journal_id = --> <value eval="ref('bank_journal')"/>
- <!-- writeoff_acc_id = --> <value eval="ref('cash')"/>
- <!-- writeoff_period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
- <!-- writeoff_journal_id = --> <value eval="ref('bank_journal')"/>
+ <!-- ids = --> <value eval="[ref('test_invoice_1')]"/>
+ <!-- pay_amount = --> <value eval="1850"/>
+ <!-- pay_account_id = --> <value eval="ref('cash')"/>
+ <!-- period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
+ <!-- pay_journal_id = --> <value eval="ref('bank_journal')"/>
+ <!-- writeoff_acc_id = --> <value eval="ref('cash')"/>
+ <!-- writeoff_period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
+ <!-- writeoff_journal_id = --> <value eval="ref('bank_journal')"/>
</function>
<assert id="test_invoice_1" model="account.invoice" string="Test invoice 1 is now paid">
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index aeb7172aafc..c241fe8063d 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -1760,8 +1760,6 @@
<act_window domain="[('journal_id', '=', active_id)]" id="act_account_journal_2_account_move_line" name="Entry lines" res_model="account.move.line" src_model="account.journal"/>
- <act_window domain="[('partner_id', '=', active_id), ('account_id.type', 'in', ['receivable', 'payable']), ('reconcile_id','=',False)]" id="act_account_partner_account_move_unreconciled" name="Unreconciled Receivables &amp; Payables" res_model="account.move.line" src_model="res.partner"/>
-
<act_window domain="[('partner_id', '=', active_id), ('account_id.type', 'in', ['receivable', 'payable'])]" id="act_account_partner_account_move_all" name="Receivables &amp; Payables" res_model="account.move.line" src_model="res.partner"/>
<act_window domain="[('partner_id', '=', active_id)]" id="act_account_partner_account_move" name="All Account Entries" res_model="account.move.line" src_model="res.partner"/>
diff --git a/addons/account/board_account_demo.xml b/addons/account/board_account_demo.xml
index 98eb64cb411..cfcebdbcdf1 100644
--- a/addons/account/board_account_demo.xml
+++ b/addons/account/board_account_demo.xml
@@ -5,16 +5,16 @@
Administrator shortcut
Demo user startup menu
-->
- <record id="sc_account_dash" model="ir.ui.view_sc">
+ <!-- <record id="sc_account_dash" model="ir.ui.view_sc">
<field name="name">Accounting dashboard</field>
<field name="user_id" ref="base.user_root"/>
<field name="resource">ir.ui.menu</field>
<field name="sequence">0</field>
<field name="res_id" ref="menu_board_account"/>
- </record>
+ </record> -->
<record id="base.user_root" model="res.users">
<field name="action_id" ref="open_board_account"/>
</record>
-
+
</data>
</openerp>
diff --git a/addons/account/configurable_account_chart.xml b/addons/account/configurable_account_chart.xml
index 658cf2907af..b9e063dc509 100644
--- a/addons/account/configurable_account_chart.xml
+++ b/addons/account/configurable_account_chart.xml
@@ -1,72 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="1">
-
- <!-- Types -->
- <record model="account.account.type" id="conf_account_type_receivable" >
- <field name="name">Receivable</field>
- <field name="code">receivable</field>
- <field name="close_method">unreconciled</field>
- </record>
-
- <record model="account.account.type" id="conf_account_type_payable" >
- <field name="name">Payable</field>
- <field name="code">payable</field>
- <field name="close_method">unreconciled</field>
- </record>
-
- <record model="account.account.type" id="conf_account_type_view">
- <field name="name">View</field>
- <field name="code">view</field>
- <field name="close_method">none</field>
- </record>
-
- <record model="account.account.type" id="conf_account_type_income" >
- <field name="name">Income</field>
- <field name="code">income</field>
- <field name="close_method">none</field>
- </record>
-
- <record model="account.account.type" id="conf_account_type_expense">
- <field name="name">Expense</field>
- <field name="code">expense</field>
- <field name="close_method">none</field>
- </record>
-
- <record model="account.account.type" id="conf_account_type_tax">
- <field name="name">Tax</field>
- <field name="code">tax</field>
- <field name="close_method">unreconciled</field>
- </record>
-
- <record model="account.account.type" id="conf_account_type_cash">
- <field name="name">Cash</field>
- <field name="code">cash</field>
- <field name="close_method">balance</field>
- </record>
-
- <record model="account.account.type" id="conf_account_type_asset">
- <field name="name">Asset</field>
- <field name="code">asset</field>
- <field name="close_method">balance</field>
- </record>
-
- <record model="account.account.type" id="conf_account_type_equity">
- <field name="name">Equity</field>
- <field name="code">equity</field>
- <field name="close_method">balance</field>
- </record>
-
- <record model="account.account.type" id="conf_account_type_bnk">
- <field name="name">Bank</field>
- <field name="code">bank</field>
- <field name="close_method">balance</field>
- </record>
- <record model="account.account.type" id="conf_account_type_chk">
- <field name="name">Check</field>
- <field name="code">check</field>
- <field name="close_method">balance</field>
- </record>
+ <data>
+
+ <!-- Types -->
+ <record model="account.account.type" id="conf_account_type_receivable" >
+ <field name="name">Receivable</field>
+ <field name="code">receivable</field>
+ <field name="close_method">unreconciled</field>
+ </record>
+
+ <record model="account.account.type" id="conf_account_type_payable" >
+ <field name="name">Payable</field>
+ <field name="code">payable</field>
+ <field name="close_method">unreconciled</field>
+ </record>
+
+ <record model="account.account.type" id="conf_account_type_view">
+ <field name="name">View</field>
+ <field name="code">view</field>
+ <field name="close_method">none</field>
+ </record>
+
+ <record model="account.account.type" id="conf_account_type_income" >
+ <field name="name">Income</field>
+ <field name="code">income</field>
+ <field name="close_method">none</field>
+ </record>
+
+ <record model="account.account.type" id="conf_account_type_expense">
+ <field name="name">Expense</field>
+ <field name="code">expense</field>
+ <field name="close_method">none</field>
+ </record>
+
+ <record model="account.account.type" id="conf_account_type_tax">
+ <field name="name">Tax</field>
+ <field name="code">tax</field>
+ <field name="close_method">unreconciled</field>
+ </record>
+
+ <record model="account.account.type" id="conf_account_type_cash">
+ <field name="name">Cash</field>
+ <field name="code">cash</field>
+ <field name="close_method">balance</field>
+ </record>
+
+ <record model="account.account.type" id="conf_account_type_asset">
+ <field name="name">Asset</field>
+ <field name="code">asset</field>
+ <field name="close_method">balance</field>
+ </record>
+
+ <record model="account.account.type" id="conf_account_type_equity">
+ <field name="name">Equity</field>
+ <field name="code">equity</field>
+ <field name="close_method">balance</field>
+ </record>
+
+ <record model="account.account.type" id="conf_account_type_bnk">
+ <field name="name">Bank</field>
+ <field name="code">bank</field>
+ <field name="close_method">balance</field>
+ </record>
+ <record model="account.account.type" id="conf_account_type_chk">
+ <field name="name">Check</field>
+ <field name="code">check</field>
+ <field name="close_method">balance</field>
+ </record>
@@ -82,7 +82,7 @@
<!-- Balance Sheet -->
<record id="conf_bal" model="account.account.template">
- <field name="code">1</field>
+ <field name="code">1</field>
<field name="name">Balance Sheet</field>
<field ref="conf_chart0" name="parent_id"/>
<field name="type">view</field>
@@ -90,7 +90,7 @@
</record>
<record id="conf_fas" model="account.account.template">
- <field name="code">10</field>
+ <field name="code">10</field>
<field name="name">Fixed Assets</field>
<field ref="conf_bal" name="parent_id"/>
<field name="type">view</field>
@@ -98,7 +98,7 @@
</record>
<record id="conf_xfa" model="account.account.template">
- <field name="code">100</field>
+ <field name="code">100</field>
<field name="name">Fixed Asset Account</field>
<field ref="conf_fas" name="parent_id"/>
<field name="type">other</field>
@@ -106,7 +106,7 @@
</record>
<record id="conf_nca" model="account.account.template">
- <field name="code">11</field>
+ <field name="code">11</field>
<field name="name">Net Current Assets</field>
<field ref="conf_bal" name="parent_id"/>
<field name="type">view</field>
@@ -114,9 +114,9 @@
</record>
<record id="conf_cas" model="account.account.template">
- <field name="code">110</field>
+ <field name="code">110</field>
<field name="name">Current Assets</field>
- <field ref="conf_nca" name="parent_id"/>
+ <field ref="conf_nca" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
@@ -143,7 +143,7 @@
</record> -->
<record id="conf_ova" model="account.account.template">
- <field name="code">1103</field>
+ <field name="code">1103</field>
<field name="name">Output VAT</field>
<field ref="conf_cas" name="parent_id"/>
<field name="type">other</field>
@@ -151,7 +151,7 @@
</record>
<record id="conf_bnk" model="account.account.template">
- <field name="code">1104</field>
+ <field name="code">1104</field>
<field name="name">Bank Current Account</field>
<field ref="conf_cas" name="parent_id"/>
<field name="type">view</field>
@@ -167,7 +167,7 @@
</record>
<record id="conf_cli" model="account.account.template">
- <field name="code">111</field>
+ <field name="code">111</field>
<field name="name">Current Liabilities</field>
<field ref="conf_nca" name="parent_id"/>
<field name="type">view</field>
@@ -188,7 +188,7 @@
</record>-->
<record id="conf_iva" model="account.account.template">
- <field name="code">1112</field>
+ <field name="code">1112</field>
<field name="name">Input VAT</field>
<field ref="conf_cli" name="parent_id"/>
<field name="type">other</field>
@@ -198,7 +198,7 @@
<!-- Profit and Loss -->
<record id="conf_gpf" model="account.account.template">
- <field name="code">2</field>
+ <field name="code">2</field>
<field name="name">Profit and Loss</field>
<field ref="conf_chart0" name="parent_id"/>
<field name="type">view</field>
@@ -206,7 +206,7 @@
</record>
<record id="conf_rev" model="account.account.template">
- <field name="code">20</field>
+ <field name="code">20</field>
<field name="name">Revenue</field>
<field ref="conf_gpf" name="parent_id"/>
<field name="type">view</field>
@@ -226,7 +226,7 @@
</record> -->
<record id="conf_cos" model="account.account.template">
- <field name="code">21</field>
+ <field name="code">21</field>
<field name="name">Cost of Sales</field>
<field ref="conf_gpf" name="parent_id"/>
<field name="type">view</field>
@@ -242,7 +242,7 @@
</record>
<record id="conf_ovr" model="account.account.template">
- <field name="code">22</field>
+ <field name="code">22</field>
<field name="name">Overheads</field>
<field ref="conf_gpf" name="parent_id"/>
<field name="type">view</field>
@@ -381,22 +381,22 @@
<field name="parent_id" ref="vat_code_base_sales"/>
</record>
- <record id="configurable_chart_template" model="account.chart.template">
+ <record id="configurable_chart_template" model="account.chart.template">
<field name="name">Configurable Account Chart Template</field>
<field name="account_root_id" ref="conf_chart0"/>
<field name="tax_code_root_id" ref="vat_code_chart_root"/>
- <field name="bank_account_view_id" ref="conf_bnk"/>
+ <field name="bank_account_view_id" ref="conf_bnk"/>
<field name="property_account_receivable" ref="conf_a_recv"/>
<field name="property_account_payable" ref="conf_a_pay"/>
<field name="property_account_expense_categ" ref="conf_a_expense"/>
<field name="property_account_income_categ" ref="conf_a_sale"/>
</record>
- <!-- VAT Codes -->
+ <!-- VAT Codes -->
<!-- Purchases + Input VAT -->
<record id="ivats" model="account.tax.template">
- <field name="chart_template_id" ref="configurable_chart_template"/>
+ <field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">IVAT S</field>
<field eval="0.15" name="amount"/>
<field name="type">percent</field>
@@ -410,7 +410,7 @@
</record>
<record id="ivatr" model="account.tax.template">
- <field name="chart_template_id" ref="configurable_chart_template"/>
+ <field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">IVAT R</field>
<field eval="0.005" name="amount"/>
<field name="type">percent</field>
@@ -424,7 +424,7 @@
</record>
<record id="ivatz" model="account.tax.template">
- <field name="chart_template_id" ref="configurable_chart_template"/>
+ <field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">IVAT Z</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
@@ -434,7 +434,7 @@
</record>
<record id="ivatx" model="account.tax.template">
- <field name="chart_template_id" ref="configurable_chart_template"/>
+ <field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">IVAT X</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
@@ -444,7 +444,7 @@
</record>
<record id="ivato" model="account.tax.template">
- <field name="chart_template_id" ref="configurable_chart_template"/>
+ <field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">IVAT O</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
@@ -456,7 +456,7 @@
<!-- Sales + Output VAT -->
<record id="ovats" model="account.tax.template">
- <field name="chart_template_id" ref="configurable_chart_template"/>
+ <field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">OVAT S</field>
<field eval="0.15" name="amount"/>
<field name="type">percent</field>
@@ -470,7 +470,7 @@
</record>
<record id="ovatr" model="account.tax.template">
- <field name="chart_template_id" ref="configurable_chart_template"/>
+ <field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">OVAT R</field>
<field eval="0.005" name="amount"/>
<field name="type">percent</field>
@@ -484,7 +484,7 @@
</record>
<record id="ovatz" model="account.tax.template">
- <field name="chart_template_id" ref="configurable_chart_template"/>
+ <field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">OVAT Z</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
@@ -494,7 +494,7 @@
</record>
<record id="ovatx" model="account.tax.template">
- <field name="chart_template_id" ref="configurable_chart_template"/>
+ <field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">OVAT X</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
@@ -504,7 +504,7 @@
</record>
<record id="ovato" model="account.tax.template">
- <field name="chart_template_id" ref="configurable_chart_template"/>
+ <field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">OVAT O</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
diff --git a/addons/account/i18n/es.po b/addons/account/i18n/es.po
index 4779ae32dd5..f576c8ffa45 100644
--- a/addons/account/i18n/es.po
+++ b/addons/account/i18n/es.po
@@ -7,14 +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-06-23 17:24+0000\n"
-"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
-"<jesteve@zikzakmedia.com>\n"
+"PO-Revision-Date: 2010-06-24 10:03+0000\n"
+"Last-Translator: Borja López Soilán (Pexego) <borjals@pexego.es>\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-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -806,7 +805,7 @@ msgstr "Cuenta de la empresa"
#. module: account
#: wizard_view:account.subscription.generate,init:0
msgid "Generate entries before:"
-msgstr "Generar asientos antes:"
+msgstr "Generar asientos hasta:"
#. module: account
#: rml:account.analytic.account.cost_ledger:0
@@ -3680,7 +3679,7 @@ msgstr ""
#: wizard_field:account.invoice.pay,addendum,comment:0
#: wizard_field:account.invoice.pay,init,name:0
msgid "Entry Name"
-msgstr "Núm. asiento"
+msgstr "Descripción"
#. module: account
#: help:account.invoice,account_id:0
diff --git a/addons/account/i18n/et.po b/addons/account/i18n/et.po
index 48ddc147633..c99f2249ff4 100644
--- a/addons/account/i18n/et.po
+++ b/addons/account/i18n/et.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-05-09 18:34+0000\n"
+"PO-Revision-Date: 2010-06-25 18:22+0000\n"
"Last-Translator: lyyser <logard.1961@gmail.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:04+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -466,7 +466,7 @@ msgstr "Panga võrdlus"
#. module: account
#: rml:account.invoice:0
msgid "Disc.(%)"
-msgstr ""
+msgstr "Allah. (%)"
#. module: account
#: rml:account.general.ledger:0
@@ -732,7 +732,7 @@ msgstr "Välja nimi"
#: field:account.tax.code,sign:0
#: field:account.tax.code.template,sign:0
msgid "Sign for parent"
-msgstr ""
+msgstr "Logi vanemana"
#. module: account
#: field:account.fiscalyear,end_journal_period_id:0
diff --git a/addons/account/i18n/gl.po b/addons/account/i18n/gl.po
index 9ae3edbd1f1..28939b7d6ac 100644
--- a/addons/account/i18n/gl.po
+++ b/addons/account/i18n/gl.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-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-05-14 17:04+0000\n"
+"PO-Revision-Date: 2010-06-24 09:57+0000\n"
"Last-Translator: Borja López Soilán (Pexego) <borjals@pexego.es>\n"
"Language-Team: Galician <gl@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-06-22 04:04+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -2047,7 +2047,7 @@ msgstr ""
#. module: account
#: field:account.journal,invoice_sequence_id:0
msgid "Invoice Sequence"
-msgstr ""
+msgstr "Secuencia de factura"
#. module: account
#: wizard_view:account.automatic.reconcile,init:0
@@ -3597,7 +3597,7 @@ msgstr ""
#: wizard_field:account.invoice.pay,addendum,comment:0
#: wizard_field:account.invoice.pay,init,name:0
msgid "Entry Name"
-msgstr ""
+msgstr "Descripción"
#. module: account
#: help:account.invoice,account_id:0
@@ -5064,7 +5064,7 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_fiscalyear_seq
msgid "Maintains Invoice sequences with Fiscal Year"
-msgstr ""
+msgstr "Mantén secuencias de facturas con exercicio fiscal"
#. module: account
#: selection:account.account.balance.report,checktype,display_account:0
diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po
index 99660f05218..7dba566772d 100644
--- a/addons/account/i18n/zh_CN.po
+++ b/addons/account/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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
diff --git a/addons/account/report/account_balance_landscape.rml b/addons/account/report/account_balance_landscape.rml
index 13a00655d5e..13a00655d5e 100755..100644
--- a/addons/account/report/account_balance_landscape.rml
+++ b/addons/account/report/account_balance_landscape.rml
diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml
index 448f2abaf6d..e3f1321d02f 100644
--- a/addons/account/report/account_invoice_report_view.xml
+++ b/addons/account/report/account_invoice_report_view.xml
@@ -18,8 +18,6 @@
<field name="product_id" invisible="1"/>
<field name="uom_name" invisible="not context.get('set_visible',False)"/>
<field name="categ_id" invisible="1"/>
- <field name="nbr" sum="# of Lines"/>
- <field name="product_qty"/>
<field name="state" invisible="1"/>
<field name="period_id" invisible="1"/>
<field name="currency_id" invisible="1"/>
@@ -29,6 +27,8 @@
<field name="address_invoice_id" invisible="1"/>
<field name="partner_bank" invisible="1"/>
<field name="account_id" invisible="1"/>
+ <field name="nbr" sum="# of Lines"/>
+ <field name="product_qty"/>
<field name="reconciled" sum="# Reconciled"/>
<field name="price_average" avg="Average Price"/>
<field name="price_total" sum="Total Price"/>
@@ -57,31 +57,31 @@
<field name="arch" type="xml">
<search string="Invoices Analysis">
<group col="10" colspan="12">
- <filter icon="terp-go-year" string=" 365 Days "
- domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')),('date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
- help="Invoices of last 365 days"/>
- <filter icon="terp-go-month" string=" 30 Days "
- name="month"
- domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
- help="Invoices of last 30 days"/>
- <filter icon="terp-go-week"
- string=" 7 Days "
- separator="1"
- domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
- help="Invoices during last 7 days"/>
- <separator orientation="vertical"/>
+ <filter icon="terp-go-year" string=" 365 Days "
+ domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')),('date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
+ help="Invoices of last 365 days"/>
+ <filter icon="terp-go-month" string=" 30 Days "
+ name="month"
+ domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
+ help="Invoices of last 30 days"/>
+ <filter icon="terp-go-week"
+ string=" 7 Days "
+ separator="1"
+ domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
+ help="Invoices during last 7 days"/>
+ <separator orientation="vertical"/>
<filter string="Current"
- icon="terp-check"
- domain="[('state','in',('draft','open'))]"
- help = "Draft and Open Invoices"/>
- <filter string="Pro-forma"
- icon="terp-check"
- domain="[('state','=','proforma'),('state','=','proforma2')]"
- help = "Pro-forma Invoices"/>
- <filter string="Current"
- domain="[('state', '=' ,'open')]"
- help = "open Invoices"/>
- <filter string="Done"
+ icon="terp-check"
+ domain="[('state','in',('draft','open'))]"
+ help = "Draft and Open Invoices"/>
+ <filter string="Pro-forma"
+ icon="terp-check"
+ domain="[('state','=','proforma'),('state','=','proforma2')]"
+ help = "Pro-forma Invoices"/>
+ <filter string="Current"
+ domain="[('state', '=' ,'open')]"
+ help = "open Invoices"/>
+ <filter string="Done"
icon="terp-dialog-close"
domain="[('state','=','paid')]"
help = "Done Invoices"/>
@@ -89,14 +89,14 @@
<field name="partner_id"/>
<field name="user_id" widget="selection">
<filter icon="terp-dolar"
- string="My Invoices"
- help="My Invoices"
- domain="[('user_id','=',uid)]"/>
+ string="My Invoices"
+ help="My Invoices"
+ domain="[('user_id','=',uid)]"/>
</field>
- </group>
- <newline/>
+ </group>
+ <newline/>
<group expand="0" string="Group By...">
- <filter string="Salesman" name='User' icon="terp-personal" context="{'group_by':'user_id'}"/>
+ <filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True}"/>
<separator orientation="vertical"/>
@@ -111,9 +111,9 @@
<separator orientation="vertical"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<newline/>
- <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/>
- <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
- <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
+ <filter string="Day" name="day" icon="terp-go-today" context="{'group_by':'day'}"/>
+ <filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}"/>
+ <filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group>
<newline/>
<group expand="0" string="Extended options..." groups="base.group_extended">
@@ -139,11 +139,19 @@
<field name="res_model">account.invoice.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
- <field name="context">{'search_default_month':1,'search_default_User':1,'group_by_no_leaf':1,'group_by':[]}</field>
+ <field name="context">{'search_default_month':1,'search_default_product':1,'group_by_no_leaf':1,'group_by':[]}</field>
<field name="search_view_id" ref="view_account_invoice_report_search"/>
</record>
<menuitem action="action_account_invoice_report_all" id="menu_action_account_invoice_report_all" parent="account.menu_finance_statistic_report_statement" sequence="0"/>
+ <act_window
+ domain="[('partner_id', '=', active_id)]"
+ id="act_account_invoice_partner_relation"
+ name="Monthly Turnover"
+ context="{'search_default_month':1,'search_default_user':1,'group_by_no_leaf':1,'group_by':[]}"
+ res_model="account.invoice.report"
+ src_model="res.partner"/>
+
</data>
</openerp>
diff --git a/addons/account/report/compare_account_balance.rml b/addons/account/report/compare_account_balance.rml
index ac17ea930a8..ac17ea930a8 100755..100644
--- a/addons/account/report/compare_account_balance.rml
+++ b/addons/account/report/compare_account_balance.rml
diff --git a/addons/account/report/voucher_print.py b/addons/account/report/voucher_print.py
index 829f0f7e397..829f0f7e397 100755..100644
--- a/addons/account/report/voucher_print.py
+++ b/addons/account/report/voucher_print.py
diff --git a/addons/account/report/voucher_print.rml b/addons/account/report/voucher_print.rml
index 795fd678645..795fd678645 100755..100644
--- a/addons/account/report/voucher_print.rml
+++ b/addons/account/report/voucher_print.rml
diff --git a/addons/account/security/account_security.xml b/addons/account/security/account_security.xml
index 67f3bf65f61..391d7371bbe 100644
--- a/addons/account/security/account_security.xml
+++ b/addons/account/security/account_security.xml
@@ -1,4 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?><openerp><data noupdate="0">
+<?xml version="1.0" encoding="utf-8"?>
+<openerp><data>
<record id="group_account_invoice" model="res.groups">
<field name="name">Finance / Invoice</field>
diff --git a/addons/account_budget/i18n/es.po b/addons/account_budget/i18n/es.po
index 22fe5f58d28..5dff8e386d5 100644
--- a/addons/account_budget/i18n/es.po
+++ b/addons/account_budget/i18n/es.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_budget
diff --git a/addons/account_chart/account_chart.xml b/addons/account_chart/account_chart.xml
index 0a887345ea9..13935f46763 100644
--- a/addons/account_chart/account_chart.xml
+++ b/addons/account_chart/account_chart.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="True">
-
+ <data>
+
<!-- deactivate minimal account -->
<record id="account.minimal_0" model="account.account">
<field eval="False" name="active"/>
@@ -21,6 +21,6 @@
<record id="account.a_sale" model="account.account">
<field eval="False" name="active"/>
</record>
-
+
</data>
</openerp>
diff --git a/addons/account_coda/i18n/es.po b/addons/account_coda/i18n/es.po
new file mode 100644
index 00000000000..16ee0e94aab
--- /dev/null
+++ b/addons/account_coda/i18n/es.po
@@ -0,0 +1,167 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-24 13:11+0000\n"
+"PO-Revision-Date: 2010-06-24 09:42+0000\n"
+"Last-Translator: Borja López Soilán (Pexego) <borjals@pexego.es>\n"
+"Language-Team: Spanish <es@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-06-26 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: account_coda
+#: field:account.coda,journal_id:0
+#: wizard_field:account.coda_import,init,journal_id:0
+msgid "Bank Journal"
+msgstr "Diario bancario"
+
+#. module: account_coda
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"¡El objeto debe empezar con x_ y no puede contener ningún carácter especial!"
+
+#. module: account_coda
+#: wizard_field:account.coda_import,extraction,note:0
+msgid "Log"
+msgstr "Registro"
+
+#. module: account_coda
+#: wizard_button:account.coda_import,extraction,open:0
+msgid "_Open Statement"
+msgstr ""
+
+#. module: account_coda
+#: model:ir.module.module,shortdesc:account_coda.module_meta_information
+msgid "Account CODA"
+msgstr ""
+
+#. module: account_coda
+#: field:account.coda,name:0
+msgid "Coda file"
+msgstr ""
+
+#. module: account_coda
+#: wizard_view:account.coda_import,init:0
+msgid "Clic on 'New' to select your file :"
+msgstr ""
+
+#. module: account_coda
+#: model:ir.actions.wizard,name:account_coda.wizard_account_coda_import
+msgid "Import Coda File"
+msgstr ""
+
+#. module: account_coda
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nombre de modelo inválido en la definición de acción."
+
+#. module: account_coda
+#: field:account.coda,note:0
+msgid "Import log"
+msgstr "Registro de importación"
+
+#. module: account_coda
+#: wizard_field:account.coda_import,init,def_receivable:0
+msgid "Default receivable Account"
+msgstr "Cuenta a recibir por defecto"
+
+#. module: account_coda
+#: model:ir.module.module,description:account_coda.module_meta_information
+msgid ""
+"Module provides functionality to import\n"
+" bank statements from .csv file.\n"
+" Import coda file wizard is used to import bank statements."
+msgstr ""
+
+#. module: account_coda
+#: wizard_button:account.coda_import,extraction,end:0
+msgid "_Close"
+msgstr "_Cerrar"
+
+#. module: account_coda
+#: field:account.coda,statement_id:0
+msgid "Generated Bank Statement"
+msgstr "Extracto bancario generado"
+
+#. module: account_coda
+#: view:account.coda:0
+#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
+#: model:ir.actions.act_window,name:account_coda.action_account_coda
+msgid "Coda import"
+msgstr ""
+
+#. module: account_coda
+#: field:account.coda,user_id:0
+msgid "User"
+msgstr "Usuario"
+
+#. module: account_coda
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "¡XML inválido para la estructura de la vista!"
+
+#. module: account_coda
+#: model:ir.model,name:account_coda.model_account_coda
+msgid "coda for an Account"
+msgstr ""
+
+#. module: account_coda
+#: wizard_field:account.coda_import,init,def_payable:0
+msgid "Default Payable Account"
+msgstr "Cuenta a pagar por defecto"
+
+#. module: account_coda
+#: model:ir.ui.menu,name:account_coda.menu_account_coda
+msgid "Coda Statements"
+msgstr ""
+
+#. module: account_coda
+#: model:ir.ui.menu,name:account_coda.menu_account_coda_wizard
+msgid "Import Coda Statements"
+msgstr ""
+
+#. module: account_coda
+#: wizard_button:account.coda_import,init,extraction:0
+msgid "_Ok"
+msgstr "_Aceptar"
+
+#. module: account_coda
+#: wizard_view:account.coda_import,extraction:0
+#: wizard_view:account.coda_import,init:0
+msgid "Import Coda Statement"
+msgstr ""
+
+#. module: account_coda
+#: field:account.bank.statement,coda_id:0
+msgid "Coda"
+msgstr ""
+
+#. module: account_coda
+#: wizard_view:account.coda_import,extraction:0
+msgid "Results :"
+msgstr "Resultados :"
+
+#. module: account_coda
+#: wizard_field:account.coda_import,init,coda:0
+msgid "Coda File"
+msgstr ""
+
+#. module: account_coda
+#: field:account.coda,date:0
+msgid "Import Date"
+msgstr "Fecha de importación"
+
+#. module: account_coda
+#: wizard_view:account.coda_import,init:0
+msgid "Select your bank journal :"
+msgstr "Seleccione su diario bancario :"
diff --git a/addons/account_followup/wizard/account_followup_print_view.xml b/addons/account_followup/wizard/account_followup_print_view.xml
index 021fc52f63c..9e0c34c8bf5 100644
--- a/addons/account_followup/wizard/account_followup_print_view.xml
+++ b/addons/account_followup/wizard/account_followup_print_view.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="0">
+ <data noupdate="0">
<!--<wizard string="Send followups"
name="account_followup.followup.print.all"
@@ -13,23 +13,23 @@
type="wizard" />-->
- <record id="view_account_followup_print" model="ir.ui.view">
+ <record id="view_account_followup_print" model="ir.ui.view">
<field name="name">account.followup.print.form</field>
<field name="model">account.followup.print</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Send followups">
- <group col="4" colspan="6">
- <field name="followup_id"/>
- <field name="date"/>
- <newline/>
- </group>
- <separator colspan="4"/>
- <group col="2" colspan="4">
- <button special="cancel" string="Cancel" icon='gtk-cancel'/>
- <button name="do_continue" string="Continue" colspan="1" type="object" icon="gtk-ok"/>
- </group>
- </form>
+ <form string="Send followups">
+ <group col="4" colspan="6">
+ <field name="followup_id"/>
+ <field name="date"/>
+ <newline/>
+ </group>
+ <separator colspan="4"/>
+ <group col="2" colspan="4">
+ <button special="cancel" string="Cancel" icon='gtk-cancel'/>
+ <button name="do_continue" string="Continue" colspan="1" type="object" icon="gtk-ok"/>
+ </group>
+ </form>
</field>
</record>
@@ -42,7 +42,7 @@
<field name="target">new</field>
</record>
- <record model="ir.values" id="account_followup_print_values">
+ <record model="ir.values" id="account_followup_print_values">
<field name="model_id" ref="model_account_followup_followup" />
<field name="object" eval="1" />
<field name="name">Send followups</field>
@@ -60,61 +60,61 @@
<!-- Screen2 -->
- <record id="view_account_followup_print_all" model="ir.ui.view">
+ <record id="view_account_followup_print_all" model="ir.ui.view">
<field name="name">account.followup.print.all.form</field>
<field name="model">account.followup.print.all</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Send followups">
- <group col="4" colspan="6">
- <notebook>
- <page string="Partner Selection">
- <separator string="Select partners to remind" colspan="4"/>
- <field name="partner_ids" colspan="4" nolabel="1"/>
- </page>
- <page string="Email Settings">
- <field name="email_conf" colspan="4"/>
- <field name="partner_lang" colspan="4"/>
- <field name="email_subject" colspan="4"/>
- <!--<separator string="Email body" colspan="4" attrs="{'readonly':[('partner_lang','=',True)]}"/>-->
- <separator string="Email body" colspan="4" />
- <field name="email_body" colspan="4" nolabel="1"/>
- <separator string="Legend" colspan="4"/>
- <label string="%%(partner_name)s: Partner name" colspan="2"/>
- <label string="%%(user_signature)s: User name" colspan="2"/>
- <label string="%%(followup_amount)s: Total Amount Due" colspan="2"/>
- <label string="%%(date)s: Current Date" colspan="2"/>
- <label string="%%(company_name)s: User's Company name" colspan="2"/>
- <label string="%%(company_currency)s: User's Company Currency" colspan="2"/>
- <label string="%%(heading)s: Move line header" colspan="2"/>
- <label string="%%(line)s: Ledger Posting lines" colspan="2"/>
- </page>
- </notebook>
- </group>
- <separator colspan="4"/>
- <group>
- <button special="cancel" string="Cancel" icon='gtk-cancel'/>
- <button name="do_print" string="Print Follow Ups" colspan="1" type="object" icon="gtk-print"/>
- <button name="do_mail" string="Send Mails" colspan="1" type="object" icon="gtk-execute"/>
- </group>
- </form>
+ <form string="Send followups">
+ <group col="4" colspan="6">
+ <notebook>
+ <page string="Partner Selection">
+ <separator string="Select partners to remind" colspan="4"/>
+ <field name="partner_ids" colspan="4" nolabel="1"/>
+ </page>
+ <page string="Email Settings">
+ <field name="email_conf" colspan="4"/>
+ <field name="partner_lang" colspan="4"/>
+ <field name="email_subject" colspan="4"/>
+ <!--<separator string="Email body" colspan="4" attrs="{'readonly':[('partner_lang','=',True)]}"/>-->
+ <separator string="Email body" colspan="4" />
+ <field name="email_body" colspan="4" nolabel="1"/>
+ <separator string="Legend" colspan="4"/>
+ <label string="%%(partner_name)s: Partner name" colspan="2"/>
+ <label string="%%(user_signature)s: User name" colspan="2"/>
+ <label string="%%(followup_amount)s: Total Amount Due" colspan="2"/>
+ <label string="%%(date)s: Current Date" colspan="2"/>
+ <label string="%%(company_name)s: User's Company name" colspan="2"/>
+ <label string="%%(company_currency)s: User's Company Currency" colspan="2"/>
+ <label string="%%(heading)s: Move line header" colspan="2"/>
+ <label string="%%(line)s: Ledger Posting lines" colspan="2"/>
+ </page>
+ </notebook>
+ </group>
+ <separator colspan="4"/>
+ <group>
+ <button special="cancel" string="Cancel" icon='gtk-cancel'/>
+ <button name="do_print" string="Print Follow Ups" colspan="1" type="object" icon="gtk-print"/>
+ <button name="do_mail" string="Send Mails" colspan="1" type="object" icon="gtk-execute"/>
+ </group>
+ </form>
</field>
</record>
- <record id="view_account_followup_print_all_msg" model="ir.ui.view">
+ <record id="view_account_followup_print_all_msg" model="ir.ui.view">
<field name="name">account.followup.print.all.msg.form</field>
<field name="model">account.followup.print.all</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Summary">
- <group col="4" colspan="6">
- <field name="summary" height="300" width="800"/>
- </group>
- <separator colspan="4"/>
- <group>
- <button special="cancel" string="Ok" icon='gtk-cancel'/>
- </group>
- </form>
+ <form string="Summary">
+ <group col="4" colspan="6">
+ <field name="summary" height="300" width="800"/>
+ </group>
+ <separator colspan="4"/>
+ <group>
+ <button special="cancel" string="Ok" icon='gtk-cancel'/>
+ </group>
+ </form>
</field>
</record>
@@ -128,5 +128,5 @@
</record>
- </data>
-</openerp> \ No newline at end of file
+ </data>
+</openerp>
diff --git a/addons/account_payment/i18n/es.po b/addons/account_payment/i18n/es.po
index 96b1e86eeb9..a874084f3f3 100644
--- a/addons/account_payment/i18n/es.po
+++ b/addons/account_payment/i18n/es.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_payment
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index f52dd23caa0..77a881744bc 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -153,13 +153,15 @@ class account_analytic_account(osv.osv):
def name_get(self, cr, uid, ids, context={}):
if not len(ids):
return []
- reads = self.read(cr, uid, ids, ['name','parent_id'], context)
res = []
- for record in reads:
- name = record['name']
- if record['parent_id']:
- name = record['parent_id'][1]+' / '+name
- res.append((record['id'], name))
+ for account in self.browse(cr, uid, ids, context=context):
+ data = []
+ acc = account
+ while acc:
+ data.insert(0, acc.name)
+ acc = acc.parent_id
+ data = ' / '.join(data)
+ res.append((account.id, data))
return res
def _complete_name_calc(self, cr, uid, ids, prop, unknow_none, unknow_dict):
@@ -197,7 +199,7 @@ class account_analytic_account(osv.osv):
'date': fields.date('Date End'),
'company_id': fields.many2one('res.company', 'Company', required=True),
'company_currency_id': fields.function(_get_company_currency, method=True, type='many2one', relation='res.currency', string='Currency'),
- 'state': fields.selection([('draft','Draft'),('open','Open'), ('pending','Pending'),('cancelled', 'Cancelled'),('close','Closed'),('template', 'Template')], 'State', required=True,readonly=True,
+ 'state': fields.selection([('draft','Draft'),('open','Open'), ('pending','Pending'),('cancelled', 'Cancelled'),('close','Closed'),('template', 'Template')], 'State', required=True,
help='* When an account is created its in \'Draft\' state.\
\n* If any associated partner is there, it can be in \'Open\' state.\
\n* If any pending balance is there it can be in \'Pending\'. \
@@ -314,7 +316,7 @@ class account_analytic_line(osv.osv):
_columns = {
'name' : fields.char('Description', size=256, required=True),
- 'date' : fields.date('Date', required=True),
+ 'date' : fields.date('Date', required=True, select=1),
'amount' : fields.float('Amount', required=True, help='Calculated by multiplying the quantity and the price given in the Product\'s cost price.'),
'unit_amount' : fields.float('Quantity', help='Specifies the amount of quantity to count.'),
'account_id' : fields.many2one('account.analytic.account', 'Analytic Account', required=True, ondelete='cascade', select=True),
diff --git a/addons/auction/auction_sequence.xml b/addons/auction/auction_sequence.xml
index a25bbfe8c1a..6cd27d256f3 100644
--- a/addons/auction/auction_sequence.xml
+++ b/addons/auction/auction_sequence.xml
@@ -2,30 +2,30 @@
<openerp>
<data noupdate="1">
- #
- # Sequences for sale.order
- #
+ #
+ # Sequences for sale.order
+ #
- <record model="ir.sequence.type" id="seq_type_auction_deposit">
- <field name="name">Auction deposit</field>
- <field name="code">auction.deposit</field>
- </record>
- <record model="ir.sequence" id="seq_sale_order">
- <field name="name">Auction deposit</field>
- <field name="code">auction.deposit</field>
- <field name="prefix">AD/</field>
- <field name="padding">3</field>
- </record>
- <record model="ir.sequence.type" id="seq_type_bid">
- <field name="name">Auction bid </field>
- <field name="code">auction.bid</field>
- </record>
- <record model="ir.sequence" id="seq_auction_bid">
- <field name="name">Auction bid</field>
- <field name="code">auction.bid</field>
- <field name="prefix">bid/</field>
- <field name="padding">3</field>
- </record>
+ <record model="ir.sequence.type" id="seq_type_auction_deposit">
+ <field name="name">Auction deposit</field>
+ <field name="code">auction.deposit</field>
+ </record>
+ <record model="ir.sequence" id="seq_sale_order">
+ <field name="name">Auction deposit</field>
+ <field name="code">auction.deposit</field>
+ <field name="prefix">AD/</field>
+ <field name="padding">3</field>
+ </record>
+ <record model="ir.sequence.type" id="seq_type_bid">
+ <field name="name">Auction bid </field>
+ <field name="code">auction.bid</field>
+ </record>
+ <record model="ir.sequence" id="seq_auction_bid">
+ <field name="name">Auction bid</field>
+ <field name="code">auction.bid</field>
+ <field name="prefix">bid/</field>
+ <field name="padding">3</field>
+ </record>
</data>
</openerp>
diff --git a/addons/auction/board_auction_demo.xml b/addons/auction/board_auction_demo.xml
index 504a02263da..f260f8bb1fc 100644
--- a/addons/auction/board_auction_demo.xml
+++ b/addons/auction/board_auction_demo.xml
@@ -2,13 +2,13 @@
<openerp>
<data noupdate="1">
- <record model="ir.ui.view_sc" id="sc_auction_dash">
- <field name="name">Auction dashboard</field>
- <field name="user_id" ref="base.user_root"/>
- <field name="resource">ir.ui.menu</field>
- <field name="sequence">4</field>
- <field name="res_id" ref="menu_board_auction"/>
- </record>
+<!-- <record model="ir.ui.view_sc" id="sc_auction_dash">-->
+<!-- <field name="name">Auction dashboard</field>-->
+<!-- <field name="user_id" ref="base.user_root"/>-->
+<!-- <field name="resource">ir.ui.menu</field>-->
+<!-- <field name="sequence">4</field>-->
+<!-- <field name="res_id" ref="menu_board_auction"/>-->
+<!-- </record>-->
</data>
</openerp>
diff --git a/addons/auction/i18n/el.po b/addons/auction/i18n/el.po
index ee0853b10fc..659ea3aff63 100644
--- a/addons/auction/i18n/el.po
+++ b/addons/auction/i18n/el.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-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-06-24 02:48+0000\n"
+"PO-Revision-Date: 2010-06-26 01:08+0000\n"
"Last-Translator: Panayiotis Konstantinidis <Unknown>\n"
"Language-Team: Greek <el@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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: auction
@@ -182,7 +182,7 @@ msgstr "ΦΠΑ"
#. module: auction
#: view:auction.lots:0
msgid "Statements"
-msgstr ""
+msgstr "Καταστάσεις"
#. module: auction
#: xsl:flagey.huissier:0
@@ -244,33 +244,34 @@ msgstr "Σύγχρονη Τέχνη"
#: view:auction.lots:0
#: view:report.unclassified.objects:0
msgid "Ref"
-msgstr ""
+msgstr "Αναφορά"
#. module: auction
#: field:report.auction.view,nseller:0
msgid "No of sellers"
-msgstr ""
+msgstr "Αριθμός πωλητών"
#. module: auction
#: selection:auction.lots.send.aie,date_ask,lang:0
msgid "ned"
-msgstr ""
+msgstr "Κανονική ισοδύναμη απόκλιση"
#. module: auction
#: constraint:hr.attendance:0
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
msgid "Total Adj."
-msgstr ""
+msgstr "Συνολική προσαρμογή"
#. module: auction
#: field:report.auction.view2,obj_margin_procent:0
msgid "Net margin (%)"
-msgstr ""
+msgstr "Καθαρό περιθώριο (%)"
#. module: auction
#: selection:auction.lots,state:0
@@ -278,28 +279,28 @@ msgstr ""
#: selection:report.seller.auction,state:0
#: selection:report.unclassified.objects,state:0
msgid "Unsold"
-msgstr ""
+msgstr "Αδιάθετο"
#. module: auction
#: view:auction.dates:0
msgid "Dates"
-msgstr ""
+msgstr "Ημερομηνίες"
#. module: auction
#: constraint:product.template:0
msgid "Error: UOS must be in a different category than the UOM"
-msgstr ""
+msgstr "Error: UOS must be in a different category than the UOM"
#. module: auction
#: rml:auction.total.rml:0
msgid "Items"
-msgstr ""
+msgstr "Αντικείμενα"
#. module: auction
#: model:account.tax,name:auction.auction_tax5
#: field:auction.dates,seller_costs:0
msgid "Seller Costs"
-msgstr ""
+msgstr "Έξοδα πωλητών"
#. module: auction
#: view:auction.bid:0
@@ -309,75 +310,75 @@ msgstr ""
#: model:ir.actions.report.xml,name:auction.bid_auction
#: model:ir.ui.menu,name:auction.menu_action_bid_open
msgid "Bids"
-msgstr ""
+msgstr "Προσφορές"
#. module: auction
#: model:ir.ui.menu,name:auction.auction_all_objects_menu
msgid "All objects"
-msgstr ""
+msgstr "Όλα τα αντικείμενα"
#. module: auction
#: model:ir.actions.act_window,name:auction.action_auction_buyer_reporting_all2
msgid "Buyer's auction for all months"
-msgstr ""
+msgstr "Πληστηριασμοί αγοραστή για όλους τους μήνες"
#. module: auction
#: field:auction.bid,contact_tel:0
msgid "Contact"
-msgstr ""
+msgstr "Επικοινωνία"
#. module: auction
#: 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 ""
+msgstr "Αριθμός αντικειμένων που επεστράφησαν"
#. module: auction
#: wizard_button:auction.lots.sms_send,init,send:0
msgid "Send SMS"
-msgstr ""
+msgstr "Αποστολή SMS"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Cont. Art/Painting"
-msgstr ""
+msgstr "Cont. Τέχνη/Ζωγραφική"
#. module: auction
#: field:auction.lots,sel_inv_id:0
msgid "Seller Invoice"
-msgstr ""
+msgstr "Τιμολόγιο πωλητή"
#. module: auction
#: view:auction.dates:0
msgid "Commissions"
-msgstr ""
+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
msgid "Unsold objects"
-msgstr ""
+msgstr "Αδιάθετα αντικείμενα"
#. module: auction
#: model:ir.ui.menu,name:auction.menu_all_objects_sold1
msgid "Sold Objects"
-msgstr ""
+msgstr "Πουλημένα αντικείμενα"
#. module: auction
#: view:report.buyer.auction2:0
#: view:report.seller.auction2:0
msgid "Sum net margin"
-msgstr ""
+msgstr "Σύνολο καθαρού περιθωρίου"
#. module: auction
#: view:auction.deposit:0
msgid "Deposit Border Form"
-msgstr ""
+msgstr "Κατάθεση φόρμας συνόρων"
#. module: auction
#: field:auction.bid,bid_lines:0
@@ -385,12 +386,12 @@ msgstr ""
#: rml:bids.lots:0
#: model:ir.model,name:auction.model_auction_bid_line
msgid "Bid"
-msgstr ""
+msgstr "Προσφορά"
#. module: auction
#: wizard_field:auction.lots.send.aie,date_ask,lang:0
msgid "Langage"
-msgstr ""
+msgstr "Γλώσσα"
#. module: auction
#: field:auction.bid_line,lot_id:0
@@ -398,17 +399,17 @@ msgstr ""
#: view:auction.lots:0
#: model:ir.model,name:auction.model_auction_lots
msgid "Object"
-msgstr ""
+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
msgid "Inventory Number"
-msgstr ""
+msgstr "Αριθμός απογραφής"
#. module: auction
#: wizard_button:auction.lots.buyer_map,check,end:0
@@ -416,17 +417,17 @@ msgstr ""
#: wizard_button:auction.lots.numerotate,search,end:0
#: wizard_button:auction.lots.numerotate_cont,init,end:0
msgid "Exit"
-msgstr ""
+msgstr "Έξοδος"
#. module: auction
#: field:report.buyer.auction2,net_revenue:0
msgid "Net Revenue"
-msgstr ""
+msgstr "Καθαρό έσοδο"
#. module: auction
#: view:report.buyer.auction:0
msgid "Auction buyer reporting form view"
-msgstr ""
+msgstr "Έντυπο έκθεσης άποψης των αγοραστών δημοπρασιών"
#. module: auction
#: field:auction.dates,state:0
@@ -436,17 +437,17 @@ msgstr ""
#: field:report.seller.auction,state:0
#: field:report.unclassified.objects,state:0
msgid "Status"
-msgstr ""
+msgstr "Κατάσταση"
#. module: auction
#: model:ir.actions.wizard,name:auction.wizard_sms
msgid "SMS Send"
-msgstr ""
+msgstr "Αποστολή γραπτού μηνύματος"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Antique/Cartoons"
-msgstr ""
+msgstr "Αντίκες/Γελοιογραφίες"
#. module: auction
#: view:auction.lots:0
@@ -454,42 +455,43 @@ msgstr ""
#: selection:report.seller.auction,state:0
#: selection:report.unclassified.objects,state:0
msgid "Sold"
-msgstr ""
+msgstr "Πουλημένο"
#. module: auction
#: constraint:hr.employee:0
msgid "Error ! You cannot create recursive Hierarchy of Employees."
msgstr ""
+"Σφάλμα! Δε μπορείται να δημιουργήσετε αναδρομική ιεραρχία στους εργαζομένους"
#. module: auction
#: field:auction.bid_line,name:0
msgid "Bid date"
-msgstr ""
+msgstr "Ημερομηνία προσφορών"
#. module: auction
#: field:auction.dates,acc_expense:0
msgid "Expense Account"
-msgstr ""
+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
msgid "Object Description"
-msgstr ""
+msgstr "Περιγραφή αντικειμένου"
#. module: auction
#: selection:auction.deposit,method:0
msgid "Contact the Seller"
-msgstr ""
+msgstr "Επικοινωνήστε με τον πωλητή"
#. module: auction
#: view:auction.lots:0
msgid "Auction Objects"
-msgstr ""
+msgstr "Δημοπρατημένα αντικείμενα"
#. module: auction
#: field:auction.lots,gross_revenue:0
@@ -497,60 +499,60 @@ msgstr ""
#: field:report.object.encoded.manager,gross_revenue:0
#: field:report.seller.auction2,gross_revenue:0
msgid "Gross revenue"
-msgstr ""
+msgstr "Μικτό έσοδο"
#. module: auction
#: view:report.seller.auction2:0
msgid "Auction reporting2 form view"
-msgstr ""
+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
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
#: model:ir.ui.menu,name:auction.menu_report_latest_doposit_tree
msgid "My Latest Deposits"
-msgstr ""
+msgstr "Οι Τελευταίες Καταθέσεις μου"
#. module: auction
#: field:auction.lots,lot_est1:0
@@ -559,105 +561,105 @@ 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
msgid "eng"
-msgstr ""
+msgstr "Αγγλική"
#. module: auction
#: view:report.buyer.auction2:0
msgid "Auction buyer reporting tree view2"
-msgstr ""
+msgstr "Προβολή δέντρου εκθέσεων αγοραστή δημοπρασιών"
#. module: auction
#: wizard_view:auction.lots.sms_send,init:0
msgid "Bulk SMS send"
-msgstr ""
+msgstr "Μαζική αποστολή γραπτών μηνυμάτων"
#. 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
msgid "fr"
-msgstr ""
+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 "Λίστα Ν."
#. 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
@@ -668,26 +670,33 @@ 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
@@ -696,7 +705,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
@@ -705,282 +714,283 @@ 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
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
msgid "Cat"
-msgstr ""
+msgstr "Cat"
#. module: auction
#: constraint:account.tax.code:0
msgid "Error ! You can not create recursive accounts."
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 "Barcode παρτίδας"
#. 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
msgid "Antique/Jewelry"
-msgstr ""
+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
#: wizard_field:auction.lots.send.aie,date_ask,numerotation:0
#: wizard_field:auction.lots.send.aie,init,numerotation:0
msgid "Numerotation"
-msgstr ""
+msgstr "Αρίθμιση"
#. module: auction
#: model:ir.actions.act_window,name:auction.act_auction_lot_open_deposit
msgid "Bordereau de dépôt"
-msgstr ""
+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 "Μετατροπη σε Ευρώ"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Cont. Art/Other Media"
-msgstr ""
+msgstr "Cont. Art/Other Media"
#. module: auction
#: model:ir.actions.wizard,name:auction.wizard_emporte
msgid "Gestion emporte"
-msgstr ""
+msgstr "Διαχείριση Κερδισμένων"
#. module: auction
#: xsl:report.auction.lots.list.landscape:0
#: xsl:report.auction.vnd_bordereau:0
msgid "Cat. N."
-msgstr ""
+msgstr "Cat. N."
#. 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
msgid "Bid ID"
-msgstr ""
+msgstr "Ταυτότητα προσφοράς"
#. module: auction
#: rml:auction.total.rml:0
msgid "Min Estimate:"
-msgstr ""
+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
msgid "Antique/Carpet and textilles"
-msgstr ""
+msgstr "Αντίκες/Χαλιά και υφάσματα"
#. module: auction
#: xsl:report.auction.seller.list:0
#: field:report.object.encoded.manager,adj:0
msgid "Adj."
-msgstr ""
+msgstr "Προσαρμογή"
#. module: auction
#: field:auction.lot.history,name:0
@@ -989,91 +999,91 @@ msgstr ""
#: xsl:report.auction.deposit: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
msgid "Sum adj"
-msgstr ""
+msgstr "Προσαρμογή συνόλου"
#. module: auction
#: 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 "Νο."
#. 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 "Σε κατηγορία"
#. module: auction
#: xsl:flagey.huissier:0
#: rml:report.auction.buyer.result:0
#: xsl:report.auction.deposit:0
msgid "Num"
-msgstr ""
+msgstr "Num"
#. module: auction
#: wizard_button:auction.lots.able,init,end:0
@@ -1090,110 +1100,110 @@ 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:report.object.encoded:0
#: view:report.object.encoded.manager:0
msgid "Objects statistics"
-msgstr ""
+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 "Αποστολή αποτελεσμάτων στο Auction-in-europe.com"
#. module: auction
#: rml:bids.lots:0
#: rml:bids.phones.details:0
msgid "Cat.N"
-msgstr ""
+msgstr "Cat.N"
#. 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
msgid "Subtotal:"
-msgstr ""
+msgstr "Μερικό σύνολο:"
#. module: auction
#: view:auction.deposit:0
msgid "Photos"
-msgstr ""
+msgstr "Φωτογραφίες"
#. module: auction
#: wizard_field:auction.lots.make_invoice,init,number:0
#: wizard_field:auction.lots.make_invoice_buyer,init,number:0
msgid "Invoice Number"
-msgstr ""
+msgstr "Αριθμός Τιμολογίου"
#. module: auction
#: field:report.buyer.auction,date:0
@@ -1202,22 +1212,22 @@ msgstr ""
#: field:report.object.encoded.manager,date:0
#: field:report.seller.auction,date:0
msgid "Create Date"
-msgstr ""
+msgstr "Ημερομηνία Δημιουργίας"
#. module: auction
#: model:ir.ui.menu,name:auction.menu_buyer_allmonth_view1
msgid "Buyer's Summary"
-msgstr ""
+msgstr "Σύνοψη Αγοραστή"
#. module: auction
#: xsl:report.auction.ach_bordereau:0
msgid "Customer Reference"
-msgstr ""
+msgstr "Αναφορά πελάτη"
#. module: auction
#: rml:bids.lots:0
msgid "Name"
-msgstr ""
+msgstr "Όνομα"
#. module: auction
#: field:auction.deposit,name:0
@@ -1226,18 +1236,18 @@ msgstr ""
#: field:report.deposit.border,bord:0
#: field:report.unclassified.objects,bord_vnd_id:0
msgid "Depositer Inventory"
-msgstr ""
+msgstr "Απογραφή αποταμιευτών"
#. module: auction
#: model:ir.ui.menu,name:auction.menu_report_deposit_tree_m
#: model:ir.ui.menu,name:auction.menu_report_deposit_tree_member
msgid "Depositer's Statistics"
-msgstr ""
+msgstr "Στατιστικά στοιχεία αποταμιευτών"
#. module: auction
#: view:report.object.encoded.manager:0
msgid "Total adj."
-msgstr ""
+msgstr "Συνολική προσαρμογή"
#. module: auction
#: wizard_field:auction.lots.send.aie,date_ask,uname:0
@@ -1246,39 +1256,39 @@ msgstr ""
#: wizard_field:auction.lots.send.aie.results,init,uname:0
#: wizard_field:auction.lots.sms_send,init,user:0
msgid "Login"
-msgstr ""
+msgstr "Είσοδος"
#. module: auction
#: rml:buyer.list:0
#: xsl:report.auction.seller.list:0
msgid "To pay"
-msgstr ""
+msgstr "Για πληρωμή"
#. module: auction
#: wizard_button:auction.lots.enable,init,go:0
msgid "Enable Taken away"
-msgstr ""
+msgstr "Ενεργοποίηση απομάκρυνσης"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Antique/Others"
-msgstr ""
+msgstr "Αντίκες/Άλλα"
#. module: auction
#: model:ir.actions.report.xml,name:auction.seller_lots_3
msgid "Seller Form"
-msgstr ""
+msgstr "Φόρμα πωλητή"
#. module: auction
#: field:auction.lots,lot_type:0
#: field:report.unclassified.objects,lot_type:0
msgid "Object category"
-msgstr ""
+msgstr "Κατηγορία αντικειμένου"
#. module: auction
#: wizard_view:auction.taken,init:0
msgid "Mark Lots"
-msgstr ""
+msgstr "Σημείωσε τις παρτίδες"
#. module: auction
#: field:auction.lots,obj_num:0
@@ -1286,131 +1296,131 @@ msgstr ""
#: wizard_field:auction.lots.numerotate,search,obj_num:0
#: field:report.unclassified.objects,obj_num:0
msgid "Catalog Number"
-msgstr ""
+msgstr "Αριθμός καταλόγου"
#. module: auction
#: view:report.auction.view2:0
msgid "Auction Reporting tree view2"
-msgstr ""
+msgstr "προβολή δένδρου αναφοράς της δημοπρασίας 2"
#. module: auction
#: view:report.buyer.auction2:0
msgid "Auction buyer reporting form view2"
-msgstr ""
+msgstr "Προβολή φόρμας αναφοράς αγοραστών της δημοπρασίας 2"
#. module: auction
#: model:ir.actions.report.xml,name:auction.bid_phone
msgid "Bids phones"
-msgstr ""
+msgstr "Προσφορές δια τηλεφώνου"
#. module: auction
#: model:ir.actions.act_window,name:auction.action_report_object_by_auction
msgid "Auction dates"
-msgstr ""
+msgstr "Ημερομηνίες δημοπρασίας"
#. module: auction
#: view:report.seller.auction2:0
msgid "Auction seller reporting2 graph view"
-msgstr ""
+msgstr "Προβολη διαγραμμάτων αναφοράς πωλητή της δημοπρασίας"
#. module: auction
#: model:ir.ui.menu,name:auction.menu_report_auction_object_date_tree
msgid "Encoded Objects Per Day"
-msgstr ""
+msgstr "Κωδικοποιημένα Αντικείμενα ανά ημέρα"
#. module: auction
#: model:ir.model,name:auction.model_report_buyer_auction
#: model:ir.model,name:auction.model_report_buyer_auction2
msgid "Auction Reporting on buyer view"
-msgstr ""
+msgstr "Υποβολή έκθεσης δημοπρασίας στη θέση του πωλητή"
#. module: auction
#: rml:auction.total.rml:0
msgid "Debit:"
-msgstr ""
+msgstr "Χρέωση:"
#. module: auction
#: field:auction.lots,author_right:0
msgid "Author rights"
-msgstr ""
+msgstr "Δικαιώματα πνευματικής ιδιοκτησίας"
#. module: auction
#: view:auction.lots:0
msgid "Payment's history"
-msgstr ""
+msgstr "Ιστορικό πληρωμών"
#. module: auction
#: xsl:report.auction.ach_bordereau:0
#: xsl:report.auction.vnd_bordereau:0
msgid "Document"
-msgstr ""
+msgstr "Έγγραφο"
#. module: auction
#: xsl:report.auction.lots.list.landscape:0
msgid ", TEL:"
-msgstr ""
+msgstr ", Τηλέφωνο:"
#. module: auction
#: view:report.auction.view:0
msgid "Auction results"
-msgstr ""
+msgstr "Αποτελέσματα Δημοπρασίας"
#. module: auction
#: model:ir.ui.menu,name:auction.menu_auction_allmonth_view2
msgid "Auction's Revenues"
-msgstr ""
+msgstr "Έσοδα Δημοπρασίας"
#. module: auction
#: view:report.object.encoded.manager:0
msgid "Total net rev."
-msgstr ""
+msgstr "Συνολικά καθαρά έσοδα."
#. module: auction
#: wizard_button:auction.lots.buyer_map,check,set_buyer:0
msgid "Update"
-msgstr ""
+msgstr "Ενημέρωση"
#. module: auction
#: rml:auction.total.rml:0
#: model:ir.ui.menu,name:auction.auction_report_seller_menu
#: model:ir.ui.menu,name:auction.auction_seller_menu
msgid "Sellers"
-msgstr ""
+msgstr "Πωλητές"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Antique/Metal Ware"
-msgstr ""
+msgstr "Αντίκες/Μεταλικά αντικείμενα"
#. module: auction
#: model:ir.actions.report.xml,name:auction.res_w_buyer
msgid "Results with buyer"
-msgstr ""
+msgstr "Αποτελέσματα με τον αγοραστή"
#. module: auction
#: selection:auction.lots.send.aie,date_ask,lang:0
msgid "de"
-msgstr ""
+msgstr "de"
#. module: auction
#: wizard_button:auction.lots.auction_move,init,set_date:0
msgid "Move to Auction date"
-msgstr ""
+msgstr "Μεταφορά στην ημερομηνία δημοπρασίας"
#. module: auction
#: model:ir.actions.act_window,name:auction.action_auction_dates_old
msgid "Old Auctions"
-msgstr ""
+msgstr "Παλαιότερες Δημοπρασίες"
#. module: auction
#: rml:auction.total.rml:0
msgid "# of unsold items:"
-msgstr ""
+msgstr "Πλήθος Αδιάθετων αντικειμένων"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Cont. Art/Curiosa"
-msgstr ""
+msgstr "Cont. Art/Curiosa"
#. module: auction
#: field:auction.bid,auction_id:0
@@ -1421,187 +1431,189 @@ msgstr ""
#: wizard_field:auction.lots.send.aie.results,date_ask,dates:0
#: wizard_field:auction.lots.send.aie.results,init,dates:0
msgid "Auction Date"
-msgstr ""
+msgstr "Ημερομηνία Δημοπρασίας"
#. module: auction
#: rml:auction.code_bar_lot:0
msgid ", ID"
-msgstr ""
+msgstr ", Ταυτότητα"
#. module: auction
#: model:ir.module.module,shortdesc:auction.module_meta_information
msgid "Auction module"
-msgstr ""
+msgstr "Ενότητα Δημοπρασιών"
#. module: auction
#: field:auction.bid_line,auction:0
msgid "Auction Name"
-msgstr ""
+msgstr "Όνομα Δημοπρασίας"
#. module: auction
#: model:ir.ui.menu,name:auction.menu_report_auction_sign_in_out_manager_tree1
#: model:ir.ui.menu,name:auction.menu_report_auction_sign_in_out_member_tree1
msgid "Attendance"
-msgstr ""
+msgstr "Ακροατήριο"
#. module: auction
#: view:auction.lots:0
msgid "Seller information"
-msgstr ""
+msgstr "Πληροφορίες Πωλητή"
#. module: auction
#: field:auction.lots,ach_login:0
#: wizard_field:auction.lots.buyer_map,check,ach_login:0
#: field:report.unclassified.objects,ach_login:0
msgid "Buyer Username"
-msgstr ""
+msgstr "Όνομα χρήστη αγοραστή"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Cont. Art/Jewelry"
-msgstr ""
+msgstr "Συνέχεια σε Τέχνη/Κοσμήματα"
#. module: auction
#: xsl:report.auction.deposit:0
#: xsl:report.auction.vnd_bordereau:0
msgid "Inventory"
-msgstr ""
+msgstr "Απογραφή"
#. module: auction
#: model:ir.actions.act_window,name:auction.action_auction_dates_next
msgid "Next Auctions"
-msgstr ""
+msgstr "Επόμενες Δημοπρασίες"
#. module: auction
#: rml:buyer.list:0
#: xsl:report.auction.seller.list:0
msgid "#"
-msgstr ""
+msgstr "#"
#. module: auction
#: field:auction.lots,ach_emp:0
msgid "Taken Away"
-msgstr ""
+msgstr "Απομάκρυνση"
#. module: auction
#: view:report.object.encoded.manager:0
msgid "Total gross rev."
-msgstr ""
+msgstr "Συνολικά μικτά έσοδα"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Antique/Miniatures / Collections"
-msgstr ""
+msgstr "Αντίκες / Μικρογραφίες / Συλλογές"
#. module: auction
#: wizard_view:auction.lots.numerotate,not_exist:0
msgid "This lot does not exist !"
-msgstr ""
+msgstr "Αυτή η παρτίδα δεν υπάρχει !"
#. module: auction
#: view:auction.dates:0
msgid "End of auction"
-msgstr ""
+msgstr "Τέλος Δημοπρασίας"
#. module: auction
#: field:auction.bid_line,call:0
msgid "To be Called"
-msgstr ""
+msgstr "Να ονομάζεται"
#. module: auction
#: model:ir.actions.act_window,name:auction.action_report_auction_estimation_adj_category_manager_tree
#: model:ir.actions.act_window,name:auction.action_report_auction_estimation_adj_category_member_tree
#: view:report.auction.estimation.adj.category:0
msgid "Min est/Adj/Max est"
-msgstr ""
+msgstr "Ελάχιστη εκτίμηση / προσαρμογή / Μέγιστη εκτίμηση"
#. module: auction
#: model:ir.actions.report.xml,name:auction.lot_list_inv
msgid "Lots List - Landscape"
-msgstr ""
+msgstr "Λίστα παρτίδων - Τοπία"
#. module: auction
#: view:report.seller.auction:0
msgid "Auction reporting tree view"
-msgstr ""
+msgstr "Προβολή δένδρου αναφοράς δημοπρασίας"
#. module: auction
#: wizard_view:auction.lots.auction_move,init:0
#: model:ir.actions.wizard,name:auction.wizard_change_auction
msgid "Change Auction Date"
-msgstr ""
+msgstr "Αλλαγή ημερομηνίας δημοπρασίας"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Cont. Art/Photo"
-msgstr ""
+msgstr "Συνέχεια σε Τέχνη / Φωτογραφίες"
#. module: auction
#: field:auction.deposit,method:0
msgid "Withdrawned method"
-msgstr ""
+msgstr "Μέθοδος Απόσυρσης"
#. module: auction
#: rml:auction.total.rml:0
msgid "Max Estimate:"
-msgstr ""
+msgstr "Μέγιστη εκτίμηση:"
#. module: auction
#: model:ir.model,name:auction.model_auction_bid
msgid "Bid auctions"
-msgstr ""
+msgstr "Προσφορά δημοπρασιών"
#. module: auction
#: field:report.auction.view2,obj_margin:0
msgid "Avg margin"
-msgstr ""
+msgstr "Μέσο όρος περιθωρίου"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Antique/Art from the Ivory Coast"
-msgstr ""
+msgstr "Αντίκες / Τέχνη από την Ακτή του Ελεφαντοστού"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Antique/Religiosa"
-msgstr ""
+msgstr "Αντίκες / Θρησκευτικά"
#. module: auction
#: wizard_button:auction.lots.make_invoice,init,invoice:0
#: wizard_button:auction.lots.make_invoice_buyer,init,invoice:0
msgid "Create invoices"
-msgstr ""
+msgstr "Δημιουργία Τιμολογίων"
#. module: auction
#: constraint:product.template:0
msgid ""
"Error: The default UOM and the purchase UOM must be in the same category."
msgstr ""
+"Σφάλμα: Η προκαθορισμένη Μονάδα Μέτρησης και η Μονάδα Μέτρησης αγοράς πρέπει "
+"να είναι στην ίδια κατηγορία."
#. module: auction
#: xsl:report.auction.vnd_bordereau:0
msgid "Lot"
-msgstr ""
+msgstr "Παρτίδα"
#. module: auction
#: model:ir.ui.menu,name:auction.menu_all_objects_unplanned1
msgid "Unplanned objects"
-msgstr ""
+msgstr "Απρόβλεπτα αντικείμενα"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Cont. Art/Sculpture"
-msgstr ""
+msgstr "Συνέχεια σε Τέχνη / Γλυπτική"
#. module: auction
#: model:ir.model,name:auction.model_auction_artists
msgid "auction.artists"
-msgstr ""
+msgstr "Δημοπρασίες.Καλλιτέχνες"
#. module: auction
#: field:auction.dates,journal_id:0
msgid "Buyer Journal"
-msgstr ""
+msgstr "Ημερολόγιο Αγοραστή"
#. module: auction
#: selection:auction.lots,state:0
@@ -1609,18 +1621,18 @@ msgstr ""
#: selection:report.object.encoded,state:0
#: selection:report.unclassified.objects,state:0
msgid "Paid"
-msgstr ""
+msgstr "Πληρωμένα"
#. module: auction
#: rml:bids.lots:0
#: rml:bids.phones.details:0
msgid "Phone"
-msgstr ""
+msgstr "Τηλέφωνο"
#. module: auction
#: selection:auction.lot.category,aie_categ:0
msgid "Antique/Argenterie"
-msgstr ""
+msgstr "Αντίκες / Ασημικά"
#. module: auction
#: wizard_button:auction.pay.buy,init,pay:0
diff --git a/addons/audittrail/i18n/el.po b/addons/audittrail/i18n/el.po
index 6abb75f9b34..bc7c28dcb83 100644
--- a/addons/audittrail/i18n/el.po
+++ b/addons/audittrail/i18n/el.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-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-06-24 02:58+0000\n"
+"PO-Revision-Date: 2010-06-24 21:17+0000\n"
"Last-Translator: Panayiotis Konstantinidis <Unknown>\n"
"Language-Team: Greek <el@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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: audittrail
@@ -159,153 +159,157 @@ msgid ""
" Subscribe Rules for read, write, create and delete on objects and check "
"logs"
msgstr ""
+"Επιστρέπει στον Διαχειριστή να ακολουθεί τα ίχνη κάθε λειτουργίας του χρήστη "
+"σε όλα τα αντικείμενα του συστήματος.\n"
+" Εισάγεται κανόνες για ανάγνωση, εγγραφή, δημιουργία και διαγραφή στα "
+"αντικείμενα και τα ημερολόγια ελέγχου."
#. module: audittrail
#: field:audittrail.log,timestamp:0
msgid "Date"
-msgstr ""
+msgstr "Ημερομηνία"
#. module: audittrail
#: field:audittrail.log,user_id:0
msgid "User"
-msgstr ""
+msgstr "Χρήστης"
#. module: audittrail
#: view:audittrail.log:0
msgid "Old Value Text : "
-msgstr ""
+msgstr "Παλιά τιμή κειμένου: "
#. module: audittrail
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
-msgstr ""
+msgstr "Λανθασμένο XML για αρχιτεκτονική όψης!"
#. module: audittrail
#: field:audittrail.log,name:0
msgid "Name"
-msgstr ""
+msgstr "Όνομα"
#. module: audittrail
#: field:audittrail.log,line_ids:0
msgid "Log lines"
-msgstr ""
+msgstr "Γραμμές ημερολογίου"
#. module: audittrail
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_rule_tree_sub
msgid "Subscribed Rules"
-msgstr ""
+msgstr "Εγγεγραμμένοι Κανόνες"
#. module: audittrail
#: field:audittrail.log.line,field_id:0
msgid "Fields"
-msgstr ""
+msgstr "Πεδία"
#. module: audittrail
#: view:audittrail.rule:0
msgid "AuditTrail Rules"
-msgstr ""
+msgstr "Κανόνες διαδρομής ελέγχου"
#. module: audittrail
#: model:ir.model,name:audittrail.model_audittrail_rule
msgid "audittrail.rule"
-msgstr ""
+msgstr "ελεγκτική ιχνηλάτηση.κανόνες"
#. module: audittrail
#: view:audittrail.rule:0
msgid "UnSubscribe"
-msgstr ""
+msgstr "Διαγραφείτε"
#. module: audittrail
#: field:audittrail.rule,log_write:0
msgid "Log writes"
-msgstr ""
+msgstr "Εγγραφές ημερολογίου"
#. module: audittrail
#: model:ir.model,name:audittrail.model_audittrail_log
msgid "audittrail.log"
-msgstr ""
+msgstr "ελεγκτική ιχνηλάτηση.ημερολόγιο"
#. module: audittrail
#: field:audittrail.log.line,field_description:0
msgid "Field Description"
-msgstr ""
+msgstr "Περιγραφή πεδίου"
#. module: audittrail
#: selection:audittrail.log,method:0
msgid "Delete"
-msgstr ""
+msgstr "Διαγραφή"
#. module: audittrail
#: wizard_button:audittrail.view.log,init,open:0
msgid "Open Logs"
-msgstr ""
+msgstr "Άνοιγμα ημερολογίων"
#. module: audittrail
#: field:audittrail.log.line,new_value_text:0
msgid "New value Text"
-msgstr ""
+msgstr "Νέα τιμή κειμένου"
#. module: audittrail
#: field:audittrail.rule,name:0
msgid "Rule Name"
-msgstr ""
+msgstr "Όνομα Κανόνα"
#. module: audittrail
#: field:audittrail.rule,log_read:0
msgid "Log reads"
-msgstr ""
+msgstr "Αναγνώσεις ημερολογίων"
#. module: audittrail
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_log_tree
msgid "Logs"
-msgstr ""
+msgstr "Αρχεία καταγραφής"
#. module: audittrail
#: field:audittrail.log.line,new_value:0
msgid "New Value"
-msgstr ""
+msgstr "Νέα τιμή"
#. module: audittrail
#: model:ir.ui.menu,name:audittrail.menu_action_log_tree2
msgid "View Logs"
-msgstr ""
+msgstr "Δείτε τα αρχεία καταγραφής"
#. module: audittrail
#: field:audittrail.rule,log_create:0
msgid "Log creates"
-msgstr ""
+msgstr "Δημιουργία αρχείων καταγραφής"
#. module: audittrail
#: view:audittrail.log:0
msgid "AuditTrail Logs"
-msgstr ""
+msgstr "παρακολούθηση της πόρειας των αρχείων καταγραφής"
#. module: audittrail
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_rule_tree
msgid "Rules"
-msgstr ""
+msgstr "Κανόνες"
#. module: audittrail
#: view:audittrail.log:0
msgid "New Value : "
-msgstr ""
+msgstr "Νέα τιμή : "
#. module: audittrail
#: field:audittrail.rule,user_id:0
msgid "Users"
-msgstr ""
+msgstr "Χρήστες"
#. module: audittrail
#: field:audittrail.log.line,old_value_text:0
msgid "Old value Text"
-msgstr ""
+msgstr "Παλιά τιμή κειμένου"
#. module: audittrail
#: wizard_button:audittrail.view.log,init,end:0
msgid "Cancel"
-msgstr ""
+msgstr "Ακύρωση"
#. module: audittrail
#: field:audittrail.rule,log_unlink:0
msgid "Log deletes"
-msgstr ""
+msgstr "Διαγραφή αρχείων καταγραφής"
diff --git a/addons/base_action_rule/base_action_rule.py b/addons/base_action_rule/base_action_rule.py
index 8b9e6f700e8..405c3155619 100644
--- a/addons/base_action_rule/base_action_rule.py
+++ b/addons/base_action_rule/base_action_rule.py
@@ -233,7 +233,6 @@ the rule to mark CC(mail to any other person defined in actions)."),
@param email: pass the emails
@param emailfrom: Pass name the email From else False
@param context: A standard dictionary for contextual values """
-
body = self.format_mail(obj, body)
if not emailfrom:
if hasattr(obj, 'user_id') and obj.user_id and obj.user_id.address_id and\
@@ -255,8 +254,7 @@ the rule to mark CC(mail to any other person defined in actions)."),
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param context: A standard dictionary for contextual values """
-
- ok = True
+ ok = True
if eval(action.domain):
obj_ids = obj._table.search(cr, uid, eval(action.domain), context=context)
if not obj.id in obj_ids:
@@ -277,7 +275,8 @@ the rule to mark CC(mail to any other person defined in actions)."),
ok = ok and (not action.trg_state_from or action.trg_state_from==obj.state)
if state_to:
ok = ok and (not action.trg_state_to or action.trg_state_to==state_to)
-
+ elif action.trg_state_to:
+ ok = False
reg_name = action.regex_name
result_name = True
if reg_name:
diff --git a/addons/base_contact/base_contact_demo.xml b/addons/base_contact/base_contact_demo.xml
index 6acdd08cf14..2c76b1844e8 100644
--- a/addons/base_contact/base_contact_demo.xml
+++ b/addons/base_contact/base_contact_demo.xml
@@ -179,7 +179,7 @@
<record id="res_partner_job_2" model="res.partner.job">
<field name="address_id" ref="base.res_partner_address_3"/>
<field name="function">CTO</field>
- <field eval="&quot;&quot;&quot;info@mediapole.net&quot;&quot;&quot;" name="email"/>
+ <field eval="&quot;&quot;&quot;info@mycompany.com&quot;&quot;&quot;" name="email"/>
<field name="contact_id" ref="res_partner_contact_passot0"/>
</record>
<record id="res_partner_job_3" model="res.partner.job">
diff --git a/addons/base_module_quality/i18n/el.po b/addons/base_module_quality/i18n/el.po
index 9ae13c3add3..1d65ed479be 100644
--- a/addons/base_module_quality/i18n/el.po
+++ b/addons/base_module_quality/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_module_quality
diff --git a/addons/base_module_quality/i18n/es.po b/addons/base_module_quality/i18n/es.po
index fbb4ecf48fb..c68bb5d0a60 100644
--- a/addons/base_module_quality/i18n/es.po
+++ b/addons/base_module_quality/i18n/es.po
@@ -15,7 +15,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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_module_quality
diff --git a/addons/base_report_creator/i18n/el.po b/addons/base_report_creator/i18n/el.po
index a914194a57b..ea439e5dad8 100644
--- a/addons/base_report_creator/i18n/el.po
+++ b/addons/base_report_creator/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/board_association/i18n/el.po b/addons/board_association/i18n/el.po
index 35fcc48ad27..9ef871e24af 100644
--- a/addons/board_association/i18n/el.po
+++ b/addons/board_association/i18n/el.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-06-24 03:46+0000\n"
+"X-Launchpad-Export-Date: 2010-06-25 03:46+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/board_auction/i18n/el.po b/addons/board_auction/i18n/el.po
index f99a794521e..990647cd866 100644
--- a/addons/board_auction/i18n/el.po
+++ b/addons/board_auction/i18n/el.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-06-24 03:46+0000\n"
+"X-Launchpad-Export-Date: 2010-06-25 03:46+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/board_crm_configuration/i18n/el.po b/addons/board_crm_configuration/i18n/el.po
index e2f697e23fd..93c5529b516 100644
--- a/addons/board_crm_configuration/i18n/el.po
+++ b/addons/board_crm_configuration/i18n/el.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-06-24 03:46+0000\n"
+"X-Launchpad-Export-Date: 2010-06-25 03:46+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/board_document/i18n/el.po b/addons/board_document/i18n/el.po
index 338203acd35..f2d2a47d093 100644
--- a/addons/board_document/i18n/el.po
+++ b/addons/board_document/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/board_project/i18n/el.po b/addons/board_project/i18n/el.po
index 4b6cc7b8820..a51277747be 100644
--- a/addons/board_project/i18n/el.po
+++ b/addons/board_project/i18n/el.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-06-24 03:46+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/crm/board_crm_view.xml b/addons/crm/board_crm_view.xml
index 69ca8e964e9..4729ab7283d 100644
--- a/addons/crm/board_crm_view.xml
+++ b/addons/crm/board_crm_view.xml
@@ -19,15 +19,16 @@
<field name="res_model">crm.lead</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="view_id" ref="crm.crm_case_tree_view_leads"/>
+ <field name="view_id" ref="crm.crm_case_tree_view_oppor"/>
<field name="domain">[('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')]</field>
</record>
+
<record model="ir.actions.act_window" id="act_my_meetings">
<field name="res_model">crm.meeting</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="crm.crm_case_tree_view_meet"/>
- <field name="domain">[('user_id','=',uid),('state','!=','pending'),('state','!=','cancel')]</field>
+ <field name="domain">[('user_id','=',uid),('state','!=','cancel'),('date','ilike',time.strftime("%Y-%m"))]</field>
</record>
<record model="ir.actions.act_window" id="act_my_leads_stage">
@@ -53,34 +54,28 @@
<field name="arch" type="xml">
<form string="Connecting Dashboard">
<hpaned>
-
<child1>
-
<action
+ string="My Opportunities"
name="%(act_my_leads)d"
colspan="4"
height="150"
width="510"/>
-
<action
string="My Meetings"
name="%(act_my_meetings)d"
height="150"
colspan="4"/>
-
</child1>
-
<child2>
<action
- string="My Leads By Stage"
+ string="Revenues by stage"
name="%(act_my_leads_stage)d"
colspan="4"/>
-
<action
string="My Sales Pipeline"
name="%(act_sales_pipeline)d"
colspan="4"/>
-
</child2>
</hpaned>
</form>
@@ -105,7 +100,5 @@
action="open_board_crm"
sequence="1"
id="menu_board_crm" icon="terp-graph"/>
-
-
</data>
</openerp>
diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index feb49ba7ae7..c46519cdb97 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -118,20 +118,18 @@ class crm_case(object):
@param context: A standard dictionary for contextual values"""
if not context:
context = {}
-
s = self.get_stage_dict(cr, uid, ids, context=context)
section = self._name
+ stage = False
stage_pool = self.pool.get('crm.case.stage')
for case in self.browse(cr, uid, ids, context):
if section in s:
st = case.stage_id.id or False
if st in s[section]:
data = {'stage_id': s[section][st]}
- stage = stage_pool.browse(cr, uid, s[section][st], context=context)
- if stage.on_change:
- data.update({'probability': stage.probability})
+ stage = s[section][st]
self.write(cr, uid, [case.id], data)
- return True
+ return stage
def get_stage_dict(self, cr, uid, ids, context=None):
"""This function gives dictionary for stage according to stage levels
@@ -174,9 +172,10 @@ class crm_case(object):
s[section] = dict([(v, k) for (k, v) in s[section].iteritems()])
if st in s[section]:
data = {'stage_id': s[section][st]}
- stage = stage_pool.browse(cr, uid, s[section][st], context=context)
- if stage.on_change:
- data.update({'probability': stage.probability})
+ if s[section][st]:
+ stage = stage_pool.browse(cr, uid, s[section][st], context=context)
+ if stage.on_change:
+ data.update({'probability': stage.probability})
self.write(cr, uid, [case.id], data)
return True
diff --git a/addons/crm/crm_action_rule.py b/addons/crm/crm_action_rule.py
index 9092efef8e8..2c0c5327e5d 100644
--- a/addons/crm/crm_action_rule.py
+++ b/addons/crm/crm_action_rule.py
@@ -69,12 +69,10 @@ this if you want the rule to send an email to the partner."),
return tools.email_send(emailfrom, emails, name, body, reply_to=reply_to, openobject_id=str(obj.id))
def do_check(self, cr, uid, action, obj, context={}):
-
""" @param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param context: A standard dictionary for contextual values"""
-
ok = super(base_action_rule, self).do_check(cr, uid, action, obj, context=context)
if hasattr(obj, 'section_id'):
@@ -89,7 +87,6 @@ this if you want the rule to send an email to the partner."),
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param context: A standard dictionary for contextual values """
-
res = super(base_action_rule, self).do_action(cr, uid, action, model_obj, obj, context=context)
write = {}
@@ -125,7 +122,7 @@ this if you want the rule to send an email to the partner."),
@param context: A standard dictionary for contextual values """
res = super(base_action_rule, self).state_get(cr, uid, context=context)
- return res + [('escalate', 'Escalate')] + crm.AVAILABLE_STATES
+ return res + crm.AVAILABLE_STATES
def priority_get(self, cr, uid, context={}):
diff --git a/addons/crm/crm_data.xml b/addons/crm/crm_data.xml
index e8d5965a4c0..e494db325e5 100644
--- a/addons/crm/crm_data.xml
+++ b/addons/crm/crm_data.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
- <record model="crm.case.section" id="section_sales_department">
- <field name="name">Sales Department</field>
- <field name="code">Sales</field>
- </record>
+ <record model="crm.case.section" id="section_sales_department">
+ <field name="name">Sales Department</field>
+ <field name="code">Sales</field>
+ </record>
</data>
</openerp>
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 2700581d6cc..bf6d391ab82 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -37,7 +37,6 @@ class crm_lead(osv.osv, crm_case):
_description = "Lead"
_order = "priority, id desc"
_inherit = ['mailgate.thread','res.partner.address']
-
def _compute_day(self, cr, uid, ids, fields, args, context={}):
"""
@param cr: the current row, from the database cursor,
@@ -97,20 +96,20 @@ class crm_lead(osv.osv, crm_case):
_columns = {
# From crm.case
- 'name': fields.char('Name', size=64),
- 'active': fields.boolean('Active', required=False),
+ 'name': fields.char('Name', size=64),
+ 'active': fields.boolean('Active', required=False),
'date_action_last': fields.datetime('Last Action', readonly=1),
'date_action_next': fields.datetime('Next Action', readonly=1),
- 'email_from': fields.char('Email', size=128, help="These people will receive email."),
+ 'email_from': fields.char('Email', size=128, help="E-mail address of the contact"),
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
- select=True, help='Sales team to which Case belongs to.\
- Define Responsible user and Email account for mail gateway.'),
+ select=True, help='Sales team to which this case belongs to.\
+ Defines responsible user and e-mail address for the mail gateway.'),
'create_date': fields.datetime('Creation Date' , readonly=True),
'email_cc': fields.text('Watchers Emails', size=252 , help="These \
-people will receive a copy of the future communication between partner \
-and users by email"),
+addresses will receive a copy of the future e-mail communication between partner \
+and users"),
'description': fields.text('Notes'),
- 'write_date': fields.datetime('Update Date' , readonly=True),
+ 'write_date': fields.datetime('Update Date' , readonly=True),
# Lead fields
'categ_id': fields.many2one('crm.case.categ', 'Lead Source', \
@@ -120,8 +119,8 @@ and users by email"),
domain="[('section_id','=',section_id),\
('object_id.model', '=', 'crm.lead')]"),
'partner_name': fields.char("Partner Name", size=64),
- 'optin': fields.selection([('yes','Yes'),('no','No'),('unknown','/')],'Opt-In'),
- 'optout': fields.selection([('yes','Yes'),('no','No'),('unknown','/')],'Opt-Out'),
+ 'optin': fields.boolean('Opt-In'),
+ 'optout': fields.boolean('Opt-Out'),
'type':fields.selection([
('lead','Lead'),
('opportunity','Opportunity'),
@@ -153,8 +152,7 @@ and users by email"),
'user_id': crm_case._get_default_user,
'email_from': crm_case._get_default_email,
'state': lambda *a: 'draft',
- 'optin': lambda *a: 'unknown',
- 'optout': lambda *a: 'unknown',
+ 'type': lambda *a: 'lead',
'section_id': crm_case._get_section,
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.lead', context=c),
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
@@ -238,10 +236,19 @@ and users by email"),
}
return value
+ def stage_next(self, cr, uid, ids, context=None):
+ stage = super(crm_lead, self).stage_next(cr, uid, ids, context)
+ if stage:
+ stage_obj = self.pool.get('crm.case.stage').browse(cr, uid, stage, context=context)
+ if stage_obj.on_change:
+ data = {'probability': stage_obj.probability}
+ self.write(cr, uid, ids, data)
+ return stage
+
def message_new(self, cr, uid, msg, context):
"""
Automatically calls when new email message arrives
-
+
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks
@@ -253,7 +260,7 @@ and users by email"),
body = msg.get('body')
msg_from = msg.get('from')
priority = msg.get('priority')
-
+
vals = {
'name': subject,
'email_from': msg_from,
@@ -263,13 +270,13 @@ and users by email"),
}
if msg.get('priority', False):
vals['priority'] = priority
-
- res = mailgate_pool.get_partner(cr, uid, msg.get('from'))
+
+ res = mailgate_pool.get_partner(cr, uid, msg.get('from') or msg.get_unixfrom())
if res:
vals.update(res)
+
res = self.create(cr, uid, vals, context)
-
-
+
attachents = msg.get('attachments', [])
for attactment in attachents or []:
data_attach = {
@@ -285,21 +292,18 @@ and users by email"),
return res
def message_update(self, cr, uid, ids, vals={}, msg="", default_act='pending', context={}):
- """
+ """
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@param ids: List of update mail’s IDs
"""
-
+
if isinstance(ids, (str, int, long)):
ids = [ids]
-
+
msg_from = msg['from']
- vals.update({
- 'description': msg['body']
- })
- if msg.get('priority', False):
+ if msg.get('priority'):
vals['priority'] = msg.get('priority')
maps = {
@@ -307,46 +311,23 @@ and users by email"),
'revenue': 'planned_revenue',
'probability':'probability'
}
- vls = { }
+ vls = {}
for line in msg['body'].split('\n'):
line = line.strip()
res = tools.misc.command_re.match(line)
- if res and maps.get(res.group(1).lower(), False):
+ if res and maps.get(res.group(1).lower()):
key = maps.get(res.group(1).lower())
vls[key] = res.group(2).lower()
-
vals.update(vls)
- res = self.write(cr, uid, ids, vals)
- return res
- def emails_get(self, cr, uid, ids, context=None):
-
- """
- Get Emails
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of email’s IDs
- @param context: A standard dictionary for contextual values
- """
- res = {}
-
- if isinstance(ids, (str, int, long)):
- select = [long(ids)]
- else:
- select = ids
-
- for thread in self.browse(cr, uid, select, context=context):
- values = collections.defaultdict(set)
-
- for message in thread.message_ids:
- user_email = (message.user_id and message.user_id.address_id and message.user_id.address_id.email) or False
- values['user_email'].add(user_email)
- values['email_from'].add(message.email_from)
- values['email_cc'].add(message.email_cc or False)
- values['priority'] = thread.priority
-
- res[thread.id] = dict((key,list(values[key])) for key, value in values.iteritems())
+ # Unfortunately the API is based on lists
+ # but we want to update the state based on the
+ # previous state, so we have to loop:
+ for case in self.browse(cr, uid, ids, context=context):
+ values = dict(vals)
+ if case.state == crm.AVAILABLE_STATES[4][0]: #pending
+ values.update(state=crm.AVAILABLE_STATES[1][0]) #open
+ res = self.write(cr, uid, [case.id], values, context=context)
return res
@@ -361,7 +342,6 @@ and users by email"),
@param **args: Return Dictionary of Keyword Value
"""
return True
-
crm_lead()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml
index 17211a9ef66..2b47140e396 100644
--- a/addons/crm/crm_lead_data.xml
+++ b/addons/crm/crm_lead_data.xml
@@ -2,79 +2,79 @@
<openerp>
<data noupdate="1">
-
+
<!-- CASE STATUS(stage_id) -->
<record model="crm.case.stage" id="stage_lead1">
<field name="name">New</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_lead2">
<field name="name">Assigned</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_lead3">
<field name="name">In Process</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_lead4">
<field name="name">Converted</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_lead5">
<field name="name">Recycled</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_lead6">
<field name="name">Dead</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<!-- CASE CATEGORY2(category2_id) -->
<record model="crm.case.resource.type" id="type_lead1">
<field name="name">Telesales</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.resource.type" id="type_lead2">
<field name="name">Mail</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.resource.type" id="type_lead3">
<field name="name">Email</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.resource.type" id="type_lead4">
<field name="name">Print</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.resource.type" id="type_lead5">
<field name="name">Web</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.resource.type" id="type_lead6">
<field name="name">Radio</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.resource.type" id="type_lead7">
<field name="name">Television</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.resource.type" id="type_lead8">
<field name="name">Newsletter</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
</data>
diff --git a/addons/crm/crm_lead_menu.xml b/addons/crm/crm_lead_menu.xml
index cea854427dc..6edce727647 100644
--- a/addons/crm/crm_lead_menu.xml
+++ b/addons/crm/crm_lead_menu.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="1">
+<data>
<record model="ir.actions.act_window" id="crm_case_category_act_leads_all">
<field name="name">Leads</field>
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index 0c5afb27739..379644e72b1 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -2,7 +2,7 @@
<openerp>
<data>
- <!--Lead Stage Form view -->
+ <!--Lead Stage Form view -->
<record id="crm_lead_stage_act" model="ir.actions.act_window">
<field name="name">Lead Stages</field>
@@ -18,7 +18,7 @@
parent="menu_crm_config_lead" />
- <!-- Resource Type Form View -->
+ <!-- Resource Type Form View -->
<record id="crm_lead_resource_act" model="ir.actions.act_window">
<field name="name">Lead Resource Type</field>
@@ -34,7 +34,7 @@
groups="base.group_extended" sequence="2"
parent="menu_crm_config_lead" />
- <!-- CRM Lead Form View -->
+ <!-- CRM Lead Form View -->
<record model="ir.ui.view" id="crm_case_form_view_leads">
<field name="name">CRM - Leads Form</field>
@@ -165,9 +165,10 @@
<field name="message_ids" colspan="4" nolabel="1" mode="form,tree">
<form string="Communication history">
<group col="6" colspan="4">
- <field name="date"/>
- <field name="email_to"/>
<field name="email_from"/>
+ <field name="email_to"/>
+ <field name="date"/>
+ <field name="name" colspan="6"/>
</group>
<notebook colspan="4">
<page string="Details">
@@ -204,18 +205,19 @@
</field>
</record>
- <!-- CRM Lead Tree View -->
+ <!-- CRM Lead Tree View -->
<record model="ir.ui.view" id="crm_case_tree_view_leads">
- <field name="name">CRM - Leads Tree</field>
+ <field name="name">Leads</field>
<field name="model">crm.lead</field>
<field name="type">tree</field>
<field name="arch" type="xml">
- <tree string="Leads Tree" colors="blue:state=='pending';grey:state in ('cancel', 'done');red:date_deadline &lt; current_date">
+ <tree string="Leads" colors="blue:state=='pending';grey:state in ('cancel', 'done')">
<field name="date_deadline" invisible="1"/>
<field name="create_date"/>
- <field name="partner_name"/>
<field name="name"/>
+ <field name="partner_name"/>
+ <field name="country_id" invisible="context.get('invisible_country', True)" />
<field name="email_from"/>
<field name="phone"/>
@@ -229,8 +231,7 @@
<button name="stage_next" string="Next"
states="open,pending" type="object"
icon="gtk-go-forward" />
- <field name="section_id"
- invisible="context.get('invisible_section', True)" />
+ <field name="section_id" invisible="context.get('invisible_section', True)" />
<field name="user_id" />
<field name="state" />
<button name="case_open" string="Open"
@@ -253,7 +254,7 @@
</field>
</record>
- <!-- CRM Lead Calendar View -->
+ <!-- CRM Lead Calendar View -->
<record model="ir.ui.view" id="crm_case_calendar_view_leads">
<field name="name">CRM - Leads Calendar</field>
@@ -270,7 +271,7 @@
</field>
</record>
- <!-- CRM Lead Search View -->
+ <!-- CRM Lead Search View -->
<record id="view_crm_case_leads_filter" model="ir.ui.view">
<field name="name">CRM - Leads Search</field>
@@ -300,6 +301,7 @@
('create_date','&gt;=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
/>
<separator orientation="vertical"/>
+ <field name="name"/>
<field name="partner_name"/>
<field name="email_from"/>
<field name="user_id">
@@ -319,6 +321,20 @@
help="Show Sales Team"/>
</field>
<newline/>
+ <group expand="0" string="Extended options..." groups="base.group_extended">
+ <field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
+ <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
+ <separator orientation="vertical"/>
+ <field name="country_id" context="{'invisible_country': False}">
+ <filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
+ </field>
+ <separator orientation="vertical"/>
+ <field name="company_id" widget="selection" groups="base.group_multi_company"/>
+ <newline/>
+ <field name="create_date" string="Creation Date"/>
+ <field name="date_closed"/>
+ </group>
+ <newline/>
<group expand="0" string="Group By...">
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
@@ -334,6 +350,5 @@
</search>
</field>
</record>
-
</data>
</openerp>
diff --git a/addons/crm/crm_meeting_data.xml b/addons/crm/crm_meeting_data.xml
index e96e17ac6a9..a7e4b400d76 100644
--- a/addons/crm/crm_meeting_data.xml
+++ b/addons/crm/crm_meeting_data.xml
@@ -1,30 +1,30 @@
<?xml version="1.0"?>
<openerp>
- <data noupdate="1">
+ <data noupdate="1">
<!-- CASE CATEGORY(categ_id) -->
- <record model="crm.case.categ" id="categ_meet1">
- <field name="name">Customer Meeting</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.meeting')]" model="ir.model"/>
- </record>
+ <record model="crm.case.categ" id="categ_meet1">
+ <field name="name">Customer Meeting</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.meeting')]" model="ir.model"/>
+ </record>
- <record model="crm.case.categ" id="categ_meet2">
- <field name="name">Internal Meeting</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.meeting')]" model="ir.model"/>
- </record>
+ <record model="crm.case.categ" id="categ_meet2">
+ <field name="name">Internal Meeting</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.meeting')]" model="ir.model"/>
+ </record>
- <record model="crm.case.categ" id="categ_meet3">
- <field name="name">Phone Call</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.meeting')]" model="ir.model"/>
- </record>
+ <record model="crm.case.categ" id="categ_meet3">
+ <field name="name">Phone Call</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.meeting')]" model="ir.model"/>
+ </record>
<record model="res.request.link" id="request_link_meeting">
- <field name="name">Case Meeting</field>
- <field name="object">crm.meeting</field>
- </record>
- </data>
+ <field name="name">Case Meeting</field>
+ <field name="object">crm.meeting</field>
+ </record>
+ </data>
</openerp>
diff --git a/addons/crm/crm_meeting_menu.xml b/addons/crm/crm_meeting_menu.xml
index ec58c116baf..bf1a8459655 100644
--- a/addons/crm/crm_meeting_menu.xml
+++ b/addons/crm/crm_meeting_menu.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="1">
+<data>
<act_window
id="crm_case_categ_meet_create_partner"
diff --git a/addons/crm/crm_opportunity.py b/addons/crm/crm_opportunity.py
index 0adbf2f2489..4faebe37d91 100644
--- a/addons/crm/crm_opportunity.py
+++ b/addons/crm/crm_opportunity.py
@@ -109,7 +109,7 @@ class crm_opportunity(osv.osv):
_defaults = {
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.lead', context=c),
- 'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
+ 'priority': crm.AVAILABLE_PRIORITIES[2][0],
}
def action_makeMeeting(self, cr, uid, ids, context=None):
diff --git a/addons/crm/crm_opportunity_data.xml b/addons/crm/crm_opportunity_data.xml
index b6b62628e4b..a7cfd2d46ca 100644
--- a/addons/crm/crm_opportunity_data.xml
+++ b/addons/crm/crm_opportunity_data.xml
@@ -4,91 +4,91 @@
<record model="crm.case.categ" id="categ_oppor1">
<field name="name">Existing Customer</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.categ" id="categ_oppor2">
<field name="name">Self Generated</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
<record model="crm.case.categ" id="categ_oppor3">
<field name="name">Employee</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.categ" id="categ_oppor4">
<field name="name">Partner</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.categ" id="categ_oppor5">
<field name="name">Campaign</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
<record model="crm.case.categ" id="categ_oppor6">
<field name="name">Website</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
<record model="crm.case.categ" id="categ_oppor7">
<field name="name">Word of mouth</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
<record model="crm.case.categ" id="categ_oppor8">
<field name="name">Other</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
<!-- CASE STATUS(stage_id) -->
<record model="crm.case.stage" id="stage_oppor1">
<field name="name">Prospecting</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_oppor2">
<field name="name">Needs Analysis</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_oppor3">
<field name="name">Value Proposition</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_oppor4">
<field name="name">Proposal/Price Quote</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_oppor5">
<field name="name">Negotiation/Review</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_oppor6">
<field name="name">Closed Won</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_oppor7">
<field name="name">Closed Lost</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
<!-- Case Resource(type_id) -->
<record model="crm.case.resource.type" id="type_oppor1">
<field name="name">Existing Business</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
- </record>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ </record>
<record model="crm.case.resource.type" id="type_oppor2">
<field name="name">New Business</field>
<field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
+ <field name="object_id" search="[('model','=','crm.lead')]" model="ir.model"/>
</record>
</data>
diff --git a/addons/crm/crm_opportunity_demo.xml b/addons/crm/crm_opportunity_demo.xml
index aa965a07594..3c06d16dc19 100644
--- a/addons/crm/crm_opportunity_demo.xml
+++ b/addons/crm/crm_opportunity_demo.xml
@@ -55,7 +55,7 @@
<field name="categ_id" ref="crm.categ_oppor7"/>
<field name="stage_id" ref="crm.stage_oppor5"/>
<field eval="&quot;Mediapole - 5000 units&quot;" name="name"/>
- <field eval="&quot;info@mediapole.net&quot;" name="email_from"/>
+ <field eval="&quot;info@mycompany.net&quot;" name="email_from"/>
</record>
<record id="crm_case_abcfuelcounits0" model="crm.lead">
<field eval="40" name="probability"/>
diff --git a/addons/crm/crm_opportunity_menu.xml b/addons/crm/crm_opportunity_menu.xml
index 36163abfa00..60ade626071 100644
--- a/addons/crm/crm_opportunity_menu.xml
+++ b/addons/crm/crm_opportunity_menu.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="1">
+<data>
<act_window
id="act_crm_opportunity_crm_phonecall_new"
diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml
index 4060337bdd7..7e0042f8944 100644
--- a/addons/crm/crm_opportunity_view.xml
+++ b/addons/crm/crm_opportunity_view.xml
@@ -154,6 +154,8 @@
<field name="fax"/>
<newline/>
<field name="mobile"/>
+ <field name="optin"/>
+ <field name="optout"/>
</group>
</page>
@@ -246,6 +248,7 @@
<field name="create_date"/>
<field name="name" string="Opportunity"/>
<field name="partner_id"/>
+ <field name="country_id" invisible="context.get('invisible_country', True)" />
<field name="date_action"/>
<field name="stage_id"/>
<button name="stage_previous" string="Previous"
@@ -340,6 +343,20 @@
help="Show Sales Team"/>
</field>
<newline/>
+ <group expand="0" string="Extended options..." groups="base.group_extended">
+ <field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
+ <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
+ <separator orientation="vertical"/>
+ <field name="country_id" context="{'invisible_country': False}">
+ <filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
+ </field>
+ <separator orientation="vertical"/>
+ <field name="company_id" widget="selection" groups="base.group_multi_company"/>
+ <newline/>
+ <field name="create_date" string="Creation Date"/>
+ <field name="date_closed"/>
+ </group>
+ <newline/>
<group expand="0" string="Group By..." colspan="16">
<filter string="Stage" icon="terp-stage" domain="[]"
context="{'group_by':'stage_id'}" />
@@ -350,7 +367,7 @@
<separator orientation="vertical" />
<filter string="Salesman" icon="terp-personal"
- domain="[('user_id','=',uid)]" context="{'group_by':'user_id'}" />
+ domain="[]" context="{'group_by':'user_id'}" />
<separator orientation="vertical" />
<filter string="Creation" icon="terp-go-month"
domain="[]" context="{'group_by':'create_date'}" />
diff --git a/addons/crm/crm_phonecall_data.xml b/addons/crm/crm_phonecall_data.xml
index 49d02f8848e..723cfeaca26 100644
--- a/addons/crm/crm_phonecall_data.xml
+++ b/addons/crm/crm_phonecall_data.xml
@@ -2,39 +2,39 @@
<openerp>
<data noupdate="1">
->
-
- <!--
- Phonecall Categories
- -->
- <record model="crm.case.categ" id="categ_phone1">
- <field name="name">Inbound</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
-
- </record>
- <record model="crm.case.categ" id="categ_phone2">
- <field name="name">Outbound</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
- </record>
-
- <!--
- Case Stage
- -->
- <record model="crm.case.stage" id="stage_phone1">
- <field name="name">Planned</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_phone2">
- <field name="name">Held</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
- </record>
- <record model="crm.case.stage" id="stage_phone3">
- <field name="name">Not Held</field>
- <field name="section_id" ref="section_sales_department"/>
- <field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
- </record>
+
+ <!--
+ Phonecall Categories
+ -->
+ <record model="crm.case.categ" id="categ_phone1">
+ <field name="name">Inbound</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
+
+ </record>
+ <record model="crm.case.categ" id="categ_phone2">
+ <field name="name">Outbound</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
+ </record>
+
+ <!--
+ Case Stage
+ -->
+ <record model="crm.case.stage" id="stage_phone1">
+ <field name="name">Planned</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
+ </record>
+ <record model="crm.case.stage" id="stage_phone2">
+ <field name="name">Held</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
+ </record>
+ <record model="crm.case.stage" id="stage_phone3">
+ <field name="name">Not Held</field>
+ <field name="section_id" ref="section_sales_department"/>
+ <field name="object_id" search="[('model','=','crm.phonecall')]" model="ir.model"/>
+ </record>
</data>
-</openerp> \ No newline at end of file
+</openerp>
diff --git a/addons/crm/crm_phonecall_menu.xml b/addons/crm/crm_phonecall_menu.xml
index f1363456e2c..e269cadfaf1 100644
--- a/addons/crm/crm_phonecall_menu.xml
+++ b/addons/crm/crm_phonecall_menu.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="1">
+<data>
<act_window
id="crm_case_categ_phone_create_partner"
diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml
index 790debb007f..ef068e122a3 100644
--- a/addons/crm/crm_phonecall_view.xml
+++ b/addons/crm/crm_phonecall_view.xml
@@ -38,7 +38,6 @@
<field name="model">crm.phonecall</field>
<field name="type">tree</field>
<field name="arch" type="xml">
-
<tree string="Phone Calls" colors="grey:state in ('cancel','done');blue:state in ('pending',)">
<field name="date" string="Date"/>
<field name="name" string="Call Summary"/>
diff --git a/addons/crm/i18n/es.po b/addons/crm/i18n/es.po
index 974671e9272..a5a1074a2fc 100644
--- a/addons/crm/i18n/es.po
+++ b/addons/crm/i18n/es.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-06-24 03:46+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm
diff --git a/addons/crm/report/crm_lead_report.py b/addons/crm/report/crm_lead_report.py
index a70bd45875d..f9c39c92403 100644
--- a/addons/crm/report/crm_lead_report.py
+++ b/addons/crm/report/crm_lead_report.py
@@ -77,7 +77,6 @@ class crm_lead_report(osv.osv):
'name': fields.char('Year', size=64, required=False, readonly=True),
'user_id':fields.many2one('res.users', 'User', readonly=True),
'section_id':fields.many2one('crm.case.section', 'Section', readonly=True),
- 'nbr': fields.integer('# of Cases', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'avg_answers': fields.function(_get_data, string='Avg. Answers', method=True, type="integer"),
'perc_done': fields.function(_get_data, string='%Done', method=True, type="float"),
@@ -92,10 +91,10 @@ class crm_lead_report(osv.osv):
'create_date': fields.datetime('Create Date', readonly=True),
'day': fields.char('Day', size=128, readonly=True),
'email': fields.integer('# of Emails', size=128, readonly=True),
- 'delay_open': fields.float('Delay to open',digits=(16,2),readonly=True, group_operator="avg",help="Number of Days to open the case"),
+ 'delay_open': fields.float('Delay to Open',digits=(16,2),readonly=True, group_operator="avg",help="Number of Days to open the case"),
+ 'delay_close': fields.float('Delay to Close',digits=(16,2),readonly=True, group_operator="avg",help="Number of Days to close the case"),
'delay_expected': fields.float('Overpassed Deadline',digits=(16,2),readonly=True, group_operator="avg"),
- 'delay_close': fields.float('Delay to close',digits=(16,2),readonly=True, group_operator="avg",help="Number of Days to close the case"),
- 'probability': fields.float('Probability',digits=(16,2),readonly=True),
+ 'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg"),
'planned_revenue': fields.float('Planned Revenue',digits=(16,2),readonly=True),
'categ_id': fields.many2one('crm.case.categ', 'Category',\
domain="[('section_id','=',section_id),\
@@ -107,6 +106,7 @@ class crm_lead_report(osv.osv):
'opening_date': fields.date('Opening Date', readonly=True),
'creation_date': fields.date('Creation Date', readonly=True),
'date_closed': fields.date('Close Date', readonly=True),
+ 'nbr': fields.integer('# of Cases', readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'type':fields.selection([
diff --git a/addons/crm/report/crm_lead_report_view.xml b/addons/crm/report/crm_lead_report_view.xml
index 5292b297c89..c20ea9b48b9 100644
--- a/addons/crm/report/crm_lead_report_view.xml
+++ b/addons/crm/report/crm_lead_report_view.xml
@@ -23,35 +23,15 @@
<field name="partner_id" invisible="1"/>
<field name="day" invisible="1"/>
<field name="nbr" sum="# Leads"/>
- <field name="email" sum="#Mails"/>
- <field name="delay_open" sum='Avg Closing Delay'/>
- <field name="delay_close" sum='Avg Closing Delay'/>
+ <field name="email" sum="# Mails"/>
+ <field name="delay_open"/>
+ <field name="delay_close"/>
<field name="delay_expected"/>
<field name="avg_answers"/>
</tree>
</field>
</record>
-<!-- Leads by user and section Form View -->
-
- <record id="view_report_crm_lead_form" model="ir.ui.view">
- <field name="name">crm.lead.report.form</field>
- <field name="model">crm.lead.report</field>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <form string="Leads Analysis">
- <field name="name" select="1"/>
- <field name="month" select="1"/>
- <field name="user_id" select="1"/>
- <field name="section_id" select="1"/>
- <field name="nbr" select="1"/>
- <field name="delay_close"/>
- <field name="stage_id"/>
- <field name="state" select="1"/>
- </form>
- </field>
- </record>
-
<!-- Leads by user and section Graph View -->
<record id="view_report_crm_lead_graph" model="ir.ui.view">
@@ -59,9 +39,9 @@
<field name="model">crm.lead.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
- <graph orientation="horizontal" string="Leads Analysis" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
+ <graph orientation="vertical" string="Leads Analysis" type="bar">
+ <field name="stage_id"/>
+ <field name="planned_revenue" operator="+"/>
<field group="True" name="user_id"/>
</graph>
</field>
@@ -75,37 +55,49 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Leads Analysis">
- <group col="16" colspan="8">
- <filter string="Last 365 Days" icon="terp-go-year"
- domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"/>
- <filter string="Last 30 Days" icon="terp-go-month" name="This Month"
- domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
+ <group col="20" colspan="8">
+ <filter icon="terp-check"
+ string="Opportunities"
+ name="opportunity"
+ domain="[('type','=','opportunity')]"/>
+ <filter icon="terp-check"
+ string="Leads"
+ name="lead"
+ domain="[('type','=','lead')]"/>
+ <separator orientation="vertical" />
+ <filter string="Last 365 Days" icon="terp-go-year"
+ domain="[('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"/>
+ <filter string="Last 30 Days" icon="terp-go-month" name="this_month"
+ domain="[('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
<filter icon="terp-go-week" string="7 Days" separator="1"
- domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"/>
- <separator orientation="vertical" />
+ domain="[('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"/>
+ <separator orientation="vertical" />
<filter icon="terp-check"
string="Current"
domain="[('state','in',('draft','open')]"/>
<filter icon="terp-check"
string="Pending"
domain="[('state','=','pending')]"/>
- <separator orientation="vertical" />
- <field name="section_id"
- default="context.get('section_id', False)"
- widget="selection"
- context="{'invisible_section': False}">
- <filter icon="terp-crm"
- context="{'invisible_section': False}"
- domain="[('section_id.user_id','=',uid)]"
- help="My section" />
- </field>
- <field name="user_id" widget="selection">
+ <filter icon="terp-check"
+ string="Closed"
+ domain="[('state','=','done')]"/>
+ <separator orientation="vertical" />
+ <field name="section_id"
+ default="context.get('section_id', False)"
+ widget="selection"
+ context="{'invisible_section': False}">
+ <filter icon="terp-crm"
+ context="{'invisible_section': False}"
+ domain="[('section_id.user_id','=',uid)]"
+ help="My section" />
+ </field>
+ <field name="user_id">
<filter icon="terp-personal+" string="My Case" help="My Case" domain="[('user_id','=',uid)]" />
- </field>
+ </field>
</group>
<newline/>
<group expand="0" string="Group By...">
- <filter string="User" name="User" icon="terp-personal"
+ <filter string="User" name="user" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
@@ -133,19 +125,19 @@
<filter string="Year" icon="terp-go-year"
domain="[]" context="{'group_by':'name'}" />
</group>
- <newline/>
- <group expand="0" string="Extended options..." groups="base.group_extended">
- <field name="partner_id"/>
- <separator orientation="vertical"/>
- <field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
- <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
- <separator orientation="vertical"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- <newline/>
- <field name="creation_date"/>
- <field name="opening_date"/>
- <field name="date_closed"/>
- </group>
+ <newline/>
+ <group expand="0" string="Extended options..." groups="base.group_extended">
+ <field name="partner_id"/>
+ <separator orientation="vertical"/>
+ <field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
+ <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
+ <separator orientation="vertical"/>
+ <field name="company_id" widget="selection" groups="base.group_multi_company"/>
+ <newline/>
+ <field name="creation_date"/>
+ <field name="opening_date"/>
+ <field name="date_closed"/>
+ </group>
</search>
</field>
</record>
@@ -187,10 +179,9 @@
<field name="name">Leads Analysis</field>
<field name="res_model">crm.lead.report</field>
<field name="view_type">form</field>
- <field name="context">{"search_default_User":1,"search_default_This Month":1,'group_by_no_leaf':1,'group_by':[]}</field>
+ <field name="context">{'search_default_lead':1, "search_default_user":1,"search_default_this_month":1,'group_by_no_leaf':1,'group_by':[]}</field>
<field name="view_mode">tree,graph</field>
- <field name="domain">['|',('type', '=', 'lead'),('type', '=', False)]</field>
- <field name="search_view_id" ref="view_report_crm_lead_filter"/>
+ <field name="domain">[]</field>
</record>
<record model="ir.actions.act_window.view" id="action_report_crm_lead_tree">
@@ -211,10 +202,9 @@
<field name="name">Opportunities Analysis</field>
<field name="res_model">crm.lead.report</field>
<field name="view_type">form</field>
- <field name="context">{"search_default_User":1,"search_default_This Month":1,'group_by_no_leaf':1,'group_by':[]}</field>
+ <field name="context">{"search_default_opportunity": 1, "search_default_user":1,"search_default_this_month":1,'group_by_no_leaf':1,'group_by':[]}</field>
<field name="view_mode">tree,graph</field>
- <field name="domain">[('type', '=', 'opportunity')]</field>
- <field name="search_view_id" ref="view_report_crm_lead_filter"/>
+ <field name="domain">[]</field>
</record>
<record model="ir.actions.act_window.view" id="action_report_crm_opportunity_tree">
diff --git a/addons/crm/report/crm_phonecall_report_view.xml b/addons/crm/report/crm_phonecall_report_view.xml
index ccc6cd677f4..c0f812886cf 100644
--- a/addons/crm/report/crm_phonecall_report_view.xml
+++ b/addons/crm/report/crm_phonecall_report_view.xml
@@ -68,69 +68,69 @@
<!-- Phone calls by user and section Search View -->
- <record id="view_report_crm_phonecall_filter" model="ir.ui.view">
+ <record id="view_report_crm_phonecall_filter" model="ir.ui.view">
<field name="name">crm.phonecall.report.select</field>
<field name="model">crm.phonecall.report</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search">
<group col="16" colspan="8">
- <!-- <filter string="This Year" name="This Year" icon="terp-hr"
- domain="[('name','=',time.localtime()[0])]"/>-->
- <filter string="This Year" icon="terp-go-year"
- domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"/>
+ <!-- <filter string="This Year" name="This Year" icon="terp-hr"
+ domain="[('name','=',time.localtime()[0])]"/>-->
+ <filter string="This Year" icon="terp-go-year"
+ domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"/>
- <!-- <filter string="This Month" name="This Year" icon="terp-hr"
- domain="[('month','=',time.strftime('%%m'))]" />-->
+ <!-- <filter string="This Month" name="This Year" icon="terp-hr"
+ domain="[('month','=',time.strftime('%%m'))]" />-->
<filter string="This Month" icon="terp-go-month" name="This Month"
- domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
+ domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
<filter icon="terp-go-week" string="7 Days" separator="1"
domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"/>
- <separator orientation="vertical" />
+ <separator orientation="vertical" />
<filter icon="terp-check"
- string="Current"
- domain="[('state','in',('draft','oprn'))]"/>
+ string="Current"
+ domain="[('state','in',('draft','oprn'))]"/>
<filter icon="terp-hr"
- string="Pending"
- domain="[('state','=','pending')]"/>
+ string="Pending"
+ domain="[('state','=','pending')]"/>
<filter icon="terp-sale"
- string="Done"
- domain="[('state','=','done')]"/>
+ string="Done"
+ domain="[('state','=','done')]"/>
- <separator orientation="vertical" />
+ <separator orientation="vertical" />
<filter string="Stage" icon="terp-crm" domain="[]"
context="{'group_by':'stage_id'}" />
- <filter icon="terp-personal+"
- context="{'invisible_section': False}"
- domain="[('section_id.user_id','=',uid)]"
- help="My section" />
+ <filter icon="terp-personal+"
+ context="{'invisible_section': False}"
+ domain="[('section_id.user_id','=',uid)]"
+ help="My section" />
- <field name="user_id" select="1" widget="selection">
- <filter icon="terp-crm" string="My Case" help="My Case" domain="[('user_id','=',uid)]" />
- </field>
+ <field name="user_id" select="1">
+ <filter icon="terp-crm" string="My Case" help="My Case" domain="[('user_id','=',uid)]" />
+ </field>
</group>
- <newline/>
+ <newline/>
<group expand="0" string="Group By...">
<filter string="User" name="User" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
<filter string="Section" icon="terp-sale"
- domain="[]"
- context="{'group_by':'section_id'}" />
+ domain="[]"
+ context="{'group_by':'section_id'}" />
<filter string="Category" icon="terp-stock_symbol-selection"
- domain="[]" context="{'group_by':'categ_id'}" />
+ domain="[]" context="{'group_by':'categ_id'}" />
<separator orientation="vertical" />
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<separator orientation="vertical"/>
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
<separator orientation="vertical" />
<filter string="State" icon="terp-stock_effects-object-colorize"
- domain="[]" context="{'group_by':'state'}" />
+ domain="[]" context="{'group_by':'state'}" />
<separator orientation="vertical" />
<filter string="Company" icon="terp-go-home"
domain="[]"
@@ -147,12 +147,12 @@
<newline/>
<group expand="0" string="Extended options..." groups="base.group_extended">
<field name="partner_id"/>
- <separator orientation="vertical"/>
- <field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
- <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
+ <separator orientation="vertical"/>
+ <field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
+ <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
- <newline/>
+ <newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed"/>
diff --git a/addons/crm/res_partner.py b/addons/crm/res_partner.py
index 3d2dc0373a5..2dbae32ad98 100644
--- a/addons/crm/res_partner.py
+++ b/addons/crm/res_partner.py
@@ -24,17 +24,14 @@ from osv import fields,osv
class res_partner(osv.osv):
""" Inherits partner and adds CRM information in the partner form """
_inherit = 'res.partner'
-
_columns = {
- 'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\
- 'Opportunities', readonly=True, \
- domain=[('type', '=', 'opportunity')]),
- 'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\
- 'Meetings', readonly=True),
- 'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id',\
- 'Phonecalls', readonly=True),
- }
-
+ 'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\
+ 'Leads and Opportunities'),
+ 'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\
+ 'Meetings'),
+ 'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id',\
+ 'Phonecalls'),
+ }
res_partner()
diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml
index 769cb5d5c81..3ae772b2b85 100644
--- a/addons/crm/res_partner_view.xml
+++ b/addons/crm/res_partner_view.xml
@@ -4,62 +4,70 @@
<!-- Partners inherited form -->
-<!-- <record id="view_crm_partner_info_form" model="ir.ui.view">-->
-<!-- <field name="name">res.partner.crm.info.inherit</field>-->
-<!-- <field name="model">res.partner</field>-->
-<!-- <field name="type">form</field>-->
-<!-- <field name="inherit_id" ref="base.view_partner_form"/>-->
-<!-- <field name="arch" type="xml">-->
-<!-- <xpath expr="//notebook[last()]" position="after">-->
-<!-- <notebook colspan="4">-->
-<!-- <page string="CRM">-->
-<!-- <field name="meeting_ids" colspan="4" nolabel="1" />-->
-<!-- <field name="phonecall_ids" colspan="4" nolabel="1" />-->
-<!-- <field name="opportunity_ids" colspan="4" nolabel="1" domain="[('type', '=', 'opportunity')]">-->
-<!-- <tree string="Opportunities" colors="blue:state=='pending';grey:state in ('cancel', 'done')">-->
-<!-- <field name="create_date"/>-->
-<!-- <field name="partner_name"/>-->
-<!-- <field name="name"/>-->
-<!-- <field name="email_from"/>-->
-<!-- <field name="phone"/>-->
-<!-- -->
-<!-- <field name="categ_id" invisible="1"/>-->
-<!-- <field name="type_id" invisible="1"/>-->
-<!-- <field name="referred" invisible="1"/>-->
-<!-- -->
-<!-- <field name="stage_id"/>-->
-<!-- <button name="stage_previous" string="Previous"-->
-<!-- states="open,pending" type="object" icon="gtk-go-back" />-->
-<!-- <button name="stage_next" string="Next"-->
-<!-- states="open,pending" type="object"-->
-<!-- icon="gtk-go-forward" />-->
-<!-- <field name="section_id"-->
-<!-- invisible="context.get('invisible_section', True)" />-->
-<!-- <field name="user_id" />-->
-<!-- <field name="state" />-->
-<!-- <button name="case_open" string="Open"-->
-<!-- states="draft,pending" type="object"-->
-<!-- icon="gtk-go-forward" />-->
-<!-- <button name="case_close" string="Close"-->
-<!-- states="open,draft,pending" type="object"-->
-<!-- icon="gtk-close" />-->
-<!-- <button string="Convert to Opportunity"-->
-<!-- name="convert_opportunity"-->
-<!-- states="draft,open,pending" icon="gtk-index"-->
-<!-- type="object" />-->
-<!-- <button name="case_escalate" string="Escalate"-->
-<!-- states="open,draft,pending" type="object"-->
-<!-- icon="gtk-go-up" />-->
-<!-- <button name="case_cancel" string="Cancel"-->
-<!-- states="draft,open,pending" type="object"-->
-<!-- icon="gtk-cancel" />-->
-<!-- </tree>-->
-<!-- </field>-->
-<!-- </page>-->
-<!-- </notebook>-->
-<!-- </xpath>-->
-<!-- </field>-->
-<!-- </record>-->
-
+ <record id="view_crm_partner_info_form1" model="ir.ui.view">
+ <field name="name">res.partner.crm.info.inherit1</field>
+ <field name="model">res.partner</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="base.view_partner_form"/>
+ <field name="arch" type="xml">
+ <page string="History" position="inside">
+ <field name="opportunity_ids" colspan="4" nolabel="1">
+ <tree string="Opportunities" colors="blue:state=='pending';grey:state=='cancel')">
+ <field name="create_date"/>
+ <field name="name"/>
+ <field name="type"/>
+ <field name="stage_id"/>
+ <button name="stage_previous" string="Previous"
+ states="open,pending" type="object" icon="gtk-go-back" />
+ <button name="stage_next" string="Next"
+ states="open,pending" type="object"
+ icon="gtk-go-forward" />
+ <field name="section_id"
+ invisible="context.get('invisible_section', True)" />
+ <field name="user_id" />
+ <field name="state" />
+ <button name="case_open" string="Open"
+ states="draft,pending" type="object"
+ icon="gtk-go-forward" />
+ <button name="case_close" string="Close"
+ states="open,draft,pending" type="object"
+ icon="gtk-close" />
+ <button string="Convert to Opportunity"
+ name="convert_opportunity"
+ states="draft,open,pending" icon="gtk-index"
+ type="object" />
+ <button name="case_escalate" string="Escalate"
+ states="open,draft,pending" type="object"
+ icon="gtk-go-up" />
+ <button name="case_cancel" string="Cancel"
+ states="draft,open,pending" type="object"
+ icon="gtk-cancel" />
+ </tree>
+ </field>
+ <field name="meeting_ids" colspan="4" nolabel="1" >
+ <tree string="Meetings" colors="gray:state in ('draft', 'cancel','done','pending')">
+ <field name="user_id" string="Responsible"/>
+ <field name="name" string="Subject" />
+ <field name="date" string="Start Date" />
+ <field name="date_deadline" string="End Date"/>
+ </tree>
+ </field>
+ <field name="phonecall_ids" colspan="4" nolabel="1">
+ <tree string="Phone Calls" colors="gray:state in ('draft', 'cancel','done','pending')">
+ <field name="date" string="Date"/>
+ <field name="name" string="Call Summary"/>
+ <field name="categ_id"/>
+ <field name="user_id"/>
+ <field name="state"/>
+ <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
+ <button name="case_close" string="Held" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
+ <button name="case_pending" string="Not Held" states="open" type="object" icon="gtk-media-pause"/>
+ <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
+ </tree>
+ </field>
+ </page>
+ </field>
+ </record>
</data>
</openerp>
+
diff --git a/addons/crm/security/ir.model.access.csv b/addons/crm/security/ir.model.access.csv
index 595e63736bf..3d9921db9ec 100644
--- a/addons/crm/security/ir.model.access.csv
+++ b/addons/crm/security/ir.model.access.csv
@@ -4,32 +4,27 @@
"access_crm_segmentation","crm.segmentation","model_crm_segmentation","crm.group_crm_manager",1,1,1,1
"access_crm_segmentation_line","crm.segmentation.line","model_crm_segmentation_line","crm.group_crm_manager",1,1,1,1
"access_crm_case_section","crm.case.section","model_crm_case_section","crm.group_crm_user",1,0,0,0
-"access_crm_case_categ","crm.case.categ","model_crm_case_categ","crm.group_crm_user",1,0,0,0
+"access_crm_case_categ","crm.case.categ","model_crm_case_categ","base.group_user",1,0,0,0
"access_crm_meeting","crm.meeting","model_crm_meeting","crm.group_crm_user",1,1,1,1
+"access_crm_meeting_all","crm.meeting"_allll,"model_crm_meeting","base.group_user",1,0,0,0
"access_crm_lead","crm.lead","model_crm_lead","crm.group_crm_user",1,1,1,1
+"access_crm_lead.all","crm.lead.all","model_crm_lead","base.group_user",1,0,0,0
"access_crm_phonecall","crm.phonecall","model_crm_phonecall","crm.group_crm_user",1,1,1,1
+"access_crm_phonecall.all","crm.phonecall.all","model_crm_phonecall","base.group_user",1,0,0,0
"access_crm_case_section_user","crm.case.section.user","model_crm_case_section","crm.group_crm_user",1,0,0,0
"access_crm_case_section_manager","crm.case.section.manager","model_crm_case_section","crm.group_crm_manager",1,1,1,1
"access_crm_case_categ_user","crm.case.categ.user","model_crm_case_categ","crm.group_crm_user",1,0,0,0
"access_crm_case_categ_manager","crm.case.categ.manager","model_crm_case_categ","crm.group_crm_manager",1,1,1,1
-"access_crm_case_stage","crm.case.stage","model_crm_case_stage","crm.group_crm_user",1,0,0,0
+"access_crm_case_stage","crm.case.stage","model_crm_case_stage","base.group_user",1,0,0,0
"access_crm_case_stage_manager","crm.case.stage","model_crm_case_stage","crm.group_crm_manager",1,1,1,1
"access_crm_case_resource_type_user","crm_case_resource_type user","model_crm_case_resource_type","crm.group_crm_user",1,0,0,0
"access_crm_case_resource_type_manager","crm_case_resource_type manager","model_crm_case_resource_type","crm.group_crm_manager",1,1,1,1
"access_crm_lead_report_manager","crm.lead.report","model_crm_lead_report","crm.group_crm_manager",1,0,0,0
"access_crm_phonecall_report_manager","crm.phonecall.report","model_crm_phonecall_report","crm.group_crm_manager",1,0,0,0
-"access_crm_lead2partner","crm.lead2partner","model_crm_lead2partner","crm.group_crm_user",1,1,1,1
-"access_crm_lead2opportunity","crm.lead2opportunity","model_crm_lead2opportunity","crm.group_crm_user",1,1,1,1
-"access_crm_opportunity2phonecall","crm.opportunity2phonecall","model_crm_opportunity2phonecall","crm.group_crm_user",1,1,1,1
-"access_crm_phonecall2phonecall","crm.phonecall2phonecall","model_crm_phonecall2phonecall","crm.group_crm_user",1,1,1,1
-"access_crm_phonecall2partner","crm.phonecall2partner","model_crm_phonecall2partner","crm.group_crm_user",1,1,1,1
-"access_crm_phonecall2opportunity","crm.phonecall2opportunity","model_crm_phonecall2opportunity","crm.group_crm_user",1,1,1,1
"access_crm_send_mail","crm.send.mail","model_crm_send_mail","crm.group_crm_user",1,1,1,1
"access_crm_send_mail_attachment","crm.send.mail.attachment","model_crm_send_mail_attachment","crm.group_crm_user",1,1,1,1
"access_crm_partner2opportunity","crm.partner2opportunity","model_crm_partner2opportunity","crm.group_crm_user",1,1,1,1
-"access_crm_lead2opportunity_partner","crm.lead2opportunity.partner","model_crm_lead2opportunity_partner","crm.group_crm_user",1,1,1,1
"access_crm_installer","crm.installer.rule","model_crm_installer","base.group_system",1,1,1,1
-"access_crm_lead_forward_to_partner","crm.lead.forward.to.partner","model_crm_lead_forward_to_partner","crm.group_crm_user",1,1,1,1
"access_res_partner","res.partner.crm.user","base.model_res_partner","crm.group_crm_user",1,0,0,0
"access_res_partner_address","res.partner.address.crm.user","base.model_res_partner_address","crm.group_crm_user",1,0,0,0
"access_res_partner_category","res.partner.category.crm.user","base.model_res_partner_category","crm.group_crm_user",1,0,0,0
diff --git a/addons/crm/wizard/crm_forward_to_partner.py b/addons/crm/wizard/crm_forward_to_partner.py
index afae01ca2fe..f6f43ed7f38 100644
--- a/addons/crm/wizard/crm_forward_to_partner.py
+++ b/addons/crm/wizard/crm_forward_to_partner.py
@@ -20,10 +20,12 @@
#
##############################################################################
-from osv import osv, fields
+import base64
+import itertools
-from tools.translate import _
+from osv import osv, fields
import tools
+from tools.translate import _
class crm_lead_forward_to_partner(osv.osv_memory):
"""Forwards lead history"""
@@ -31,20 +33,28 @@ class crm_lead_forward_to_partner(osv.osv_memory):
_columns = {
'name': fields.selection([('user', 'User'), ('partner', 'Partner'), \
- ('email', 'Email Address')], 'Send to', required=True),
- '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),
+ ('email', 'Email Address')], 'Send to', required=True),
+ '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="Selcect if you want this user to add as cc for this case.This user will receive all future conversations"),
+ '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"),
}
-
+
+ _defaults = {
+ 'name' : 'email',
+ 'history': 'latest',
+ 'add_cc': True,
+ 'email_from': lambda self, cr, uid, *a: self.pool.get('res.users')._get_email_from(cr, uid, uid)[uid]
+ }
+
def get_whole_history(self, cr, uid, ids, context=None):
- """This function gets whole communication history and returns as top posting style
+ """This function gets whole communication history and returns as top posting style
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
@@ -87,13 +97,10 @@ class crm_lead_forward_to_partner(osv.osv_memory):
"""
if not user:
return {'value': {'email_to': False}}
- email = False
- addr = self.pool.get('res.users').read(cr, uid, user, ['address_id'])['address_id']
- if addr:
- email = self.pool.get('res.partner.address').read(cr, uid, addr[0] , ['email'])['email']
+ email = self.pool.get('res.users')._get_email_from(cr, uid, [user])[user]
return {'value': {'email_to': email}}
- def on_change_history(self, cr, uid, ids, history, context=None):
+ def on_change_history(self, cr, uid, ids, history_type, context=None):
"""Gives message body according to type of history selected
* info: Forward the case information
* whole: Send the whole history
@@ -106,31 +113,36 @@ class crm_lead_forward_to_partner(osv.osv_memory):
"""
#TODO: ids and context are not comming
res = False
- msg_val = ''
res_id = context.get('active_id')
- model = context.get('active_model')
- model_pool = self.pool.get(model)
- if not res_id or not model:
- return res
- if history == 'info':
+ msg_val = self._get_case_history(cr, uid, history_type, res_id, context=context)
+ if msg_val:
+ res = {'value': {'message' : '\n\n' + msg_val}}
+ return res
+
+ def _get_case_history(self, cr, uid, history_type, res_id, context=None):
+ if not res_id:
+ return
+
+ msg_val = ''
+ model_pool = self.pool.get('crm.lead')
+ print history_type
+ if history_type == 'info':
msg_val = self.get_lead_details(cr, uid, res_id, context=context)
- if history == 'whole':
+ elif history_type == 'whole':
log_ids = model_pool.browse(cr, uid, res_id, context=context).message_ids
- log_ids = map(lambda x: x.id, log_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)
- if history == 'latest':
+ 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)
- if msg_val:
- res = {'value': {'message' : '\n\n' + msg_val}}
- return res
+ return msg_val
def on_change_partner(self, cr, uid, ids, partner_id):
"""This function fills address information based on partner/user selected
@@ -169,7 +181,7 @@ class crm_lead_forward_to_partner(osv.osv_memory):
context = {}
res_id = context.get('active_id', False)
-
+
model = context.get('active_model', False)
if not res_id or not model:
return {}
@@ -184,19 +196,35 @@ class crm_lead_forward_to_partner(osv.osv_memory):
body = case_pool.format_body(this.message)
email_from = this.email_from or False
- flag = False
- flag = tools.email_send(
- email_from,
- emails,
- this.subject,
- body,
+ # 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]))
+
+ result = tools.email_send(
+ email_from,
+ emails,
+ this.subject,
+ body,
+ openobject_id=str(case.id),
+ attach=[(a.datas_fname or a.name, base64.decodestring(a.datas)) for a in attachments if a.datas],
+ reply_to=case.section_id.reply_to,
)
- if flag:
+
+ if result:
case_pool._history(cr, uid, [case], _('Forward'), history=True, email=this.email_to, subject=this.subject, details=body, email_from=email_from)
- if not flag:
- raise osv.except_osv(_('Error!'), _('Unable to send mail. Please check SMTP is configured properly.'))
- if this.add_cc:
+ 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})
+
return {}
def get_lead_details(self, cr, uid, lead_id, context=None):
@@ -209,11 +237,11 @@ class crm_lead_forward_to_partner(osv.osv_memory):
'zip', 'city', 'country_id', 'state_id', 'email_from',
'phone', 'fax', 'mobile'
]
-
+
for field_name in field_names:
field_definition = lead_proxy._columns[field_name]
value = None
-
+
if field_definition._type == 'selection':
if hasattr(field_definition.selection, '__call__'):
key = field_definition.selection(lead_proxy, cr, uid, context=context)
@@ -225,7 +253,7 @@ class crm_lead_forward_to_partner(osv.osv_memory):
value = lead[field_name].name_get()[0][1]
else:
value = lead[field_name]
-
+
message.append("%s: %s" % (field_definition.string, value or ''))
elif lead.type == 'opportunity':
pa = lead.partner_address_id
@@ -246,7 +274,7 @@ class crm_lead_forward_to_partner(osv.osv_memory):
"Mobile: %s" % (pa.mobile or ''),
]
return "\n".join(message + ['---'])
-
+
def default_get(self, cr, uid, fields, context=None):
"""
This function gets default values
@@ -254,29 +282,21 @@ class crm_lead_forward_to_partner(osv.osv_memory):
if context is None:
context = {}
- active_ids = context.get('active_ids')
- if not active_ids:
- return {}
+ defaults = super(crm_lead_forward_to_partner, self).default_get(cr, uid, fields, context=context)
+
+ active_id = context.get('active_id')
+ if not active_id:
+ return defaults
lead_proxy = self.pool.get('crm.lead')
- lead = lead_proxy.browse(cr, uid, active_ids[0], context=context)
- message = False
-
- user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
- email_from = ''
- if user.address_id and user.address_id.email:
- email_from = "%s <%s>" % (user.name, user.address_id.email)
-
- message = self.get_lead_details(cr, uid, lead.id, context=context)
-
- res = {
- 'email_from' : email_from,
- 'subject' : '[%s-Forward:%06d] %s' % (lead.type.title(), lead.id, lead.name),
- 'message' : message,
- }
- if 'history' in fields:
- res.update({'history': 'info'})
- return res
+ 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)
+ defaults.update({
+ 'subject' : '%s: %s' % (_('Fwd'), lead.name),
+ 'message' : message,
+ })
+ return defaults
crm_lead_forward_to_partner()
diff --git a/addons/crm/wizard/crm_forward_to_partner_view.xml b/addons/crm/wizard/crm_forward_to_partner_view.xml
index b6295cfa3a9..e8a60cea01f 100644
--- a/addons/crm/wizard/crm_forward_to_partner_view.xml
+++ b/addons/crm/wizard/crm_forward_to_partner_view.xml
@@ -7,28 +7,24 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Forward to Partner">
- <separator string="User" colspan="4" />
+ <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="Send to" colspan="4" />
+ <separator string="Recipient" colspan="4" />
<field name="name" colspan="2" />
- <group col="2" colspan="2" attrs="{ 'invisible' : [('name','!=','user')]}">
+ <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>
- <field colspan="4" name="email_to" attrs="{ 'required' : [('name','=','email')]}" />
- <newline/>
- <group colspan="2" col="2">
- <field name="add_cc" colspan="2"/>
- </group>
- <separator string="Email" colspan="4" />
+ <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" />
- <separator string="Mesage body" colspan="4" />
<field name="message" colspan="4" nolabel="1"/>
<separator string="" colspan="4" />
<group colspan="4" col="2">
diff --git a/addons/crm/wizard/crm_lead_to_opportunity.py b/addons/crm/wizard/crm_lead_to_opportunity.py
index 12edf5edc6d..5560ec507bf 100644
--- a/addons/crm/wizard/crm_lead_to_opportunity.py
+++ b/addons/crm/wizard/crm_lead_to_opportunity.py
@@ -81,10 +81,11 @@ class crm_lead2opportunity(osv.osv_memory):
'partner_id': this.partner_id.id,
'type': 'opportunity'
}
-
lead_obj.write(cr, uid, lead.id, vals, context=context)
-
lead_obj._history(cr, uid, [lead], _('Opportunity'), details='Converted to Opportunity', context=context)
+ if lead.partner_id:
+ msg_ids = [ x.id for x in lead.message_ids]
+ self.pool.get('mailgate.message').write(cr, uid, msg_ids, {'partner_id': lead.partner_id.id}, context=context)
value = {
'name': _('Opportunity'),
diff --git a/addons/crm/wizard/crm_send_email.py b/addons/crm/wizard/crm_send_email.py
index 480ea0f10a1..d790d9b7a0a 100644
--- a/addons/crm/wizard/crm_send_email.py
+++ b/addons/crm/wizard/crm_send_email.py
@@ -53,7 +53,8 @@ class crm_send_new_email(osv.osv_memory):
_columns = {
'email_to' : fields.char('To', size=64, required=True),
'email_from' : fields.char('From', size=64, required=True),
- 'email_cc' : fields.char('CC', size=128),
+ 'email_cc' : fields.char('CC', size=128, 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=128, required=True),
'text': fields.text('Message', required=True),
'state': fields.selection(crm.AVAILABLE_STATES, string='Set New State To', required=True),
@@ -92,15 +93,14 @@ class crm_send_new_email(osv.osv_memory):
case = case_pool.browse(cr, uid, res_id)
if context.get('mail', 'new') == 'new':
- if len(case.message_ids):
+ if case.message_ids:
message_id = case.message_ids[0].message_id
else:
hist = hist_obj.browse(cr, uid, res_id)
message_id = hist.message_id
model = hist.model
model_pool = self.pool.get(model)
- res_ids = model_pool.search(cr, uid, [('thread_id','=', hist.thread_id.id)])
- res_id = res_ids and res_ids[0] or False
+ res_id = hist.res_id
case = model_pool.browse(cr, uid, res_id)
emails = [obj.email_to]
email_cc = (obj.email_cc or '').split(',')
@@ -109,16 +109,10 @@ class crm_send_new_email(osv.osv_memory):
body = case_pool.format_body(body)
email_from = getattr(obj, 'email_from', False)
-
- x_headers = {
- 'model': model,
- 'resource-id': res_id
- }
+ x_headers = {}
if message_id:
x_headers['References'] = "%s" % (message_id)
- flag = False
-
flag = tools.email_send(
email_from,
emails,
@@ -126,10 +120,11 @@ class crm_send_new_email(osv.osv_memory):
body,
email_cc=email_cc,
attach=attach,
- reply_to=case.section_id and case.section_id.reply_to or email_from,
+ reply_to=case.section_id and case.section_id.reply_to,
openobject_id=str(case.id),
x_headers=x_headers
)
+
if not flag:
raise osv.except_osv(_('Error!'), _('Unable to send mail. Please check SMTP is configured properly.'))
if flag:
@@ -170,23 +165,23 @@ class crm_send_new_email(osv.osv_memory):
mod_obj = self.pool.get(model)
res_id = context and context.get('active_ids', []) or []
+ user_obj = self.pool.get('res.users')
+ user_mail_from = user_obj._get_email_from(cr, uid, [uid], context=context)[uid]
+
for case in mod_obj.browse(cr, uid, res_id):
if 'email_to' in fields:
res.update({'email_to': case.email_from})
if 'email_from' in fields:
- res.update({'email_from': (case.section_id and case.section_id.reply_to) or \
- (case.user_id and case.user_id.address_id and \
- case.user_id.address_id.email and \
- "%s <%s>" % (case.user_id.name, case.user_id.address_id.email)) or \
- tools.config.get('email_from',False)})
+ res.update({'email_from': user_mail_from})
if 'subject' in fields:
- res.update({'subject': '[%s] %s' % (str(case.id), context.get('subject', case.name) or '')})
+ res.update({'subject': str(context.get('subject', case.name) or '')})
if 'email_cc' in fields:
res.update({'email_cc': case.email_cc or ''})
if 'text' in fields:
res.update({'text': '\n\n'+(case.user_id.signature or '')})
if 'state' in fields:
res.update({'state': 'pending'})
+
return res
def get_reply_defaults(self, cr, uid, fields, context=None):
@@ -196,6 +191,9 @@ class crm_send_new_email(osv.osv_memory):
hist_obj = self.pool.get('mailgate.message')
res_ids = context and context.get('active_ids', []) or []
+ user_obj = self.pool.get('res.users')
+ user_mail_from = user_obj._get_email_from(cr, uid, [uid], context=context)[uid]
+
include_original = context and context.get('include_original', False) or False
res = {}
for hist in hist_obj.browse(cr, uid, res_ids, context=context):
@@ -206,15 +204,12 @@ class crm_send_new_email(osv.osv_memory):
return {}
model_pool = self.pool.get(model)
- res_ids = model_pool.search(cr, uid, [('thread_id','=', hist.thread_id.id)])
- res_id = res_ids and res_ids[0] or False
+ res_id = hist.res_id
case = model_pool.browse(cr, uid, res_id)
if 'email_to' in fields:
res.update({'email_to': case.email_from or hist.email_from or False})
if 'email_from' in fields:
- res.update({'email_from': (case.section_id and case.section_id.reply_to) or \
- (case.user_id and case.user_id.address_id and \
- case.user_id.address_id.email) or hist.email_to or tools.config.get('email_from',False)})
+ res.update({'email_from': user_mail_from})
signature = '\n' + (case.user_id.signature or '')
original = [signature]
@@ -257,13 +252,6 @@ class crm_send_new_email(osv.osv_memory):
return True
if tools.config.get('email_from'):
return True
-
- for case in mod_obj.browse(cr, uid, context.get('active_ids', [])):
- if not case.user_id:
- raise osv.except_osv(_('Error'), _('You must define a responsible user for this case in order to use this action!'))
- if not case.user_id.address_id.email:
- raise osv.except_osv(_('Warning!'), _("Please specify user's email address !"))
-
return True
crm_send_new_email()
diff --git a/addons/crm/wizard/crm_send_email_view.xml b/addons/crm/wizard/crm_send_email_view.xml
index c0125014c1a..b5af4004801 100644
--- a/addons/crm/wizard/crm_send_email_view.xml
+++ b/addons/crm/wizard/crm_send_email_view.xml
@@ -10,12 +10,11 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Send New Mail" col="4">
- <separator string="Send New Mail" colspan="4"/>
- <group colspan="4" col="6">
- <field name="email_from" />
- <field name="email_to" />
- <field name="email_cc" />
- <field name="subject" colspan="6"/>
+ <group colspan="4" col="2">
+ <field name="email_from"/>
+ <field name="email_to" />
+ <field name="email_cc"/>
+ <field name="subject"/>
</group>
<notebook colspan="6">
<page string="Message">
diff --git a/addons/crm_claim/crm_claim_menu.xml b/addons/crm_claim/crm_claim_menu.xml
index 40f077d49f0..14754ff7857 100644
--- a/addons/crm_claim/crm_claim_menu.xml
+++ b/addons/crm_claim/crm_claim_menu.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
- <data noupdate="1">
+ <data>
<menuitem id="base.menu_aftersale" name="After-Sale Services"
groups="base.group_extended"
diff --git a/addons/crm_profiling/i18n/el.po b/addons/crm_profiling/i18n/el.po
index ce6a20ea15a..e9a707120e7 100644
--- a/addons/crm_profiling/i18n/el.po
+++ b/addons/crm_profiling/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/document/__openerp__.py b/addons/document/__openerp__.py
index 5e1aa939b54..e8b8b3969e9 100644
--- a/addons/document/__openerp__.py
+++ b/addons/document/__openerp__.py
@@ -43,10 +43,10 @@
'depends': ['base', 'process','board'],
'init_xml': [],
'update_xml': [
+ 'security/document_security.xml',
'document_view.xml',
'document_data.xml',
'wizard/document_configuration_view.xml',
- 'security/document_security.xml',
'security/ir.model.access.csv',
'report/document_report_view.xml',
'board_document_view.xml',
diff --git a/addons/document/board_document_demo.xml b/addons/document/board_document_demo.xml
index 6f8f8ffa39e..672fb5cb268 100644
--- a/addons/document/board_document_demo.xml
+++ b/addons/document/board_document_demo.xml
@@ -6,12 +6,12 @@
Administrator shortcut
Demo user startup menu
-->
- <record model="ir.ui.view_sc" id="sc_document_dash">
+ <!-- <record model="ir.ui.view_sc" id="sc_document_dash">
<field name="name">Documents dashboard</field>
<field name="user_id" ref="base.user_root"/>
<field name="resource">ir.ui.menu</field>
<field name="sequence">1</field>
<field name="res_id" ref="menu_board_document_manager"/>
- </record>
+ </record> -->
</data>
</openerp>
diff --git a/addons/document/document_view.xml b/addons/document/document_view.xml
index 8fcd791144e..f40074df644 100644
--- a/addons/document/document_view.xml
+++ b/addons/document/document_view.xml
@@ -3,7 +3,7 @@
<!--<menuitem name="Document Management" icon="terp-stock" id="menu_document"/>
<menuitem name="Document Configuration" id="menu_document_configuration" parent="menu_document"/>-->
- <menuitem name="Knowledge" icon="terp-stock" id="base.menu_document" sequence="19" groups="base.group_user"/>
+ <menuitem name="Knowledge" icon="terp-stock" id="base.menu_document" sequence="19" groups="group_document_user"/>
<menuitem name="Configuration" id="base.menu_document_configuration" parent="base.menu_document" sequence="50"/>
<menuitem name="Document Management" id="menu_document_management_configuration" parent="base.menu_document_configuration" sequence="1"/>
@@ -288,7 +288,7 @@
<field name="res_model">ir.attachment</field>
<field name="view_type">form</field>
<field name="domain">[('parent_id','child_of',active_id)]</field>
- <field name="context">{'parent_id':'active_id'}</field>
+ <field name="context">{'parent_id':active_id}</field>
</record>
<record model="ir.values" id="ir_action_document_file_directory_form">
diff --git a/addons/document/i18n/el.po b/addons/document/i18n/el.po
index 9b425c31b89..56b87d3cc6d 100644
--- a/addons/document/i18n/el.po
+++ b/addons/document/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: document
diff --git a/addons/document/i18n/es.po b/addons/document/i18n/es.po
index c491e4daa8d..1c062b61792 100644
--- a/addons/document/i18n/es.po
+++ b/addons/document/i18n/es.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: document
diff --git a/addons/document/report/document_report.py b/addons/document/report/document_report.py
index d3964fc2d99..2294aacbd10 100644
--- a/addons/document/report/document_report.py
+++ b/addons/document/report/document_report.py
@@ -53,7 +53,8 @@ class report_document_user(osv.osv):
'partner':fields.char('Partner',size=64,readonly=True),
}
def init(self, cr):
- cr.execute("""
+ tools.drop_view_if_exists(cr, 'report_document_user')
+ cr.execute("""
create or replace view report_document_user as (
select
min(f.id) as id,
@@ -72,7 +73,7 @@ class report_document_user(osv.osv):
inner join res_users u on (f.user_id=u.id)
group by to_char(f.create_date, 'YYYY'), to_char(f.create_date, 'MM'),d.name,f.parent_id,d.type,f.create_date,f.user_id,f.file_size,u.name,d.type,f.write_date
)
- """)
+ """)
report_document_user()
class report_files_partner(osv.osv):
@@ -119,7 +120,8 @@ class report_document_file(osv.osv):
}
_order = "month"
def init(self, cr):
- cr.execute("""
+ tools.drop_view_if_exists(cr, 'report_document_file')
+ cr.execute("""
create or replace view report_document_file as (
select min(f.id) as id,
count(*) as nbr,
@@ -128,7 +130,7 @@ class report_document_file(osv.osv):
from ir_attachment f
group by EXTRACT(MONTH FROM f.create_date)
)
- """)
+ """)
report_document_file()
@@ -145,7 +147,8 @@ class report_document_wall(osv.osv):
}
def init(self, cr):
- cr.execute("""
+ tools.drop_view_if_exists(cr, 'report_document_wall')
+ cr.execute("""
create or replace view report_document_wall as (
select max(f.id) as id,
to_char(min(f.create_date),'YYYY-MM-DD HH24:MI:SS') as last,
@@ -159,7 +162,7 @@ class report_document_wall(osv.osv):
group by i.user_id) group by f.user_id,f.create_date
having (CURRENT_DATE - to_date(to_char(f.create_date,'YYYY-MM-DD'),'YYYY-MM-DD')) > 30
)
- """)
+ """)
report_document_wall()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/document/security/document_security.xml b/addons/document/security/document_security.xml
index 4eb257a2325..333cc853542 100644
--- a/addons/document/security/document_security.xml
+++ b/addons/document/security/document_security.xml
@@ -2,6 +2,10 @@
<openerp>
<data noupdate="0">
+ <record id="group_document_user" model="res.groups">
+ <field name="name">Document / User</field>
+ </record>
+
<record id="group_document_manager" model="res.groups">
<field name="name">Document / Manager</field>
</record>
diff --git a/addons/document_webdav/i18n/el.po b/addons/document_webdav/i18n/el.po
index eaf94e5c066..5cda9602def 100644
--- a/addons/document_webdav/i18n/el.po
+++ b/addons/document_webdav/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: document_webdav_old
diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py
index 133a47563a8..0ca89a5bbb8 100644
--- a/addons/email_template/email_template.py
+++ b/addons/email_template/email_template.py
@@ -222,39 +222,41 @@ class email_template(osv.osv):
'template_language' : lambda *a:'mako',
}
+
_sql_constraints = [
('name', 'unique (name)', _('The template name must be unique !'))
]
- def create(self, cr, uid, vals, context=None):
- id = super(email_template, self).create(cr, uid, vals, context)
- src_obj = self.pool.get('ir.model').read(cr, uid, vals['object_name'], ['model'], context)['model']
+ def create_action(self, cr, uid, ids, context):
+ vals = {}
+ template_obj = self.browse(cr, uid, ids)[0]
+ src_obj = template_obj.object_name.model
vals['ref_ir_act_window'] = self.pool.get('ir.actions.act_window').create(cr, uid, {
- 'name': _("%s Mail Form") % vals['name'],
+ 'name': template_obj.name,
'type': 'ir.actions.act_window',
'res_model': 'email_template.send.wizard',
'src_model': src_obj,
'view_type': 'form',
- 'context': "{'src_model':'%s','template_id':'%d','src_rec_id':active_id,'src_rec_ids':active_ids}" % (src_obj, id),
+ 'context': "{'src_model':'%s','template_id':'%d','src_rec_id':active_id,'src_rec_ids':active_ids}" % (src_obj, template_obj.id),
'view_mode':'form,tree',
'view_id': self.pool.get('ir.ui.view').search(cr, uid, [('name', '=', 'email_template.send.wizard.form')], context=context)[0],
'target': 'new',
'auto_refresh':1
}, context)
vals['ref_ir_value'] = self.pool.get('ir.values').create(cr, uid, {
- 'name': _('Send Mail (%s)') % vals['name'],
+ 'name': _('Send Mail (%s)') % template_obj.name,
'model': src_obj,
'key2': 'client_action_multi',
'value': "ir.actions.act_window," + str(vals['ref_ir_act_window']),
'object': True,
}, context)
- self.write(cr, uid, id, {
+ self.write(cr, uid, ids, {
'ref_ir_act_window': vals['ref_ir_act_window'],
'ref_ir_value': vals['ref_ir_value'],
}, context)
- return id
+ return True
- def unlink(self, cr, uid, ids, context=None):
+ def unlink_action(self, cr, uid, ids, context):
for template in self.browse(cr, uid, ids, context):
obj = self.pool.get(template.object_name.model)
try:
@@ -264,6 +266,13 @@ class email_template(osv.osv):
self.pool.get('ir.values').unlink(cr, uid, template.ref_ir_value.id, context)
except:
raise osv.except_osv(_("Warning"), _("Deletion of Record failed"))
+
+ def delete_action(self, cr, uid, ids, context):
+ self.unlink_action(cr, uid, ids, context)
+ return True
+
+ def unlink(self, cr, uid, ids, context=None):
+ self.unlink_action(cr, uid, ids, context)
return super(email_template, self).unlink(cr, uid, ids, context)
def copy(self, cr, uid, id, default=None, context=None):
diff --git a/addons/email_template/email_template_mailbox.py b/addons/email_template/email_template_mailbox.py
index b89a9aeda26..b20fa9f76bf 100644
--- a/addons/email_template/email_template_mailbox.py
+++ b/addons/email_template/email_template_mailbox.py
@@ -41,6 +41,7 @@ class email_template_mailbox(osv.osv):
return True
def send_this_mail(self, cr, uid, ids=None, context=None):
+ result = True
for id in (ids or []):
try:
account_obj = self.pool.get('email_template.account')
diff --git a/addons/email_template/email_template_view.xml b/addons/email_template/email_template_view.xml
index 1d574ff8675..3346c6c6162 100644
--- a/addons/email_template/email_template_view.xml
+++ b/addons/email_template/email_template_view.xml
@@ -108,12 +108,19 @@
</group>
</page>
<page string="Advanced">
- <field name="ref_ir_act_window" />
- <field name="ref_ir_value" />
- <separator string="Attachments (Report to attach)" colspan="4"/>
- <field name="file_name" colspan="2" />
- <field name="report_template" colspan="2"
+ <group colspan="2" col="2">
+ <separator string="Actions" colspan="2"/>
+ <button name="create_action" string="Create Action" type="object" colspan="2" attrs="{'invisible':[('ref_ir_act_window','!=',False), ('ref_ir_value','!=',False)]}"/>
+ <field name="ref_ir_act_window"/>
+ <field name="ref_ir_value"/>
+ <button name="delete_action" string="Delete Action" type="object" colspan="2" attrs="{'invisible':[('ref_ir_act_window','=',False), ('ref_ir_value','=',False)]}"/>
+ </group>
+ <group colspan="2" col="2">
+ <separator string="Attachments (Report to attach)" colspan="4"/>
+ <field name="file_name" colspan="2" />
+ <field name="report_template" colspan="2"
domain="[('model','=',model_int_name)]" />
+ </group>
</page>
</notebook>
</form>
diff --git a/addons/event/board_association_demo.xml b/addons/event/board_association_demo.xml
index 959f2c1f5a8..c30dad64790 100644
--- a/addons/event/board_association_demo.xml
+++ b/addons/event/board_association_demo.xml
@@ -6,13 +6,13 @@
Administrator shortcut
Demo user startup menu
-->
- <record model="ir.ui.view_sc" id="sc_association_dash">
- <field name="name">Dashboard</field>
- <field name="user_id" ref="base.user_root"/>
- <field name="resource">ir.ui.menu</field>
- <field name="sequence">1</field>
- <field name="res_id" ref="menu_board_associations_manager"/>
- </record>
+<!-- <record model="ir.ui.view_sc" id="sc_association_dash">-->
+<!-- <field name="name">Dashboard</field>-->
+<!-- <field name="user_id" ref="base.user_root"/>-->
+<!-- <field name="resource">ir.ui.menu</field>-->
+<!-- <field name="sequence">1</field>-->
+<!-- <field name="res_id" ref="menu_board_associations_manager"/>-->
+<!-- </record>-->
<record model="res.users" id="base.user_root">
<field name="action_id" ref="open_board_associations_manager"/>
</record>
diff --git a/addons/event_project/i18n/el.po b/addons/event_project/i18n/el.po
new file mode 100644
index 00000000000..e693321250f
--- /dev/null
+++ b/addons/event_project/i18n/el.po
@@ -0,0 +1,88 @@
+# Greek translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-08-28 16:01+0000\n"
+"PO-Revision-Date: 2010-06-24 22:21+0000\n"
+"Last-Translator: Panayiotis Konstantinidis <Unknown>\n"
+"Language-Team: Greek <el@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-06-26 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: event_project
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Λανθασμένο XML για προβολή αρχιτεκτονικής!"
+
+#. module: event_project
+#: model:ir.actions.wizard,name:event_project.wizard_event_task
+msgid "Tasks"
+msgstr "Εργασίες"
+
+#. module: event_project
+#: wizard_button:event.project,init,done:0
+msgid "Ok"
+msgstr "Εντάξει"
+
+#. module: event_project
+#: model:ir.module.module,description:event_project.module_meta_information
+msgid ""
+"Organization and management of events.\n"
+"\n"
+" This module allow you to create retro planning for managing your "
+"events.\n"
+msgstr ""
+"Οργάνωση και διαχείριση συμβάντων.\n"
+"\n"
+" Αυτή το τμήμα του προγράμματος σας επιτρέπει να κάνετε ανασχεδιασμό για "
+"τη διαχείριση των συμβάντων σας.\n"
+
+#. module: event_project
+#: view:event.event:0
+msgid "Remaining Tasks"
+msgstr "Εργασίες που παραμένουν"
+
+#. module: event_project
+#: model:ir.module.module,shortdesc:event_project.module_meta_information
+msgid "Event - Project"
+msgstr "Συμβάν - Έργο"
+
+#. module: event_project
+#: field:event.event,project_id:0
+#: wizard_field:event.project,init,project_id:0
+#: model:ir.actions.wizard,name:event_project.event_wiz
+msgid "Project"
+msgstr "Έργο"
+
+#. module: event_project
+#: field:event.event,task_ids:0
+msgid "Project tasks"
+msgstr "Εργασίες Έργου"
+
+#. module: event_project
+#: wizard_button:event.project,init,end:0
+msgid "Cancel"
+msgstr "Ακύρωση"
+
+#. module: event_project
+#: view:event.event:0
+msgid "Create Retro-Planning"
+msgstr "Δημιουργία προγραμματισμού"
+
+#. module: event_project
+#: wizard_view:event.project,init:0
+msgid "Event"
+msgstr "Συμβάν"
+
+#. module: event_project
+#: view:event.event:0
+msgid "Tasks management"
+msgstr "Διαχείριση εργασιών"
diff --git a/addons/fetchmail/fetchmail.py b/addons/fetchmail/fetchmail.py
index 14981c13837..947434052ae 100644
--- a/addons/fetchmail/fetchmail.py
+++ b/addons/fetchmail/fetchmail.py
@@ -50,7 +50,7 @@ class email_server(osv.osv):
'type':fields.selection([
('pop', 'POP Server'),
('imap', 'IMAP Server'),
- ], 'State', select=True, readonly=False),
+ ], 'Server Type', select=True, readonly=False),
'is_ssl':fields.boolean('SSL ?', required=False),
'attach':fields.boolean('Add Attachments ?', required=False),
'date': fields.date('Date', readonly=True, states={'draft':[('readonly', False)]}),
@@ -107,11 +107,13 @@ class email_server(osv.osv):
ids = self.search(cr, uid, [])
return self.fetch_mail(cr, uid, ids, context)
- def fetch_mail(self, cr, uid, ids, context={}):
+ def fetch_mail(self, cr, uid, ids, context=None):
+ if not context:
+ context = {}
email_tool = self.pool.get('email.server.tools')
for server in self.browse(cr, uid, ids, context):
logger.notifyChannel('imap', netsvc.LOG_INFO, 'fetchmail start checking for new emails on %s' % (server.name))
-
+ context.update({'server_id': server.id, 'server_type': server.type})
count = 0
try:
if server.type == 'imap':
@@ -123,10 +125,10 @@ class email_server(osv.osv):
imap_server.login(server.user, server.password)
imap_server.select()
- result, data = imap_server.search(None, '(UNSEEN)')
+ result, data = imap_server.search(None, '(UNSEEN)')
for num in data[0].split():
result, data = imap_server.fetch(num, '(RFC822)')
- res_id = email_tool.process_email(cr, uid, server.object_id.model, data[0][1], attach=server.attach, server_id=server.id, server_type=server.type, context=context)
+ res_id = email_tool.process_email(cr, uid, server.object_id.model, data[0][1], attach=server.attach, context=context)
if res_id and server.action_id:
action_pool = self.pool.get('ir.actions.server')
action_pool.run(cr, uid, [server.action_id.id], {'active_id': res_id, 'active_ids':[res_id]})
@@ -154,7 +156,7 @@ class email_server(osv.osv):
for num in range(1, numMsgs + 1):
(header, msges, octets) = pop_server.retr(num)
msg = '\n'.join(msges)
- res_id = email_tool.process_email(cr, uid, server.object_id.model, data[0][1], attach=server.attach, server_id=server.id, server_type=server.type, context=context)
+ res_id = email_tool.process_email(cr, uid, server.object_id.model, data[0][1], attach=server.attach, context=context)
if res_id and server.action_id:
action_pool = self.pool.get('ir.actions.server')
action_pool.run(cr, uid, [server.action_id.id], {'active_id': res_id, 'active_ids':[res_id]})
@@ -182,10 +184,34 @@ class mailgate_message(osv.osv):
'type':fields.selection([
('pop', 'POP Server'),
('imap', 'IMAP Server'),
- ], 'State', select=True, readonly=True),
+ ], 'Server Type', select=True, readonly=True),
}
_order = 'id desc'
+ def create(self, cr, uid, values, context=None):
+ if not context:
+ context={}
+ server_id = context.get('server_id',False)
+ server_type = context.get('server_type',False)
+ if server_id:
+ values['server_id'] = server_id
+ if server_type:
+ values['server_type'] = server_type
+ res = super(mailgate_message,self).create(cr, uid, values, context=context)
+ return res
+
+ def write(self, cr, uid, ids, values, context=None):
+ if not context:
+ context={}
+ server_id = context.get('server_id',False)
+ server_type = context.get('server_type',False)
+ if server_id:
+ values['server_id'] = server_id
+ if server_type:
+ values['server_type'] = server_type
+ res = super(mailgate_message,self).write(cr, uid, ids, values, context=context)
+ return res
+
mailgate_message()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr/i18n/el.po b/addons/hr/i18n/el.po
index 5d965fa1178..8e5ce7616dd 100644
--- a/addons/hr/i18n/el.po
+++ b/addons/hr/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/hr_attendance/hr_attendance.py b/addons/hr_attendance/hr_attendance.py
index 9f5846601ef..e14a91df084 100644
--- a/addons/hr_attendance/hr_attendance.py
+++ b/addons/hr_attendance/hr_attendance.py
@@ -54,7 +54,7 @@ class hr_attendance(osv.osv):
return res
_columns = {
- 'name' : fields.datetime('Date', required=True),
+ 'name' : fields.datetime('Date', required=True, select=1),
'action' : fields.selection([('sign_in', 'Sign In'), ('sign_out', 'Sign Out'),('action','Action')], 'Action', required=True),
'action_desc' : fields.many2one("hr.action.reason", "Action reason", domain="[('action_type', '=', action)]", help='Specifies the reason for Signing In/Signing Out in case of extra hours.'),
'employee_id' : fields.many2one('hr.employee', "Employee's Name", required=True, select=True),
diff --git a/addons/hr_contract/i18n/el.po b/addons/hr_contract/i18n/el.po
index afdd0c4c3b8..2595b89be23 100644
--- a/addons/hr_contract/i18n/el.po
+++ b/addons/hr_contract/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/hr_expense/i18n/el.po b/addons/hr_expense/i18n/el.po
index 7ce942b3ff7..846eb9e17ed 100644
--- a/addons/hr_expense/i18n/el.po
+++ b/addons/hr_expense/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/hr_holidays/hr_bel_holidays_2008.xml b/addons/hr_holidays/hr_bel_holidays_2008.xml
index 4cc3322f6b7..0c09586cb0c 100644
--- a/addons/hr_holidays/hr_bel_holidays_2008.xml
+++ b/addons/hr_holidays/hr_bel_holidays_2008.xml
@@ -1,66 +1,66 @@
<?xml version="1.0"?>
<openerp>
- <data noupdate="1">
+ <data>
- <record model="hr.holidays">
- <field name="name">New Year</field>
- <field name="date_from">2008-01-01 08:00</field>
- <field name="date_to">2008-01-01 18:00</field>
- <field name="holiday_status" ref="hr.jf" />
- </record>
- <record model="hr.holidays">
- <field name="name">Easter Monday</field>
- <field name="date_from">2008-03-24 08:00</field>
- <field name="date_to">2008-03-24 18:00</field>
- <field name="holiday_status" ref="hr.jf" />
- </record>
- <record model="hr.holidays">
- <field name="name">Labour Day</field>
- <field name="date_from">2008-05-01 08:00</field>
- <field name="date_to">2008-05-01 18:00</field>
- <field name="holiday_status" ref="hr.jf" />
- </record>
- <record model="hr.holidays">
- <field name="name">Ascension</field>
- <field name="date_from">2008-05-02 08:00</field>
- <field name="date_to">2008-05-02 18:00</field>
- <field name="holiday_status" ref="hr.jf" />
- </record>
- <record model="hr.holidays">
- <field name="name">Pentecost Monday</field>
- <field name="date_from">2008-05-12 08:00</field>
- <field name="date_to">2008-05-12 18:00</field>
- <field name="holiday_status" ref="hr.jf" />
- </record>
- <record model="hr.holidays">
- <field name="name">National Day</field>
- <field name="date_from">2008-07-21 08:00</field>
- <field name="date_to">2008-07-21 18:00</field>
- <field name="holiday_status" ref="hr.jf" />
- </record>
- <record model="hr.holidays">
- <field name="name">Assumption Day</field>
- <field name="date_from">2008-08-15 08:00</field>
- <field name="date_to">2008-08-15 18:00</field>
- <field name="holiday_status" ref="hr.jf" />
- </record>
- <record model="hr.holidays">
- <field name="name">All Saints</field>
- <field name="date_from">2008-11-01 08:00</field>
- <field name="date_to">2008-11-01 18:00</field>
- <field name="holiday_status" ref="hr.jf" />
- </record>
- <record model="hr.holidays">
- <field name="name">Armistice</field>
- <field name="date_from">2008-11-11 08:00</field>
- <field name="date_to">2008-11-11 18:00</field>
- <field name="holiday_status" ref="hr.jf" />
- </record>
- <record model="hr.holidays">
- <field name="name">Christmas</field>
- <field name="date_from">2008-12-25 08:00</field>
- <field name="date_to">2008-12-25 18:00</field>
- <field name="holiday_status" ref="hr.jf" />
- </record>
- </data>
+ <record model="hr.holidays">
+ <field name="name">New Year</field>
+ <field name="date_from">2008-01-01 08:00</field>
+ <field name="date_to">2008-01-01 18:00</field>
+ <field name="holiday_status" ref="hr.jf" />
+ </record>
+ <record model="hr.holidays">
+ <field name="name">Easter Monday</field>
+ <field name="date_from">2008-03-24 08:00</field>
+ <field name="date_to">2008-03-24 18:00</field>
+ <field name="holiday_status" ref="hr.jf" />
+ </record>
+ <record model="hr.holidays">
+ <field name="name">Labour Day</field>
+ <field name="date_from">2008-05-01 08:00</field>
+ <field name="date_to">2008-05-01 18:00</field>
+ <field name="holiday_status" ref="hr.jf" />
+ </record>
+ <record model="hr.holidays">
+ <field name="name">Ascension</field>
+ <field name="date_from">2008-05-02 08:00</field>
+ <field name="date_to">2008-05-02 18:00</field>
+ <field name="holiday_status" ref="hr.jf" />
+ </record>
+ <record model="hr.holidays">
+ <field name="name">Pentecost Monday</field>
+ <field name="date_from">2008-05-12 08:00</field>
+ <field name="date_to">2008-05-12 18:00</field>
+ <field name="holiday_status" ref="hr.jf" />
+ </record>
+ <record model="hr.holidays">
+ <field name="name">National Day</field>
+ <field name="date_from">2008-07-21 08:00</field>
+ <field name="date_to">2008-07-21 18:00</field>
+ <field name="holiday_status" ref="hr.jf" />
+ </record>
+ <record model="hr.holidays">
+ <field name="name">Assumption Day</field>
+ <field name="date_from">2008-08-15 08:00</field>
+ <field name="date_to">2008-08-15 18:00</field>
+ <field name="holiday_status" ref="hr.jf" />
+ </record>
+ <record model="hr.holidays">
+ <field name="name">All Saints</field>
+ <field name="date_from">2008-11-01 08:00</field>
+ <field name="date_to">2008-11-01 18:00</field>
+ <field name="holiday_status" ref="hr.jf" />
+ </record>
+ <record model="hr.holidays">
+ <field name="name">Armistice</field>
+ <field name="date_from">2008-11-11 08:00</field>
+ <field name="date_to">2008-11-11 18:00</field>
+ <field name="holiday_status" ref="hr.jf" />
+ </record>
+ <record model="hr.holidays">
+ <field name="name">Christmas</field>
+ <field name="date_from">2008-12-25 08:00</field>
+ <field name="date_to">2008-12-25 18:00</field>
+ <field name="holiday_status" ref="hr.jf" />
+ </record>
+ </data>
</openerp>
diff --git a/addons/hr_holidays/i18n/el.po b/addons/hr_holidays/i18n/el.po
index 2d0c0fa2310..85f4621e414 100644
--- a/addons/hr_holidays/i18n/el.po
+++ b/addons/hr_holidays/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/hr_payroll/i18n/et.po b/addons/hr_payroll/i18n/et.po
new file mode 100644
index 00000000000..4c9d55d7434
--- /dev/null
+++ b/addons/hr_payroll/i18n/et.po
@@ -0,0 +1,1439 @@
+# Estonian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:16+0000\n"
+"PO-Revision-Date: 2010-06-25 17:48+0000\n"
+"Last-Translator: lyyser <logard.1961@gmail.com>\n"
+"Language-Team: Estonian <et@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-06-26 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+msgid "E-mail Address"
+msgstr "E-mail Aadres"
+
+#. module: hr_payroll
+#: view:hr.holidays.status:0
+msgid "(Based on type Payroll will calculate basic salary)"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.register,net:0
+#: field:hr.payslip,net:0
+msgid "Net Salary"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,working_days:0
+msgid "Working Days"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payroll.register,state:0
+#: selection:hr.payslip,state:0
+msgid "New Slip"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:payroll.advice:0
+msgid "Axis Bank"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.employee,esp_account:0
+msgid "EPS Account"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.employee,analytic_account:0
+msgid "Analytic Account for Salary Analysis"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+msgid "Allowances with Basic:"
+msgstr ""
+
+#. module: hr_payroll
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Vigane mudeli nimi toimingu definitsioonis."
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+#: rml:salary.structure:0
+msgid "Department"
+msgstr "Osakond"
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+msgid "Deductions:"
+msgstr "Mahaarvamised:"
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty,gratuity:0
+msgid "Use for Gratuity ?"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:payslip.pdf:0
+msgid "Employee No"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid "Salary Payment Register"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,paid:0
+msgid "Paid ? "
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.report.xml,name:hr_payroll.year_salary_report
+msgid "Year Salary Report"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payroll.register,state:0
+#: selection:hr.payslip,state:0
+msgid "Paid Salary"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.advice.line,flag:0
+msgid "D/C"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.register,company_id:0
+#: field:hr.payslip,company_id:0
+#: wizard_field:payroll.analysis,init,company_id:0
+msgid "Company"
+msgstr "Ettevõte"
+
+#. module: hr_payroll
+#: help:hr.employee,employee_account:0
+msgid "Employee Payable Account"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.advice:0
+msgid "Letter Details"
+msgstr "Kirja detailid"
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid ","
+msgstr ","
+
+#. module: hr_payroll
+#: view:hr.payroll.advice:0
+#: view:hr.payroll.register:0
+#: view:hr.payslip:0
+msgid "Set to Draft"
+msgstr "Sea mustandiks"
+
+#. module: hr_payroll
+#: rml:payroll.advice:0
+msgid "The Manager"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.holidays.status,type:0
+msgid "Half-Pay Holiday"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.allounce.deduction.categoty,type:0
+#: rml:hr.payroll.register.sheet:0
+#: field:hr.payslip,other_pay:0
+msgid "Others"
+msgstr "Muud"
+
+#. module: hr_payroll
+#: field:hr.payslip.line,slip_id:0
+#: model:ir.model,name:hr_payroll.model_hr_payslip
+#: rml:payslip.pdf:0
+msgid "Pay Slip"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.allounce.deduction.categoty:0
+msgid "Calculations Rules"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.module.module,description:hr_payroll.module_meta_information
+msgid ""
+"\n"
+" The Payroll system - India, Manages and depends on,\n"
+" * HR Details\n"
+" * HR Contracts\n"
+" * HR Payslip\n"
+" * HR Paysheet\n"
+" * HR Attendance\n"
+" * HR Holidays\n"
+" "
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee:0
+#: rml:salary.structure:0
+msgid "Salary"
+msgstr "Palk"
+
+#. module: hr_payroll
+#: field:hr.holidays.status,account_id:0
+msgid "Account"
+msgstr "Konto"
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid "Payment From"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee:0
+msgid "Miscelleanous / Statutory"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payslip.line,type:0
+msgid "Leaves"
+msgstr "Lehed"
+
+#. module: hr_payroll
+#: field:hr.payslip,register_id:0
+msgid "Register"
+msgstr "Registreeri"
+
+#. module: hr_payroll
+#: selection:wizard.year.salary,init,salary_on:0
+msgid "Next Month Date"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payroll.register,period_id:0
+#: help:hr.payslip,period_id:0
+msgid "Keep empty to use the period of the validation(Payslip) date."
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty.line,value:0
+msgid "Value"
+msgstr "Väärtus"
+
+#. module: hr_payroll
+#: rml:payroll.advice:0
+msgid "Name of the Employee"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.contract,permit_no:0
+msgid "Work Permit No"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.advice.line,amount:0
+#: rml:payroll.advice:0
+msgid "Amount"
+msgstr "Hulk"
+
+#. module: hr_payroll
+#: field:hr.payslip,line_ids:0
+#: view:hr.payslip.line:0
+#: model:ir.model,name:hr_payroll.model_hr_payslip_line
+msgid "Payslip Line"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.passport,country_id:0
+msgid "Country of Issue"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:0
+#, python-format
+msgid "Warning !"
+msgstr "Hoiatus!"
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:0
+#, python-format
+msgid "Please Confirm all Expanse Invoice appear for Reimbursement"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payslip.line,type:0
+msgid "Other Deduction"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.holidays.status,type:0
+msgid "Paid Holiday"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+msgid "Employees Salary Details"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.passport,date_expire:0
+msgid "Passport Expire Date"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee:0
+msgid "Special Allowance and Deductions for Employee"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.holidays.status,type:0
+msgid "Un-Paid Holiday"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.register,period_id:0
+#: field:hr.payslip,period_id:0
+msgid "Force Period"
+msgstr "Suru periood"
+
+#. module: hr_payroll
+#: rml:payslip.pdf:0
+msgid "Amount (in words) :"
+msgstr "Summa (sõnadega) :"
+
+#. module: hr_payroll
+#: field:hr.holidays.status,type:0
+msgid "Payment"
+msgstr "Makse"
+
+#. module: hr_payroll
+#: field:hr.employee,analytic_account:0
+#: field:hr.employee.grade,account_id:0
+#: field:hr.holidays.status,analytic_account_id:0
+#: field:hr.payslip.line,analytic_account_id:0
+#: rml:salary.structure:0
+msgid "Analytic Account"
+msgstr "Analüütiline konto"
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid "Expanse To"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty,base:0
+msgid "Based on"
+msgstr "Põhineb"
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+#: rml:salary.structure:0
+msgid "Bank"
+msgstr "Pank"
+
+#. module: hr_payroll
+#: field:hr.payslip,move_id:0
+msgid "Expanse Entries"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.module.module,shortdesc:hr_payroll.module_meta_information
+msgid "Human Resource Payroll"
+msgstr ""
+
+#. module: hr_payroll
+#: constraint:account.analytic.account:0
+msgid "Error! You can not create recursive analytic accounts."
+msgstr "Viga! Sa ei saa luua rekursiivseid analüütilisi kontosid."
+
+#. module: hr_payroll
+#: field:hr.employee,esi_account:0
+msgid "ESI Account"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.model,name:hr_payroll.model_hr_passport
+msgid "Passport Detail"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:0
+#, python-format
+msgid "Please defined the Employee Home Address Along with Partners !!"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,total:0
+msgid "Sub Total"
+msgstr "Vahesumma"
+
+#. module: hr_payroll
+#: field:hr.contract,visa_no:0
+msgid "Visa No"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty.line,from:0
+msgid "From"
+msgstr "Alates"
+
+#. module: hr_payroll
+#: field:hr.payroll.advice.line,bysal:0
+msgid "By Salary"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.ui.menu,name:hr_payroll.menu_wizard_print_year_salary
+msgid "Employee Year Salary"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.report.xml,name:hr_payroll.salary_payslip
+msgid "Employee PaySlip"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+#: rml:payroll.advice:0
+msgid "Authorised Signature"
+msgstr "Volitatud isiku allkiri"
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty.line,umo_id:0
+msgid "Unite"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Salary Detail"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:salary.structure:0
+msgid "Notes:"
+msgstr "Märkused:"
+
+#. module: hr_payroll
+#: rml:salary.structure:0
+msgid "End Date"
+msgstr "Lõppkuupäev"
+
+#. module: hr_payroll
+#: view:hr.employee:0
+msgid "Accounting Information"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee.grade:0
+msgid "Amount Information"
+msgstr "Summa info"
+
+#. module: hr_payroll
+#: field:hr.contract,passport_id:0
+#: field:hr.employee,passport_id:0
+#: view:hr.passport:0
+msgid "Passport"
+msgstr "Pass"
+
+#. module: hr_payroll
+#: field:hr.passport,employee_id:0
+#: field:hr.payroll.advice.line,employee_id:0
+#: field:hr.payslip,employee_id:0
+#: field:hr.payslip.line,employee_id:0
+msgid "Employee"
+msgstr "Töötaja"
+
+#. module: hr_payroll
+#: rml:salary.structure:0
+msgid "Start Date"
+msgstr "Alguskuupäev"
+
+#. module: hr_payroll
+#: model:ir.model,name:hr_payroll.model_hr_payroll_advice_line
+msgid "Bank Advice Lines"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty,type:0
+#: field:hr.payslip.line,type:0
+#: wizard_field:payroll.analysis,init,type:0
+#: rml:salary.structure:0
+msgid "Type"
+msgstr "Tüüp"
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid "#"
+msgstr "#"
+
+#. module: hr_payroll
+#: view:hr.employee:0
+msgid "Miscelleanous"
+msgstr "Mitmesugune"
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:0
+#, python-format
+msgid "Integrity Error !"
+msgstr "Terviklikkuse viga !"
+
+#. module: hr_payroll
+#: view:hr.payroll.register:0
+#: view:hr.payslip:0
+msgid "Verify Sheet"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.employee,pan_no:0
+msgid "PAN No"
+msgstr ""
+
+#. module: hr_payroll
+#: wizard_button:wizard.employees.detail,init,report:0
+#: wizard_button:wizard.year.salary,init,report:0
+msgid "Print"
+msgstr "Trüki"
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Accounting Informations"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.allounce.deduction.categoty:0
+msgid "Contributions Configuration"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.register,grows:0
+#: field:hr.payslip,grows:0
+msgid "Gross Salary"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:payslip.pdf:0
+msgid "Total Earnings"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payslip.line,type:0
+msgid "Other Payment"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,basic:0
+msgid "Basic Salary - Leaves"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:payroll.advice:0
+msgid "C/D"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:payroll.analysis,init,type:0
+msgid "By Employee Function"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.advice,line_ids:0
+msgid "Employee Salary"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.advice,chaque_nos:0
+msgid "Chaque Nos"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.wizard,name:hr_payroll.wizard_print_year_salary
+msgid "Year Salary Detail"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.allounce.deduction.categoty.line,amount_type:0
+#: selection:hr.payslip.line,amount_type:0
+msgid "Fixed Amount"
+msgstr "Kindel summa"
+
+#. module: hr_payroll
+#: selection:hr.payroll.register,state:0
+#: selection:hr.payslip,state:0
+msgid "Wating for Verification"
+msgstr "Ootan valideerimist"
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Account Lines"
+msgstr ""
+
+#. module: hr_payroll
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Vigane XML vaate arhitektuurile!"
+
+#. module: hr_payroll
+#: view:hr.payroll.register:0
+#: view:hr.payslip:0
+msgid "Pay Salary"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid "Gross SAL"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:0
+#, python-format
+msgid "Please defined the Partner in Home Address !!"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+#: rml:payslip.pdf:0
+msgid "For the month of"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.register:0
+#: view:hr.payslip:0
+msgid "Payslip"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.allounce.deduction.categoty,type:0
+#: field:hr.payroll.register,deduction:0
+#: rml:hr.payroll.register.sheet:0
+#: field:hr.payslip,deduction:0
+#: selection:hr.payslip.line,type:0
+msgid "Deduction"
+msgstr "Mahaarvamine"
+
+#. module: hr_payroll
+#: model:ir.model,name:hr_payroll.model_hr_payroll_advice
+msgid "Bank Advice Note"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.passport:0
+msgid "Passport List"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,payment_id:0
+msgid "Payment Entries"
+msgstr "Makse kirjed"
+
+#. module: hr_payroll
+#: rml:payslip.pdf:0
+msgid "YTD"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,expanse_id:0
+msgid "Expense"
+msgstr "Kulu"
+
+#. module: hr_payroll
+#: selection:hr.allounce.deduction.categoty,based_on:0
+msgid "Fided Value"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payslip.line,type:0
+msgid "Loan Installment"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.register:0
+#: view:hr.payslip:0
+msgid "Complete HR Checking"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:payroll.advice:0
+msgid "Yours Sincerely"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid "Allowances"
+msgstr "Toetused"
+
+#. module: hr_payroll
+#: rml:payroll.advice:0
+msgid "SI. No."
+msgstr ""
+
+#. module: hr_payroll
+#: rml:payslip.pdf:0
+msgid "Net Amount"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty,based_on:0
+#: field:hr.payroll.advice,state:0
+#: field:hr.payroll.register,state:0
+#: field:hr.payslip,state:0
+msgid "State"
+msgstr "Olek"
+
+#. module: hr_payroll
+#: rml:salary.structure:0
+msgid "Salary Structure:"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.report.xml,name:hr_payroll.year_employees_detail
+#: model:ir.actions.wizard,name:hr_payroll.wizard_print_employees_detail
+#: model:ir.ui.menu,name:hr_payroll.menu_wizard_print_employees_detail
+msgid "Employees Salary Detail"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.model,name:hr_payroll.model_hr_employee_grade
+msgid "Function of the Employee"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.advice:0
+#: selection:hr.payroll.advice,state:0
+#: selection:hr.payroll.register,state:0
+#: selection:hr.payslip,state:0
+msgid "Confirm Sheet"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payroll.register,state:0
+#: selection:hr.payslip,state:0
+msgid "Wating for Account Verification"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+msgid "Others:"
+msgstr "Ülejäänud:"
+
+#. module: hr_payroll
+#: view:hr.employee:0
+#: field:hr.passport,contracts_ids:0
+msgid "Contracts"
+msgstr "Lepingud"
+
+#. module: hr_payroll
+#: view:hr.employee:0
+msgid "Passport and Visa"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+msgid "Employee Code"
+msgstr "Töötaja kood"
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty.line,amount_type:0
+#: field:hr.payslip.line,amount_type:0
+#: rml:salary.structure:0
+msgid "Amount Type"
+msgstr "Summa liik"
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty.line,category_id:0
+#: field:hr.payslip.line,category_id:0
+#: rml:salary.structure:0
+msgid "Category"
+msgstr "Kategooria"
+
+#. module: hr_payroll
+#: field:hr.payslip,move_line_ids:0
+msgid "Accounting Lines"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.register,bank_journal_id:0
+#: field:hr.payslip,bank_journal_id:0
+msgid "Bank Journal"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid "Total SAL"
+msgstr ""
+
+#. module: hr_payroll
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Objekti nimi peab algama x_'ga ja ei tohi sisaldada ühtegi erisümbolit !"
+
+#. module: hr_payroll
+#: field:hr.employee,hospital_id:0
+msgid "ESI Hospital"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.employee,slip_ids:0
+#: view:hr.payroll.register:0
+#: field:hr.payroll.register,line_ids:0
+msgid "Payslips"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:payslip.pdf:0
+msgid "Earnings"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payroll.advice,state:0
+#: selection:hr.payroll.register,state:0
+#: selection:hr.payslip,state:0
+msgid "Reject"
+msgstr "Keeldu"
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.action_hr_passport_tree
+#: model:ir.ui.menu,name:hr_payroll.menu_action_hr_passport_tree
+msgid "All Passports"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+#: rml:hr.payroll.register.sheet:0
+#: rml:payslip.pdf:0
+msgid "Employee Name"
+msgstr "Töötaja nimi"
+
+#. module: hr_payroll
+#: field:hr.employee,salary_account:0
+msgid "Salary Account"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.allounce.deduction.categoty.line,amount_type:0
+#: selection:hr.payslip.line,amount_type:0
+msgid "Percentage (%)"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.advice,register_id:0
+#: view:hr.payroll.register:0
+#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_payroll_register_form
+#: model:ir.model,name:hr_payroll.model_hr_payroll_register
+#: model:ir.ui.menu,name:hr_payroll.hr_menu_payroll_register
+msgid "Payroll Register"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+#: rml:hr.payroll.register.sheet:0
+#: rml:payroll.advice:0
+#: rml:salary.structure:0
+#: rml:year.salary:0
+msgid "For"
+msgstr "Kellele"
+
+#. module: hr_payroll
+#: field:hr.payroll.register,journal_id:0
+#: field:hr.payslip,journal_id:0
+msgid "Expanse Journal"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.action_hr_contract
+#: model:ir.ui.menu,name:hr_payroll.hr_menu_contract
+msgid "Employee Contract"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty,contribute:0
+msgid "Contribe by Company ?"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee.grade:0
+msgid "Employee Function"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.contract,working_days_per_week:0
+msgid "Working Days / Week"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,worked_days:0
+msgid "Worked Day"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.register:0
+#: view:hr.payslip:0
+msgid "Complete Accountant Checking"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+msgid "Title"
+msgstr "Pealkiri"
+
+#. module: hr_payroll
+#: selection:hr.allounce.deduction.categoty,based_on:0
+msgid "On Attendance"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_employee_grade_form
+#: model:ir.ui.menu,name:hr_payroll.menu_hr_allounce_deduction_tree
+msgid "Allowance/Deduction Heads"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Compute Sheet"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.register,active:0
+msgid "Active"
+msgstr "Aktiivne"
+
+#. module: hr_payroll
+#: field:hr.employee,employee_account:0
+msgid "Employee Account"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:year.salary:0
+msgid "Yearly Salary Details"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty,condition:0
+msgid "Condition"
+msgstr "Tingimus"
+
+#. module: hr_payroll
+#: selection:hr.payroll.register,state:0
+#: selection:hr.payslip,state:0
+msgid "Wating for HR Verification"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.employee,pf_account:0
+msgid "PF Account"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.register:0
+msgid "Compute"
+msgstr "Arvuta"
+
+#. module: hr_payroll
+#: view:hr.payroll.advice:0
+#: view:hr.payslip:0
+#: field:hr.payslip,move_payment_ids:0
+msgid "Payment Lines"
+msgstr "Makseread"
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+#: field:hr.payslip,deg_id:0
+#: rml:payslip.pdf:0
+#: rml:salary.structure:0
+msgid "Designation"
+msgstr "Sihtkoht"
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid "HR Manager"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.allounce.deduction.categoty,based_on:0
+#: field:hr.payslip,basic_before_leaves:0
+#: rml:payslip.pdf:0
+msgid "Basic Salary"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty,code:0
+msgid "Categoty Code"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.register:0
+msgid "Salary Information"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.model,name:hr_payroll.model_hr_allounce_deduction_categoty
+#: model:ir.model,name:hr_payroll.model_hr_allounce_deduction_categoty_line
+msgid "Allowance Deduction Categoty"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:payslip.pdf:0
+msgid "Authorized Signature"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.allounce.deduction.categoty:0
+msgid "Allowance / Deduction Category"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payroll.advice,state:0
+msgid "Draft Sheet"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.advice,date:0
+#: field:hr.payroll.register,date:0
+#: rml:hr.payroll.register.sheet:0
+#: field:hr.payslip,date:0
+msgid "Date"
+msgstr "Kuupäev"
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid "Basic SAL"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.contract,visa_expire:0
+msgid "Visa Expire Date"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+#: rml:salary.structure:0
+msgid "Phone No."
+msgstr "Telefon nr."
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty,include_in_salary:0
+msgid "Included in Salary ?"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.expense.expense,category_id:0
+#: field:hr.holidays.status,head_id:0
+msgid "Payroll Head"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.advice:0
+#: field:hr.payroll.advice.line,advice_id:0
+msgid "Bank Advice"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,account_id:0
+#: rml:salary.structure:0
+msgid "General Account"
+msgstr "Üldine konto"
+
+#. module: hr_payroll
+#: field:hr.holidays.status,code:0
+#: field:hr.payslip.line,code:0
+#: rml:salary.structure:0
+msgid "Code"
+msgstr "Kood"
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_bank_advice_tree
+#: model:ir.ui.menu,name:hr_payroll.hr_menu_payment_advice
+#: rml:payroll.advice:0
+msgid "Payment Advice"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty.line,to:0
+msgid "To"
+msgstr "Kuni"
+
+#. module: hr_payroll
+#: wizard_button:payroll.analysis,init,process:0
+msgid "Process"
+msgstr "Etapp"
+
+#. module: hr_payroll
+#: selection:hr.payslip.line,type:0
+msgid "Loan"
+msgstr "Laen"
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty,sequence:0
+msgid "Sequence"
+msgstr "Järjestus"
+
+#. module: hr_payroll
+#: wizard_field:wizard.year.salary,init,salary_on:0
+msgid "Salary On"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.advice,number:0
+#: field:hr.payroll.register,number:0
+#: rml:hr.payroll.register.sheet:0
+#: field:hr.payslip,number:0
+msgid "Number"
+msgstr "Number"
+
+#. module: hr_payroll
+#: rml:salary.structure:0
+msgid "Contract Detail:"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee.grade:0
+msgid "General Information"
+msgstr "Üldine info"
+
+#. module: hr_payroll
+#: view:hr.payroll.advice:0
+msgid "Paymeny Lines"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee:0
+#: field:hr.employee,line_ids:0
+#: view:hr.employee.grade:0
+#: field:hr.employee.grade,line_ids:0
+#: rml:salary.structure:0
+msgid "Salary Structure"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.register:0
+#: view:hr.payslip:0
+#: wizard_button:payroll.analysis,init,end:0
+#: wizard_button:wizard.employees.detail,init,end:0
+#: wizard_button:wizard.year.salary,init,end:0
+msgid "Cancel"
+msgstr "Katkesta"
+
+#. module: hr_payroll
+#: field:hr.payslip.line,amount:0
+#: rml:salary.structure:0
+msgid "Amount / Percentage"
+msgstr "Summa / protsent"
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Accounting Details"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:wizard.year.salary,init,salary_on:0
+msgid "Current Month Date"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee:0
+msgid "Contract Duration"
+msgstr "Lepingu kestus"
+
+#. module: hr_payroll
+#: wizard_view:payroll.analysis,init:0
+msgid "Process Form"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.passport,name:0
+msgid "Passport No"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee.grade:0
+msgid "Account Information"
+msgstr "Konto info"
+
+#. module: hr_payroll
+#: view:hr.employee:0
+msgid "Generalities"
+msgstr "Üldine"
+
+#. module: hr_payroll
+#: rml:payroll.advice:0
+msgid "for period"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.register:0
+msgid "Allowance / Deduction"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:salary.structure:0
+msgid "E-mail"
+msgstr "E-post"
+
+#. module: hr_payroll
+#: model:ir.actions.report.xml,name:hr_payroll.year_payroll_register
+msgid "Print Statement"
+msgstr "Trüki avaldus"
+
+#. module: hr_payroll
+#: view:hr.allounce.deduction.categoty:0
+#: field:hr.allounce.deduction.categoty,line_ids:0
+msgid "Calculations"
+msgstr "Arvutused"
+
+#. module: hr_payroll
+#: wizard_view:wizard.year.salary,init:0
+msgid "Salary Deposit Date Option?"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Other Informations"
+msgstr "Muu info"
+
+#. module: hr_payroll
+#: view:hr.allounce.deduction.categoty:0
+msgid "Dynamic Computation"
+msgstr "Dünaamiline arvutamine"
+
+#. module: hr_payroll
+#: field:hr.employee.grade,function_id:0
+#: field:hr.payslip.line,function_id:0
+msgid "Function"
+msgstr "Funktsioon"
+
+#. module: hr_payroll
+#: rml:payroll.advice:0
+msgid "Dear Sir/Madam,"
+msgstr "Lugupeetud Härra/Proua,"
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+#: rml:salary.structure:0
+msgid "PAN No."
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.advice,note:0
+msgid "Description"
+msgstr "Kirjeldus"
+
+#. module: hr_payroll
+#: field:hr.employee,pg_joining:0
+msgid "PF Join Date"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.ui.menu,name:hr_payroll.menu_hr_payroll_reporting
+#: model:ir.ui.menu,name:hr_payroll.menu_hr_root_payroll
+msgid "Payroll"
+msgstr ""
+
+#. module: hr_payroll
+#: wizard_view:wizard.employees.detail,init:0
+#: wizard_view:wizard.year.salary,init:0
+msgid "Year Salary"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty,name:0
+msgid "Categoty Name"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.wizard,name:hr_payroll.wizard_payroll_analysis
+#: model:ir.ui.menu,name:hr_payroll.menu_wizard_payroll_analysis
+msgid "Create Analytic Structure"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+#: rml:payslip.pdf:0
+#: rml:salary.structure:0
+msgid "Address"
+msgstr "Aadress"
+
+#. module: hr_payroll
+#: help:hr.employee,property_bank_account:0
+msgid "Select Bank Account from where Salary Expanse will be Paid"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.employee,salary_account:0
+msgid "Expanse account when Salary Expanse will be recorded"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee:0
+msgid "Notes"
+msgstr "Märkused"
+
+#. module: hr_payroll
+#: model:ir.ui.menu,name:hr_payroll.payroll_configure
+msgid "Configure Payroll"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.advice:0
+msgid "Cancel Sheet"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payslip.line,type:0
+msgid "Advance"
+msgstr "Edenema"
+
+#. module: hr_payroll
+#: rml:salary.structure:0
+msgid "Special Allowances and Deductions For Employee:"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.allounce.deduction.categoty.line,name:0
+#: field:hr.payroll.advice,name:0
+#: field:hr.payroll.register,name:0
+#: field:hr.payslip,name:0
+#: field:hr.payslip.line,name:0
+#: rml:salary.structure:0
+#: rml:year.salary:0
+msgid "Name"
+msgstr "Nimi"
+
+#. module: hr_payroll
+#: field:hr.payslip,leaves:0
+msgid "Leaved Deduction"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.employee:0
+msgid "Statutory Information"
+msgstr "Ametlik info"
+
+#. module: hr_payroll
+#: model:ir.ui.menu,name:hr_payroll.menu_hr_employee_function
+msgid "Employee Functions"
+msgstr "Töötajate ülesanded"
+
+#. module: hr_payroll
+#: wizard_field:wizard.employees.detail,init,employee_ids:0
+#: wizard_field:wizard.year.salary,init,employee_ids:0
+msgid "Employees"
+msgstr "Töötajad"
+
+#. module: hr_payroll
+#: field:hr.employee,property_bank_account:0
+#: rml:payroll.advice:0
+msgid "Bank Account"
+msgstr "Pangakonto"
+
+#. module: hr_payroll
+#: field:hr.payroll.advice.line,name:0
+msgid "Bank Account A/C"
+msgstr ""
+
+#. module: hr_payroll
+#: wizard_field:wizard.employees.detail,init,fiscalyear_id:0
+#: wizard_field:wizard.year.salary,init,fiscalyear_id:0
+msgid "Fiscal Year"
+msgstr "Majandusaasta"
+
+#. module: hr_payroll
+#: view:hr.employee:0
+msgid "Contract"
+msgstr "Leping"
+
+#. module: hr_payroll
+#: selection:payroll.analysis,init,type:0
+msgid "By Allownce / Deduction"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.holidays.status:0
+msgid "Payroll Configurtion"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.passport,date_issue:0
+msgid "Passport Issue Date"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.allounce.deduction.categoty,type:0
+#: field:hr.payroll.register,allounce:0
+#: field:hr.payslip,allounce:0
+#: selection:hr.payslip.line,type:0
+msgid "Allowance"
+msgstr "Abiraha"
+
+#. module: hr_payroll
+#: field:hr.payslip,holiday_days:0
+msgid "No of Leaves"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:payslip.pdf:0
+msgid "Bank Details"
+msgstr "Pangadetailid"
+
+#. module: hr_payroll
+#: rml:payslip.pdf:0
+msgid "Deductions"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_payslip_form
+#: model:ir.ui.menu,name:hr_payroll.menu_department_tree
+msgid "Employee Payslip"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.advice:0
+msgid "Letter Content"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:payroll.advice:0
+msgid "By Sal"
+msgstr ""
+
+#. module: hr_payroll
+#: rml:hr.payroll.register.sheet:0
+msgid "Net SAL"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.report.xml,name:hr_payroll.payroll_advice
+msgid "Bank Payment Advice"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.report.xml,name:hr_payroll.salary_structure_register
+msgid "Print Salary Structure"
+msgstr "Trüki palgastruktuur"
+
+#. module: hr_payroll
+#: rml:payslip.pdf:0
+msgid "Total Deductions"
+msgstr "Kokku mahaarvamised"
+
+#. module: hr_payroll
+#: rml:employees.salary:0
+#: rml:payroll.advice:0
+#: rml:year.salary:0
+msgid "Total"
+msgstr "Kokku"
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 9d6c2cfbbbb..09ad521d24b 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -327,37 +327,6 @@ class hr_applicant(osv.osv, crm.crm_case):
res = self.write(cr, uid, ids, vals)
return res
- def emails_get(self, cr, uid, ids, context=None):
-
- """
- Get Emails
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of email’s IDs
- @param context: A standard dictionary for contextual values
- """
- res = {}
-
- if isinstance(ids, (str, int, long)):
- select = [long(ids)]
- else:
- select = ids
-
- for thread in self.browse(cr, uid, select, context=context):
- values = collections.defaultdict(set)
-
- for message in thread.message_ids:
- user_email = (message.user_id and message.user_id.address_id and message.user_id.address_id.email) or False
- values['user_email'].add(user_email)
- values['email_from'].add(message.email_from)
- values['email_cc'].add(message.email_cc or False)
- values['priority'] = thread.priority
-
- res[thread.id] = dict((key,list(values[key])) for key, value in values.iteritems())
-
- return res
-
def msg_send(self, cr, uid, id, *args, **argv):
""" Send The Message
diff --git a/addons/hr_recruitment/hr_recruitment_menu.xml b/addons/hr_recruitment/hr_recruitment_menu.xml
index 1723c802b0a..971423d45a7 100644
--- a/addons/hr_recruitment/hr_recruitment_menu.xml
+++ b/addons/hr_recruitment/hr_recruitment_menu.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="1">
+<data>
<menuitem icon="terp-hr" id="base.menu_hr" name="Human Resources"/>
######################## JOB OPPORTUNITIES (menu) ###########################
diff --git a/addons/hr_timesheet/__openerp__.py b/addons/hr_timesheet/__openerp__.py
index 930877b77c2..95244d25564 100644
--- a/addons/hr_timesheet/__openerp__.py
+++ b/addons/hr_timesheet/__openerp__.py
@@ -48,7 +48,7 @@ to set up a management by affair.
'wizard/hr_timesheet_print_employee_view.xml',
'wizard/hr_timesheet_print_users_view.xml',
'wizard/hr_timesheet_sign_in_out_view.xml',
-
+ 'report/hr_timesheet_report_view.xml',
],
'demo_xml': ['hr_timesheet_demo.xml'],
'test': ['test/test_hr_timesheet.yml'],
diff --git a/addons/hr_timesheet/report/__init__.py b/addons/hr_timesheet/report/__init__.py
index 156a4b83c63..d54615fbd0b 100644
--- a/addons/hr_timesheet/report/__init__.py
+++ b/addons/hr_timesheet/report/__init__.py
@@ -19,8 +19,7 @@
#
##############################################################################
+import hr_timesheet_report
import user_timesheet
import users_timesheet
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/hr_timesheet/report/hr_timesheet_report.py b/addons/hr_timesheet/report/hr_timesheet_report.py
new file mode 100644
index 00000000000..100041ca35a
--- /dev/null
+++ b/addons/hr_timesheet/report/hr_timesheet_report.py
@@ -0,0 +1,78 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# 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/>.
+#
+##############################################################################
+
+import tools
+from osv import fields,osv
+
+class hr_timesheet_report(osv.osv):
+ _name = "hr.timesheet.report"
+ _description = "Timesheet"
+ _auto = False
+ _columns = {
+ 'year': fields.char('Year',size=64,required=False, readonly=True),
+ 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'),
+ ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'),
+ ('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True),
+ 'date': fields.date('Date', readonly=True),
+ 'name': fields.char('Description', size=64,readonly=True),
+ 'product_id' : fields.many2one('product.product', 'Product',readonly=True),
+ 'journal_id' : fields.many2one('account.analytic.journal', 'Journal',readonly=True),
+ 'general_account_id' : fields.many2one('account.account', 'General Account', readonly=True),
+ 'user_id': fields.many2one('res.users', 'User',readonly=True),
+ 'account_id': fields.many2one('account.analytic.account', 'Analytic Account',readonly=True),
+ 'company_id': fields.many2one('res.company', 'Company',readonly=True),
+ 'cost': fields.float('Cost',readonly=True),
+ 'quantity': fields.float('Quantity',readonly=True),
+ }
+
+ def init(self, cr):
+ tools.drop_view_if_exists(cr, 'hr_timesheet_report')
+ cr.execute("""
+ create or replace view hr_timesheet_report as (
+ select
+ min(t.id) as id,
+ l.date as date,
+ to_char(l.date,'YYYY') as year,
+ to_char(l.date,'MM') as month,
+ sum(l.amount) as cost,
+ sum(l.unit_amount) as quantity,
+ l.account_id as account_id,
+ l.journal_id as journal_id,
+ l.product_id as product_id,
+ l.general_account_id as general_account_id,
+ l.user_id as user_id,
+ l.company_id as company_id,
+ l.currency_id as currency_id
+ from
+ hr_analytic_timesheet as t
+ left join account_analytic_line as l ON (t.line_id=l.id)
+ group by
+ l.date,
+ l.account_id,
+ l.product_id,
+ l.general_account_id,
+ l.journal_id,
+ l.user_id,
+ l.company_id,
+ l.currency_id
+ )
+ """)
+hr_timesheet_report()
diff --git a/addons/hr_timesheet/report/hr_timesheet_report_view.xml b/addons/hr_timesheet/report/hr_timesheet_report_view.xml
new file mode 100644
index 00000000000..7f2df2e815e
--- /dev/null
+++ b/addons/hr_timesheet/report/hr_timesheet_report_view.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+ <record id="view_hr_timesheet_report_graph" model="ir.ui.view">
+ <field name="name">hr.timesheet.report.graph</field>
+ <field name="model">hr.timesheet.report</field>
+ <field name="type">graph</field>
+ <field name="arch" type="xml">
+ <graph string="Timesheet" type="bar">
+ <field name="user_id" />
+ <field name="quantity" operator = "+"/>
+ </graph>
+ </field>
+ </record>
+ <record id="view_hr_timesheet_report_tree" model="ir.ui.view">
+ <field name="name">hr.timesheet.report.tree</field>
+ <field name="model">hr.timesheet.report</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="Timesheet Analysis">
+ <field name="year" invisible="1"/>
+ <field name="month" invisible="1"/>
+ <field name="date" invisible="1"/>
+
+ <field name="user_id" invisible="1"/>
+ <field name="company_id" invisible="1"/>
+ <field name="journal_id" invisible="1"/>
+ <field name="product_id" invisible="1"/>
+ <field name="account_id" invisible="1"/>
+ <field name="general_account_id" invisible="1"/>
+
+ <field name="quantity" sum="Hours"/>
+ <field name="cost" sum="Total Cost"/>
+ </tree>
+ </field>
+ </record>
+ <record id="view_hr_timesheet_report_search" model="ir.ui.view">
+ <field name="name">hr.timesheet.report.search</field>
+ <field name="model">hr.timesheet.report</field>
+ <field name="type">search</field>
+ <field name="arch" type="xml">
+ <search string="Timesheet">
+ <group col="10" colspan="12">
+ <filter icon="terp-go-year" string="This Year"
+ name="year"
+ domain="[('year','=', time.strftime('%%Y'))]"
+ help="Timesheet in this year"/>
+ <filter icon="terp-go-month" string="This Month"
+ name="month"
+ domain="[('month','=', time.strftime('%%m'))]"
+ help="Timesheet in this month"/>
+ <filter icon="terp-go-week"
+ string="Today"
+ domain="[('date','=', time.strftime('%%Y-%%m-%%d'))]"
+ help="Timesheet dof the day"/>
+ <separator orientation="vertical"/>
+ <field name="account_id"/>
+ <field name="user_id" />
+ <field name="date" />
+ </group>
+ <newline/>
+ <group expand="1" string="Group By...">
+ <filter string="User" name="group_user_id" icon="terp-personal" context="{'group_by':'user_id'}"/>
+ <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
+ <separator orientation="vertical"/>
+ <filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'account_id'}"/>
+ <filter string="General Account" icon="terp-folder-orange" context="{'group_by':'general_account_id'}"/>
+ <separator orientation="vertical"/>
+ <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
+ <separator orientation="vertical"/>
+ <filter string="Day" icon="terp-go-today" context="{'group_by':'date'}"/>
+ <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
+ <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
+ </group>
+ <newline/>
+ <group expand="0" string="Extended options..." groups="base.group_extended">
+ <field name="general_account_id"/>
+ <field name="product_id"/>
+ <field name="journal_id"/>
+ <separator orientation="vertical"/>
+ <field name="company_id" widget="selection" groups="base.group_multi_company"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record id="action_hr_timesheet_report_stat_all" model="ir.actions.act_window">
+ <field name="name">Timesheet Analysis</field>
+ <field name="res_model">hr.timesheet.report</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,graph</field>
+ <field name="context">{'search_default_month':1,'search_default_group_user_id':1,'group_by_no_leaf':1,'group_by':[]}</field>
+ </record>
+ <menuitem
+ action="action_hr_timesheet_report_stat_all"
+ id="menu_hr_timesheet_report_all"
+ parent="menu_hr_reporting_timesheet" sequence="0"/>
+ </data>
+</openerp>
diff --git a/addons/hr_timesheet/report/user_timesheet.py b/addons/hr_timesheet/report/user_timesheet.py
index 8dbda07ea76..d444e4a19bc 100644
--- a/addons/hr_timesheet/report/user_timesheet.py
+++ b/addons/hr_timesheet/report/user_timesheet.py
@@ -101,6 +101,3 @@ class report_custom(report_rml):
report_custom('report.hr.analytical.timesheet', 'hr.employee', '', 'addons/hr_timesheet/report/user_timesheet.xsl')
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/hr_timesheet/security/ir.model.access.csv b/addons/hr_timesheet/security/ir.model.access.csv
index ce340fb4eb9..d0573745208 100644
--- a/addons/hr_timesheet/security/ir.model.access.csv
+++ b/addons/hr_timesheet/security/ir.model.access.csv
@@ -6,3 +6,4 @@
"access_hr_sign_out_project","hr.sign.out.project","model_hr_sign_out_project","hr.group_hr_user",1,1,1,1
"access_hr_analytal_timesheet_employee","hr.analytical.timesheet.employee","model_hr_analytical_timesheet_employee","hr.group_hr_manager",1,1,1,1
"access_hr_analytal_timesheet_user","hr.analytical.timesheet.user","model_hr_analytical_timesheet_users","hr.group_hr_user",1,1,1,1
+"access_hr_timesheet_report","hr.timesheet.report","model_hr_timesheet_report","hr.group_hr_manager",1,0,0,0
diff --git a/addons/hr_timesheet_invoice/i18n/es.po b/addons/hr_timesheet_invoice/i18n/es.po
index 3a6afaac4ef..53fe459a86e 100644
--- a/addons/hr_timesheet_invoice/i18n/es.po
+++ b/addons/hr_timesheet_invoice/i18n/es.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: hr_timesheet_invoice
diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
index 487e3687b36..050b798f16d 100644
--- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
+++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
@@ -96,12 +96,15 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Timesheet">
- <field name="name"/>
- <field name="user_id"/>
- <field name="date_from"/>
- <field name="date_to"/>
- <field name="company_id" select="1" groups="base.group_multi_company"/>
- <field name="department_id" groups="base.group_extended"/>
+ <group colspan="4" col="6">
+ <field name="name"/>
+ <field name="company_id" select="1" groups="base.group_multi_company"/>
+ <field name="department_id" groups="base.group_extended"/>
+ <newline/>
+ <field name="user_id"/>
+ <field name="date_from"/>
+ <field name="date_to"/>
+ </group>
<notebook colspan="4">
<page string="Daily View">
<group col="6" colspan="4">
@@ -124,7 +127,6 @@
<button name="sign_in" string="Sign In" type="object" icon="terp-gtk-jump-to-ltr"/>
<button name="sign_out" string="Sign Out" type="object" icon="terp-gtk-jump-to-rtl"/>
</group>
-
<field name="state_attendance" groups="hr_attendance.group_hr_attendance"/>
<field name="total_attendance_day" widget="float_time" groups="hr_attendance.group_hr_attendance"/>
<field colspan="4" context="date=date_current,user_id=user_id" domain="[('name','=',date_current)]" name="timesheet_ids" nolabel="1">
@@ -137,8 +139,8 @@
<field invisible="1" name="journal_id"/>
<field invisible="1" name="product_id"/>
<field invisible="1" name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)"/>
- <field name="amount"/>
- <field name="general_account_id"/>
+ <field invisible="1" name="amount"/>
+ <field invisible="1" name="general_account_id"/>
<field invisible="1" name="user_id" required="1"/>
</tree>
<form string="Timesheet">
@@ -147,9 +149,9 @@
<field name="name"/>
<field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)" widget="float_time"/>
<field name="to_invoice"/>
- <field invisible="1" name="journal_id"/>
- <field invisible="1" name="product_id"/>
- <field invisible="1" name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)"/>
+ <field name="journal_id"/>
+ <field name="product_id"/>
+ <field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)"/>
<field name="amount"/>
<field name="general_account_id"/>
<field name="user_id" required="1"/>
diff --git a/addons/hr_timesheet_sheet/i18n/el.po b/addons/hr_timesheet_sheet/i18n/el.po
index 99558a120ff..e5a6f55bce0 100644
--- a/addons/hr_timesheet_sheet/i18n/el.po
+++ b/addons/hr_timesheet_sheet/i18n/el.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
diff --git a/addons/hr_timesheet_sheet/report/timesheet_report_view.xml b/addons/hr_timesheet_sheet/report/timesheet_report_view.xml
index d628c119530..a5d7d9b420f 100644
--- a/addons/hr_timesheet_sheet/report/timesheet_report_view.xml
+++ b/addons/hr_timesheet_sheet/report/timesheet_report_view.xml
@@ -8,8 +8,8 @@
<field name="arch" type="xml">
<graph string="Timesheet" type="bar">
<field name="user_id" />
- <field name="quantity" operator = "+"/>
- <field name="state" group = "True"/>
+ <field name="quantity" operator = "+"/>
+ <field name="state" group = "True"/>
</graph>
</field>
</record>
@@ -50,71 +50,71 @@
<search string="Timesheet">
<group col="10" colspan="12">
<filter icon="terp-go-year" string="This Year"
- domain="[('date_current','&lt;=', time.strftime('%%Y-%%m-%%d')),('date_current','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
- help="Timesheet in this year"/>
- <filter icon="terp-go-month" string="This Month"
- name="month"
- domain="[('date_current','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date_current','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
- help="Timesheet in this month"/>
- <filter icon="terp-go-week"
- string=" 7 Days "
- separator="1"
- domain="[('date_current','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date_current','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
- help="Timesheet during last 7 days"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new"
- string="Draft"
- domain="[('state','=','draft')]"/>
- <filter icon="terp-camera_test"
- string="Confirmed"
- domain="[('state','=','confirm')]"/>
- <filter icon="terp-dialog-close"
- string="Done"
- domain="[('state','=','done')]"/>
- <separator orientation="vertical"/>
- <field name="account_id"/>
+ domain="[('date_current','&lt;=', time.strftime('%%Y-%%m-%%d')),('date_current','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
+ help="Timesheet in this year"/>
+ <filter icon="terp-go-month" string="This Month"
+ name="month"
+ domain="[('date_current','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date_current','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
+ help="Timesheet in this month"/>
+ <filter icon="terp-go-week"
+ string=" 7 Days "
+ separator="1"
+ domain="[('date_current','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date_current','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
+ help="Timesheet during last 7 days"/>
+ <separator orientation="vertical"/>
+ <filter icon="terp-document-new"
+ string="Draft"
+ domain="[('state','=','draft')]"/>
+ <filter icon="terp-camera_test"
+ string="Confirmed"
+ domain="[('state','=','confirm')]"/>
+ <filter icon="terp-dialog-close"
+ string="Done"
+ domain="[('state','=','done')]"/>
+ <separator orientation="vertical"/>
+ <field name="account_id"/>
<field name="user_id" />
</group>
<newline/>
<group expand="1" string="Group By...">
- <filter string="User" name="User_id" icon="terp-personal" context="{'group_by':'user_id'}"/>
- <filter string="Department" icon="terp-personal+" context="{'group_by':'department_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Type of Invoicing" icon="terp-stock_symbol-selection" context="{'group_by':'to_invoice'}"/>
- <separator orientation="vertical"/>
- <filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'account_id'}"/>
- <filter string="General Account" icon="terp-folder-orange" context="{'group_by':'general_account_id'}"/>
- <separator orientation="vertical"/>
- <filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
- <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical"/>
- <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/>
- <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
- <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
+ <filter string="User" name="User_id" icon="terp-personal" context="{'group_by':'user_id'}"/>
+ <filter string="Department" icon="terp-personal+" context="{'group_by':'department_id'}"/>
+ <separator orientation="vertical"/>
+ <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
+ <separator orientation="vertical"/>
+ <filter string="Type of Invoicing" icon="terp-stock_symbol-selection" context="{'group_by':'to_invoice'}"/>
+ <separator orientation="vertical"/>
+ <filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'account_id'}"/>
+ <filter string="General Account" icon="terp-folder-orange" context="{'group_by':'general_account_id'}"/>
+ <separator orientation="vertical"/>
+ <filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
+ <separator orientation="vertical"/>
+ <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
+ <separator orientation="vertical"/>
+ <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}"/>
+ <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
+ <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
</group>
<newline/>
<group expand="0" string="Extended options..." groups="base.group_extended">
- <field name="general_account_id"/>
- <field name="to_invoice" widget="selection"/>
- <separator orientation="vertical"/>
- <field name="product_id"/>
- <separator orientation="vertical"/>
- <field name="department_id" widget="selection"/>
- <separator orientation="vertical"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- <newline/>
- <field name="date_to"/>
- <field name="date_from"/>
- </group>
+ <field name="general_account_id"/>
+ <field name="to_invoice" widget="selection"/>
+ <separator orientation="vertical"/>
+ <field name="product_id"/>
+ <separator orientation="vertical"/>
+ <field name="department_id" widget="selection"/>
+ <separator orientation="vertical"/>
+ <field name="company_id" widget="selection" groups="base.group_multi_company"/>
+ <newline/>
+ <field name="date_to"/>
+ <field name="date_from"/>
+ </group>
</search>
</field>
</record>
<record id="action_timesheet_report_stat_all" model="ir.actions.act_window">
- <field name="name">Timesheet</field>
+ <field name="name">Timesheet Sheet Analysis</field>
<field name="res_model">timesheet.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
diff --git a/addons/l10n_be/account_pcmn_belgium.xml b/addons/l10n_be/account_pcmn_belgium.xml
index e4a9c52a437..f4fe7969790 100644
--- a/addons/l10n_be/account_pcmn_belgium.xml
+++ b/addons/l10n_be/account_pcmn_belgium.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="True">
+ <data>
<!-- account.account.type -->
<record id="user_type_view" model="account.account.type">
diff --git a/addons/l10n_be/fiscal_templates.xml b/addons/l10n_be/fiscal_templates.xml
index 47376f8c7ab..e40cd6a3a1b 100644
--- a/addons/l10n_be/fiscal_templates.xml
+++ b/addons/l10n_be/fiscal_templates.xml
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="1">
+ <data>
- <!-- Fiscal Position Templates -->
-
- <record id="fiscal_position_template_1" model="account.fiscal.position.template">
+ <!-- Fiscal Position Templates -->
+
+ <record id="fiscal_position_template_1" model="account.fiscal.position.template">
<field name="name">Régime National</field>
<field name="chart_template_id" ref="l10nbe_chart_template"/>
- </record>
-
- <record id="fiscal_position_template_2" model="account.fiscal.position.template">
+ </record>
+
+ <record id="fiscal_position_template_2" model="account.fiscal.position.template">
<field name="name">Régime Extra-Communautaire</field>
<field name="chart_template_id" ref="l10nbe_chart_template"/>
- </record>
+ </record>
- <record id="fiscal_position_template_3" model="account.fiscal.position.template">
+ <record id="fiscal_position_template_3" model="account.fiscal.position.template">
<field name="name">Régime Intra-Communautaire</field>
<field name="chart_template_id" ref="l10nbe_chart_template"/>
- </record>
+ </record>
<!-- Fiscal Position Tax Templates -->
@@ -25,77 +25,77 @@
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_21" />
<field name="tax_dest_id" ref="l10n_be.vat_XO" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_2" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_12" />
<field name="tax_dest_id" ref="l10n_be.vat_XO" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_3" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_6" />
<field name="tax_dest_id" ref="l10n_be.vat_XO" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_4" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_0" />
<field name="tax_dest_id" ref="l10n_be.vat_XO" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_5" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_0_co" />
<field name="tax_dest_id" ref="l10n_be.vat_XO" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_6" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_bsd" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_7" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_12_buy_bsd" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_8" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_6_buy_bsd" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_9" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_0_buy_bsd" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_10" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_mar" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_10_bis" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_ser" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_11" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_12_buy_mar" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_12" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_6_buy_mar" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_13" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="tax_src_id" ref="l10n_be.vat_0_buy_mar" />
<field name="tax_dest_id" ref="l10n_be.vat_XO_buy" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_15" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_21" />
<field name="tax_dest_id" ref="l10n_be.vat_IO" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_15b" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_21_s" />
@@ -105,37 +105,37 @@
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_12" />
<field name="tax_dest_id" ref="l10n_be.vat_IO" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_17" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_6" />
<field name="tax_dest_id" ref="l10n_be.vat_IO" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_18" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_0" />
<field name="tax_dest_id" ref="l10n_be.vat_IO" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_19" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_0_co" />
<field name="tax_dest_id" ref="l10n_be.vat_IO" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_20" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_bsd" />
<field name="tax_dest_id" ref="l10n_be.vat_IO_buy_21b" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_21" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_ser" />
<field name="tax_dest_id" ref="l10n_be.vat_IO_buy_21s" />
- </record>
+ </record>
<record id="fiscal_position_tax_template_22" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="tax_src_id" ref="l10n_be.vat_21_buy_mar" />
<field name="tax_dest_id" ref="l10n_be.vat_IO_buy_21m" />
- </record>
+ </record>
<!-- Fiscal Position Account Templates -->
@@ -144,54 +144,54 @@
<field name="position_id" ref="fiscal_position_template_1" />
<field name="account_src_id" ref="l10n_be.a7000" />
<field name="account_dest_id" ref="l10n_be.a_sale" />
- </record>
+ </record>
- <record id="fiscal_position_account_template_3" model="account.fiscal.position.account.template">
+ <record id="fiscal_position_account_template_3" model="account.fiscal.position.account.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="account_src_id" ref="l10n_be.a7000" />
<field name="account_dest_id" ref="l10n_be.a7001" />
- </record>
-
- <record id="fiscal_position_account_template_4" model="account.fiscal.position.account.template">
+ </record>
+
+ <record id="fiscal_position_account_template_4" model="account.fiscal.position.account.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="account_src_id" ref="l10n_be.a_sale" />
<field name="account_dest_id" ref="l10n_be.a7011" />
- </record>
+ </record>
- <record id="fiscal_position_account_template_5" model="account.fiscal.position.account.template">
+ <record id="fiscal_position_account_template_5" model="account.fiscal.position.account.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="account_src_id" ref="l10n_be.a7020" />
<field name="account_dest_id" ref="l10n_be.a7021" />
- </record>
+ </record>
- <record id="fiscal_position_account_template_6" model="account.fiscal.position.account.template">
+ <record id="fiscal_position_account_template_6" model="account.fiscal.position.account.template">
<field name="position_id" ref="fiscal_position_template_3" />
<field name="account_src_id" ref="l10n_be.a7050" />
<field name="account_dest_id" ref="l10n_be.a7051" />
- </record>
+ </record>
- <record id="fiscal_position_account_template_7" model="account.fiscal.position.account.template">
+ <record id="fiscal_position_account_template_7" model="account.fiscal.position.account.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="account_src_id" ref="l10n_be.a7000" />
<field name="account_dest_id" ref="l10n_be.a7002" />
- </record>
-
- <record id="fiscal_position_account_template_8" model="account.fiscal.position.account.template">
+ </record>
+
+ <record id="fiscal_position_account_template_8" model="account.fiscal.position.account.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="account_src_id" ref="l10n_be.a_sale" />
<field name="account_dest_id" ref="l10n_be.a7012" />
- </record>
+ </record>
- <record id="fiscal_position_account_template_9" model="account.fiscal.position.account.template">
+ <record id="fiscal_position_account_template_9" model="account.fiscal.position.account.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="account_src_id" ref="l10n_be.a7020" />
<field name="account_dest_id" ref="l10n_be.a7022" />
- </record>
+ </record>
- <record id="fiscal_position_account_template_10" model="account.fiscal.position.account.template">
+ <record id="fiscal_position_account_template_10" model="account.fiscal.position.account.template">
<field name="position_id" ref="fiscal_position_template_2" />
<field name="account_src_id" ref="l10n_be.a7050" />
<field name="account_dest_id" ref="l10n_be.a7052" />
- </record>
+ </record>
</data>
</openerp>
diff --git a/addons/l10n_ch/zip_code_default.xml b/addons/l10n_ch/zip_code_default.xml
index 4608a1fe5b6..a5ff1a51287 100644
--- a/addons/l10n_ch/zip_code_default.xml
+++ b/addons/l10n_ch/zip_code_default.xml
@@ -1,5 +1,5 @@
<openerp>
-<data noupdate="1">
+<data>
<record id="ir_values_1001" model="ir.values">
<field name="name">city</field>
<field name="key2">zip=1753</field>
diff --git a/addons/l10n_ch_chart_c2c_pcg/account.xml b/addons/l10n_ch_chart_c2c_pcg/account.xml
index 1db72015516..da21b30e58d 100644
--- a/addons/l10n_ch_chart_c2c_pcg/account.xml
+++ b/addons/l10n_ch_chart_c2c_pcg/account.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
- <data noupdate="True">
+ <data>
<record id="account_type_view" model="account.account.type">
diff --git a/addons/l10n_ch_chart_c2c_pcg/vat.xml b/addons/l10n_ch_chart_c2c_pcg/vat.xml
index de3643b4a8c..0c8bacbb252 100644
--- a/addons/l10n_ch_chart_c2c_pcg/vat.xml
+++ b/addons/l10n_ch_chart_c2c_pcg/vat.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
- <data noupdate="1">
+ <data>
<!--
# Tax Code Configuration
-->
@@ -530,4 +530,4 @@
<field name="type_tax_use">purchase</field>
</record>
</data>
-</openerp> \ No newline at end of file
+</openerp>
diff --git a/addons/l10n_chart_uk_minimal/account_chart.xml b/addons/l10n_chart_uk_minimal/account_chart.xml
index 32ee1cdc0df..804568afecc 100644
--- a/addons/l10n_chart_uk_minimal/account_chart.xml
+++ b/addons/l10n_chart_uk_minimal/account_chart.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
-
- <data noupdate="1">
+ <data>
<!-- Account Templates-->
<record id="chart0" model="account.account.template">
@@ -15,14 +14,14 @@
<!-- Balance Sheet -->
<record id="bal" model="account.account.template">
- <field name="code">1</field>
+ <field name="code">1</field>
<field name="name">Balance Sheet</field>
<field ref="chart0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_view"/>
</record>
-
- <record model="account.account.template" id="assets_view">
+
+ <record model="account.account.template" id="assets_view">
<field name="name">Assets</field>
<field name="code">10</field>
<field name="type">view</field>
@@ -41,7 +40,7 @@
</record>
<record id="fas" model="account.account.template">
- <field name="code">100</field>
+ <field name="code">100</field>
<field name="name">Fixed Assets</field>
<field ref="assets_view" name="parent_id"/>
<field name="type">view</field>
@@ -49,7 +48,7 @@
</record>
<record id="xfa" model="account.account.template">
- <field name="code">1000</field>
+ <field name="code">1000</field>
<field name="name">Fixed Asset Account</field>
<field ref="fas" name="parent_id"/>
<field name="type">other</field>
@@ -57,7 +56,7 @@
</record>
<record id="nca" model="account.account.template">
- <field name="code">101</field>
+ <field name="code">101</field>
<field name="name">Net Current Assets</field>
<field ref="assets_view" name="parent_id"/>
<field name="type">view</field>
@@ -65,9 +64,9 @@
</record>
<record id="cas" model="account.account.template">
- <field name="code">1100</field>
+ <field name="code">1100</field>
<field name="name">Current Assets</field>
- <field ref="nca" name="parent_id"/>
+ <field ref="nca" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_view"/>
</record>
@@ -94,7 +93,7 @@
</record> -->
<record id="ova" model="account.account.template">
- <field name="code">11003</field>
+ <field name="code">11003</field>
<field name="name">Output VAT</field>
<field ref="cas" name="parent_id"/>
<field name="type">other</field>
@@ -102,7 +101,7 @@
</record>
<record id="bnk" model="account.account.template">
- <field name="code">11004</field>
+ <field name="code">11004</field>
<field name="name">Bank Current Account</field>
<field ref="cas" name="parent_id"/>
<field name="type">other</field>
@@ -118,7 +117,7 @@
</record>
<record id="cli" model="account.account.template">
- <field name="code">110</field>
+ <field name="code">110</field>
<field name="name">Current Liabilities</field>
<field ref="liabilities_view" name="parent_id"/>
<field name="type">view</field>
@@ -139,7 +138,7 @@
</record>-->
<record id="iva" model="account.account.template">
- <field name="code">1112</field>
+ <field name="code">1112</field>
<field name="name">Input VAT</field>
<field ref="cli" name="parent_id"/>
<field name="type">other</field>
@@ -149,14 +148,14 @@
<!-- Profit and Loss -->
<record id="gpf" model="account.account.template">
- <field name="code">2</field>
+ <field name="code">2</field>
<field name="name">Profit and Loss</field>
<field ref="chart0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account_type_view"/>
</record>
-
- <record model="account.account.template" id="income_view">
+
+ <record model="account.account.template" id="income_view">
<field name="name">Income</field>
<field name="code">20</field>
<field name="type">view</field>
@@ -175,7 +174,7 @@
</record>
<record id="rev" model="account.account.template">
- <field name="code">200</field>
+ <field name="code">200</field>
<field name="name">Revenue</field>
<field ref="income_view" name="parent_id"/>
<field name="type">view</field>
@@ -195,7 +194,7 @@
</record> -->
<record id="cos" model="account.account.template">
- <field name="code">210</field>
+ <field name="code">210</field>
<field name="name">Cost of Sales</field>
<field ref="expense_view" name="parent_id"/>
<field name="type">view</field>
@@ -211,7 +210,7 @@
</record>
<record id="ovr" model="account.account.template">
- <field name="code">211</field>
+ <field name="code">211</field>
<field name="name">Overheads</field>
<field ref="expense_view" name="parent_id"/>
<field name="type">view</field>
diff --git a/addons/l10n_chart_uk_minimal/account_tax.xml b/addons/l10n_chart_uk_minimal/account_tax.xml
index 42f214e5685..502cea9b0d2 100644
--- a/addons/l10n_chart_uk_minimal/account_tax.xml
+++ b/addons/l10n_chart_uk_minimal/account_tax.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
-
- <data noupdate="True">
+ <data>
<!-- VAT Code Definitions -->
@@ -257,4 +256,4 @@
</record>
</data>
-</openerp> \ No newline at end of file
+</openerp>
diff --git a/addons/l10n_chart_uk_minimal/account_types.xml b/addons/l10n_chart_uk_minimal/account_types.xml
index adecc45c228..f2d773236bf 100644
--- a/addons/l10n_chart_uk_minimal/account_types.xml
+++ b/addons/l10n_chart_uk_minimal/account_types.xml
@@ -1,26 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="True">
+ <data>
<record model="account.account.type" id="account_type_receivable" >
- <field name="name">Receivable</field>
- <field name="code">receivable</field>
- <field name="close_method">unreconciled</field>
- </record>
+ <field name="name">Receivable</field>
+ <field name="code">receivable</field>
+ <field name="close_method">unreconciled</field>
+ </record>
- <record model="account.account.type" id="account_type_payable" >
- <field name="name">Payable</field>
- <field name="code">payable</field>
- <field name="close_method">unreconciled</field>
- </record>
+ <record model="account.account.type" id="account_type_payable" >
+ <field name="name">Payable</field>
+ <field name="code">payable</field>
+ <field name="close_method">unreconciled</field>
+ </record>
- <record model="account.account.type" id="account_type_view">
- <field name="name">View</field>
- <field name="code">view</field>
- <field name="close_method">none</field>
- </record>
-
- <record model="account.account.type" id="acct_type_income_view">
+ <record model="account.account.type" id="account_type_view">
+ <field name="name">View</field>
+ <field name="code">view</field>
+ <field name="close_method">none</field>
+ </record>
+
+ <record model="account.account.type" id="acct_type_income_view">
<field name="name">Income View</field>
<field name="code">view</field>
<field name="report_type">income</field>
@@ -40,44 +40,44 @@
<field name="code">liability</field>
<field name="report_type">liability</field>
</record>
- <record model="account.account.type" id="account_type_income" >
- <field name="name">Income</field>
- <field name="code">income</field>
- <field name="close_method">none</field>
- <field name="report_type">income</field>
- </record>
+ <record model="account.account.type" id="account_type_income" >
+ <field name="name">Income</field>
+ <field name="code">income</field>
+ <field name="close_method">none</field>
+ <field name="report_type">income</field>
+ </record>
- <record model="account.account.type" id="account_type_expense">
- <field name="name">Expense</field>
- <field name="code">expense</field>
- <field name="close_method">none</field>
- <field name="report_type">expense</field>
- </record>
+ <record model="account.account.type" id="account_type_expense">
+ <field name="name">Expense</field>
+ <field name="code">expense</field>
+ <field name="close_method">none</field>
+ <field name="report_type">expense</field>
+ </record>
- <record model="account.account.type" id="account_type_tax">
- <field name="name">Tax</field>
- <field name="code">tax</field>
- <field name="close_method">unreconciled</field>
- </record>
+ <record model="account.account.type" id="account_type_tax">
+ <field name="name">Tax</field>
+ <field name="code">tax</field>
+ <field name="close_method">unreconciled</field>
+ </record>
- <record model="account.account.type" id="account_type_cash">
- <field name="name">Cash</field>
- <field name="code">cash</field>
- <field name="close_method">balance</field>
- </record>
+ <record model="account.account.type" id="account_type_cash">
+ <field name="name">Cash</field>
+ <field name="code">cash</field>
+ <field name="close_method">balance</field>
+ </record>
- <record model="account.account.type" id="account_type_asset">
- <field name="name">Asset</field>
- <field name="code">asset</field>
- <field name="close_method">balance</field>
- <field name="report_type">asset</field>
- </record>
+ <record model="account.account.type" id="account_type_asset">
+ <field name="name">Asset</field>
+ <field name="code">asset</field>
+ <field name="close_method">balance</field>
+ <field name="report_type">asset</field>
+ </record>
- <record model="account.account.type" id="account_type_equity">
- <field name="name">Equity</field>
- <field name="code">equity</field>
- <field name="close_method">balance</field>
- </record>
+ <record model="account.account.type" id="account_type_equity">
+ <field name="name">Equity</field>
+ <field name="code">equity</field>
+ <field name="close_method">balance</field>
+ </record>
</data>
</openerp>
diff --git a/addons/l10n_fr/fiscal_templates_fr.xml b/addons/l10n_fr/fiscal_templates_fr.xml
index 01a7beefc90..d3380581cba 100644
--- a/addons/l10n_fr/fiscal_templates_fr.xml
+++ b/addons/l10n_fr/fiscal_templates_fr.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="1">
+ <data>
<!-- = = = = = = = = = = = = = = = -->
<!-- Fiscal Position Templates -->
diff --git a/addons/l10n_fr/l10n_fr_pcg_taxes.xml b/addons/l10n_fr/l10n_fr_pcg_taxes.xml
index 3d1261df5f5..11f6465096f 100644
--- a/addons/l10n_fr/l10n_fr_pcg_taxes.xml
+++ b/addons/l10n_fr/l10n_fr_pcg_taxes.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="True">
-
+ <data>
<!--
Définition des taux de TVA et des Tax Codes
diff --git a/addons/l10n_fr/pcg.xml b/addons/l10n_fr/pcg.xml
index 545937b8390..9f45b927ffd 100644
--- a/addons/l10n_fr/pcg.xml
+++ b/addons/l10n_fr/pcg.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
- <data noupdate="1">
+ <data>
<!--
Plan comptable général pour la France.
diff --git a/addons/l10n_fr/tax.xml b/addons/l10n_fr/tax.xml
index 8632ede419c..154765e9365 100644
--- a/addons/l10n_fr/tax.xml
+++ b/addons/l10n_fr/tax.xml
@@ -1,9 +1,9 @@
<?xml version="1.0"?>
<openerp>
- <data noupdate="1">
+ <data>
<!--
- TVA :
+ TVA :
France métropolitaine : taux normal = 19,6% Réduit = 5,5%
Département Outre Mer : 8,5% 2,1%
-->
diff --git a/addons/l10n_in/i18n/et.po b/addons/l10n_in/i18n/et.po
new file mode 100644
index 00000000000..40b02c3415b
--- /dev/null
+++ b/addons/l10n_in/i18n/et.po
@@ -0,0 +1,95 @@
+# Estonian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 15:28+0000\n"
+"PO-Revision-Date: 2010-06-25 17:49+0000\n"
+"Last-Translator: lyyser <logard.1961@gmail.com>\n"
+"Language-Team: Estonian <et@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-06-26 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: l10n_chart_in
+#: model:ir.module.module,description:l10n_chart_in.module_meta_information
+msgid ""
+"\n"
+" Indian Accounting : chart of Account\n"
+" "
+msgstr ""
+
+#. module: l10n_chart_in
+#: constraint:account.account.template:0
+msgid "Error ! You can not create recursive account templates."
+msgstr "Viga ! Sa ei saa luua rekrusiivseid kontomalle."
+
+#. module: l10n_chart_in
+#: model:account.journal,name:l10n_chart_in.opening_journal
+msgid "Opening Journal"
+msgstr ""
+
+#. module: l10n_chart_in
+#: model:ir.actions.todo,note:l10n_chart_in.config_call_account_template_in_minimal
+msgid ""
+"Generate Chart of Accounts from a Chart Template. You will be asked to pass "
+"the name of the company, the chart template to follow, the no. of digits to "
+"generate the code for your accounts and Bank account, currency to create "
+"Journals. Thus,the pure copy of chart Template is generated.\n"
+"\tThis is the same wizard that runs from Financial "
+"Management/Configuration/Financial Accounting/Financial Accounts/Generate "
+"Chart of Accounts from a Chart Template."
+msgstr ""
+"Genereeri kontoplaan plaanimallist. Sul palutakse valida ettevõte, "
+"plaanimall, numbrite arv sinu kontode ja pangakontode koodide "
+"genereerimiseks, valuuta päevikute loomiseks. Nii genereeritakse puhas "
+"koopia plaanimallist.\n"
+"\tSee on sama nõustaja mis käivitub asukohast "
+"Finantsjuhtimine/Seadistus/Finantsraamatupidamine/Mallid/Tekita kontoplaan "
+"kasutades plaani malli."
+
+#. module: l10n_chart_in
+#: model:account.account.type,name:l10n_chart_in.account_type_liability1
+msgid "Liability"
+msgstr "Kohustus"
+
+#. module: l10n_chart_in
+#: model:account.account.type,name:l10n_chart_in.account_type_asset1
+msgid "Asset"
+msgstr "Vara"
+
+#. module: l10n_chart_in
+#: model:account.account.type,name:l10n_chart_in.account_type_closed1
+msgid "Closed"
+msgstr "Suletud"
+
+#. module: l10n_chart_in
+#: model:account.account.type,name:l10n_chart_in.account_type_income1
+msgid "Income"
+msgstr "Tulu"
+
+#. module: l10n_chart_in
+#: constraint:account.tax.code.template:0
+msgid "Error ! You can not create recursive Tax Codes."
+msgstr "Viga ! sa ei saa luua rekrusiivseid maksukoode."
+
+#. module: l10n_chart_in
+#: model:account.account.type,name:l10n_chart_in.account_type_expense1
+msgid "Expense"
+msgstr "Kulu"
+
+#. module: l10n_chart_in
+#: model:ir.module.module,shortdesc:l10n_chart_in.module_meta_information
+msgid "Indian Chart of Account"
+msgstr ""
+
+#. module: l10n_chart_in
+#: model:account.account.type,name:l10n_chart_in.account_type_root_ind1
+msgid "View"
+msgstr "Vaade"
diff --git a/addons/mail_gateway/__init__.py b/addons/mail_gateway/__init__.py
index 7380514e45a..6526541a068 100644
--- a/addons/mail_gateway/__init__.py
+++ b/addons/mail_gateway/__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,12 @@
# 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 mail_gateway
+import res_partner
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/mail_gateway/__openerp__.py b/addons/mail_gateway/__openerp__.py
index 1584067ea38..aa08c7f190d 100644
--- a/addons/mail_gateway/__openerp__.py
+++ b/addons/mail_gateway/__openerp__.py
@@ -32,6 +32,7 @@
'init_xml': [],
'update_xml': [
"mail_gateway_view.xml",
+ "res_partner_view.xml",
'security/ir.model.access.csv'
],
'demo_xml': [],
diff --git a/addons/mail_gateway/mail_gateway.py b/addons/mail_gateway/mail_gateway.py
index edb723a3ba0..3ccde181883 100644
--- a/addons/mail_gateway/mail_gateway.py
+++ b/addons/mail_gateway/mail_gateway.py
@@ -28,6 +28,9 @@ from email.header import decode_header
import base64
import re
from tools.translate import _
+import logging
+
+_logger = logging.getLogger('mailgate')
class mailgate_thread(osv.osv):
'''
@@ -35,7 +38,6 @@ class mailgate_thread(osv.osv):
'''
_name = 'mailgate.thread'
_description = 'Mailgateway Thread'
- _rec_name = 'thread'
_columns = {
'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('history', '=', True)]),
@@ -46,12 +48,24 @@ class mailgate_thread(osv.osv):
raise Exception, _('Method is not implemented')
def message_update(self, cr, uid, ids, vals={}, msg="", default_act='pending', context={}):
- raise Exception, _('Method is not implemented')
+ raise Exception, _('Method is not implemented')
- def emails_get(self, cr, uid, ids, context=None):
- raise Exception, _('Method is not implemented')
+ def message_followers(self, cr, uid, ids, context=None):
+ """ Get a list of emails of the people following this thread
+ """
+ res = {}
+ if isinstance(ids, (str, int, long)):
+ ids = [long(ids)]
+ for thread in self.browse(cr, uid, ids, context=context):
+ l=[]
+ for message in thread.message_ids:
+ l.append((message.user_id and message.user_id.email) or '')
+ l.append(message.email_from or '')
+ l.append(message.email_cc or '')
+ res[thread.id] = l
+ return res
- def msg_send(self, cr, uid, id, *args, **argv):
+ def msg_send(self, cr, uid, id, *args, **argv):
raise Exception, _('Method is not implemented')
def _history(self, cr, uid, cases, keyword, history=False, subject=None, email=False, details=None, \
@@ -93,7 +107,7 @@ class mailgate_thread(osv.osv):
if history:
for att in attach:
attachments.append(att_obj.create(cr, uid, {'name': att[0], 'datas': base64.encodestring(att[1])}))
-
+
data = {
'name': subject or 'History',
'history': True,
@@ -125,7 +139,7 @@ class mailgate_message(osv.osv):
_description = 'Mailgateway Message'
_order = 'id desc'
_columns = {
- 'name':fields.char('Message', size=64),
+ 'name':fields.char('Subject', size=128),
'model': fields.char('Object Name', size=128),
'res_id': fields.integer('Resource ID'),
'ref_id': fields.char('Reference Id', size=256, readonly=True, help="Message Id in Email Server.", select=True),
@@ -150,8 +164,10 @@ class mailgate_tool(osv.osv_memory):
_name = 'email.server.tools'
_description = "Email Server Tools"
-
+
def _to_decode(self, s, charsets):
+ if not s:
+ return s
for charset in charsets:
if charset:
try:
@@ -164,19 +180,11 @@ class mailgate_tool(osv.osv_memory):
if text:
text = decode_header(text.replace('\r', ''))
return ''.join(map(lambda x:self._to_decode(x[0], [x[1]]), text or []))
-
- def to_email(self, text):
- _email = re.compile(r'.*<.*@.*\..*>', re.UNICODE)
- def record(path):
- eml = path.group()
- index = eml.index('<')
- eml = eml[index:-1].replace('<', '').replace('>', '')
- return eml
-
- bits = _email.sub(record, text)
- return bits
-
- def history(self, cr, uid, model, res_ids, msg, attach):
+
+ def to_email(self,text):
+ return re.findall(r'([^ ,<@]+@[^> ,]+)',text)
+
+ def history(self, cr, uid, model, res_ids, msg, attach, context=None):
"""This function creates history for mails fetched
@param self: The object pointer
@param cr: the current row, from the database cursor,
@@ -206,67 +214,42 @@ class mailgate_tool(osv.osv_memory):
'user_id': uid,
'attachment_ids': [(6, 0, attach)]
}
- msg_id = msg_pool.create(cr, uid, msg_data)
+ msg_id = msg_pool.create(cr, uid, msg_data, context=context)
return True
-
- def email_send(self, cr, uid, model, res_id, msg, from_email=False, email_default=False):
- """This function Sends return email on submission of Fetched email in OpenERP database
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param model: OpenObject Model
+
+ def email_forward(self, cr, uid, model, res_ids, msg, email_error=False):
+ """Sends an email to all people following the thread
@param res_id: Id of the record of OpenObject model created from the Email details
@param msg: Email details
- @param email_default: Default Email address in case of any Problem
+ @param email_error: Default Email address in case of any Problem
"""
- history_pool = self.pool.get('mailgate.message')
- model_pool = self.pool.get(model)
- from_email = from_email or tools.config.get('email_from', None)
- message = email.message_from_string(str(msg))
- subject = "[%s] %s" %(res_id, self._decode_header(message['Subject']))
- #msg_mails = []
- #mails = [self._decode_header(message['From']), self._decode_header(message['To'])]
- #mails += self._decode_header(message.get('Cc', '')).split(',')
-
- values = {}
- if hasattr(model_pool, 'emails_get'):
- values = model_pool.emails_get(cr, uid, [res_id])
- emails = values.get(res_id, {})
-
- priority = emails.get('priority', [3])[0]
- em = emails['user_email'] + emails['email_from'] + emails['email_cc']
- msg_mails = map(self.to_email, filter(None, em))
-
- #mm = [self._decode_header(message['From']), self._decode_header(message['To'])]
- #mm += self._decode_header(message.get('Cc', '')).split(',')
-
- #msg_mails = map(self.to_email, filter(None, mm))
-
- encoding = message.get_content_charset()
- message['body'] = message.get_payload(decode=True)
- if encoding:
- message['body'] = tools.ustr(message['body'].decode(encoding))
-
- body = _("""
-Hello %s,
-
- Your Request ID: %s
-
-Thanks
-
--------- Original Message --------
-%s
-""") %(self._decode_header(message['From']), res_id, message['body'])
- res = None
- try:
- res = tools.email_send(from_email, msg_mails, subject, body, openobject_id=res_id)
- except Exception, e:
- if email_default:
- temp_msg = '[%s] %s'%(res_id, self._decode_header(message['Subject']))
- del message['Subject']
- message['Subject'] = '[OpenERP-FetchError] %s' %(temp_msg)
- tools.email_send(from_email, email_default, message.get('Subject'), message.get('body'), openobject_id=res_id)
- return res
+ for res_id in res_ids:
+ history_pool = self.pool.get('mailgate.message')
+ message = email.message_from_string(tools.ustr(msg).encode('utf-8'))
+ encoding = message.get_content_charset()
+ message['body'] = message.get_payload(decode=True)
+ if encoding:
+ message['body'] = self._to_decode(message['body'], [encoding])
+ subject = message['Subject']
+
+ from_email = self._decode_header(message['From'])
+
+ model_pool = self.pool.get(model)
+ message_followers = model_pool.message_followers(cr, uid, [res_id])[res_id]
+ message_followers_emails = self.to_email(','.join(message_followers))
+
+ message_recipients = self.to_email(','.join([from_email,self._decode_header(message['To']),self._decode_header(message['Cc'])]) )
+ message_forward = [i for i in message_followers_emails if (i and (i not in message_recipients))]
+
+ res = None
+ try:
+ res = tools.email_send(from_email, message_forward, subject, body, openobject_id=res_id)
+ except Exception, e:
+ if email_error:
+ temp_msg = '[%s] %s'%(res_id, message['Subject'])
+ del message['Subject']
+ message['Subject'] = '[OpenERP-Error] %s' %(temp_msg)
+ tools.email_send(from_email, email_error, message.get('Subject'), message.get('body'), openobject_id=res_id)
def process_email(self, cr, uid, model, message, attach=True, context=None):
"""This function Processes email and create record for given OpenERP model
@@ -275,25 +258,24 @@ Thanks
@param uid: the current user’s ID for security checks,
@param model: OpenObject Model
@param message: Email details
- @param attach: Email attachments
+ @param attach: Email attachments
@param context: A standard dictionary for contextual values"""
-
model_pool = self.pool.get(model)
if not context:
context = {}
res_id = False
# Create New Record into particular model
- def create_record(msg):
+ def create_record(msg):
if hasattr(model_pool, 'message_new'):
res_id = model_pool.message_new(cr, uid, msg, context)
else:
data = {
- 'name': msg.get('subject'),
- 'email_from': msg.get('from'),
- 'email_cc': msg.get('cc'),
- 'user_id': False,
- 'description': msg.get('body'),
- 'state' : 'draft',
+ 'name': msg.get('subject'),
+ 'email_from': msg.get('from'),
+ 'email_cc': msg.get('cc'),
+ 'user_id': False,
+ 'description': msg.get('body'),
+ 'state' : 'draft',
}
data.update(self.get_partner(cr, uid, msg.get('from'), context=context))
res_id = model_pool.create(cr, uid, data, context=context)
@@ -302,28 +284,35 @@ Thanks
if attach:
for attachment in msg.get('attachments', []):
data_attach = {
- 'name': attachment,
- 'datas': binascii.b2a_base64(str(attachments.get(attachment))),
- 'datas_fname': attachment,
- 'description': 'Mail attachment',
- 'res_model': model,
- 'res_id': res_id,
+ 'name': attachment,
+ 'datas': binascii.b2a_base64(str(attachments.get(attachment))),
+ 'datas_fname': attachment,
+ 'description': 'Mail attachment',
+ 'res_model': model,
+ 'res_id': res_id,
}
- att_ids.append(self.pool.get('ir.attachment').create(cr, uid, data_attach))
-
+ att_ids.append(self.pool.get('ir.attachment').create(cr, uid, data_attach))
+
return res_id
history_pool = self.pool.get('mailgate.message')
- msg_txt = email.message_from_string(message)
+
+ # Warning: message_from_string doesn't always work correctly on unicode,
+ # we must use utf-8 strings here :-(
+ msg_txt = email.message_from_string(tools.ustr(message).encode('utf-8'))
message_id = msg_txt.get('Message-ID', False)
msg = {}
+
if not message_id:
- return False
+ # Very unusual situation, be we should be fault-tolerant here
+ message_id = time.time()
+ msg_txt['Message-ID'] = message_id
+ _logger.info('Message without message-id, generating a random one: %s', message_id)
fields = msg_txt.keys()
msg['id'] = message_id
- msg['message-id'] = message_id
-
+ msg['message-id'] = message_id
+
if 'Subject' in fields:
msg['subject'] = self._decode_header(msg_txt.get('Subject'))
@@ -349,19 +338,19 @@ Thanks
msg['encoding'] = msg_txt.get('Content-Transfer-Encoding')
if 'References' in fields:
- msg['references'] = msg_txt.get('References')
+ msg['references'] = msg_txt.get('References')
if 'X-Priority' in fields:
msg['priority'] = msg_txt.get('X-priority', '3 (Normal)').split(' ')[0]
- if not msg_txt.is_multipart() or 'text/plain' in msg.get('content-type', None):
+ if not msg_txt.is_multipart() or 'text/plain' in msg.get('content-type', ''):
encoding = msg_txt.get_content_charset()
msg['body'] = msg_txt.get_payload(decode=True)
if encoding:
msg['body'] = tools.ustr(msg['body'])
attachments = {}
- if msg_txt.is_multipart() or 'multipart/alternative' in msg.get('content-type', None):
+ if msg_txt.is_multipart() or 'multipart/alternative' in msg.get('content-type', ''):
body = ""
counter = 1
for part in msg_txt.walk():
@@ -390,14 +379,13 @@ Thanks
res = part.get_payload(decode=True)
if encoding:
res = tools.ustr(res)
-
body += res
msg['body'] = body
msg['attachments'] = attachments
res_ids = []
new_res_id = False
- if msg.get('references', False):
+ if msg.get('references'):
references = msg.get('references')
if '\r\n' in references:
references = msg.get('references').split('\r\n')
@@ -416,27 +404,29 @@ Thanks
res_id = int(res_id)
res_ids.append(res_id)
model_pool = self.pool.get(model)
-
+
vals = {}
if hasattr(model_pool, 'message_update'):
model_pool.message_update(cr, uid, [res_id], vals, msg, context=context)
-
+
if not len(res_ids):
new_res_id = create_record(msg)
res_ids = [new_res_id]
- # Store messages
+ # Store messages
+ context.update({'model' : model})
if hasattr(model_pool, '_history'):
- model_pool._history(cr, uid, res_ids, _('Receive'), history=True,
- subject = msg.get('subject'),
- email = msg.get('to'),
- details = msg.get('body'),
- email_from = msg.get('from'),
- message_id = msg.get('message-id'),
+ model_pool._history(cr, uid, res_ids, _('Receive'), history=True,
+ subject = msg.get('subject'),
+ email = msg.get('to'),
+ details = msg.get('body'),
+ email_from = msg.get('from'),
+ message_id = msg.get('message-id'),
references = msg.get('references', False),
- attach = msg.get('attachments', {}).items(),
- context = {'model' : model})
+ attach = msg.get('attachments', {}).items(),
+ context = context)
else:
- self.history(cr, uid, model, res_ids, msg, att_ids)
+ self.history(cr, uid, model, res_ids, msg, att_ids, context=context)
+ self.email_forward(cr, uid, model, res_ids, message)
return new_res_id
def get_partner(self, cr, uid, from_email, context=None):
@@ -448,10 +438,10 @@ Thanks
"""
address_pool = self.pool.get('res.partner.address')
res = {
- 'partner_address_id': False,
+ 'partner_address_id': False,
'partner_id': False
}
- from_email = self.to_email(from_email)
+ from_email = self.to_email(from_email)[0]
address_ids = address_pool.search(cr, uid, [('email', '=', from_email)])
if address_ids:
address = address_pool.browse(cr, uid, address_ids[0])
@@ -461,5 +451,3 @@ Thanks
return res
mailgate_tool()
-
-
diff --git a/addons/mail_gateway/mail_gateway_view.xml b/addons/mail_gateway/mail_gateway_view.xml
index 09a24f92772..c73d62b08ad 100644
--- a/addons/mail_gateway/mail_gateway_view.xml
+++ b/addons/mail_gateway/mail_gateway_view.xml
@@ -8,28 +8,28 @@
<field name="arch" type="xml">
<form string="mailgate message">
<group colspan="4" col="6">
- <field name="name" string="Subject" required="1" select="1"/>
- <field name="date" required="1" select="1"/>
- <field name="user_id" string="Responsible" select="1"/>
- <field name="partner_id" readonly="1" />
- </group>
+ <field name="name" string="Subject" required="1" select="1"/>
+ <field name="date" required="1" select="1"/>
+ <field name="user_id" string="Responsible" select="1"/>
+ <field name="partner_id" readonly="1" />
+ </group>
<notebook colspan="4">
- <page string="Details">
- <group col="2" colspan="2">
- <separator string="Email Details" colspan="4"/>
- <field name="email_from" />
- <field name="email_to" />
- <field name="email_cc" />
- <field name="email_bcc" groups="base.group_extended"/>
- </group>
- <group col="2" colspan="2">
+ <page string="Details">
+ <group col="2" colspan="2">
+ <separator string="Email Details" colspan="4"/>
+ <field name="email_from" />
+ <field name="email_to" />
+ <field name="email_cc" />
+ <field name="email_bcc" groups="base.group_extended"/>
+ </group>
+ <group col="2" colspan="2">
<separator string="Message Details" colspan="4"/>
<field name="model" readonly="1"/>
<field name="res_id" readonly="1"/>
<field name="message_id" />
<field name="ref_id" />
</group>
- <separator string="Description" colspan="4"/>
+ <separator string="Description" colspan="4"/>
<field name="description" nolabel="1" colspan="4" />
</page>
<page string="Attachments">
@@ -46,7 +46,7 @@
<field name="model">mailgate.message</field>
<field name="type">tree</field>
<field name="arch" type="xml">
- <tree string="Mailgateway Message">
+ <tree string="Emails">
<field name="date" />
<field name="name" string="Subject"/>
<field name="email_from" string="From"/>
@@ -60,7 +60,7 @@
<field name="model">mailgate.message</field>
<field name="type">search</field>
<field name="arch" type="xml">
- <search string="Mailgateway Message Search">
+ <search string="Email Search">
<field name="name" string="Subject"/>
<field name="date" />
<field name="user_id" />
@@ -81,25 +81,25 @@
</group>
<separator string="Logs" colspan="4"/>
<field name="log_ids" nolabel="1" colspan="4" domain="[('history', '=', True)]">
- <tree string="Mailgateway Logs">
- <field name="name" select="1" />
- <field name="date" />
- </tree>
- <form string="Mailgate Logs">
- <field name="name" />
- <field name="date" />
- <field name="user_id" />
- <field name="message_id" />
- <notebook colspan="4">
- <page string="Email Details">
- <group col="4" colspan="4">
- <separator string="Email Details" colspan="4"/>
- <field name="email_from" />
- <field name="email_to" />
- <field name="email_cc" />
- <field name="email_bcc" />
- </group>
- <separator string="Description" colspan="4"/>
+ <tree string="Mailgateway Logs">
+ <field name="name" select="1" />
+ <field name="date" />
+ </tree>
+ <form string="Mailgate Logs">
+ <field name="name" />
+ <field name="date" />
+ <field name="user_id" />
+ <field name="message_id" />
+ <notebook colspan="4">
+ <page string="Email Details">
+ <group col="4" colspan="4">
+ <separator string="Email Details" colspan="4"/>
+ <field name="email_from" />
+ <field name="email_to" />
+ <field name="email_cc" />
+ <field name="email_bcc" />
+ </group>
+ <separator string="Description" colspan="4"/>
<field name="description" nolabel="1" colspan="4" />
</page>
<page string="Attachments">
@@ -154,9 +154,9 @@
</field>
</record>
- <!-- Mailgateway message action-->
+ <!-- Emails action-->
<record model="ir.actions.act_window" id="action_view_mailgate_message">
- <field name="name">Mailgateway Messages</field>
+ <field name="name">Emails</field>
<field name="res_model">mailgate.message</field>
<field name="view_mode">tree,form</field>
<field name="view_type">form</field>
@@ -165,29 +165,29 @@
</record>
<record model="ir.actions.act_window" id="action_view_mailgate_thread">
- <field name="name">Mailgateway Threads</field>
- <field name="res_model">mailgate.thread</field>
- <field name="view_mode">tree,form</field>
- <field name="view_type">form</field>
- <field name="view_id" ref="view_mailgate_thread_tree"/>
- </record>
+ <field name="name">Mailgateway Threads</field>
+ <field name="res_model">mailgate.thread</field>
+ <field name="view_mode">tree,form</field>
+ <field name="view_type">form</field>
+ <field name="view_id" ref="view_mailgate_thread_tree"/>
+ </record>
- <record model="ir.actions.act_window.view" id="action_view_mailgate_thread_view1">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_mailgate_thread_tree"/>
- <field name="act_window_id" ref="action_view_mailgate_thread"/>
- </record>
- <record model="ir.actions.act_window.view" id="action_view_mailgate_thread_view2">
- <field name="sequence" eval="2"/>
- <field name="view_mode">form</field>
- <field name="view_id" ref="view_mailgate_thread_form"/>
- <field name="act_window_id" ref="action_view_mailgate_thread"/>
- </record>
+ <record model="ir.actions.act_window.view" id="action_view_mailgate_thread_view1">
+ <field name="sequence" eval="1"/>
+ <field name="view_mode">tree</field>
+ <field name="view_id" ref="view_mailgate_thread_tree"/>
+ <field name="act_window_id" ref="action_view_mailgate_thread"/>
+ </record>
+ <record model="ir.actions.act_window.view" id="action_view_mailgate_thread_view2">
+ <field name="sequence" eval="2"/>
+ <field name="view_mode">form</field>
+ <field name="view_id" ref="view_mailgate_thread_form"/>
+ <field name="act_window_id" ref="action_view_mailgate_thread"/>
+ </record>
- <!-- Mailgateway message action-->
+ <!-- Emailsaction-->
<record model="ir.actions.act_window" id="action_view_mailgate_message">
- <field name="name">Mailgateway Messages</field>
+ <field name="name">Emails</field>
<field name="res_model">mailgate.message</field>
<field name="view_mode">tree,form</field>
<field name="view_type">form</field>
@@ -209,7 +209,7 @@
</record>
<menuitem id="base.menu_base_config_mail" name="Mail" parent="base.menu_base_config" sequence="10"/>
- <menuitem id="menu_mailgate_message" name="Mailgateway Messages" action="action_view_mailgate_message"
+ <menuitem id="menu_mailgate_message" name="Emails" action="action_view_mailgate_message"
parent="base.menu_base_config_mail" sequence="5"/>
<act_window domain="[('partner_id', '=', active_id), ('history', '=', True)]"
diff --git a/addons/mail_gateway/res_partner.py b/addons/mail_gateway/res_partner.py
new file mode 100644
index 00000000000..54bed6a5b56
--- /dev/null
+++ b/addons/mail_gateway/res_partner.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# 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/>.
+#
+##############################################################################
+
+from osv import fields,osv
+
+class res_partner(osv.osv):
+ """ Inherits partner and adds CRM information in the partner form """
+ _inherit = 'res.partner'
+ _columns = {
+ 'emails': fields.one2many('mailgate.message', 'partner_id',\
+ 'Emails', readonly=True),
+ }
+
+res_partner()
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/mail_gateway/res_partner_view.xml b/addons/mail_gateway/res_partner_view.xml
new file mode 100644
index 00000000000..3cb1bb7fe5a
--- /dev/null
+++ b/addons/mail_gateway/res_partner_view.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+
+ <!-- Partners inherited form -->
+
+ <record id="view_emails_partner_info_form" model="ir.ui.view">
+ <field name="name">res.partner.emails.info.inherit</field>
+ <field name="model">res.partner</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="base.view_partner_form"/>
+ <field name="arch" type="xml">
+ <page string="History" position="inside">
+ <field name="emails" colspan="4" nolabel="1"/>
+ </page>
+ </field>
+ </record>
+ </data>
+</openerp>
+
diff --git a/addons/mail_gateway/scripts/openerp_mailgate/openerp_mailgate.py b/addons/mail_gateway/scripts/openerp_mailgate/openerp_mailgate.py
index f294c819c78..166e1e8781f 100755
--- a/addons/mail_gateway/scripts/openerp_mailgate/openerp_mailgate.py
+++ b/addons/mail_gateway/scripts/openerp_mailgate/openerp_mailgate.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
# Copyright (C) 2010-TODAY OpenERP S.A. (http://www.openerp.com)
@@ -17,7 +17,7 @@
# 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/>
#
###########################################################################################
@@ -38,7 +38,7 @@ class rpc_proxy(object):
return self.rpc.execute(self.dbname, self.user_id, self.passwd, *request, **kwargs)
class email_parser(object):
- def __init__(self, uid, password, model, email, email_default, dbname, host, port):
+ def __init__(self, uid, password, model, email_default, dbname, host, port):
self.rpc = rpc_proxy(uid, password, host=host, port=port, dbname=dbname)
try:
self.model_id = int(model)
@@ -46,33 +46,26 @@ class email_parser(object):
except:
self.model_id = self.rpc('ir.model', 'search', [('model', '=', model)])[0]
self.model = str(model)
- self.email = email
self.email_default = email_default
-
-
-
+
def parse(self, message):
try:
res_id = self.rpc('email.server.tools', 'process_email', self.model, message)
except Exception, e:
+ logger = logging.getLogger('mail-gateway')
+ logger.warning('Failed to process incoming email. Source of the failed mail is available at debug level.', exc_info=True)
+ logger.debug('Source of the mail that failed to parse:', message)
res_id = False
-# Reply mail
- if res_id:
- self.rpc('email.server.tools', 'email_send', self.model, res_id, message, self.email, self.email_default)
-
- return res_id
-
if __name__ == '__main__':
parser = optparse.OptionParser(usage='usage: %prog [options]', version='%prog v1.0')
- group = optparse.OptionGroup(parser, "Note",
+ group = optparse.OptionGroup(parser, "Note",
"This program parse a mail from standard input and communicate "
"with the Open ERP server for case management in the CRM module.")
parser.add_option_group(group)
parser.add_option("-u", "--user", dest="userid", help="ID of the user in Open ERP", default=1, type='int')
parser.add_option("-p", "--password", dest="password", help="Password of the user in Open ERP", default='admin')
- parser.add_option("-e", "--email", dest="email", help="Email address used in the From field of outgoing messages")
parser.add_option("-o", "--model", dest="model", help="Name or ID of crm model", default="crm.lead")
parser.add_option("-m", "--default", dest="default", help="Default eMail in case of any trouble.", default=None)
parser.add_option("-d", "--dbname", dest="dbname", help="Database name (default: terp)", default='terp')
@@ -83,10 +76,10 @@ if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG, format="%(asctime)s %(levelname)s %(message)s")
- parser = email_parser(options.userid, options.password, options.model, options.email, options.default, dbname=options.dbname, host=options.host, port=options.port)
+ parser = email_parser(options.userid, options.password, options.model, options.default, dbname=options.dbname, host=options.host, port=options.port)
msg_txt = sys.stdin.read()
parser.parse(msg_txt)
-
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/marketing/__openerp__.py b/addons/marketing/__openerp__.py
index 6db46333985..e3890ffe8f6 100644
--- a/addons/marketing/__openerp__.py
+++ b/addons/marketing/__openerp__.py
@@ -30,9 +30,10 @@
'website': 'http://www.openerp.com',
'init_xml': [],
'update_xml': [
- 'marketing_view.xml',
- 'security/ir.model.access.csv'
- ],
+ 'security/marketing_security.xml',
+ 'security/ir.model.access.csv',
+ 'marketing_view.xml'
+ ],
'demo_xml': [],
'installable': True,
'active': False,
diff --git a/addons/marketing/marketing_view.xml b/addons/marketing/marketing_view.xml
index 64ea6111bd5..a3288fb471f 100644
--- a/addons/marketing/marketing_view.xml
+++ b/addons/marketing/marketing_view.xml
@@ -1,8 +1,9 @@
<?xml version="1.0"?>
<openerp>
- <data>
+ <data>
- <menuitem name="Marketing" icon="terp-crm" id="marketing_menu" sequence="17"/>
+ <menuitem name="Marketing" icon="terp-crm" id="marketing_menu" sequence="17"
+ groups="group_marketing_user"/>
<record id="view_marketing_installer" model="ir.ui.view">
<field name="name">marketing.installer.view</field>
diff --git a/addons/marketing/security/marketing_security.xml b/addons/marketing/security/marketing_security.xml
new file mode 100644
index 00000000000..232b3ecce79
--- /dev/null
+++ b/addons/marketing/security/marketing_security.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+<data>
+
+ <record id="group_marketing_user" model="res.groups">
+ <field name="name">Marketing / User</field>
+ </record>
+
+</data>
+</openerp>
diff --git a/addons/marketing_campaign/__init__.py b/addons/marketing_campaign/__init__.py
index d37d8604380..23796d1baaf 100644
--- a/addons/marketing_campaign/__init__.py
+++ b/addons/marketing_campaign/__init__.py
@@ -20,6 +20,7 @@
##############################################################################
import marketing_campaign
+import res_partner
import report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/marketing_campaign/__openerp__.py b/addons/marketing_campaign/__openerp__.py
index 16e45a36c96..1044030df7e 100644
--- a/addons/marketing_campaign/__openerp__.py
+++ b/addons/marketing_campaign/__openerp__.py
@@ -24,7 +24,7 @@
"name" : "",
"version" : "1.1",
"depends" : ["marketing",
- "crm",
+ "crm",
"document",
"email_template"
],
@@ -42,8 +42,9 @@ are dynamic and multi-channels. The process:
'init_xml': [],
'update_xml': [
'marketing_campaign_view.xml',
- 'marketing_campaign_data.xml',
- 'marketing_campaign_workflow.xml',
+ 'marketing_campaign_data.xml',
+ 'marketing_campaign_workflow.xml',
+ 'res_partner_view.xml',
'report/campaign_analysis_view.xml',
"security/marketing_campaign_security.xml",
"security/ir.model.access.csv"
diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py
index 386e5639dd7..a9f898f3270 100644
--- a/addons/marketing_campaign/marketing_campaign.py
+++ b/addons/marketing_campaign/marketing_campaign.py
@@ -50,8 +50,8 @@ this campaign to be run"),
('manual', 'With Manual Confirmation'),
('active', 'Normal')],
'Mode', required=True, help= \
-"""Test - It creates and process all the workitems directly (without waiting for the delay on transitions) but do not send emails or produce reports.
-Test in Realtime - It creates and process all the workitems directly but do not send emails or produce reports.
+"""Test - It creates and process all the activities directly (without waiting for the delay on transitions) but do not send emails or produce reports.
+Test in Realtime - It creates and process all the activities directly but do not send emails or produce reports.
With Manual Confirmation - the campaigns runs normally, but the user has to validate all workitem manually.
Normal - the campaign runs normally and automatically sends all emails and reports"""),
'state': fields.selection([('draft', 'Draft'),
@@ -289,7 +289,9 @@ class marketing_campaign_activity(osv.osv):
context = {}
server_obj = self.pool.get('ir.actions.server')
context['active_id'] = workitem.res_id
- return server_obj.run(cr, uid, [activity.server_action_id.id], context)
+ res = server_obj.run(cr, uid, [activity.server_action_id.id], context)
+ #server action return False if the action is perfomed except client_action,other and python code
+ return res==False and True or res
def process(self, cr, uid, act_id, wi_id, context={}):
activity = self.browse(cr, uid, act_id)
diff --git a/addons/marketing_campaign/marketing_campaign_data.xml b/addons/marketing_campaign/marketing_campaign_data.xml
index 81402dd73c2..42ed4d12118 100644
--- a/addons/marketing_campaign/marketing_campaign_data.xml
+++ b/addons/marketing_campaign/marketing_campaign_data.xml
@@ -5,7 +5,7 @@
<!-- Cron -->
<record model="ir.cron" id="ir_cron_marketing_campaign_every_hour">
- <field name="name">Check Workitem</field>
+ <field name="name">Check Marketing Campaign Activities</field>
<field name="interval_number">1</field>
<field name="interval_type">hours</field>
<field name="numbercall">-1</field>
diff --git a/addons/marketing_campaign/marketing_campaign_view.xml b/addons/marketing_campaign/marketing_campaign_view.xml
index 62cb4a9cf50..d7d5cfe22d4 100644
--- a/addons/marketing_campaign/marketing_campaign_view.xml
+++ b/addons/marketing_campaign/marketing_campaign_view.xml
@@ -2,6 +2,8 @@
<openerp>
<data>
+ <menuitem name="Configuration" id="menu_marketing_configuration" parent="marketing.marketing_menu" sequence="1"/>
+
<!--
======================
Marketing Campaign
@@ -360,7 +362,7 @@
<field name="model">marketing.campaign.workitem</field>
<field name="type">tree</field>
<field name="arch" type="xml">
- <tree string="Workitems">
+ <tree string="Marketing Campaign Activities">
<field name="segment_id"/>
<field name="activity_id" />
<field name="res_name" />
@@ -379,7 +381,7 @@
<field name="model">marketing.campaign.workitem</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Workitem">
+ <form string="Marketing Campaign Activities">
<group colspan="4" col="6">
<group colspan="2" col="2">
<separator string="Campaign Step" colspan="2"/>
@@ -419,7 +421,7 @@
<field name="model">marketing.campaign.workitem</field>
<field name="type">search</field>
<field name="arch" type="xml">
- <search string="Workitems">
+ <search string="Marketing Campaign Activities">
<filter icon="terp-gtk-go-back-rtl" string="To Do" name = "todo" domain="[('state','=','todo')]"/>
<filter icon="terp-camera_test" string="In Progress" domain="[('state','=','inprogress')]"/>
<filter icon="terp-emblem-important" string="Exception" domain="[('state','=','exception')]"/>
@@ -441,7 +443,7 @@
</record>
<record model="ir.actions.act_window" id="action_marketing_campaign_workitem">
- <field name="name">Workitems</field>
+ <field name="name">Campaign Activities</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">marketing.campaign.workitem</field>
<field name="view_type">form</field>
diff --git a/addons/marketing_campaign/marketing_campaign_workflow.xml b/addons/marketing_campaign/marketing_campaign_workflow.xml
index a31515efd58..6203bd80dab 100644
--- a/addons/marketing_campaign/marketing_campaign_workflow.xml
+++ b/addons/marketing_campaign/marketing_campaign_workflow.xml
@@ -10,7 +10,7 @@
<field name="on_create">True</field>
</record>
- <!-- Activity -->
+ <!-- Activity -->
<record id="act_marketing_campaign_draft" model="workflow.activity">
<field name="wkf_id" ref="wkf_marketing_campaign"/>
<field name="flow_start">True</field>
@@ -39,7 +39,7 @@
<field name="action">state_cancel_set()</field>
</record>
- <!-- Transition -->
+ <!-- Transition -->
<record id="trans_marketing_campaign_draft_running" model="workflow.transition">
<field name="act_from" ref="act_marketing_campaign_draft"/>
<field name="act_to" ref="act_marketing_campaign_running"/>
@@ -66,7 +66,7 @@
<field name="on_create">True</field>
</record>
- <!-- Activity -->
+ <!-- Activity -->
<record id="act_marketing_campaign_segment_draft" model="workflow.activity">
<field name="wkf_id" ref="wkf_marketing_campaign_segment"/>
<field name="flow_start">True</field>
@@ -95,7 +95,7 @@
<field name="action">state_cancel_set()</field>
</record>
- <!-- Transition -->
+ <!-- Transition -->
<record id="trans_marketing_campaign_segment_draft_running" model="workflow.transition">
<field name="act_from" ref="act_marketing_campaign_segment_draft"/>
<field name="act_to" ref="act_marketing_campaign_segment_running"/>
diff --git a/addons/marketing_campaign/res_partner.py b/addons/marketing_campaign/res_partner.py
new file mode 100644
index 00000000000..2ec92522d6a
--- /dev/null
+++ b/addons/marketing_campaign/res_partner.py
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# 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/>.
+#
+##############################################################################
+
+from osv import fields,osv
+
+class res_partner(osv.osv):
+ """ Inherits partner and adds CRM information in the partner form """
+ _inherit = 'res.partner'
+
+ _columns = {
+ 'workitem_ids': fields.one2many('marketing.campaign.workitem', 'partner_id',\
+ 'Workitems', readonly=True),
+
+ }
+
+res_partner()
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/marketing_campaign/res_partner_view.xml b/addons/marketing_campaign/res_partner_view.xml
new file mode 100644
index 00000000000..a035a4ea5f0
--- /dev/null
+++ b/addons/marketing_campaign/res_partner_view.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+
+ <!-- Partners inherited form -->
+
+ <record id="view_workitem_partner_info_form" model="ir.ui.view">
+ <field name="name">res.partner.workitem.info.inherit</field>
+ <field name="model">res.partner</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="base.view_partner_form"/>
+ <field name="arch" type="xml">
+ <page string="History" position="inside">
+ <field name="workitem_ids" colspan="4" nolabel="1"/>
+ </page>
+ </field>
+ </record>
+ </data>
+</openerp>
+
diff --git a/addons/marketing_campaign/security/ir.model.access.csv b/addons/marketing_campaign/security/ir.model.access.csv
index dfafc2cd8a5..43a24d9e5eb 100644
--- a/addons/marketing_campaign/security/ir.model.access.csv
+++ b/addons/marketing_campaign/security/ir.model.access.csv
@@ -5,3 +5,4 @@
"access_marketing_campaign_workitem_campaignadmin","marketing.campaign.workitem","model_marketing_campaign_workitem","marketing_campaign.res_groups_marketing_campaign",1,1,1,1
"access_marketing_campaign_transition_campaignadmin","marketing.campaign.transition","model_marketing_campaign_transition","marketing_campaign.res_groups_marketing_campaign",1,1,1,1
"access_marketing_campaign_analysis_campaignadmin","campaign.analysis","model_campaign_analysis","marketing_campaign.res_groups_marketing_campaign",1,0,0,0
+"access_marketing_campaign_workitem_all","marketing.campaign.workitem","model_marketing_campaign_workitem","base.group_user",1,0,0,0
diff --git a/addons/mrp/board_manufacturing_demo.xml b/addons/mrp/board_manufacturing_demo.xml
index 080467eb8b7..aea87558a1c 100644
--- a/addons/mrp/board_manufacturing_demo.xml
+++ b/addons/mrp/board_manufacturing_demo.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
- <record id="sc_manufacturing_dash" model="ir.ui.view_sc">
+ <!-- <record id="sc_manufacturing_dash" model="ir.ui.view_sc">
<field name="name">Production dashboard</field>
<field name="user_id" ref="base.user_root"/>
<field name="resource">ir.ui.menu</field>
<field name="sequence">4</field>
<field name="res_id" ref="menu_board_manufacturing"/>
- </record>
+ </record> -->
<record id="base.user_root" model="res.users">
<field name="action_id" ref="open_board_manufacturing"/>
</record>
diff --git a/addons/mrp/i18n/zh_CN.po b/addons/mrp/i18n/zh_CN.po
index afa393000d3..98db38dddd9 100644
--- a/addons/mrp/i18n/zh_CN.po
+++ b/addons/mrp/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-06-24 03:46+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: mrp
diff --git a/addons/mrp_operations/i18n/es.po b/addons/mrp_operations/i18n/es.po
index c278fc52afd..e29983cadcb 100644
--- a/addons/mrp_operations/i18n/es.po
+++ b/addons/mrp_operations/i18n/es.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: mrp_operations
diff --git a/addons/olap/i18n/es.po b/addons/olap/i18n/es.po
index b7e1d5eeaea..6af368a67b2 100644
--- a/addons/olap/i18n/es.po
+++ b/addons/olap/i18n/es.po
@@ -15,7 +15,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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: olap
diff --git a/addons/olap/i18n/et.po b/addons/olap/i18n/et.po
index ead8009afcc..77464b4f4f0 100644
--- a/addons/olap/i18n/et.po
+++ b/addons/olap/i18n/et.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-11-26 05:24+0000\n"
-"PO-Revision-Date: 2010-05-07 10:06+0000\n"
+"PO-Revision-Date: 2010-06-25 18:21+0000\n"
"Last-Translator: lyyser <logard.1961@gmail.com>\n"
"Language-Team: Estonian <et@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-06-22 04:20+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: olap
@@ -192,7 +192,7 @@ msgstr ""
#: wizard_button:olap.query_builder,exec,exec:0
#: wizard_button:olap.query_builder,ok,exec:0
msgid "Execute"
-msgstr ""
+msgstr "Käivita"
#. module: olap
#: wizard_button:olap.application.configuration,configure,end:0
@@ -202,7 +202,7 @@ msgstr ""
#: wizard_button:olap.query.logs.clear,ok,end:0
#: view:olap.warehouse.wizard:0
msgid "Ok"
-msgstr ""
+msgstr "Ok"
#. module: olap
#: model:ir.ui.menu,name:olap.menu_bi_conf_known_application
@@ -213,7 +213,7 @@ msgstr ""
#: wizard_field:olap.query_builder,exec,level:0
#: wizard_field:olap.query_builder,ok,level:0
msgid "Level"
-msgstr ""
+msgstr "Tase"
#. module: olap
#: field:olap.level,column_id_name:0
@@ -237,7 +237,7 @@ msgstr ""
#. module: olap
#: field:olap.saved.query,name:0
msgid "Query Name"
-msgstr ""
+msgstr "Päringu nimi"
#. module: olap
#: wizard_field:olap.query_builder,exec,mdx_query:0
@@ -258,12 +258,12 @@ msgstr "Primaarvõti"
#. module: olap
#: model:ir.actions.act_window,name:olap.act_bi_auto_configure
msgid "Auto Configuration"
-msgstr ""
+msgstr "Automaatne seadistamine"
#. module: olap
#: field:olap.schema,note:0
msgid "Schema description"
-msgstr ""
+msgstr "Skeemi kirjeldus"
#. module: olap
#: model:ir.actions.act_window,name:olap.act_bi_load_db_wizard
diff --git a/addons/olap_crm/olap_crm.xml b/addons/olap_crm/olap_crm.xml
index 96dadb7d783..619e133e609 100644
--- a/addons/olap_crm/olap_crm.xml
+++ b/addons/olap_crm/olap_crm.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="True">
+<data>
<!--
CUSTOM CUBE FOR CRM
diff --git a/addons/olap_sale/olap_sale.xml b/addons/olap_sale/olap_sale.xml
index 42b6b327dc9..f5a355de34d 100644
--- a/addons/olap_sale/olap_sale.xml
+++ b/addons/olap_sale/olap_sale.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="True">
+<data>
<!--
CUSTOM CUBE FOR SALES
diff --git a/addons/partner_geo_assign/partner_geo_assign.py b/addons/partner_geo_assign/partner_geo_assign.py
index 74e0a7ff17f..e0a0d49f603 100644
--- a/addons/partner_geo_assign/partner_geo_assign.py
+++ b/addons/partner_geo_assign/partner_geo_assign.py
@@ -30,19 +30,18 @@ def geo_find(addr):
url = 'http://maps.google.com/maps/geo?q=' + urllib.quote(addr) + '&output=xml&oe=utf8&sensor=false'
xml = urllib.urlopen(url).read()
if '<error>' in xml:
- print 'Error'
return None
result = re.search(regex, xml, re.M|re.I)
if not result:
- print 'No Regex', xml
return None
return float(result.group(1)),float(result.group(2))
class res_partner(osv.osv):
_inherit = "res.partner"
_columns = {
- 'partner_latitude': fields.float('Geo Latitude', digits=(16,2)),
- 'partner_longitude': fields.float('Geo Longitude', digits=(16,2)),
+ 'partner_latitude': fields.float('Geo Latitude'),
+ 'partner_longitude': fields.float('Geo Longitude'),
+ 'date_assign': fields.date('Assignation Date'),
'partner_weight': fields.integer('Weight',
help="Gives the probability to assign a lead to this partner. (0 means no assignation.)"),
}
@@ -52,17 +51,16 @@ class res_partner(osv.osv):
def geo_localize(self, cr, uid, ids, context=None):
regex = '<coordinates>([+-]?[0-9\.]+),([+-]?[0-9\.]+),([+-]?[0-9\.]+)</coordinates>'
for partner in self.browse(cr, uid, ids, context=context):
+ if not partner.address:
+ continue
part = partner.address[0]
addr = ', '.join(filter(None, [part.street, part.street2, (part.zip or '')+' '+(part.city or ''), part.state_id and part.state_id.name, part.country_id and part.country_id.name]))
- result = geo_find(addr)
+ result = geo_find(addr.encode('utf8'))
if result:
- print 'Write', {
- 'partner_latitude': result[0],
- 'partner_longitude': result[1]
- }
self.write(cr, uid, [partner.id], {
'partner_latitude': result[0],
- 'partner_longitude': result[1]
+ 'partner_longitude': result[1],
+ 'date_assign': time.strftime('%Y-%m-%d')
}, context=context)
return True
res_partner()
@@ -70,23 +68,44 @@ res_partner()
class crm_lead(osv.osv):
_inherit = "crm.lead"
_columns = {
- 'partner_latitude': fields.float('Geo Latitude', digits=(16,2)),
- 'partner_longitude': fields.float('Geo Longitude', digits=(16,2)),
+ 'partner_latitude': fields.float('Geo Latitude'),
+ 'partner_longitude': fields.float('Geo Longitude'),
'partner_assigned_id': fields.many2one('res.partner','Assigned Partner'),
'date_assign': fields.date('Assignation Date')
}
+ def forward_to_partner(self, cr, uid, ids, context=None):
+ fobj = self.pool.get('crm.lead.forward.to.partner')
+ for lead in self.browse(cr, uid, ids, context=context):
+ context = {'active_id': lead.id, 'active_ids': [lead.id], 'active_model': 'crm.lead'}
+ if lead.partner_assigned_id:
+ email = False
+ if lead.partner_assigned_id.address:
+ email = lead.partner_assigned_id.address[0].email
+ if not email:
+ raise osv.except_osv(_('Error !'), _('No partner assigned to this opportunity'))
+ forward = fobj.create(cr, uid, {
+ 'name': 'email',
+ 'history': 'whole',
+ 'email_to': email,
+ 'message': fobj._get_case_history(cr, uid, 'whole', lead.id, context) or False
+ }, context)
+ fobj.action_forward(cr, uid, [forward], context)
+ else:
+ raise osv.except_osv(_('Error !'), _('No partner assigned to this opportunity'))
+ return True
+
def assign_partner(self, cr, uid, ids, context=None):
+ ok = False
for part in self.browse(cr, uid, ids, context=context):
if not part.country_id:
continue
addr = ', '.join(filter(None, [part.street, part.street2, (part.zip or '')+' '+(part.city or ''), part.state_id and part.state_id.name, part.country_id and part.country_id.name]))
- result = geo_find(addr)
+ result = geo_find(addr.encode('utf8'))
if result:
self.write(cr, uid, [part.id], {
'partner_latitude': result[0],
'partner_longitude': result[1]
}, context=context)
-
part_ids = self.pool.get('res.partner').search(cr, uid, [
('partner_weight','>',0),
('partner_latitude','>',result[0]-2), ('partner_latitude','<',result[0]+2),
@@ -108,6 +127,7 @@ class crm_lead(osv.osv):
if mypartner<=t[1]:
self.write(cr, uid, [part.id], {'partner_assigned_id': t[0], 'date_assign': time.strftime('%Y-%m-%d')}, context=context)
break
- return True
+ ok = True
+ return ok
crm_lead()
diff --git a/addons/partner_geo_assign/res_partner_view.xml b/addons/partner_geo_assign/res_partner_view.xml
index d5f4f918d98..b8faedab0aa 100644
--- a/addons/partner_geo_assign/res_partner_view.xml
+++ b/addons/partner_geo_assign/res_partner_view.xml
@@ -11,11 +11,19 @@
<xpath expr="//notebook[last()]" position="inside">
<page string="Partner Assignation">
<field name="partner_assigned_id"/>
- <label string="" colspan="1"/>
- <button string="Geo Assign" name="assign_partner" type="object"/>
<newline/>
<field name="partner_latitude"/>
<field name="partner_longitude"/>
+ <field name="date_assign"/>
+ <label string="" colspan="1"/>
+ <group colspan="1" col="2">
+ <button string="Geo Assign" name="assign_partner" type="object" colspan="1"
+ icon="gtk-apply"/>
+ <button string="Forward"
+ name="forward_to_partner" attrs="{'invisible':[('partner_assigned_id','=',False)]}"
+ icon="gtk-apply"
+ type="object"/>
+ </group>
</page>
</xpath>
</field>
@@ -31,7 +39,11 @@
<page string="Partner Association">
<field name="partner_weight"/>
<label string="" colspan="1"/>
- <button string="Geo Localize" name="geo_localize" icon="gtk-apply" type="object"/>
+ <button
+ string="Geo Localize"
+ name="geo_localize"
+ icon="gtk-apply"
+ type="object"/>
<newline/>
<field name="partner_latitude"/>
<field name="partner_longitude"/>
diff --git a/addons/point_of_sale/i18n/es.po b/addons/point_of_sale/i18n/es.po
index 2856cdc128c..99dd319819a 100644
--- a/addons/point_of_sale/i18n/es.po
+++ b/addons/point_of_sale/i18n/es.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-06-24 03:46+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: point_of_sale
diff --git a/addons/point_of_sale/i18n/hi.po b/addons/point_of_sale/i18n/hi.po
new file mode 100644
index 00000000000..8f5e06c07b3
--- /dev/null
+++ b/addons/point_of_sale/i18n/hi.po
@@ -0,0 +1,973 @@
+# Hindi translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-08-28 16:01+0000\n"
+"PO-Revision-Date: 2010-06-25 18:54+0000\n"
+"Last-Translator: vir (Open ERP) <vir@tinyerp.com>\n"
+"Language-Team: Hindi <hi@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-06-26 03:57+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Total paid"
+msgstr "कुल भुगतान"
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Qty of product"
+msgstr "उत्पाद की मात्रा"
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Set to draft"
+msgstr "draft स्थिति सेट करे"
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_report_transaction_pos
+msgid "transaction for the pos"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_view:pos.discount,init:0
+#: rml:pos.receipt:0
+msgid "Discount :"
+msgstr "डिस्काउंट:"
+
+#. module: point_of_sale
+#: wizard_field:pos.payment,ask_pay,payment_nb:0
+msgid "Piece number"
+msgstr "टुकड़ा का नंबर"
+
+#. module: point_of_sale
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "कार्य की परिभाषा में मॉडल का नाम अमान्य है."
+
+#. module: point_of_sale
+#: field:pos.order,name:0
+msgid "Order Description"
+msgstr "आदेश विवरण"
+
+#. module: point_of_sale
+#: model:ir.actions.wizard,name:point_of_sale.pos_scan_product
+msgid "Scan Product"
+msgstr "स्कैन उत्पाद"
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Document"
+msgstr "दस्तावेज़"
+
+#. module: point_of_sale
+#: wizard_view:pos.add_product,init:0
+msgid "Add product :"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.lines:0
+msgid "Net Total"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_action_pos_order_tree2
+msgid "Orders of the day"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_details_summary
+msgid "Sales (summary)"
+msgstr ""
+
+#. module: point_of_sale
+#: help:pos.order,user_id:0
+msgid "This is the logged in user (not necessarily the salesman)."
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_view:pos.sale.get,init:0
+msgid "Select an Open Sale Order"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.lines:0
+msgid "Company"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Invoice Date"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.receipt:0
+msgid ","
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_lines_detail
+msgid "Details of Sales"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Base"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_view:pos.scan_product,init:0
+msgid "Scan product"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order.line,price_subtotal:0
+msgid "Subtotal"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Partner Ref."
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.receipt:0
+msgid "Tel : + 32 (0) 2 231 04 35"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order.line,name:0
+msgid "Line Description"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,shop_id:0
+msgid "Shop"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_button:pos.refund_order,init,refund_n_quit:0
+msgid "Ok"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+#: field:pos.order,note:0
+msgid "Notes"
+msgstr ""
+
+#. module: point_of_sale
+#: field:stock.picking,pos_order:0
+msgid "Pos order"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Detail of Sales"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+#: rml:pos.lines:0
+#: field:pos.order,amount_tax:0
+msgid "Taxes"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_order_line
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_order_line_day
+msgid "Sale line"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.lines:0
+msgid "No. Of Articles"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.config.journal,code:0
+#: rml:pos.details:0
+msgid "Code"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,date_validity:0
+#: wizard_field:pos.refund_order,init,date_validity:0
+msgid "Validity Date"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+#: field:pos.order,pickings:0
+msgid "Picking"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.lines:0
+msgid "VAT"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.wizard,name:point_of_sale.pos_refund
+msgid "Refund Orders"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,last_out_picking:0
+msgid "Last Output Picking"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_view:pos.config.journal,init:0
+msgid "Select default journals"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.receipt:0
+msgid "Qty"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,user_id:0
+msgid "Logged in User"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+msgid "VAT(%)"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Tax"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.transaction.pos:0
+msgid "Total Transaction"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+msgid "Disc"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+#: rml:pos.receipt:0
+msgid "Fax :"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_view:pos.scan_product,init:0
+msgid "Scan Barcode"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,payments:0
+msgid "Order Payments"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.receipt:0
+msgid "Date :"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Ma_ke Payment"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.wizard,name:point_of_sale.pos_confirm
+#: wizard_button:pos.sale.get,init,set:0
+msgid "Confirm"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "POS Orders"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.lines:0
+msgid "Disc. (%)"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Sales total"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Supplier Invoice"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,state:0
+msgid "State"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order.line:0
+msgid "Sum of subtotals"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.payment,ask_pay,payment_date:0
+msgid "Payment date"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.payment,ask_pay,payment_name:0
+msgid "Payment name"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,lines:0
+msgid "Order Lines"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Disc.(%)"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.module.module,shortdesc:point_of_sale.module_meta_information
+msgid "Point Of Sale"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order.line,create_date:0
+msgid "Creation Date"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "PRO-FORMA"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_point_rep
+msgid "Reporting"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.transaction.pos:0
+msgid "POS "
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_config_journal
+msgid "Point of Sale journal configuration."
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.receipt:0
+msgid "Total :"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.config.journal,init,default_journal:0
+msgid "Default journal"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,account_receivable:0
+msgid "Default Receivable"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.wizard,name:point_of_sale.pos_sale_get
+msgid "Get From Order"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_point_config
+msgid "Configuration"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+#: rml:pos.lines:0
+#: field:pos.order.line,price_unit:0
+msgid "Unit Price"
+msgstr ""
+
+#. module: point_of_sale
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_action_pos_order_line_day
+msgid "POS Lines of the day"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,nb_print:0
+msgid "Number of Print"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_wizard_default_journal
+msgid "Default journals"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Draft Invoice"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order.line,discount:0
+msgid "Discount (%)"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Fiscal Position Remark :"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.wizard,name:point_of_sale.pos_add_product
+msgid "Add products"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order.line:0
+msgid "Total qty"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_action_pos_order_line
+msgid "POS Lines"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Sales Order POS"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_button:pos.config.journal,init,set_default_journal:0
+msgid "Define default journals"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_order_tree2
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_order_tree3
+#: model:ir.actions.act_window,name:point_of_sale.action_pos_pos_form
+#: model:ir.model,name:point_of_sale.model_pos_order
+#: model:ir.ui.menu,name:point_of_sale.menu_point_ofsale
+#: model:ir.ui.menu,name:point_of_sale.menu_point_root
+msgid "Point of Sale"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,salesman_id:0
+msgid "Salesman"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: selection:pos.order,state:0
+msgid "Invoiced"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.config.journal,init,default_journal_rebate:0
+msgid "Default rebate journal"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.wizard,name:point_of_sale.wizard_default_journal
+msgid "Wizard default journals"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Total of the day"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_button:pos.scan_product,init,add:0
+msgid "Add"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:pos.order,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:pos.order,state:0
+msgid "Paid"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "VAT :"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order.line:0
+msgid "POS Order lines"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.receipt:0
+msgid "E-mail :"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Total invoiced"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_trans_pos_tree_today
+msgid "Sales of the day"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,amount_paid:0
+#: field:pos.order,amount_return:0
+msgid "unknown"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order.line:0
+msgid "POS Order line"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.wizard,name:point_of_sale.pos_discount
+msgid "Discount"
+msgstr ""
+
+#. module: point_of_sale
+#: field:report.transaction.pos,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.payment,payment_date:0
+msgid "Payment Date"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.payment,payment_name:0
+msgid "Payment Name"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: field:report.transaction.pos,date_create:0
+msgid "Date"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.act_window,name:point_of_sale.action_trans_pos_tree
+#: model:ir.actions.act_window,name:point_of_sale.action_trans_pos_tree_month
+#: model:ir.actions.act_window,name:point_of_sale.action_trans_pos_tree_today
+msgid "Sales by user"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_button:pos.add_product,init,add:0
+#: view:pos.order:0
+msgid "_Add product"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.receipt:0
+msgid ":"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Period:"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_trans_pos_tree
+msgid "All the sales"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Compute"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Total:"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Summary"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Create _Invoice"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.add_product,init,quantity:0
+#: rml:pos.invoice:0
+#: rml:pos.lines:0
+#: field:pos.order.line,qty:0
+msgid "Quantity"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Refund"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Mode of payment"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_button:pos.payment,ask_pay,add_pay:0
+msgid "Ma_ke payment"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_button:pos.discount,init,apply_discount:0
+msgid "Apply Discount"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,pricelist_id:0
+msgid "Pricelist"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.discount,init,discount:0
+msgid "Discount percentage"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_receipt
+msgid "Receipt"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_view:pos.refund_order,init:0
+msgid "Refund order :"
+msgstr ""
+
+#. module: point_of_sale
+#: field:report.transaction.pos,no_trans:0
+msgid "Number of Transaction"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Net Total:"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Other"
+msgstr ""
+
+#. module: point_of_sale
+#: selection:pos.order,state:0
+msgid "Done"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_invoice_report
+#: rml:pos.invoice:0
+#: field:pos.order,invoice_id:0
+#: wizard_field:pos.payment,ask_pay,invoice_wanted:0
+#: field:report.transaction.pos,invoice_id:0
+msgid "Invoice"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_button:pos.add_product,init,end:0
+#: wizard_button:pos.config.journal,init,end:0
+#: wizard_button:pos.discount,init,end:0
+#: view:pos.order:0
+#: selection:pos.order,state:0
+#: wizard_button:pos.payment,ask_pay,end:0
+#: wizard_button:pos.refund_order,init,end:0
+#: wizard_button:pos.sale.get,init,end:0
+#: wizard_button:pos.scan_product,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Close"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Order lines"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order.line,order_id:0
+#: field:pos.payment,order_id:0
+msgid "Order Ref"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_view:pos.payment,ask_pay:0
+msgid "Add payment :"
+msgstr ""
+
+#. module: point_of_sale
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_payment
+msgid "Pos Payment"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Total discount"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,invoice_wanted:0
+msgid "Create Invoice"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_view:pos.refund_order,init:0
+msgid "Refund "
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.model,name:point_of_sale.model_pos_order_line
+msgid "Lines of Point of Sale"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Taxes:"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+#: view:report.transaction.pos:0
+msgid "Amount total"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.add_product,init,product:0
+#: rml:pos.details:0
+#: field:pos.order.line,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Invoicing"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.config.journal,journal_id:0
+#: field:pos.order,sale_journal:0
+#: wizard_field:pos.payment,ask_pay,journal:0
+#: field:pos.payment,journal_id:0
+#: field:report.transaction.pos,journal_id:0
+msgid "Journal"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.scan_product,init,gencod:0
+msgid "Barcode"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Canceled Invoice"
+msgstr ""
+
+#. module: point_of_sale
+#: view:report.transaction.pos:0
+msgid "POS"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.report.xml,name:point_of_sale.pos_lines_report
+msgid "Pos Lines"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Tel. :"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.payment,payment_nb:0
+msgid "Piece Number"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.config.journal,init,default_journal_gift:0
+msgid "Default gift journal"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.actions.wizard,name:point_of_sale.pos_payment
+#: view:pos.order:0
+msgid "Payment"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_action_pos_order_tree3
+msgid "All orders"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.sale.get,init,picking_id:0
+msgid "Sale Order"
+msgstr ""
+
+#. module: point_of_sale
+#: model:ir.ui.menu,name:point_of_sale.menu_trans_pos_tree_month
+msgid "Sales of the month"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "D_iscount"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,date_order:0
+msgid "Date Ordered"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Payments"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+msgid "Supplier Refund"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.config.journal,name:0
+#: rml:pos.invoice:0
+#: rml:pos.lines:0
+#: field:pos.payment,name:0
+#: rml:pos.receipt:0
+msgid "Description"
+msgstr ""
+
+#. module: point_of_sale
+#: field:pos.order,account_move:0
+msgid "Account Entry"
+msgstr ""
+
+#. module: point_of_sale
+#: wizard_field:pos.payment,ask_pay,payment_id:0
+#: field:pos.payment,payment_id:0
+msgid "Payment Term"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.invoice:0
+#: field:pos.payment,amount:0
+#: wizard_field:pos.payment,ask_pay,amount:0
+#: field:report.transaction.pos,amount:0
+msgid "Amount"
+msgstr ""
+
+#. module: point_of_sale
+#: view:pos.order:0
+msgid "Actions"
+msgstr ""
+
+#. module: point_of_sale
+#: help:pos.order,salesman_id:0
+msgid "This is the salesman actually making the order."
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Mode of Taxes"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Print Date:"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.details_summary:0
+msgid "Company:"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.lines:0
+msgid "Print Date"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.receipt:0
+msgid "OPERATION N° :"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.lines:0
+#: field:pos.order,amount_total:0
+msgid "Total"
+msgstr ""
+
+#. module: point_of_sale
+#: rml:pos.details:0
+#: rml:pos.invoice:0
+#: rml:pos.lines:0
+#: rml:pos.receipt:0
+msgid "Price"
+msgstr ""
diff --git a/addons/product_expiry/i18n/et.po b/addons/product_expiry/i18n/et.po
new file mode 100644
index 00000000000..4fff2ceb230
--- /dev/null
+++ b/addons/product_expiry/i18n/et.po
@@ -0,0 +1,165 @@
+# Estonian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-06-30 15:09+0000\n"
+"PO-Revision-Date: 2010-06-25 18:04+0000\n"
+"Last-Translator: lyyser <logard.1961@gmail.com>\n"
+"Language-Team: Estonian <et@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-06-26 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: product_expiry
+#: field:product.product,life_time:0
+msgid "Product lifetime"
+msgstr ""
+
+#. module: product_expiry
+#: model:product.template,name:product_expiry.product_product_from_product_template
+msgid "Ham"
+msgstr "Väärtpost"
+
+#. module: product_expiry
+#: model:product.template,name:product_expiry.product_product_lait_product_template
+msgid "Cow milk"
+msgstr "Lehma piim"
+
+#. module: product_expiry
+#: model:ir.module.module,shortdesc:product_expiry.module_meta_information
+msgid "Products date of expiry"
+msgstr "Kõlblik kuni"
+
+#. module: product_expiry
+#: constraint:product.template:0
+msgid ""
+"Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+"Viga: vaikimisi mõõtühik ja ostu mõõtühik peavad olema samast kategooriast."
+
+#. module: product_expiry
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Vigane XML vaate arhitektuurile!"
+
+#. module: product_expiry
+#: help:stock.production.lot,life_date:0
+msgid "The date the lot may become dangerous and should not be consumed."
+msgstr ""
+"Kuupäev, millal toode võib muutuda ohtlikuks ning neid ei tohiks tarbida."
+
+#. module: product_expiry
+#: field:stock.production.lot,removal_date:0
+msgid "Removal Date"
+msgstr ""
+
+#. module: product_expiry
+#: model:ir.module.module,description:product_expiry.module_meta_information
+msgid ""
+"Track different dates on products and production lots:\n"
+" - end of life\n"
+" - best before date\n"
+" - removal date\n"
+" - alert date\n"
+"Used, for example, in food industries."
+msgstr ""
+
+#. module: product_expiry
+#: model:product.template,name:product_expiry.product_product_pain_product_template
+msgid "Bread"
+msgstr "Leib"
+
+#. module: product_expiry
+#: model:product.uom,name:product_expiry.product_uom_ltr
+#: model:product.uom.categ,name:product_expiry.product_uom_categ_vol
+msgid "LTR"
+msgstr "LTR"
+
+#. module: product_expiry
+#: view:product.product:0
+#: view:stock.production.lot:0
+msgid "Dates"
+msgstr "Kuupäevad"
+
+#. module: product_expiry
+#: constraint:product.template:0
+msgid "Error: UOS must be in a different category than the UOM"
+msgstr "Viga: TÜ kategooria peab erinema MÜ kategooriast"
+
+#. module: product_expiry
+#: field:stock.production.lot,life_date:0
+msgid "End of Life Date"
+msgstr "Kõlblik kuni kuupäev"
+
+#. module: product_expiry
+#: field:stock.production.lot,use_date:0
+msgid "Best before Date"
+msgstr "Parim enne kuupäev"
+
+#. module: product_expiry
+#: help:stock.production.lot,use_date:0
+msgid "The date the lot starts deteriorating without becoming dangerous."
+msgstr ""
+
+#. module: product_expiry
+#: model:product.template,name:product_expiry.product_product_jambon_product_template
+msgid "French cheese Camenbert"
+msgstr "Prantsuse juustu Camenbert"
+
+#. module: product_expiry
+#: help:product.product,removal_time:0
+msgid "The number of days before a production lot should be removed."
+msgstr "Päevade arv ennem mida tootepartii tuleb eemaldada."
+
+#. module: product_expiry
+#: field:product.product,use_time:0
+msgid "Product usetime"
+msgstr "Toote kasutamise aeg"
+
+#. module: product_expiry
+#: field:stock.production.lot,alert_date:0
+msgid "Alert Date"
+msgstr "Häire kuupäev"
+
+#. module: product_expiry
+#: field:product.product,removal_time:0
+msgid "Product removal time"
+msgstr "Toote eemaldamise aeg"
+
+#. module: product_expiry
+#: help:product.product,use_time:0
+msgid ""
+"The number of days before a production lot starts deteriorating without "
+"becoming dangerous."
+msgstr ""
+
+#. module: product_expiry
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr "Viga: Vigane EAN kood"
+
+#. module: product_expiry
+#: help:product.product,life_time:0
+msgid ""
+"The number of days before a production lot may become dangerous and should "
+"not be consumed."
+msgstr ""
+"Päevade arv millal tootepartii võib osutuda ohtlikuks ja neid ei tohiks "
+"tarbida."
+
+#. module: product_expiry
+#: help:stock.production.lot,removal_date:0
+msgid "The date the lot should be removed."
+msgstr "Kuupäeva millal toode tuleks kõrvaldada."
+
+#. module: product_expiry
+#: field:product.product,alert_time:0
+msgid "Product alert time"
+msgstr "Toote märguande aeg"
diff --git a/addons/product_manufacturer/i18n/et.po b/addons/product_manufacturer/i18n/et.po
new file mode 100644
index 00000000000..9213df55e2b
--- /dev/null
+++ b/addons/product_manufacturer/i18n/et.po
@@ -0,0 +1,106 @@
+# Estonian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2010-06-25 18:10+0000\n"
+"Last-Translator: lyyser <logard.1961@gmail.com>\n"
+"Language-Team: Estonian <et@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-06-26 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr "Tootja tootekood"
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Vigane XML vaate arhitektuurile!"
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr "Toote Malli nimi"
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Objekti nimi peab algama x_'ga ja ei tohi sisaldada ühtegi erisümbolit !"
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr "Toote omadused"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr "Tootmise andmed"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr "Toote viide"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr "Atribuut"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr "Toode"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr "Väärtus"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr "Valmistusandmeid"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr "Toote nimi"
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr "Omadused"
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr "Toote nimetus"
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr "Tootja"
diff --git a/addons/project/__init__.py b/addons/project/__init__.py
index 6347cd9dd29..44154c8ae05 100644
--- a/addons/project/__init__.py
+++ b/addons/project/__init__.py
@@ -25,6 +25,7 @@ import installer
import project_mailgate
import report
import wizard
+import res_partner
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project/__openerp__.py b/addons/project/__openerp__.py
index 5d535963422..03b72e09e38 100644
--- a/addons/project/__openerp__.py
+++ b/addons/project/__openerp__.py
@@ -46,6 +46,7 @@ work done on tasks, eso. It is able to render planning, order tasks, eso.
"project_report.xml",
"process/task_process.xml",
"project_installer.xml",
+ "res_partner_view.xml",
"report/project_report_view.xml",
"wizard/project_close_task_view.xml",
"board_project_view.xml",
diff --git a/addons/project/board_project_demo.xml b/addons/project/board_project_demo.xml
index fa92e92f092..2a160b4454f 100644
--- a/addons/project/board_project_demo.xml
+++ b/addons/project/board_project_demo.xml
@@ -7,13 +7,13 @@
Administrator shortcut
Demo user startup menu
-->
- <record id="sc_account_dash" model="ir.ui.view_sc">
+ <!--record id="sc_account_dash" model="ir.ui.view_sc">
<field name="name">project dashboard</field>
<field name="user_id" ref="base.user_demo"/>
<field name="resource">ir.ui.menu</field>
<field name="sequence">3</field>
<field name="res_id" ref="menu_board_project"/>
- </record>
+ </record-->
<record id="base.user_root" model="res.users">
<field name="action_id" ref="open_board_project"/>
</record>
diff --git a/addons/project/i18n/es.po b/addons/project/i18n/es.po
index 175a17229bc..7f5b605cdf1 100644
--- a/addons/project/i18n/es.po
+++ b/addons/project/i18n/es.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-06-24 03:46+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: project
diff --git a/addons/project/project_mailgate.py b/addons/project/project_mailgate.py
index 93c9732c720..5409aa4e752 100644
--- a/addons/project/project_mailgate.py
+++ b/addons/project/project_mailgate.py
@@ -77,7 +77,7 @@ class project_tasks(osv.osv):
getattr(self,act)(cr, uid, [id])
return True
- def emails_get(self, cr, uid, ids, context={}):
+ def message_followers(self, cr, uid, ids, context={}):
res = []
if isinstance(ids, (str, int, long)):
select = [ids]
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index 86250622c5a..7b299cdcccc 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -1,7 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
- <menuitem icon="terp-project" id="base.menu_main_pm" name="Project" sequence="10"/>
+ <menuitem
+ icon="terp-project" id="base.menu_main_pm"
+ name="Project" sequence="10"
+ groups="group_project_manager,group_project_user"/>
+
<menuitem id="menu_project_management" name="Project Management" parent="base.menu_main_pm" sequence="1"/>
<menuitem id="menu_definitions" name="Configuration" parent="base.menu_main_pm" sequence="60"/>
diff --git a/addons/project/res_partner.py b/addons/project/res_partner.py
new file mode 100644
index 00000000000..f0297cf6a72
--- /dev/null
+++ b/addons/project/res_partner.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# 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/>.
+#
+##############################################################################
+
+from osv import fields,osv
+
+class res_partner(osv.osv):
+ """ Inherits partner and adds CRM information in the partner form """
+ _inherit = 'res.partner'
+ _columns = {
+ 'task_ids': fields.one2many('project.task', 'partner_id', 'Tasks'),
+ }
+res_partner()
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project/res_partner_view.xml b/addons/project/res_partner_view.xml
new file mode 100644
index 00000000000..4778c0f1017
--- /dev/null
+++ b/addons/project/res_partner_view.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+
+ <!-- Partners inherited form -->
+
+ <record id="view_task_partner_info_form" model="ir.ui.view">
+ <field name="name">res.partner.task.info.inherit</field>
+ <field name="model">res.partner</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="base.view_partner_form"/>
+ <field name="arch" type="xml">
+ <page string="History" position="inside">
+ <field name="task_ids" colspan="4" nolabel="1">
+ <tree string="Tasks" editable="bottom">
+ <field name="name"/>
+ <field name="user_id"/>
+ </tree>
+ </field>
+ </page>
+ </field>
+ </record>
+ </data>
+</openerp>
+
diff --git a/addons/project/security/ir.model.access.csv b/addons/project/security/ir.model.access.csv
index 502c8af0596..0c030e0c701 100644
--- a/addons/project/security/ir.model.access.csv
+++ b/addons/project/security/ir.model.access.csv
@@ -23,3 +23,5 @@
"access_partner_task manager","base.res.partner manager","base.model_res_partner","project.group_project_manager",1,0,0,0
"access_partner_address_task user","base.res.partner.address user","base.model_res_partner_address","project.group_project_user",1,0,0,0
"access_partner_address_task manager","base.res.partner.address manager","base.model_res_partner_address","project.group_project_manager",1,0,0,0
+"access_task_on_partner","project.task on partners","model_project_task","base.group_user",1,0,0,0
+"access_project_on_partner","project.project on partners","model_project_project","base.group_user",1,0,0,0
diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py
index 7339399cc08..97f9e96afa0 100644
--- a/addons/project_issue/__openerp__.py
+++ b/addons/project_issue/__openerp__.py
@@ -34,7 +34,7 @@
'crm',
'project',
'hr_timesheet_sheet',
- 'project_long_term',
+ 'resource'
],
'init_xml': [
'project_issue_data.xml'
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index 3523485f542..b9d7baed6dd 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -183,6 +183,8 @@ class project_issue(osv.osv, crm.crm_case):
method=True, multi='working_days_close', type="float", store=True),
'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('history', '=', True),('model','=',_name)]),
'log_ids': fields.one2many('mailgate.message', 'res_id', 'Logs', domain=[('history', '=', False),('model','=',_name)]),
+ 'date_action_last': fields.datetime('Last Action', readonly=1),
+ 'date_action_next': fields.datetime('Next Action', readonly=1),
}
def _get_project(self, cr, uid, context):
@@ -332,7 +334,7 @@ class project_issue(osv.osv, crm.crm_case):
if res:
vals.update(res)
res = self.create(cr, uid, vals, context)
-
+ self.convert_to_bug(cr, uid, [res], context=context)
attachents = msg.get('attachments', [])
for attactment in attachents or []:
@@ -383,36 +385,6 @@ class project_issue(osv.osv, crm.crm_case):
res = self.write(cr, uid, ids, vals)
return res
- def emails_get(self, cr, uid, ids, context=None):
-
- """
- Get Emails
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of email’s IDs
- @param context: A standard dictionary for contextual values
- """
- res = {}
-
- if isinstance(ids, (str, int, long)):
- select = [long(ids)]
- else:
- select = ids
-
- for thread in self.browse(cr, uid, select, context=context):
- values = collections.defaultdict(set)
-
- for message in thread.message_ids:
- user_email = (message.user_id and message.user_id.address_id and message.user_id.address_id.email) or False
- values['user_email'].add(user_email)
- values['email_from'].add(message.email_from)
- values['email_cc'].add(message.email_cc or False)
- values['priority'] = thread.priority
-
- res[thread.id] = dict((key,list(values[key])) for key, value in values.iteritems())
-
- return res
def msg_send(self, cr, uid, id, *args, **argv):
@@ -428,3 +400,11 @@ class project_issue(osv.osv, crm.crm_case):
project_issue()
+class project(osv.osv):
+ _inherit = "project.project"
+ _columns = {
+ 'resource_calendar_id': fields.many2one('resource.calendar', 'Working Time', help="Timetable working hours to adjust the gantt diagram report"),
+ }
+project()
+
+
diff --git a/addons/project_issue/project_issue_demo.xml b/addons/project_issue/project_issue_demo.xml
index ed031672360..aee12ccf01e 100644
--- a/addons/project_issue/project_issue_demo.xml
+++ b/addons/project_issue/project_issue_demo.xml
@@ -1,290 +1,278 @@
<?xml version="1.0"?>
<openerp>
<data noupdate="1">
- <!--
- ((((((((((( Demo Cases )))))))))))
- -->
-<!--For Issue Tracking-->
- <record id="crm_case_buginaccountsmodule0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_8"/>
- <field eval="time.strftime('%Y-%m-08 10:15:00')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;5&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_agrolait"/>
- <field eval="&quot;open&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field name="categ_id" ref="bug_categ"/>
- <field name="stage_id" ref="stage1"/>
- <field name="project_id" ref="project.project_project_22"/>
- <field eval="15.0" name="duration"/>
- <field eval="&quot;Bug in Accounts module&quot;" name="name"/>
- <field eval="&quot;agr@agrolait.com&quot;" name="email_from"/>
- </record>
- <record id="crm_case_log_takecorrectiveactions0" model="mailgate.message">
- <field eval="time.strftime('%Y-%m-08')" name="date"/>
- <field name="case_id" ref="crm_case_buginaccountsmodule0"/>
- <field name="som" ref="base.som_normal"/>
- <field eval="&quot;Take corrective actions&quot;" name="name"/>
- <field model="res.partner.canal" name="canal_id" search="[('name','=','website')]"/>
- </record>
+ <record id="crm_case_buginaccountsmodule0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_8"/>
+ <field eval="time.strftime('%Y-%m-08 10:15:00')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;5&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_agrolait"/>
+ <field eval="&quot;open&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field name="categ_id" ref="bug_categ"/>
+ <field name="stage_id" ref="stage1"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field eval="15.0" name="duration"/>
+ <field eval="&quot;Bug in Accounts module&quot;" name="name"/>
+ <field eval="&quot;agr@agrolait.com&quot;" name="email_from"/>
+ </record>
- <record id="crm_case_programnotgivingproperoutput0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_tang"/>
- <field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/>
- <field name="type_id" ref="type2"/>
- <field eval="&quot;3&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_asus"/>
- <field eval="&quot;done&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="3.5" name="duration"/>
- <field name="categ_id" ref="bug_categ"/>
- <field name="stage_id" ref="stage2"/>
- <field eval="&quot;Program not giving proper output&quot;" name="name"/>
- <field name="project_id" ref="project.project_project_22"/>
- </record>
+ <record id="crm_case_programnotgivingproperoutput0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_tang"/>
+ <field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/>
+ <field name="type_id" ref="type2"/>
+ <field eval="&quot;3&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_asus"/>
+ <field eval="&quot;done&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="3.5" name="duration"/>
+ <field name="categ_id" ref="bug_categ"/>
+ <field name="stage_id" ref="stage2"/>
+ <field eval="&quot;Program not giving proper output&quot;" name="name"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ </record>
- <record id="crm_case_outputincorrect0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_9"/>
- <field eval="time.strftime('%Y-%m-18 14:30:00')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;4&quot;" name="priority"/>
- <field name="user_id" ref="base.user_demo"/>
- <field eval="&quot;cancel&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="2.3" name="duration"/>
- <field name="categ_id" ref="bug_categ"/>
- <field name="stage_id" ref="stage3"/>
- <field name="project_id" ref="project.project_project_23"/>
- <field eval="&quot;Output incorrect&quot;" name="name"/>
- </record>
+ <record id="crm_case_outputincorrect0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_9"/>
+ <field eval="time.strftime('%Y-%m-18 14:30:00')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;4&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field eval="&quot;cancel&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="2.3" name="duration"/>
+ <field name="categ_id" ref="bug_categ"/>
+ <field name="stage_id" ref="stage3"/>
+ <field name="project_id" ref="project.project_project_23"/>
+ <field eval="&quot;Output incorrect&quot;" name="name"/>
+ </record>
- <record id="crm_case_problemloadingpage0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_13"/>
- <field eval="time.strftime('%Y-%m-20 15:25:05')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;3&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_14"/>
- <field eval="&quot;cancel&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="4.0" name="duration"/>
- <field name="categ_id" ref="bug_categ"/>
- <field name="stage_id" ref="stage4"/>
- <field name="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Problem loading page&quot;" name="name"/>
- </record>
+ <record id="crm_case_problemloadingpage0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_13"/>
+ <field eval="time.strftime('%Y-%m-20 15:25:05')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;3&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_14"/>
+ <field eval="&quot;cancel&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="4.0" name="duration"/>
+ <field name="categ_id" ref="bug_categ"/>
+ <field name="stage_id" ref="stage4"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field eval="&quot;Problem loading page&quot;" name="name"/>
+ </record>
- <record id="crm_case_pagenotfound0" model="project.issue">
- <field eval="time.strftime('%Y-%m-22 18:15:00')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;3&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
- <field eval="&quot;draft&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="1.0" name="duration"/>
- <field name="categ_id" ref="bug_categ"/>
- <field name="stage_id" ref="stage5"/>
- <field name="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Page not Found&quot;" name="name"/>
- </record>
+ <record id="crm_case_pagenotfound0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-22 18:15:00')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;3&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
+ <field eval="&quot;draft&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="1.0" name="duration"/>
+ <field name="categ_id" ref="bug_categ"/>
+ <field name="stage_id" ref="stage5"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field eval="&quot;Page not Found&quot;" name="name"/>
+ </record>
- <record id="crm_case_programmingerror0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_10"/>
- <field eval="time.strftime('%Y-%m-24 09:45:00')" name="date"/>
- <field name="type_id" ref="type2"/>
- <field eval="&quot;3&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_5"/>
- <field eval="&quot;pending&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="4.0" name="duration"/>
- <field name="categ_id" ref="bug_categ"/>
- <field name="stage_id" ref="stage6"/>
- <field name="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Programming Error&quot;" name="name"/>
- </record>
+ <record id="crm_case_programmingerror0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_10"/>
+ <field eval="time.strftime('%Y-%m-24 09:45:00')" name="date"/>
+ <field name="type_id" ref="type2"/>
+ <field eval="&quot;3&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_5"/>
+ <field eval="&quot;pending&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="4.0" name="duration"/>
+ <field name="categ_id" ref="bug_categ"/>
+ <field name="stage_id" ref="stage6"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field eval="&quot;Programming Error&quot;" name="name"/>
+ </record>
- <record id="crm_case_logicalerrorinprogram0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_6"/>
- <field eval="time.strftime('%Y-%m-26 11:10:00')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;2&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_6"/>
- <field eval="&quot;pending&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="2.0" name="duration"/>
- <field name="categ_id" ref="bug_categ"/>
- <field name="stage_id" ref="stage6"/>
- <field name="project_id" ref="project.project_project_9"/>
- <field eval="&quot;Logical Error in Program&quot;" name="name"/>
- </record>
+ <record id="crm_case_logicalerrorinprogram0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_6"/>
+ <field eval="time.strftime('%Y-%m-26 11:10:00')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;2&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_6"/>
+ <field eval="&quot;pending&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="2.0" name="duration"/>
+ <field name="categ_id" ref="bug_categ"/>
+ <field name="stage_id" ref="stage6"/>
+ <field name="project_id" ref="project.project_project_9"/>
+ <field eval="&quot;Logical Error in Program&quot;" name="name"/>
+ </record>
- <record id="crm_case_constrainterror0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_6"/>
- <field eval="time.strftime('%Y-%m-25 13:35:00')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;2&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_6"/>
- <field eval="&quot;pending&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="7.3" name="duration"/>
- <field name="categ_id" ref="bug_categ"/>
- <field name="stage_id" ref="stage5"/>
- <field name="project_id" ref="project.project_project_9"/>
- <field eval="&quot;Constraint Error&quot;" name="name"/>
- </record>
+ <record id="crm_case_constrainterror0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_6"/>
+ <field eval="time.strftime('%Y-%m-25 13:35:00')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;2&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_6"/>
+ <field eval="&quot;pending&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="7.3" name="duration"/>
+ <field name="categ_id" ref="bug_categ"/>
+ <field name="stage_id" ref="stage5"/>
+ <field name="project_id" ref="project.project_project_9"/>
+ <field eval="&quot;Constraint Error&quot;" name="name"/>
+ </record>
- <record id="crm_case_errorinprogram0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_10"/>
- <field eval="time.strftime('%Y-%m-28 15:40:00')" name="date"/>
- <field name="type_id" ref="type2"/>
- <field eval="&quot;2&quot;" name="priority"/>
- <field name="user_id" ref="base.user_demo"/>
- <field name="partner_id" ref="base.res_partner_5"/>
- <field eval="&quot;open&quot;" name="state"/>
- <field eval="1" name="active"/>
- <field eval="1.3" name="duration"/>
- <field name="categ_id" ref="feature_request_categ"/>
- <field name="stage_id" ref="stage5"/>
- <field name="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Error in Program&quot;" name="name"/>
- </record>
+ <record id="crm_case_errorinprogram0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_10"/>
+ <field eval="time.strftime('%Y-%m-28 15:40:00')" name="date"/>
+ <field name="type_id" ref="type2"/>
+ <field eval="&quot;2&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="partner_id" ref="base.res_partner_5"/>
+ <field eval="&quot;open&quot;" name="state"/>
+ <field eval="1" name="active"/>
+ <field eval="1.3" name="duration"/>
+ <field name="categ_id" ref="feature_request_categ"/>
+ <field name="stage_id" ref="stage5"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field eval="&quot;Error in Program&quot;" name="name"/>
+ </record>
- <record id="crm_case_patcheserrorinprogram0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_9"/>
- <field eval="time.strftime('%Y-%m-28 16:30:00')" name="date"/>
- <field name="type_id" ref="type2"/>
- <field eval="&quot;2&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_2"/>
- <field eval="&quot;open&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="13.0" name="duration"/>
- <field name="categ_id" ref="feature_request_categ"/>
- <field name="stage_id" ref="stage5"/>
- <field name="project_id" ref="project.project_project_9"/>
- <field eval="&quot;Patches Error in Program&quot;" name="name"/>
- </record>
+ <record id="crm_case_patcheserrorinprogram0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_9"/>
+ <field eval="time.strftime('%Y-%m-28 16:30:00')" name="date"/>
+ <field name="type_id" ref="type2"/>
+ <field eval="&quot;2&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_2"/>
+ <field eval="&quot;open&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="13.0" name="duration"/>
+ <field name="categ_id" ref="feature_request_categ"/>
+ <field name="stage_id" ref="stage5"/>
+ <field name="project_id" ref="project.project_project_9"/>
+ <field eval="&quot;Patches Error in Program&quot;" name="name"/>
+ </record>
- <record id="crm_case_newfeaturestobeadded0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_wong"/>
- <field eval="time.strftime('%Y-%m-01 12:15:10')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;4&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_maxtor"/>
- <field eval="&quot;open&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="3.2" name="duration"/>
- <field name="categ_id" ref="feature_request_categ"/>
- <field name="stage_id" ref="stage1"/>
- <field name="project_id" ref="project.project_project_21"/>
- <field eval="&quot;New Features To Be Added&quot;" name="name"/>
- </record>
+ <record id="crm_case_newfeaturestobeadded0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_wong"/>
+ <field eval="time.strftime('%Y-%m-01 12:15:10')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;4&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_maxtor"/>
+ <field eval="&quot;open&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="3.2" name="duration"/>
+ <field name="categ_id" ref="feature_request_categ"/>
+ <field name="stage_id" ref="stage1"/>
+ <field name="project_id" ref="project.project_project_21"/>
+ <field eval="&quot;New Features To Be Added&quot;" name="name"/>
+ </record>
- <record id="crm_case_addmenustothemodule0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_1"/>
- <field eval="time.strftime('%Y-%m-05 18:00:00')" name="date"/>
- <field name="type_id" ref="type2"/>
- <field eval="&quot;1&quot;" name="priority"/>
- <field name="user_id" ref="base.user_demo"/>
- <field name="partner_id" ref="base.res_partner_9"/>
- <field eval="&quot;done&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="3.0" name="duration"/>
- <field name="categ_id" ref="feature_request_categ"/>
- <field name="stage_id" ref="stage2"/>
- <field name="project_id" ref="project.project_project_21"/>
- <field eval="&quot;Add menus to the module&quot;" name="name"/>
- <field eval="&quot;info@opensides.be&quot;" name="email_from"/>
- </record>
+ <record id="crm_case_addmenustothemodule0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_1"/>
+ <field eval="time.strftime('%Y-%m-05 18:00:00')" name="date"/>
+ <field name="type_id" ref="type2"/>
+ <field eval="&quot;1&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="partner_id" ref="base.res_partner_9"/>
+ <field eval="&quot;done&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="3.0" name="duration"/>
+ <field name="categ_id" ref="feature_request_categ"/>
+ <field name="stage_id" ref="stage2"/>
+ <field name="project_id" ref="project.project_project_21"/>
+ <field eval="&quot;Add menus to the module&quot;" name="name"/>
+ <field eval="&quot;info@opensides.be&quot;" name="email_from"/>
+ </record>
- <record id="crm_case_includeattendancesheetinproject0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_2"/>
- <field eval="time.strftime('%Y-%m-10 17:05:30')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;3&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_10"/>
- <field eval="&quot;cancel&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="2.0" name="duration"/>
- <field name="categ_id" ref="feature_request_categ"/>
- <field name="stage_id" ref="stage3"/>
- <field name="project_id" ref="project.project_project_9"/>
- <field eval="&quot;Include Attendance sheet in Project&quot;" name="name"/>
- <field eval="&quot;contact@tecsas.fr&quot;" name="email_from"/>
- </record>
+ <record id="crm_case_includeattendancesheetinproject0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_2"/>
+ <field eval="time.strftime('%Y-%m-10 17:05:30')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;3&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_10"/>
+ <field eval="&quot;cancel&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="2.0" name="duration"/>
+ <field name="categ_id" ref="feature_request_categ"/>
+ <field name="stage_id" ref="stage3"/>
+ <field name="project_id" ref="project.project_project_9"/>
+ <field eval="&quot;Include Attendance sheet in Project&quot;" name="name"/>
+ <field eval="&quot;contact@tecsas.fr&quot;" name="email_from"/>
+ </record>
- <record id="crm_case_createnewobject0" model="project.issue">
- <field model="res.partner.canal" name="canal_id" search="[('name','=','phone')]"/>
- <field name="partner_address_id" ref="base.res_partner_address_6"/>
- <field name="som" ref="base.som_happy"/>
- <field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;3&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_6"/>
- <field eval="&quot;draft&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="2.45" name="duration"/>
- <field name="categ_id" ref="feature_request_categ"/>
- <field name="stage_id" ref="stage5"/>
- <field name="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Create new object&quot;" name="name"/>
- </record>
+ <record id="crm_case_createnewobject0" model="project.issue">
+ <field model="res.partner.canal" name="canal_id" search="[('name','=','phone')]"/>
+ <field name="partner_address_id" ref="base.res_partner_address_6"/>
+ <field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;3&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_6"/>
+ <field eval="&quot;draft&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="2.45" name="duration"/>
+ <field name="categ_id" ref="feature_request_categ"/>
+ <field name="stage_id" ref="stage5"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field eval="&quot;Create new object&quot;" name="name"/>
+ </record>
- <record id="crm_case_improvereportsinhrms0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_15"/>
- <field eval="time.strftime('%Y-%m-19 12:15:00')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;4&quot;" name="priority"/>
- <field name="user_id" ref="base.user_root"/>
- <field name="partner_id" ref="base.res_partner_11"/>
- <field eval="&quot;pending&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="15.0" name="duration"/>
- <field name="categ_id" ref="feature_request_categ"/>
- <field name="stage_id" ref="stage6"/>
- <field name="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Improve Reports in HRMS&quot;" name="name"/>
- </record>
+ <record id="crm_case_improvereportsinhrms0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_15"/>
+ <field eval="time.strftime('%Y-%m-19 12:15:00')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;4&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_11"/>
+ <field eval="&quot;pending&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="15.0" name="duration"/>
+ <field name="categ_id" ref="feature_request_categ"/>
+ <field name="stage_id" ref="stage6"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field eval="&quot;Improve Reports in HRMS&quot;" name="name"/>
+ </record>
- <record id="crm_case_improvereportsinpms0" model="project.issue">
- <field name="partner_address_id" ref="base.res_partner_address_15"/>
- <field eval="time.strftime('%Y-%m-21 14:30:00')" name="date"/>
- <field name="type_id" ref="type1"/>
- <field eval="&quot;2&quot;" name="priority"/>
- <field name="user_id" ref="base.user_demo"/>
- <field name="partner_id" ref="base.res_partner_11"/>
- <field eval="&quot;pending&quot;" name="state"/>
- <field name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field eval="06.15" name="duration"/>
- <field name="categ_id" ref="feature_request_categ"/>
- <field name="stage_id" ref="stage5"/>
- <field name="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Improve Reports in PMS&quot;" name="name"/>
- </record>
+ <record id="crm_case_improvereportsinpms0" model="project.issue">
+ <field name="partner_address_id" ref="base.res_partner_address_15"/>
+ <field eval="time.strftime('%Y-%m-21 14:30:00')" name="date"/>
+ <field name="type_id" ref="type1"/>
+ <field eval="&quot;2&quot;" name="priority"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="partner_id" ref="base.res_partner_11"/>
+ <field eval="&quot;pending&quot;" name="state"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="06.15" name="duration"/>
+ <field name="categ_id" ref="feature_request_categ"/>
+ <field name="stage_id" ref="stage5"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field eval="&quot;Improve Reports in PMS&quot;" name="name"/>
+ </record>
</data>
</openerp>
diff --git a/addons/project_issue/project_issue_menu.xml b/addons/project_issue/project_issue_menu.xml
index ea902ea599f..fefdd496559 100644
--- a/addons/project_issue/project_issue_menu.xml
+++ b/addons/project_issue/project_issue_menu.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="1">
+<data>
######################## ISSUE TRACKING (menu) ###########################
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 973e0a1a20c..fd523ad7774 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -95,7 +95,7 @@
<button colspan="4"
string="Reply to Last Email"
name="%(crm.action_crm_send_mail)d"
- context="{'mail':'reply', 'model': 'project.issue'}"
+ context="{'mail':'reply', 'model': 'project.issue', 'include_original' : True}"
icon="gtk-undo" type="action" />
</form>
<tree string="Communication history">
diff --git a/addons/project_timesheet/i18n/es.po b/addons/project_timesheet/i18n/es.po
index 777b9212e77..28dd6ec6d3c 100644
--- a/addons/project_timesheet/i18n/es.po
+++ b/addons/project_timesheet/i18n/es.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: project_timesheet
diff --git a/addons/purchase/i18n/el.po b/addons/purchase/i18n/el.po
index 09f8256c503..ceb54327a4d 100644
--- a/addons/purchase/i18n/el.po
+++ b/addons/purchase/i18n/el.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: 2009-12-16 19:12+0000\n"
-"Last-Translator: Andreas Porevopoulos <Unknown>\n"
+"PO-Revision-Date: 2010-06-26 00:12+0000\n"
+"Last-Translator: Fotis Tsamis <Unknown>\n"
"Language-Team: nls@hellug.gr <nls@hellug.gr>\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 03:56+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
@@ -788,7 +788,7 @@ msgstr "Προϊόν"
#: field:purchase.order.line,name:0
#: rml:purchase.quotation:0
msgid "Description"
-msgstr "Περογραφή"
+msgstr "Περιγραφή"
#. module: purchase
#: model:process.transition,name:purchase.process_transition_productrecept0
diff --git a/addons/report_analytic_planning/i18n/es.po b/addons/report_analytic_planning/i18n/es.po
index bf4ebb8ce76..f1a6e356108 100644
--- a/addons/report_analytic_planning/i18n/es.po
+++ b/addons/report_analytic_planning/i18n/es.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-06-24 03:46+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: report_analytic_planning
diff --git a/addons/report_task/i18n/es.po b/addons/report_task/i18n/es.po
index 8bb396c5454..25894c98146 100644
--- a/addons/report_task/i18n/es.po
+++ b/addons/report_task/i18n/es.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: report_task
diff --git a/addons/sale/board_sale_demo.xml b/addons/sale/board_sale_demo.xml
index 996821c02e1..09419de206c 100644
--- a/addons/sale/board_sale_demo.xml
+++ b/addons/sale/board_sale_demo.xml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
-
+
<!--
Administrator shortcut
Demo user startup menu
-->
- <record id="sc_sale_dash" model="ir.ui.view_sc">
+ <!-- <record id="sc_sale_dash" model="ir.ui.view_sc">
<field name="name">Sales dashboard</field>
<field name="user_id" ref="base.user_root"/>
<field name="resource">ir.ui.menu</field>
<field name="sequence">1</field>
<field name="res_id" ref="menu_board_sales_manager"/>
- </record>
+ </record> -->
</data>
</openerp>
diff --git a/addons/sale/i18n/es.po b/addons/sale/i18n/es.po
index 3c481e1f885..c200c9f3dcb 100644
--- a/addons/sale/i18n/es.po
+++ b/addons/sale/i18n/es.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: sale
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 206e9441524..aeeba26bed7 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -158,7 +158,8 @@
<field name="type" groups="base.group_extended"/>
<field name="delay" groups="base.group_extended"/>
<newline/>
- <field colspan="4" name="tax_id" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/>
+ <separator colspan="5" string="Taxes"/>
+ <field colspan="4" name="tax_id" nolabel="1" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/>
<group colspan="4" col="5" groups="base.group_extended">
<separator colspan="5" string="States"/>
<field name="state"/>
diff --git a/addons/sale_crm/__openerp__.py b/addons/sale_crm/__openerp__.py
index 9464db91b6f..007711da5d0 100644
--- a/addons/sale_crm/__openerp__.py
+++ b/addons/sale_crm/__openerp__.py
@@ -38,8 +38,9 @@ crm modules.
'website': 'http://www.openerp.com',
'depends': ['sale', 'crm'],
'init_xml': [],
- 'update_xml': ['sale_crm_wizard.xml',
+ 'update_xml': ['wizard/crm_make_sale_view.xml',
'sale_crm_view.xml',
+ 'board_sale_crm_view.xml',
'process/sale_crm_process.xml',
'security/sale_crm_security.xml',
],
diff --git a/addons/sale_crm/board_sale_crm_view.xml b/addons/sale_crm/board_sale_crm_view.xml
new file mode 100644
index 00000000000..42b7cc1cd47
--- /dev/null
+++ b/addons/sale_crm/board_sale_crm_view.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<openerp>
+ <data>
+
+ <record id="action_quotation_for_sale_crm" model="ir.actions.act_window">
+ <field name="name">Quotations</field>
+ <field name="res_model">sale.order</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ <field name="domain">[('state','=','draft'),('user_id','=',uid)]</field>
+ <field name="view_id" ref="sale.view_order_tree"/>
+ </record>
+
+ <record id="view_turnover_by_month_tree" model="ir.ui.view">
+ <field name="name">turnover.by.month.tree</field>
+ <field name="model">account.invoice.report</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="Turnover By Months">
+ <field name="month"/>
+ <field name="price_total"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="view_turnover_by_month_graph" model="ir.ui.view">
+ <field name="name">turnover.by.month.graph</field>
+ <field name="model">account.invoice.report</field>
+ <field name="type">graph</field>
+ <field name="arch" type="xml">
+ <graph string="Turnover By Months" type="bar">
+ <field name="month"/>
+ <field name="price_total" operator="+"/>
+ </graph>
+ </field>
+ </record>
+
+ <record model="ir.actions.act_window" id="action_turnover_by_month">
+ <field name="res_model">account.invoice.report</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">graph,tree</field>
+ <field name="view_id" ref="view_turnover_by_month_tree"/>
+ <field name="domain">[('year','ilike',time.strftime('%Y')),('user_id','=',uid)]</field>
+ <field name="context">{'group_by_no_leaf':1,'group_by':['month']}</field>
+ <field name="search_view_id" ref="account.view_account_invoice_report_search"/>
+ </record>
+
+ <record model="ir.ui.view" id="crm.board_crm_form">
+ <field name="name">CRM - Dashboard Form</field>
+ <field name="model">board.board</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Connecting Dashboard">
+ <hpaned>
+ <child1>
+ <action
+ string="My Opportunities"
+ name="%(crm.act_my_leads)d"
+ colspan="4"
+ height="150"
+ width="510"/>
+
+ <action
+ string="My Meetings"
+ name="%(crm.act_my_meetings)d"
+ height="150"
+ colspan="4"/>
+ <action
+ string="My Quotations"
+ name="%(action_quotation_for_sale_crm)d"
+ colspan="4"
+ height="150"
+ width="510"/>
+ </child1>
+ <child2>
+ <action
+ string="Revenues by stage"
+ name="%(crm.act_my_leads_stage)d"
+ colspan="4"/>
+ <action
+ string="My Sales Pipeline"
+ name="%(crm.act_sales_pipeline)d"
+ colspan="4"/>
+ <action
+ string="Turnover By Months"
+ name="%(action_turnover_by_month)d"
+ colspan="4"/>
+ </child2>
+ </hpaned>
+ </form>
+ </field>
+ </record>
+ </data>
+</openerp>
diff --git a/addons/sale_crm/sale_crm_view.xml b/addons/sale_crm/sale_crm_view.xml
index 565fd687b4e..5cf4cf552f0 100644
--- a/addons/sale_crm/sale_crm_view.xml
+++ b/addons/sale_crm/sale_crm_view.xml
@@ -9,7 +9,7 @@
<field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
<field name="arch" type="xml">
<field name="priority" position="after">
- <button string="Convert to Sale" icon="gtk-go-forward" name="%(sale_crm_wizard)d" type="action"/>
+ <button string="Convert to Sale" icon="gtk-go-forward" name="%(action_crm_make_sale)d" type="action"/>
</field>
</field>
</record>
diff --git a/addons/sale_crm/sale_crm_wizard.xml b/addons/sale_crm/sale_crm_wizard.xml
deleted file mode 100644
index 74dcf06e901..00000000000
--- a/addons/sale_crm/sale_crm_wizard.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<openerp>
- <data>
-
- <wizard
- string="Make Quotation"
- model="crm.opportunity"
- name="crm.opportunity.make_order"
- keyword="client_action_multi"
- multi="True"
- id="sale_crm_wizard"/>
-
- </data>
-</openerp>
diff --git a/addons/sale_crm/wizard/__init__.py b/addons/sale_crm/wizard/__init__.py
index 87048a13fc4..04f40c92207 100644
--- a/addons/sale_crm/wizard/__init__.py
+++ b/addons/sale_crm/wizard/__init__.py
@@ -19,7 +19,7 @@
#
##############################################################################
-import makesale
+import crm_make_sale
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/sale_crm/wizard/crm_make_sale.py b/addons/sale_crm/wizard/crm_make_sale.py
new file mode 100644
index 00000000000..db6bcd832b3
--- /dev/null
+++ b/addons/sale_crm/wizard/crm_make_sale.py
@@ -0,0 +1,183 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# 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/>.
+#
+##############################################################################
+
+from osv import fields, osv
+from tools.translate import _
+from mx.DateTime import now
+
+
+class crm_make_sale(osv.osv_memory):
+ """ Make sale order for crm """
+
+ _name = "crm.make.sale"
+ _description = "Make sale"
+
+ def _selectPartner(self, cr, uid, context=None):
+ """
+ This function gets default value for partner_id field.
+ @param self: The object pointer
+ @param cr: the current row, from the database cursor,
+ @param uid: the current user’s ID for security checks,
+ @param context: A standard dictionary for contextual values
+ @return : default value of partner_id field.
+ """
+ if not context:
+ context = {}
+
+ active_id = context and context.get('active_id', False) or False
+ if not active_id:
+ return False
+ lead_obj = self.pool.get('crm.lead')
+ lead = lead_obj.read(cr, uid, active_id, ['partner_id'])
+ return lead['partner_id']
+
+ def makeOrder(self, cr, uid, ids, context=None):
+ """
+ This function create Quotation on given case.
+ @param self: The object pointer
+ @param cr: the current row, from the database cursor,
+ @param uid: the current user’s ID for security checks,
+ @param ids: List of crm make sale' ids
+ @param context: A standard dictionary for contextual values
+ @return : Dictionary value of created sale order.
+ """
+ if not context:
+ context = {}
+
+ mod_obj = self.pool.get('ir.model.data')
+
+
+ result = mod_obj._get_id(cr, uid, 'sale', 'view_sales_order_filter')
+ id = mod_obj.read(cr, uid, result, ['res_id'])
+
+ case_obj = self.pool.get('crm.lead')
+ sale_obj = self.pool.get('sale.order')
+ partner_obj = self.pool.get('res.partner')
+ sale_line_obj = self.pool.get('sale.order.line')
+
+ data = context and context.get('active_ids', []) or []
+
+ for make in self.browse(cr, uid, ids):
+ default_partner_addr = partner_obj.address_get(cr, uid, [make.partner_id.id],
+ ['invoice', 'delivery', 'contact'])
+ default_pricelist = partner_obj.browse(cr, uid, make.partner_id.id,
+ context).property_product_pricelist.id
+ fpos_data = partner_obj.browse(cr, uid, make.partner_id.id, context).property_account_position
+ new_ids = []
+
+ for case in case_obj.browse(cr, uid, data):
+ if case.partner_id and case.partner_id.id:
+ partner_id = case.partner_id.id
+ fpos = case.partner_id.property_account_position and case.partner_id.property_account_position.id or False
+ partner_addr = partner_obj.address_get(cr, uid, [case.partner_id.id],
+ ['invoice', 'delivery', 'contact'])
+ pricelist = partner_obj.browse(cr, uid, case.partner_id.id,
+ context).property_product_pricelist.id
+ else:
+ partner_id = make.partner_id.id
+ fpos = fpos_data and fpos_data.id or False
+ partner_addr = default_partner_addr
+ pricelist = default_pricelist
+
+ if False in partner_addr.values():
+ raise osv.except_osv(_('Data Insufficient!'),_('Customer has no addresses defined!'))
+
+ vals = {
+ 'origin': 'CRM-Opportunity:%s' % str(case.id),
+ 'section_id': case.section_id and case.section_id.id or False,
+ 'picking_policy': make.picking_policy,
+ 'shop_id': make.shop_id.id,
+ 'partner_id': partner_id,
+ 'pricelist_id': pricelist,
+ 'partner_invoice_id': partner_addr['invoice'],
+ 'partner_order_id': partner_addr['contact'],
+ 'partner_shipping_id': partner_addr['delivery'],
+ 'order_policy': 'manual',
+ 'date_order': now(),
+ 'fiscal_position': fpos,
+ }
+
+ if partner_id:
+ partner = partner_obj.browse(cr, uid, partner_id, context=context)
+ vals['user_id'] = partner.user_id and partner.user_id.id or uid
+
+ if make.analytic_account.id:
+ vals['project_id'] = make.analytic_account.id
+ new_id = sale_obj.create(cr, uid, vals)
+ for product_id in make.product_ids:
+ value = sale_line_obj.product_id_change(cr, uid, [], pricelist,
+ product_id.id, qty=1, partner_id=partner_id, fiscal_position=fpos)['value']
+ value['product_id'] = product_id.id
+ value['order_id'] = new_id
+ value['tax_id'] = [(6,0,value['tax_id'])]
+ sale_line_obj.create(cr, uid, value)
+
+ case_obj.write(cr, uid, [case.id], {'ref': 'sale.order,%s' % new_id})
+ new_ids.append(new_id)
+
+ if make.close:
+ case_obj.case_close(cr, uid, data)
+
+ if not new_ids:
+ return {}
+ if len(new_ids)<=1:
+ value = {
+ 'domain': str([('id', 'in', new_ids)]),
+ 'view_type': 'form',
+ 'view_mode': 'form',
+ 'res_model': 'sale.order',
+ 'view_id': False,
+ 'type': 'ir.actions.act_window',
+ 'res_id': new_ids and new_ids[0]
+
+ }
+
+
+ else:
+ value = {
+ 'domain': str([('id', 'in', new_ids)]),
+ 'view_type': 'form',
+ 'view_mode': 'tree,form',
+ 'res_model': 'sale.order',
+ 'view_id': False,
+ 'type': 'ir.actions.act_window',
+ 'res_id':new_ids
+ }
+ return value
+
+
+ _columns = {
+ 'shop_id': fields.many2one('sale.shop', 'Shop', required = True),
+ 'partner_id': fields.many2one('res.partner', 'Customer', required = True, help = 'Use this partner if there is no partner on the Opportunity'),
+ 'picking_policy': fields.selection([('direct','Partial Delivery'),
+ ('one','Complete Delivery')], 'Picking Policy', required = True),
+ 'product_ids': fields.many2many('product.product', 'product_sale_rel',\
+ 'sale_id', 'product_id', 'Products'),
+ 'analytic_account': fields.many2one('account.analytic.account', 'Analytic Account'),
+ 'close': fields.boolean('Close Case', help = 'Check this to close the case after having created the sale order.'),
+ }
+ _defaults = {
+ 'partner_id': _selectPartner,
+ 'close': lambda *a: 1
+ }
+
+crm_make_sale()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/sale_crm/wizard/crm_make_sale_view.xml b/addons/sale_crm/wizard/crm_make_sale_view.xml
new file mode 100644
index 00000000000..a1da3ed1fec
--- /dev/null
+++ b/addons/sale_crm/wizard/crm_make_sale_view.xml
@@ -0,0 +1,43 @@
+<openerp>
+ <data>
+
+ <!-- crm make sale's view -->
+
+ <record id="view_crm_make_sale" model="ir.ui.view">
+ <field name="name">crm.make.sale.form</field>
+ <field name="model">crm.make.sale</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Create a Sale Order" >
+ <group colspan="4">
+ <field name="partner_id" required="1"/>
+ <field name="shop_id" required="1" widget="selection"/>
+ <field name="analytic_account"/>
+ <field name="picking_policy"/>
+ <field name="close" required="1"/>
+ </group>
+ <separator string="Products" colspan="4"/>
+ <field name="product_ids" colspan="4" nolabel="1"/>
+ <separator colspan="4"/>
+ <group col="4" colspan="4">
+ <label string="" colspan="2"/>
+ <button special="cancel" string="_Close" icon="gtk-cancel"/>
+ <button name="makeOrder" string="_Ok" type="object" icon='gtk-ok'/>
+ </group>
+ </form>
+ </field>
+ </record>
+
+ <!-- crm make sale's action -->
+
+ <record id="action_crm_make_sale" model="ir.actions.act_window">
+ <field name="name">Make Quotation</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">crm.make.sale</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">form</field>
+ <field name="target">new</field>
+ </record>
+
+ </data>
+</openerp>
diff --git a/addons/sale_crm/wizard/makesale.py b/addons/sale_crm/wizard/makesale.py
deleted file mode 100644
index e4aacce1044..00000000000
--- a/addons/sale_crm/wizard/makesale.py
+++ /dev/null
@@ -1,179 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# 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/>.
-#
-##############################################################################
-
-from mx.DateTime import now
-
-import wizard
-import netsvc
-import ir
-import pooler
-from tools.translate import _
-
-sale_form = """<?xml version="1.0"?>
-<form string="Create a Sale Order">
- <field name="partner_id" required="True"/>
- <field name="shop_id" required="True"/>
- <field name="analytic_account"/>
- <field name="picking_policy" required="True"/>
- <field name="close"/>
- <newline/>
- <field name="products" colspan="4"/>
-</form>"""
-
-sale_fields = {
- 'shop_id': {'string': 'Shop', 'type': 'many2one', 'relation': 'sale.shop'},
- 'partner_id': {'string': 'Customer', 'type': 'many2one',
- 'relation': 'res.partner',
- 'help': 'Use this partner if there is no partner on the case'},
- 'picking_policy': {'string': 'Picking Policy', 'type': 'selection',
- 'selection': [('direct', 'Partial Delivery'), ('one', 'Complete Delivery')]},
- 'products': {'string': 'Products', 'type': 'many2many',
- 'relation': 'product.product'},
- 'analytic_account': {'string': 'Analytic Account', 'type': 'many2one',
- 'relation': 'account.analytic.account'},
- 'close': {'string': 'Close Case', 'type': 'boolean', 'default': lambda *a: 1,
- 'help': 'Check this to close the case after having created the sale order.'},
-}
-
-
-class make_sale(wizard.interface):
-
- def _selectPartner(self, cr, uid, data, context):
- case_obj = pooler.get_pool(cr.dbname).get('crm.lead')
- case = case_obj.read(cr, uid, data['ids'], ['partner_id'])
- return {'partner_id': case[0]['partner_id']}
-
- def _makeOrder(self, cr, uid, data, context):
- pool = pooler.get_pool(cr.dbname)
- mod_obj = pool.get('ir.model.data')
- result = mod_obj._get_id(cr, uid, 'sale', 'view_sales_order_filter')
- id = mod_obj.read(cr, uid, result, ['res_id'])
- case_obj = pool.get('crm.lead')
- sale_obj = pool.get('sale.order')
- partner_obj = pool.get('res.partner')
- sale_line_obj = pool.get('sale.order.line')
-
- default_partner_addr = partner_obj.address_get(cr, uid, [data['form']['partner_id']],
- ['invoice', 'delivery', 'contact'])
- default_pricelist = partner_obj.browse(cr, uid, data['form']['partner_id'],
- context).property_product_pricelist.id
- fpos_data = partner_obj.browse(cr, uid, data['form']['partner_id'],context).property_account_position
- new_ids = []
-
- for case in case_obj.browse(cr, uid, data['ids']):
- if case.partner_id and case.partner_id.id:
- partner_id = case.partner_id.id
- fpos = case.partner_id.property_account_position and case.partner_id.property_account_position.id or False
- partner_addr = partner_obj.address_get(cr, uid, [case.partner_id.id],
- ['invoice', 'delivery', 'contact'])
- pricelist = partner_obj.browse(cr, uid, case.partner_id.id,
- context).property_product_pricelist.id
- else:
- partner_id = data['form']['partner_id']
- fpos = fpos_data and fpos_data.id or False
- partner_addr = default_partner_addr
- pricelist = default_pricelist
-
- if False in partner_addr.values():
- raise wizard.except_wizard(_('Data Insufficient!'),_('Customer has no addresses defined!'))
-
- vals = {
- 'origin': 'CRM-Opportunity:%s' % str(case.id),
- 'section_id': case.section_id and case.section_id.id or False,
- 'picking_policy': data['form']['picking_policy'],
- 'shop_id': data['form']['shop_id'],
- 'partner_id': partner_id,
- 'pricelist_id': pricelist,
- 'partner_invoice_id': partner_addr['invoice'],
- 'partner_order_id': partner_addr['contact'],
- 'partner_shipping_id': partner_addr['delivery'],
- 'order_policy': 'manual',
- 'date_order': now(),
- 'fiscal_position': fpos,
- }
-
- if partner_id:
- partner = partner_obj.browse(cr, uid, partner_id, context=context)
- vals['user_id'] = partner.user_id and partner.user_id.id or uid
-
- if data['form']['analytic_account']:
- vals['project_id'] = data['form']['analytic_account']
-
- vals.update( sale_obj.onchange_partner_id(cr, uid, [], partner_id).get('value',{}) )
- new_id = sale_obj.create(cr, uid, vals)
- if data['form']['products']:
- for product_id in data['form']['products'][0][2]:
- value = {
- 'price_unit': 0.0,
- 'product_id': product_id,
- 'order_id': new_id,
- }
- value.update( sale_line_obj.product_id_change(cr, uid, [], pricelist,product_id, qty=1, partner_id=partner_id, fiscal_position=fpos)['value'] )
- value['tax_id'] = [(6,0,value['tax_id'])]
- sale_line_obj.create(cr, uid, value)
-
- case_obj.write(cr, uid, [case.id], {'ref': 'sale.order,%s' % new_id})
- new_ids.append(new_id)
-
- if data['form']['close']:
- case_obj.case_close(cr, uid, data['ids'])
-
- if not new_ids:
- return {}
-
- if len(new_ids)<=1:
- value = {
- 'domain': str([('id', 'in', new_ids)]),
- 'view_type': 'form',
- 'view_mode': 'form',
- 'res_model': 'sale.order',
- 'view_id': False,
- 'type': 'ir.actions.act_window',
- 'res_id': new_ids and new_ids[0]
- }
- else:
- value = {
- 'domain': str([('id', 'in', new_ids)]),
- 'view_type': 'form',
- 'view_mode': 'tree,form',
- 'res_model': 'sale.order',
- 'view_id': False,
- 'type': 'ir.actions.act_window',
- 'res_id':new_ids
- }
-
- return value
-
- states = {
- 'init': {
- 'actions': [_selectPartner],
- 'result': {'type': 'form', 'arch': sale_form, 'fields': sale_fields,
- 'state' : [('end', 'Cancel', 'gtk-cancel'),('order', 'Create', 'gtk-apply')]}
- },
- 'order': {
- 'actions': [],
- 'result': {'type': 'action', 'action': _makeOrder, 'state': 'end'}
- }
- }
-
-make_sale('crm.opportunity.make_order')
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/sale_margin/i18n/et.po b/addons/sale_margin/i18n/et.po
new file mode 100644
index 00000000000..d4178048461
--- /dev/null
+++ b/addons/sale_margin/i18n/et.po
@@ -0,0 +1,370 @@
+# Estonian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 14:28+0000\n"
+"PO-Revision-Date: 2010-06-25 18:17+0000\n"
+"Last-Translator: lyyser <logard.1961@gmail.com>\n"
+"Language-Team: Estonian <et@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-06-26 03:58+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Customer Refund"
+msgstr "Kliendi tagasimakse"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice_product
+msgid "report.account.invoice.product"
+msgstr ""
+
+#. module: sale_margin
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Objekti nimi peab algama x_'ga ja ei tohi sisaldada ühtegi erisümbolit !"
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_product
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_product
+msgid "Invoices by Product"
+msgstr ""
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Customer Invoice"
+msgstr "Kliendi arve"
+
+#. module: sale_margin
+#: wizard_view:stock.invoice_onshipping,init:0
+msgid "Create invoices"
+msgstr "Loo arved"
+
+#. module: sale_margin
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Vigane XML vaate arhitektuurile!"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice_partner_product
+msgid "report.account.invoice.partner.product"
+msgstr ""
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Supplier Invoice"
+msgstr "Tarnija arve"
+
+#. module: sale_margin
+#: field:report.account.invoice,state:0
+#: field:report.account.invoice.category,state:0
+#: field:report.account.invoice.partner,state:0
+#: field:report.account.invoice.partner.product,state:0
+#: field:report.account.invoice.product,state:0
+msgid "State"
+msgstr ""
+
+#. module: sale_margin
+#: view:stock.picking:0
+msgid "Create Invoice"
+msgstr "Loo arve"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Draft"
+msgstr "Mustand"
+
+#. module: sale_margin
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Vigane mudeli nimi toimingu definitsioonis."
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_month_product
+msgid "All Months"
+msgstr "Kõik kuud"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_product_tree_all
+msgid "report.account.invoice.partner.product.tree"
+msgstr ""
+
+#. module: sale_margin
+#: field:report.account.invoice,type:0
+#: field:report.account.invoice.category,type:0
+#: field:report.account.invoice.partner,type:0
+#: field:report.account.invoice.partner.product,type:0
+#: field:report.account.invoice.product,type:0
+#: wizard_field:stock.invoice_onshipping,init,type:0
+msgid "Type"
+msgstr "Tüüp"
+
+#. module: sale_margin
+#: wizard_field:stock.invoice_onshipping,init,journal_id:0
+msgid "Destination Journal"
+msgstr "Sihtkoha päevik"
+
+#. module: sale_margin
+#: view:stock.picking:0
+msgid "Supplier Invoices"
+msgstr "Tarnija arved"
+
+#. module: sale_margin
+#: field:report.account.invoice.partner.product,product_id:0
+#: field:report.account.invoice.product,product_id:0
+msgid "Product"
+msgstr "Toode"
+
+#. module: sale_margin
+#: view:report.account.invoice.partner:0
+msgid "Invoices by partner"
+msgstr ""
+
+#. module: sale_margin
+#: view:report.account.invoice.category:0
+msgid "Invoices by category"
+msgstr "Arved kategooria järgi"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Paid"
+msgstr "Makstud"
+
+#. module: sale_margin
+#: model:ir.actions.wizard,name:sale_margin.wizard_picking_invoice_create
+#: wizard_button:stock.invoice_onshipping,init,create_invoice:0
+msgid "Create invoice"
+msgstr "Loo arve"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_category_tree_all
+msgid "report.account.invoice.category.tree"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner_product
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner_product
+msgid "Invoices by Partner and Product"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice_category
+msgid "report.account.invoice.category"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_this_month_product
+msgid "This Month"
+msgstr "See kuu"
+
+#. module: sale_margin
+#: field:report.account.invoice.category,categ_id:0
+msgid "Categories"
+msgstr "Kategooriad"
+
+#. module: sale_margin
+#: field:account.invoice.line,cost_price:0
+#: field:report.account.invoice,cost_price:0
+#: field:report.account.invoice.category,cost_price:0
+#: field:report.account.invoice.partner,cost_price:0
+#: field:report.account.invoice.partner.product,cost_price:0
+#: field:report.account.invoice.product,cost_price:0
+#: field:sale.order.line,purchase_price:0
+msgid "Cost Price"
+msgstr "Ostuhind"
+
+#. module: sale_margin
+#: wizard_field:stock.invoice_onshipping,init,group:0
+msgid "Group by partner"
+msgstr "Grupeeri partneri järgi"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice_partner
+msgid "report.account.invoice.partner"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_partner
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_partner
+msgid "Invoices by Partner"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_category
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_category
+msgid "Invoices by Category"
+msgstr ""
+
+#. module: sale_margin
+#: view:report.account.invoice.partner.product:0
+msgid "Invoices by partner and product"
+msgstr ""
+
+#. module: sale_margin
+#: field:report.account.invoice,amount:0
+#: field:report.account.invoice.category,amount:0
+#: field:report.account.invoice.partner,amount:0
+#: field:report.account.invoice.partner.product,amount:0
+#: field:report.account.invoice.product,amount:0
+msgid "Amount"
+msgstr "Hulk"
+
+#. module: sale_margin
+#: wizard_field:stock.invoice_onshipping,init,invoice_date:0
+msgid "Invoiced date"
+msgstr "Arve kuupäeva"
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Supplier Refund"
+msgstr "Tarnija tagasimakse"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_partner_tree_all
+msgid "report.account.invoice.partner.tree"
+msgstr ""
+
+#. module: sale_margin
+#: field:report.account.invoice,margin:0
+#: field:report.account.invoice.category,margin:0
+#: field:report.account.invoice.partner,margin:0
+#: field:report.account.invoice.partner.product,margin:0
+#: field:report.account.invoice.product,margin:0
+#: field:sale.order,margin:0
+#: field:sale.order.line,margin:0
+msgid "Margin"
+msgstr "Veeris"
+
+#. module: sale_margin
+#: field:report.account.invoice,quantity:0
+#: field:report.account.invoice.category,quantity:0
+#: field:report.account.invoice.partner,quantity:0
+#: field:report.account.invoice.partner.product,quantity:0
+#: field:report.account.invoice.product,quantity:0
+msgid "Quantity"
+msgstr "Kogus"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Invoices by product"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.module.module,shortdesc:sale_margin.module_meta_information
+msgid "Margins in Sale Orders"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice
+msgid "report.account.invoice"
+msgstr ""
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_invoices
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_invoices
+#: view:report.account.invoice:0
+#: view:stock.picking:0
+#: field:stock.picking,invoice_ids:0
+msgid "Invoices"
+msgstr "Arved"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Pro-forma"
+msgstr "Pro-forma"
+
+#. module: sale_margin
+#: field:report.account.invoice,name:0
+#: field:report.account.invoice.category,name:0
+#: field:report.account.invoice.partner,name:0
+#: field:report.account.invoice.partner.product,name:0
+#: field:report.account.invoice.product,name:0
+msgid "Month"
+msgstr "Kuu"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Canceled"
+msgstr "Katkestatud"
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product
+msgid "Invoice"
+msgstr "Arve"
+
+#. module: sale_margin
+#: wizard_button:stock.invoice_onshipping,init,end:0
+msgid "Cancel"
+msgstr "Katkesta"
+
+#. module: sale_margin
+#: field:report.account.invoice.partner,partner_id:0
+#: field:report.account.invoice.partner.product,partner_id:0
+msgid "Partner"
+msgstr "Partner"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_tree_all
+msgid "report.account.invoice.tree"
+msgstr ""
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Open"
+msgstr "Ava"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_product_tree_all
+msgid "report.account.invoice.product.tree"
+msgstr ""
diff --git a/addons/scrum/scrum.py b/addons/scrum/scrum.py
index 40f17319df7..bcd67c757c4 100644
--- a/addons/scrum/scrum.py
+++ b/addons/scrum/scrum.py
@@ -108,7 +108,7 @@ class scrum_sprint(osv.osv):
'date_stop': fields.date('Ending Date', required=True),
'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 Manager', required=True,help="The person who is maintains the processes 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'),
'review': fields.text('Sprint Review'),
'retrospective': fields.text('Sprint Retrospective'),
@@ -308,9 +308,9 @@ class scrum_meeting(osv.osv):
if context is None:
context = {}
meeting_id = self.browse(cr, uid, ids)[0]
- email = meeting_id.sprint_id.scrum_master_id.user_email
- if email:
- self.email_send(cr, uid, ids, email, context=context)
+ user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+ if meeting_id and meeting_id.sprint_id.scrum_master_id.user_email:
+ self.email_send(cr, uid, ids, meeting_id.sprint_id.scrum_master_id.user_email)
else:
raise osv.except_osv(_('Error !'), _('Please provide email address for scrum master defined on sprint.'))
return True
@@ -320,9 +320,8 @@ class scrum_meeting(osv.osv):
context = {}
context.update({'button_send_product_owner': True})
meeting_id = self.browse(cr, uid, ids)[0]
- email = meeting_id.sprint_id.product_owner_id.user_email
- if email:
- self.email_send(cr, uid, ids, email, context=context)
+ if meeting_id.sprint_id.product_owner_id.user_email:
+ self.email_send(cr,uid,ids,meeting_id.sprint_id.product_owner_id.user_email)
else:
raise osv.except_osv(_('Error !'), _('Please provide email address for product owner defined on sprint.'))
return True
diff --git a/addons/scrum/scrum_view.xml b/addons/scrum/scrum_view.xml
index d6a63d4eae6..db4d5d7af81 100644
--- a/addons/scrum/scrum_view.xml
+++ b/addons/scrum/scrum_view.xml
@@ -34,7 +34,7 @@
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="grey:state in ('cancel','done');blue:state in ('pending')" string="Product Backlog">
- <field name="sequence" invisible="1"/>
+ <field name="sequence"/>
<field name="name"/>
<field name="project_id"/>
<field name="sprint_id"/>
@@ -152,7 +152,12 @@
domain="[('sprint_id','=',False)]"
help="Backlogs Not Assigned To Sprints."/>
</field>
- <field name="user_id"/>
+ <field name="user_id">
+ <filter icon="terp-project"
+ string="My Backlogs"
+ name="my_user_id"
+ domain="[('user_id','=',uid)]"/>
+ </field>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="20" groups="base.group_extended">
@@ -161,7 +166,10 @@
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
-
+ <newline/>
+ <group expand="0" string="Extended Options..." colspan="4" col="20" groups="base.group_extended">
+ <filter string="Editable" icon="terp-folder-blue" domain="[]" context="{'set_editable':'1'}"/>
+ </group>
</search>
</field>
</record>
diff --git a/addons/stock/i18n/es.po b/addons/stock/i18n/es.po
index 4b8113738fd..3b8da43d1c7 100644
--- a/addons/stock/i18n/es.po
+++ b/addons/stock/i18n/es.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-06-24 03:46+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: stock
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 0e2f5499ba6..f1348b1427a 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -1007,6 +1007,18 @@ class stock_picking(osv.osv):
}, context=context)
return res
+ def test_done(self, cr, uid, ids, context={}):
+ ok = False
+ for pick in self.browse(cr, uid, ids, context=context):
+ if not pick.move_lines:
+ return True
+ for move in pick.move_lines:
+ if move.state not in ('cancel','done'):
+ return False
+ if move.state=='done':
+ ok = True
+ return ok
+
def test_cancel(self, cr, uid, ids, context={}):
""" Test whether the move lines are canceled or not.
@return: True or False
@@ -1834,11 +1846,10 @@ class stock_move(osv.osv):
for id in ids:
wf_service.trg_trigger(uid, 'stock.move', id, cr)
- # We should remove this
picking_obj = self.pool.get('stock.picking')
- for pick in picking_obj.browse(cr, uid, picking_ids):
- if len([(move.state in ('done','cancelled')) for move in pick.move_lines]) == len(pick.move_lines):
- picking_obj.action_done(cr, uid, [pick.id])
+ wf_service = netsvc.LocalService("workflow")
+ for pick_id in picking_ids:
+ wf_service.trg_write(uid, 'stock.picking', pick_id, cr)
for (id,name) in picking_obj.name_get(cr, uid, picking_ids):
message = _('Document') + " '" + name + "' "+ _("is processed")
diff --git a/addons/stock/stock_workflow.xml b/addons/stock/stock_workflow.xml
index 1c82eac49c3..3b9db02ce1f 100644
--- a/addons/stock/stock_workflow.xml
+++ b/addons/stock/stock_workflow.xml
@@ -67,6 +67,11 @@
<field name="act_to" ref="act_assigned"/>
<field name="condition">test_assigned()</field>
</record>
+ <record id="trans_assigned_move_done" model="workflow.transition">
+ <field name="act_from" ref="act_assigned"/>
+ <field name="act_to" ref="act_move"/>
+ <field name="condition">test_done()</field>
+ </record>
<record id="trans_assigned_move" model="workflow.transition">
<field name="act_from" ref="act_assigned"/>
<field name="act_to" ref="act_move"/>
diff --git a/addons/stock_location/i18n/es.po b/addons/stock_location/i18n/es.po
index 70f2d3a33cd..cd838d6959e 100644
--- a/addons/stock_location/i18n/es.po
+++ b/addons/stock_location/i18n/es.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-06-24 03:47+0000\n"
+"X-Launchpad-Export-Date: 2010-06-26 03:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: stock_location
diff --git a/addons/wiki/test/wiki_test00.yml b/addons/wiki/test/wiki_test00.yml
index 221aeded790..48cdacab11d 100755
--- a/addons/wiki/test/wiki_test00.yml
+++ b/addons/wiki/test/wiki_test00.yml
@@ -61,7 +61,7 @@
menu_parent_id: base.menu_base_partner
page: wiki.wiki_wiki_openerpwikiediting0
-
- I will check that menu is generated properly
+ I fill in the form and create the menu
-
!python {model: wiki.create.menu}: |
ids = self.search(cr, uid, [])
diff --git a/addons/wiki/wizard/wiki_create_menu.py b/addons/wiki/wizard/wiki_create_menu.py
index 0b242e655bb..f1b28382976 100644
--- a/addons/wiki/wizard/wiki_create_menu.py
+++ b/addons/wiki/wizard/wiki_create_menu.py
@@ -23,7 +23,6 @@ from osv import fields, osv
class wiki_create_menu(osv.osv_memory):
""" Create Menu """
-
_name = "wiki.create.menu"
_description = "Wizard Create Menu"
@@ -42,9 +41,13 @@ class wiki_create_menu(osv.osv_memory):
"""
mod_obj = self.pool.get('ir.model.data')
- action_id = mod_obj._get_id(cr, uid, 'wiki', 'action_view_wiki_wiki_page_open')
-
for menu in self.browse(cr, uid, ids):
+ action_id = mod_obj._get_id(cr, uid, 'wiki', 'action_view_wiki_wiki_page_open')
+ action_id = mod_obj.copy(cr, uid, action_id, context=context, default={
+ 'domain':"[('group_id','=',"+str(context.get('active_id',False))+"]",
+ "name": menu.menu_name
+ })
+
menu_id = self.pool.get('ir.ui.menu').create(cr, uid, {
'name': menu.menu_name,
'parent_id':menu.menu_parent_id.id,
diff --git a/addons/wiki_faq/wiki_faq.xml b/addons/wiki_faq/wiki_faq.xml
index 0bf1616fdc2..fdb93660682 100644
--- a/addons/wiki_faq/wiki_faq.xml
+++ b/addons/wiki_faq/wiki_faq.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
- <data noupdate="1">
+ <data>
<record id="wiki_groups_faq" model="wiki.groups">
<field name="name">Internal FAQ</field>
<field name="method">list</field>
diff --git a/addons/wiki_quality_manual/wiki_quality_manual.xml b/addons/wiki_quality_manual/wiki_quality_manual.xml
index e8601867e4a..9ef451f8a77 100644
--- a/addons/wiki_quality_manual/wiki_quality_manual.xml
+++ b/addons/wiki_quality_manual/wiki_quality_manual.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
- <data noupdate="1">
+ <data>
<record id="wiki_quality_manual" model="wiki.wiki">
<field name="name">Quality Manual</field>
<field name="tags">quality, faq, manual</field>