summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorSanjay Gohel (Open ERP) <sgo@tinyerp.com>2012-08-06 11:12:19 +0530
committerSanjay Gohel (Open ERP) <sgo@tinyerp.com>2012-08-06 11:12:19 +0530
commit2cc02f84d245871402dabfdba67dee62bdb30fa2 (patch)
treeb39f15bc7b70e89347768b3ebacf3f7e27a23984 /addons
parentc494b78f7776f64bde8d4cdefa82f7cdda867548 (diff)
parent1da7ac2448a5e29bb43994286d3fbb8d90576d54 (diff)
[MERGE]merge with lp:~openerp-dev/openobject-addons/trunk-message-sub-type-apa
bzr revid: sgo@tinyerp.com-20120806054219-yxe9cwx4yguz7t55
Diffstat (limited to 'addons')
-rw-r--r--addons/account/account_bank_view.xml12
-rw-r--r--addons/account/account_cash_statement.py4
-rw-r--r--addons/account/account_installer.xml6
-rw-r--r--addons/account/account_invoice_view.xml89
-rw-r--r--addons/account/account_view.xml408
-rw-r--r--addons/account/data/configurable_account_chart.xml2
-rw-r--r--addons/account/i18n/es_EC.po29
-rw-r--r--addons/account/project/project_view.xml67
-rw-r--r--addons/account/report/account_analytic_entries_report_view.xml22
-rw-r--r--addons/account/report/account_entries_report_view.xml51
-rw-r--r--addons/account/report/account_invoice_report_view.xml64
-rw-r--r--addons/account/report/account_treasury_report_view.xml9
-rw-r--r--addons/account/res_config.py72
-rw-r--r--addons/account/res_config_view.xml289
-rw-r--r--addons/account/wizard/account_chart_view.xml1
-rw-r--r--addons/account/wizard/account_move_bank_reconcile_view.xml1
-rw-r--r--addons/account/wizard/account_report_partner_balance_view.xml1
-rw-r--r--addons/account/wizard/account_tax_chart_view.xml1
-rw-r--r--addons/account/wizard/account_vat_view.xml1
-rw-r--r--addons/account_accountant/__openerp__.py2
-rw-r--r--addons/account_accountant/account_accountant_data.xml24
-rw-r--r--addons/account_analytic_analysis/account_analytic_analysis_menu.xml48
-rw-r--r--addons/account_analytic_default/account_analytic_default_view.xml18
-rw-r--r--addons/account_anglo_saxon/__openerp__.py2
-rw-r--r--addons/account_asset/account_asset_invoice_view.xml29
-rw-r--r--addons/account_asset/account_asset_view.xml18
-rw-r--r--addons/account_asset/i18n/es_EC.po14
-rw-r--r--addons/account_asset/report/account_asset_report_view.xml36
-rw-r--r--addons/account_bank_statement_extensions/account_bank_statement_view.xml27
-rw-r--r--addons/account_bank_statement_extensions/i18n/tr.po382
-rw-r--r--addons/account_bank_statement_extensions/wizard/confirm_statement_line_wizard.xml1
-rw-r--r--addons/account_budget/account_budget_view.xml34
-rw-r--r--addons/account_check_writing/account_voucher_view.xml12
-rw-r--r--addons/account_check_writing/i18n/sv.po199
-rw-r--r--addons/account_coda/account_coda_view.xml71
-rw-r--r--addons/account_followup/account_followup_view.xml18
-rw-r--r--addons/account_followup/report/account_followup_report.xml30
-rw-r--r--addons/account_followup/wizard/account_followup_print_view.xml2
-rw-r--r--addons/account_payment/account_payment_view.xml39
-rw-r--r--addons/account_sequence/account_sequence_installer_view.xml1
-rw-r--r--addons/account_voucher/__openerp__.py4
-rw-r--r--addons/account_voucher/account_voucher_data.xml13
-rw-r--r--addons/account_voucher/account_voucher_view.xml24
-rw-r--r--addons/account_voucher/report/account_voucher_sales_receipt_view.xml47
-rw-r--r--addons/account_voucher/voucher_payment_receipt_view.xml131
-rw-r--r--addons/account_voucher/voucher_sales_purchase_view.xml66
-rw-r--r--addons/analytic_contract_hr_expense/__openerp__.py1
-rw-r--r--addons/anonymization/i18n/sv.po213
-rw-r--r--addons/association/profile_association.xml1
-rw-r--r--addons/audittrail/audittrail_view.xml24
-rw-r--r--addons/base_action_rule/base_action_rule_view.xml18
-rw-r--r--addons/base_calendar/base_calendar_view.xml100
-rw-r--r--addons/base_calendar/crm_meeting_view.xml31
-rw-r--r--addons/base_report_designer/base_report_designer_installer.xml1
-rw-r--r--addons/base_setup/__openerp__.py1
-rw-r--r--addons/base_setup/base_setup_views.xml85
-rw-r--r--addons/base_setup/res_config.py10
-rw-r--r--addons/base_setup/res_config_view.xml94
-rw-r--r--addons/base_setup/res_partner_view.xml1
-rw-r--r--addons/base_setup/static/src/css/base_setup.css24
-rw-r--r--addons/board/board.py72
-rw-r--r--addons/board/board_mydashboard_view.xml21
-rw-r--r--addons/board/board_view.xml35
-rw-r--r--addons/board/security/ir.model.access.csv2
-rw-r--r--addons/board/wizard/board_menu_create.py18
-rw-r--r--addons/caldav/caldav_view.xml9
-rw-r--r--addons/crm/__openerp__.py2
-rw-r--r--addons/crm/board_crm_view.xml13
-rw-r--r--addons/crm/crm_data.xml29
-rw-r--r--addons/crm/crm_lead.py12
-rw-r--r--addons/crm/crm_lead_menu.xml35
-rw-r--r--addons/crm/crm_lead_view.xml165
-rw-r--r--addons/crm/crm_phonecall_menu.xml34
-rw-r--r--addons/crm/crm_phonecall_view.xml47
-rw-r--r--addons/crm/crm_report_view.xml54
-rw-r--r--addons/crm/crm_view.xml36
-rw-r--r--addons/crm/process/crm_configuration_process.xml2
-rw-r--r--addons/crm/report/crm_lead_report_view.xml78
-rw-r--r--addons/crm/report/crm_phonecall_report_view.xml70
-rw-r--r--addons/crm/res_config.py12
-rw-r--r--addons/crm/res_config_view.xml64
-rw-r--r--addons/crm/res_partner.py8
-rw-r--r--addons/crm/res_partner_view.xml16
-rw-r--r--addons/crm_claim/crm_claim_view.xml76
-rw-r--r--addons/crm_claim/report/crm_claim_report_view.xml110
-rw-r--r--addons/crm_claim/res_config.py2
-rw-r--r--addons/crm_claim/res_config_view.xml14
-rw-r--r--addons/crm_fundraising/crm_fundraising_view.xml60
-rw-r--r--addons/crm_fundraising/report/crm_fundraising_report_view.xml88
-rw-r--r--addons/crm_helpdesk/crm_helpdesk_menu.xml13
-rw-r--r--addons/crm_helpdesk/crm_helpdesk_view.xml58
-rw-r--r--addons/crm_helpdesk/report/crm_helpdesk_report_view.xml71
-rw-r--r--addons/crm_partner_assign/crm_lead_view.xml1
-rw-r--r--addons/crm_partner_assign/report/crm_lead_report_view.xml80
-rw-r--r--addons/crm_partner_assign/report/crm_partner_report_view.xml26
-rw-r--r--addons/delivery/delivery_view.xml32
-rw-r--r--addons/document/document_view.xml21
-rw-r--r--addons/document/report/document_report_view.xml9
-rw-r--r--addons/document/wizard/document_configuration_view.xml7
-rwxr-xr-xaddons/document_ftp/ftpserver/ftpserver.py2
-rw-r--r--addons/document_ftp/res_config_view.xml1
-rw-r--r--addons/document_ftp/wizard/ftp_configuration_view.xml4
-rw-r--r--addons/document_webdav/webdav_view.xml10
-rw-r--r--addons/email_template/email_template_view.xml11
-rw-r--r--addons/event/__openerp__.py2
-rw-r--r--addons/event/event.py23
-rw-r--r--addons/event/event_data.xml17
-rw-r--r--addons/event/event_view.xml121
-rw-r--r--addons/event/report/report_event_registration.py1
-rw-r--r--addons/event/report/report_event_registration_view.xml43
-rw-r--r--addons/event/security/event_security.xml65
-rw-r--r--addons/event_moodle/wizard_moodle.xml4
-rw-r--r--addons/fetchmail/__init__.py2
-rw-r--r--addons/fetchmail/__openerp__.py2
-rw-r--r--addons/fetchmail/fetchmail_view.xml3
-rw-r--r--addons/fetchmail/i18n/pt_BR.po4
-rw-r--r--addons/google_base_account/i18n/pt_BR.po4
-rw-r--r--addons/hr/__openerp__.py2
-rw-r--r--addons/hr/hr_data.xml12
-rw-r--r--addons/hr/hr_department_view.xml23
-rw-r--r--addons/hr/hr_installer.xml15
-rw-r--r--addons/hr/hr_view.xml75
-rw-r--r--addons/hr/res_config.py18
-rw-r--r--addons/hr/res_config_view.xml85
-rw-r--r--addons/hr_attendance/hr_attendance_view.xml7
-rw-r--r--addons/hr_contract/hr_contract_view.xml21
-rw-r--r--addons/hr_evaluation/__openerp__.py2
-rw-r--r--addons/hr_evaluation/hr_evaluation_data.xml18
-rw-r--r--addons/hr_evaluation/hr_evaluation_installer.xml11
-rw-r--r--addons/hr_evaluation/hr_evaluation_view.xml64
-rw-r--r--addons/hr_evaluation/report/hr_evaluation_report.py1
-rw-r--r--addons/hr_evaluation/report/hr_evaluation_report_view.xml22
-rw-r--r--addons/hr_expense/hr_expense_data.xml9
-rw-r--r--addons/hr_expense/hr_expense_installer_view.xml13
-rw-r--r--addons/hr_expense/hr_expense_view.xml47
-rw-r--r--addons/hr_expense/report/hr_expense_report_view.xml65
-rw-r--r--addons/hr_holidays/__openerp__.py2
-rw-r--r--addons/hr_holidays/hr_holidays_data.xml18
-rw-r--r--addons/hr_holidays/hr_holidays_view.xml62
-rw-r--r--addons/hr_payroll/hr_payroll_view.xml68
-rw-r--r--addons/hr_payroll/i18n/he.po1119
-rw-r--r--addons/hr_payroll/res_config.py2
-rw-r--r--addons/hr_payroll/res_config_view.xml8
-rw-r--r--addons/hr_payroll_account/hr_payroll_account_view.xml3
-rw-r--r--addons/hr_recruitment/__openerp__.py2
-rw-r--r--addons/hr_recruitment/hr_recruitment_data.xml9
-rw-r--r--addons/hr_recruitment/hr_recruitment_menu.xml15
-rw-r--r--addons/hr_recruitment/hr_recruitment_view.xml167
-rw-r--r--addons/hr_recruitment/report/hr_recruitment_report_view.xml47
-rw-r--r--addons/hr_recruitment/res_config.py4
-rw-r--r--addons/hr_recruitment/res_config_view.xml28
-rw-r--r--addons/hr_timesheet/hr_timesheet_view.xml22
-rw-r--r--addons/hr_timesheet_invoice/hr_timesheet_invoice.py19
-rw-r--r--addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml32
-rw-r--r--addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml52
-rw-r--r--addons/hr_timesheet_invoice/report/report_analytic_view.xml11
-rw-r--r--addons/hr_timesheet_sheet/__openerp__.py4
-rw-r--r--addons/hr_timesheet_sheet/hr_timesheet_sheet_data.xml4
-rw-r--r--addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml36
-rw-r--r--addons/hr_timesheet_sheet/report/hr_timesheet_report_view.xml23
-rw-r--r--addons/hr_timesheet_sheet/report/timesheet_report_view.xml37
-rw-r--r--addons/hr_timesheet_sheet/res_config.py4
-rw-r--r--addons/hr_timesheet_sheet/res_config_view.xml25
-rw-r--r--addons/idea/idea_view.xml18
-rw-r--r--addons/import_base/i18n/pt_BR.po105
-rw-r--r--addons/knowledge/res_config.py12
-rw-r--r--addons/knowledge/res_config_view.xml44
-rw-r--r--addons/l10n_ar/__openerp__.py1
-rw-r--r--addons/l10n_ar/l10n_ar_wizard.xml1
-rw-r--r--addons/l10n_be/l10n_be_wizard.yml1
-rw-r--r--addons/l10n_ca/__openerp__.py2
-rw-r--r--addons/l10n_ca/account_chart_en.xml166
-rw-r--r--addons/l10n_ca/account_chart_fr.xml174
-rw-r--r--addons/l10n_ca/account_tax_code_en.xml18
-rw-r--r--addons/l10n_ca/account_tax_code_fr.xml16
-rw-r--r--addons/l10n_ca/account_tax_en.xml479
-rw-r--r--addons/l10n_ca/account_tax_fr.xml475
-rw-r--r--addons/l10n_ca/account_types_en.xml64
-rw-r--r--addons/l10n_ca/account_types_fr.xml79
-rw-r--r--addons/l10n_ca/fiscal_templates_en.xml710
-rw-r--r--addons/l10n_ca/fiscal_templates_fr.xml522
-rw-r--r--addons/l10n_ca/l10n_ca_wizard.xml1
-rw-r--r--addons/l10n_ch/__openerp__.py2
-rw-r--r--addons/l10n_ch/test/l10n_ch_dta.yml4
-rw-r--r--addons/l10n_cl/__openerp__.py1
-rw-r--r--addons/l10n_cl/l10n_cl_wizard.xml1
-rw-r--r--addons/l10n_cn/l10n_chart_cn_wizard.xml1
-rw-r--r--addons/l10n_cr/l10n_wizard.xml1
-rw-r--r--addons/l10n_de/l10n_de_wizard.xml1
-rw-r--r--addons/l10n_ec/l10n_chart_ec_wizard.xml1
-rw-r--r--addons/l10n_es/l10n_es_wizard.xml1
-rw-r--r--addons/l10n_fr/l10n_fr_wizard.xml1
-rw-r--r--addons/l10n_gr/l10n_gr_wizard.xml1
-rw-r--r--addons/l10n_gt/l10n_gt_base.xml1
-rw-r--r--addons/l10n_in/l10n_in_wizard.xml1
-rw-r--r--addons/l10n_it/l10n_chart_it_generic.xml1
-rw-r--r--addons/l10n_lu/l10n_lu_wizard.xml1
-rw-r--r--addons/l10n_ma/l10n_ma_wizard.xml1
-rw-r--r--addons/l10n_mx/l10n_chart_mx_wizard.xml1
-rw-r--r--addons/l10n_nl/l10n_nl_wizard.xml1
-rw-r--r--addons/l10n_pe/l10n_pe_wizard.xml1
-rw-r--r--addons/l10n_pl/l10n_chart_pl_wizard.xml1
-rw-r--r--addons/l10n_ro/l10n_chart_ro_wizard.xml1
-rw-r--r--addons/l10n_th/account_data.xml1
-rw-r--r--addons/l10n_tr/l10n_tr_wizard.xml1
-rw-r--r--addons/l10n_us/l10n_us_wizard.xml1
-rw-r--r--addons/l10n_uy/l10n_uy_wizard.xml3
-rw-r--r--addons/l10n_ve/l10n_chart_ve_wizard.xml1
-rw-r--r--addons/lunch/i18n/nl.po552
-rw-r--r--addons/lunch/lunch.py2
-rw-r--r--addons/lunch/lunch_installer_view.xml26
-rw-r--r--addons/lunch/lunch_view.xml20
-rw-r--r--addons/lunch/report/report_lunch_order_view.xml7
-rw-r--r--addons/mail/__openerp__.py2
-rw-r--r--addons/mail/data/mail_demo.xml16
-rw-r--r--addons/mail/mail_group_view.xml1
-rw-r--r--addons/mail/mail_message_view.xml11
-rw-r--r--addons/mail/mail_thread_view.xml3
-rw-r--r--addons/mail/static/src/css/mail.css6
-rw-r--r--addons/mail/static/src/js/mail.js17
-rw-r--r--addons/mail/static/src/xml/mail.xml21
-rw-r--r--addons/marketing/res_config_view.xml24
-rw-r--r--addons/marketing_campaign/marketing_campaign_demo.xml6
-rw-r--r--addons/marketing_campaign/marketing_campaign_view.xml115
-rw-r--r--addons/marketing_campaign/marketing_campaign_workflow.xml29
-rw-r--r--addons/marketing_campaign/report/campaign_analysis_view.xml31
-rw-r--r--addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml16
-rw-r--r--addons/membership/membership.py2
-rw-r--r--addons/membership/membership_view.xml19
-rw-r--r--addons/membership/report/report_membership_view.xml20
-rw-r--r--addons/mrp/__openerp__.py2
-rw-r--r--addons/mrp/mrp_data.xml9
-rw-r--r--addons/mrp/mrp_view.xml205
-rw-r--r--addons/mrp/report/mrp_report_view.xml3
-rw-r--r--addons/mrp/res_config.py22
-rw-r--r--addons/mrp/res_config_view.xml84
-rw-r--r--addons/mrp_operations/mrp_operations_view.xml84
-rw-r--r--addons/mrp_operations/mrp_operations_workflow.xml186
-rw-r--r--addons/mrp_operations/report/mrp_workorder_analysis_view.xml28
-rw-r--r--addons/mrp_repair/i18n/mn.po819
-rw-r--r--addons/mrp_repair/mrp_repair_view.xml41
-rw-r--r--addons/multi_company/res_company_view.xml5
-rw-r--r--addons/plugin_outlook/plugin_outlook.xml12
-rw-r--r--addons/plugin_thunderbird/plugin_thunderbird.xml12
-rw-r--r--addons/point_of_sale/__openerp__.py2
-rw-r--r--addons/point_of_sale/account_statement_view.xml34
-rw-r--r--addons/point_of_sale/point_of_sale_data.xml22
-rw-r--r--addons/point_of_sale/point_of_sale_view.xml52
-rw-r--r--addons/point_of_sale/report/pos_order_report_view.xml45
-rw-r--r--addons/point_of_sale/security/point_of_sale_security.xml6
-rw-r--r--addons/portal/__openerp__.py18
-rw-r--r--addons/portal/portal.py30
-rw-r--r--addons/portal/portal_data.xml35
-rw-r--r--addons/portal/portal_demo.xml46
-rw-r--r--addons/portal/portal_view.xml69
-rw-r--r--addons/portal/res_user.py2
-rw-r--r--addons/portal/res_user_view.xml2
-rw-r--r--addons/portal/security/portal_security.xml6
-rw-r--r--addons/portal_claim/__openerp__.py6
-rw-r--r--addons/portal_claim/security/portal_security.xml2
-rw-r--r--addons/portal_crm/__openerp__.py12
-rw-r--r--addons/portal_crm/security/ir.model.access.csv2
-rw-r--r--addons/portal_crm/static/src/css/portal_crm.css42
-rw-r--r--addons/portal_crm/wizard/contact.py94
-rw-r--r--addons/portal_crm/wizard/contact_view.xml83
-rw-r--r--addons/portal_event/__init__.py1
-rw-r--r--addons/portal_event/__openerp__.py3
-rw-r--r--addons/portal_event/event.py39
-rw-r--r--addons/portal_event/event_view.xml23
-rw-r--r--addons/portal_event/portal_event_view.xml2
-rw-r--r--addons/portal_event/security/portal_security.xml8
-rw-r--r--addons/portal_hr_employees/__init__.py22
-rw-r--r--addons/portal_hr_employees/__openerp__.py46
-rw-r--r--addons/portal_hr_employees/hr_employee.py57
-rw-r--r--addons/portal_hr_employees/hr_employee_view.xml62
-rw-r--r--addons/portal_hr_employees/security/ir.model.access.csv6
-rw-r--r--addons/portal_hr_employees/static/src/css/portal_hr_employees.css14
-rw-r--r--addons/portal_hr_recruitment/__openerp__.py5
-rw-r--r--addons/portal_hr_recruitment/portal_jobs_view.xml4
-rw-r--r--addons/portal_project/__openerp__.py4
-rw-r--r--addons/portal_project/security/ir.model.access.csv1
-rw-r--r--addons/portal_project/security/portal_security.xml2
-rw-r--r--addons/portal_project_issue/__openerp__.py5
-rw-r--r--addons/portal_project_issue/portal_project_issue_view.xml72
-rw-r--r--addons/portal_project_issue/security/ir.model.access.csv3
-rw-r--r--addons/portal_project_issue/security/portal_security.xml4
-rw-r--r--addons/portal_project_issue/static/src/css/portal_project_issue.css32
-rw-r--r--addons/portal_sale/portal_sale_view.xml19
-rw-r--r--addons/portal_sale/security/ir.model.access.csv1
-rw-r--r--addons/portal_sale/security/portal_security.xml20
-rw-r--r--addons/process/process_view.xml27
-rw-r--r--addons/procurement/procurement_view.xml55
-rw-r--r--addons/product/pricelist_view.xml43
-rw-r--r--addons/product/product_view.xml101
-rw-r--r--addons/product_visible_discount/product_visible_discount_view.xml7
-rw-r--r--addons/project/project.py31
-rw-r--r--addons/project/project_data.xml10
-rw-r--r--addons/project/project_demo.xml185
-rw-r--r--addons/project/project_view.xml129
-rw-r--r--addons/project/report/project_cumulative.xml29
-rw-r--r--addons/project/report/project_report_view.xml60
-rw-r--r--addons/project/res_config.py20
-rw-r--r--addons/project/res_config_view.xml88
-rw-r--r--addons/project/res_partner_view.xml2
-rw-r--r--addons/project/static/src/js/project.js70
-rw-r--r--addons/project_gtd/project_gtd_data.xml7
-rw-r--r--addons/project_gtd/project_gtd_view.xml2
-rw-r--r--addons/project_issue/__openerp__.py7
-rw-r--r--addons/project_issue/board_project_issue_view.xml2
-rw-r--r--addons/project_issue/project_issue.py38
-rw-r--r--addons/project_issue/project_issue_data.xml13
-rw-r--r--addons/project_issue/project_issue_demo.xml469
-rw-r--r--addons/project_issue/project_issue_menu.xml10
-rw-r--r--addons/project_issue/project_issue_view.xml252
-rw-r--r--addons/project_issue/report/project_issue_report.py4
-rw-r--r--addons/project_issue/report/project_issue_report_view.xml82
-rw-r--r--addons/project_issue/res_config.py2
-rw-r--r--addons/project_issue/res_config_view.xml25
-rw-r--r--addons/project_issue/static/src/js/project_issue.js13
-rw-r--r--addons/project_long_term/project_long_term_view.xml83
-rw-r--r--addons/project_timesheet/project_timesheet_view.xml26
-rw-r--r--addons/project_timesheet/report/task_report.py20
-rw-r--r--addons/project_timesheet/report/task_report_view.xml9
-rw-r--r--addons/purchase/__openerp__.py2
-rw-r--r--addons/purchase/purchase_data.xml11
-rw-r--r--addons/purchase/purchase_view.xml148
-rw-r--r--addons/purchase/report/purchase_report_view.xml27
-rw-r--r--addons/purchase/res_config.py22
-rw-r--r--addons/purchase/res_config_view.xml103
-rw-r--r--addons/purchase/stock_view.xml49
-rw-r--r--addons/purchase_double_validation/purchase_double_validation_installer.py2
-rw-r--r--addons/purchase_double_validation/purchase_double_validation_installer.xml10
-rw-r--r--addons/purchase_requisition/purchase_requisition_view.xml37
-rw-r--r--addons/report_intrastat/report_intrastat_view.xml10
-rw-r--r--addons/resource/resource_view.xml43
-rw-r--r--addons/sale/__openerp__.py2
-rw-r--r--addons/sale/i18n/mn.po10
-rw-r--r--addons/sale/report/sale_report_view.xml52
-rw-r--r--addons/sale/res_config.py46
-rw-r--r--addons/sale/res_config_view.xml164
-rw-r--r--addons/sale/res_partner.py8
-rw-r--r--addons/sale/res_partner_view.xml19
-rw-r--r--addons/sale/sale_data.xml16
-rw-r--r--addons/sale/sale_view.xml85
-rw-r--r--addons/sale/wizard/sale_make_invoice_advance.py2
-rw-r--r--addons/sale_crm/i18n/ja.po32
-rw-r--r--addons/sale_crm/sale_crm_view.xml3
-rw-r--r--addons/sale_crm/wizard/crm_make_sale.py2
-rw-r--r--addons/sale_margin/i18n/ja.po14
-rw-r--r--addons/share/res_users_view.xml8
-rw-r--r--addons/signup/res_config.py2
-rw-r--r--addons/signup/res_config.xml18
-rw-r--r--addons/signup/signup.xml3
-rw-r--r--addons/stock/__openerp__.py2
-rw-r--r--addons/stock/product_view.xml52
-rw-r--r--addons/stock/report/report_stock_move_view.xml69
-rw-r--r--addons/stock/report/report_stock_view.xml12
-rw-r--r--addons/stock/res_config.py28
-rw-r--r--addons/stock/res_config_view.xml96
-rw-r--r--addons/stock/stock.py8
-rw-r--r--addons/stock/stock_data.xml6
-rw-r--r--addons/stock/stock_demo.xml47
-rw-r--r--addons/stock/stock_view.xml442
-rw-r--r--addons/stock/wizard/stock_location_product.py7
-rw-r--r--addons/stock/wizard/stock_location_product_view.xml7
-rw-r--r--addons/stock_planning/i18n/ja.po8
-rw-r--r--addons/stock_planning/stock_planning_view.xml14
-rw-r--r--addons/subscription/subscription_view.xml39
-rw-r--r--addons/survey/survey_view.xml61
-rw-r--r--addons/wiki/wiki_view.xml4
370 files changed, 11164 insertions, 6231 deletions
diff --git a/addons/account/account_bank_view.xml b/addons/account/account_bank_view.xml
index 6ee69184ce1..4b3436c8a51 100644
--- a/addons/account/account_bank_view.xml
+++ b/addons/account/account_bank_view.xml
@@ -42,7 +42,17 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{'default_partner_id':ref('base.main_partner'), 'company_hide':False, 'default_company_id':ref('base.main_company'), 'search_default_my_bank':1}"/>
- <field name="help">Configure your company's bank account and select those that must appear on the report footer. You can reorder banks in the list view. If you use the accounting application of OpenERP, journals and accounts will be created automatically based on these data.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to setup a new bank account.
+ </p><p>
+ Configure your company's bank account and select those that must
+ appear on the report footer.
+ </p><p>
+ If you use the accounting application of OpenERP, journals and
+ accounts will be created automatically based on these data.
+ </p>
+ </field>
</record>
<menuitem
sequence="0"
diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py
index 927ce94db31..ae225cc60de 100644
--- a/addons/account/account_cash_statement.py
+++ b/addons/account/account_cash_statement.py
@@ -32,7 +32,7 @@ class account_cashbox_line(osv.osv):
_name = 'account.cashbox.line'
_description = 'CashBox Line'
- _rec_name = 'number'
+ _rec_name = 'pieces'
def _sub_total(self, cr, uid, ids, name, arg, context=None):
@@ -325,7 +325,7 @@ account_journal()
class account_journal_cashbox_line(osv.osv):
_name = 'account.journal.cashbox.line'
- _rec_name = 'value'
+ _rec_name = 'pieces'
_columns = {
'pieces': fields.float('Values', digits_compute=dp.get_precision('Account')),
'journal_id' : fields.many2one('account.journal', 'Journal', required=True, select=1),
diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml
index 8e2526c3f97..e8937f689a3 100644
--- a/addons/account/account_installer.xml
+++ b/addons/account/account_installer.xml
@@ -40,14 +40,8 @@
<field name="target">new</field>
</record>
- <record id="category_accounting_configuration" model="ir.actions.todo.category">
- <field name="name">Accounting</field>
- <field name="sequence">5</field>
- </record>
-
<record id="account_configuration_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_account_configuration_installer"/>
- <field name="category_id" ref="category_accounting_configuration"/>
<field name="sequence">3</field>
<field name="type">automatic</field>
</record>
diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml
index 393c468c952..501a50b96c2 100644
--- a/addons/account/account_invoice_view.xml
+++ b/addons/account/account_invoice_view.xml
@@ -442,32 +442,22 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Invoice">
- <group>
- <field name="number"
- string="Invoice"
- filter_domain="['|', ('number','ilike',self),('origin','ilike',self)]"/>
- <separator orientation="vertical"/>
- <filter name="draft" icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/>
- <filter name="proforma" icon="terp-gtk-media-pause" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices" groups="account.group_proforma_invoices"/>
- <filter name="invoices" icon="terp-dolar" string="Invoices" domain="[('state','not in',['draft','cancel'])]" help="Proforma/Open/Paid Invoices"/>
- <separator orientation="vertical"/>
- <filter name="unpaid" icon="terp-dolar_ok!" string="Unpaid" domain="[('state','=','open')]" help="Unpaid Invoices"/>
- <separator orientation="vertical"/>
- <filter domain="[('user_id','=',uid)]" help="My Invoices" icon="terp-personal"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="user_id" widget="selection" string="Salesperson"/>
- <field name="journal_id" widget="selection"/>
- <field name="period_id" string="Period"/>
- </group>
- <newline/>
+ <field name="number" string="Invoice" filter_domain="['|', ('number','ilike',self),('origin','ilike',self)]"/>
+ <filter name="draft" icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/>
+ <filter name="proforma" icon="terp-gtk-media-pause" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices" groups="account.group_proforma_invoices"/>
+ <filter name="invoices" icon="terp-dolar" string="Invoices" domain="[('state','not in',['draft','cancel'])]" help="Proforma/Open/Paid Invoices"/>
+ <filter name="unpaid" icon="terp-dolar_ok!" string="Unpaid" domain="[('state','=','open')]" help="Unpaid Invoices"/>
+ <separator/>
+ <filter domain="[('user_id','=',uid)]" help="My Invoices" icon="terp-personal"/>
+ <field name="partner_id"/>
+ <field name="user_id" string="Salesperson"/>
+ <field name="journal_id"/>
+ <field name="period_id" string="Period"/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
<filter string="Invoice Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_invoice'}"/>
<filter string="Due Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_due'}"/>
@@ -519,11 +509,18 @@
<field name="domain">[('type','=','out_invoice')]</field>
<field name="context">{'default_type':'out_invoice', 'type':'out_invoice', 'journal_type': 'sale'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
- <field name="help">
- Click here to create a new Invoice.
- &lt;p&gt;
- An invoice can be generated automatically from a sale order or a delivery order.
- The invoice can be send by email.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a customer invoice.
+ </p><p>
+ OpenERP's electronic invoicing allows to ease and fasten the
+ collection of customer payments. Your customer receives the
+ invoice by email and he can pay online and/or import it
+ in his own system.
+ </p><p>
+ The discussions with your customer are automatically displayed at
+ the bottom of each invoice.
+ </p>
</field>
</record>
@@ -552,11 +549,14 @@
<field name="domain">[('type','=','in_invoice')]</field>
<field name="context">{'default_type': 'in_invoice', 'type': 'in_invoice', 'journal_type': 'purchase'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
- <field name="help">
- Click here to create Supplier invoice.
- &lt;p&gt;
- You can control the invoice from your supplier according to what you purchased or received.
- OpenERP can also generate draft invoices automatically from purchase orders or receipts.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to record a new supplier invoice.
+ </p><p>
+ You can control the invoice from your supplier according to
+ what you purchased or received. OpenERP can also generate
+ draft invoices automatically from purchase orders or receipts.
+ </p>
</field>
</record>
<menuitem action="action_invoice_tree2" id="menu_action_invoice_tree2" parent="menu_finance_payables"/>
@@ -570,11 +570,16 @@
<field name="domain">[('type','=','out_refund')]</field>
<field name="context">{'default_type':'out_refund', 'type':'out_refund', 'journal_type': 'sale_refund'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
- <field name="help">
- Click here to create a new customer refund.
- &lt;p&gt;
- A refund is a document that credits an invoice completely or partially.
- You can also generate refunds and reconcile them directly from the invoice form.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a customer refund.
+ </p><p>
+ A refund is a document that credits an invoice completely or
+ partially.
+ </p><p>
+ Instead of manually creating a customer refund, you
+ can generate it directly from the related customer invoice.
+ </p>
</field>
</record>
@@ -601,11 +606,13 @@
<field name="domain">[('type','=','in_refund')]</field>
<field name="context">{'default_type': 'in_refund', 'type': 'in_refund', 'journal_type': 'purchase_refund'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
- <field name="help">
- Click here to create a new supplier refund.
- &lt;p&gt;
- Track refunds you receive from your suppliers.
- You can also generate refunds and reconcile them directly from the invoice form.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to register a refund you received from a supplier.
+ </p><p>
+ Instead of creating the supplier refund manually, you can generate
+ refunds and reconcile them directly from the related supplier invoice.
+ </p>
</field>
</record>
<menuitem action="action_invoice_tree4" id="menu_action_invoice_tree4" parent="menu_finance_payables"/>
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index d342dc5d3b9..24d21cff3e8 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -63,15 +63,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Fiscalyear">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Fiscal Year"/>
- <separator orientation="vertical"/>
- <filter string="Open" domain="[('state','=','draft')]" icon="terp-camera_test"/>
- <filter string="Closed" domain="[('state','=','done')]" icon="terp-dialog-close"/>
- <separator orientation="vertical"/>
- <field name="state"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Fiscal Year"/>
+ <filter string="Open" domain="[('state','=','draft')]" icon="terp-camera_test"/>
+ <filter string="Closed" domain="[('state','=','done')]" icon="terp-dialog-close"/>
+ <field name="state"/>
<group expand="0" string="Group By...">
<filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
</group>
@@ -83,7 +78,19 @@
<field name="res_model">account.fiscalyear</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">Define your company's financial year according to your needs. A financial year is a period at the end of which a company's accounts are made up (usually 12 months). The financial year is usually referred to by the date in which it ends. For example, if a company's financial year ends November 30, 2011, then everything between December 1, 2010 and November 30, 2011 would be referred to as FY 2011. You are not obliged to follow the actual calendar year.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to start a new fiscal year.
+ </p><p>
+ Define your company's financial year according to your needs. A
+ financial year is a period at the end of which a company's
+ accounts are made up (usually 12 months). The financial year is
+ usually referred to by the date in which it ends. For example,
+ if a company's financial year ends November 30, 2011, then
+ everything between December 1, 2010 and November 30, 2011
+ would be referred to as FY 2011.
+ </p>
+ </field>
</record>
<menuitem id="next_id_23" name="Periods" parent="account.menu_finance_configuration" sequence="5" />
<menuitem action="action_account_fiscalyear_form" id="menu_action_account_fiscalyear_form" parent="next_id_23"/>
@@ -146,11 +153,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Period">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Period"/>
- <separator orientation="vertical"/>
- <filter string="To Close" name="draft" domain="[('state','=','draft')]" icon="terp-dialog-close"/>
- </group>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Period"/>
+ <filter string="To Close" name="draft" domain="[('state','=','draft')]" icon="terp-dialog-close"/>
</search>
</field>
</record>
@@ -161,7 +165,14 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_draft': 1}</field>
- <field name="help">Here you can define a financial period, an interval of time in your company's financial year. An accounting period typically is a month or a quarter. It usually corresponds to the periods of the tax declaration. Create and manage periods from here and decide whether a period should be closed or left open depending on your company's activities over a specific period.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a fiscal period.
+ </p><p>
+ An accounting period typically is a month or a quarter. It
+ usually corresponds to the periods of the tax declaration.
+ </p>
+ </field>
</record>
<menuitem action="action_account_period_form" id="menu_action_account_period_form" parent="account.next_id_23" groups="base.group_no_one"/>
@@ -217,18 +228,12 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Accounts">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Account"/>
- <separator orientation="vertical"/>
- <filter icon="terp-sale" string="Receivable Accounts" domain="[('type','=','receivable')]"/>
- <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
- <separator orientation="vertical"/>
- <field name="user_type"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Account"/>
+ <filter icon="terp-sale" string="Receivable Accounts" domain="[('type','=','receivable')]"/>
+ <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
+ <field name="user_type"/>
<group expand="0" string="Group By...">
<filter string="Parent Account" icon="terp-folder-orange" domain="" context="{'group_by':'parent_id'}"/>
- <separator orientation="vertical"/>
<filter string="Account Type" icon="terp-stock_symbol-selection" domain="" context="{'group_by':'user_type'}"/>
<filter string="Internal Type" icon="terp-stock_symbol-selection" domain="" context="{'group_by':'type'}"/>
</group>
@@ -274,7 +279,18 @@
<field name="view_mode">tree,form,graph</field>
<field name="search_view_id" ref="view_account_search"/>
<field name="view_id" ref="view_account_list"/>
- <field name="help">Create and manage the accounts you need to record journal entries. An account is part of a ledger allowing your company to register all kinds of debit and credit transactions. Companies present their annual accounts in two main parts: the balance sheet and the income statement (profit and loss account). The annual accounts of a company are required by law to disclose a certain amount of information. They have to be certified by an external auditor annually.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add an account.
+ </p><p>
+ An account is part of a ledger allowing your company
+ to register all kinds of debit and credit transactions.
+ Companies present their annual accounts in two main parts: the
+ balance sheet and the income statement (profit and loss
+ account). The annual accounts of a company are required by law
+ to disclose a certain amount of information.
+ </p>
+ </field>
</record>
<menuitem id="account_account_menu" name="Accounts" parent="account.menu_finance_configuration" sequence="15"/>
<menuitem action="action_account_form" id="menu_action_account_form" parent="account_account_menu"/>
@@ -334,7 +350,17 @@
<field name="view_mode">tree</field>
<field name="view_id" ref="view_account_gain_loss_tree"/>
<field name="domain">[('currency_id','!=',False)]</field>
- <field name="help">When doing multi-currency transactions, you may loose or gain some amount due to changes of exchange rate. This menu gives you a forecast of the Gain or Loss you'd realized if those transactions were ended today. Only for accounts having a secondary currency set.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add an account.
+ </p><p>
+ When doing multi-currency transactions, you may loose or gain
+ some amount due to changes of exchange rate. This menu gives
+ you a forecast of the Gain or Loss you'd realized if those
+ transactions were ended today. Only for accounts having a
+ secondary currency set.
+ </p>
+ </field>
</record>
<menuitem
@@ -411,7 +437,18 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_account_journal_view_search"/>
- <field name="help">Here you can customize an existing journal view or create a new view. Journal views determine the way you can record entries in your journal. Select the fields you want to appear in a journal and determine the sequence in which they will appear. Then you can create a new journal and link your view to it.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to specify lists of columns to display for a type of journal.
+ </p><p>
+ Journal views determine the way you can record entries in
+ your journal. Select the fields you want to appear in a journal
+ and determine the sequence in which they will appear.
+ </p><p>
+ On the journal definition form, you can select the view you
+ want to use to display journal items related to this journal.
+ </p>
+ </field>
</record>
<menuitem action="action_account_journal_view" id="menu_action_account_journal_view" parent="account.menu_journals" sequence="20"/>
@@ -440,21 +477,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Account Journal">
- <group>
<field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Journal"/>
- <separator orientation="vertical"/>
<filter domain="['|', ('type', '=', 'sale'), ('type', '=', 'sale_refund')]" string="Sale" icon="terp-camera_test"/>
<filter domain="['|', ('type', '=', 'purchase'), ('type', '=', 'purchase_refund')]" string="Purchase" icon="terp-purchase"/>
<filter domain="['|', ('type', '=', 'cash'), ('type', '=', 'bank')]" string="Liquidity" icon="terp-dolar"/>
<filter domain="['|', ('type', '=', 'general'), ('type', '=', 'situation')]" string="Others" icon="terp-stock"/>
- <separator orientation="vertical"/>
<field name="user_id"/>
- </group>
- <newline/>
<group expand="0" string="Group By...">
- <filter string="User" context="{'group_by':'user_id'}" icon="terp-personal"/>
- <separator orientation="vertical"/>
- <filter string="Type" context="{'group_by':'type'}" icon="terp-stock_symbol-selection"/>
+ <filter string="User" context="{'group_by':'user_id'}" icon="terp-personal"/>
+ <filter string="Type" context="{'group_by':'type'}" icon="terp-stock_symbol-selection"/>
</group>
</search>
</field>
@@ -532,7 +563,18 @@
<field name="res_model">account.journal</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">Create and manage your company's journals from this menu. A journal is used to record transactions of all accounting data related to the day-to-day business of your company using double-entry bookkeeping system. Depending on the nature of its activities and the number of daily transactions, a company may keep several types of specialized journals such as a cash journal, purchase journal, sales journal...</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a journal.
+ </p><p>
+ A journal is used to record transactions of all accounting data
+ related to the day-to-day business.
+ </p><p>
+ A typical company may use one journal per payment method (cash,
+ bank accounts, checks), one purchase journal, one sale journal
+ and one for miscellaneous information.
+ </p>
+ </field>
</record>
<menuitem action="action_account_journal_form" id="menu_action_account_journal_form" parent="menu_journals"/>
@@ -542,22 +584,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Bank Statements">
- <group>
- <field name="name" string="Bank Statement"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter string="Draft" name="state_draft" domain="[('state','=','draft')]" icon="terp-document-new"/>
- <filter string="Open" name="state_open" domain="[('state','=','open')]" icon="terp-check"/>
- <filter string="Confirmed" name="state_confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test"/>
- <separator orientation="vertical"/>
- <field name="journal_id" widget='selection' domain="[('type', '=', 'cash')]" />
- </group>
- <newline/>
+ <field name="name" string="Bank Statement"/>
+ <field name="date"/>
+ <filter string="Draft" name="state_draft" domain="[('state','=','draft')]" icon="terp-document-new"/>
+ <filter string="Open" name="state_open" domain="[('state','=','open')]" icon="terp-check"/>
+ <filter string="Confirmed" name="state_confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test"/>
+ <field name="journal_id" domain="[('type', '=', 'cash')]" />
<group expand="0" string="Group By...">
<filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/>
<filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
- <separator orientation="vertical"/>
<filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/>
</group>
</search>
@@ -587,22 +622,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Bank Statements">
- <group>
- <field name="name" string="Bank Statement"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/>
- <filter string="Confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test"/>
- <separator orientation="vertical"/>
- <field name="period_id"/>
- <field name="journal_id" widget="selection" domain="[('type', '=', 'bank')]" />
- </group>
- <newline/>
+ <field name="name" string="Bank Statement"/>
+ <field name="date"/>
+ <filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/>
+ <filter string="Confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test"/>
+ <field name="period_id"/>
+ <field name="journal_id" domain="[('type', '=', 'bank')]" />
<group expand="0" string="Group By...">
<filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/>
<filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
- <separator orientation="vertical"/>
<filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/>
</group>
</search>
@@ -696,7 +724,18 @@
<field name="domain">[('journal_id.type', '=', 'bank')]</field>
<field name="context">{'journal_type':'bank'}</field>
<field name="search_view_id" ref="view_bank_statement_search"/>
- <field name="help">A bank statement is a summary of all financial transactions occurring over a given period of time on a deposit account, a credit card or any other type of financial account. The starting balance will be proposed automatically and the closing balance is to be found on your statement. When you are in the Payment column of a line, you can press F1 to open the reconciliation form.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to register a bank statement.
+ </p><p>
+ A bank statement is a summary of all financial transactions
+ occurring over a given period of time on a bank account. You
+ should receive this periodicaly from your bank.
+ </p><p>
+ OpenERP allows you to reconcile a statement line directly with
+ the related sale or puchase invoices.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="action_bank_statement_tree_bank">
<field name="sequence" eval="1"/>
@@ -775,7 +814,17 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_account_type_search"/>
- <field name="help">An account type is used to determine how an account is used in each journal. The deferral method of an account type determines the process for the annual closing. Reports such as the Balance Sheet and the Profit and Loss report use the category (profit/loss or balance sheet). For example, the account type could be linked to an asset account, expense account or payable account. From this view, you can create and manage the account types you need for your company.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new account type.
+ </p><p>
+ An account type is used to determine how an account is used in
+ each journal. The deferral method of an account type determines
+ the process for the annual closing. Reports such as the Balance
+ Sheet and the Profit and Loss report use the category
+ (profit/loss or balance sheet).
+ </p>
+ </field>
</record>
<menuitem action="action_account_type_form" sequence="20" id="menu_action_account_type_form" parent="account_account_menu" groups="base.group_no_one"/>
<!--
@@ -833,7 +882,7 @@
<search string="Account Tax Code">
<field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Tax Code"/>
<field name="parent_id"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
</record>
@@ -887,7 +936,16 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_tax_code_tree"/>
<field name="search_view_id" ref="view_tax_code_search"/>
- <field name="help">The tax code definition depends on the tax declaration of your country. OpenERP allows you to define the tax structure and manage it from this menu. You can define both numeric and alphanumeric tax codes.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new tax code.
+ </p><p>
+ Depending on the country, a tax code is usually a cell to fill
+ in your legal tax statement. OpenERP allows you to define the
+ tax structure and each tax computation will be registered in
+ one or several tax code.
+ </p>
+ </field>
</record>
<menuitem id="next_id_27" name="Taxes" parent="account.menu_finance_configuration" sequence="20"/>
<menuitem action="action_tax_code_list" id="menu_action_tax_code_list" parent="next_id_27" sequence="12" groups="base.group_no_one"/>
@@ -916,10 +974,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Taxes">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('description','ilike',self)]" string="Tax"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- </group>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('description','ilike',self)]" string="Tax"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
</record>
@@ -1020,7 +1076,6 @@
<field name="domain">[('parent_id','=',False)]</field>
<field name="view_type">tree</field>
<field name="view_id" ref="view_tax_code_tree"/>
- <field name="help">The chart of taxes is used to generate your periodical tax statement. You will see the taxes with codes related to your legal statement according to your country.</field>
</record>
<!--
@@ -1195,38 +1250,26 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Journal Items">
- <group>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Unbalanced" domain="[('state','=','draft')]" help="Unbalanced Journal Items"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Unposted" domain="[('move_id.state','=','draft')]" help="Unposted Journal Items"/>
- <filter name="posted" icon="terp-camera_test" string="Posted" domain="[('move_id.state','=','posted')]" help="Posted Journal Items"/>
- <separator orientation="vertical"/>
- <filter
- icon="terp-dolar_ok!"
- string="Unreconciled"
- domain="[('reconcile_id','=',False), ('account_id.reconcile','=',True)]" help="Unreconciled Journal Items"
- name="unreconciled"/>
- <separator orientation="vertical"/>
- <filter string="Next Partner to Reconcile" help="Next Partner Entries to reconcile" name="next_partner" context="{'next_partner_only': 1}" icon="terp-gtk-jump-to-ltr" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>
- <separator orientation="vertical"/>
- <field name="move_id" string="Number (Move)"/>
- <field name="account_id"/>
- <field name="partner_id"/>
- <field name="journal_id" widget="selection" context="{'journal_id':self}"/>
- <field name="period_id" context="{'period_id':self}"/>
- </group>
- <newline/>
+ <field name="date"/>
+ <filter icon="terp-document-new" string="Unbalanced" domain="[('state','=','draft')]" help="Unbalanced Journal Items"/>
+ <separator/>
+ <filter icon="terp-document-new" string="Unposted" domain="[('move_id.state','=','draft')]" help="Unposted Journal Items"/>
+ <filter name="posted" icon="terp-camera_test" string="Posted" domain="[('move_id.state','=','posted')]" help="Posted Journal Items"/>
+ <separator/>
+ <filter icon="terp-dolar_ok!" string="Unreconciled" domain="[('reconcile_id','=',False), ('account_id.reconcile','=',True)]" help="Unreconciled Journal Items" name="unreconciled"/>
+ <separator/>
+ <filter string="Next Partner to Reconcile" help="Next Partner Entries to reconcile" name="next_partner" context="{'next_partner_only': 1}" icon="terp-gtk-jump-to-ltr" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>
+ <field name="move_id" string="Number (Move)"/>
+ <field name="account_id"/>
+ <field name="partner_id"/>
+ <field name="journal_id" context="{'journal_id':self}"/>
+ <field name="period_id" context="{'period_id':self}"/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Account" icon="terp-folder-green" context="{'group_by':'account_id'}"/>
- <separator orientation="vertical"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
</group>
- <newline/>
</search>
</field>
</record>
@@ -1238,7 +1281,17 @@
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="search_view_id" ref="view_account_move_line_filter"/>
- <field name="help">This view can be used by accountants in order to quickly record entries in OpenERP. If you want to record a supplier invoice, start by recording the line of the expense account. OpenERP will propose to you automatically the Tax related to this account and the counterpart "Account Payable".</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to register a new journal item.
+ </p><p>
+ This view can be used by accountants in order to quickly record
+ entries in OpenERP. If you want to record a supplier invoice,
+ start by recording the line of the expense account. OpenERP
+ will propose to you automatically the Tax related to this
+ account and the counterpart "Account Payable".
+ </p>
+ </field>
</record>
<menuitem
@@ -1444,27 +1497,19 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Move">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Move"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Unposted" domain="[('state','=','draft')]" help="Unposted Journal Entries"/>
- <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Journal Entries"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('to_check','=',True)]" help="Journal Entries to Review"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="journal_id" widget="selection"/>
- <field name="period_id"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Move"/>
+ <field name="date"/>
+ <filter icon="terp-document-new" string="Unposted" domain="[('state','=','draft')]" help="Unposted Journal Entries"/>
+ <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Journal Entries"/>
+ <separator/>
+ <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('to_check','=',True)]" help="Journal Entries to Review"/>
+ <field name="partner_id"/>
+ <field name="journal_id"/>
+ <field name="period_id"/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="States" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
</group>
@@ -1479,7 +1524,19 @@
<field name="view_mode">tree,form,graph</field>
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_account_move_filter"/>
- <field name="help">A journal entry consists of several journal items, each of which is either a debit or a credit transaction. OpenERP automatically creates one journal entry per accounting document: invoice, refund, supplier payment, bank statements, etc.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a journal entry.
+ </p><p>
+ A journal entry consists of several journal items, each of
+ which is either a debit or a credit transaction.
+ </p><p>
+ OpenERP automatically creates one journal entry per accounting
+ document: invoice, refund, supplier payment, bank statements,
+ etc. So, you should record journal entries manually only/mainly
+ for miscellaneous operations.
+ </p>
+ </field>
</record>
<menuitem
@@ -1587,7 +1644,6 @@
<field name="name">Journals</field>
<field name="res_model">account.journal.period</field>
<field name="view_type">tree</field>
- <field name="help">You can search for individual account entries through useful information. To search for account entries, open a journal, then select a record line.</field>
</record>
<!--
@@ -1673,16 +1729,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Journal Entry Model">
- <group>
- <field name="name" string="Journal Entry Model"/>
- <separator orientation="vertical"/>
- <filter string="Sale" icon="terp-camera_test" domain="[('journal_id.type', '=', 'sale')]"/>
- <filter string="Purchase" icon="terp-purchase" domain="[('journal_id.type', '=', 'purchase')]"/>
- <separator orientation="vertical"/>
- <field name="journal_id" widget="selection"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- </group>
- <newline/>
+ <field name="name" string="Journal Entry Model"/>
+ <filter string="Sale" icon="terp-camera_test" domain="[('journal_id.type', '=', 'sale')]"/>
+ <filter string="Purchase" icon="terp-purchase" domain="[('journal_id.type', '=', 'purchase')]"/>
+ <field name="journal_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
</group>
@@ -1852,17 +1903,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Entry Subscription">
- <group>
- <field name="name" string="Account Subscription"/>
- <separator orientation="vertical"/>
- <field name="date_start"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Subscription"/>
- <filter icon="terp-camera_test" string="Running" domain="[('state','=','running')]" help="Running Subscription"/>
- <separator orientation="vertical"/>
- <field name="model_id"/>
- </group>
- <newline/>
+ <field name="name" string="Account Subscription"/>
+ <field name="date_start"/>
+ <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Subscription"/>
+ <filter icon="terp-camera_test" string="Running" domain="[('state','=','running')]" help="Running Subscription"/>
+ <field name="model_id"/>
<group expand="0" string="Group By...">
<filter string="Model" icon="terp-folder-orange" domain="[]" context="{'group_by':'model_id'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
@@ -1909,7 +1954,16 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_subscription_search"/>
- <field name="help">A recurring entry is a miscellaneous entry that occurs on a recurrent basis from a specific date, i.e. corresponding to the signature of a contract or an agreement with a customer or a supplier. With Define Recurring Entries, you can create such entries to automate the postings in the system.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new recurring entry.
+ </p><p>
+ A recurring entry occurs on a recurrent basis from a specific
+ date, i.e. corresponding to the signature of a contract or an
+ agreement with a customer or a supplier. You can create such
+ entries to automate the postings in the system.
+ </p>
+ </field>
</record>
<menuitem
name="Define Recurring Entries" action="action_subscription_form"
@@ -2119,17 +2173,12 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Account Templates">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Account Template"/>
- <separator orientation="vertical"/>
- <filter icon="terp-sale" string="Receivale Accounts" domain="[('type','=','receivable')]"/>
- <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
- <separator orientation="vertical"/>
- <field name="parent_id"/>
- <field name="user_type"/>
- <field name="type"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Account Template"/>
+ <filter icon="terp-sale" string="Receivale Accounts" domain="[('type','=','receivable')]"/>
+ <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
+ <field name="parent_id"/>
+ <field name="user_type"/>
+ <field name="type"/>
<group expand="0" string="Group By...">
<filter string="Internal Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
<filter string="Account Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'user_type'}"/>
@@ -2188,20 +2237,14 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Chart of Account Templates">
- <group>
- <field name="name" string="Account Template"/>
- <separator orientation="vertical"/>
- <field name="account_root_id"/>
- <field name="bank_account_view_id"/>
- </group>
- <newline/>
+ <field name="name" string="Account Template"/>
+ <field name="account_root_id"/>
+ <field name="bank_account_view_id"/>
<group expand="0" string="Group By...">
<filter string="Root Account" icon="terp-folder-orange" domain="[]" context="{'group_by':'account_root_id'}"/>
<filter string="Bank Account" icon="terp-folder-orange" domain="[]" context="{'group_by':'bank_account_view_id'}"/>
- <separator orientation="vertical"/>
<filter string="Receivable Account" icon="terp-sale" domain="[]" context="{'group_by':'property_account_receivable'}"/>
<filter string="Payable Account" icon="terp-purchase" domain="[]" context="{'group_by':'property_account_payable'}"/>
- <separator orientation="vertical"/>
<filter string="Income Account" icon="terp-sale" domain="[]" context="{'group_by':'property_account_income_categ'}"/>
<filter string="Expense Account" icon="terp-purchase" domain="[]" context="{'group_by':'property_account_expense_categ'}"/>
</group>
@@ -2310,14 +2353,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Tax Templates">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('description','ilike',self)]" string="Tax Template"/>
- <separator orientation="vertical"/>
- <filter icon="terp-sale" string="Sale" domain="[('type_tax_use','=','sale')]" help="Taxes used in Sales"/>
- <filter icon="terp-purchase" string="Purchase" domain="[('type_tax_use','=','purchase')]" help="Taxes used in Purchases"/>
- <separator orientation="vertical"/>
- <field name="chart_template_id"/>
- </group>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('description','ilike',self)]" string="Tax Template"/>
+ <filter icon="terp-sale" string="Sale" domain="[('type_tax_use','=','sale')]" help="Taxes used in Sales"/>
+ <filter icon="terp-purchase" string="Purchase" domain="[('type_tax_use','=','purchase')]" help="Taxes used in Purchases"/>
+ <field name="chart_template_id"/>
</search>
</field>
</record>
@@ -2353,11 +2392,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search tax template">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Tax Template"/>
- <field name="parent_id"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Tax Template"/>
+ <field name="parent_id"/>
<group expand="0" string="Group By...">
<filter string="Parent Code" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/>
</group>
@@ -2706,7 +2742,17 @@ action = pool.get('res.config').next(cr, uid, [], context)
<field name="search_view_id" ref="view_account_bank_statement_filter"/>
<field name="domain">[('journal_id.type', '=', 'cash')]</field>
<field name="context">{'journal_type':'cash'}</field>
- <field name="help">A Cash Register allows you to manage cash entries in your cash journals. This feature provides an easy way to follow up cash payments on a daily basis. You can enter the coins that are in your cash box, and then post entries when money comes in or goes out of the cash box.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new cash log.
+ </p><p>
+ A Cash Register allows you to manage cash entries in your cash
+ journals. This feature provides an easy way to follow up cash
+ payments on a daily basis. You can enter the coins that are in
+ your cash box, and then post entries when money comes in or
+ goes out of the cash box.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="act_cash_statement1_all">
<field name="sequence" eval="1"/>
@@ -2789,16 +2835,11 @@ action = pool.get('res.config').next(cr, uid, [], context)
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Account Report">
- <group>
- <field name="name" string="Account Report"/>
- <separator orientation="vertical"/>
- <field name="account_report_id"/>
- <field name="type"/>
- </group>
- <newline/>
+ <field name="name" string="Account Report"/>
+ <field name="type"/>
+ <field name="account_report_id"/>
<group expand="0" string="Group By...">
<filter string="Parent Report" icon="terp-folder-orange" domain="" context="{'group_by':'parent_id'}"/>
- <separator orientation="vertical"/>
<filter string="Report Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
</group>
</search>
@@ -2813,7 +2854,6 @@ action = pool.get('res.config').next(cr, uid, [], context)
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_account_financial_report_search"/>
<field name="view_id" ref="view_account_financial_report_tree"/>
- <field name="help">Makes a generic system to draw financial reports easily.</field>
</record>
<menuitem id="menu_account_financial_reports_tree" name="Account Reports" parent="menu_account_reports" action="action_account_financial_report_tree"/>
diff --git a/addons/account/data/configurable_account_chart.xml b/addons/account/data/configurable_account_chart.xml
index 756866a3a50..18e22a5e4f2 100644
--- a/addons/account/data/configurable_account_chart.xml
+++ b/addons/account/data/configurable_account_chart.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- Types -->
@@ -550,7 +551,6 @@
<record id="action_wizard_multi_chart_todo" model="ir.actions.todo">
<field name="name">Set Your Accounting Options</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/account/i18n/es_EC.po b/addons/account/i18n/es_EC.po
index 7eff1938061..14beb1f5d65 100644
--- a/addons/account/i18n/es_EC.po
+++ b/addons/account/i18n/es_EC.po
@@ -10,15 +10,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2011-12-31 16:16+0000\n"
-"Last-Translator: Christopher Ormaza - (Ecuadorenlinea.net) "
-"<chris.ormaza@gmail.com>\n"
+"PO-Revision-Date: 2012-07-30 03:26+0000\n"
+"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@gmail.com>\n"
"Language-Team: Spanish (Ecuador) <es_EC@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-07-14 05:58+0000\n"
-"X-Generator: Launchpad (build 15614)\n"
+"X-Launchpad-Export-Date: 2012-08-01 04:43+0000\n"
+"X-Generator: Launchpad (build 15719)\n"
#. module: account
#: view:account.invoice.report:0
@@ -446,7 +445,7 @@ msgstr "Total crédito"
#. module: account
#: view:account.move.line.unreconcile.select:0
msgid "Open for Unreconciliation"
-msgstr ""
+msgstr "Abrir para romper conciliación"
#. module: account
#: field:account.account.template,chart_template_id:0
@@ -1612,7 +1611,7 @@ msgstr "Base Imponible"
#. module: account
#: view:account.partner.reconcile.process:0
msgid "Go to Next Partner"
-msgstr ""
+msgstr "Ir a la siguiente empresa"
#. module: account
#: view:account.bank.statement:0
@@ -2859,7 +2858,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_tax_code_list
#: model:ir.ui.menu,name:account.menu_action_tax_code_list
msgid "Tax Codes"
-msgstr ""
+msgstr "Códigos de impuestos"
#. module: account
#: view:account.account:0
@@ -3229,7 +3228,7 @@ msgstr "Plantillas para el plan contable"
#. module: account
#: model:ir.actions.act_window,name:account.action_wizard_multi_chart
msgid "Set Your Accounting Options"
-msgstr ""
+msgstr "Configurar tu Contabilidad"
#. module: account
#: view:report.account.sales:0
@@ -4405,7 +4404,7 @@ msgstr "Reconcile Writeoff"
#. module: account
#: view:report.account.receivable:0
msgid "Accounts by Type"
-msgstr ""
+msgstr "Cuentas por tipo"
#. module: account
#: view:account.bank.statement:0
@@ -4447,7 +4446,7 @@ msgstr "res_config_contents"
#. module: account
#: view:account.unreconcile:0
msgid "Unreconciliate Transactions"
-msgstr ""
+msgstr "Transacciones no conciliadas"
#. module: account
#: help:account.chart.template,visible:0
@@ -4650,7 +4649,7 @@ msgstr "Fecha de realizacion"
#. module: account
#: view:account.unreconcile.reconcile:0
msgid "Unreconciliation Transactions"
-msgstr ""
+msgstr "Desconcialiación de Transacciones"
#. module: account
#: field:account.tax,ref_tax_code_id:0
@@ -4785,7 +4784,7 @@ msgstr "Pagado"
#. module: account
#: view:account.period.close:0
msgid "Are you sure?"
-msgstr ""
+msgstr "¿Está Seguro?"
#. module: account
#: help:account.move.line,statement_id:0
@@ -5183,7 +5182,7 @@ msgstr "Cuenta impuesto"
#. module: account
#: view:account.automatic.reconcile:0
msgid "Reconciliation Result"
-msgstr ""
+msgstr "Resultado de conciliación"
#. module: account
#: model:account.financial.report,name:account.account_financial_report_balancesheet0
@@ -6173,7 +6172,7 @@ msgstr "Impuesto de venta(%)"
#. module: account
#: view:account.addtmpl.wizard:0
msgid "Create an Account Based on this Template"
-msgstr ""
+msgstr "Crear una cuenta basada en esta plantilla"
#. module: account
#: view:account.account.type:0
diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml
index 76aaaf7df6a..b95e1c16bfd 100644
--- a/addons/account/project/project_view.xml
+++ b/addons/account/project/project_view.xml
@@ -30,22 +30,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Analytic Account">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Analytic Account"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Accounts"/>
- <filter icon="terp-camera_test" string="Current" domain="[('state','=','open')]" help="Current Accounts"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="user_id" widget="selection"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Analytic Account"/>
+ <field name="date"/>
+ <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Accounts"/>
+ <filter icon="terp-camera_test" string="Current" domain="[('state','=','open')]" help="Current Accounts"/>
+ <field name="partner_id"/>
+ <field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Associated Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Parent Account" icon="terp-folder-green" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/>
</group>
@@ -107,7 +100,21 @@
<field name="view_type">tree</field>
<field name="view_id" ref="view_account_analytic_account_tree"/>
<field name="domain">[('parent_id','=',False)]</field>
- <field name="help">The normal chart of accounts has a structure defined by the legal requirement of the country. The analytic chart of accounts structure should reflect your own business needs in term of costs/revenues reporting. They are usually structured by contracts, projects, products or departements. Most of the OpenERP operations (invoices, timesheets, expenses, etc) generate analytic entries on the related account.</field>
+ <field name="help" type="html">
+ <p>
+ Click to add a new analytic account.
+ </p><p>
+ The normal chart of accounts has a structure defined by the
+ legal requirement of the country. The analytic chart of
+ accounts structure should reflect your own business needs in
+ term of costs/revenues reporting.
+ </p><p>
+ They are usually structured by contracts, projects, products or
+ departements. Most of the OpenERP operations (invoices,
+ timesheets, expenses, etc) generate analytic entries on the
+ related account.
+ </p>
+ </field>
</record>
<menuitem groups="analytic.group_analytic_accounting" id="next_id_40"
@@ -183,27 +190,20 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Analytic Lines">
- <group>
- <field name="name" string="Analytic Line"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter name="sales" string="Sales" domain="[('journal_id.type','=','sale')]" icon="terp-camera_test" help="Analytic Journal Items related to a sale journal."/>
- <filter name="purchases" string="Purchases" domain="[('journal_id.type','=','purchase')]" icon="terp-purchase" help="Analytic Journal Items related to a purchase journal."/>
- <filter name="others" string="Others" domain="[('journal_id.type','in',('cash','general','situation'))]" icon="terp-folder-orange"/>
- <filter string="My Entries" domain="[('user_id','=',uid)]" icon="terp-personal"/>
- <separator orientation="vertical"/>
- <field name="account_id"/>
- <field name="user_id"/>
- </group>
- <newline/>
+ <field name="name" string="Analytic Line"/>
+ <field name="date"/>
+ <filter name="sales" string="Sales" domain="[('journal_id.type','=','sale')]" icon="terp-camera_test" help="Analytic Journal Items related to a sale journal."/>
+ <filter name="purchases" string="Purchases" domain="[('journal_id.type','=','purchase')]" icon="terp-purchase" help="Analytic Journal Items related to a purchase journal."/>
+ <filter name="others" string="Others" domain="[('journal_id.type','in',('cash','general','situation'))]" icon="terp-folder-orange"/>
+ <separator/>
+ <filter string="My Entries" domain="[('user_id','=',uid)]" icon="terp-personal"/>
+ <field name="account_id"/>
+ <field name="user_id"/>
<group string="Group By..." expand="0">
<filter string="Account" context="{'group_by':'account_id'}" icon="terp-folder-green"/>
<filter string="Journal" context="{'group_by':'journal_id'}" icon="terp-folder-orange"/>
<filter string="User" context="{'group_by':'user_id'}" icon="terp-personal"/>
- <separator orientation="vertical"/>
<filter string="Fin.Account" context="{'group_by':'general_account_id'}" icon="terp-folder-green"/>
- <separator orientation="vertical"/>
<filter string="Product" context="{'group_by':'product_id'}" icon="terp-accessories-archiver"/>
</group>
</search>
@@ -304,11 +304,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Analytic Journals">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Analytic Journal"/>
- <field name="type"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Analytic Journal"/>
+ <field name="type"/>
<group expand="0" string="Group By...">
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
</group>
diff --git a/addons/account/report/account_analytic_entries_report_view.xml b/addons/account/report/account_analytic_entries_report_view.xml
index 7c9870ca07e..35031180523 100644
--- a/addons/account/report/account_analytic_entries_report_view.xml
+++ b/addons/account/report/account_analytic_entries_report_view.xml
@@ -34,31 +34,21 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Analytic Entries Analysis">
- <group>
- <field name="day" string="Day"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter string="My Entries" icon="terp-personal" domain="[('user_id','=',uid)]" help="My Entries"/>
- <separator orientation="vertical"/>
- <field name="account_id" groups="analytic.group_analytic_accounting"/>
- <field name="product_id" />
- <field name="user_id"/>
- </group>
- <newline/>
+ <field name="day" string="Day"/>
+ <field name="date"/>
+ <filter string="My Entries" icon="terp-personal" domain="[('user_id','=',uid)]" help="My Entries"/>
+ <field name="account_id" groups="analytic.group_analytic_accounting"/>
+ <field name="product_id" />
+ <field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Account" name="Account" icon="terp-folder-green" context="{'group_by':'account_id'}" groups="analytic.group_analytic_accounting"/>
<filter string="General Account" icon="terp-folder-orange" context="{'group_by':'general_account_id'}"/>
<filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>
- <separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<filter string="Product Unit of Measure" icon="terp-mrp" context="{'group_by':'product_uom_id'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<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" name="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}"/>
diff --git a/addons/account/report/account_entries_report_view.xml b/addons/account/report/account_entries_report_view.xml
index 54275f6a4b3..8c445052094 100644
--- a/addons/account/report/account_entries_report_view.xml
+++ b/addons/account/report/account_entries_report_view.xml
@@ -67,54 +67,35 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Entries Analysis">
- <group>
- <field name="date"/>
- <field name="date_created"/>
- <field name="date_maturity"/>
- <separator orientation="vertical"/>
- <filter icon="terp-go-year" string="This F.Year"
- name="thisyear"
- context="{'year':'current_year'}"
- help="Journal Entries with period in current year"/>
- <filter icon="terp-go-month" string="This Period"
- name="period"
- context="{'period':'current_period'}"
- help="Journal Entries with period in current period"/>
- <separator orientation="vertical"/>
- <filter string="Unposted" icon="terp-document-new" domain="[('move_state','=','draft')]" help = "entries"/>
- <filter string="Posted" icon="terp-camera_test" domain="[('move_state','=','posted')]" help = "Posted entries"/>
- <separator orientation="vertical"/>
- <filter string="Unreconciled" icon="terp-dolar_ok!" domain="[('reconcile_id','=',False), ('account_id.reconcile','=',True)]" help = "Unreconciled entries"/>
- <filter string="Reconciled" icon="terp-dolar" domain="[('reconcile_id','!=',False)]" help = "Reconciled entries"/>
- <separator orientation="vertical"/>
- <field name="account_id"/>
- <field name="journal_id" widget="selection"/>
- <field name="period_id"/>
- </group>
- <newline/>
- <group expand="0" string="Extended Filters...">
+ <field name="date"/>
+ <field name="date_created"/>
+ <field name="date_maturity"/>
+ <filter icon="terp-go-year" string="This F.Year" name="thisyear" context="{'year':'current_year'}" help="Journal Entries with period in current year"/>
+ <filter icon="terp-go-month" string="This Period" name="period" context="{'period':'current_period'}" help="Journal Entries with period in current period"/>
+ <separator/>
+ <filter string="Unposted" icon="terp-document-new" domain="[('move_state','=','draft')]" help = "entries"/>
+ <filter string="Posted" icon="terp-camera_test" domain="[('move_state','=','posted')]" help = "Posted entries"/>
+ <separator/>
+ <filter string="Unreconciled" icon="terp-dolar_ok!" domain="[('reconcile_id','=',False), ('account_id.reconcile','=',True)]" help = "Unreconciled entries"/>
+ <filter string="Reconciled" icon="terp-dolar" domain="[('reconcile_id','!=',False)]" help = "Reconciled entries"/>
+ <field name="account_id"/>
+ <field name="journal_id"/>
+ <field name="period_id"/>
+ <group expand="0" string="Extended Filters...">
<field name="fiscalyear_id"/>
- <separator orientation="vertical"/>
<field name="product_id"/>
<field name="partner_id"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<field name="company_id" groups="base.group_multi_company"/>
- </group>
- <newline/>
+ </group>
<group expand="1" string="Group By...">
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':['product_id','product_uom_id'], 'quantity_visible':1}"/>
- <separator orientation="vertical"/>
<filter string="Currency" name="group_currency" icon="terp-dolar" context="{'group_by':'currency_id', 'currency_id_visible':1, 'amount_currency_visible':1}"/>
<filter string="Journal" name="group_journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>
<filter string="Account" name="group_account" icon="terp-folder-green" context="{'group_by':'account_id'}"/>
- <separator orientation="vertical"/>
<filter string="Acc.Type" icon="terp-stock_symbol-selection" context="{'group_by':'user_type'}" name="usertype"/>
<filter string="Int.Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical"/>
<filter string="Date" icon="terp-go-today" context="{'group_by':'date'}"/>
<filter string="Period" icon="terp-go-month" name="group_period" context="{'group_by':'period_id'}"/>
<filter string="Fiscal Year" icon="terp-go-year" context="{'group_by':'fiscalyear_id'}"/>
diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml
index 7d6a4003b53..e3e0b210f20 100644
--- a/addons/account/report/account_invoice_report_view.xml
+++ b/addons/account/report/account_invoice_report_view.xml
@@ -55,68 +55,32 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Invoices Analysis">
- <group>
- <filter icon="terp-go-year" string="Year"
- name="year"
- domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')),('date','&gt;=',time.strftime('%%Y-01-01'))]"
- help="year"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter string="Draft"
- icon="terp-document-new"
- domain="[('state','=','draft')]"
- help = "Draft Invoices"/>
- <filter string="Pro-forma"
- icon="terp-gtk-media-pause"
- domain="['|', ('state','=','proforma'),('state','=','proforma2')]"
- help = "Pro-forma Invoices"/>
- <filter string="Invoiced"
- name="current"
- icon="terp-check"
- domain="[('state','not in', ('draft','cancel'))]"
- help = "Open and Paid Invoices"/>
- <separator orientation="vertical"/>
- <filter icon="terp-personal" string="Customer"
- name="customer"
- domain="['|', ('type','=','out_invoice'),('type','=','out_refund')]"
- help="Customer Invoices And Refunds"/>
- <filter icon="terp-personal"
- string="Supplier"
- domain="['|', ('type','=','in_invoice'),('type','=','in_refund')]"
- help="Supplier Invoices And Refunds"/>
- <separator orientation="vertical"/>
- <filter icon="terp-dolar" string="Invoice"
- domain="['|', ('type','=','out_invoice'),('type','=','in_invoice')]"
- help="Customer And Supplier Invoices"/>
- <filter icon="terp-dolar_ok!"
- string="Refund"
- domain="['|', ('type','=','out_refund'),('type','=','in_refund')]"
- help="Customer And Supplier Refunds"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="user_id" />
- <field name="categ_id" filter_domain="[('categ_id', 'child_of', self)]"/>
- </group>
- <newline/>
+ <field name="date"/>
+ <filter icon="terp-go-year" string="Year" name="year" domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')),('date','&gt;=',time.strftime('%%Y-01-01'))]" help="year"/>
+ <separator/>
+ <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help = "Draft Invoices"/>
+ <filter string="Pro-forma" icon="terp-gtk-media-pause" domain="['|', ('state','=','proforma'),('state','=','proforma2')]" help = "Pro-forma Invoices"/>
+ <filter string="Invoiced" name="current" icon="terp-check" domain="[('state','not in', ('draft','cancel'))]" help = "Open and Paid Invoices"/>
+ <separator/>
+ <filter icon="terp-personal" string="Customer" name="customer" domain="['|', ('type','=','out_invoice'),('type','=','out_refund')]" help="Customer Invoices And Refunds"/>
+ <filter icon="terp-personal" string="Supplier" domain="['|', ('type','=','in_invoice'),('type','=','in_refund')]" help="Supplier Invoices And Refunds"/>
+ <filter icon="terp-dolar" string="Invoice" domain="['|', ('type','=','out_invoice'),('type','=','in_invoice')]" help="Customer And Supplier Invoices"/>
+ <filter icon="terp-dolar_ok!" string="Refund" domain="['|', ('type','=','out_refund'),('type','=','in_refund')]" help="Customer And Supplier Refunds"/>
+ <field name="partner_id"/>
+ <field name="user_id" />
+ <field name="categ_id" filter_domain="[('categ_id', 'child_of', self)]"/>
<group expand="1" string="Group By...">
<filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id','residual_visible':True}"/>
<filter string="Salesperson" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Due Date" icon="terp-go-today" context="{'group_by':'date_due'}"/>
<filter string="Period" icon="terp-go-month" context="{'group_by':'period_id'}" name="period"/>
- <separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True,'residual_invisible':True}"/>
<filter string="Category of Product" name="category_product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id','residual_invisible':True}"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
- <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>
<filter string="Account" icon="terp-folder-orange" context="{'group_by':'account_line_id'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical"/>
<filter string="Day" name="day" icon="terp-go-today" context="{'group_by':'day'}" help="Group by Invoice Date"/>
<filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of Invoice Date"/>
<filter string="Year" name="group_year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of Invoice Date"/>
diff --git a/addons/account/report/account_treasury_report_view.xml b/addons/account/report/account_treasury_report_view.xml
index 9e07c196f3c..f0096b561bb 100644
--- a/addons/account/report/account_treasury_report_view.xml
+++ b/addons/account/report/account_treasury_report_view.xml
@@ -36,12 +36,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Treasury Analysis">
- <group>
- <field name="fiscalyear_id"/>
- <field name="period_id"/>
- <field name="company_id" groups="base.group_multi_company"/>
- </group>
- <newline/>
+ <field name="fiscalyear_id"/>
+ <field name="period_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
</record>
diff --git a/addons/account/res_config.py b/addons/account/res_config.py
index 16f37f05301..120d901a006 100644
--- a/addons/account/res_config.py
+++ b/addons/account/res_config.py
@@ -37,82 +37,82 @@ class account_config_settings(osv.osv_memory):
'company_id': fields.many2one('res.company', 'Company', required=True),
'has_default_company': fields.boolean('Has default company', readonly=True),
'expects_chart_of_accounts': fields.related('company_id', 'expects_chart_of_accounts', type='boolean',
- string='This Company Has its Own Chart of Accounts',
+ string='This company has its own chart of accounts',
help="""Check this box if this company is a legal entity."""),
'currency_id': fields.related('company_id', 'currency_id', type='many2one', relation='res.currency', required=True,
- string='Default Company Currency', help="Main currency of the company."),
+ string='Default company currency', help="Main currency of the company."),
'paypal_account': fields.related('company_id', 'paypal_account', type='char', size=128,
- string='Paypal Account', help="Paypal account (email) for receiving online payments (credit card, etc.) If you set a paypal account, the customer will be able to pay your invoices or quotations with a button \"Pay with Paypal\" in automated emails or through the OpenERP portal."),
+ string='Paypal account', help="Paypal account (email) for receiving online payments (credit card, etc.) If you set a paypal account, the customer will be able to pay your invoices or quotations with a button \"Pay with Paypal\" in automated emails or through the OpenERP portal."),
'company_footer': fields.related('company_id', 'rml_footer2', type='char', size=250, readonly=True,
- string='Bank Accounts on Reports', help="Bank accounts as printed in the footer of each customer document. This is for information purpose only, you should configure these bank accounts through the above button \"Configure Bank Accounts\"."),
+ string='Bank accounts on reports will display as followed', help="Bank accounts as printed in the footer of each customer document. This is for information purpose only, you should configure these bank accounts through the above button \"Configure Bank Accounts\"."),
'has_chart_of_accounts': fields.boolean('Company has a chart of accounts'),
- 'chart_template_id': fields.many2one('account.chart.template', 'Chart Template', domain="[('visible','=', True)]"),
- 'code_digits': fields.integer('# of Digits', help="No. of Digits to use for account code"),
+ 'chart_template_id': fields.many2one('account.chart.template', 'Template', domain="[('visible','=', True)]"),
+ 'code_digits': fields.integer('# of Digits', help="No. of digits to use for account code"),
'tax_calculation_rounding_method': fields.related('company_id',
'tax_calculation_rounding_method', type='selection', selection=[
('round_per_line', 'Round per Line'),
('round_globally', 'Round Globally'),
- ], string='Tax Calculation Rounding Method',
+ ], string='Tax calculation rounding method',
help="If you select 'Round per Line' : for each tax, the tax amount will first be computed and rounded for each PO/SO/invoice line and then these rounded amounts will be summed, leading to the total amount for that tax. If you select 'Round Globally': for each tax, the tax amount will be computed for each PO/SO/invoice line, then these amounts will be summed and eventually this total tax amount will be rounded. If you sell with tax included, you should choose 'Round per line' because you certainly want the sum of your tax-included line subtotals to be equal to the total amount with taxes."),
- 'sale_tax': fields.many2one("account.tax.template", "Default Sale Tax"),
- 'purchase_tax': fields.many2one("account.tax.template", "Default Purchase Tax"),
- 'sale_tax_rate': fields.float('Sales Tax (%)'),
- 'purchase_tax_rate': fields.float('Purchase Tax (%)'),
- 'complete_tax_set': fields.boolean('Complete Set of Taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sales and purchase rates or use the usual m2o fields. This last choice assumes that the set of tax defined for the chosen template is complete'),
+ 'sale_tax': fields.many2one("account.tax.template", "Default sale tax"),
+ 'purchase_tax': fields.many2one("account.tax.template", "Default purchase tax"),
+ 'sale_tax_rate': fields.float('Sales tax (%)'),
+ 'purchase_tax_rate': fields.float('Purchase tax (%)'),
+ 'complete_tax_set': fields.boolean('Complete set of taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sales and purchase rates or use the usual m2o fields. This last choice assumes that the set of tax defined for the chosen template is complete'),
'has_fiscal_year': fields.boolean('Company has a fiscal year'),
- 'date_start': fields.date('Start Date', required=True),
- 'date_stop': fields.date('End Date', required=True),
+ 'date_start': fields.date('Start date', required=True),
+ 'date_stop': fields.date('End date', required=True),
'period': fields.selection([('month', 'Monthly'), ('3months','3 Monthly')], 'Periods', required=True),
- 'sale_journal_id': fields.many2one('account.journal', 'Sale Journal'),
- 'sale_sequence_prefix': fields.related('sale_journal_id', 'sequence_id', 'prefix', type='char', string='Invoice Sequence'),
- 'sale_sequence_next': fields.related('sale_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Invoice Number'),
- 'sale_refund_journal_id': fields.many2one('account.journal', 'Sale Refund Journal'),
- 'sale_refund_sequence_prefix': fields.related('sale_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Credit Note Sequence'),
- 'sale_refund_sequence_next': fields.related('sale_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Credit Note Number'),
+ 'sale_journal_id': fields.many2one('account.journal', 'Sale journal'),
+ 'sale_sequence_prefix': fields.related('sale_journal_id', 'sequence_id', 'prefix', type='char', string='Invoice sequence'),
+ 'sale_sequence_next': fields.related('sale_journal_id', 'sequence_id', 'number_next', type='integer', string='Next invoice number'),
+ 'sale_refund_journal_id': fields.many2one('account.journal', 'Sale refund journal'),
+ 'sale_refund_sequence_prefix': fields.related('sale_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Credit note sequence'),
+ 'sale_refund_sequence_next': fields.related('sale_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next credit note number'),
'purchase_journal_id': fields.many2one('account.journal', 'Purchase Journal'),
- 'purchase_sequence_prefix': fields.related('purchase_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier Invoice Sequence'),
- 'purchase_sequence_next': fields.related('purchase_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Supplier Invoice Number'),
- 'purchase_refund_journal_id': fields.many2one('account.journal', 'Purchase Refund Journal'),
- 'purchase_refund_sequence_prefix': fields.related('purchase_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier Credit Note Sequence'),
- 'purchase_refund_sequence_next': fields.related('purchase_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Supplier Credit Note Number'),
+ 'purchase_sequence_prefix': fields.related('purchase_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier invoice sequence'),
+ 'purchase_sequence_next': fields.related('purchase_journal_id', 'sequence_id', 'number_next', type='integer', string='Next supplier invoice number'),
+ 'purchase_refund_journal_id': fields.many2one('account.journal', 'Purchase refund journal'),
+ 'purchase_refund_sequence_prefix': fields.related('purchase_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier credit note sequence'),
+ 'purchase_refund_sequence_next': fields.related('purchase_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next supplier credit note number'),
- 'module_account_check_writing': fields.boolean('Check Writing',
+ 'module_account_check_writing': fields.boolean('pay your supplier by check',
help="""This allows you to check writing and printing.
This installs the module account_check_writing."""),
- 'module_account_accountant': fields.boolean('Accountant Features',
+ 'module_account_accountant': fields.boolean('accountant features',
help="""If you do not check this box, you will be able to do invoicing & payments, but not accounting (Journal Items, Chart of Accounts, ...)"""),
- 'module_account_asset': fields.boolean('Assets Management',
+ 'module_account_asset': fields.boolean('assets management',
help="""This allows you to manage the assets owned by a company or a person.
It keeps track of the depreciation occurred on those assets, and creates account move for those depreciation lines.
This installs the module account_asset. If you do not check this box, you will be able to do invoicing & payments,
but not accounting (Journal Items, Chart of Accounts, ...)"""),
- 'module_account_budget': fields.boolean('Budget Management',
+ 'module_account_budget': fields.boolean('budget management',
help="""This allows accountants to manage analytic and crossovered budgets.
Once the master budgets and the budgets are defined,
the project managers can set the planned amount on each analytic account.
This installs the module account_budget."""),
- 'module_account_payment': fields.boolean('Manage Payment Orders',
+ 'module_account_payment': fields.boolean('manage payment orders',
help="""This allows you to create and manage your payment orders, with purposes to
* serve as base for an easy plug-in of various automated payment mechanisms, and
* provide a more efficient way to manage invoice payments.
This installs the module account_payment."""),
- 'module_account_voucher': fields.boolean('Manage Customer Payments',
+ 'module_account_voucher': fields.boolean('anage customer payments',
help="""This includes all the basic requirements of voucher entries for bank, cash, sales, purchase, expense, contra, etc.
This installs the module account_voucher."""),
- 'module_account_followup': fields.boolean('Manage Customer Payment Follow-ups',
+ 'module_account_followup': fields.boolean('manage customer payment follow-ups',
help="""This allows to automate letters for unpaid invoices, with multi-level recalls.
This installs the module account_followup."""),
- 'group_proforma_invoices': fields.boolean('Allow Pro-forma Invoices',
+ 'group_proforma_invoices': fields.boolean('allow pro-forma invoices',
implied_group='account.group_proforma_invoices',
help="Allows you to put invoices in pro-forma state."),
- 'default_sale_tax': fields.many2one('account.tax', 'Default Sale Tax',
+ 'default_sale_tax': fields.many2one('account.tax', 'Default sale tax',
help="This sale tax will be assigned by default on new products."),
- 'default_purchase_tax': fields.many2one('account.tax', 'Default Purchase Tax',
+ 'default_purchase_tax': fields.many2one('account.tax', 'Default purchase tax',
help="This purchase tax will be assigned by default on new products."),
- 'decimal_precision': fields.integer('Decimal Precision on Journal Entries',
+ 'decimal_precision': fields.integer('Decimal precision on journal entries',
help="""As an example, a decimal precision of 2 will allow journal entries like: 9.99 EUR, whereas a decimal precision of 4 will allow journal entries like: 0.0231 EUR."""),
}
diff --git a/addons/account/res_config_view.xml b/addons/account/res_config_view.xml
index a79b8fe2ed7..fd0fa552238 100644
--- a/addons/account/res_config_view.xml
+++ b/addons/account/res_config_view.xml
@@ -15,106 +15,235 @@
<field name="model">account.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Configure Accounting" version="7.0">
+ <form string="Configure Accounting" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
+
<field name="has_default_company" invisible="1" />
<field name="has_chart_of_accounts" invisible="1"/>
<field name="complete_tax_set" invisible="1"/>
<field name="has_fiscal_year" invisible="1"/>
-
+ <separator string="Chart of Accounts" groups="base.group_multi_company"/>
<group groups="base.group_multi_company">
- <field name="company_id" string="Select Company" widget="selection"
- on_change="onchange_company_id(company_id)"
- attrs="{'invisible': [('has_default_company', '=', True)]}"/>
- <field name="expects_chart_of_accounts"/>
+ <label for="id" string="Chart of Accounts"/>
+ <div>
+ <div attrs="{'invisible': [('has_default_company', '=', True)]}">
+ <label for="company_id" string="Select Company"/>
+ <field name="company_id"
+ widget="selection"
+ on_change="onchange_company_id(company_id)"
+ class="oe_inline"/>
+ </div>
+ <div>
+ <field name="expects_chart_of_accounts" class="oe_inline"/>
+ <label for="expects_chart_of_accounts"/>
+ </div>
+ </div>
</group>
-
- <group string="Select a Chart of Accounts to Install"
- attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}">
- <group>
- <field name="chart_template_id" widget="selection" domain="[('visible','=', True)]"
- on_change="onchange_chart_template_id(chart_template_id)"/>
- <field name="code_digits" groups="account.group_account_user"/>
- <field name="sale_tax" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}"
- domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
- <field name="purchase_tax" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}"
- domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('purchase', 'all'))]"/>
- <field name="sale_tax_rate" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}" on_change="onchange_tax_rate(sale_tax_rate)"/>
- <field name="purchase_tax_rate" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}"/>
- </group>
- <button string="Install More Chart Templates" icon="gtk-go-forward"
- name="%(open_account_charts_modules)d" type="action"/>
+ <separator string="Chart of Account and Fiscal Year" attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}"/>
+ <group attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}">
+ <label for="id" string="Chart of Account"/>
+ <div>
+ <div>
+ <label for="chart_template_id"/>
+ <field name="chart_template_id"
+ widget="selection"
+ domain="[('visible','=', True)]"
+ on_change="onchange_chart_template_id(chart_template_id)"
+ class="oe_inline"/>
+ <button string="Install more chart templates"
+ icon="gtk-go-forward"
+ name="%(open_account_charts_modules)d"
+ type="action"
+ class="oe_link"/>
+ </div>
+ <div groups="account.group_account_user">
+ <label for="code_digits"/>
+ <field name="code_digits" class="oe_inline"/>
+ </div>
+ <div attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}">
+ <label for="sale_tax"/>
+ <field name="sale_tax"
+ domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"
+ class="oe_inline"/>
+ </div>
+ <div attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}">
+ <label for="purchase_tax"/>
+ <field name="purchase_tax"
+ domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('purchase', 'all'))]"
+ class="oe_inline"/>
+ </div>
+ <div attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}">
+ <label for="sale_tax_rate"/>
+ <field name="sale_tax_rate" on_change="onchange_tax_rate(sale_tax_rate)"/>
+ </div>
+ <div attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}">
+ <label for="purchase_tax_rate"/>
+ <field name="purchase_tax_rate" />
+ </div>
+ </div>
</group>
-
- <group string="No Fiscal Year Defined for This Company"
- attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_fiscal_year','=',True)]}">
- <label for="date_start" string="Date Range"/>
+ <separator string="No Fiscal Year Defined for This Company" attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_fiscal_year','=',True)]}"/>
+ <group attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_fiscal_year','=',True)]}">
+ <label for="id" string="Fiscal Year"/>
<div>
- <field name="date_start" on_change="onchange_start_date(date_start)" class="oe_inline"/> -
- <field name="date_stop" class="oe_inline"/>
+ <div>
+ <label for="date_start" string="Date Range"/>
+ <field name="date_start"
+ on_change="onchange_start_date(date_start)"
+ class="oe_inline"/> -
+ <field name="date_stop" class="oe_inline"/>
+ </div>
+ <div>
+ <label for="period"/>
+ <field name="period" class="oe_inline"/>
+ </div>
</div>
- <field name="period"/>
</group>
-
+ <separator string="eInvoicing &amp; Payments"/>
<group>
- <group name="account_config">
- <separator string="Accounting Configuration" colspan="2"/>
- <field name="default_sale_tax" domain="[('type_tax_use','=','sale'), ('company_id','=',company_id)]"
- attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
- <field name="module_account_accountant"/>
- <field name="currency_id"/>
- <field name="decimal_precision"/>
- <field name="default_purchase_tax" domain="[('type_tax_use','=','purchase'), ('company_id','=',company_id)]"
- attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
- <field name="tax_calculation_rounding_method"/>
- <field name="module_account_asset"/>
- <field name="module_account_budget"/>
- <separator string="Customer Invoices" colspan="2"/>
- <label for="sale_sequence_next"/>
- <group>
- <field name="sale_sequence_prefix" class="oe_inline" nolabel="1"
+ <label for="id" string="Customer"/>
+ <div>
+ <div attrs="{'invisible': [('has_chart_of_accounts','=',False)]}">
+ <label for="default_sale_tax"/>
+ <field name="default_sale_tax"
+ domain="[('type_tax_use','=','sale'), ('company_id','=',company_id)]"
+ class="oe_inline"/>
+ </div>
+ <div>
+ <label for="sale_sequence_next"/>
+ <field name="sale_sequence_prefix"
+ class="oe_inline"
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
- <field name="sale_sequence_next" class="oe_inline" nolabel="1" attrs="{'readonly': [('sale_journal_id','=',False)]}"/>
- </group>
- <label for="sale_refund_sequence_next"/>
- <group>
- <field name="sale_refund_sequence_prefix" class="oe_inline" nolabel="1"
+ <field name="sale_sequence_next"
+ class="oe_inline"
+ attrs="{'readonly': [('sale_journal_id','=',False)]}"/>
+ </div>
+ <div>
+ <label for="sale_refund_sequence_next"/>
+ <field name="sale_refund_sequence_prefix"
+ class="oe_inline"
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
- <field name="sale_refund_sequence_next" nolabel="1" class="oe_inline" attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
- </group>
- <field name="module_account_voucher"/>
- <field name="module_account_followup"/>
- <field name="group_proforma_invoices"/>
- <separator name="analytic_accounting" invisible="1" string="Analytic Accounting"/>
- </group>
- <group name="other_cofing">
- <separator string="Supplier Invoices" colspan="2"/>
- <label for="purchase_sequence_next"/>
- <group>
- <field name="purchase_sequence_prefix" class="oe_inline" nolabel="1"
+ <field name="sale_refund_sequence_next"
+ class="oe_inline"
+ attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
+ </div>
+ <div>
+ <field name="group_proforma_invoices" class="oe_inline"/>
+ <label for="group_proforma_invoices"/>
+ </div>
+ <div>
+ <field name="module_account_voucher" class="oe_inline"/>
+ <label for="module_account_voucher"/>
+ </div>
+ <div>
+ <field name="module_account_followup" class="oe_inline"/>
+ <label for="module_account_followup"/>
+ </div>
+ </div>
+ </group>
+ <group>
+ <label for="id" string="Supplier"/>
+ <div name="other_cofing">
+ <div attrs="{'invisible': [('has_chart_of_accounts','=',False)]}">
+ <label for="default_purchase_tax"/>
+ <field name="default_purchase_tax"
+ domain="[('type_tax_use','=','purchase'), ('company_id','=',company_id)]"
+ class="oe_inline"/>
+ </div>
+ <div>
+ <label for="purchase_sequence_next"/>
+ <field name="purchase_sequence_prefix"
+ class="oe_inline"
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
- <field name="purchase_sequence_next" nolabel="1" class="oe_inline" attrs="{'readonly': [('purchase_journal_id','=',False)]}"/>
- </group>
- <label for="purchase_refund_sequence_next"/>
- <group>
- <field name="purchase_refund_sequence_prefix" class="oe_inline" nolabel="1"
+ <field name="purchase_sequence_next"
+ class="oe_inline"
+ attrs="{'readonly': [('purchase_journal_id','=',False)]}"/>
+ </div>
+ <div>
+ <label for="purchase_refund_sequence_next"/>
+ <field name="purchase_refund_sequence_prefix"
+ class="oe_inline"
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
- <field name="purchase_refund_sequence_next" class="oe_inline"
- attrs="{'readonly': [('purchase_refund_journal_id','=',False)]}" nolabel="1"/>
- </group>
- <field name="module_account_payment"/>
- <separator string="Electronic Payments" colspan="2"/>
- <field name="paypal_account" placeholder="sales@openerp.com"/>
- <separator string="Bank &amp; Cash" colspan="2"/>
- <label for="id" string="Configure Bank Accounts"/>
- <button name="%(action_bank_tree)d" string="Configure Bank Accounts" icon="gtk-go-forward" type="action"/>
- <field name="company_footer"/>
- <field name="module_account_check_writing"/>
- </group>
+ <field name="purchase_refund_sequence_next"
+ class="oe_inline"
+ attrs="{'readonly': [('purchase_refund_journal_id','=',False)]}"/>
+ </div>
+ <div>
+ <field name="module_account_payment" class="oe_inline"/>
+ <label for="module_account_payment"/>
+ </div>
+ <div>
+ <field name="module_account_check_writing" class="oe_inline"/>
+ <label for="module_account_check_writing"/>
+ </div>
+ </div>
+ </group>
+ <separator string="Bank &amp; Cash"/>
+ <group>
+ <label for="id" string="Configuration"/>
+ <div>
+ <div>
+ <label string="Configure your bank accounts"/>
+ <button name="%(action_bank_tree)d"
+ string="Configure"
+ icon="gtk-go-forward"
+ type="action"
+ class="oe_inline oe_link"/>
+ </div>
+ <p>
+ <label for="company_footer"/>: <field name="company_footer" class="oe_inline"/>
+ </p>
+ <div>
+ <label for="paypal_account"/>
+ <field name="paypal_account" placeholder="sales@openerp.com" class="oe_inline"/>
+ </div>
+ </div>
+ </group>
+ <separator string="Accounting &amp; Finance"/>
+ <group>
+ <label for="id" string="Options"/>
+ <div name="account_config">
+ <div>
+ <label for="currency_id"/>
+ <field name="currency_id" class="oe_inline"/>
+ </div>
+ <div>
+ <label for="decimal_precision"/>
+ <field name="decimal_precision" class="oe_inline"/>
+ </div>
+ <div>
+ <label for="tax_calculation_rounding_method"/>
+ <field name="tax_calculation_rounding_method" class="oe_inline"/>
+ </div>
+ </div>
+ <label for="id" string="Features"/>
+ <div>
+ <div>
+ <field name="module_account_accountant" class="oe_inline"/>
+ <label for="module_account_accountant"/>
+ </div>
+ <div>
+ <field name="module_account_asset" class="oe_inline"/>
+ <label for="module_account_asset"/>
+ </div>
+ <div>
+ <field name="module_account_budget" class="oe_inline"/>
+ <label for="module_account_budget"/>
+ </div>
+ </div>
+ </group>
+ <separator name="analytic_account" string="Analytic Accounting" invisible="1"/>
+ <group name="analytic_account_sale" invisible="1">
+ <label for="id" string="Sale"/>
+ <div/>
+ </group>
+ <group name="analytic_account_purchase" invisible="1">
+ <label for="id" string="Purchase"/>
+ <div/>
</group>
<field name="sale_journal_id" invisible="1"/>
<field name="sale_refund_journal_id" invisible="1"/>
diff --git a/addons/account/wizard/account_chart_view.xml b/addons/account/wizard/account_chart_view.xml
index 553d83fa01c..ee4bdc199c5 100644
--- a/addons/account/wizard/account_chart_view.xml
+++ b/addons/account/wizard/account_chart_view.xml
@@ -36,7 +36,6 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_account_chart"/>
<field name="target">new</field>
- <field name="help">Display your company chart of accounts per fiscal year and filter by period. Have a complete tree view of all journal items per account code by clicking on an account.</field>
</record>
<menuitem icon="STOCK_INDENT" action="action_account_chart"
diff --git a/addons/account/wizard/account_move_bank_reconcile_view.xml b/addons/account/wizard/account_move_bank_reconcile_view.xml
index 58707c0d605..bd0a25bcf70 100644
--- a/addons/account/wizard/account_move_bank_reconcile_view.xml
+++ b/addons/account/wizard/account_move_bank_reconcile_view.xml
@@ -26,7 +26,6 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_account_move_bank_reconcile"/>
<field name="target">new</field>
- <field name="help">Bank Reconciliation consists of verifying that your bank statement corresponds with the entries (or records) of that account in your accounting system.</field>
</record>
</data>
diff --git a/addons/account/wizard/account_report_partner_balance_view.xml b/addons/account/wizard/account_report_partner_balance_view.xml
index e8abd1c68a2..3d3e020050c 100644
--- a/addons/account/wizard/account_report_partner_balance_view.xml
+++ b/addons/account/wizard/account_report_partner_balance_view.xml
@@ -27,7 +27,6 @@
<field name="view_id" ref="account_partner_balance_view"/>
<field name="context">{}</field>
<field name="target">new</field>
- <field name="help">This report is analysis by partner. It is a PDF report containing one line per partner representing the cumulative credit balance.</field>
</record>
<menuitem icon="STOCK_PRINT"
diff --git a/addons/account/wizard/account_tax_chart_view.xml b/addons/account/wizard/account_tax_chart_view.xml
index eef4401ee2f..08091ce1bda 100644
--- a/addons/account/wizard/account_tax_chart_view.xml
+++ b/addons/account/wizard/account_tax_chart_view.xml
@@ -32,7 +32,6 @@
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="view_id" ref="view_account_tax_chart"/>
- <field name="help">Chart of Taxes is a tree view reflecting the structure of the Tax Cases (or tax codes) and shows the current tax situation. The tax chart represents the amount of each area of the tax declaration for your country. It’s presented in a hierarchical structure, which can be modified to fit your needs.</field>
<field name="target">new</field>
</record>
diff --git a/addons/account/wizard/account_vat_view.xml b/addons/account/wizard/account_vat_view.xml
index acafb55e208..0a53a6207c5 100644
--- a/addons/account/wizard/account_vat_view.xml
+++ b/addons/account/wizard/account_vat_view.xml
@@ -36,7 +36,6 @@
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
- <field name="help">This menu print a tax declaration based on invoices or payments. You can select one or several periods of the fiscal year. Information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter.</field>
</record>
<menuitem
diff --git a/addons/account_accountant/__openerp__.py b/addons/account_accountant/__openerp__.py
index ff4e3faa3b6..7c97112b875 100644
--- a/addons/account_accountant/__openerp__.py
+++ b/addons/account_accountant/__openerp__.py
@@ -24,7 +24,7 @@
"author" : "OpenERP SA",
"category": 'Accounting & Finance',
"sequence": 10,
- "summary": "Accounts Moves, Journals, Chart of Accounts",
+ "summary": "Financial and Analytic Accounting",
"description": """
Accounting Access Rights.
=========================
diff --git a/addons/account_accountant/account_accountant_data.xml b/addons/account_accountant/account_accountant_data.xml
index 7724dcb6774..57fb229ad12 100644
--- a/addons/account_accountant/account_accountant_data.xml
+++ b/addons/account_accountant/account_accountant_data.xml
@@ -8,16 +8,28 @@
</data>
<data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="action_client_account_menu" model="ir.actions.client">
+ <field name="name">Open Accounting Menu</field>
+ <field name="tag">reload</field>
+ <field name="params" eval="{'menu_id': ref('account.menu_finance')}"/>
+ </record>
+ <record id="todo_open_account_menu" model="ir.actions.todo">
+ <field name="action_id" ref="action_client_account_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+ </data>
+
+ <data noupdate="1">
<!-- notify all employees of module installation -->
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
- <value>Module Accounting and Finance has been installed</value>
- <value>From the top menu Accounting, manage all of your accounting:
- general accounting, cost/analytic accounting, third party
- accounting, taxes, budgets, customer and supplier invoices,
- bank statements, reconciliation process.
- </value>
+ <value>Module Accounting and Finance has been installed.</value>
+ <value>With OpenERP's accounting, you can get an instant access to all your financial data, setup your analytic accounting, forecast your taxes, control your budgets, easily create and send invoices, record bank statements, etc.
+
+The accounting features are fully integrated with others OpenERP applications to automate all your processes: creation of customer invoices, control of supplier invoices, point-of-sale integration, automated follow-ups, etc.</value>
</function>
</data>
</openerp>
diff --git a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
index 8f86e9eeedc..537397fd369 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
@@ -19,32 +19,24 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Analytic Account">
- <group col="8" colspan="4">
- <field name="name" filter_domain="['|', ('name','ilike',self),('code','ilike',self)]" string="Contract"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-camera_test" name="open" string="Open" domain="[('state','in',('open','draft'))]" help="Contracts in progress"/>
- <filter icon="terp-gtk-media-pause" name="pending" string="Pending" domain="[('state','=','pending')]" help="Pending contracts to renew with your customer"/>
- <separator orientation="vertical"/>
- <filter icon="terp-go-today" string="To Renew" domain="['|', '&amp;', ('date', '!=', False), ('date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('is_overdue_quantity', '=', True)]"
- name="renew"
- help="The contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours" />
- <separator orientation="vertical"/>
- <filter string="Contracts Having a Partner" help="A contract in OpenERP is an analytic account having a partner set on it." name="has_partner" domain="[('partner_id', '!=', False)]" icon="terp-partner" />
- <filter string="Contracts not assigned" help="Contracts that are not assigned to an account manager." domain="[('user_id', '=', False)]" icon="terp-personal-" />
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="user_id"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self),('code','ilike',self)]" string="Contract"/>
+ <field name="date"/>
+ <filter icon="terp-camera_test" name="open" string="Open" domain="[('state','in',('open','draft'))]" help="Contracts in progress"/>
+ <filter icon="terp-gtk-media-pause" name="pending" string="Pending" domain="[('state','=','pending')]" help="Pending contracts to renew with your customer"/>
+ <separator/>
+ <filter icon="terp-go-today" string="To Renew" domain="['|', '&amp;', ('date', '!=', False), ('date', '&lt;=', time.strftime('%%Y-%%m-%%d')), ('is_overdue_quantity', '=', True)]" name="renew"
+ help="The contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours" />
+ <separator/>
+ <filter string="Contracts Having a Partner" help="A contract in OpenERP is an analytic account having a partner set on it." name="has_partner" domain="[('partner_id', '!=', False)]" icon="terp-partner" />
+ <separator/>
+ <filter string="Contracts not assigned" help="Contracts that are not assigned to an account manager." domain="[('user_id', '=', False)]" icon="terp-personal-" />
+ <field name="partner_id"/>
+ <field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="Status" icon="terp-personal" domain="[]" context="{'group_by':'state'}"/>
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Parent" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/>
- <separator orientation="vertical"/>
<filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by' : 'date_start'}" />
<filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by' : 'date'}" />
</group>
@@ -61,7 +53,19 @@
<field name="context">{'search_default_user_id':uid, 'search_default_draft':1, 'search_default_pending':1, 'search_default_open':1, 'search_default_renew':1}</field>
<field name="domain">[('type','=','contract')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
- <field name="help">You will find here the contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours. OpenERP automatically sets these analytic accounts to the pending state, in order to raise a warning during the timesheets recording. Salesmen should review all pending accounts and reopen or close the according to the negotiation with the customer.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new contract.
+ </p><p>
+ You will find here the contracts to be renewed because the
+ end date is passed or the working effort is higher than the
+ maximum authorized one.
+ </p><p>
+ OpenERP automatically sets contracts to be renewed in a pending
+ state. After the negociation, the salesman should close or renew
+ pending contracts.
+ </p>
+ </field>
</record>
<menuitem action="action_account_analytic_overdue" id="menu_action_account_analytic_overdue" sequence="50" parent="base.menu_invoiced"/>
diff --git a/addons/account_analytic_default/account_analytic_default_view.xml b/addons/account_analytic_default/account_analytic_default_view.xml
index beb4dcbd34e..3e2ba0fe5f3 100644
--- a/addons/account_analytic_default/account_analytic_default_view.xml
+++ b/addons/account_analytic_default/account_analytic_default_view.xml
@@ -46,23 +46,17 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Accounts">
- <group>
- <field name="date_stop"/>
- <separator orientation="vertical"/>
- <field name="analytic_id" groups="analytic.group_analytic_accounting"/>
- <field name="product_id"/>
- <field name="partner_id"/>
- <field name="user_id"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- </group>
- <newline/>
+ <field name="date_stop"/>
+ <field name="analytic_id" groups="analytic.group_analytic_accounting"/>
+ <field name="product_id"/>
+ <field name="partner_id"/>
+ <field name="user_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="User" icon="terp-personal" context="{'group_by':'user_id'}" help="User"/>
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" help="Partner"/>
- <separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}" help="Product" />
<filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'analytic_id'}" help="Analytic Account" groups="analytic.group_analytic_accounting"/>
- <separator orientation="vertical"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company" />
</group>
</search>
diff --git a/addons/account_anglo_saxon/__openerp__.py b/addons/account_anglo_saxon/__openerp__.py
index 6d0d29e468b..5073d6522e3 100644
--- a/addons/account_anglo_saxon/__openerp__.py
+++ b/addons/account_anglo_saxon/__openerp__.py
@@ -22,7 +22,7 @@
"name": "Anglo-Saxon Accounting",
"version": "1.2",
"author": "OpenERP SA, Veritos",
- "website": "http://tinyerp.com - http://veritos.nl",
+ "website": "http://openerp.com - http://veritos.nl",
"description": """
This module supports the Anglo-Saxon accounting methodology by changing the accounting logic with stock transactions.
=====================================================================================================================
diff --git a/addons/account_asset/account_asset_invoice_view.xml b/addons/account_asset/account_asset_invoice_view.xml
index fe1435d4745..40ee51e10b8 100644
--- a/addons/account_asset/account_asset_invoice_view.xml
+++ b/addons/account_asset/account_asset_invoice_view.xml
@@ -1,22 +1,19 @@
<?xml version="1.0"?>
<openerp>
-<data>
+ <data>
- #---------------------------------------------------------
- # Fiscal Year
- #---------------------------------------------------------
-
- <record model="ir.ui.view" id="view_account_invoice_asset_form">
- <field name="name">account.invoice.line.form</field>
- <field name="model">account.invoice.line</field>
- <field name="inherit_id" ref="account.view_invoice_line_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="account_id" position="after">
- <field name="asset_category_id"/>
+ <!-- Fiscal Year -->
+ <record model="ir.ui.view" id="view_account_invoice_asset_form">
+ <field name="name">account.invoice.line.form</field>
+ <field name="model">account.invoice.line</field>
+ <field name="inherit_id" ref="account.view_invoice_line_form"/>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <field name="account_id" position="after">
+ <field name="asset_category_id"/>
+ </field>
</field>
- </field>
- </record>
+ </record>
-</data>
+ </data>
</openerp>
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index dec5f3714d6..cdc772ad65d 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -65,7 +65,6 @@
<field name="arch" type="xml">
<search string="Search Asset Category">
<field name="name" string="Asset Category"/>
- <separator orientation="vertical"/>
<field name="journal_id"/>
</search>
</field>
@@ -231,17 +230,12 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Account Asset">
- <group col="10" colspan="12">
- <field name="name" string="Asset"/>
- <separator orientation="vertical"/>
- <field name="purchase_date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" string="Current" domain="[('state','in', ('draft','open'))]" help="Assets in draft and open states"/>
- <filter icon="terp-dialog-close" string="Closed" domain="[('state','=', 'close')]" help="Assets in closed state"/>
- <separator orientation="vertical"/>
- <field name="category_id"/>
- <field name="partner_id"/>
- </group>
+ <field name="name" string="Asset"/>
+ <field name="purchase_date"/>
+ <filter icon="terp-check" string="Current" domain="[('state','in', ('draft','open'))]" help="Assets in draft and open states"/>
+ <filter icon="terp-dialog-close" string="Closed" domain="[('state','=', 'close')]" help="Assets in closed state"/>
+ <field name="category_id"/>
+ <field name="partner_id"/>
</search>
</field>
</record>
diff --git a/addons/account_asset/i18n/es_EC.po b/addons/account_asset/i18n/es_EC.po
index 0aea9f1a44e..9ce2a26fcec 100644
--- a/addons/account_asset/i18n/es_EC.po
+++ b/addons/account_asset/i18n/es_EC.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-03-24 03:16+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2012-07-30 03:27+0000\n"
+"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@gmail.com>\n"
"Language-Team: Spanish (Ecuador) <es_EC@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-07-14 06:27+0000\n"
-"X-Generator: Launchpad (build 15614)\n"
+"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n"
+"X-Generator: Launchpad (build 15719)\n"
#. module: account_asset
#: view:account.asset.asset:0
@@ -438,12 +438,12 @@ msgstr "Método de tiempo"
#. module: account_asset
#: view:account.asset.category:0
msgid "Analytic Information"
-msgstr ""
+msgstr "Información analítica"
#. module: account_asset
#: view:asset.modify:0
msgid "Asset Durations to Modify"
-msgstr ""
+msgstr "Duraciones de activo para modificar"
#. module: account_asset
#: constraint:account.move.line:0
@@ -619,7 +619,7 @@ msgstr "Prorata Temporis"
#. module: account_asset
#: view:account.asset.category:0
msgid "Accounting Information"
-msgstr ""
+msgstr "Información Contable"
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_invoice
diff --git a/addons/account_asset/report/account_asset_report_view.xml b/addons/account_asset/report/account_asset_report_view.xml
index 6cb138b072a..91f700fb92a 100644
--- a/addons/account_asset/report/account_asset_report_view.xml
+++ b/addons/account_asset/report/account_asset_report_view.xml
@@ -43,34 +43,24 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Assets Analysis">
- <group col="10" colspan="12">
- <field name="purchase_date"/>
- <field name="depreciation_date"/>
- <separator orientation="vertical"/>
- <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Assets in draft state"/>
- <filter string="Running" icon="terp-check" domain="[('state','=','open')]" help="Assets in running state"/>
- <separator orientation="vertical"/>
- <filter string="Posted" name="posted" icon="terp-camera_test" domain="[('move_check','=',True)]" help="Posted depreciation lines"
- context="{'unposted_value_visible': 0}"/>
- <separator orientation="vertical"/>
- <field name="asset_id"/>
- <field name="asset_category_id"/>
- </group>
- <newline/>
+ <field name="purchase_date"/>
+ <field name="depreciation_date"/>
+ <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Assets in draft state"/>
+ <filter string="Running" icon="terp-check" domain="[('state','=','open')]" help="Assets in running state"/>
+ <separator/>
+ <filter string="Posted" name="posted" icon="terp-camera_test" domain="[('move_check','=',True)]" help="Posted depreciation lines" context="{'unposted_value_visible': 0}"/>
+ <field name="asset_id"/>
+ <field name="asset_category_id"/>
<group expand="0" string="Extended Filters...">
<field name="partner_id"/>
- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
<filter string="Asset" name="asset" context="{'group_by':'asset_id'}"/>
<filter string="Asset Category" name="asset_category" icon="terp-stock_symbol-selection" context="{'group_by':'asset_category_id'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical" />
<filter string="Purchase Date" icon="terp-go-month"
domain="[]" context="{'group_by':'purchase_date'}" help="Date of asset purchase"/>
- <separator orientation="vertical" />
<filter string="Depreciation Date" icon="terp-go-today"
domain="[]" context="{'group_by':'depreciation_date'}" help="Date of depreciation"/>
</group>
@@ -85,7 +75,13 @@
<field name="view_mode">tree,graph</field>
<field name="search_view_id" ref="view_asset_asset_report_search"/>
<field name="context">{'search_default_year':1,'search_default_this_month':1,'search_default_asset_category':1, 'search_default_posted':1, 'group_by':[], 'group_by_no_leaf':1}</field>
- <field name="help">From this report, you can have an overview on all depreciation. The tool search can also be used to personalise your Assets reports and so, match this analysis to your needs;</field>
+ <field name="help" type="html">
+ <p>
+ From this report, you can have an overview on all depreciation. The
+ tool search can also be used to personalise your Assets reports and
+ so, match this analysis to your needs;
+ </p>
+ </field>
</record>
<menuitem action="action_asset_asset_report"
diff --git a/addons/account_bank_statement_extensions/account_bank_statement_view.xml b/addons/account_bank_statement_extensions/account_bank_statement_view.xml
index a3185db2c92..c77fb896840 100644
--- a/addons/account_bank_statement_extensions/account_bank_statement_view.xml
+++ b/addons/account_bank_statement_extensions/account_bank_statement_view.xml
@@ -123,22 +123,16 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Bank Transactions">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Bank Transaction"/>
- <separator orientation="vertical"/>
- <field name="val_date"/>
- <separator orientation="vertical"/>
- <filter name="debit" string="Debit" domain="[('amount','&gt;',0)]" icon="terp-folder-green" help="Debit Transactions."/>
- <filter name="credit" string="Credit" domain="[('amount','&lt;',0)]" icon="terp-folder-orange" help="Credit Transactions."/>
- <separator orientation="vertical"/>
- <filter name="draft" string="Draft" domain="[('state','=','draft')]" icon="terp-document-new" help="Draft Statement Lines."/>
- <filter name="confirm" string="Confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test" help="Confirmed Statement Lines."/>
- <separator orientation="vertical"/>
- <field name="journal_id"/>
- <field name="statement_id"/>
- <field name="globalisation_id" string="Glob. Id"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Bank Transaction"/>
+ <field name="val_date"/>
+ <filter name="debit" string="Debit" domain="[('amount','&gt;',0)]" icon="terp-folder-green" help="Debit Transactions."/>
+ <filter name="credit" string="Credit" domain="[('amount','&lt;',0)]" icon="terp-folder-orange" help="Credit Transactions."/>
+ <separator/>
+ <filter name="draft" string="Draft" domain="[('state','=','draft')]" icon="terp-document-new" help="Draft Statement Lines."/>
+ <filter name="confirm" string="Confirmed" domain="[('state','=','confirm')]" icon="terp-camera_test" help="Confirmed Statement Lines."/>
+ <field name="journal_id"/>
+ <field name="statement_id"/>
+ <field name="globalisation_id" string="Glob. Id"/>
<group string="Extended Filters..." expand="0">
<field name="account_id"/>
<field name="partner_id"/>
@@ -146,7 +140,6 @@
<field name="globalisation_amount" string="Glob. Amount"/>
<field name="note"/>
</group>
- <newline/>
<group string="Group By..." expand="1">
<filter string="Journal" context="{'group_by':'journal_id'}" icon="terp-folder-green"/>
<filter string="Statement" context="{'group_by':'statement_id'}" icon="terp-folder-orange"/>
diff --git a/addons/account_bank_statement_extensions/i18n/tr.po b/addons/account_bank_statement_extensions/i18n/tr.po
new file mode 100644
index 00000000000..4adfe7f304f
--- /dev/null
+++ b/addons/account_bank_statement_extensions/i18n/tr.po
@@ -0,0 +1,382 @@
+# Turkish translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:35+0000\n"
+"PO-Revision-Date: 2012-08-05 14:35+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Turkish <tr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-08-06 04:58+0000\n"
+"X-Generator: Launchpad (build 15745)\n"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Search Bank Transactions"
+msgstr "Banka İşlemi Ara"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+#: selection:account.bank.statement.line,state:0
+msgid "Confirmed"
+msgstr "Onaylandı"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement:0
+#: view:account.bank.statement.line:0
+msgid "Glob. Id"
+msgstr "Glob. Id"
+
+#. module: account_bank_statement_extensions
+#: selection:account.bank.statement.line.global,type:0
+msgid "CODA"
+msgstr "CODA"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,parent_id:0
+msgid "Parent Code"
+msgstr "Ana Kod"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Debit"
+msgstr "Borç"
+
+#. module: account_bank_statement_extensions
+#: view:cancel.statement.line:0
+#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_cancel_statement_line
+#: model:ir.model,name:account_bank_statement_extensions.model_cancel_statement_line
+msgid "Cancel selected statement lines"
+msgstr "Seçili hesap özeti satırlarını sil"
+
+#. module: account_bank_statement_extensions
+#: constraint:res.partner.bank:0
+msgid "The RIB and/or IBAN is not valid"
+msgstr "RIB ve/veya IBAN geçerli değil"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Group By..."
+msgstr "Gruplandır..."
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,state:0
+msgid "State"
+msgstr "Durum"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+#: selection:account.bank.statement.line,state:0
+msgid "Draft"
+msgstr "Taslak"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Statement"
+msgstr "Hesap Özeti"
+
+#. module: account_bank_statement_extensions
+#: view:confirm.statement.line:0
+#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_confirm_statement_line
+#: model:ir.model,name:account_bank_statement_extensions.model_confirm_statement_line
+msgid "Confirm selected statement lines"
+msgstr "Seçili hesap özeti satırlarını onayla"
+
+#. module: account_bank_statement_extensions
+#: report:bank.statement.balance.report:0
+#: model:ir.actions.report.xml,name:account_bank_statement_extensions.bank_statement_balance_report
+msgid "Bank Statement Balances Report"
+msgstr "Banka Durumu Raporu"
+
+#. module: account_bank_statement_extensions
+#: view:cancel.statement.line:0
+msgid "Cancel Lines"
+msgstr "Satırları İptal et"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line.global:0
+#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line_global
+msgid "Batch Payment Info"
+msgstr "Toplu Ödeme Bilgisi"
+
+#. module: account_bank_statement_extensions
+#: view:confirm.statement.line:0
+msgid "Confirm Lines"
+msgstr "Satırları Onayla"
+
+#. module: account_bank_statement_extensions
+#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
+#, python-format
+msgid ""
+"Delete operation not allowed ! Please go to the associated bank "
+"statement in order to delete and/or modify this bank statement line"
+msgstr ""
+"İşlemin silinmesine izin verilmedi! Bu banka hesap özeti satırını silmek/ ya "
+"da değiştirmek için bağlantılı banka hesap özetine gidin"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,type:0
+msgid "Type"
+msgstr "Tür"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+#: field:account.bank.statement.line,journal_id:0
+#: report:bank.statement.balance.report:0
+msgid "Journal"
+msgstr "Günlük"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Confirmed Statement Lines."
+msgstr "Onayl Hesap Özeti Satırları."
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Credit Transactions."
+msgstr "Krdei İşlemleri"
+
+#. module: account_bank_statement_extensions
+#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_cancel_statement_line
+msgid "cancel selected statement lines."
+msgstr "Seçili hesap özeti satırlarını iptal et."
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,counterparty_number:0
+msgid "Counterparty Number"
+msgstr "Karşı Taraf Numarası"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line.global:0
+msgid "Transactions"
+msgstr "İşlemler"
+
+#. module: account_bank_statement_extensions
+#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
+#, python-format
+msgid "Warning"
+msgstr "Uyarı"
+
+#. module: account_bank_statement_extensions
+#: report:bank.statement.balance.report:0
+msgid "Closing Balance"
+msgstr "Kapanış Bakiyesi"
+
+#. module: account_bank_statement_extensions
+#: report:bank.statement.balance.report:0
+msgid "Date"
+msgstr "Tarih"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+#: field:account.bank.statement.line,globalisation_amount:0
+msgid "Glob. Amount"
+msgstr "Glob. Tutar"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Debit Transactions."
+msgstr "Borç İşlemleri."
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Extended Filters..."
+msgstr "Genişletilmiş Süzgeçler..."
+
+#. module: account_bank_statement_extensions
+#: view:confirm.statement.line:0
+msgid "Confirmed lines cannot be changed anymore."
+msgstr "Onaylı satırlar artık değiştirilemez."
+
+#. module: account_bank_statement_extensions
+#: constraint:res.partner.bank:0
+msgid ""
+"\n"
+"Please define BIC/Swift code on bank for bank type IBAN Account to make "
+"valid payments"
+msgstr ""
+"\n"
+"IBAN hesap tipli bankalara geçerli ödeme yapabilmek için lütfen bankanın "
+"BIC/SWIFT kodunu tanımlayın"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,val_date:0
+msgid "Valuta Date"
+msgstr "Efektif Tarih"
+
+#. module: account_bank_statement_extensions
+#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_confirm_statement_line
+msgid "Confirm selected statement lines."
+msgstr "Seçili hesap özeti satırlarını onayla."
+
+#. module: account_bank_statement_extensions
+#: view:cancel.statement.line:0
+msgid "Are you sure you want to cancel the selected Bank Statement lines ?"
+msgstr ""
+"Seçili Banka Hesap Özeti satırlarını iptal etmek istediğinizden emin misiniz?"
+
+#. module: account_bank_statement_extensions
+#: report:bank.statement.balance.report:0
+msgid "Name"
+msgstr "Adı"
+
+#. module: account_bank_statement_extensions
+#: selection:account.bank.statement.line.global,type:0
+msgid "ISO 20022"
+msgstr "ISO 20022"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Notes"
+msgstr "Notlar"
+
+#. module: account_bank_statement_extensions
+#: selection:account.bank.statement.line.global,type:0
+msgid "Manual"
+msgstr "El ile"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Credit"
+msgstr "Alacak"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,amount:0
+msgid "Amount"
+msgstr "Tutar"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Fin.Account"
+msgstr "Fin.Hesap"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,counterparty_currency:0
+msgid "Counterparty Currency"
+msgstr "Karşı Taraf Para Birimi"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,counterparty_bic:0
+msgid "Counterparty BIC"
+msgstr "Karşı Tarafı BIC"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,child_ids:0
+msgid "Child Codes"
+msgstr "Alt Kodlar"
+
+#. module: account_bank_statement_extensions
+#: view:confirm.statement.line:0
+msgid "Are you sure you want to confirm the selected Bank Statement lines ?"
+msgstr ""
+"Seçili Banka Hesap Özeti satırlarını onaylamak istediğinizden emin misiniz?"
+
+#. module: account_bank_statement_extensions
+#: constraint:account.bank.statement.line:0
+msgid ""
+"The amount of the voucher must be the same amount as the one on the "
+"statement line"
+msgstr "Fiş tutarı banka hesap özetindekiyle aynı tutarda olmalı"
+
+#. module: account_bank_statement_extensions
+#: help:account.bank.statement.line,globalisation_id:0
+msgid ""
+"Code to identify transactions belonging to the same globalisation level "
+"within a batch payment"
+msgstr ""
+"Bir toplu ödemede aynı küreselleşme seviyesine ait işlemlerin tanımlama Kodu"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Draft Statement Lines."
+msgstr "Taslak Hesap Özeti satırları"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Glob. Am."
+msgstr "Glob. Am."
+
+#. module: account_bank_statement_extensions
+#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line
+msgid "Bank Statement Line"
+msgstr "Banka Hesap Özeti Satırı"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,code:0
+msgid "Code"
+msgstr "Kod"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,counterparty_name:0
+msgid "Counterparty Name"
+msgstr "Karşı Taraf Adı"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,name:0
+msgid "Communication"
+msgstr "İletişim"
+
+#. module: account_bank_statement_extensions
+#: model:ir.model,name:account_bank_statement_extensions.model_res_partner_bank
+msgid "Bank Accounts"
+msgstr "Banka Hesapları"
+
+#. module: account_bank_statement_extensions
+#: constraint:account.bank.statement:0
+msgid "The journal and period chosen have to belong to the same company."
+msgstr "Seçilen günlük ve dönem aynı firmaya ait olmalıdır."
+
+#. module: account_bank_statement_extensions
+#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement
+msgid "Bank Statement"
+msgstr "Banka Hesap Özeti"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Statement Line"
+msgstr "Hesap Özeti Satırı"
+
+#. module: account_bank_statement_extensions
+#: sql_constraint:account.bank.statement.line.global:0
+msgid "The code must be unique !"
+msgstr "Kod eşsiz olamlı!"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line.global,bank_statement_line_ids:0
+#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_bank_statement_line
+#: model:ir.ui.menu,name:account_bank_statement_extensions.bank_statement_line
+msgid "Bank Statement Lines"
+msgstr "Banka Hesap Özeti Satırları"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line.global:0
+msgid "Child Batch Payments"
+msgstr "Alt Toplu Ödemeler"
+
+#. module: account_bank_statement_extensions
+#: view:cancel.statement.line:0
+#: view:confirm.statement.line:0
+msgid "Cancel"
+msgstr "Vazgeç"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Statement Lines"
+msgstr "Hesap Özeti Satırları"
+
+#. module: account_bank_statement_extensions
+#: view:account.bank.statement.line:0
+msgid "Total Amount"
+msgstr "Toplam Tutar"
+
+#. module: account_bank_statement_extensions
+#: field:account.bank.statement.line,globalisation_id:0
+msgid "Globalisation ID"
+msgstr "Küreselleşme ID"
diff --git a/addons/account_bank_statement_extensions/wizard/confirm_statement_line_wizard.xml b/addons/account_bank_statement_extensions/wizard/confirm_statement_line_wizard.xml
index 8feee5545f1..91a3a99c197 100644
--- a/addons/account_bank_statement_extensions/wizard/confirm_statement_line_wizard.xml
+++ b/addons/account_bank_statement_extensions/wizard/confirm_statement_line_wizard.xml
@@ -27,7 +27,6 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_confirm_statement_line"/>
- <field name="help">Confirm selected statement lines.</field>
<field name="target">new</field>
</record>
diff --git a/addons/account_budget/account_budget_view.xml b/addons/account_budget/account_budget_view.xml
index db83df9c07f..f3f4e5fc47d 100644
--- a/addons/account_budget/account_budget_view.xml
+++ b/addons/account_budget/account_budget_view.xml
@@ -19,7 +19,7 @@
<field name="arch" type="xml">
<search string="Budgetary Position">
<field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Budgetary Position"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
</record>
@@ -201,17 +201,12 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Budget">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Budget"/>
- <separator orientation="vertical"/>
- <field name="date_from"/>
- <field name="date_to"/>
- <separator orientation="vertical"/>
- <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Draft Budgets"/>
- <filter string="To Approve" icon="terp-camera_test" domain="[('state','=','confirm')]" help="To Approve Budgets" />
- <separator orientation="vertical"/>
- <field name="state"/>
- </group>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Budget"/>
+ <field name="date_from"/>
+ <field name="date_to"/>
+ <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help="Draft Budgets"/>
+ <filter string="To Approve" icon="terp-camera_test" domain="[('state','=','confirm')]" help="To Approve Budgets" />
+ <field name="state"/>
</search>
</field>
</record>
@@ -223,7 +218,20 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="crossovered_budget_view_tree"/>
<field name="search_view_id" ref="view_crossovered_budget_search"/>
- <field name="help">A budget is a forecast of your company's income and expenses expected for a period in the future. With a budget, a company is able to carefully look at how much money they are taking in during a given period, and figure out the best way to divide it among various categories. By keeping track of where your money goes, you may be less likely to overspend, and more likely to meet your financial goals. Forecast a budget by detailing the expected revenue per analytic account and monitor its evolution based on the actuals realised during that period.</field>
+ <field name="help" type="html">
+ <p>
+ A budget is a forecast of your company's income and/or expenses
+ expected for a period in the future. A budget is defined on some
+ financial accounts and/or analytic accounts (that may represent
+ projects, departments, categories of products, etc.)
+ </p><p>
+ By keeping track of where your money goes, you may be less
+ likely to overspend, and more likely to meet your financial
+ goals. Forecast a budget by detailing the expected revenue per
+ analytic account and monitor its evolution based on the actuals
+ realised during that period.
+ </p>
+ </field>
</record>
<menuitem parent="next_id_31"
id="menu_act_crossovered_budget_view"
diff --git a/addons/account_check_writing/account_voucher_view.xml b/addons/account_check_writing/account_voucher_view.xml
index 07d73188db8..96592b0da5a 100644
--- a/addons/account_check_writing/account_voucher_view.xml
+++ b/addons/account_check_writing/account_voucher_view.xml
@@ -34,7 +34,17 @@
<field name="context">{'type':'payment','write_check':True}</field>
<field name="search_view_id" ref="account_voucher.view_voucher_filter"/>
<field name="target">current</field>
- <field name="help">The check payment form allows you to track the payment you do to your suppliers specially by check. When you select a supplier, the payment method and an amount for the payment, OpenERP will propose to reconcile your payment with the open supplier invoices or bills.You can print the check</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new check.
+ </p><p>
+ The check payment form allows you to track the payment you do
+ to your suppliers using checks. When you select a supplier, the
+ payment method and an amount for the payment, OpenERP will
+ propose to reconcile your payment with the open supplier
+ invoices or bills.
+ </p>
+ </field>
</record>
<record id="action_write_check_form" model="ir.actions.act_window.view">
diff --git a/addons/account_check_writing/i18n/sv.po b/addons/account_check_writing/i18n/sv.po
new file mode 100644
index 00000000000..f15ca09baa9
--- /dev/null
+++ b/addons/account_check_writing/i18n/sv.po
@@ -0,0 +1,199 @@
+# Swedish translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:35+0000\n"
+"PO-Revision-Date: 2012-08-01 23:35+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:48+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
+
+#. module: account_check_writing
+#: selection:res.company,check_layout:0
+msgid "Check on Top"
+msgstr ""
+
+#. module: account_check_writing
+#: model:ir.actions.act_window,help:account_check_writing.action_write_check
+msgid ""
+"The check payment form allows you to track the payment you do to your "
+"suppliers specially by check. When you select a supplier, the payment method "
+"and an amount for the payment, OpenERP will propose to reconcile your "
+"payment with the open supplier invoices or bills.You can print the check"
+msgstr ""
+
+#. module: account_check_writing
+#: view:account.voucher:0
+#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom
+#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle
+#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top
+msgid "Print Check"
+msgstr "Skriv ut check"
+
+#. module: account_check_writing
+#: selection:res.company,check_layout:0
+msgid "Check in middle"
+msgstr ""
+
+#. module: account_check_writing
+#: help:res.company,check_layout:0
+msgid ""
+"Check on top is compatible with Quicken, QuickBooks and Microsoft Money. "
+"Check in middle is compatible with Peachtree, ACCPAC and DacEasy. Check on "
+"bottom is compatible with Peachtree, ACCPAC and DacEasy only"
+msgstr ""
+
+#. module: account_check_writing
+#: selection:res.company,check_layout:0
+msgid "Check on bottom"
+msgstr ""
+
+#. module: account_check_writing
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr "Fel! Du kan inte skapa rekursiva företag."
+
+#. module: account_check_writing
+#: help:account.journal,allow_check_writing:0
+msgid "Check this if the journal is to be used for writing checks."
+msgstr ""
+
+#. module: account_check_writing
+#: field:account.journal,allow_check_writing:0
+msgid "Allow Check writing"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Description"
+msgstr "Beskrivning"
+
+#. module: account_check_writing
+#: model:ir.model,name:account_check_writing.model_account_journal
+msgid "Journal"
+msgstr "Journal"
+
+#. module: account_check_writing
+#: model:ir.actions.act_window,name:account_check_writing.action_write_check
+#: model:ir.ui.menu,name:account_check_writing.menu_action_write_check
+msgid "Write Checks"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Discount"
+msgstr "Rabatt"
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Original Amount"
+msgstr "Ursprungligt belopp"
+
+#. module: account_check_writing
+#: view:res.company:0
+msgid "Configuration"
+msgstr ""
+
+#. module: account_check_writing
+#: field:account.voucher,allow_check:0
+msgid "Allow Check Writing"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Payment"
+msgstr "Betalning"
+
+#. module: account_check_writing
+#: field:account.journal,use_preprint_check:0
+msgid "Use Preprinted Check"
+msgstr ""
+
+#. module: account_check_writing
+#: sql_constraint:res.company:0
+msgid "The company name must be unique !"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Due Date"
+msgstr ""
+
+#. module: account_check_writing
+#: model:ir.model,name:account_check_writing.model_res_company
+msgid "Companies"
+msgstr "Företag"
+
+#. module: account_check_writing
+#: view:res.company:0
+msgid "Default Check Layout"
+msgstr ""
+
+#. module: account_check_writing
+#: constraint:account.journal:0
+msgid ""
+"Configuration error! The currency chosen should be shared by the default "
+"accounts too."
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+msgid "Balance Due"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.bottom:0
+#: report:account.print.check.middle:0
+#: report:account.print.check.top:0
+msgid "Check Amount"
+msgstr ""
+
+#. module: account_check_writing
+#: model:ir.model,name:account_check_writing.model_account_voucher
+msgid "Accounting Voucher"
+msgstr ""
+
+#. module: account_check_writing
+#: sql_constraint:account.journal:0
+msgid "The name of the journal must be unique per company !"
+msgstr "Journalnamnet måste vara unikt per företag!"
+
+#. module: account_check_writing
+#: sql_constraint:account.journal:0
+msgid "The code of the journal must be unique per company !"
+msgstr "Journalkoden måste vara unik per företag!"
+
+#. module: account_check_writing
+#: field:account.voucher,amount_in_word:0
+msgid "Amount in Word"
+msgstr ""
+
+#. module: account_check_writing
+#: report:account.print.check.top:0
+msgid "Open Balance"
+msgstr ""
+
+#. module: account_check_writing
+#: field:res.company,check_layout:0
+msgid "Choose Check layout"
+msgstr ""
diff --git a/addons/account_coda/account_coda_view.xml b/addons/account_coda/account_coda_view.xml
index bb2e833ce25..07f397c663f 100644
--- a/addons/account_coda/account_coda_view.xml
+++ b/addons/account_coda/account_coda_view.xml
@@ -12,18 +12,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="CODA Bank Account Configuration">
- <field name="name"
- filter_domain="['|', ('name','ilike',self), ('description1','ilike',self)]"
- string="CODA Bank Account"/>
- <separator orientation="vertical"/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('description1','ilike',self)]" string="CODA Bank Account"/>
<filter string="Normal" domain="[('state','=','normal')]" icon="terp-folder-green"/>
<filter string="Info" domain="[('state','=','info')]" icon="terp-folder-yellow"/>
- <separator orientation="vertical"/>
<field name="bank_id"/>
<field name="journal"/>
- <field name="currency" widget="selection"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- <newline/>
+ <field name="currency"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="Bank Account" icon="terp-folder-yellow" domain="[]" context="{'group_by':'bank_id'}"/>
<filter string="Currency" icon="terp-dolar" domain="[]" context="{'group_by':'currency'}"/>
@@ -271,20 +266,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search CODA Files">
- <group col="10" colspan="4">
<field name="coda_creation_date"/>
<field name="date"/>
- <field name="user_id" widget='selection'/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- </group>
- <newline/>
- <group expand="0" string="Group By...">
- <filter string="CODA Creation Date" icon="terp-go-month" domain="[]" context="{'group_by':'coda_creation_date'}"/>
- <separator orientation="vertical"/>
- <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Company" icon="terp-go-home" domain="[]" groups="base.group_multi_company" context="{'group_by':'company_id'}"/>
- </group>
+ <field name="user_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
+ <group expand="0" string="Group By...">
+ <filter string="CODA Creation Date" icon="terp-go-month" domain="[]" context="{'group_by':'coda_creation_date'}"/>
+ <filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
+ <filter string="Company" icon="terp-go-home" domain="[]" groups="base.group_multi_company" context="{'group_by':'company_id'}"/>
+ </group>
</search>
</field>
</record>
@@ -389,20 +379,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search CODA Bank Statements">
- <group col="8" colspan="4">
- <field name="name"
- string="CODA Bank Statement"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter string="Normal" domain="[('type','=','normal')]" icon="terp-folder-green"/>
- <filter string="Info" domain="[('type','=','info')]" icon="terp-folder-yellow"/>
- <separator orientation="vertical"/>
- <field name="period_id"/>
- <field name="coda_bank_account_id"/>
- <field name="journal_id" widget="selection" domain="[('type', '=', 'bank')]"/>
- </group>
- <newline/>
+ <field name="name" string="CODA Bank Statement"/>
+ <field name="date"/>
+ <filter string="Normal" domain="[('type','=','normal')]" icon="terp-folder-green"/>
+ <filter string="Info" domain="[('type','=','info')]" icon="terp-folder-yellow"/>
+ <field name="period_id"/>
+ <field name="coda_bank_account_id"/>
+ <field name="journal_id" domain="[('type', '=', 'bank')]"/>
<group expand="0" string="Group By...">
<filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/>
<filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/>
@@ -481,20 +464,12 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Bank Transactions">
- <group col='6' colspan='4'>
- <field name="name"
- filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]"
- string="Bank Transaction"/>
- <separator orientation="vertical"/>
- <field name="val_date"/>
- <separator orientation="vertical"/>
- <filter name="debit" string="Debit" domain="[('amount','&gt;',0)]" icon="terp-folder-green" help="Debit Transactions."/>
- <filter name="credit" string="Credit" domain="[('amount','&lt;',0)]" icon="terp-folder-orange" help="Credit Transactions."/>
- <separator orientation="vertical"/>
- <field name="statement_id"/>
- <field name="globalisation_id" string="Glob. Id"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Bank Transaction"/>
+ <field name="val_date"/>
+ <filter name="debit" string="Debit" domain="[('amount','&gt;',0)]" icon="terp-folder-green" help="Debit Transactions."/>
+ <filter name="credit" string="Credit" domain="[('amount','&lt;',0)]" icon="terp-folder-orange" help="Credit Transactions."/>
+ <field name="statement_id"/>
+ <field name="globalisation_id" string="Glob. Id"/>
<group expand="0" string="Extended Filters...">
<field name="coda_bank_account_id"/>
<field name="account_id"/>
diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml
index 9c11815e05b..3d1d4333bbb 100644
--- a/addons/account_followup/account_followup_view.xml
+++ b/addons/account_followup/account_followup_view.xml
@@ -71,11 +71,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Follow-up">
- <group>
- <field name="name" string="Follow-up"/>
- <separator orientation="vertical"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- </group>
+ <field name="name" string="Follow-up"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
</record>
@@ -86,7 +83,16 @@
<field name="res_model">account_followup.followup</field>
<field name="search_view_id" ref="view_account_followup_filter"/>
<field name="view_type">form</field>
- <field name="help">Define follow-up levels and their related messages and delay. For each step, specify the message and the day of delay. Use the legend to know the using code to adapt the email content to the good context (good name, good date) and you can manage the multi language of messages.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define follow-up levels and their related messages.
+ </p><p>
+ For each step, specify the message and the day of delay. Use
+ the legend to know the using code to adapt the email content to
+ the good context (good name, good date) and you can manage the
+ multi language of messages.
+ </p>
+ </field>
</record>
<menuitem action="action_account_followup_definition_form" id="account_followup_menu" parent="account.menu_configuration_misc"/>
diff --git a/addons/account_followup/report/account_followup_report.xml b/addons/account_followup/report/account_followup_report.xml
index 2bdf8eb74bf..6ec18407787 100644
--- a/addons/account_followup/report/account_followup_report.xml
+++ b/addons/account_followup/report/account_followup_report.xml
@@ -40,31 +40,20 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Follow-ups Sent">
- <group>
- <field name="date_move"/>
- <field name="date_move_last"/>
- <separator orientation="vertical"/>
- <filter icon="terp-go-year" string="This Fiscal year"
- name="fiscalyear"
- domain="[('period_id','in','current_year')]"
- help="Follow-up Entries with period in current year"/>
- <separator orientation="vertical"/>
- <filter icon="terp-camera_test" string="Not Litigation"
- domain="[('blocked','=', False)]"
- help = "Including journal entries marked as a litigation"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="balance"/>
- </group>
- <newline/>
+ <field name="date_move"/>
+ <field name="date_move_last"/>
+ <filter icon="terp-go-year" string="This Fiscal year" name="fiscalyear" domain="[('period_id','in','current_year')]"
+ help="Follow-up Entries with period in current year"/>
+ <separator/>
+ <filter icon="terp-camera_test" string="Not Litigation" domain="[('blocked','=', False)]"
+ help = "Including journal entries marked as a litigation"/>
+ <field name="partner_id"/>
+ <field name="balance"/>
<group expand="1" string="Group By...">
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" />
- <separator orientation="vertical"/>
<filter string="Litigation" icon="terp-camera_test" context="{'group_by':'blocked'}" />
- <separator orientation="vertical"/>
<filter string="Follow-up Level" icon="terp-stock_effects-object-colorize" name="followup_level" context="{'group_by':'followup_id'}" />
<filter string="Latest Follow-up Date" icon="terp-go-month" context="{'group_by':'date_followup'}" />
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}" />
</group>
</search>
@@ -77,7 +66,6 @@
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_followup_level':1}</field>
<field name="search_view_id" ref="view_account_followup_stat_search"/>
- <field name="help">Follow-up on the reminders sent over to your partners for unpaid invoices.</field>
</record>
<menuitem action="action_followup_stat" id="menu_action_followup_stat_follow" parent="account.next_id_22" groups="account.group_account_user"/>
diff --git a/addons/account_followup/wizard/account_followup_print_view.xml b/addons/account_followup/wizard/account_followup_print_view.xml
index c897b283ab0..2949177205f 100644
--- a/addons/account_followup/wizard/account_followup_print_view.xml
+++ b/addons/account_followup/wizard/account_followup_print_view.xml
@@ -42,9 +42,7 @@
<field name="arch" type="xml">
<search string="Partner to Remind">
<field name="date_followup"/>
- <separator orientation="vertical"/>
<filter string="Balance > 0" domain="[('balance','&gt;',0)]" icon="terp-dolar" name="balance_positive"/>
- <separator orientation="vertical"/>
<field name="partner_id"/>
<field name="max_followup_id"/>
<field name="company_id" groups="base.group_multi_company"/>
diff --git a/addons/account_payment/account_payment_view.xml b/addons/account_payment/account_payment_view.xml
index 1577d1b86bd..5395bcafb17 100644
--- a/addons/account_payment/account_payment_view.xml
+++ b/addons/account_payment/account_payment_view.xml
@@ -47,12 +47,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Payment Mode">
- <field name="name"
- string="Payment Mode"/>
- <separator orientation="vertical"/>
- <field name="journal" widget='selection'/>
- <field name="company_id" widget='selection' groups="base.group_multi_company"/>
- <newline/>
+ <field name="name" string="Payment Mode"/>
+ <field name="journal"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal'}"/>
</group>
@@ -216,20 +213,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Payment Orders">
- <group>
- <field name="reference"
- string="Payment Order"/>
- <separator orientation="vertical"/>
- <field name="date_done"/>
- <separator orientation="vertical"/>
- <filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/>
- <filter string="Confirmed" domain="[('state','=','open')]" icon="terp-camera_test"/>
- <filter string="Done" domain="[('state','=','done')]" icon="terp-dialog-close"/>
- <separator orientation="vertical"/>
- <field name="mode" widget='selection'/>
- <field name="state"/>
- </group>
- <newline/>
+ <field name="reference" string="Payment Order"/>
+ <field name="date_done"/>
+ <filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/>
+ <filter string="Confirmed" domain="[('state','=','open')]" icon="terp-camera_test"/>
+ <filter string="Done" domain="[('state','=','done')]" icon="terp-dialog-close"/>
+ <field name="mode"/>
+ <field name="state"/>
<group expand="0" string="Group By...">
<filter string="Payment Mode" context="{'group_by': 'mode'}" icon="terp-dolar"/>
<filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
@@ -244,7 +234,14 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_payment_order_search"/>
- <field name="help">A payment order is a payment request from your company to pay a supplier invoice or a customer credit note. Here you can register all payment orders that should be done, keep track of all payment orders and mention the invoice reference and the partner the payment should be done for.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a payment order.
+ </p><p>
+ A payment order is a payment request from your company to pay a
+ supplier invoice or a customer refund.
+ </p>
+ </field>
</record>
<menuitem action="action_payment_order_tree" id="menu_action_payment_order_form" parent="menu_main_payment" sequence="3"/>
diff --git a/addons/account_sequence/account_sequence_installer_view.xml b/addons/account_sequence/account_sequence_installer_view.xml
index 1ecf464923a..2d733e83f11 100644
--- a/addons/account_sequence/account_sequence_installer_view.xml
+++ b/addons/account_sequence/account_sequence_installer_view.xml
@@ -47,7 +47,6 @@
<record id="account_seq_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_account_seq_installer"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="sequence">3</field>
<field name="type">automatic</field>
</record>
diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py
index 0b37bdbd4a2..a7be61db2c9 100644
--- a/addons/account_voucher/__openerp__.py
+++ b/addons/account_voucher/__openerp__.py
@@ -23,7 +23,7 @@
"name" : "eInvoicing & Payments",
"version" : "1.0",
"author" : 'OpenERP SA',
- "summary": 'Supplier & Customer Invoices, Payments',
+ "summary": 'Send Invoices and Track Payments',
"description": """
eInvoicing & Payments module manage all Voucher Entries such as "Reconciliation Entries", "Adjustment Entries", "Closing or Opening Entries" for Sales, Purchase, Bank, Cash, Expense, Contra.
==============================================================================================================================================================================================
@@ -35,7 +35,7 @@ eInvoicing & Payments module manage all Voucher Entries such as "Reconciliation
""",
"category": 'Accounting & Finance',
"sequence": 4,
- "website" : "http://tinyerp.com",
+ "website" : "http://openerp.com",
"images" : ["images/customer_payment.jpeg","images/journal_voucher.jpeg","images/sales_receipt.jpeg","images/supplier_voucher.jpeg"],
"depends" : ["account"],
"init_xml" : [
diff --git a/addons/account_voucher/account_voucher_data.xml b/addons/account_voucher/account_voucher_data.xml
index 8f1cf30ae2f..8be2851a434 100644
--- a/addons/account_voucher/account_voucher_data.xml
+++ b/addons/account_voucher/account_voucher_data.xml
@@ -5,15 +5,12 @@
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
- <value>Module eInvoicing &amp; Payments has been installed</value>
- <value>From the top menu Invoicing, manage your customer and supplier
- invoices. You can also manage refunds, receipts and register
- payments.
+ <value>Module eInvoicing &amp; Payments has been installed.</value>
+ <value>OpenERP's electronic invoicing allows to ease and fasten the creation of invoices and collection of customer payments. Invoices are created in a few clicks and your customers receive them by email. They can pay online and/or import them in their own system.
- In order to manage all accounting features (journal items,
- chart of accounts, etc), you should install the module
- "Accounting and Finance".
- </value>
+You can track customer payments easily and automate the reminders. You get an overview of the discussion with your customers on each invoice to ensure a full traceability.
+
+If you want to use advanced accounting features, you should install the "Accounting and Finance" module.</value>
</function>
</data>
</openerp>
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index d1912a58d1c..b212c07acb3 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -126,21 +126,15 @@
<field name="priority">1</field>
<field name="arch" type="xml">
<search string="Search Vouchers">
- <group>
- <field name="number" string="Voucher"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
- <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted'), ('audit','=',False)]" help="To Review"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" />
- <field name="period_id"/>
- </group>
- <newline/>
+ <field name="number" string="Voucher"/>
+ <field name="date"/>
+ <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
+ <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/>
+ <separator/>
+ <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted'), ('audit','=',False)]" help="To Review"/>
+ <field name="partner_id"/>
+ <field name="journal_id" context="{'journal_id': self, 'set_visible':False}" />
+ <field name="period_id"/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
diff --git a/addons/account_voucher/report/account_voucher_sales_receipt_view.xml b/addons/account_voucher/report/account_voucher_sales_receipt_view.xml
index 704135ba421..ba4d6c2f31c 100644
--- a/addons/account_voucher/report/account_voucher_sales_receipt_view.xml
+++ b/addons/account_voucher/report/account_voucher_sales_receipt_view.xml
@@ -48,48 +48,26 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Sales Receipt Analysis">
- <group>
- <field name="date"/>
- <field name="date_due"/>
- <separator orientation="vertical"/>
- <filter string="Draft"
- icon="terp-document-new"
- domain="[('state','=','draft')]"
- help = "Draft Vouchers"/>
- <filter string="Pro-forma"
- icon="terp-gtk-media-pause"
- domain="[('state','=','proforma')]"
- help = "Pro-forma Vouchers"/>
- <filter string="Posted"
- name="current"
- icon="terp-check"
- domain="[('state','not in', ('draft','cancel'))]"
- help = "Validated Vouchers"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- </group>
- <newline/>
+ <field name="date"/>
+ <field name="date_due"/>
+ <filter string="Draft" icon="terp-document-new" domain="[('state','=','draft')]" help = "Draft Vouchers"/>
+ <filter string="Pro-forma" icon="terp-gtk-media-pause" domain="[('state','=','proforma')]" help = "Pro-forma Vouchers"/>
+ <filter string="Posted" name="current" icon="terp-check" domain="[('state','not in', ('draft','cancel'))]" help = "Validated Vouchers"/>
+ <field name="partner_id"/>
<group expand="0" string="Extended Filters...">
- <field name="journal_id" widget="selection"/>
+ <field name="journal_id"/>
<field name="account_id"/>
<field name="pay_now"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
<filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>
<filter string="Salesperson" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
- <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>
- <separator orientation="vertical"/>
<filter string="Due Date" icon="terp-go-today" context="{'group_by':'date_due'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical"/>
<filter string="Day" name="day" icon="terp-go-today" context="{'group_by':'day'}" help="Group by Invoice Date"/>
<filter string="Month" name="month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of Invoice Date"/>
<filter string="Year" name="year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of Invoice Date"/>
@@ -105,7 +83,14 @@
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_year':1,'search_default_month':1,'search_default_current':1, 'search_default_partner':1, 'search_default_customer':1, 'group_by':[], 'group_by_no_leaf':1,}</field>
<field name="search_view_id" ref="view_sale_receipt_report_search"/>
- <field name="help">From this report, you can have an overview of the amount invoiced to your customer as well as payment delays. The tool search can also be used to personalise your Invoices reports and so, match this analysis to your needs.</field>
+ <field name="help" type="html">
+ <p>
+ From this report, you can have an overview of the amount invoiced
+ to your customer as well as payment delays. The tool search can
+ also be used to personalise your Invoices reports and so, match
+ this analysis to your needs.
+ </p>
+ </field>
</record>
diff --git a/addons/account_voucher/voucher_payment_receipt_view.xml b/addons/account_voucher/voucher_payment_receipt_view.xml
index 372d8aa1937..e85f06aeba3 100644
--- a/addons/account_voucher/voucher_payment_receipt_view.xml
+++ b/addons/account_voucher/voucher_payment_receipt_view.xml
@@ -8,21 +8,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Vouchers">
- <group>
- <field name="number" string="Voucher"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
- <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted')]" help="To Review"/>
- <separator orientation="vertical"/>
- <field name="partner_id" string="Customer"/>
- <field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('bank','cash'))]"/>
- <field name="period_id"/>
- </group>
- <newline/>
+ <field name="number" string="Voucher"/>
+ <field name="date"/>
+ <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
+ <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/>
+ <field name="partner_id" string="Customer"/>
+ <field name="journal_id" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('bank','cash'))]"/>
+ <field name="period_id"/>
<group expand="0" string="Group By...">
<filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
@@ -40,21 +32,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Vouchers">
- <group>
- <field name="number" string="Voucher"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
- <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted')]" help="To Review"/>
- <separator orientation="vertical"/>
- <field name="partner_id" string="Supplier"/>
- <field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('bank','cash'))]"/>
- <field name="period_id"/>
- </group>
- <newline/>
+ <field name="number" string="Voucher"/>
+ <field name="date"/>
+ <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
+ <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/>
+ <field name="partner_id" string="Supplier"/>
+ <field name="journal_id" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('bank','cash'))]"/>
+ <field name="period_id"/>
<group expand="0" string="Group By...">
<filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
@@ -72,7 +56,7 @@
<field name="arch" type="xml">
<form string="Bill Payment" version="7.0">
<group col="6">
- <field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Supplier" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1, 'invoice_currency': currency_id}" />
+ <field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Supplier" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1, 'invoice_currency': currency_id}"/>
<field name="amount" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
<field name="journal_id"
domain="[('type','in',['bank', 'cash'])]"
@@ -94,8 +78,7 @@
<tree string="Open Supplier Journal Entries" editable="bottom" colors="gray:amount==0">
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
- domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
- />
+ domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"/>
<field name="account_id" domain="[('type','=','payable')]"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
@@ -108,8 +91,7 @@
<tree string="Open Customer Journal Entries" editable="bottom" colors="gray:amount==0">
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
- domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
- />
+ domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"/>
<field name="account_id" domain="[('type','=','payable')]"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
@@ -156,11 +138,11 @@
<group>
<group>
<field name="partner_id" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'invoice_currency':currency_id, 'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" string="Supplier"/>
- <label for="amount" string="Amount"/>
- <div>
+ <label for="amount" string="Amount"/>
+ <div>
<field name="amount" invisible="context.get('line_type', False)" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)" class="oe_inline"/>
<field name="currency_id" class="oe_inline"/>
- </div>
+ </div>
<field name="journal_id"
domain="[('type','in',['bank', 'cash'])]"
invisible="context.get('line_type', False)"
@@ -182,8 +164,7 @@
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
- required="1"
- />
+ required="1"/>
<field name="account_id" groups="base.group_no_one" domain="[('type','=','payable')]"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
@@ -198,8 +179,7 @@
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
- required="1"
- />
+ required="1"/>
<field name="account_id" groups="base.group_no_one" domain="[('type','=','payable')]"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
@@ -278,9 +258,14 @@
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_voucher_filter_vendor_pay"/>
<field name="target">current</field>
- <field name="help">Click on "Create" to register a supplier payment.
- &lt;p&gt;
- Track payments you do to your supplier and amounts you pay.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new supplier payment.
+ </p><p>
+ OpenERP helps you easily track payments you do and remining
+ balance to pay to your supplier.
+ </p>
+ </field>
</record>
<record id="action_vendor_payment_tree" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
@@ -316,14 +301,13 @@
<group>
<group>
<field name="partner_id" domain="[('customer','=',True)]" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer" context="{'search_default_customer': 1}"/>
- <label for="amount"
- string="Paid Amount"/>
- <div>
+ <label for="amount" string="Paid Amount"/>
+ <div>
<field name="amount" class="oe_inline"
invisible="context.get('line_type', False)"
on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
<field name="currency_id" class="oe_inline"/>
- </div>
+ </div>
<field name="journal_id"
domain="[('type','in',['bank', 'cash'])]"
@@ -347,7 +331,7 @@
</group>
<notebook>
- <page string="Payment Information">
+ <page string="Payment Information" groups="base.group_user">
<field name="line_cr_ids" context="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, currency_id, context)">
<tree string="Invoices and outstanding transactions" editable="bottom" colors="gray:amount==0">
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
@@ -369,8 +353,7 @@
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
domain="[('account_id.type','in',('receivable','payable')), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
- required="1"
- />
+ required="1"/>
<field name="account_id" groups="base.group_no_one" domain="[('type','=','receivable')]"/>
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
@@ -409,21 +392,21 @@
<field name="audit"/>
</group>
<field name="move_ids" readonly="1">
- <tree string="Journal Items">
- <field name="move_id"/>
- <field name="ref"/>
- <field name="date"/>
- <field name="statement_id"/>
- <field name="partner_id"/>
- <field name="account_id"/>
- <field name="name"/>
- <field name="debit"/>
- <field name="credit"/>
- <field name="state"/>
- <field name="reconcile_id"/>
- <field name="amount_currency"/>
- <field name="currency_id"/>
- </tree>
+ <tree string="Journal Items">
+ <field name="move_id"/>
+ <field name="ref"/>
+ <field name="date"/>
+ <field name="statement_id"/>
+ <field name="partner_id"/>
+ <field name="account_id"/>
+ <field name="name"/>
+ <field name="debit"/>
+ <field name="credit"/>
+ <field name="state"/>
+ <field name="reconcile_id"/>
+ <field name="amount_currency"/>
+ <field name="currency_id"/>
+ </tree>
</field>
</page>
</notebook>
@@ -444,10 +427,15 @@
<field name="search_view_id" ref="view_voucher_filter_customer_pay"/>
<field name="view_id" eval="False"/>
<field name="target">current</field>
- <field name="help">
- Click on create to register a payment.
- &lt;p&gt;
- Enter the customer and the payment method and then, either create manually a payment record or OpenERP will propose to you automatically the reconciliation of this payment with the open invoices or sales receipts.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to register a new payment.
+ </p><p>
+ Enter the customer and the payment method and then, either
+ create manually a payment record or OpenERP will propose to you
+ automatically the reconciliation of this payment with the open
+ invoices or sales receipts.
+ </p>
</field>
</record>
<record id="action_vendor_receipt_tree" model="ir.actions.act_window.view">
@@ -464,5 +452,6 @@
<menuitem action="action_vendor_receipt" icon="STOCK_JUSTIFY_FILL" sequence="12"
id="menu_action_vendor_receipt" parent="account.menu_finance_receivables"/>
+
</data>
</openerp>
diff --git a/addons/account_voucher/voucher_sales_purchase_view.xml b/addons/account_voucher/voucher_sales_purchase_view.xml
index 833b7604bac..591979a8ff3 100644
--- a/addons/account_voucher/voucher_sales_purchase_view.xml
+++ b/addons/account_voucher/voucher_sales_purchase_view.xml
@@ -7,21 +7,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Vouchers">
- <group>
- <field name="number" string="Voucher"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
- <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted')]" help="To Review"/>
- <separator orientation="vertical"/>
- <field name="partner_id" string="Supplier"/>
- <field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('purchase','purchase_refund'))]"/>
- <field name="period_id"/>
- </group>
- <newline/>
+ <field name="number" string="Voucher"/>
+ <field name="date"/>
+ <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
+ <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/>
+ <field name="partner_id" string="Supplier"/>
+ <field name="journal_id" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('purchase','purchase_refund'))]"/>
+ <field name="period_id"/>
<group expand="0" string="Group By...">
<filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
@@ -38,21 +30,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Vouchers">
- <group>
- <field name="number" string="Voucher"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
- <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-jump-to-ltr" string="To Review" domain="[('state','=','posted')]" help="To Review"/>
- <separator orientation="vertical"/>
- <field name="partner_id" string="Customer"/>
- <field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('sale','sale_refund'))]"/>
- <field name="period_id"/>
- </group>
- <newline/>
+ <field name="number" string="Voucher"/>
+ <field name="date"/>
+ <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
+ <filter icon="terp-camera_test" string="Posted" domain="[('state','=','posted')]" help="Posted Vouchers"/>
+ <field name="partner_id" string="Customer"/>
+ <field name="journal_id" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('sale','sale_refund'))]"/>
+ <field name="period_id"/>
<group expand="0" string="Group By...">
<filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
@@ -181,10 +165,13 @@
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_voucher_filter_sale"/>
<field name="target">current</field>
- <field name="help">
- Click here to create a sale receipt.
- &lt;p&gt;
- When the sales receipt is confirmed, you can record the customer payment related to this sales receipt.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a sale receipt.
+ </p><p>
+ When the sale receipt is confirmed, you can record the customer
+ payment related to this sales receipt.
+ </p>
</field>
</record>
<record id="action_sale_receipt_tree" model="ir.actions.act_window.view">
@@ -331,10 +318,13 @@
<field name="view_id" eval="False"/>
<field name="search_view_id" eval="view_voucher_filter_vendor"/>
<field name="target">current</field>
- <field name="help">
- Click here to create a purchase receipt.
- &lt;p&gt;
- When the purchase receipt is confirmed, you can record the supplier payment related to this purchase receipt.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to register a purchase receipt.
+ </p><p>
+ When the purchase receipt is confirmed, you can record the
+ supplier payment related to this purchase receipt.
+ </p>
</field>
</record>
<record id="action_purchase_receipt_tree" model="ir.actions.act_window.view">
diff --git a/addons/analytic_contract_hr_expense/__openerp__.py b/addons/analytic_contract_hr_expense/__openerp__.py
index b5ab6bea9ab..6d5cca8b574 100644
--- a/addons/analytic_contract_hr_expense/__openerp__.py
+++ b/addons/analytic_contract_hr_expense/__openerp__.py
@@ -40,7 +40,6 @@ This module is for modifying account analytic view to show some data related to
],
'installable': True,
'auto_install': True,
- 'certificate': '',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/anonymization/i18n/sv.po b/addons/anonymization/i18n/sv.po
new file mode 100644
index 00000000000..d9772cd06e9
--- /dev/null
+++ b/addons/anonymization/i18n/sv.po
@@ -0,0 +1,213 @@
+# Swedish translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:35+0000\n"
+"PO-Revision-Date: 2012-08-02 00:12+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-08-03 05:48+0000\n"
+"X-Generator: Launchpad (build 15734)\n"
+
+#. module: anonymization
+#: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard
+msgid "ir.model.fields.anonymize.wizard"
+msgstr ""
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization,field_name:0
+msgid "Field Name"
+msgstr "Fältnamn"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization,field_id:0
+msgid "Field"
+msgstr "Fält"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization.history,state:0
+#: field:ir.model.fields.anonymize.wizard,state:0
+msgid "State"
+msgstr ""
+
+#. module: anonymization
+#: field:ir.model.fields.anonymize.wizard,file_import:0
+msgid "Import"
+msgstr "Import"
+
+#. module: anonymization
+#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization
+msgid "ir.model.fields.anonymization"
+msgstr ""
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization.history,direction:0
+msgid "Direction"
+msgstr ""
+
+#. module: anonymization
+#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_tree
+#: view:ir.model.fields.anonymization:0
+#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_fields
+msgid "Anonymized Fields"
+msgstr ""
+
+#. module: anonymization
+#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization
+msgid "Database anonymization"
+msgstr ""
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization.history,direction:0
+msgid "clear -> anonymized"
+msgstr ""
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization,state:0
+#: selection:ir.model.fields.anonymize.wizard,state:0
+msgid "Anonymized"
+msgstr ""
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization,state:0
+msgid "unknown"
+msgstr "okänd"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization,model_id:0
+msgid "Object"
+msgstr "Object"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization.history,filepath:0
+msgid "File path"
+msgstr "Sökväg"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization.history,date:0
+msgid "Date"
+msgstr "Datum"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymize.wizard,file_export:0
+msgid "Export"
+msgstr "Export"
+
+#. module: anonymization
+#: view:ir.model.fields.anonymize.wizard:0
+msgid "Reverse the Database Anonymization"
+msgstr ""
+
+#. module: anonymization
+#: view:ir.model.fields.anonymize.wizard:0
+msgid "Database Anonymization"
+msgstr ""
+
+#. module: anonymization
+#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_wizard
+msgid "Anonymize database"
+msgstr ""
+
+#. module: anonymization
+#: view:ir.model.fields.anonymization.history:0
+#: field:ir.model.fields.anonymization.history,field_ids:0
+msgid "Fields"
+msgstr "Fält"
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization,state:0
+#: selection:ir.model.fields.anonymize.wizard,state:0
+msgid "Clear"
+msgstr "Rensa"
+
+#. module: anonymization
+#: view:ir.model.fields.anonymize.wizard:0
+#: field:ir.model.fields.anonymize.wizard,summary:0
+msgid "Summary"
+msgstr ""
+
+#. module: anonymization
+#: view:ir.model.fields.anonymization:0
+msgid "Anonymized Field"
+msgstr ""
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymize.wizard,state:0
+msgid "Unstable"
+msgstr ""
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization.history,state:0
+msgid "Exception occured"
+msgstr ""
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization,state:0
+#: selection:ir.model.fields.anonymize.wizard,state:0
+msgid "Not Existing"
+msgstr ""
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization,model_name:0
+msgid "Object Name"
+msgstr "Objektnamn"
+
+#. module: anonymization
+#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_history_tree
+#: view:ir.model.fields.anonymization.history:0
+#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_history
+msgid "Anonymization History"
+msgstr ""
+
+#. module: anonymization
+#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_history
+msgid "ir.model.fields.anonymization.history"
+msgstr ""
+
+#. module: anonymization
+#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymize_wizard
+#: view:ir.model.fields.anonymize.wizard:0
+msgid "Anonymize Database"
+msgstr ""
+
+#. module: anonymization
+#: field:ir.model.fields.anonymize.wizard,name:0
+msgid "File Name"
+msgstr "Filnamn"
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization.history,direction:0
+msgid "anonymized -> clear"
+msgstr ""
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization.history,state:0
+msgid "Started"
+msgstr "Påbörjad"
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization.history,state:0
+msgid "Done"
+msgstr "Färdig"
+
+#. module: anonymization
+#: view:ir.model.fields.anonymization.history:0
+#: field:ir.model.fields.anonymization.history,msg:0
+#: field:ir.model.fields.anonymize.wizard,msg:0
+msgid "Message"
+msgstr "Meddelande"
+
+#. module: anonymization
+#: code:addons/anonymization/anonymization.py:55
+#: sql_constraint:ir.model.fields.anonymization:0
+#, python-format
+msgid "You cannot have two fields with the same name on the same object!"
+msgstr ""
diff --git a/addons/association/profile_association.xml b/addons/association/profile_association.xml
index 099a6f1ac97..0627d3dba51 100644
--- a/addons/association/profile_association.xml
+++ b/addons/association/profile_association.xml
@@ -5,6 +5,7 @@
<!-- Top menu item -->
<menuitem name="Association"
id="base.menu_association"
+ groups="base.group_user"
sequence="70"/>
<menuitem name="Configuration" id="base.menu_event_config" parent="base.menu_association" sequence="30"/>
<menuitem name="Association" id="base.menu_report_association" parent="base.menu_reporting" sequence="23"/>
diff --git a/addons/audittrail/audittrail_view.xml b/addons/audittrail/audittrail_view.xml
index 55c55398f4e..65eca09a9a1 100644
--- a/addons/audittrail/audittrail_view.xml
+++ b/addons/audittrail/audittrail_view.xml
@@ -63,15 +63,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Audittrail Rule">
- <group>
- <field name="name" string="Audittrail Rule"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Rule"/>
- <filter icon="terp-camera_test" string="Subscribed" domain="[('state','=','subscribed')]" help="Subscribed Rule"/>
- <separator orientation="vertical"/>
- <field name="object_id"/>
- </group>
- <newline/>
+ <field name="name" string="Audittrail Rule"/>
+ <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Rule"/>
+ <filter icon="terp-camera_test" string="Subscribed" domain="[('state','=','subscribed')]" help="Subscribed Rule"/>
+ <field name="object_id" string="Model"/>
<group expand="0" string="Group By...">
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
@@ -171,16 +166,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Audittrail Log">
- <group>
- <field name="name" string="Audittrail Log"/>
- <separator orientation="vertical"/>
- <field name="object_id"/>
- <field name="user_id" widget="selection"/>
- </group>
- <newline/>
+ <field name="name" string="Audittrail Log"/>
+ <field name="object_id" string="Model"/>
+ <field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'object_id'}"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'timestamp'}"/>
</group>
diff --git a/addons/base_action_rule/base_action_rule_view.xml b/addons/base_action_rule/base_action_rule_view.xml
index 11d53a0899c..ba51b729305 100644
--- a/addons/base_action_rule/base_action_rule_view.xml
+++ b/addons/base_action_rule/base_action_rule_view.xml
@@ -110,17 +110,27 @@
<!-- Action Rule Action -->
- <record id="base_action_rule_act" model="ir.actions.act_window">
+ <record id="base_action_rule_act" model="ir.actions.act_window">
<field name="name">Automated Actions</field>
<field name="res_model">base.action.rule</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_base_action_rule_tree"/>
- <field name="help">Use automated actions to automatically trigger actions for various screens. Example: a lead created by a specific user may be automatically set to a specific sales team, or an opportunity which still has status pending after 14 days might trigger an automatic reminder email.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to setup a new automated action rule.
+ </p><p>
+ Use automated actions to automatically trigger actions for
+ various screens. Example: a lead created by a specific user may
+ be automatically set to a specific sales team, or an
+ opportunity which still has status pending after 14 days might
+ trigger an automatic reminder email.
+ </p>
+ </field>
</record>
- <menuitem id="menu_base_action_rule_form"
- parent="base.menu_base_action_rule_admin" action="base_action_rule_act" sequence="1"/>
+ <menuitem id="menu_base_action_rule_form"
+ parent="base.menu_base_action_rule_admin" action="base_action_rule_act" sequence="1"/>
</data>
diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml
index 642f8f7b9e9..d48795173ed 100644
--- a/addons/base_calendar/base_calendar_view.xml
+++ b/addons/base_calendar/base_calendar_view.xml
@@ -84,40 +84,20 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Invitations">
- <field name="email" string="Email"/>
- <separator orientation="vertical"/>
- <field name="event_date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-jump-to-ltr" name="toreview" string="To Review"
- domain="[('state','=', 'needs-action')]"
- help="Invitations To Review" />
- <filter icon="terp-check" string="Accepted"
- domain="[('state','=', 'accepted')]"
- help="Accepted Invitations" />
- <filter icon="terp-dialog-close" string="Declined"
- domain="[('state','=', 'declined')]"
- help="Declined Invitations" />
- <filter icon="gtk-sort-descending" string="Delegated"
- domain="[('state','=', 'delegated')]"
- help="Delegated Invitations" />
- <separator orientation="vertical"/>
- <field name="user_id" string="Responsible"/>
- <separator orientation="vertical"/>
- <field name="cutype" string="Invitation type"/>
- <newline/>
+ <field name="email" string="Email"/>
+ <field name="event_date"/>
+ <filter icon="terp-gtk-jump-to-ltr" name="toreview" string="To Review" domain="[('state','=', 'needs-action')]" help="Invitations To Review" />
+ <filter icon="terp-check" string="Accepted" domain="[('state','=', 'accepted')]" help="Accepted Invitations" />
+ <filter icon="terp-dialog-close" string="Declined" domain="[('state','=', 'declined')]" help="Declined Invitations" />
+ <filter icon="gtk-sort-descending" string="Delegated" domain="[('state','=', 'delegated')]" help="Delegated Invitations" />
+ <field name="user_id" string="Responsible"/>
+ <field name="cutype" string="Invitation type"/>
<group expand="0" string="Group By...">
- <filter string="Responsible" icon="terp-personal" domain="[]"
- context="{'group_by':'user_id'}" />
- <filter string="Contact" icon="terp-personal" domain="[]"
- context="{'group_by':'partner_id'}" />
- <separator orientation="vertical" />
- <filter string="Type" icon="terp-stock_symbol-selection" help="Invitation Type"
- domain="[]" context="{'group_by':'cutype'}" />
- <filter string="Role" icon="terp-gtk-select-all"
- domain="[]" context="{'group_by':'role'}" />
- <filter string="Required Reply" icon="terp-mail-replied"
- domain="[]" context="{'group_by':'rsvp'}" />
- <separator orientation="vertical" />
+ <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
+ <filter string="Contact" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}" />
+ <filter string="Type" icon="terp-stock_symbol-selection" help="Invitation Type" domain="[]" context="{'group_by':'cutype'}" />
+ <filter string="Role" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'role'}" />
+ <filter string="Required Reply" icon="terp-mail-replied" domain="[]" context="{'group_by':'rsvp'}" />
<filter string="Status" icon="terp-stock_effects-object-colorize" help="Invitation Type"
domain="[]" context="{'group_by':'state'}" />
</group>
@@ -187,7 +167,14 @@
<field name="res_model">res.alarm</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">Create specific calendar alarms that may be assigned to calendar events or meetings.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to setup a new alarm type.
+ </p><p>
+ You can define a customized type of calendar alarm that may be
+ assigned to calendar events or meetings.
+ </p>
+ </field>
</record>
<!-- Menu for Alarms-->
@@ -414,37 +401,20 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Events">
- <group>
- <field name="name" filter_domain="['|',('name','ilike',self),('location','ilike',self)]" string="Event"/>
- <separator orientation="vertical"/>
- <filter icon="terp-go-today" string="My Events"
- domain="[('user_id','=',uid)]"
- help="My Events" />
- <separator orientation="vertical"/>
- <filter icon="terp-check" string="Confirmed"
- domain="[('state','=','confirmed')]"
- help="Confirmed Events" />
- <separator orientation="vertical"/>
- <field name="user_id"/>
- <separator orientation="vertical"/>
- <field name="show_as"/>
- <field name="class" string="Privacy"/>
- </group>
- <newline/>
- <group expand="0" string="Group By...">
- <filter string="Responsible" icon="terp-personal" domain="[]"
- context="{'group_by':'user_id'}" />
- <separator orientation="vertical" />
- <filter string="Availability" icon="terp-camera_test"
- domain="[]" context="{'group_by':'show_as'}" />
- <filter string="Privacy" icon="terp-locked"
- domain="[]" context="{'group_by':'class'}" />
- <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]"
- context="{'group_by':'state'}" />
- <separator orientation="vertical" />
- <filter string="Date" icon="terp-go-month"
- domain="[]" context="{'group_by':'date'}" />
- </group>
+ <field name="name" filter_domain="['|',('name','ilike',self),('location','ilike',self)]" string="Event"/>
+ <field name="show_as"/>
+ <field name="class" string="Privacy"/>
+ <filter icon="terp-go-today" string="My Events" domain="[('user_id','=',uid)]" help="My Events" />
+ <separator/>
+ <filter icon="terp-check" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Events" />
+ <field name="user_id"/>
+ <group expand="0" string="Group By...">
+ <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
+ <filter string="Availability" icon="terp-camera_test" domain="[]" context="{'group_by':'show_as'}" />
+ <filter string="Privacy" icon="terp-locked" domain="[]" context="{'group_by':'class'}" />
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
+ <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" />
+ </group>
</search>
</field>
</record>
diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml
index 77244addd9f..d3371ad602a 100644
--- a/addons/base_calendar/crm_meeting_view.xml
+++ b/addons/base_calendar/crm_meeting_view.xml
@@ -58,7 +58,6 @@
<field name="res_model">crm.meeting.type</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_crm_meeting_type_tree"/>
- <field name="help">Create different meeting categories to better organize and classify your meetings.</field>
</record>
<menuitem id="menu_crm_meeting_type" parent="base.menu_calendar_configuration" sequence="1"
@@ -302,18 +301,12 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Meetings">
- <group>
- <field name="name" string="Meeting"
- filter_domain="[('name','ilike',self)]"/>
- <filter string="Inbox" help="Unread messages" icon="terp-mail-message-new"
- name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
- <filter string="My Meetings" help="My Meetings" icon="terp-personal"
- domain="[('user_id','=',uid)]"/>
- <separator orientation="vertical"/>
- <field name="user_id"/>
- <field name="partner_ids"/>
- </group>
+ <field name="name" string="Meeting" filter_domain="[('name','ilike',self)]"/>
+ <filter string="Inbox" help="Unread messages" icon="terp-mail-message-new" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
+ <filter string="My Meetings" help="My Meetings" icon="terp-personal" domain="[('user_id','=',uid)]"/>
+ <field name="user_id"/>
+ <field name="partner_ids"/>
</search>
</field>
</record>
@@ -327,10 +320,14 @@
<field name="view_id" ref="view_crm_meeting_calendar"/>
<field name="search_view_id" ref="view_crm_meeting_search"/>
<field name="context">{"calendar_default_user_id": uid}</field>
- <field name="help">
- The meeting calendar is shared between the sales teams and fully integrated with other applications
- such as the employee holidays or the business opportunities.
- You can also synchronize meetings with your mobile phone using the caldav interface.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to schedule a new meeting.
+ </p><p>
+ The agenda is shared between employees and fully integrated with
+ other applications such as the employee holidays or the business
+ opportunities.
+ </p>
</field>
</record>
<record model="ir.actions.act_window.view" id="action_view_crm_meeting_calendar">
diff --git a/addons/base_report_designer/base_report_designer_installer.xml b/addons/base_report_designer/base_report_designer_installer.xml
index bacea30178c..b0494a1453d 100644
--- a/addons/base_report_designer/base_report_designer_installer.xml
+++ b/addons/base_report_designer/base_report_designer_installer.xml
@@ -43,7 +43,6 @@
</record>
<record id="report_designer_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_report_designer_installer"/>
- <field name="category_id" ref="base.category_tools_customization_config"/>
<field name="sequence">3</field>
<field name="type">automatic</field>
</record>
diff --git a/addons/base_setup/__openerp__.py b/addons/base_setup/__openerp__.py
index 1ebc708959e..cf69933c84a 100644
--- a/addons/base_setup/__openerp__.py
+++ b/addons/base_setup/__openerp__.py
@@ -46,5 +46,6 @@ Shows you a list of applications features to install from.
'certificate': '0086711085869',
'images': ['images/base_setup1.jpeg','images/base_setup2.jpeg','images/base_setup3.jpeg','images/base_setup4.jpeg',],
'js': ['static/src/js/base_setup.js'],
+ 'css': ['static/src/css/base_setup.css'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_setup/base_setup_views.xml b/addons/base_setup/base_setup_views.xml
index 8be9aa0e2e3..0db6c173d9b 100644
--- a/addons/base_setup/base_setup_views.xml
+++ b/addons/base_setup/base_setup_views.xml
@@ -1,47 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data>
+ <data>
- <!-- Show menus that are hidden in module base -->
- <record id="base.menu_res_company_global" model="ir.ui.menu">
- <field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
- </record>
- <record id="base.menu_users" model="ir.ui.menu">
- <field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
- </record>
- <record id="base.menu_publisher_warranty" model="ir.ui.menu">
- <field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
- </record>
+ <!-- Show menus that are hidden in module base -->
+ <record id="base.menu_res_company_global" model="ir.ui.menu">
+ <field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
+ </record>
+ <record id="base.menu_users" model="ir.ui.menu">
+ <field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
+ </record>
+ <record id="base.menu_publisher_warranty" model="ir.ui.menu">
+ <field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
+ </record>
- <!-- Specify Your Terminology Config Wiz-->
- <record id="base_setup_terminology_form" model="ir.ui.view">
- <field name="name">Specify Your Terminology</field>
- <field name="model">base.setup.terminology</field>
- <field name="type">form</field>
- <field name="inherit_id" ref="base.res_config_view_base"/>
- <field name="arch" type="xml">
- <data>
- <form position="attributes" version="7.0">
- <attribute name="string">Specify Your Terminology</attribute>
- </form>
- <group string="res_config_contents" position="replace">
- <label string="You can use this wizard to change the terminologies for customers in the whole application."/>
- <separator string="Specify Your Terminology"/>
- <group colspan="4">
- <field colspan="4" name="partner"/>
- </group>
- </group>
- </data>
- </field>
- </record>
- <record id="action_partner_terminology_config_form" model="ir.actions.act_window">
- <field name="name">Use another word to say "Customer"</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">base.setup.terminology</field>
- <field name="view_type">form</field>
- <field name="view_id" ref="base_setup_terminology_form"/>
- <field name="view_mode">form</field>
- <field name="target">new</field>
- </record>
+ <!-- Specify your terminology config wiz -->
+ <record id="base_setup_terminology_form" model="ir.ui.view">
+ <field name="name">Specify Your Terminology</field>
+ <field name="model">base.setup.terminology</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="base.res_config_view_base"/>
+ <field name="arch" type="xml">
+ <data>
+ <form position="attributes" version="7.0">
+ <attribute name="string">Specify Your Terminology</attribute>
+ </form>
+ <group string="res_config_contents" position="replace">
+ <label string="You can use this wizard to change the terminologies for customers in the whole application."/>
+ <separator string="Specify Your Terminology"/>
+ <group colspan="4">
+ <field colspan="4" name="partner"/>
+ </group>
+ </group>
+ </data>
+ </field>
+ </record>
+ <record id="action_partner_terminology_config_form" model="ir.actions.act_window">
+ <field name="name">Use another word to say "Customer"</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">base.setup.terminology</field>
+ <field name="view_type">form</field>
+ <field name="view_id" ref="base_setup_terminology_form"/>
+ <field name="view_mode">form</field>
+ <field name="target">new</field>
+ </record>
- </data>
+ </data>
</openerp>
diff --git a/addons/base_setup/res_config.py b/addons/base_setup/res_config.py
index 6a73eb786ea..7e85925b1c9 100644
--- a/addons/base_setup/res_config.py
+++ b/addons/base_setup/res_config.py
@@ -25,12 +25,12 @@ class base_config_settings(osv.osv_memory):
_name = 'base.config.settings'
_inherit = 'res.config.settings'
_columns = {
- 'module_multi_company': fields.boolean('Multi Company',
+ 'module_multi_company': fields.boolean('manage multiple companies',
help="""Work in multi-company environments, with appropriate security access between companies.
This installs the module multi_company."""),
- 'module_portal': fields.boolean('Activate Customer Portal',
+ 'module_portal': fields.boolean('activate customer portal',
help="""The portal will give access to a series of documents for your customers; his quotations, his invoices, his projects, etc."""),
- 'module_share': fields.boolean('Allow Sharing Resources to External Users',
+ 'module_share': fields.boolean('allow documents sharing',
help="""As an example, you will be able to share a project or some tasks to your customers, or quotes/sales to several persons at your customer company, or your agenda availabilities to your contacts."""),
}
@@ -54,14 +54,14 @@ class sale_config_settings(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
'module_crm': fields.boolean('CRM'),
- 'module_plugin_thunderbird': fields.boolean('Thunderbird Plugin',
+ 'module_plugin_thunderbird': fields.boolean('enable Thunderbird plugin',
help="""The plugin allows you archive email and its attachments to the selected
OpenERP objects. You can select a partner, or a lead and
attach the selected mail as a .eml file in
the attachment of a selected record. You can create documents for CRM Lead,
Partner from the selected emails.
This installs the module plugin_thunderbird."""),
- 'module_plugin_outlook': fields.boolean('Outlook Plugin',
+ 'module_plugin_outlook': fields.boolean('enable Outlook plugin',
help="""The Outlook plugin allows you to select an object that you would like to add
to your email and its attachments from MS Outlook. You can select a partner,
or a lead object and archive a selected
diff --git a/addons/base_setup/res_config_view.xml b/addons/base_setup/res_config_view.xml
index 5227b0885a9..f4c1f1ad08b 100644
--- a/addons/base_setup/res_config_view.xml
+++ b/addons/base_setup/res_config_view.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
@@ -6,31 +7,45 @@
<field name="model">base.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="General Settings" version="7.0">
+ <form string="General Settings" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
+ <separator string="General Settings"/>
+ <div>
+ <label string="You will also find several configuration options on your company data:
+ address for the header and footer, overdue payments texts, etc."/>
+ <button type="object" name="open_company" string="Configure Your Company Data" icon="gtk-execute" class="oe_inline oe_link"/>
+ </div>
<group>
- <group string="Company Settings">
- <field name="module_multi_company"/>
- <separator string="External Accesses" colspan="2"/>
- <field name="module_share"/>
- <field name="module_portal"/>
- </group>
- <group>
+ <label for="id" string="Options"/>
+ <div>
+ <div name="multi_company">
+ <field name="module_multi_company" class="oe_inline"/>
+ <label for="module_multi_company"/>
+ </div>
+ </div>
+ </group>
+ <group>
+ <label for="id" string="Share Data"/>
+ <div>
<div>
- You will also find several configuration options on your company data:
- address for the header and footer, overdue payments texts, etc.
+ <field name="module_share" class="oe_inline"/>
+ <label for="module_share"/>
</div>
- <button type="object" name="open_company" string="Configure Your Company Data" icon="gtk-execute"/>
- <separator string="Others" colspan="2"/>
- <label for="id" string="Outgoing Mail Servers"/>
- <button type="action" name="%(base.action_ir_mail_server_list)d"
- string="Configure" icon="gtk-execute"/>
- </group>
-
+ <div>
+ <field name="module_portal" class="oe_inline"/>
+ <label for="module_portal"/>
+ </div>
+ <div>
+ <label string="Configure outgoing email servers"/>
+ <button type="action"
+ name="%(base.action_ir_mail_server_list)d"
+ string="Configure" icon="gtk-execute" class="oe_link"/>
+ </div>
+ </div>
</group>
</form>
</field>
@@ -51,22 +66,47 @@
<field name="model">sale.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Configure Sales" version="7.0">
+ <form string="Configure Sales" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
- <group>
- <group name="config_sale">
- <field name="module_crm" invisible="1"/>
- <separator string="Emails" colspan="2" attrs="{'invisible': [('module_crm','=',False)]}"/>
- <field name="module_plugin_thunderbird" attrs="{'invisible': [('module_crm','=',False)]}"/>
- <field name="module_plugin_outlook" attrs="{'invisible': [('module_crm','=',False)]}"/>
- </group>
- <group name="config_other">
- </group>
+ <div name="customer feature">
+ <separator string="Quotations and Sales Orders"/>
+ <group name="Customer">
+ <label for="id" string="Customer Features"/>
+ <div name="Customer Features"/>
+ </group>
+ <group name="Sale">
+ <label for="id" string="Sale Features"/>
+ <div name="Sale Features"/>
+ </group>
+ </div>
+ <div name="config_sale">
+ <field name="module_crm" invisible="1"/>
+ <separator string="Emails Integration" attrs="{'invisible': [('module_crm','=',False)]}"/>
+ <p attrs="{'invisible': [('module_crm','=',False)]}">
+ OpenERP allows to automatically create leads (or others documents)
+ from incoming emails. You can synchronize emails with OpenERP
+ by connecting the mail gateway to your mail server or by manually
+ pressing buttons in our mail clients.
+ </p>
+ <group name="On Mail Client" attrs="{'invisible': [('module_crm','=',False)]}">
+ <label for="id" string="On Mail Client"/>
+ <div>
+ <div name="module_plugin_thunderbird" attrs="{'invisible': [('module_crm','=',False)]}" class="oe_inline">
+ <field name="module_plugin_thunderbird"/>
+ <label for="module_plugin_thunderbird"/>
+ </div>
+ <div name="module_plugin_outlook" attrs="{'invisible': [('module_crm','=',False)]}">
+ <field name="module_plugin_outlook" class="oe_inline"/>
+ <label for="module_plugin_outlook"/>
+ </div>
+ </div>
</group>
+ </div>
+ <div name="config_other"/>
</form>
</field>
</record>
diff --git a/addons/base_setup/res_partner_view.xml b/addons/base_setup/res_partner_view.xml
index 9a19a7e4666..5aa24b3474d 100644
--- a/addons/base_setup/res_partner_view.xml
+++ b/addons/base_setup/res_partner_view.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
diff --git a/addons/base_setup/static/src/css/base_setup.css b/addons/base_setup/static/src/css/base_setup.css
new file mode 100644
index 00000000000..4e4b8a3c00a
--- /dev/null
+++ b/addons/base_setup/static/src/css/base_setup.css
@@ -0,0 +1,24 @@
+/* Remove bold from labels in config wizards */
+.oe_form_configuration .oe_form_group td:last-child .oe_form_label_help,
+.oe_form_configuration .oe_form_group td:last-child .oe_form_label {
+ font-weight: normal;
+}
+
+/* Separate .eo_link elements from the rest of the label's text */
+.oe_form_configuration .oe_form_group td:last-child .oe_link,
+.oe_form_configuration .oe_form_group td:last-child .oe_separate-from-text {
+ position: relative;
+ left: 2em;
+}
+.oe_form_configuration .oe_form_group td:last-child .oe_link:before,
+.oe_form_configuration .oe_form_group td:last-child .oe_separate-from-text:before {
+ content:"—";
+ padding-right: 1em;
+ color: grey;
+
+ /* Prevent the pseudo element's content to behave like its parent element */
+ position: absolute;
+ right: 100%;
+ bottom: 0; /* Parent element's height can vary */
+ pointer-events: none;
+}
diff --git a/addons/board/board.py b/addons/board/board.py
index 6c28aa33c40..985bc3cd09a 100644
--- a/addons/board/board.py
+++ b/addons/board/board.py
@@ -38,51 +38,15 @@ class board_board(osv.osv):
@param ids: List of Board's IDs
@return: arch of xml view.
"""
- board = self.pool.get('board.board').browse(cr, uid, ids, context=context)
- left = []
- right = []
- #start Loop
- for line in board.line_ids:
- linestr = '<action string="%s" name="%d"' % (line.name, line.action_id.id)
- linestr += '/>'
- if line.position == 'left':
- left.append(linestr)
- else:
- right.append(linestr)
- #End Loop
arch = """<?xml version="1.0"?>
- <form string="My Board">
+ <form string="My Board" version="7.0">
<board style="1-1">
- <column>
- %s
- </column>
- <column>
- %s
- </column>
+ <column/>
+ <column/>
</board>
- </form>""" % ('\n'.join(left), '\n'.join(right))
-
+ </form>"""
return arch
- def write(self, cr, uid, ids, vals, context=None):
-
- """
- Writes values in one or several fields.
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of Board's IDs
- @param vals: dictionary with values to update.
- dictionary must be with the form: {‘name_of_the_field’: value, ...}.
- @return: True
- """
- result = super(board_board, self).write(cr, uid, ids, vals, context=context)
-
- board = self.pool.get('board.board').browse(cr, uid, ids[0], context=context)
- view = self.create_view(cr, uid, ids[0], context=context)
- id = board.view_id.id
- cr.execute("update ir_ui_view set arch=%s where id=%s", (view, id))
- return result
-
def create(self, cr, user, vals, context=None):
"""
create new record.
@@ -106,7 +70,6 @@ class board_board(osv.osv):
})
super(board_board, self).write(cr, user, [id], {'view_id': view_id}, context)
-
return id
def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None,\
@@ -131,7 +94,6 @@ class board_board(osv.osv):
res['toolbar'] = {'print': [], 'action': [], 'relate': []}
return res
-
def _arch_preprocessing(self, cr, user, arch, context=None):
from lxml import etree
def remove_unauthorized_children(node):
@@ -150,13 +112,9 @@ class board_board(osv.osv):
archnode = etree.fromstring(encode(arch))
return etree.tostring(remove_unauthorized_children(archnode),pretty_print=True)
-
-
-
_columns = {
'name': fields.char('Dashboard', size=64, required=True),
'view_id': fields.many2one('ir.ui.view', 'Board View'),
- 'line_ids': fields.one2many('board.board.line', 'board_id', 'Action Views')
}
# the following lines added to let the button on dashboard work.
@@ -164,26 +122,4 @@ class board_board(osv.osv):
'name':lambda *args: 'Dashboard'
}
-class board_line(osv.osv):
- """
- Board Line
- """
- _name = 'board.board.line'
- _description = "Board Line"
- _order = 'position,sequence'
- _columns = {
- 'name': fields.char('Title', size=64, required=True),
- 'sequence': fields.integer('Sequence', help="Gives the sequence order\
- when displaying a list of board lines.", select=True),
- 'height': fields.integer('Height'),
- 'width': fields.integer('Width'),
- 'board_id': fields.many2one('board.board', 'Dashboard', required=True, ondelete='cascade'),
- 'action_id': fields.many2one('ir.actions.act_window', 'Action', required=True),
- 'position': fields.selection([('left','Left'),
- ('right','Right')], 'Position', required=True, select=True)
- }
- _defaults = {
- 'position': lambda *args: 'left'
- }
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/board/board_mydashboard_view.xml b/addons/board/board_mydashboard_view.xml
index f03e13499af..9d7e27d57d8 100644
--- a/addons/board/board_mydashboard_view.xml
+++ b/addons/board/board_mydashboard_view.xml
@@ -24,14 +24,19 @@
<field name="view_mode">form</field>
<field name="usage">menu</field>
<field name="view_id" ref="board_my_dash_view"/>
- <field name="help">
- This is your personal dashboard.
- To customize it, go to any view in OpenERP, fill in the desired search filter,
- and click on 'Add to Dashboard' in the search options.
- The view will appear as an element in your dashboard.
- &lt;p&gt;
- You can drag and drop the elements to get your preferred dashboard layout.
- Click on the cross (in the upper right corner) to remove an element.
+ <field name="help" type="html">
+ <div class="oe_empty_custom_dashboard">
+ <p>
+ <b>Your personal dashboard is empty.</b>
+ </p><p>
+ To add your first report into this dashboard, go to any
+ menu, switch to list or graph view, and click <i>'Add to
+ Dashboard'</i> in the extended search options.
+ </p><p>
+ You can filter and group data before inserting into the
+ dashboard using the search options.
+ </p>
+ </div>
</field>
</record>
diff --git a/addons/board/board_view.xml b/addons/board/board_view.xml
index bf8da9d0b5a..4a72b2f714a 100644
--- a/addons/board/board_view.xml
+++ b/addons/board/board_view.xml
@@ -9,7 +9,6 @@
<field name="arch" type="xml">
<search string="Dashboard">
<field name="name" string="Dashboard"/>
- <field name="line_ids"/>
</search>
</field>
</record>
@@ -33,28 +32,16 @@
<field name="type">form</field>
<field eval="1" name="priority"/>
<field name="arch" type="xml">
- <form string="Dashboard">
- <group col="6" colspan="4">
- <field name="name"/>
- <field name="view_id"/>
- <button colspan="2" name="%(action_board_menu_create)d" string="Create Menu" type="action" icon="gtk-justify-fill" />
- </group>
- <field colspan="4" name="line_ids" nolabel="1">
- <tree string="Dashboard View">
+ <form string="Dashboard" version="7.0">
+ <header>
+ <button name="%(action_board_menu_create)d" string="Create Menu" type="action" class="oe_highlight"/>
+ </header>
+ <sheet>
+ <group>
<field name="name"/>
- <field name="sequence"/>
- <field name="action_id"/>
- <field name="position"/>
- </tree>
- <form string="Dashboard View">
- <field name="name"/>
- <field name="sequence"/>
- <field name="width"/>
- <field name="height"/>
- <field name="action_id" domain="[('view_type','!=','tree')]" />
- <field name="position"/>
- </form>
- </field>
+ <field name="view_id" invisible="1"/>
+ </group>
+ </sheet>
</form>
</field>
</record>
@@ -70,8 +57,8 @@
<menuitem action="action_view_board_list_form"
id="menu_view_board_form" parent="base.menu_reporting_config"
- groups="base.group_no_one"
- sequence="2"/>
+ groups="base.group_no_one"
+ sequence="2"/>
</data>
</openerp>
diff --git a/addons/board/security/ir.model.access.csv b/addons/board/security/ir.model.access.csv
index bc9e0844923..ec9d2e89f4b 100644
--- a/addons/board/security/ir.model.access.csv
+++ b/addons/board/security/ir.model.access.csv
@@ -1,5 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_board_board all,board.board,model_board_board,,1,0,0,0
-access_board_board_line all,board.board.line,model_board_board_line,,1,0,0,0
access_board_board system,board.board system,model_board_board,base.group_system,1,1,1,1
-access_board_board_line system,board.board.line system,model_board_board_line,base.group_system,1,1,1,1
diff --git a/addons/board/wizard/board_menu_create.py b/addons/board/wizard/board_menu_create.py
index 3c46c7e4092..8c7909767f0 100644
--- a/addons/board/wizard/board_menu_create.py
+++ b/addons/board/wizard/board_menu_create.py
@@ -40,10 +40,6 @@ class board_menu_create(osv.osv_memory):
"""
data = context and context.get('active_id', False) or False
if data:
- board = self.pool.get('board.board').browse(cr, uid, data, context=context)
- if not board.line_ids:
- raise osv.except_osv(_('User Error!'),
- _('Please Insert Dashboard View(s) !'))
return False
@@ -67,6 +63,19 @@ class board_menu_create(osv.osv_memory):
'view_mode': 'form',
'res_model': 'board.board',
'view_id': board.view_id.id,
+ 'help': _('''<div class="oe_empty_custom_dashboard">
+ <p>
+ <b>This dashboard is empty.</b>
+ </p><p>
+ To add the first report into this dashboard, go to any
+ menu, switch to list or graph view, and click <i>'Add to
+ Dashboard'</i> in the extended search options.
+ </p><p>
+ You can filter and group data before inserting into the
+ dashboard using the search options.
+ </p>
+ </div>
+ ''')
})
obj_menu = self.pool.get('ir.ui.menu')
#start Loop
@@ -74,7 +83,6 @@ class board_menu_create(osv.osv_memory):
obj_menu.create(cr, uid, {
'name': data.menu_name,
'parent_id': data.menu_parent_id.id,
- 'icon': 'STOCK_SELECT_COLOR',
'action': 'ir.actions.act_window,' + str(action_id)
}, context=context)
#End Loop
diff --git a/addons/caldav/caldav_view.xml b/addons/caldav/caldav_view.xml
index 02025ab5261..a45a2231738 100644
--- a/addons/caldav/caldav_view.xml
+++ b/addons/caldav/caldav_view.xml
@@ -159,15 +159,15 @@
<field name="arch" type="xml">
<search string="Calendars">
<field name="name" string="Calendar"/>
- <separator orientation="vertical"/>
<filter string="WebCal" icon="terp-calendar" domain="[('has_webcal', '=', True)]" help="Webcal Calendar"/>
+ <separator/>
<filter string="Event" icon="terp-calendar" domain="[('type', '=', 'vevent')]"/>
<filter string="Todo" icon="terp-calendar" domain="[('type', '=', 'vtodo')]"/>
+ <separator/>
<filter string="My Calendar(s)" icon="terp-personal" domain="[('user_id', '=', uid)]" help="My Calendar(s)"/>
- <separator orientation="vertical"/>
- <field name="user_id" widget="selection"/>
- <field name="collection_id"/>
<field name="type"/>
+ <field name="user_id"/>
+ <field name="collection_id"/>
</search>
</field>
</record>
@@ -178,7 +178,6 @@
<field name="res_model">basic.calendar</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">"Calendars" allow you to Customize calendar event and todo attribute with any of OpenERP model.Caledars provide iCal Import/Export functionality.Webdav server that provides remote access to calendar.Help You to synchronize Meeting with Calendars client.You can access Calendars using CalDAV clients, like sunbird, Calendar Evaluation, Mobile.</field>
</record>
<record id="action_caldav_view1" model="ir.actions.act_window.view">
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index 6b0d0e1e2c9..643908c1098 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -25,7 +25,7 @@
'version': '1.0',
'category': 'Customer Relationship Management',
"sequence": 2,
- "summary": "Agenda, Leads, Opportunities",
+ "summary": "Leads, Opportunities, Agenda",
'description': """
The generic OpenERP Customer Relationship Management.
=====================================================
diff --git a/addons/crm/board_crm_view.xml b/addons/crm/board_crm_view.xml
index d73939c759e..2d648295b6d 100644
--- a/addons/crm/board_crm_view.xml
+++ b/addons/crm/board_crm_view.xml
@@ -23,7 +23,7 @@
<field name="model">crm.lead.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
- <graph string="Opportunities By Stage" type="pie">
+ <graph string="Opportunities By Stage" type="area">
<field name="stage_id"/>
<field name="nbr" operator="+"/>
</graph>
@@ -65,16 +65,6 @@
<field name="context">{'search_default_Stage':1}</field>
</record>
- <record model="ir.actions.act_window" id="crm_case_confirmed_meet">
- <field name="name">Meetings</field>
- <field name="res_model">crm.meeting</field>
- <field name="view_mode">calendar,tree,form,gantt</field>
- <field name="view_id" ref="base_calendar.view_crm_meeting_tree"/>
- <field name="context">{"calendar_default_user_id":uid}</field>
- <field name="domain">[('state','=','open'),('date','&gt;',datetime.date.today().strftime("%Y-%m-%d %H:%M:%S"))]</field>
- <field name="search_view_id" ref="base_calendar.view_crm_meeting_search"/>
- </record>
-
<record model="ir.ui.view" id="board_crm_statistical_form">
<field name="name">CRM - Statistical Dashboard Form</field>
<field name="model">board.board</field>
@@ -85,7 +75,6 @@
<column>
<action string="New Leads" name="%(act_crm_tag_tree_view_leads_all)d"/>
<action string="My Opportunities" name="%(act_my_oppor)d"/>
- <action string="My Next Meetings" name="%(crm_case_confirmed_meet)d"/>
</column>
<column>
<action string="Planned Revenue by Stage and User" name="%(act_oppor_stage_user)d"/>
diff --git a/addons/crm/crm_data.xml b/addons/crm/crm_data.xml
index 88179428ab5..0322f830975 100644
--- a/addons/crm/crm_data.xml
+++ b/addons/crm/crm_data.xml
@@ -1,6 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
+
+ <!-- After installation of the module, open the related menu -->
+ <record id="action_client_crm_menu" model="ir.actions.client">
+ <field name="name">Open Sale Menu</field>
+ <field name="tag">reload</field>
+ <field name="params" eval="{'menu_id': ref('base.menu_base_partner')}"/>
+ </record>
+ <record id="todo_open_crm_menu" model="ir.actions.todo">
+ <field name="action_id" ref="action_client_crm_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+
<record model="crm.case.channel">
<field name="name">website</field>
</record>
@@ -23,21 +36,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module CRM has been installed</value>
- <value>From the top menu Sales, manage your sales pipeline: leads,
- opportunities, meetings, phone calls, and customers. OpenERP
- ensures that all cases are successfully tracked by all parties.
- It can automatically send reminders, escalate requests, trigger
- specific methods and lots of other actions based on your own
- enterprise rules.
-
- In the Sales settings, you can configure an email gateway to
- automatically create leads from messages sent on a particular
- email address.
+ <value>From the top menu Sales, you can: trace leads and opportunities, get accurate forecast on your sales pipeline, plan meetings and phonecalls, get realtime statistics and efficiently organize the communication with your prospects.
- To manage quotations and sale orders, install the module "Sales
- Management". With this module, you will be able to create
- quotations directly from opportunities.
- </value>
+To manage quotations and sale orders, install the module "Sales Management".</value>
</function>
</data>
</openerp>
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 3b6c6a19900..d5ec1309baa 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -245,7 +245,7 @@ class crm_lead(base_stage, osv.osv):
'company_currency': fields.related('company_id', 'currency_id', 'symbol', type='char', string='Company Currency', readonly=True),
'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True),
'user_login': fields.related('user_id', 'login', type='char', string='User Login', readonly=True),
-
+
# Fields for address, due to separation from crm and res.partner
'street': fields.char('Street', size=128),
'street2': fields.char('Street2', size=128),
@@ -278,7 +278,7 @@ class crm_lead(base_stage, osv.osv):
self.create_send_note(cr, uid, [obj_id], context=context)
return obj_id
- def onchange_stage_id(self, cr, uid, ids, stage_id, context={}):
+ def onchange_stage_id(self, cr, uid, ids, stage_id, context=None):
if not stage_id:
return {'value':{}}
stage = self.pool.get('crm.case.stage').browse(cr, uid, stage_id, context)
@@ -286,6 +286,14 @@ class crm_lead(base_stage, osv.osv):
return {'value':{}}
return {'value':{'probability': stage.probability}}
+ def on_change_partner(self, cr, uid, ids, partner_id, context=None):
+ result = {}
+ if partner_id:
+ partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
+ result = {'partner_name' : partner.name}
+ return {'value' : result}
+
+
def _check(self, cr, uid, ids=False, context=None):
""" Override of the base.stage method.
Function called by the scheduler to process cases for date actions
diff --git a/addons/crm/crm_lead_menu.xml b/addons/crm/crm_lead_menu.xml
index 5f0912f058c..04758f4ffe0 100644
--- a/addons/crm/crm_lead_menu.xml
+++ b/addons/crm/crm_lead_menu.xml
@@ -10,13 +10,17 @@
<field name="view_id" ref="crm_case_tree_view_leads"/>
<field name="search_view_id" ref="crm.view_crm_case_leads_filter"/>
<field name="context">{'default_type':'lead', 'stage_type':'lead'}</field>
- <field name="help">
- &lt;img src="http://www.thaicrmsoftware.com/wp-content/uploads/2011/11/lead-conversion.jpg" align="right" style="padding: 6px" width="306" height="223"&gt;
- &lt;h2&gt;Click here to create a Lead. &lt;/h2&gt;
- &lt;p&gt;
- A lead is usually the first step in your sales cycle.
- &lt;p&gt;
- Once qualified, a lead may be converted into a business opportunity, while creating the related partner for further detailed tracking of any linked activities.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create an unqualified lead.
+ </p><p>
+ A lead is usually the first step in your sales cycle. It can be
+ a contact with a new prospect, a company you target, a contact form
+ filled in your website, etc.
+ </p><p>
+ Once qualified, the lead can be converted into a business
+ opportunity and a new customer in your address book.
+ </p>
</field>
</record>
@@ -37,14 +41,23 @@
<record model="ir.actions.act_window" id="crm_case_category_act_oppor11">
<field name="name">Opportunities</field>
<field name="res_model">crm.lead</field>
- <field name="view_mode">kanban,tree,form,calendar</field>
+ <field name="view_mode">kanban,tree,graph,form,calendar</field>
<field name="domain">[('type','=','opportunity')]</field>
<field name="context">{'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
- <field name="help">With opportunities you can manage and keep track of your sales pipeline by creating specific customer- or prospect-related sales documents to follow up potential sales. Information such as expected revenue, opportunity stage, expected closing date, communication history and much more can be stored. Opportunities can be connected to the email gateway: new emails may create opportunities, each of them automatically gets the history of the conversation with the customer.
-
-You and your team(s) will be able to plan meetings and phone calls from opportunities, convert them into quotations, manage related documents, track all customer related activities, and much more.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new opportunity.
+ </p><p>
+ OpenERP helps you keep track of your sales pipeline to follow
+ up potential sales and better forecast your future revenues.
+ </p><p>
+ You will be able to plan meetings and phone calls from
+ opportunities, convert them into quotations, attach related
+ documents, track all discussions, and much more.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_kanban_view_oppor11">
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index 2c139470fdf..d8dbe736553 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -51,7 +51,6 @@
<field name="arch" type="xml">
<search string="Stage Search">
<field name="name" string="Stage Name"/>
- <separator orientation="vertical"/>
<field name="state"/>
<field name="type"/>
</search>
@@ -64,7 +63,14 @@
<field name="res_model">crm.case.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm.crm_case_stage_tree"/>
- <field name="help">Add specific stages to leads and opportunities allowing your sales to better organise their sales pipeline. Stages will allow them to easily track how a specific lead or opportunity is positioned in the sales cycle.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to set a new stage in your lead/opportunity pipeline.
+ </p><p>
+ Stages will allow salespersons to easily track how a specific
+ lead or opportunity is positioned in the sales cycle.
+ </p>
+ </field>
</record>
<menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages" sequence="0" parent="base.menu_crm_config_lead" groups="base.group_no_one"/>
@@ -75,13 +81,22 @@
<!-- Categories Form View -->
<record id="crm_lead_categ_action" model="ir.actions.act_window">
- <field name="name">Categories</field>
+ <field name="name">Sales Tags</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_case_categ_tree-view"/>
<field name="context" eval="{'object_id': ref('model_crm_lead')}"/>
<field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
- <field name="help">Create specific categories that fit your company's activities to better classify and analyse your leads and opportunities. Such categories could for instance reflect your product structure or the different types of sales you do.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new sales tag.
+ </p><p>
+ Create specific tags that fit your company's activities
+ to better classify and analyse your leads and opportunities.
+ Such categories could for instance reflect your product
+ structure or the different types of sales you do.
+ </p>
+ </field>
</record>
<menuitem action="crm_lead_categ_action"
@@ -131,10 +146,6 @@
<sheet>
<div class="oe_right oe_button_box" name="buttons">
<button type="action"
- name="%(act_crm_opportunity_crm_meeting_new)d"
- string="Meetings" />
-
- <button type="action"
name="%(act_crm_opportunity_crm_phonecall_new)d"
string="Phone Calls" />
</div>
@@ -144,19 +155,9 @@
</div>
<group>
<group>
- <field name="user_id" />
- <field name="section_id"/>
- <field name="type" invisible="1"/>
- </group>
- <group>
- <field name="priority"/>
- <field name="categ_ids"
- widget="many2many_tags"
- domain="[('object_id.model','=','crm.lead')]"/>
- </group>
- <group>
<field name="partner_name" string="Company Name"/>
- <field name="partner_id" string="Customer"/>
+ <field name="partner_id" string="Customer"
+ on_change="on_change_partner(partner_id)" />
<label for="street" string="Address"/>
<div>
<field name="street" placeholder="Street..."/>
@@ -187,6 +188,17 @@
icon="terp-mail-message-new" type="action" colspan="1"/>
-->
</group>
+ <group>
+ <field name="user_id" />
+ <field name="section_id"/>
+ <field name="type" invisible="1"/>
+ </group>
+ <group>
+ <field name="priority"/>
+ <field name="categ_ids"
+ widget="many2many_tags"
+ domain="[('object_id.model','=','crm.lead')]"/>
+ </group>
</group>
<notebook colspan="4">
<page string="Notes">
@@ -217,6 +229,20 @@
</field>
</record>
+ <!-- CRM Lead Graph View -->
+ <record model="ir.ui.view" id="crm_case_graph_view_leads">
+ <field name="name">Opportunities</field>
+ <field name="model">crm.lead</field>
+ <field name="type">graph</field>
+ <field name="arch" type="xml">
+ <graph string="Opportunities" type="bar">
+ <field name="stage_id"/>
+ <field name="planned_revenue" operator="+"/>
+ </graph>
+ </field>
+ </record>
+
+
<!-- CRM Lead Tree View -->
<record model="ir.ui.view" id="crm_case_tree_view_leads">
<field name="name">Leads</field>
@@ -351,44 +377,30 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Leads">
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
<field name="name" string="Lead / Customer" filter_domain="['|','|',('partner_name','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/>
<!-- subjects is not set as store=True so, it is placed outside filter_domain-->
- <field name="subjects"/>
- <separator orientation="vertical"/>
+ <field name="subjects"/>
<field name="create_date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check"
- string="New"
- name="new" help="New Leads"
- domain="[('state','=','draft')]"/>
- <filter icon="terp-camera_test"
- string="Open"
- name="open"
- domain="[('state','=','open')]"/>
- <filter string="Unassigned Leads"
- icon="terp-personal-"
- domain="[('user_id','=', False)]"
- help="Unassigned Leads" />
- <filter string="Leads Assigned to Me or My Team(s)"
- icon="terp-personal+"
- context="{'invisible_section': False}"
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
+ <filter icon="terp-check" string="New" name="new" help="New Leads" domain="[('state','=','draft')]"/>
+ <filter icon="terp-camera_test" string="Open" name="open" domain="[('state','=','open')]"/>
+ <separator/>
+ <filter string="Unassigned Leads" icon="terp-personal-" domain="[('user_id','=', False)]" help="Unassigned Leads" />
+ <separator/>
+ <filter string="Leads Assigned to Me or My Team(s)" icon="terp-personal+" context="{'invisible_section': False}"
domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="Leads that are assigned to one of the sale teams I manage, or to me"/>
- <separator orientation="vertical"/>
<field name="user_id"/>
- <field name="section_id" widget="selection"
- context="{'invisible_section': False}"/>
+ <field name="section_id" context="{'invisible_section': False}"/>
<field name="country_id" context="{'invisible_country': False}"/>
- <separator orientation="vertical"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
<filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/>
+ <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/>
+ <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}" />
+ <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
<separator orientation="vertical"/>
<filter string="Campaign" icon="terp-gtk-jump-to-rtl"
domain="[]" context="{'group_by':'type_id'}" />
@@ -397,18 +409,11 @@
<separator orientation="vertical"/>
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical" groups="base.group_no_one"/>
- <filter string="Creation" help="Create date" icon="terp-go-month"
- domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
+ <filter string="Creation" help="Create date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
</group>
- <separator orientation="vertical"/>
<group string="Display">
<filter string="Show Countries" icon="terp-personal+" context="{'invisible_country': False}" help="Show Countries"/>
- <filter string="Show Sales Team"
- icon="terp-personal+"
- context="{'invisible_section': False}"
- domain="[]"
- help="Show Sales Team"/>
+ <filter string="Show Sales Team" icon="terp-personal+" context="{'invisible_section': False}" domain="[]" help="Show Sales Team"/>
</group>
</search>
</field>
@@ -454,9 +459,11 @@
<button string="Schedule/Log Call"
name="%(opportunity2phonecall_act)d"
type="action"/>
- <button string="Schedule Meeting"
+ <button string="Meeting"
name="action_makeMeeting"
- type="object"/>
+ type="object"
+ context="{'search_default_attendee_id': active_id, 'default_attendee_id' : active_id}"
+ />
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
@@ -604,56 +611,36 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Opportunities">
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
<field name="name" string="Opportunity / Customer"
filter_domain="['|','|','|',('partner_id','ilike',self),('partner_name','ilike',self),('email_from','ilike',self),('name', 'ilike', self)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check"
- string="New" help="New Opportunities"
- name="new"
- domain="[('state','=','draft')]"/>
- <filter icon="terp-camera_test"
- string="Open" help="Open Opportunities"
- name="open"
- domain="[('state','=','open')]"/>
- <filter string="Unassigned Opportunities"
- icon="terp-personal-"
- domain="[('user_id','=', False)]"
- help="Unassigned Opportunities" />
- <filter string="Opportunities Assigned to Me or My Team(s)" icon="terp-personal+"
- domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
- context="{'invisible_section': False}"
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
+ <filter icon="terp-check" string="New" help="New Opportunities" name="new" domain="[('state','=','draft')]"/>
+ <filter icon="terp-camera_test" string="Open" help="Open Opportunities" name="open" domain="[('state','=','open')]"/>
+ <separator/>
+ <filter string="Unassigned Opportunities" icon="terp-personal-" domain="[('user_id','=', False)]" help="Unassigned Opportunities" />
+ <separator/>
+ <filter string="Opportunities Assigned to Me or My Team(s)" icon="terp-personal+"
+ domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" context="{'invisible_section': False}"
help="Opportunities that are assigned to either me or one of the sale teams I manage" />
- <separator orientation="vertical"/>
<field name="user_id"/>
<field name="country_id"/>
<field name="partner_id"/>
- <field name="section_id"
- context="{'invisible_section': False, 'default_section_id': self}"/>
- <newline/>
+ <field name="section_id" context="{'invisible_section': False, 'default_section_id': self}"/>
<group expand="0" string="Group By..." colspan="16">
<filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
<filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
<filter string="Customer" help="Partner" icon="terp-personal+" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical" />
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" />
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
<filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}"/>
<filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical" />
<filter string="Creation" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
<filter string="Exp.Closing" icon="terp-go-month" help="Expected Closing" domain="[]" context="{'group_by':'date_deadline'}" />
</group>
<group string="Display">
- <filter string="Show Sales Team"
- icon="terp-personal+"
- context="{'invisible_section': False}"
- domain="[]"
- help="Show Sales Team"/>
+ <filter string="Show Sales Team" icon="terp-personal+" context="{'invisible_section': False}" domain="[]" help="Show Sales Team"/>
</group>
</search>
</field>
diff --git a/addons/crm/crm_phonecall_menu.xml b/addons/crm/crm_phonecall_menu.xml
index 5eada894074..ba8c4768c09 100644
--- a/addons/crm/crm_phonecall_menu.xml
+++ b/addons/crm/crm_phonecall_menu.xml
@@ -68,14 +68,18 @@
<field name="domain">[]</field>
<field name="context">{}</field>
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
- <field name="help">
- Click on "Create" to log a new call.
- &lt;p&gt;
- This tool allows you to log your calls on the fly.
- &lt;p&gt;
- From this feature, you can trigger a request for another call, a meeting or an opportunity.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to log the summary of a phone call.
+ </p><p>
+ OpenERP allows you to log inbound calls on the fly to track the
+ history of the communication with a customer or to inform another
+ team member.
+ </p><p>
+ In order to follow up on the call, you can trigger a request for
+ another call, a meeting or an opportunity.
+ </p>
</field>
-
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_phone_incoming0">
@@ -112,12 +116,16 @@
<field name="domain">[('state','!=','done')]</field>
<field name="context" eval="'{\'default_state\':\'open\'}'"/>
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
- <field name="help">
- Click here to schedule a new call.
- &lt;p&gt;
- Scheduled calls list all the calls to be done by your sales team.
- &lt;p&gt;
- This information will be stored in the partner form to trace every contact you have with a customer.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to schedule a call
+ </p><p>
+ OpenERP allows you to easily define all the calls to be done
+ by your sales team and follow up based on their summary.
+ </p><p>
+ You can use the import feature to massicely import a new list of
+ prospects to qualify.
+ </p>
</field>
</record>
diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml
index ac0fe3b4b98..f2c47ddee42 100644
--- a/addons/crm/crm_phonecall_view.xml
+++ b/addons/crm/crm_phonecall_view.xml
@@ -47,7 +47,14 @@
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
<field name="domain">[('object_id.model', '=', 'crm.phonecall')]</field>
<field name="context" eval="{'object_id': ref('model_crm_phonecall')}"/>
- <field name="help">Create specific phone call categories to better define the type of calls tracked in the system.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new category.
+ </p><p>
+ Create specific phone call categories to better define the type of
+ calls tracked in the system.
+ </p>
+ </field>
</record>
<menuitem action="crm_phonecall_categ_action" name="Categories"
@@ -214,40 +221,24 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Phonecalls">
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
<field name="name" string="Phonecalls"/>
- <separator orientation="vertical"/>
<field name="date"/>
- <separator orientation="vertical"/>
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
<filter icon="terp-gtk-go-back-rtl" string="To Do" name="current" domain="[('state','=','open')]"/>
- <filter string="Unassigned Phonecalls"
- icon="terp-personal-"
- domain="[('user_id','=',False)]"
- help="Unassigned Phonecalls"/>
- <filter string="Phone Calls Assigned to Me or My Team(s)"
- icon="terp-personal+"
- domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
+ <separator/>
+ <filter string="Unassigned Phonecalls" icon="terp-personal-" domain="[('user_id','=',False)]" help="Unassigned Phonecalls"/>
+ <separator/>
+ <filter string="Phone Calls Assigned to Me or My Team(s)" icon="terp-personal+" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="Phone Calls that are assigned to me or to my team(s)" />
- <separator orientation="vertical"/>
<field name="partner_id"/>
<field name="user_id"/>
- <field name="section_id"
- widget="selection" string="Sales Team"/>
- <newline/>
+ <field name="section_id" string="Sales Team"/>
<group expand="0" string="Group By...">
- <filter string="Partner" icon="terp-partner" domain="[]"
- context="{'group_by':'partner_id'}" />
- <filter string="Responsible" icon="terp-personal"
- domain="[]" context="{'group_by':'user_id'}" />
- <separator orientation="vertical" />
- <filter string="Creation" icon="terp-go-month" help="Creation Date"
- domain="[]" context="{'group_by':'create_date'}" />
- <filter string="Date" icon="terp-go-month" domain="[]"
- context="{'group_by':'date'}" help="Date of Call" />
+ <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" />
+ <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
+ <filter string="Creation" icon="terp-go-month" help="Creation Date" domain="[]" context="{'group_by':'create_date'}" />
+ <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" help="Date of Call" />
</group>
</search>
</field>
diff --git a/addons/crm/crm_report_view.xml b/addons/crm/crm_report_view.xml
index c3ccde5360b..eaed4564424 100644
--- a/addons/crm/crm_report_view.xml
+++ b/addons/crm/crm_report_view.xml
@@ -69,15 +69,12 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Cases by Team and Type">
- <group>
- <field name="name"/>
- <separator orientation="vertical"/>
- <field name="month"/>
- <field name="section_id" widget="selection" />
- <field name="category2_id"/>
- <field name="nbr"/>
- <field name="state"/>
- </group>
+ <field name="name"/>
+ <field name="month"/>
+ <field name="nbr"/>
+ <field name="state"/>
+ <field name="section_id"/>
+ <field name="category2_id"/>
</search>
</field>
</record>
@@ -157,14 +154,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Cases by Team and Stage">
- <group>
- <field name="name"/>
- <separator orientation="vertical"/>
- <field name="month"/>
- <field name="section_id" widget="selection"/>
- <field name="nbr"/>
- <field name="state"/>
- </group>
+ <field name="name"/>
+ <field name="month"/>
+ <field name="nbr"/>
+ <field name="state"/>
+ <field name="section_id"/>
</search>
</field>
</record>
@@ -229,14 +223,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Cases by Section, Category and Stage">
- <group>
- <field name="name"/>
- <separator orientation="vertical"/>
- <field name="month"/>
- <field name="section_id" widget="selection"/>
- <field name="nbr"/>
- <field name="state"/>
- </group>
+ <field name="name"/>
+ <field name="month"/>
+ <field name="nbr"/>
+ <field name="state"/>
+ <field name="section_id"/>
</search>
</field>
</record>
@@ -318,14 +309,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Cases by User">
- <group>
- <field name="name"/>
- <separator orientation="vertical"/>
- <field name="month"/>
- <field name="section_id" widget="selection"/>
- <field name="nbr"/>
- <field name="state"/>
- </group>
+ <field name="name"/>
+ <field name="month"/>
+ <field name="nbr"/>
+ <field name="state"/>
+ <field name="section_id"/>
</search>
</field>
</record>
diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml
index 3f6e97fa186..e3f7dfd500f 100644
--- a/addons/crm/crm_view.xml
+++ b/addons/crm/crm_view.xml
@@ -59,7 +59,18 @@
<field name="res_model">crm.case.channel</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">Track from where is coming your leads and opportunities by creating specific channels that will be maintained at the creation of a document in the system. Some examples of channels can be: Website, Phone Call, Reseller, etc.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new channel.
+ </p><p>
+ Use channels to track the soure of your leads and opportunities. Channels
+ are mostly used in reporting to analyse sales performance
+ related to marketing efforts.
+ </p><p>
+ Some examples of channels: company website, phone call
+ campaign, reseller, etc.
+ </p>
+ </field>
</record>
<menuitem action="crm_case_channel_action" id="menu_crm_case_channel" parent="base.menu_crm_config_lead" sequence="4" groups="base.group_no_one"/>
@@ -133,7 +144,15 @@
<field name="res_model">crm.case.section</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_case_section_view_tree"/>
- <field name="help">Define a Sales Team to organize your different salesmen or sales departments into separate teams. Each team will work in its own list of opportunities, sales orders, etc. Each user can set a default team in his user preferences. The opportunities and sales order displayed, will automatically be filtered according to his team.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new sales team.
+ </p><p>
+ Use sales team to organize your different salespersons or
+ departments into separate teams. Each team will work in
+ its own list of opportunities.
+ </p>
+ </field>
</record>
<menuitem action="crm_case_section_act"
@@ -380,11 +399,20 @@
</record>
<record id="crm_segmentation_tree-act" model="ir.actions.act_window">
- <field name="name">Partners Segmentation</field>
+ <field name="name">Contacts Segmentation</field>
<field name="res_model">crm.segmentation</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">Create specific partner categories which you can assign to your partners to better manage your interactions with them. The segmentation tool is able to assign categories to partners according to criteria you set.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new customer segmentation.
+ </p><p>
+ Create specific categories which you can assign to your
+ contacts to better manage your interactions with them. The
+ segmentation tool is able to assign categories to contacts
+ according to criteria you set.
+ </p>
+ </field>
</record>
<menuitem action="crm_segmentation_tree-act"
diff --git a/addons/crm/process/crm_configuration_process.xml b/addons/crm/process/crm_configuration_process.xml
index 790aad82fc8..c56bb8935d9 100644
--- a/addons/crm/process/crm_configuration_process.xml
+++ b/addons/crm/process/crm_configuration_process.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" ?>
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
diff --git a/addons/crm/report/crm_lead_report_view.xml b/addons/crm/report/crm_lead_report_view.xml
index f45b9d621da..9d0050be69c 100644
--- a/addons/crm/report/crm_lead_report_view.xml
+++ b/addons/crm/report/crm_lead_report_view.xml
@@ -70,47 +70,26 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Leads Analysis">
- <group>
- <filter icon="terp-personal"
- name="lead"
- string="Lead"
- domain="[('type','=', 'lead')]"
- help="Show only lead"/>
- <filter icon="terp-personal+"
- string="Opportunity"
- name="opportunity"
- domain="[('type','=','opportunity')]"
- help="Show only opportunity"/>
- <separator orientation="vertical" />
- <filter icon="terp-check"
- string="New"
- domain="[('state','=','draft')]"
- help="Leads/Opportunities which are in New state"/>
- <filter icon="terp-camera_test"
- string="Open"
- domain="[('state','=','open')]"
- help="Leads/Opportunities which are in open state"/>
- <filter icon="gtk-media-pause"
- string="Pending"
- domain="[('state','=','pending')]"
- help="Leads/Opportunities which are in pending state"/>
- <filter icon="terp-dialog-close"
- string="Closed"
- domain="[('state','=','done')]"
- help="Leads/Opportunities which are in done state"/>
- <filter string="My Sales Team(s)" icon="terp-personal+"
- context="{'invisible_section': False}"
- domain="[('section_id.user_id','=',uid)]"
- help="Leads/Opportunities that are assigned to one of the sale teams I manage"/>
- <filter icon="terp-personal" string="My Case(s)" help="Leads/Opportunities that are assigned to me" domain="[('user_id','=',uid)]"/>
- <separator orientation="vertical" />
- <field name="section_id"
- context="{'invisible_section': False}"/>
- <field name="user_id" string="Salesperson"/>
- </group>
- <newline/>
+ <filter icon="terp-personal" name="lead" string="Lead" domain="[('type','=', 'lead')]" help="Show only lead"/>
+ <filter icon="terp-personal+" string="Opportunity" name="opportunity" domain="[('type','=','opportunity')]" help="Show only opportunity"/>
+ <separator/>
+ <filter icon="terp-check" string="New" domain="[('state','=','draft')]" help="Leads/Opportunities which are in New state"/>
+ <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="Leads/Opportunities which are in open state"/>
+ <filter icon="gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Leads/Opportunities which are in pending state"/>
+ <filter icon="terp-dialog-close" string="Closed" domain="[('state','=','done')]" help="Leads/Opportunities which are in done state"/>
+ <separator/>
+ <filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]"
+ help="Leads/Opportunities that are assigned to one of the sale teams I manage"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Case(s)" help="Leads/Opportunities that are assigned to me" domain="[('user_id','=',uid)]"/>
+ <field name="section_id" context="{'invisible_section': False}"/>
+ <field name="user_id" string="Salesperson"/>
<group expand="0" string="Extended Filters...">
<field name="partner_id"/>
+ <field name="stage_id" domain="[('section_ids', '=', 'section_id')]" />
+ <field name="type_id"/>
+ <field name="channel_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<separator orientation="vertical"/>
<field name="stage_id" widget="selection" domain="[('section_ids', '=', 'section_id')]" />
<field name="type_id" widget="selection"/>
@@ -122,22 +101,21 @@
<field name="opening_date"/>
<field name="date_closed"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
- <filter string="Salesperson" name="user" icon="terp-personal"
- domain="[]" context="{'group_by':'user_id'}" />
- <filter string="Sales Team" icon="terp-personal+"
- domain="[]"
- context="{'group_by':'section_id'}" />
+ <filter string="Salesperson" name="user" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
+ <filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" />
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" />
<filter string="Country" icon="terp-go-home" context="{'group_by':'country_id'}" />
- <filter string="Company" icon="terp-go-home"
- domain="[]"
- context="{'group_by':'company_id'}"
- groups="base.group_multi_company"/>
- <separator orientation="vertical" />
+ <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="Stage" name="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
+ <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}" />
+ <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
+ <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'creation_year'}"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'creation_month'}"/>
+ <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'creation_day'}"/>
+ <filter string="Exp. Closing" icon="terp-go-month" domain="[]" context="{'group_by':'deadline_month'}"/>
<filter string="Campaign" icon="terp-gtk-jump-to-rtl"
domain="[]" context="{'group_by':'type_id'}" />
<filter string="Channel" icon="terp-call-start"
diff --git a/addons/crm/report/crm_phonecall_report_view.xml b/addons/crm/report/crm_phonecall_report_view.xml
index 3f28fb8730e..2eeff7a0981 100644
--- a/addons/crm/report/crm_phonecall_report_view.xml
+++ b/addons/crm/report/crm_phonecall_report_view.xml
@@ -51,65 +51,37 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search">
- <group>
- <filter icon="terp-gtk-go-back-rtl"
- string="Todo"
- domain="[('state','in',('draft','open'))]"
- help="Phone calls which are in draft and open state"/>
- <filter icon="terp-camera_test"
- string="Held"
- domain="[('state','=','done')]"
- help="Phone calls which are in closed state"/>
- <filter icon="gtk-media-pause"
- string="Not Held"
- domain="[('state','=','pending')]"
- help="Phone calls which are in pending state"/>
- <filter string="My Sales Team(s)"
- icon="terp-personal+"
- context="{'invisible_section': False}"
- domain="[('section_id.user_id','=',uid)]"
- help="Phone calls that are assigned to one of the sale teams I manage"/>
- <filter icon="terp-personal" string="My Phone Calls" help="Phone Calls that are assigned to me" domain="[('user_id','=',uid)]" />
- <separator orientation="vertical"/>
- <field name="section_id" string="Sales Team"
- context="{'invisible_section': False}"/>
- <field name="user_id" string="Salesperson"/>
- </group>
- <newline/>
+ <filter icon="terp-gtk-go-back-rtl" string="Todo" domain="[('state','in',('draft','open'))]"
+ help="Phone calls which are in draft and open state"/>
+ <filter icon="terp-camera_test" string="Held" domain="[('state','=','done')]"
+ help="Phone calls which are in closed state"/>
+ <filter icon="gtk-media-pause" string="Not Held" domain="[('state','=','pending')]"
+ help="Phone calls which are in pending state"/>
+ <separator/>
+ <filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]"
+ help="Phone calls that are assigned to one of the sale teams I manage"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Phone Calls" help="Phone Calls that are assigned to me" domain="[('user_id','=',uid)]" />
+ <field name="section_id" string="Sales Team" context="{'invisible_section': False}"/>
+ <field name="user_id" string="Salesperson"/>
<group expand="0" string="Extended Filters...">
<field name="partner_id"/>
- <separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
- <newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
- <filter string="Salesperson" name="Salesperson" icon="terp-personal"
- domain="[]" context="{'group_by':'user_id'}" />
- <filter string="Sales Team" icon="terp-personal+"
- domain="[]"
- context="{'group_by':'section_id'}" />
+ <filter string="Salesperson" name="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
+ <filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" />
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" />
- <separator orientation="vertical" />
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
- <filter string="Category" icon="terp-stock_symbol-selection"
- domain="[]" context="{'group_by':'categ_id'}" />
- <filter string="Status" icon="terp-stock_effects-object-colorize"
- domain="[]" context="{'group_by':'state'}" />
- <separator orientation="vertical" />
- <filter string="Company" icon="terp-go-home"
- domain="[]"
- context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical" />
- <filter string="Day" icon="terp-go-today"
- domain="[]" context="{'group_by':'day'}" help="Date of call"/>
- <filter string="Month" icon="terp-go-month"
- domain="[]" context="{'group_by':'month'}" help="Month of call"/>
- <filter string="Year" icon="terp-go-year"
- domain="[]" context="{'group_by':'name'}" help="Year of call"/>
+ <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
+ <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
+ <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Date of call"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Month of call"/>
+ <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'name'}" help="Year of call"/>
</group>
</search>
</field>
diff --git a/addons/crm/res_config.py b/addons/crm/res_config.py
index 563da4bd137..834a4dc7149 100644
--- a/addons/crm/res_config.py
+++ b/addons/crm/res_config.py
@@ -26,22 +26,22 @@ class crm_configuration(osv.osv_memory):
_inherit = ['sale.config.settings', 'fetchmail.config.settings']
_columns = {
- 'fetchmail_lead': fields.boolean("Create Leads from Incoming Mails",
+ 'fetchmail_lead': fields.boolean("create leads from incoming mails",
fetchmail_model='crm.lead', fetchmail_name='Incoming Leads',
help="""Allows you to configure your incoming mail server, and create leads from incoming emails."""),
- 'module_crm_caldav': fields.boolean("Caldav Synchronization",
+ 'module_crm_caldav': fields.boolean("applications with Caldav protocol",
help="""Use protocol caldav to synchronize meetings with other calendar applications (like Sunbird).
This installs the module crm_caldav."""),
- 'module_import_sugarcrm': fields.boolean("SugarCRM Import",
+ 'module_import_sugarcrm': fields.boolean("SugarCRM",
help="""Import SugarCRM leads, opportunities, users, accounts, contacts, employees, meetings, phonecalls, emails, project and project tasks data.
This installs the module import_sugarcrm."""),
- 'module_import_google': fields.boolean("Google Import",
+ 'module_import_google': fields.boolean("Google (Contacts and Calendar)",
help="""Import google contact in partner address and add google calendar events details in Meeting.
This installs the module import_google."""),
- 'module_wiki_sale_faq': fields.boolean("Install a Sales FAQ",
+ 'module_wiki_sale_faq': fields.boolean("share information with sales FAQ",
help="""This provides demo data, thereby creating a Wiki Group and a Wiki Page for Wiki Sale FAQ.
This installs the module wiki_sale_faq."""),
- 'module_google_map': fields.boolean("Google Maps on Customer",
+ 'module_google_map': fields.boolean("add google maps on customer",
help="""Locate customers on Google Map.
This installs the module google_map."""),
}
diff --git a/addons/crm/res_config_view.xml b/addons/crm/res_config_view.xml
index 96fa16eaa2d..c4e8b75f0d7 100644
--- a/addons/crm/res_config_view.xml
+++ b/addons/crm/res_config_view.xml
@@ -8,26 +8,56 @@
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
<field name="arch" type="xml">
- <separator string="Emails" version="7.0" position="after">
- <label for="fetchmail_lead"/>
+ <group name="On Mail Client" version="7.0" position="after">
+ <group>
+ <label for="id" string="On Mail Server"/>
+ <div>
+ <div name="fetchmail_lead">
+ <field name="fetchmail_lead" class="oe_inline"/>
+ <label for="fetchmail_lead"/>
+ <button name="configure_fetchmail_lead" type="object" string="Configure" icon="gtk-go-forward"
+ attrs="{'invisible': [('fetchmail_lead','=',False)]}" class="oe_link"/>
+ </div>
+ </div>
+ </group>
+ </group>
+ <div name="config_other" version="7.0" position="inside">
+ <separator string="Import and Synchronize Data from an Other Application"/>
+ <group>
+ <label for="id" string="Import From"/>
+ <div>
+ <div>
+ <field name="module_import_sugarcrm"/>
+ <label for="module_import_sugarcrm"/>
+ </div>
+ </div>
+ </group>
+ <group>
+ <label for="id" string="Synchronize with"/>
+ <div>
+ <div>
+ <field name="module_import_google"/>
+ <label for="module_import_google"/>
+ </div>
+ <div>
+ <field name="module_crm_caldav"/>
+ <label for="module_crm_caldav"/>
+ </div>
+ </div>
+ </group>
+ </div>
+ <div name="Customer Features" position="inside">
<div>
- <field name="fetchmail_lead"/>
- <button name="configure_fetchmail_lead" type="object" string="Configure" icon="gtk-go-forward"
- attrs="{'invisible': [('fetchmail_lead','=',False)]}"/>
+ <field name="module_google_map" class="oe_inline"/>
+ <label for="module_google_map"/>
</div>
- </separator>
- <group name="config_other" version="7.0" position="inside">
- <separator string="Import and Synchronize Data from an Other Application" colspan="2"/>
- <field name="module_import_sugarcrm"/>
- <field name="module_crm_caldav"/>
- <field name="module_import_google"/>
- <separator string="Customer Form" colspan="2"/>
- <field name="module_google_map"/>
- </group>
- <group name="config_sale" position="inside">
- <separator string="Documents and Wiki" colspan="2"/>
+ </div>
+ <div name="Sale Features" position="inside">
+ <div>
<field name="module_wiki_sale_faq"/>
- </group>
+ <label for="module_wiki_sale_faq"/>
+ </div>
+ </div>
</field>
</record>
diff --git a/addons/crm/res_partner.py b/addons/crm/res_partner.py
index acf212a2305..31c45969f8e 100644
--- a/addons/crm/res_partner.py
+++ b/addons/crm/res_partner.py
@@ -46,6 +46,14 @@ class res_partner(osv.osv):
'meeting_count': fields.function(_opportunity_meeting_count, string="Meeting", type='integer', multi='opp_meet'),
}
+ def copy(self, cr, uid, record_id, default=None, context=None):
+ if default is None:
+ default = {}
+
+ default.update({'opportunity_ids': [], 'meeting_ids' : [], 'phonecall_ids' : []})
+
+ super(res_partner, self).copy(cr, uid, record_id, default, context)
+
def redirect_partner_form(self, cr, uid, partner_id, context=None):
search_view = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'view_res_partner_filter')
value = {
diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml
index 8ddf435138a..31040a33376 100644
--- a/addons/crm/res_partner_view.xml
+++ b/addons/crm/res_partner_view.xml
@@ -37,6 +37,7 @@
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<field name="category_id" position="after">
+ <field name="section_id" completion="1"/>
<field name="section_id" completion="1" widget="selection" context="{'invisible_section': False}"/>
</field>
<xpath expr="//field[@name='user_id']" position="after">
@@ -69,10 +70,17 @@
'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
- <field name="help">
- With opportunities you can manage and keep track of your sales pipeline by creating specific customer- or prospect-related sales documents to follow up potential sales. Information such as expected revenue, opportunity stage, expected closing date, communication history and much more can be stored. Opportunities can be connected to the email gateway: new emails may create opportunities, each of them automatically gets the history of the conversation with the customer.
-
- You and your team(s) will be able to plan meetings and phone calls from opportunities, convert them into quotations, manage related documents, track all customer related activities, and much more.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create an opportunity related to this customer.
+ </p><p>
+ Use opportunities to keep track of your sales pipeline, follow
+ up potential sales and better forecast your future revenues.
+ </p><p>
+ You will be able to plan meetings and phone calls from
+ opportunities, convert them into quotations, attach related
+ documents, track all discussions, and much more.
+ </p>
</field>
</record>
<record model="ir.actions.act_window.view" id="relate_partner_opportunities_kanban">
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index 80e373160be..930c08408cd 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -15,7 +15,15 @@
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
<field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
<field name="context" eval="{'object_id': ref('model_crm_claim')}"/>
- <field name="help">Create claim categories to better manage and classify your claims. Some example of claims can be: preventive action, corrective action.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a claim category.
+ </p><p>
+ Create claim categories to better manage and classify your
+ claims. Some example of claims can be: preventive action,
+ corrective action.
+ </p>
+ </field>
</record>
<menuitem action="crm_claim_categ_action" name="Categories"
@@ -57,7 +65,15 @@
<field name="res_model">crm.claim.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_claim_stage_tree"/>
- <field name="help">You can create claim stages to categorize the status of every claim entered in the system. The stages define all the steps required for the resolution of a claim.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to setup a new stage in the processing of the claims.
+ </p><p>
+ You can create claim stages to categorize the status of every
+ claim entered in the system. The stages define all the steps
+ required for the resolution of a claim.
+ </p>
+ </field>
</record>
<!-- Claims -->
@@ -199,50 +215,22 @@
<field name="arch" type="xml">
<search string="Search Claims">
<field name="name" string="Claims"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" string="New" name="current"
- domain="[('state','=','draft')]"
- help="New Claims"/>
- <filter icon="terp-camera_test"
- string="In Progress"
- domain="[('state','=','open')]"
- help="In Progress Claims"/>
- <filter icon="terp-gtk-media-pause"
- string="Pending"
- domain="[('state','=','pending')]"/>
- <filter string="Unassigned Claims"
- icon="terp-personal-"
- domain="[('user_id','=', False)]"
- help="Unassigned Claims" />
- <separator orientation="vertical"/>
+ <filter icon="terp-check" string="New" name="current" domain="[('state','=','draft')]" help="New Claims"/>
+ <filter icon="terp-camera_test" string="In Progress" domain="[('state','=','open')]" help="In Progress Claims"/>
+ <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]"/>
+ <separator/>
+ <filter string="Unassigned Claims" icon="terp-personal-" domain="[('user_id','=', False)]" help="Unassigned Claims" />
<field name="partner_id"/>
- <field name="user_id" widget="selection"/>
- <newline/>
+ <field name="user_id"/>
<group expand="0" string="Group By...">
- <filter string="Partner" icon="terp-partner"
- domain="[]" help="Partner"
- context="{'group_by':'partner_id'}"/>
- <filter string="Responsible" icon="terp-personal"
- domain="[]" help="Responsible User"
- context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Stage" icon="terp-stage"
- domain="[]" context="{'group_by':'stage_id'}"/>
- <filter string="Type" icon="terp-stock_symbol-selection"
- domain="[]" context="{'group_by':'categ_id'}"/>
- <filter string="Status"
- icon="terp-stock_effects-object-colorize"
- domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/>
- <separator orientation="vertical"/>
- <filter string="Claim Date" icon="terp-go-month"
- domain="[]" help="Claim Date"
- context="{'group_by':'date'}"/>
- <filter string="Deadline" icon="terp-go-month"
- domain="[]"
- context="{'group_by':'date_deadline'}"/>
- <filter string="Closure" icon="terp-go-month"
- domain="[]" help="Date Closed"
- context="{'group_by':'date_closed'}" groups="base.group_no_one"/>
+ <filter string="Partner" icon="terp-partner" domain="[]" help="Partner" context="{'group_by':'partner_id'}"/>
+ <filter string="Responsible" icon="terp-personal" domain="[]" help="Responsible User" context="{'group_by':'user_id'}"/>
+ <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
+ <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/>
+ <filter string="Claim Date" icon="terp-go-month" domain="[]" help="Claim Date" context="{'group_by':'date'}"/>
+ <filter string="Deadline" icon="terp-go-month" domain="[]" context="{'group_by':'date_deadline'}"/>
+ <filter string="Closure" icon="terp-go-month" domain="[]" help="Date Closed" context="{'group_by':'date_closed'}" groups="base.group_no_one"/>
</group>
</search>
</field>
diff --git a/addons/crm_claim/report/crm_claim_report_view.xml b/addons/crm_claim/report/crm_claim_report_view.xml
index e92102f889d..adfb97a28f0 100644
--- a/addons/crm_claim/report/crm_claim_report_view.xml
+++ b/addons/crm_claim/report/crm_claim_report_view.xml
@@ -53,93 +53,43 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search">
- <group>
- <filter icon="terp-document-new"
- string="New"
- domain="[('state','=','draft')]"/>
- <filter icon="terp-camera_test"
- string="Open"
- domain="[('state','=','open')]"/>
- <filter icon="terp-gtk-media-pause"
- string="Pending"
- domain="[('state','=','pending')]"/>
- <filter string="My Sales Team(s)"
- icon="terp-personal+"
- context="{'invisible_section': False}"
- domain="[('section_id.user_id','=',uid)]"
- help="My Sales Team(s)" />
- <filter string="My Company"
- icon="terp-go-home"
- context="{'invisible_section': False}"
- domain="[('section_id.user_id.company_id','=',uid)]"
- help="My company"/>
- <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" />
- <separator orientation="vertical"/>
- <field name="company_id" groups="base.group_multi_company"/>
- <field name="user_id" string="Salesperson"/>
- <field name="section_id" string="Sales Team"
- context="{'invisible_section': False}"/>
- </group>
- <newline/>
+ <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/>
+ <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]"/>
+ <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]"/>
+ <separator/>
+ <filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)" />
+ <separator/>
+ <filter string="My Company" icon="terp-go-home" context="{'invisible_section': False}" domain="[('section_id.user_id.company_id','=',uid)]" help="My company"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" />
+ <field name="company_id" groups="base.group_multi_company"/>
+ <field name="user_id" string="Salesperson"/>
+ <field name="section_id" string="Sales Team" context="{'invisible_section': False}"/>
<group expand="0" string="Extended Filters...">
- <filter icon="terp-dialog-close"
- string="Done"
- domain="[('state','=','done')]"/>
- <filter icon="gtk-cancel"
- string="Cancel"
- domain="[('state','=','cancel')]"/>
- <separator orientation="vertical"/>
<field name="partner_id"/>
- <separator orientation="vertical"/>
- <field name="stage_id" widget="selection" domain="[('section_ids', '=', 'section_id')]"/>
- <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.claim')]"/>
- <separator orientation="vertical"/>
- <field name="priority" />
- <field name="type_action" />
- <newline/>
+ <field name="stage_id" domain="[('section_ids', '=', 'section_id')]"/>
+ <field name="categ_id" domain="[('object_id.model', '=', 'crm.claim')]"/>
+ <field name="priority"/>
+ <field name="type_action"/>
<field name="create_date" />
<field name="date_closed" />
<field name="date_deadline" />
+ <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/>
+ <filter icon="gtk-cancel" string="Cancel" domain="[('state','=','cancel')]"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
- <filter string="Salesperson" name="Salesperson" icon="terp-personal"
- domain="[]" context="{'group_by':'user_id'}" />
- <filter string="Sales Team" icon="terp-personal+"
- domain="[]"
- context="{'group_by':'section_id'}" />
- <filter string="Partner" name="partner" icon="terp-partner"
- domain="[]" context="{'group_by':'partner_id'}" />
- <separator orientation="vertical" />
- <filter string="Stage" icon="terp-stage" domain="[]"
- context="{'group_by':'stage_id'}" />
- <filter string="Priority" icon="terp-rating-rated" domain="[]"
- context="{'group_by':'priority'}" />
- <filter string="Category" icon="terp-stock_symbol-selection"
- domain="[]" context="{'group_by':'categ_id'}" />
-
- <separator orientation="vertical"/>
- <filter string="Type" icon="terp-stock_symbol-selection" domain="[]"
- context="{'group_by':'type_action'}" help="Action Type"/>
- <filter string="Status" icon="terp-stock_effects-object-colorize"
- domain="[]" context="{'group_by':'state'}" />
- <separator orientation="vertical" />
- <filter string="Company" icon="terp-go-home"
- domain="[]"
- context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
-
- <separator orientation="vertical" />
- <filter string="Day" icon="terp-go-today"
- domain="[]" context="{'group_by':'day'}"
- help="Date of claim"/>
-
- <filter string="Month" icon="terp-go-month"
- domain="[]" context="{'group_by':'month'}"
- help="Month of claim"/>
-
- <filter string="Year" icon="terp-go-year"
- domain="[]" context="{'group_by':'name'}"
- help="Year of claim"/>
+ <filter string="Salesperson" name="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
+ <filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" />
+ <filter string="Partner" name="partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" />
+ <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" />
+ <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
+ <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
+ <filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type_action'}" help="Action Type"/>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
+ <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
+ <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Date of claim"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Month of claim"/>
+ <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'name'}" help="Year of claim"/>
</group>
</search>
</field>
diff --git a/addons/crm_claim/res_config.py b/addons/crm_claim/res_config.py
index 05f7962e18b..cf260fcd163 100644
--- a/addons/crm_claim/res_config.py
+++ b/addons/crm_claim/res_config.py
@@ -26,7 +26,7 @@ class crm_claim_settings(osv.osv_memory):
_inherit = ['sale.config.settings', 'fetchmail.config.settings']
_columns = {
- 'fetchmail_claim': fields.boolean("Create Claims from Incoming Mails",
+ 'fetchmail_claim': fields.boolean("create claims from incoming mails",
fetchmail_model='crm.claim', fetchmail_name='Incoming Claims',
help="""Allows you to configure your incoming mail server, and create claims from incoming emails."""),
}
diff --git a/addons/crm_claim/res_config_view.xml b/addons/crm_claim/res_config_view.xml
index 327bf144544..043fd4f76b9 100644
--- a/addons/crm_claim/res_config_view.xml
+++ b/addons/crm_claim/res_config_view.xml
@@ -7,16 +7,16 @@
<field name="model">sale.config.settings</field>
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
- <field name="priority" eval="20"/> <!-- to put fetchmail_lead before fetchmail_claim -->
+ <field name="priority" eval="20"/>
<field name="arch" type="xml">
- <separator string="Emails" version="7.0" position="after">
- <label for="fetchmail_claim"/>
+ <div name="fetchmail_lead" position="after">
<div>
- <field name="fetchmail_claim"/>
- <button type="object" name="configure_fetchmail_claim" string="Configure" icon="gtk-go-forward"
- attrs="{'invisible': [('fetchmail_claim','=',False)]}"/>
+ <field name="fetchmail_claim" class="oe_inline"/>
+ <label for="fetchmail_claim"/>
+ <button type="object" name="configure_fetchmail_claim" string="Configure" icon="gtk-go-forward"
+ attrs="{'invisible': [('fetchmail_claim','=',False)]}" class="oe_link"/>
</div>
- </separator>
+ </div>
</field>
</record>
diff --git a/addons/crm_fundraising/crm_fundraising_view.xml b/addons/crm_fundraising/crm_fundraising_view.xml
index 9e67a4001a7..7ee3f35d2a6 100644
--- a/addons/crm_fundraising/crm_fundraising_view.xml
+++ b/addons/crm_fundraising/crm_fundraising_view.xml
@@ -172,50 +172,24 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Funds">
- <group>
- <field name="name" string="Fund Description"/>
- <separator orientation="vertical" />
- <filter icon="terp-check" string="New"
- domain="[('state','=','draft')]" name="current"
- help="New Funds" />
- <filter icon="terp-camera_test" string="Open"
- domain="[('state','=','open')]"
- help="Open Funds" />
- <filter icon="terp-gtk-media-pause"
- string="Pending"
- domain="[('state','=','pending')]"
- help="Pending Funds" />
- <separator orientation="vertical" />
- <filter string="Unassigned"
- icon="terp-personal-"
- domain="[('user_id','=', False)]"
- help="Unassigned" />
- <filter string="Assigned to Me or to My Sales Team(s)"
- icon="terp-personal+"
- domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
- help="Fund Raisings that are assigned to me or to one of the sale teams I manage" />
- <separator orientation="vertical" />
- <field name="state"/>
- <field name="user_id"
- widget="selection"/>
- <field name="section_id" widget="selection" string="Sales Team"/>
- </group>
- <newline/>
+ <field name="name" string="Fund Description"/>
+ <field name="state"/>
+ <filter icon="terp-check" string="New" domain="[('state','=','draft')]" name="current" help="New Funds" />
+ <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="Open Funds" />
+ <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Funds" />
+ <separator/>
+ <filter string="Unassigned" icon="terp-personal-" domain="[('user_id','=', False)]" help="Unassigned" />
+ <separator/>
+ <filter string="Assigned to Me or to My Sales Team(s)" icon="terp-personal+" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
+ help="Fund Raisings that are assigned to me or to one of the sale teams I manage" />
+ <field name="user_id"/>
+ <field name="section_id" string="Sales Team"/>
<group expand="0" string="Group By...">
- <filter string="Partner" icon="terp-partner"
- domain="[]"
- context="{'group_by':'partner_id'}" />
- <filter string="Responsible" icon="terp-personal"
- domain="[]"
- context="{'group_by':'user_id'}" />
- <filter string="Category" help="Fund Category"
- icon="terp-stock_symbol-selection" domain="[]"
- context="{'group_by':'categ_id'}" />
- <filter string="Payment Mode" help="Payment Mode"
- icon="terp-dolar" domain="[]"
- context="{'group_by':'type_id'}" />
- <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]"
- context="{'group_by':'state'}" />
+ <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" />
+ <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
+ <filter string="Category" help="Fund Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
+ <filter string="Payment Mode" help="Payment Mode" icon="terp-dolar" domain="[]" context="{'group_by':'type_id'}" />
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
</group>
</search>
</field>
diff --git a/addons/crm_fundraising/report/crm_fundraising_report_view.xml b/addons/crm_fundraising/report/crm_fundraising_report_view.xml
index 5a3ed924567..028635b083c 100644
--- a/addons/crm_fundraising/report/crm_fundraising_report_view.xml
+++ b/addons/crm_fundraising/report/crm_fundraising_report_view.xml
@@ -77,74 +77,34 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search">
- <group>
- <filter icon="terp-document-new"
- string="New"
- domain="[('state','=','draft')]"/>
- <filter icon="terp-camera_test"
- string="Open"
- domain="[('state','=','open')]"/>
- <filter icon="terp-gtk-media-pause"
- string="Pending"
- domain="[('state','=','pending')]"/>
- <filter string="My Sales Team(s)"
- icon="terp-personal+"
- context="{'invisible_section': False}"
- domain="[('section_id.user_id','=',uid)]"
- help="My Sales Team(s)" />
- <filter string="My Company"
- icon="terp-go-home"
- context="{'invisible_section': False}"
- domain="[('section_id.user_id.company_id','=',uid)]"
- help="My company"/>
- <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" />
- <separator orientation="vertical"/>
- <field name="section_id" string="Sales Team"
- context="{'invisible_section': False}"/>
- <field name="company_id" groups="base.group_multi_company"/>
- <field name="user_id" string="Salesperson"/>
- </group>
- <newline/>
+ <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/>
+ <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]"/>
+ <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]"/>
+ <separator/>
+ <filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)" />
+ <separator/>
+ <filter string="My Company" icon="terp-go-home" context="{'invisible_section': False}" domain="[('section_id.user_id.company_id','=',uid)]" help="My company"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" />
+ <field name="section_id" string="Sales Team" context="{'invisible_section': False}"/>
+ <field name="company_id" groups="base.group_multi_company"/>
+ <field name="user_id" string="Salesperson"/>
<group expand="0" string="Extended Filters...">
- <filter icon="terp-dialog-close"
- string="Done"
- domain="[('state','=','done')]"/>
- <filter icon="gtk-cancel"
- string="Cancel"
- domain="[('state','=','cancel')]"/>
- <separator orientation="vertical"/>
- <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.fundraising')]"/>
+ <field name="categ_id" domain="[('object_id.model', '=', 'crm.fundraising')]"/>
<field name="create_date"/>
+ <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/>
+ <filter icon="gtk-cancel" string="Cancel" domain="[('state','=','cancel')]"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
- <filter string="Salesperson" name="Salesperson" icon="terp-personal"
- domain="[]" context="{'group_by':'user_id'}" />
- <filter string="Sales Team" icon="terp-personal+"
- domain="[]"
- context="{'group_by':'section_id'}" />
- <separator orientation="vertical" />
- <filter string="Status" icon="terp-stock_effects-object-colorize"
- domain="[]" context="{'group_by':'state'}" />
- <filter string="Category" icon="terp-stock_symbol-selection"
- domain="[]" context="{'group_by':'categ_id'}" />
- <filter string="Payment Mode" help="Payment Mode"
- icon="terp-dolar" domain="[]"
- context="{'group_by':'type_id'}" />
- <separator orientation="vertical" />
- <filter string="Company" icon="terp-go-home"
- domain="[]"
- groups="base.group_multi_company"
- context="{'group_by':'company_id'}" />
- <separator orientation="vertical" groups="base.group_multi_company"/>
- <filter string="Day" icon="terp-go-today"
- domain="[]" context="{'group_by':'day'}"
- help="Date of fundraising"/>
- <filter string="Month" icon="terp-go-month"
- domain="[]" context="{'group_by':'month'}"
- help="Month of fundraising"/>
- <filter string="Year" icon="terp-go-year"
- domain="[]" context="{'group_by':'name'}" />
+ <filter string="Salesperson" name="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
+ <filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" />
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
+ <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
+ <filter string="Payment Mode" help="Payment Mode" icon="terp-dolar" domain="[]" context="{'group_by':'type_id'}" />
+ <filter string="Company" icon="terp-go-home" domain="[]" groups="base.group_multi_company" context="{'group_by':'company_id'}" />
+ <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Date of fundraising"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Month of fundraising"/>
+ <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'name'}" />
</group>
</search>
</field>
diff --git a/addons/crm_helpdesk/crm_helpdesk_menu.xml b/addons/crm_helpdesk/crm_helpdesk_menu.xml
index 393428e091e..b70662e3339 100644
--- a/addons/crm_helpdesk/crm_helpdesk_menu.xml
+++ b/addons/crm_helpdesk/crm_helpdesk_menu.xml
@@ -18,7 +18,18 @@
<field name="view_id" ref="crm_case_tree_view_helpdesk"/>
<field name="search_view_id" ref="view_crm_case_helpdesk_filter"/>
<field name="context">{"search_default_user_id":uid}</field>
- <field name="help">Helpdesk and Support allow you to track your interventions. Select a customer, add notes and categorize interventions with partners if necessary. You can also assign a priority level. Use the OpenERP Issues system to manage your support activities. Issues can be connected to the email gateway: new emails may create issues, each of them automatically gets the history of the conversation with the customer.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new request.
+ </p><p>
+ Helpdesk and Support allow you to track your interventions.
+ </p><p>
+ Use the OpenERP Issues system to manage your support
+ activities. Issues can be connected to the email gateway: new
+ emails may create issues, each of them automatically gets the
+ history of the conversation with the customer.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="action_crm_sec_tree_view_act111">
diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml
index 4c2d81f94e3..0fb0cbf825f 100644
--- a/addons/crm_helpdesk/crm_helpdesk_view.xml
+++ b/addons/crm_helpdesk/crm_helpdesk_view.xml
@@ -152,54 +152,24 @@
<field name="arch" type="xml">
<search string="Search Helpdesk">
<field name="name" string="Query"/>
- <separator orientation="vertical"/>
<field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" string="New"
- name="current"
- domain="[('state','=','draft')]"
- help="New Helpdesk Request" />
- <filter icon="terp-camera_test"
- string="Open"
- domain="[('state','=','open')]"
- help="Open Helpdesk Request"
- />
- <filter icon="terp-gtk-media-pause"
- string="Pending"
- domain="[('state','=','pending')]"
- help="All pending Helpdesk Request"
- />
- <filter string="Assigned to Me or My Sales Team(s)"
- icon="terp-personal+"
- domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
+ <filter icon="terp-check" string="New" name="current" domain="[('state','=','draft')]" help="New Helpdesk Request" />
+ <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="Open Helpdesk Request" />
+ <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="All pending Helpdesk Request" />
+ <separator/>
+ <filter string="Assigned to Me or My Sales Team(s)" icon="terp-personal+" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="Helpdesk requests that are assigned to me or to one of the sale teams I manage" />
- <separator orientation="vertical"/>
<field name="partner_id" />
- <field name="user_id" widget="selection"/>
- <field name="section_id" widget="selection" string="Sales Team"/>
- <newline/>
+ <field name="user_id"/>
+ <field name="section_id" string="Sales Team"/>
<group expand="0" string="Group By...">
- <filter string="Partner" icon="terp-partner"
- domain="[]" help="Partner"
- context="{'group_by':'partner_id'}" />
- <filter string="Responsible" icon="terp-personal"
- domain="[]" help="Responsible User"
- context="{'group_by':'user_id'}" />
- <filter string="Sales Team" icon="terp-personal+"
- domain="[]" help="Sales Team"
- context="{'group_by':'section_id'}" />
- <separator orientation="vertical"/>
- <filter string="Priority" icon="terp-rating-rated"
- domain="[]" context="{'group_by':'priority'}" />
- <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]"
- context="{'group_by':'state'}" />
- <separator orientation="vertical"/>
- <filter string="Date" icon="terp-go-month"
- domain="[]" help="Request Date"
- context="{'group_by':'date'}" />
- <filter string="Deadline" icon="terp-go-month"
- domain="[]"
- context="{'group_by':'date_deadline'}" />
+ <filter string="Partner" icon="terp-partner" domain="[]" help="Partner" context="{'group_by':'partner_id'}" />
+ <filter string="Responsible" icon="terp-personal" domain="[]" help="Responsible User" context="{'group_by':'user_id'}" />
+ <filter string="Sales Team" icon="terp-personal+" domain="[]" help="Sales Team" context="{'group_by':'section_id'}" />
+ <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
+ <filter string="Date" icon="terp-go-month" domain="[]" help="Request Date" context="{'group_by':'date'}" />
+ <filter string="Deadline" icon="terp-go-month" domain="[]" context="{'group_by':'date_deadline'}" />
</group>
</search>
</field>
diff --git a/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml b/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml
index 6060c6c1f90..9aab23eab70 100644
--- a/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml
+++ b/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml
@@ -53,65 +53,34 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search">
- <group>
- <filter string="New" icon="terp-check"
- domain="[('state','=','draft')]" />
- <filter string="Open" icon="terp-camera_test"
- domain="[('state','=','open')]" />
- <filter string="Closed" icon="terp-dialog-close"
- domain="[('state','=','cancel')]" />
- <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" />
- <filter string="My Sales Team(s)"
- icon="terp-personal+"
- context="{'invisible_section': False}"
- domain="[('section_id.user_id','=',uid)]"
- help="My Sales Team(s)" />
- <filter string="My Company"
- icon="terp-go-home"
- context="{'invisible_section': False}"
- domain="[('section_id.user_id.company_id','=',uid)]"
- help="My company"/>
- <separator orientation="vertical"/>
- <field name="user_id" string="Salesperson"/>
- <field name="section_id" string="Sales Team"
- context="{'invisible_section': False}"/>
- <field name="company_id" groups="base.group_multi_company"/>
- </group>
- <newline/>
+ <filter string="New" icon="terp-check" domain="[('state','=','draft')]" />
+ <filter string="Open" icon="terp-camera_test" domain="[('state','=','open')]" />
+ <filter string="Closed" icon="terp-dialog-close" domain="[('state','=','cancel')]" />
+ <separator/>
+ <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" />
+ <separator/>
+ <filter string="My Sales Team(s)" icon="terp-personal+" context="{'invisible_section': False}" domain="[('section_id.user_id','=',uid)]" help="My Sales Team(s)" />
+ <separator/>
+ <filter string="My Company" icon="terp-go-home" context="{'invisible_section': False}" domain="[('section_id.user_id.company_id','=',uid)]" help="My company"/>
+ <field name="user_id" string="Salesperson"/>
+ <field name="section_id" string="Sales Team" context="{'invisible_section': False}"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Extended Filters..." groups="base.group_no_one">
<field name="priority" string="Priority"/>
<field name="categ_id"/>
- <newline/>
<field name="create_date"/>
<field name="date_closed" string="Close Date"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
- <filter string="Salesperson" icon="terp-personal"
- domain="[]" context="{'group_by':'user_id'}"/>
- <filter string="Sales Team" icon="terp-personal+"
- domain="[]"
- context="{'group_by':'section_id'}" />
- <filter string="Partner" icon="terp-partner"
- domain="[]"
- context="{'group_by':'partner_id'}" />
- <separator orientation="vertical" />
+ <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
+ <filter string="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" />
+ <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" />
<filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
- <separator orientation="vertical" />
- <filter string="Status" icon="terp-stock_effects-object-colorize"
- domain="[]" context="{'group_by':'state'}" />
- <separator orientation="vertical" />
- <filter string="Company" icon="terp-go-home"
- domain="[]"
- groups="base.group_multi_company"
- context="{'group_by':'company_id'}" />
- <separator orientation="vertical" groups="base.group_multi_company"/>
- <filter string="Day" icon="terp-go-today"
- domain="[]" context="{'group_by':'day'}" help="Date of helpdesk requests"/>
- <filter string="Month" icon="terp-go-month"
- domain="[]" context="{'group_by':'month'}" help="Month of helpdesk requests"/>
- <filter string="Year" icon="terp-go-year"
- domain="[]" context="{'group_by':'name'}" help="Year of helpdesk requests" />
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
+ <filter string="Company" icon="terp-go-home" domain="[]" groups="base.group_multi_company" context="{'group_by':'company_id'}" />
+ <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Date of helpdesk requests"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Month of helpdesk requests"/>
+ <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'name'}" help="Year of helpdesk requests" />
</group>
</search>
</field>
diff --git a/addons/crm_partner_assign/crm_lead_view.xml b/addons/crm_partner_assign/crm_lead_view.xml
index c45002c085c..258b16cea93 100644
--- a/addons/crm_partner_assign/crm_lead_view.xml
+++ b/addons/crm_partner_assign/crm_lead_view.xml
@@ -62,7 +62,6 @@
</filter>
<field name="user_id" position="after">
- <separator orientation="vertical"/>
<field name="partner_assigned_id"/>
</field>
</field>
diff --git a/addons/crm_partner_assign/report/crm_lead_report_view.xml b/addons/crm_partner_assign/report/crm_lead_report_view.xml
index a9a0cf75d25..f88d7e91f00 100644
--- a/addons/crm_partner_assign/report/crm_lead_report_view.xml
+++ b/addons/crm_partner_assign/report/crm_lead_report_view.xml
@@ -9,72 +9,42 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Leads Analysis">
- <group>
- <filter icon="terp-check"
- string="Current"
- domain="[('state','in',('draft','open'))]"/>
- <filter icon="terp-dialog-close"
- string="Closed"
- domain="[('state','=','done')]"/>
- <separator orientation="vertical" />
- <field name="section_id"
- widget="selection"
- context="{'invisible_section': False}"/>
- <field name="grade_id"/>
- <field name="user_id"/>
- <field name="partner_assigned_id"/>
- </group>
- <newline/>
- <group expand="0" string="Extended Filters...">
+ <filter icon="terp-check" string="Current" domain="[('state','in',('draft','open'))]"/>
+ <filter icon="terp-dialog-close" string="Closed" domain="[('state','=','done')]"/>
+ <field name="section_id" context="{'invisible_section': False}"/>
+ <field name="grade_id"/>
+ <field name="user_id"/>
+ <field name="partner_assigned_id"/>
+ <group expand="0" string="Extended Filters...">
<field name="partner_id"/>
- <separator orientation="vertical"/>
+ <separator/>
<field name="stage_id" widget="selection" domain="[('section_ids', '=', 'section_id')]"/>
- <separator orientation="vertical"/>
+ <separator />
<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="1" string="Group By...">
- <filter string="Salesperson" name="user" icon="terp-personal"
+ </group>
+ <group expand="1" string="Group By...">
+ <filter string="Salesperson" name="user" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
- <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_assigned_id'}" />
- <filter string="Country" icon="terp-go-home" context="{'group_by':'country_id'}" />
- <separator orientation="vertical" />
+ <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_assigned_id'}" />
+ <filter string="Country" icon="terp-go-home" context="{'group_by':'country_id'}" />
<filter string="Section" icon="terp-personal+"
- domain="[]"
- context="{'group_by':'section_id'}" />
+ domain="[]"
+ context="{'group_by':'section_id'}" />
<filter string="Grade" name="group_grade" icon="terp-stock_symbol-selection"
- domain="[]" context="{'group_by':'grade_id'}" />
-
- <separator orientation="vertical" />
+ domain="[]" context="{'group_by':'grade_id'}" />
<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="Status" icon="terp-stock_effects-object-colorize"
- domain="[]" context="{'group_by':'state'}" />
- <separator orientation="vertical" />
- <filter string="Company" icon="terp-go-home"
- domain="[]"
- context="{'group_by':'company_id'}" />
- <separator orientation="vertical" />
- <filter string="Assign Date" icon="terp-go-today"
- domain="[]"
- name="group_partner_date"
- context="{'group_by':'date_assign'}"/>
- <separator orientation="vertical"/>
- <filter string="Day" icon="terp-go-today"
- domain="[]" context="{'group_by':'day'}"/>
- <filter string="Month" icon="terp-go-month"
- domain="[]" context="{'group_by':'month'}" />
- <filter string="Year" icon="terp-go-year"
- domain="[]" context="{'group_by':'year'}" />
- </group>
-
- </search>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
+ <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" />
+ <filter string="Assign Date" icon="terp-go-today" domain="[]" name="group_partner_date" context="{'group_by':'date_assign'}"/>
+ <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" />
+ <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'year'}" />
+ </group>
+ </search>
</field>
</record>
diff --git a/addons/crm_partner_assign/report/crm_partner_report_view.xml b/addons/crm_partner_assign/report/crm_partner_report_view.xml
index d652848f0fe..af811f8f869 100644
--- a/addons/crm_partner_assign/report/crm_partner_report_view.xml
+++ b/addons/crm_partner_assign/report/crm_partner_report_view.xml
@@ -9,36 +9,30 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Partner assigned Analysis">
- <group col="20" colspan="8">
- <field name="section_id"/>
- <field name="user_id"/>
- <field name="grade_id"/>
- <field name="activation"/>
- </group>
- <newline/>
- <group expand="1" string="Group By...">
- <filter string="Salesperson" name="user" icon="terp-personal"
+ <field name="section_id"/>
+ <field name="user_id"/>
+ <field name="grade_id"/>
+ <field name="activation"/>
+ <group expand="1" string="Group By...">
+ <filter string="Salesperson" name="user" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
- <filter string="Country" icon="terp-go-home" name="group_country" context="{'group_by':'country_id'}" />
- <separator orientation="vertical" />
+ <filter string="Country" icon="terp-go-home" name="group_country" context="{'group_by':'country_id'}" />
<filter string="Section" icon="terp-personal+"
- domain="[]"
- context="{'group_by':'section_id'}" />
+ domain="[]" context="{'group_by':'section_id'}" />
<filter string="Activation" name="group_activation" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'activation'}" />
<filter string="Grade" name="group_grade" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'grade_id'}" />
<filter string="Partner" name="" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'partner_id'}" />
- <separator orientation="vertical" />
<filter string="Date Invoice" name="group_period_id" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'period_id'}" />
<filter string="Date Partnership" name="group_date_partnership" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'date_partnership'}" />
<filter string="Date Review" name="group_date_review" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'date_review'}" />
- </group>
- </search>
+ </group>
+ </search>
</field>
</record>
diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml
index 7a37cfcf4c6..464560a3c51 100644
--- a/addons/delivery/delivery_view.xml
+++ b/addons/delivery/delivery_view.xml
@@ -15,7 +15,7 @@
</tree>
</field>
</record>
-
+
<record id="view_delivery_carrier_form" model="ir.ui.view">
<field name="name">delivery.carrier.form</field>
<field name="model">delivery.carrier</field>
@@ -90,14 +90,26 @@
</form>
</field>
</record>
-
+
<record id="action_delivery_carrier_form" model="ir.actions.act_window">
<field name="name">Delivery Method</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">delivery.carrier</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">Define the delivery methods you are using and their pricing in order to reinvoice the delivery costs when you are doing invoicing based on delivery orders</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new deliver method.
+ </p><p>
+ Each carrier (e.g. UPS) can have several delivery methods (e.g.
+ UPS Express, UPS Standard) with a set of pricing rules attached
+ to each method.
+ </p><p>
+ These methods allows to automaticaly compute the delivery price
+ according to your settings; on the sale order (based on the
+ quotation) or the invoice (based on the delivery orders).
+ </p>
+ </field>
</record>
<menuitem action="action_delivery_carrier_form" id="menu_action_delivery_carrier_form" parent="stock.menu_stock_configuration" sequence="15"/>
@@ -152,7 +164,17 @@
<field name="res_model">delivery.grid</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">The delivery price list allows you to compute the cost and sales price of the delivery according to the weight of the products and other criteria. You can define several price lists for one delivery method, per country or a zone in a specific country defined by a postal code range.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a delivery price list for a specific region.
+ </p><p>
+ The delivery price list allows you to compute the cost and
+ sales price of the delivery according to the weight of the
+ products and other criteria. You can define several price lists
+ for each delivery method: per country or a zone in a specific
+ country defined by a postal code range.
+ </p>
+ </field>
</record>
<menuitem action="action_delivery_grid_form" id="menu_action_delivery_grid_form" parent="menu_delivery"/>
@@ -299,7 +321,7 @@
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_out_form"/>
<field name="arch" type="xml">
- <xpath expr="/form/header/button[@string='Create Invoice/Refund']" position="after">
+ <xpath expr="/form/header//button[@string='Create Invoice/Refund']" position="after">
<button name="%(report_shipping)d" string="Delivery Order" states="done" type="action" icon="gtk-print"/>
</xpath>
</field>
diff --git a/addons/document/document_view.xml b/addons/document/document_view.xml
index 1b1864cabe0..8dab7756b91 100644
--- a/addons/document/document_view.xml
+++ b/addons/document/document_view.xml
@@ -41,7 +41,6 @@
<field name="arch" type="xml">
<search string="Search Document Storage">
<field name="name" string="Document Storage"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
</group>
@@ -172,20 +171,15 @@
<field name="arch" type="xml">
<search string="Search Document Directory">
<field name="name" string="Document Directory"/>
- <separator orientation="vertical"/>
<filter string="Static" domain="[('type','=','directory')]"/>
<filter string="Resources" icon="terp-personal" domain="[('type','=','ressource')]"/>
- <separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="storage_id" />
<field name="user_id" />
- <newline/>
<group expand="0" string="Group By...">
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
<filter string="Storage" domain="[]" icon="terp-accessories-archiver" context="{'group_by':'storage_id'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" domain="[]" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
</group>
</search>
@@ -269,11 +263,7 @@
<field name="inherit_id" ref="base.view_attachment_search"/>
<field name="arch" type="xml">
<xpath expr="//filter[@name='my_documents_filter']" position="replace">
- <filter name="my_documents_filter"
- string="My Document(s)"
- icon="terp-personal"
- domain="[('user_id','=',uid)]"
- help="Filter on my documents"/>
+ <filter name="my_documents_filter" string="My Document(s)" icon="terp-personal" domain="[('user_id','=',uid)]" help="Filter on my documents"/>
</xpath>
<xpath expr="//field[@name='create_uid']" position="replace">
<field name="user_id"/>
@@ -325,7 +315,14 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.attachment</field>
<field name="view_type">form</field>
- <field name="help">The Documents repository gives you access to all attachments, such as mails, project documents, invoices etc.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new document.
+ </p><p>
+ The Documents repository gives you access to all attachments, such
+ as mails, project documents, invoices etc.
+ </p>
+ </field>
</record>
<menuitem name="Documents" id="menu_document_doc" parent="knowledge.menu_document" sequence="0"/>
<menuitem
diff --git a/addons/document/report/document_report_view.xml b/addons/document/report/document_report_view.xml
index 98016d2fee2..6b3708d1a2f 100644
--- a/addons/document/report/document_report_view.xml
+++ b/addons/document/report/document_report_view.xml
@@ -41,13 +41,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="All users files">
- <group>
- <field name="name"
- filter_domain="['|', '|',('name','ilike',self), ('user','ilike',self), ('directory','ilike',self)]"
- string="Users File"/>
- <separator orientation="vertical"/>
- <field name="month"/>
- </group>
+ <field name="name" filter_domain="['|', '|',('name','ilike',self), ('user','ilike',self), ('directory','ilike',self)]" string="Users File"/>
+ <field name="month"/>
</search>
</field>
</record>
diff --git a/addons/document/wizard/document_configuration_view.xml b/addons/document/wizard/document_configuration_view.xml
index d924e471aca..47cc2c6da3d 100644
--- a/addons/document/wizard/document_configuration_view.xml
+++ b/addons/document/wizard/document_configuration_view.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_auto_config_form" model="ir.ui.view">
@@ -29,15 +30,9 @@
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
-
- <record id="category_knowledge_mgmt_config" model="ir.actions.todo.category">
- <field name="name">Knowledge Management</field>
- <field name="sequence">5</field>
- </record>
<record model="ir.actions.todo" id="config_auto_directory">
<field name="action_id" ref="action_config_auto_directory"/>
- <field name="category_id" ref="category_knowledge_mgmt_config"/>
<field name="type">automatic</field>
</record>
</data>
diff --git a/addons/document_ftp/ftpserver/ftpserver.py b/addons/document_ftp/ftpserver/ftpserver.py
index bd727427541..48ec4ad5ea0 100755
--- a/addons/document_ftp/ftpserver/ftpserver.py
+++ b/addons/document_ftp/ftpserver/ftpserver.py
@@ -5,7 +5,7 @@
# pyftpdlib is released under the MIT license, reproduced below:
# ======================================================================
# Copyright (C) 2007 Giampaolo Rodola' <g.rodola@gmail.com>
-# Hacked by Fabien Pinckaers (C) 2008 <fp@tinyerp.com>
+# Hacked by Fabien Pinckaers (C) 2008 <fp@openerp.com>
#
# All Rights Reserved
#
diff --git a/addons/document_ftp/res_config_view.xml b/addons/document_ftp/res_config_view.xml
index 66f1c4ae944..a44d7af0c79 100644
--- a/addons/document_ftp/res_config_view.xml
+++ b/addons/document_ftp/res_config_view.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_document_ftp_configuration" model="ir.ui.view">
diff --git a/addons/document_ftp/wizard/ftp_configuration_view.xml b/addons/document_ftp/wizard/ftp_configuration_view.xml
index ed52a730023..95528b75594 100644
--- a/addons/document_ftp/wizard/ftp_configuration_view.xml
+++ b/addons/document_ftp/wizard/ftp_configuration_view.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.actions.url" id="action_document_browse">
@@ -35,10 +36,9 @@
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
-
+
<record model="ir.actions.todo" id="config_auto_directory">
<field name="action_id" ref="action_config_auto_directory"/>
- <field name="category_id" ref="document.category_knowledge_mgmt_config"/>
<field name="type">automatic</field>
</record>
</data>
diff --git a/addons/document_webdav/webdav_view.xml b/addons/document_webdav/webdav_view.xml
index 44af9f2af3a..35c37530f4d 100644
--- a/addons/document_webdav/webdav_view.xml
+++ b/addons/document_webdav/webdav_view.xml
@@ -38,10 +38,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Document properties">
- <field name="name"
- filter_domain="['|', ('name','ilike',self), ('namespace','ilike',self)]"
- string="Document property"/>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('namespace','ilike',self)]" string="Document property"/>
<group expand="0" string="Group By..." groups="base.group_no_one">
<filter string="Dir" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'dir_id'}"/>
<filter string="Namespace" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'namespace'}"/>
@@ -140,10 +137,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Document properties">
- <field name="name"
- filter_domain="['|', ('name','ilike',self), ('namespace','ilike',self)]"
- string="Document Property"/>
- <newline/>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('namespace','ilike',self)]" string="Document Property"/>
<group expand="0" string="Group By..." groups="base.group_no_one">
<filter string="Document" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'file_id'}"/>
<filter string="Namespace" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'namespace'}"/>
diff --git a/addons/email_template/email_template_view.xml b/addons/email_template/email_template_view.xml
index c05502cd3a0..daa4d028651 100644
--- a/addons/email_template/email_template_view.xml
+++ b/addons/email_template/email_template_view.xml
@@ -122,16 +122,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Templates">
- <group>
- <field name="name" filter_domain="['|', '|', '|',('name','ilike',self), ('report_name','ilike',self), ('subject','ilike',self), ('email_to','ilike',self)]" string="Templates"/>
- <separator orientation="vertical"/>
- <field name="model_id"/>
- <field name="lang"/>
- </group>
- <newline/>
+ <field name="name" filter_domain="['|', '|', '|',('name','ilike',self), ('report_name','ilike',self), ('subject','ilike',self), ('email_to','ilike',self)]" string="Templates"/>
+ <field name="lang"/>
+ <field name="model_id"/>
<group expand="0" string="Group by...">
<filter string="SMTP Server" domain="[]" context="{'group_by':'mail_server_id'}" icon="terp-folder-orange"/>
- <separator orientation="vertical"/>
<filter string="Model" domain="[]" context="{'group_by':'model_id'}" icon="terp-accessories-archiver"/>
</group>
</search>
diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py
index 34707d1c0f6..75c79f06835 100644
--- a/addons/event/__openerp__.py
+++ b/addons/event/__openerp__.py
@@ -25,7 +25,7 @@
'name': 'Events Organisation',
'version': '0.1',
'category': 'Tools',
- 'summary': 'Invitations, Subscriptions',
+ 'summary': 'For Trainings, Conferences & Meetings',
'description': """
Organization and management of Events.
======================================
diff --git a/addons/event/event.py b/addons/event/event.py
index 6a8cf9f8a0b..c3942642b3d 100644
--- a/addons/event/event.py
+++ b/addons/event/event.py
@@ -23,6 +23,7 @@ import time
from osv import fields, osv
from tools.translate import _
import decimal_precision as dp
+from openerp import SUPERUSER_ID
class event_type(osv.osv):
""" Event Type """
@@ -159,7 +160,7 @@ class event_event(osv.osv):
elif field == 'register_prospect':
number = reg_draft
elif field == 'register_avail':
- #the number of ticket is unlimited if the event.register_max field is not set.
+ #the number of ticket is unlimited if the event.register_max field is not set.
#In that cas we arbitrary set it to 9999, it is used in the kanban view to special case the display of the 'subscribe' button
number = event.register_max - reg_open if event.register_max != 0 else 9999
res[event.id][field] = number
@@ -178,7 +179,7 @@ class event_event(osv.osv):
if reg.state in ('open','done'):
res[event.id]= True
continue
- return res
+ return res
_columns = {
'name': fields.char('Name', size=64, required=True, translate=True, readonly=False, states={'done': [('readonly', True)]}),
@@ -189,7 +190,7 @@ class event_event(osv.osv):
'register_current': fields.function(_get_register, string='Confirmed Registrations', multi='register_numbers'),
'register_avail': fields.function(_get_register, string='Available Registrations', multi='register_numbers',type='integer'),
'register_prospect': fields.function(_get_register, string='Unconfirmed Registrations', multi='register_numbers'),
- 'register_attended': fields.function(_get_register, string='# of Participations', multi='register_numbers'),
+ 'register_attended': fields.function(_get_register, string='# of Participations', multi='register_numbers'),
'registration_ids': fields.one2many('event.registration', 'event_id', 'Registrations', readonly=False, states={'done': [('readonly', True)]}),
'date_begin': fields.datetime('Start Date', required=True, readonly=True, states={'draft': [('readonly', False)]}),
'date_end': fields.datetime('End Date', required=True, readonly=True, states={'draft': [('readonly', False)]}),
@@ -227,18 +228,18 @@ class event_event(osv.osv):
self.check_registration_limits_before(cr, uid, ids, num_of_seats, context=context)
user = user_pool.browse(cr, uid, uid, context=context)
curr_reg_ids = register_pool.search(cr, uid, [('user_id', '=', user.id), ('event_id', '=' , ids[0])])
- #the subscription is done with UID = 1 because in case we share the kanban view, we want anyone to be able to subscribe
+ #the subscription is done with SUPERUSER_ID because in case we share the kanban view, we want anyone to be able to subscribe
if not curr_reg_ids:
- curr_reg_ids = [register_pool.create(cr, 1, {'event_id': ids[0] ,'email': user.user_email, 'name':user.name, 'user_id': user.id, 'nb_register': num_of_seats})]
+ curr_reg_ids = [register_pool.create(cr, SUPERUSER_ID, {'event_id': ids[0] ,'email': user.user_email, 'name':user.name, 'user_id': user.id, 'nb_register': num_of_seats})]
else:
register_pool.write(cr, uid, curr_reg_ids, {'nb_register': num_of_seats}, context=context)
- return register_pool.confirm_registration(cr, 1, curr_reg_ids, context=context)
+ return register_pool.confirm_registration(cr, SUPERUSER_ID, curr_reg_ids, context=context)
def unsubscribe_to_event(self, cr, uid, ids, context=None):
register_pool = self.pool.get('event.registration')
- #the unsubscription is done with UID = 1 because in case we share the kanban view, we want anyone to be able to unsubscribe
- curr_reg_ids = register_pool.search(cr, 1, [('user_id', '=', uid), ('event_id', '=', ids[0])])
- return register_pool.button_reg_cancel(cr, 1, curr_reg_ids, context=context)
+ #the unsubscription is done with SUPERUSER_ID because in case we share the kanban view, we want anyone to be able to unsubscribe
+ curr_reg_ids = register_pool.search(cr, SUPERUSER_ID, [('user_id', '=', uid), ('event_id', '=', ids[0])])
+ return register_pool.button_reg_cancel(cr, SUPERUSER_ID, curr_reg_ids, context=context)
def _check_closing_date(self, cr, uid, ids, context=None):
for event in self.browse(cr, uid, ids, context=context):
@@ -260,7 +261,7 @@ class event_event(osv.osv):
'register_max': type_info.default_registration_max,
}
return {'value': dic}
-
+
# ----------------------------------------
# OpenChatter methods and notifications
# ----------------------------------------
@@ -415,7 +416,7 @@ class event_registration(osv.osv):
return {}
event_obj = self.pool.get('event.event')
data_event = event_obj.browse(cr, uid, event_id, context=context)
- return {'value':
+ return {'value':
{'event_begin_date': data_event.date_begin,
'event_end_date': data_event.date_end,
'company_id': data_event.company_id and data_event.company_id.id or False,
diff --git a/addons/event/event_data.xml b/addons/event/event_data.xml
index b34f9451f71..d8d75950bcc 100644
--- a/addons/event/event_data.xml
+++ b/addons/event/event_data.xml
@@ -1,15 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="action_client_event_menu" model="ir.actions.client">
+ <field name="name">Open Event Menu</field>
+ <field name="tag">reload</field>
+ <field name="params" eval="{'menu_id': ref('event.event_main_menu')}"/>
+ </record>
+ <record id="todo_open_event_menu" model="ir.actions.todo">
+ <field name="action_id" ref="action_client_event_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+
<!-- notify all employees of module installation -->
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Events Organisation has been installed</value>
- <value>Organize events and manage their registrations. You can
- automatically confirm and send acknowledgements of registrations
- by email.
- </value>
+ <value>From the top menu Events, you can organize events, manage registrations, automate communication around your event and sell events through your quotations.</value>
</function>
</data>
</openerp>
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 890cb1be9e6..f3a0c5b321e 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -1,6 +1,7 @@
<?xml version="1.0"?>
<openerp>
<data>
+
<act_window
id="act_event_list_register_event"
name="Registration"
@@ -13,6 +14,7 @@
<!-- Top menu item -->
<menuitem name="Events"
id="event_main_menu"
+ groups="base.group_user"
sequence="80"/>
<menuitem name="Events Organisation" id="base.menu_event_main" parent="event_main_menu"/>
@@ -102,10 +104,12 @@
<field name="arch" type="xml">
<form string="Events" version="7.0">
<header>
- <button string="Confirm Event" name="button_confirm" states="draft" type="object" class="oe_highlight"/>
- <button string="Event Ended" name="button_done" states="confirm" type="object" class="oe_highlight"/>
- <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" />
- <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object"/>
+ <span groups="base.user_group">
+ <button string="Confirm Event" name="button_confirm" states="draft" type="object" class="oe_highlight"/>
+ <button string="Event Ended" name="button_done" states="confirm" type="object" class="oe_highlight"/>
+ <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" />
+ <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object"/>
+ </span>
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,done"/>
</header>
<sheet>
@@ -126,20 +130,20 @@
<field name="address_id" widget="many2one_address_google_map" widget_option="{'placeholder':'.oe_google_map'}"/>
<field name="street" placeholder="Street..."/>
<div>
- <field name="zip" class="oe_inline" placeholder="Zip"/>
- <field name="city" class="oe_inline" placeholder="City"/>
+ <field name="zip" class="oe_inline" placeholder="Zip"/>
+ <field name="city" class="oe_inline" placeholder="City"/>
</div>
</div>
</group>
<group>
- <field name="type" on_change="onchange_event_type(type,context)"/>
- <field name="register_min"/>
- <field name="register_max"/>
- <label for="register_current" string="Current Registrations"/>
- <div>
- Confirmed: <field name="register_current" class="oe_inline"/>, Unconfirmed: <field name="register_prospect" class="oe_inline"/>
- </div>
- </group>
+ <field name="type" on_change="onchange_event_type(type,context)"/>
+ <field name="register_min"/>
+ <field name="register_max"/>
+ <label for="register_current" string="Current Registrations" groups="base.group_user"/>
+ <div groups="base.group_user">
+ Confirmed: <field name="register_current" class="oe_inline"/>, Unconfirmed: <field name="register_prospect" class="oe_inline"/>
+ </div>
+ </group>
</group>
</div>
<!-- <div class="oe_right" style="height: 200px"></div> -->
@@ -328,37 +332,22 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Events">
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
- <group>
- <field name="name" string="Events"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
- <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
- <filter icon="terp-personal"
- string="My Events"
- help="My Events"
- domain="[('user_id','=',uid)]"/>
- <filter icon="terp-go-today" string="Upcoming"
- name="upcoming"
- domain="[('date_begin','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]"
- help="Upcoming events from today" />
- <separator orientation="vertical"/>
- <field name="type" widget="selection"/>
- <field name="user_id" widget="selection"/>
- </group>
- <newline/>
+ <field name="name" string="Events"/>
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
+ <filter icon="terp-check" string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
+ <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Events" help="My Events" domain="[('user_id','=',uid)]"/>
+ <separator/>
+ <filter icon="terp-go-today" string="Upcoming" name="upcoming" domain="[('date_begin','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Upcoming events from today" />
+ <field name="type"/>
+ <field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="Responsible" icon="terp-personal" context="{'group_by': 'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Event Type" icon="terp-crm" context="{'group_by':'type'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
- <filter string="Starting Date" icon="terp-go-month"
- domain="[]" context="{'group_by':'date_begin'}"/>
+ <filter string="Starting Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_begin'}"/>
</group>
</search>
</field>
@@ -374,7 +363,15 @@
<field name="view_mode">kanban,calendar,tree,form,graph</field>
<field name="context">{"search_default_upcoming":1}</field>
<field name="search_view_id" ref="view_event_search"/>
- <field name="help">Event is the low level object used by meeting and others documents that should be synchronized with mobile devices or calendar applications through caldav. Most of the users should work in the Calendar menu, and not in the list of events.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new event.
+ </p><p>
+ OpenERP helps you schedule and efficiently organize your events:
+ track subscriptions and participations, automate the confirmation emails,
+ sell tickets, etc.
+ </p>
+ </field>
</record>
<act_window
@@ -474,8 +471,8 @@
<div>
<field name="email" class="oe_inline"/>
<button class="oe_inline oe_right" string="Send Email"
- name="%(mail.action_email_compose_message_wizard)d"
- icon="terp-mail-message-new" context= '{"default_email_to":email}' type="action"/>
+ name="%(mail.action_email_compose_message_wizard)d"
+ icon="terp-mail-message-new" context= '{"default_email_to":email}' type="action"/>
</div>
</group>
<group>
@@ -529,34 +526,21 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Event Registration">
- <group>
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
- <field name="name" string="Participant"
- filter_domain="['|','|','|',('name','ilike',self),('partner_id','ilike',self),('email','ilike',self),('origin','ilike',self)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/>
- <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
- <filter icon="terp-personal"
- string="My Registrations"
- help="My Registrations"
- domain="[('user_id','=',uid)]"/>
- <separator orientation="vertical"/>
- <field name="event_id" widget="selection"/>
- <field name="user_id"/>
- </group>
- <newline/>
+ <field name="name" string="Participant" filter_domain="['|','|','|',('name','ilike',self),('partner_id','ilike',self),('email','ilike',self),('origin','ilike',self)]"/>
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
+ <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/>
+ <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Registrations" help="My Registrations" domain="[('user_id','=',uid)]"/>
+ <field name="event_id"/>
+ <field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Event" icon="terp-crm" domain="[]" context="{'group_by':'event_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
-
</search>
</field>
</record>
@@ -571,12 +555,11 @@
<field name="search_view_id" ref="view_registration_search"/>
</record>view_
- <menuitem
- name="Registrations"
+ <menuitem name="Registrations"
id="menu_action_registration" parent="base.menu_event_main"
action="action_registration" groups="event.group_event_manager,event.group_event_user"/>
-
<menuitem name="Reporting" id="base.menu_report_association" parent="event_main_menu" sequence="20"/>
+
</data>
</openerp>
diff --git a/addons/event/report/report_event_registration.py b/addons/event/report/report_event_registration.py
index 17472e0cc95..060b1ef7556 100644
--- a/addons/event/report/report_event_registration.py
+++ b/addons/event/report/report_event_registration.py
@@ -27,7 +27,6 @@ class report_event_registration(osv.osv):
_name = "report.event.registration"
_description = "Events Analysis"
_auto = False
- _rec_name = 'date'
_columns = {
'event_date': fields.char('Event Start Date', size=64, readonly=True),
'year': fields.char('Year', size=4, readonly=True),
diff --git a/addons/event/report/report_event_registration_view.xml b/addons/event/report/report_event_registration_view.xml
index 7ae6c0fae2e..f05fdcc09e1 100644
--- a/addons/event/report/report_event_registration_view.xml
+++ b/addons/event/report/report_event_registration_view.xml
@@ -52,24 +52,12 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Event on Registration">
- <group>
- <filter icon="terp-document-new"
- string="New"
- domain="[('event_state','=','draft')]"
- help="Events which are in New state"/>
- <filter icon="terp-check"
- string="Confirm"
- domain="[('event_state','=','confirm')]"
- help="Events which are in confirm state"/>
- <filter icon="terp-personal"
- string="My Events"
- help="My Events"
- domain="[('user_id','=',uid)]"/>
- <separator orientation="vertical"/>
- <field name="event_id" string="Event"/>
- <field name="user_id" widget="selection"/>
- </group>
- <newline/>
+ <filter icon="terp-document-new" string="New" domain="[('event_state','=','draft')]" help="Events which are in New state"/>
+ <filter icon="terp-check" string="Confirm" domain="[('event_state','=','confirm')]" help="Events which are in confirm state"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Events" help="My Events" domain="[('user_id','=',uid)]"/>
+ <field name="event_id" string="Event"/>
+ <field name="user_id"/>
<group expand="0" string="Extended Filters...">
<field name="event_type" widget="selection"/>
<field name="event_date"/>
@@ -80,27 +68,18 @@
<filter string="Register" icon="terp-personal" context="{'group_by':'user_id_registration'}" help="Registration contact" groups="base.extended"/>
<filter string="Speaker" name="speaker" icon="terp-personal+" context="{'group_by': 'speaker_id'}" groups="base.extended"/>
<filter string="Event Responsible" name="user_id" icon="terp-personal" context="{'group_by': 'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Event" name="event" icon="terp-crm" context="{'group_by':'event_id', 'max_reg_event_visible':0}"/>
<filter string="Event Type" icon="terp-crm" context="{'group_by':'event_type'}"/>
- <separator orientation="vertical"/>
<filter string="Event State" icon="terp-stock_effects-object-colorize" context="{'group_by':'event_state'}"/>
<filter string="Registration State" icon="terp-stock_effects-object-colorize" context="{'group_by':'registration_state'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical" />
- <filter string="Day" icon="terp-go-month"
- domain="[]" context="{'group_by':'event_date'}" help="Event Beginning Date"/>
- <filter string="Month" icon="terp-go-month"
- domain="[]" context="{'group_by':'month'}" help="Event Beginning Date"/>
- <filter string="Year" icon="terp-go-year"
- domain="[]" context="{'group_by':'year'}" help="Event Beginning Date"/>
+ <filter string="Day" icon="terp-go-month" domain="[]" context="{'group_by':'event_date'}" help="Event Beginning Date"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Event Beginning Date"/>
+ <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'year'}" help="Event Beginning Date"/>
</group>
<group expand="0" string="Display">
- <filter icon="terp-camera_test"
- string="Show Confirmed Registrations"
- help="Registrations in confirmed or done state"
- context="{'no_of_draft_invisible':1}"/>
+ <filter icon="terp-camera_test" string="Show Confirmed Registrations"
+ help="Registrations in confirmed or done state" context="{'no_of_draft_invisible':1}"/>
</group>
</search>
</field>
diff --git a/addons/event/security/event_security.xml b/addons/event/security/event_security.xml
index e0d17c3bacb..f46bc5fff96 100644
--- a/addons/event/security/event_security.xml
+++ b/addons/event/security/event_security.xml
@@ -1,45 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
-<data noupdate="0">
+ <data>
- <record model="ir.module.category" id="module_category_event_management">
+ <record model="ir.module.category" id="module_category_event_management">
<field name="name">Event</field>
<field name="description">Helps you manage your Events.</field>
<field name="sequence">3</field>
</record>
- <record id="group_event_user" model="res.groups">
- <field name="name">User</field>
- <field name="category_id" ref="module_category_event_management"/>
- </record>
+ <record id="group_event_user" model="res.groups">
+ <field name="name">User</field>
+ <field name="category_id" ref="module_category_event_management"/>
+ </record>
+
+ <record id="group_event_manager" model="res.groups">
+ <field name="name">Manager</field>
+ <field name="category_id" ref="module_category_event_management"/>
+ <field name="implied_ids" eval="[(4, ref('group_event_user'))]"/>
+ <field name="users" eval="[(4, ref('base.user_root'))]"/>
+ </record>
- <record id="group_event_manager" model="res.groups">
- <field name="name">Manager</field>
- <field name="category_id" ref="module_category_event_management"/>
- <field name="implied_ids" eval="[(4, ref('group_event_user'))]"/>
- <field name="users" eval="[(4, ref('base.user_root'))]"/>
- </record>
+ <!-- Multi - Company Rules -->
+ <record model="ir.rule" id="event_event_comp_rule">
+ <field name="name">Event multi-company</field>
+ <field name="model_id" ref="model_event_event"/>
+ <field name="global" eval="True"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
+ </record>
- <!-- Multi - Company Rules -->
+ <record model="ir.rule" id="event_registration_comp_rule">
+ <field name="name">Event Registration multi-company</field>
+ <field name="model_id" ref="model_event_registration"/>
+ <field name="global" eval="True"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
+ </record>
- <record model="ir.rule" id="event_event_comp_rule">
- <field name="name">Event multi-company</field>
- <field name="model_id" ref="model_event_event"/>
- <field name="global" eval="True"/>
- <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
- </record>
- <record model="ir.rule" id="event_registration_comp_rule">
- <field name="name">Event Registration multi-company</field>
- <field name="model_id" ref="model_event_registration"/>
- <field name="global" eval="True"/>
- <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
- </record>
+ <record model="ir.rule" id="report_event_registration_comp_rule">
+ <field name="name">Report Event Registration multi-company</field>
+ <field name="model_id" ref="model_report_event_registration"/>
+ <field name="global" eval="True"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
+ </record>
- <record model="ir.rule" id="report_event_registration_comp_rule">
- <field name="name">Report Event Registration multi-company</field>
- <field name="model_id" ref="model_report_event_registration"/>
- <field name="global" eval="True"/>
- <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
- </record>-->
-</data>
+ </data>
</openerp>
diff --git a/addons/event_moodle/wizard_moodle.xml b/addons/event_moodle/wizard_moodle.xml
index 05d31102dab..998517c8636 100644
--- a/addons/event_moodle/wizard_moodle.xml
+++ b/addons/event_moodle/wizard_moodle.xml
@@ -39,13 +39,9 @@
<field name="target">new</field>
</record>
- <record id="marketing_cat" model="ir.actions.todo.category">
- <field name="name">Marketing</field>
- </record>
<!-- register configuration wizard -->
<record id="config_wizard_config_moodle" model="ir.actions.todo">
<field name="action_id" ref="configure_moodle"/>
- <field name="category_id" ref="marketing_cat" />
<field name="type">automatic</field>
<field name="name">Configuration of moodle</field>
</record>
diff --git a/addons/fetchmail/__init__.py b/addons/fetchmail/__init__.py
index 7703c4d2f5b..7d666479965 100644
--- a/addons/fetchmail/__init__.py
+++ b/addons/fetchmail/__init__.py
@@ -3,7 +3,7 @@
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
-# mga@tinyerp.com
+# mga@openerp.com
#
# 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
diff --git a/addons/fetchmail/__openerp__.py b/addons/fetchmail/__openerp__.py
index 35b692990d7..1e8c57a9524 100644
--- a/addons/fetchmail/__openerp__.py
+++ b/addons/fetchmail/__openerp__.py
@@ -3,7 +3,7 @@
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
-# mga@tinyerp.com
+# mga@openerp.com
#
# 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
diff --git a/addons/fetchmail/fetchmail_view.xml b/addons/fetchmail/fetchmail_view.xml
index 9567f7746f3..3325ae38c0b 100644
--- a/addons/fetchmail/fetchmail_view.xml
+++ b/addons/fetchmail/fetchmail_view.xml
@@ -80,10 +80,9 @@
<field name="arch" type="xml">
<search string="Search Incoming Mail Servers">
<field name="name" string="Incoming Mail Server"/>
- <separator orientation="vertical"/>
<filter string="IMAP" icon="terp-folder-green" domain="[('type','=','imap')]" help="Server type IMAP."/>
<filter string="POP" icon="terp-folder-orange" domain="[('type','=','pop')]" help="Server type POP."/>
- <separator orientation="vertical"/>
+ <separator/>
<filter string="SSL" icon="terp-camera_test" domain="[('is_ssl','=',True)]" help="If SSL required."/>
</search>
</field>
diff --git a/addons/fetchmail/i18n/pt_BR.po b/addons/fetchmail/i18n/pt_BR.po
index 7eb7095729b..6b74bfa4910 100644
--- a/addons/fetchmail/i18n/pt_BR.po
+++ b/addons/fetchmail/i18n/pt_BR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-07-29 04:37+0000\n"
-"X-Generator: Launchpad (build 15694)\n"
+"X-Launchpad-Export-Date: 2012-07-30 04:55+0000\n"
+"X-Generator: Launchpad (build 15702)\n"
#. module: fetchmail
#: selection:fetchmail.server,state:0
diff --git a/addons/google_base_account/i18n/pt_BR.po b/addons/google_base_account/i18n/pt_BR.po
index dd694f0ca6e..e8e510c183c 100644
--- a/addons/google_base_account/i18n/pt_BR.po
+++ b/addons/google_base_account/i18n/pt_BR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-07-29 04:38+0000\n"
-"X-Generator: Launchpad (build 15694)\n"
+"X-Launchpad-Export-Date: 2012-07-30 04:55+0000\n"
+"X-Generator: Launchpad (build 15702)\n"
#. module: google_base_account
#: field:res.users,gmail_user:0
diff --git a/addons/hr/__openerp__.py b/addons/hr/__openerp__.py
index ebf8d7ba83e..39dad795c0b 100644
--- a/addons/hr/__openerp__.py
+++ b/addons/hr/__openerp__.py
@@ -26,7 +26,7 @@
"category": "Human Resources",
"sequence": 12,
"website": "http://www.openerp.com",
- "summary": "Hierarchy, Jobs, Departments",
+ "summary": "All Infos on Employees",
"description": """
Module for Human Resource Management.
=====================================
diff --git a/addons/hr/hr_data.xml b/addons/hr/hr_data.xml
index d8c9251c62e..18c50836f07 100644
--- a/addons/hr/hr_data.xml
+++ b/addons/hr/hr_data.xml
@@ -6,17 +6,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Employee Directory has been installed</value>
- <value>Manage your human resources in OpenERP: employees and hierarchy,
- HR departments and jobs.
+ <value>Manage your human resources in OpenERP: employees and hierarchy, HR departments and jobs.
- More features are available in the following modules:
- Recruitment Process (manage job positions and recruitment),
- Timesheets Validation (record timesheets and attendance),
- Leaves Management (keep track of employee leaves),
- Expenses Management (manage employee expenses),
- Employee Appraisals (organize employee surveys, where employees
- evaluate their subordinates or their manager.)
- </value>
+More HR features are available from the following modules: Recruitment Process (manage job positions and recruitment), Timesheets Validation (record timesheets and attendance), Leaves Management (keep track of employee leaves), Expenses Management (manage employee expenses), Employee Appraisals (organize employee surveys, where employees evaluate their subordinates or their manager.)</value>
</function>
<record id="employee" model="hr.employee">
diff --git a/addons/hr/hr_department_view.xml b/addons/hr/hr_department_view.xml
index bbf66f0d4c3..43712518cd2 100644
--- a/addons/hr/hr_department_view.xml
+++ b/addons/hr/hr_department_view.xml
@@ -2,11 +2,7 @@
<openerp>
<data>
- <!--
- ======================
- department
- ======================
- -->
+ <!-- Department -->
<record id="view_department_form" model="ir.ui.view">
<field name="name">hr.department.form</field>
<field name="model">hr.department</field>
@@ -37,28 +33,35 @@
</tree>
</field>
</record>
- <record id="view_department_filter" model="ir.ui.view">
+ <record id="view_department_filter" model="ir.ui.view">
<field name="name">Departments</field>
<field name="model">hr.department</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Departments">
<field name="name" string="Department"/>
- <separator orientation="vertical"/>
<field name="manager_id" />
</search>
</field>
- </record>
+ </record>
<record id="open_module_tree_department" model="ir.actions.act_window">
<field name="name">Departments</field>
<field name="res_model">hr.department</field>
<field name="view_type">form</field>
<field name="search_view_id" ref="view_department_filter"/>
- <field name="help">Your Company's Department Structure is used to manage all documents related to employees by departments: expenses and timesheet validation, leaves management, recruitments, etc.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a department.
+ </p><p>
+ OpenERP's department structure is used to manage all documents
+ related to employees by departments: expenses, timesheets,
+ leaves and holidays, recruitments, etc.
+ </p>
+ </field>
</record>
<menuitem action="open_module_tree_department" id="menu_hr_department_tree" parent="hr.menu_hr_configuration" sequence="5"/>
- </data>
+ </data>
</openerp>
diff --git a/addons/hr/hr_installer.xml b/addons/hr/hr_installer.xml
index 1cf7efe49ba..1296029b941 100644
--- a/addons/hr/hr_installer.xml
+++ b/addons/hr/hr_installer.xml
@@ -1,11 +1,6 @@
<openerp>
<data>
- <record id="category_hr_management_config" model="ir.actions.todo.category">
- <field name="name">HR Management</field>
- <field name="sequence">5</field>
- </record>
-
<record model="ir.actions.act_window" id="view_department_form_installer">
<field name="name">Create Your Departments</field>
<field name="type">ir.actions.act_window</field>
@@ -13,7 +8,15 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="hr.view_department_tree"/>
- <field name="help">Your departments structure is used to manage all documents related to employees by departments: expenses and timesheet validation, leaves management, recruitments, etc.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new department.
+ </p><p>
+ Your departments structure is used to manage all documents
+ related to employees by departments: expenses and timesheets,
+ leaves and holidays, recruitments, etc.
+ </p>
+ </field>
</record>
</data>
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml
index f160eda6301..a989cd40d27 100644
--- a/addons/hr/hr_view.xml
+++ b/addons/hr/hr_view.xml
@@ -11,7 +11,7 @@
<menuitem id="menu_hr_configuration" name="Configuration" parent="hr.menu_hr_root" groups="base.group_hr_manager" sequence="50"/>
<menuitem id="menu_hr_management" name="Human Resources" parent="hr.menu_hr_configuration" groups="base.group_no_one" sequence="25"/>
<menuitem id="menu_hr_reporting_timesheet" name="Reports"
- parent="menu_hr_reporting" sequence="6" />
+ parent="menu_hr_reporting" sequence="6"/>
<!--Employee form view -->
<record id="view_employee_form" model="ir.ui.view">
@@ -40,9 +40,9 @@
<!-- Put here related buttons -->
</div>
<group colspan="4" col="4">
- <field name="work_email" widget="email" />
+ <field name="work_email" widget="email"/>
<field name="work_phone"/>
- <field name="address_id" on_change="onchange_address_id(address_id)" />
+ <field name="address_id" on_change="onchange_address_id(address_id)"/>
<field name="mobile_phone"/>
</group>
<notebook>
@@ -50,7 +50,7 @@
<group>
<group>
<field name="user_id" on_change="onchange_user(user_id)"/>
- <field name="parent_id" />
+ <field name="parent_id"/>
<field name="coach_id"/>
</group>
<group>
@@ -109,16 +109,13 @@
<field name="arch" type="xml">
<search string="Employees">
<field name="name" string="Employees"/>
- <separator orientation="vertical"/>
- <field name="department_id" widget="selection"/>
- <field name="job_id" widget="selection"/>
+ <field name="department_id" />
+ <field name="job_id"/>
<field name="parent_id"/>
<field name="category_ids"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="Coach" icon="terp-personal" domain="[]" context="{'group_by':'coach_id'}"/>
- <separator orientation="vertical"/>
<filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
<filter string="Job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/>
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
@@ -142,7 +139,9 @@
<a type="edit"><img t-att-src="kanban_image('hr.employee', 'photo', record.id.value)" class="oe_employee_picture"/></a>
</div>
<div class="oe_employee_details">
- <h4><a type="edit"><field name="name"/> (<field name="login"/>)</a></h4>
+ <h4>
+ <a type="edit"><field name="name"/><t t-if="record.login.raw_value"> (<field name="login"/>)</t></a>
+ </h4>
<ul>
<li id="last_login">
<span t-if="record.last_login.raw_value &amp;&amp; record.last_login.raw_value.is().today()" class="oe_kanban_button" style="font-size: 100%%">
@@ -194,7 +193,15 @@
<field name="context">{}</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_employee_filter"/>
- <field name="help">Here you can manage your work force by creating employees and assigning them specific properties in the system. Maintain all employee related information and keep track of anything that needs to be recorded for them. The personal information tab will help you maintain their identity data. The Categories tab gives you the opportunity to assign them related employee categories depending on their position and activities within the company. A category can be a seniority level within the company or a department. The Timesheets tab allows to assign them a specific timesheet and analytic journal where they will be able to enter time through the system. In the note tab, you can enter text data that should be recorded for a specific employee.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new employee.
+ </p><p>
+ With just a quick glance on the OpenERP employee screen, you
+ can easily find all the information you need for each person;
+ contact data, job position, availability, etc.
+ </p>
+ </field>
</record>
<record id="open_view_employee_list_my_kanban" model="ir.actions.act_window.view">
@@ -225,12 +232,7 @@
<field name="res_id" ref="hr.menu_open_view_employee_list_my"/>
</record>
- <!--
- =======================
- Employee architecture
- =======================
- -->
-
+ <!-- Employee architecture -->
<record id="view_partner_tree2" model="ir.ui.view">
<field name="name">hr.employee.tree</field>
<field name="model">hr.employee</field>
@@ -269,12 +271,7 @@
<field eval="True" name="replace"/>
</ir_set>
- <!--
- ============
- Employee Category
- ============
- -->
-
+ <!-- Employee Category -->
<record id="view_employee_category_form" model="ir.ui.view">
<field name="name">hr.employee.category.form</field>
<field name="model">hr.employee.category</field>
@@ -373,8 +370,8 @@
</h1>
<group>
<group>
- <field name="no_of_employee"/>
- <field name="expected_employees"/>
+ <field name="no_of_employee" groups="base.group_user"/>
+ <field name="expected_employees" groups="base.group_user"/>
<field name="no_of_recruitment" on_change="on_change_expected_employee(no_of_recruitment,no_of_employee)"/>
</group>
<group>
@@ -418,16 +415,9 @@
<field name="arch" type="xml">
<search string="Jobs">
<field name="name" string="Job"/>
- <separator orientation="vertical"/>
- <filter icon="terp-camera_test"
- domain="[('state','=','open')]"
- string="In Position"
- help="In Position"/>
- <filter icon="terp-personal+" domain="[('state','=','recruit')]" string="In Recruitment"
- help="In Recruitment"/>
- <separator orientation="vertical"/>
- <field name="department_id" widget="selection"/>
- <newline />
+ <filter icon="terp-camera_test" domain="[('state','=','open')]" string="In Position" help="In Position"/>
+ <filter icon="terp-personal+" domain="[('state','=','recruit')]" string="In Recruitment" help="In Recruitment"/>
+ <field name="department_id"/>
<group expand="0" string="Group By...">
<filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
@@ -461,7 +451,20 @@
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_job_filter"/>
<field name="context">{"search_default_Current":1}</field>
- <field name="help">Job Positions are used to define jobs and their requirements. You can keep track of the number of employees you have per job position and how many you expect in the future. You can also attach a survey to a job position that will be used in the recruitment process to evaluate the applicants for this job position.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new job position.
+ </p><p>
+ Job Positions are used to define jobs and their requirements.
+ You can keep track of the number of employees you have per job
+ position and follow the evolution according to what you planned
+ for the future.
+ </p><p>
+ You can attach a survey to a job position. It will be used in
+ the recruitment process to evaluate the applicants for this job
+ position.
+ </p>
+ </field>
</record>
<menuitem name="Recruitment" id="base.menu_crm_case_job_req_main" parent="menu_hr_root" groups="base.group_hr_user"/>
diff --git a/addons/hr/res_config.py b/addons/hr/res_config.py
index c9e5b7a8628..4973417ec88 100644
--- a/addons/hr/res_config.py
+++ b/addons/hr/res_config.py
@@ -26,23 +26,23 @@ class hr_config_settings(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
- 'module_hr_timesheet_sheet': fields.boolean('Timesheet Validation by Manager',
+ 'module_hr_timesheet_sheet': fields.boolean('allow timesheets validation by managers',
help ="""This installs the module hr_timesheet_sheet."""),
- 'module_hr_attendance': fields.boolean('Track Attendances',
+ 'module_hr_attendance': fields.boolean('track attendances',
help ="""This installs the module hr_attendance."""),
- 'module_hr_timesheet': fields.boolean('Manage Timesheets',
+ 'module_hr_timesheet': fields.boolean('manage timesheets',
help ="""This installs the module hr_timesheet."""),
- 'module_hr_holidays': fields.boolean('Leaves & Holidays',
+ 'module_hr_holidays': fields.boolean('manage leaves and allocation requests',
help ="""This installs the module hr_holidays."""),
- 'module_hr_expense': fields.boolean('Expenses',
+ 'module_hr_expense': fields.boolean('manage employees expenses',
help ="""This installs the module hr_expense."""),
- 'module_hr_recruitment': fields.boolean('Recruitment',
+ 'module_hr_recruitment': fields.boolean('manage the recruitment pipe',
help ="""This installs the module hr_recruitment."""),
- 'module_hr_contract': fields.boolean('Employees Contracts',
+ 'module_hr_contract': fields.boolean('manage contract per employee',
help ="""This installs the module hr_contract."""),
- 'module_hr_evaluation': fields.boolean('Periodic Appraisals',
+ 'module_hr_evaluation': fields.boolean('manage employees periodic evaluation',
help ="""This installs the module hr_evaluation."""),
- 'module_hr_payroll': fields.boolean('Payroll',
+ 'module_hr_payroll': fields.boolean('manage payroll',
help ="""This installs the module hr_payroll."""),
}
diff --git a/addons/hr/res_config_view.xml b/addons/hr/res_config_view.xml
index cf35654475d..aaf5a4dea39 100644
--- a/addons/hr/res_config_view.xml
+++ b/addons/hr/res_config_view.xml
@@ -1,6 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
+ <data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="action_client_hr_menu" model="ir.actions.client">
+ <field name="name">Open HR Menu</field>
+ <field name="tag">reload</field>
+ <field name="params" eval="{'menu_id': ref('menu_hr_root')}"/>
+ </record>
+ <record id="todo_open_hr_menu" model="ir.actions.todo">
+ <field name="action_id" ref="action_client_hr_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+ </data>
<data>
-
<record id="open_payroll_modules" model="ir.actions.act_window">
<field name="name">Payroll</field>
<field name="res_model">ir.module.module</field>
@@ -14,32 +27,66 @@
<field name="model">hr.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Configure Human Resources" version="7.0">
+ <form string="Configure Human Resources" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
+ <separator string="Human Resources Management"/>
<group>
- <group string="Additional Features" name="left_column">
- <field name="module_hr_expense"/>
- <field name="module_hr_evaluation"/>
- <field name="module_hr_holidays"/>
- <field name="module_hr_recruitment"/>
- <field name="module_hr_contract"/>
- <label for="module_hr_payroll"/>
+ <label for="id" string="Additional Features"/>
+ <div>
+ <div>
+ <field name="module_hr_holidays" class="oe_inline"/>
+ <label for="module_hr_holidays"/>
+ </div>
<div>
- <field name="module_hr_payroll"/>
+ <field name="module_hr_expense" class="oe_inline"/>
+ <label for="module_hr_expense"/>
+ </div>
+ <div>
+ <field name="module_hr_evaluation" class="oe_inline"/>
+ <label for="module_hr_evaluation"/>
+ </div>
+ <div>
+ <field name="module_hr_contract" class="oe_inline"/>
+ <label for="module_hr_contract"/>
+ </div>
+ <div name="hr_payroll">
+ <field name="module_hr_payroll" class="oe_inline"/>
+ <label for="module_hr_payroll"/>
<button name="%(open_payroll_modules)d" type="action"
- string="Install Country-Specific Payroll" icon="gtk-go-forward"
- attrs="{'invisible': [('module_hr_payroll','=',False)]}"/>
- </div>
- </group>
- <group string="Timesheets" name="right_column">
- <field name="module_hr_attendance" on_change="onchange_hr_attendance(module_hr_attendance)"/>
- <field name="module_hr_timesheet" on_change="onchange_hr_timesheet(module_hr_timesheet)"/>
- <field name="module_hr_timesheet_sheet"/>
- </group>
+ string="Install your country's payroll" icon="gtk-go-forward"
+ attrs="{'invisible': [('module_hr_payroll','=',False)]}" class="oe_link"/>
+ </div>
+ </div>
+ </group>
+ <group name="timesheet_grp">
+ <label for="id" string="Time Tracking"/>
+ <div>
+ <div>
+ <field name="module_hr_attendance" on_change="onchange_hr_attendance(module_hr_attendance)" class="oe_inline"/>
+ <label for="module_hr_attendance"/>
+ </div>
+ <div>
+ <field name="module_hr_timesheet" on_change="onchange_hr_timesheet(module_hr_timesheet)" class="oe_inline"/>
+ <label for="module_hr_timesheet"/>
+ </div>
+ <div name="hr_timesheet">
+ <field name="module_hr_timesheet_sheet" class="oe_inline"/>
+ <label for="module_hr_timesheet_sheet"/>
+ </div>
+ </div>
+ </group>
+ <group name="recruitment_grp">
+ <label for="id" string="Recruitment"/>
+ <div name="recruitment">
+ <div>
+ <field name="module_hr_recruitment" class="oe_inline"/>
+ <label for="module_hr_recruitment"/>
+ </div>
+ </div>
</group>
</form>
</field>
diff --git a/addons/hr_attendance/hr_attendance_view.xml b/addons/hr_attendance/hr_attendance_view.xml
index 448e6401cbd..8a671e8438f 100644
--- a/addons/hr_attendance/hr_attendance_view.xml
+++ b/addons/hr_attendance/hr_attendance_view.xml
@@ -55,16 +55,13 @@
<field name="arch" type="xml">
<search string="Hr Attendance Search">
<field name="name" string="Attendance"/>
- <separator orientation="vertical"/>
+ <field name="action"/>
<filter icon="terp-go-today" string="Today" name="today" domain="[('name','&gt;=',current_date),('name','&lt;=',current_date)]" />
+ <separator/>
<filter icon="terp-stock_align_left_24" string="My Attendance" domain="[('employee_id.user_id.id', '=', uid)]" />
- <separator orientation="vertical"/>
<field name="employee_id"/>
- <field name="action"/>
- <newline/>
<group expand="0" string="Group By...">
<filter name="employee" string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
- <separator orientation="vertical"/>
<filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}"/>
</group>
</search>
diff --git a/addons/hr_contract/hr_contract_view.xml b/addons/hr_contract/hr_contract_view.xml
index 8065d3b16bf..2009e500bf9 100644
--- a/addons/hr_contract/hr_contract_view.xml
+++ b/addons/hr_contract/hr_contract_view.xml
@@ -40,22 +40,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Contract">
- <group>
- <field name="name" string="Contracts"/>
- <separator orientation="vertical"/>
- <field name="date_start"/>
- <field name="date_end"/>
- <separator orientation="vertical"/>
- <field name="employee_id"/>
- <field name="working_hours"/>
- </group>
- <newline/>
+ <field name="name" string="Contracts"/>
+ <field name="date_start"/>
+ <field name="date_end"/>
+ <field name="working_hours"/>
+ <field name="employee_id"/>
<group expand="0" string="Group By...">
<filter string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
- <separator orientation="vertical"/>
<filter string="Working Schedule" icon="terp-go-week" domain="[]" context="{'group_by':'working_hours'}"/>
<filter string="Job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/>
- <separator orientation="vertical"/>
<filter string="Contract Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type_id'}"/>
</group>
</search>
@@ -174,9 +167,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Contract Type">
- <group>
- <field name="name" string="Contract Type"/>
- </group>
+ <field name="name" string="Contract Type"/>
</search>
</field>
</record>
diff --git a/addons/hr_evaluation/__openerp__.py b/addons/hr_evaluation/__openerp__.py
index 4748883b1ce..bb1322bccf3 100644
--- a/addons/hr_evaluation/__openerp__.py
+++ b/addons/hr_evaluation/__openerp__.py
@@ -25,7 +25,7 @@
"author": "OpenERP SA",
"category": "Human Resources",
"website": "http://www.openerp.com",
- "summary": "Top-Down and Bottom-Up Evaluation",
+ "summary": "Periodical Evaluations, Surveys",
"images": ["images/hr_evaluation_analysis.jpeg","images/hr_evaluation.jpeg"],
"depends": ["hr","base_calendar","survey"],
"description": """
diff --git a/addons/hr_evaluation/hr_evaluation_data.xml b/addons/hr_evaluation/hr_evaluation_data.xml
index 6cd10f2d07a..cf632a795cc 100644
--- a/addons/hr_evaluation/hr_evaluation_data.xml
+++ b/addons/hr_evaluation/hr_evaluation_data.xml
@@ -1,16 +1,24 @@
<?xml version="1.0"?>
<openerp>
+ <data>
+ <record id="hr.todo_open_hr_menu" model="ir.actions.todo">
+ <field name="state">done</field>
+ </record>
+ </data>
+
<data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="todo_open_hr_menu" model="ir.actions.todo">
+ <field name="action_id" ref="hr.action_client_hr_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
<!-- notify all employees of module installation -->
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Employee Appraisals has been installed</value>
- <value>Create evaluations for your subordinates or manager. You can
- define a plan with several surveys, where you organize evaluation
- surveys related to the hierarchy levels. Evaluations filled by
- employees can exported as pdf files.
- </value>
+ <value>Create evaluations for your subordinates or manager. You can define a plan with several surveys, where you organize evaluation surveys related to the hierarchy levels. Evaluations filled by employees can exported as pdf files.</value>
</function>
<record id="survey_2" model="survey">
diff --git a/addons/hr_evaluation/hr_evaluation_installer.xml b/addons/hr_evaluation/hr_evaluation_installer.xml
index 5c0ca4841ed..3475edab772 100644
--- a/addons/hr_evaluation/hr_evaluation_installer.xml
+++ b/addons/hr_evaluation/hr_evaluation_installer.xml
@@ -7,7 +7,16 @@
<field name="res_model">hr_evaluation.plan</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">You can define appraisal plans (ex: first interview after 6 months, then every year). Then, each employee can be linked to an appraisal plan so that OpenERP can automatically generate interview requests to managers and/or subordinates.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new appraisal plan.
+ </p><p>
+ You can define appraisal plans (ex: first interview after 6
+ months, then every year). Then, each employee can be linked to
+ an appraisal plan so that OpenERP can automatically generate
+ interview requests to managers and/or subordinates.
+ </p>
+ </field>
</record>
</data>
diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml
index b940313691f..6d54e6278b1 100644
--- a/addons/hr_evaluation/hr_evaluation_view.xml
+++ b/addons/hr_evaluation/hr_evaluation_view.xml
@@ -8,12 +8,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Appraisal Plan">
- <group>
- <field name="name" string="Appraisal Plans"/>
- <separator orientation="vertical"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- </group>
- <newline/>
+ <field name="name" string="Appraisal Plans"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By..." groups="base.group_multi_company">
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"/>
</group>
@@ -234,22 +230,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Appraisal">
- <group>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" string="Pending" domain="[('state','=','wait')]" help="Appraisal that are in Plan In Progress state"/>
- <filter icon="terp-camera_test" string="In progress" domain="[('state','=','progress')]" help="Appraisal that are in waiting appreciation state"/>
- <separator orientation="vertical"/>
- <field name="employee_id" />
- <field name="plan_id" widget="selection" />
- </group>
- <newline/>
+ <field name="date"/>
+ <filter icon="terp-check" string="Pending" domain="[('state','=','wait')]" help="Appraisal that are in Plan In Progress state"/>
+ <filter icon="terp-camera_test" string="In progress" domain="[('state','=','progress')]" help="Appraisal that are in waiting appreciation state"/>
+ <field name="employee_id" />
+ <field name="plan_id"/>
<group expand='0' string='Group by...'>
<filter string='Employee' icon="terp-personal" domain="[]" context="{'group_by' : 'employee_id'}" />
- <separator orientation="vertical"/>
<filter string='Plan' icon="terp-stock_align_left_24" domain="[]" context="{'group_by' : 'plan_id'}" />
<filter string='Status' icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by' : 'state'}" />
- <separator orientation="vertical"/>
<filter string='Date' icon="terp-go-month" domain="[]" context="{'group_by' : 'date'}" />
</group>
</search>
@@ -263,7 +252,18 @@
<field name="view_mode">tree,form,graph</field>
<field name="search_view_id" ref="hr_evaluation.evaluation_search"/>
<field name="context">{"search_default_next_month":1}</field>
- <field name="help">Each employee may be assigned an Appraisal Plan. Such a plan defines the frequency and the way you manage your periodic personnel evaluation. You will be able to define steps and attach interviews to each step. OpenERP manages all kind of evaluations: bottom-up, top-down, self-evaluation and final evaluation by the manager.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new appraisal.
+ </p><p>
+ Each employee may be assigned an Appraisal Plan. Such a plan
+ defines the frequency and the way you manage your periodic
+ personnel evaluation. You will be able to define steps and
+ attach interviews to each step. OpenERP manages all kind of
+ evaluations: bottom-up, top-down, self-evaluation and final
+ evaluation by the manager.
+ </p>
+ </field>
</record>
<menuitem name="Appraisals" parent="menu_eval_hr" id="menu_open_view_hr_evaluation_tree"
@@ -329,20 +329,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Appraisal">
- <group>
- <field name="date_deadline"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','waiting_answer')]"/>
- <separator orientation="vertical"/>
- <field name="user_to_review_id"/>
- <field name="user_id" string="Interviewer"/>
- </group>
- <newline/>
+ <field name="date_deadline"/>
+ <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','waiting_answer')]"/>
+ <field name="user_to_review_id"/>
+ <field name="user_id" string="Interviewer"/>
<group expand="0" string="Group By...">
<filter string="Interviewer" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
@@ -368,7 +361,16 @@
<field name="domain">[('is_evaluation' ,'=', True)]</field>
<field name="context">{'default_is_evaluation': True, "search_default_todo":1,"search_default_user_id":uid}</field>
<field name="search_view_id" ref="view_hr_evaluation_interview_search"/>
- <field name="help">Interview Requests are generated automatically by OpenERP according to an employee's Appraisal Plan. Each user receives automatic emails and requests to evaluate their colleagues periodically.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new interview request related to a personnal evaluation.
+ </p><p>
+ Interview requests are usually generated automatically by
+ OpenERP according to an employee's appraisal plan. Each user
+ receives automatic emails and requests to evaluate their
+ colleagues periodically.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="hr_evaluation_interview_tree">
diff --git a/addons/hr_evaluation/report/hr_evaluation_report.py b/addons/hr_evaluation/report/hr_evaluation_report.py
index ac32133186c..bc2e50629c3 100644
--- a/addons/hr_evaluation/report/hr_evaluation_report.py
+++ b/addons/hr_evaluation/report/hr_evaluation_report.py
@@ -26,7 +26,6 @@ class hr_evaluation_report(osv.osv):
_name = "hr.evaluation.report"
_description = "Evaluations Statistics"
_auto = False
- _rec_name = 'date'
_columns = {
'create_date': fields.date('Create Date', readonly=True),
'delay_date':fields.float('Delay to Start', digits=(16,2),readonly=True),
diff --git a/addons/hr_evaluation/report/hr_evaluation_report_view.xml b/addons/hr_evaluation/report/hr_evaluation_report_view.xml
index d855e02eea7..f92ff1efedb 100644
--- a/addons/hr_evaluation/report/hr_evaluation_report_view.xml
+++ b/addons/hr_evaluation/report/hr_evaluation_report_view.xml
@@ -45,34 +45,22 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Appraisal Analysis">
- <group>
- <filter string="In Progress" icon="terp-camera_test" domain="[('state', '=' ,'wait')]"
- help = "In progress Evaluations"/>
- <filter string="Final Validation" icon="terp-camera_test" domain="[('state','=','progress')]"
- help = "Final Validation Evaluations"/>
- <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/>
- <separator orientation="vertical"/>
- <field name="employee_id"/>
- <field name="plan_id" widget="selection"/>
- </group>
- <newline/>
+ <filter string="In Progress" icon="terp-camera_test" domain="[('state', '=' ,'wait')]" help = "In progress Evaluations"/>
+ <filter string="Final Validation" icon="terp-camera_test" domain="[('state','=','progress')]" help = "Final Validation Evaluations"/>
+ <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/>
+ <field name="employee_id"/>
+ <field name="plan_id"/>
<group expand="0" string="Extended Filters...">
<field name="rating"/>
- <newline/>
<field name="deadline"/>
- <separator orientation="vertical"/>
<field name="state"/>
<field name="create_date"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
<filter string="Employee" name="employee" icon="terp-personal" context="{'group_by':'employee_id'}"/>
- <separator orientation="vertical"/>
<filter string="Plan" icon="terp-stock_align_left_24" context="{'group_by':'plan_id'}"/>
<filter string="Appreciation" icon="terp-face-plain" context="{'group_by':'rating'}"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Creation Date"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'create_date'}" help="Creation Date"/>
<filter string="Year" icon="terp-go-month" context="{'group_by':'year'}" help="Creation Date"/>
diff --git a/addons/hr_expense/hr_expense_data.xml b/addons/hr_expense/hr_expense_data.xml
index 82e9e9574b5..8f40c1d6afb 100644
--- a/addons/hr_expense/hr_expense_data.xml
+++ b/addons/hr_expense/hr_expense_data.xml
@@ -6,14 +6,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Expenses Management has been installed</value>
- <value>Manage your employee's expenses, with validations by employee
- manager and accountant, creation and payment of invoice.
+ <value>Manage your employee's expenses, with validations by employee manager and accountant, creation and payment of invoices.
- This module also uses the analytic accounting and is compatible
- with the invoice on timesheet module so that you will be able to
- automatically re-invoice your customer's expenses if your work
- by project.
- </value>
+This module also uses the analytic accounting and is compatible with the invoice on timesheet module so that you will be able to automatically re-invoice your customer's expenses if your work by project.</value>
</function>
<!-- Resource: product.uom.categ -->
diff --git a/addons/hr_expense/hr_expense_installer_view.xml b/addons/hr_expense/hr_expense_installer_view.xml
index 2f945c6fbcd..717f9b94b2c 100644
--- a/addons/hr_expense/hr_expense_installer_view.xml
+++ b/addons/hr_expense/hr_expense_installer_view.xml
@@ -1,5 +1,18 @@
<openerp>
<data>
+ <record id="hr.todo_open_hr_menu" model="ir.actions.todo">
+ <field name="state">done</field>
+ </record>
+ </data>
+ <data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="todo_open_hr_menu" model="ir.actions.todo">
+ <field name="action_id" ref="hr.action_client_hr_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+ </data>
+ <data>
<record id="product_expense_installer_tree_view" model="ir.ui.view">
<field name="name">product.product.tree</field>
<field name="model">product.product</field>
diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml
index 36ebd202dc8..67c08ee8a65 100644
--- a/addons/hr_expense/hr_expense_view.xml
+++ b/addons/hr_expense/hr_expense_view.xml
@@ -136,27 +136,19 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Expense">
- <group>
- <field name="name" string="Expenses"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" domain="[('state','=','draft')]" string="New" help="New Expense"/>
- <filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" help="Confirmed Expense"/>
- <filter icon="terp-dolar" domain="[('state','=','accepted')]" string="To Pay" help="Expenses to Invoice"/>
- <separator orientation="vertical"/>
- <field name="employee_id"/>
- <field name="department_id" widget="selection" string="Department" context="{'invisible_department': False}"/>
- <field name="user_id" string="User"/>
- </group>
- <newline />
- <group expand="0" string="Group By...">
- <filter string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
- </group>
+ <field name="name" string="Expenses"/>
+ <field name="date"/>
+ <filter icon="terp-document-new" domain="[('state','=','draft')]" string="New" help="New Expense"/>
+ <filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" help="Confirmed Expense"/>
+ <filter icon="terp-dolar" domain="[('state','=','accepted')]" string="To Pay" help="Expenses to Invoice"/>
+ <field name="employee_id"/>
+ <field name="department_id" string="Department" context="{'invisible_department': False}"/>
+ <field name="user_id" string="User"/>
+ <group expand="0" string="Group By...">
+ <filter string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
+ <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
+ </group>
</search>
</field>
</record>
@@ -167,10 +159,15 @@
<field name="view_type">form</field>
<field name="search_view_id" ref="view_hr_expense_filter"/>
<field name="view_id" ref="view_expenses_tree"/>
- <field name="help">
- Click here to create a new expense.
- &lt;p&gt;
- After validation of your expense, you will be able to re-invoice costs to your customers.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to register new expenses.
+ </p><p>
+ OpenERP will ensure the whole process is followed; the expense
+ sheet is validated by manager(s), the employee is reimbursed
+ from his expenses, some expenses must be re-invoiced to the
+ customers.
+ </p>
</field>
</record>
diff --git a/addons/hr_expense/report/hr_expense_report_view.xml b/addons/hr_expense/report/hr_expense_report_view.xml
index 7877edf4b3a..73ec45bde02 100644
--- a/addons/hr_expense/report/hr_expense_report_view.xml
+++ b/addons/hr_expense/report/hr_expense_report_view.xml
@@ -51,46 +51,31 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Expenses Analysis">
- <group>
- <filter string="Waiting" icon="terp-gtk-media-pause" domain="[('state', '=' ,'confirm')]"
- help = "Confirm Expenses"/>
- <filter string="Approved" icon="terp-check" domain="[('state','=','accepted')]"
- help = "Approved Expenses"/>
- <filter string="Invoiced" icon="terp-dolar" domain="[('state','in', ('invoiced', 'paid'))]"
- help = "Invoiced Expenses"/>
- <separator orientation="vertical"/>
- <field name="employee_id"/>
- <field name="department_id"/>
- </group>
- <newline/>
- <group expand="0" string="Extended Filters...">
- <field name="product_id"/>
- <separator orientation="vertical"/>
- <field name="user_id"/>
- <separator orientation="vertical"/>
- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
- <newline/>
- <field name="date" string="Creation Date"/>
- <field name="date_confirm"/>
- <field name="date_valid"/>
- </group>
- <newline/>
- <group expand="1" string="Group By...">
- <filter string="Employee" name="employee" icon="terp-personal" context="{'group_by':'employee_id'}"/>
- <filter string="Validation User" name="User" 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" groups="analytic.group_analytic_accounting"/>
- <filter string="Analytic account" icon="terp-folder-green" context="{'group_by':'analytic_account'}" groups="analytic.group_analytic_accounting"/>
- <separator orientation="vertical" groups="analytic.group_analytic_accounting"/>
- <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
- <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'}" help="Creation Date"/>
- <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Creation Date"/>
- <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Creation Date"/>
- </group>
+ <filter string="Waiting" icon="terp-gtk-media-pause" domain="[('state', '=' ,'confirm')]" help = "Confirm Expenses"/>
+ <filter string="Approved" icon="terp-check" domain="[('state','=','accepted')]" help = "Approved Expenses"/>
+ <filter string="Invoiced" icon="terp-dolar" domain="[('state','in', ('invoiced', 'paid'))]" help = "Invoiced Expenses"/>
+ <field name="employee_id"/>
+ <field name="department_id"/>
+ <group expand="0" string="Extended Filters...">
+ <field name="product_id"/>
+ <field name="user_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
+ <field name="date" string="Creation Date"/>
+ <field name="date_confirm"/>
+ <field name="date_valid"/>
+ </group>
+ <group expand="1" string="Group By...">
+ <filter string="Employee" name="employee" icon="terp-personal" context="{'group_by':'employee_id'}"/>
+ <filter string="Validation User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
+ <filter string="Department" icon="terp-personal+" context="{'group_by':'department_id'}"/>
+ <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
+ <filter string="Analytic account" icon="terp-folder-green" context="{'group_by':'analytic_account'}" groups="analytic.group_analytic_accounting"/>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
+ <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
+ <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Creation Date"/>
+ <filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Creation Date"/>
+ <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Creation Date"/>
+ </group>
</search>
</field>
</record>
diff --git a/addons/hr_holidays/__openerp__.py b/addons/hr_holidays/__openerp__.py
index c8c2bad3489..45dd9ea39a5 100644
--- a/addons/hr_holidays/__openerp__.py
+++ b/addons/hr_holidays/__openerp__.py
@@ -26,7 +26,7 @@
"author": "OpenERP SA",
"category": "Human Resources",
"sequence": 28,
- "summary": "Allocation and Leave Requests, Reporting by Department",
+ "summary": "Holidays, Allocation and Leave Requests",
"website": "http://www.openerp.com",
"description": """
This module allows you to manage leaves and leave's requests.
diff --git a/addons/hr_holidays/hr_holidays_data.xml b/addons/hr_holidays/hr_holidays_data.xml
index d41d72779cf..9db0f2e987a 100644
--- a/addons/hr_holidays/hr_holidays_data.xml
+++ b/addons/hr_holidays/hr_holidays_data.xml
@@ -1,17 +1,23 @@
<?xml version="1.0"?>
<openerp>
+ <data>
+ <record id="hr.todo_open_hr_menu" model="ir.actions.todo">
+ <field name="state">done</field>
+ </record>
+ </data>
<data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="todo_open_hr_menu" model="ir.actions.todo">
+ <field name="action_id" ref="hr.action_client_hr_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
<!-- notify all employees of module installation -->
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Leaves Management has been installed</value>
- <value>Manage employee leaves from the top menu "Human Resources."
- Employees can create leave requests that are validated by their
- manager and/or HR people. Once validated, they are visible in
- the employee's calendar. HR people can define leave types and
- allocate off-days for employees.
- </value>
+ <value>Manage employee leaves from the top menu "Human Resources". Employees can create leave requests that are validated by their manager and/or HR people. Once validated, they are visible in the employee's calendar. HR people can define leave types and allocate off-days for employees.</value>
</function>
<!-- Casual leave -->
diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml
index 26683e3de8a..4469fa73fbe 100644
--- a/addons/hr_holidays/hr_holidays_view.xml
+++ b/addons/hr_holidays/hr_holidays_view.xml
@@ -44,36 +44,28 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Leave">
- <group>
- <field name="date_from"/>
- <separator orientation="vertical"/>
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
- <filter string="My Leaves" icon="terp-personal" name="my_leaves" domain="[('employee_id.user_id','=', uid)]" help="My Leaves"/>
- <filter string="My Department Leaves" icon="terp-personal+" help="My Department Leaves" domain="[('department_id.manager_id','=',uid)]"/>
- <filter icon="terp-check" domain="[('state','=','draft')]" string="To Confirm"/>
- <filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" name="approve"/>
- <filter icon="terp-camera_test" domain="[('state','=','validate')]" string="Validated" name="validated"/>
- <filter icon="terp-go-year" name="year" string="Year" domain="[('holiday_status_id.active','=',True)]" help="Filters only on allocations and requests that belong to an holiday type that is 'active' (active field is True)"/>
- <separator orientation="vertical"/>
- <field name="employee_id"/>
- <field name="department_id" widget="selection"/>
- <field name="holiday_status_id" widget="selection"/>
- </group>
- <newline/>
+ <field name="date_from"/>
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
+ <filter icon="terp-check" domain="[('state','=','draft')]" string="To Confirm"/>
+ <filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" name="approve"/>
+ <filter icon="terp-camera_test" domain="[('state','=','validate')]" string="Validated" name="validated"/>
+ <separator/>
+ <filter icon="terp-go-year" name="year" string="Year" domain="[('holiday_status_id.active','=',True)]" help="Filters only on allocations and requests that belong to an holiday type that is 'active' (active field is True)"/>
+ <separator/>
+ <filter string="My Leaves" icon="terp-personal" name="my_leaves" domain="[('employee_id.user_id','=', uid)]" help="My Leaves"/>
+ <separator/>
+ <filter string="My Department Leaves" icon="terp-personal+" help="My Department Leaves" domain="[('department_id.manager_id','=',uid)]"/>
+ <field name="employee_id"/>
+ <field name="department_id"/>
+ <field name="holiday_status_id"/>
<group expand="0" string="Group By...">
<filter name="group_date_from" string="Start Date" icon="terp-personal" domain="[]" context="{'group_by':'date_from'}"/>
- <separator orientation="vertical"/>
<filter name="group_employee" string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
<filter name="group_category" string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'category_id'}"/>
<filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'manager_id'}"/>
<filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id','set_visible':True}"/>
- <separator orientation="vertical"/>
<filter name="group_type" string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'holiday_status_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
@@ -309,7 +301,16 @@
<field name="context">{}</field>
<field name="domain">[('type','=','remove')]</field>
<field name="search_view_id" ref="view_hr_holidays_filter"/>
- <field name="help">Leave requests can be recorded by employees and validated by their managers. Once a leave request is validated, it appears automatically in the agenda of the employee. You can define several allowance types (paid holidays, sickness, etc.) and manage allowances per type.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new leave request.
+ </p><p>
+ Once you have recorded your leave request, it will be sent
+ to a manager for validation. Be sure to set the right leave
+ type (recuperation, legal holidays, sickness) and the exact
+ number of open days related to your leave.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="action_open_ask_holidays_tree">
@@ -408,8 +409,7 @@
<field name="arch" type="xml">
<search string="Search Leave Type">
<field name="name" string="Leave Types"/>
- <separator orientation="vertical"/>
- <field name="categ_id" widget="selection"/>
+ <field name="categ_id"/>
</search>
</field>
</record>
@@ -475,8 +475,7 @@
<field name="arch" type="xml">
<search string="Leave Type">
<field name="name" string="Leave Types"/>
- <separator orientation="vertical"/>
- <field name="categ_id" widget="selection"/>
+ <field name="categ_id"/>
</search>
</field>
</record>
@@ -531,7 +530,12 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="hr_holidays_leaves_assign_tree_view"/>
- <field name="help">You can assign remaining Legal Leaves for each employee, OpenERP will automatically create and validate allocation requests.</field>
+ <field name="help" type="html">
+ <p>
+ You can assign remaining Legal Leaves for each employee, OpenERP
+ will automatically create and validate allocation requests.
+ </p>
+ </field>
</record>
<!-- Hr employee inherit Legal Leaves -->
diff --git a/addons/hr_payroll/hr_payroll_view.xml b/addons/hr_payroll/hr_payroll_view.xml
index e05910a27da..ed0eb49ee71 100644
--- a/addons/hr_payroll/hr_payroll_view.xml
+++ b/addons/hr_payroll/hr_payroll_view.xml
@@ -61,10 +61,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Payroll Structures">
- <group col="8" colspan="4">
- <field name="name" string="Payroll Structures" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
- </group>
- <newline/>
+ <field name="name" string="Payroll Structures" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
</search>
</field>
</record>
@@ -179,19 +176,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Payslip Lines">
- <group col="8" colspan="4">
- <field name="name" string="Payslip Lines" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
- <separator orientation="vertical"/>
- <field name="slip_id"/>
- <field name="amount_select"/>
- </group>
- <newline/>
+ <field name="name" string="Payslip Lines" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
+ <field name="amount_select"/>
+ <field name="slip_id"/>
<group col="8" colspan="4" expand="0" string="Group By...">
<filter string="Salary Rule Category" icon="terp-camera_test" name="category_id" context="{'group_by':'category_id'}"/>
<filter string="Contribution Register" name="register_id" icon="terp-folder-yellow" context="{'group_by':'register_id'}"/>
- <separator orientation="vertical"/>
<filter string="Amount Type" name="amount_select" icon="terp-stock_symbol-selection" context="{'group_by':'amount_select'}"/>
- <separator orientation="vertical"/>
<filter string="Employees" name="employee_id" icon="terp-personal" context="{'group_by':'employee_id'}"/>
</group>
</search>
@@ -367,25 +358,16 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Payslips">
- <group>
- <field name="name" string="Payslips" filter_domain="['|',('name','ilike',self),('number','ilike',self)]"/>
- <separator orientation="vertical"/>
- <field name="date_from"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/>
- <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done Slip"/>
- <separator orientation="vertical"/>
- <field name="employee_id"/>
- <field name="payslip_run_id"/>
- </group>
- <newline/>
+ <field name="name" string="Payslips" filter_domain="['|',('name','ilike',self),('number','ilike',self)]"/>
+ <field name="date_from"/>
+ <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/>
+ <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done Slip"/>
+ <field name="employee_id"/>
+ <field name="payslip_run_id"/>
<group expand="0" string="Group By...">
<filter string="Employees" icon="terp-personal" name="employee_id" context="{'group_by':'employee_id'}"/>
- <separator orientation="vertical"/>
<filter string="PaySlip Batch" name="payslip_run_id" icon="terp-folder-orange" context="{'group_by':'payslip_run_id'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Companies" name="company_id" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/>
- <separator orientation="vertical"/>
<filter string="States" name="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
</group>
</search>
@@ -526,8 +508,7 @@
<field name="arch" type="xml">
<search string="Contribution Registers">
<field name="name" string="Contribution Registers"/>
- <separator orientation="vertical"/>
- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
</record>
@@ -548,7 +529,15 @@
<field name="name">Contribution Registers</field>
<field name="res_model">hr.contribution.register</field>
<field name="view_type">form</field>
- <field name="help">A contribution register is a third party involved in the salary payment of the employees. It can be the social security, the estate or anyone that collect or inject money on payslips.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new contribution register.
+ </p><p>
+ A contribution register is a third party involved in the salary
+ payment of the employees. It can be the social security, the
+ estate or anyone that collect or inject money on payslips.
+ </p>
+ </field>
<field name="view_id" ref="hr_contribution_register_tree"/>
</record>
<menuitem
@@ -655,13 +644,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Salary Rule">
- <group col="8">
- <field name="name" string="Salary Rules" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
- <separator orientation="vertical"/>
- <field name="category_id"/>
- <field name="condition_range_min"/>
- </group>
- <newline/>
+ <field name="name" string="Salary Rules" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
+ <field name="category_id"/>
+ <field name="condition_range_min"/>
<group col="8" colspan="4" expand="0" string="Group By...">
<filter string="Category" icon="terp-folder-yellow" name="head" context="{'group_by':'category_id'}"/>
</group>
@@ -682,11 +667,10 @@
<act_window name="All Children Rules"
- domain="[('id', 'in', [active_id])]"
+ domain="[('parent_rule_id', '=', active_id)]"
res_model="hr.salary.rule"
src_model="hr.salary.rule"
- view_id="hr_salary_rule_tree"
- view_type="tree"
+ view_id="hr_salary_rule_list"
id="act_children_salary_rules"/>
<!-- payslip runs -->
@@ -698,10 +682,8 @@
<field name="arch" type="xml">
<search string="Search Payslip Batches">
<field name="name" string="Payslip Batches"/>
- <separator orientation="vertical"/>
<field name="date_start"/>
<field name="date_end"/>
- <separator orientation="vertical"/>
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Batches"/>
<filter name="done_filter" icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Batches"/>
</search>
diff --git a/addons/hr_payroll/i18n/he.po b/addons/hr_payroll/i18n/he.po
new file mode 100644
index 00000000000..2957d625576
--- /dev/null
+++ b/addons/hr_payroll/i18n/he.po
@@ -0,0 +1,1119 @@
+# Hebrew translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-07-31 03:12+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Hebrew <he@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n"
+"X-Generator: Launchpad (build 15719)\n"
+
+#. module: hr_payroll
+#: field:hr.payslip.line,condition_select:0
+#: field:hr.salary.rule,condition_select:0
+msgid "Condition Based on"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.contract,schedule_pay:0
+msgid "Monthly"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0 field:hr.payslip,line_ids:0
+#: model:ir.actions.act_window,name:hr_payroll.act_contribution_reg_payslip_lines
+msgid "Payslip Lines"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.line:0
+#: model:ir.model,name:hr_payroll.model_hr_salary_rule_category
+#: report:paylip.details:0
+msgid "Salary Rule Category"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.salary.rule.category,parent_id:0
+msgid ""
+"Linking a salary category to its parent is used only for the reporting "
+"purpose."
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0 view:hr.payslip.line:0 view:hr.salary.rule:0
+msgid "Group By..."
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "States"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,input_ids:0 view:hr.salary.rule:0
+#: field:hr.salary.rule,input_ids:0
+msgid "Inputs"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,parent_rule_id:0
+#: field:hr.salary.rule,parent_rule_id:0
+msgid "Parent Salary Rule"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.employee,slip_ids:0 view:hr.payslip:0 view:hr.payslip.run:0
+#: field:hr.payslip.run,slip_ids:0
+#: model:ir.actions.act_window,name:hr_payroll.act_hr_employee_payslip_list
+msgid "Payslips"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.structure,parent_id:0
+#: field:hr.salary.rule.category,parent_id:0
+msgid "Parent"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid "("
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.contribution.register,company_id:0
+#: field:hr.payroll.structure,company_id:0 field:hr.payslip,company_id:0
+#: field:hr.payslip.line,company_id:0 field:hr.salary.rule,company_id:0
+#: field:hr.salary.rule.category,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Done Slip"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid ","
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0 view:hr.payslip.run:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.model,name:hr_payroll.model_hr_salary_rule
+msgid "hr.salary.rule"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,payslip_run_id:0
+#: model:ir.model,name:hr_payroll.model_hr_payslip_run
+msgid "Payslip Batches"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.employees:0
+msgid ""
+"This wizard will generate payslips for all selected employee(s) based on the "
+"dates and credit note specified on Payslips Run."
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0 report:paylip.details:0
+#: report:payslip:0
+msgid "Quantity/Rate"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.input,payslip_id:0 field:hr.payslip.line,slip_id:0
+#: field:hr.payslip.worked_days,payslip_id:0
+#: model:ir.model,name:hr_payroll.model_hr_payslip report:payslip:0
+msgid "Pay Slip"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.employees:0
+msgid "Generate"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,amount_percentage_base:0
+#: help:hr.salary.rule,amount_percentage_base:0
+msgid "result will be affected to a variable"
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0
+msgid "Total:"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.act_children_salary_rules
+msgid "All Children Rules"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0 view:hr.salary.rule:0
+msgid "Input Data"
+msgstr ""
+
+#. module: hr_payroll
+#: constraint:hr.payslip:0
+msgid "Payslip 'Date From' must be before 'Date To'."
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0 view:hr.salary.rule.category:0
+msgid "Notes"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Salary Computation"
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0 field:hr.payslip.input,amount:0
+#: field:hr.payslip.line,amount:0 report:paylip.details:0 report:payslip:0
+msgid "Amount"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0 view:hr.payslip.line:0
+#: model:ir.model,name:hr_payroll.model_hr_payslip_line
+msgid "Payslip Line"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Other Information"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,amount_select:0 help:hr.salary.rule,amount_select:0
+msgid "The computation method for the rule amount."
+msgstr ""
+
+#. module: hr_payroll
+#: view:payslip.lines.contribution.register:0
+msgid "Contribution Register's Payslip Lines"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/wizard/hr_payroll_payslips_by_employees.py:52
+#, python-format
+msgid "Warning !"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0
+msgid "Details by Salary Rule Category:"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid "Note"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.structure,code:0 field:hr.payslip,number:0
+#: report:paylip.details:0 report:payslip:0
+msgid "Reference"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Draft Slip"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:422
+#, python-format
+msgid "Normal Working Days paid at 100%"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,condition_range_max:0
+#: field:hr.salary.rule,condition_range_max:0
+msgid "Maximum Range"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid "Identification No"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,struct_id:0
+msgid "Structure"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.employee,total_wage:0
+msgid "Sum of all current contract's wage of employee."
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Total Working Days"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,code:0 help:hr.salary.rule,code:0
+msgid ""
+"The code of salary rules can be used as reference in computation of other "
+"rules. In that case, it is case sensitive."
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.contract,schedule_pay:0
+msgid "Weekly"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,rate:0
+msgid "Rate (%)"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Confirm"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.report.xml,name:hr_payroll.payslip_report
+msgid "Employee PaySlip"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,condition_range_max:0
+#: help:hr.salary.rule,condition_range_max:0
+msgid "The maximum amount, applied for this rule."
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,condition_python:0
+#: help:hr.salary.rule,condition_python:0
+msgid ""
+"Applied this rule for calculation if condition is true. You can specify "
+"condition like basic > 1000."
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.employees:0
+msgid "Payslips by Employees"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.contract,schedule_pay:0
+msgid "Quarterly"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,state:0 field:hr.payslip.run,state:0
+msgid "State"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.salary.rule,quantity:0
+msgid ""
+"It is used in computation for percentage and fixed amount.For e.g. A rule "
+"for Meal Voucher having fixed amount of 1€ per worked day can have its "
+"quantity defined in expression like worked_days.WORK100.number_of_days."
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.salary.rule:0
+msgid "Search Salary Rule"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,employee_id:0 field:hr.payslip.line,employee_id:0
+#: model:ir.model,name:hr_payroll.model_hr_employee
+msgid "Employee"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.contract,schedule_pay:0
+msgid "Semi-annually"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.salary.rule:0
+msgid "Children Definition"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid "Email"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.run:0
+msgid "Search Payslip Batches"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,amount_percentage_base:0
+#: field:hr.salary.rule,amount_percentage_base:0
+msgid "Percentage based on"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,amount_percentage:0
+#: help:hr.salary.rule,amount_percentage:0
+msgid "For example, enter 50.0 to apply a percentage of 50%"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,paid:0
+msgid "Made Payment Order ? "
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0
+msgid "PaySlip Lines by Contribution Register"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip,state:0
+msgid ""
+"* When the payslip is created the state is 'Draft'. \n"
+"* If the payslip is under verification, the state is 'Waiting'. "
+"\n"
+"* If the payslip is confirmed then state is set to 'Done'. \n"
+"* When user cancel payslip the state is 'Rejected'."
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.worked_days,number_of_days:0
+msgid "Number of Days"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payslip,state:0
+msgid "Rejected"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.structure:0 field:hr.payroll.structure,rule_ids:0
+#: view:hr.salary.rule:0
+#: model:ir.actions.act_window,name:hr_payroll.action_salary_rule_form
+#: model:ir.ui.menu,name:hr_payroll.menu_action_hr_salary_rule_form
+msgid "Salary Rules"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:337
+#, python-format
+msgid "Refund: "
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.model,name:hr_payroll.model_payslip_lines_contribution_register
+msgid "PaySlip Lines by Contribution Registers"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0 selection:hr.payslip,state:0 view:hr.payslip.run:0
+msgid "Done"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,appears_on_payslip:0
+#: field:hr.salary.rule,appears_on_payslip:0
+msgid "Appears on Payslip"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,amount_fix:0
+#: selection:hr.payslip.line,amount_select:0 field:hr.salary.rule,amount_fix:0
+#: selection:hr.salary.rule,amount_select:0
+msgid "Fixed Amount"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,active:0 help:hr.salary.rule,active:0
+msgid ""
+"If the active field is set to false, it will allow you to hide the salary "
+"rule without removing it."
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Worked Days & Inputs"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,details_by_salary_rule_category:0
+msgid "Details by Salary Rule Category"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.action_payslip_lines_contribution_register
+msgid "PaySlip Lines"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,register_id:0 help:hr.salary.rule,register_id:0
+msgid "Eventual third party involved in the salary payment of the employees."
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.worked_days,number_of_hours:0
+msgid "Number of Hours"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "PaySlip Batch"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,condition_range_min:0
+#: field:hr.salary.rule,condition_range_min:0
+msgid "Minimum Range"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,child_ids:0 field:hr.salary.rule,child_ids:0
+msgid "Child Salary Rule"
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0 field:hr.payslip,date_to:0
+#: field:hr.payslip.run,date_end:0 report:paylip.details:0 report:payslip:0
+#: field:payslip.lines.contribution.register,date_to:0
+msgid "Date To"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payslip.line,condition_select:0
+#: selection:hr.salary.rule,condition_select:0
+msgid "Range"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_payroll_structure_tree
+#: model:ir.ui.menu,name:hr_payroll.menu_hr_payroll_structure_tree
+msgid "Salary Structures Hierarchy"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Payslip"
+msgstr ""
+
+#. module: hr_payroll
+#: constraint:hr.contract:0
+msgid "Error! contract start-date must be lower then contract end-date."
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.contract:0
+msgid "Payslip Info"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.act_payslip_lines
+msgid "Payslip Computation Details"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:872
+#, python-format
+msgid "Wrong python code defined for salary rule %s (%s) "
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.model,name:hr_payroll.model_hr_payslip_input
+msgid "Payslip Input"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.salary.rule.category:0
+#: model:ir.actions.act_window,name:hr_payroll.action_hr_salary_rule_category
+#: model:ir.ui.menu,name:hr_payroll.menu_hr_salary_rule_category
+msgid "Salary Rule Categories"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.input,contract_id:0
+#: help:hr.payslip.worked_days,contract_id:0
+msgid "The contract for which applied this input"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.salary.rule:0
+msgid "Computation"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.input,amount:0
+msgid ""
+"It is used in computation. For e.g. A rule for sales having 1% commission of "
+"basic salary for per product can defined in expression like result = "
+"inputs.SALEURO.amount * contract.wage*0.01."
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.line:0 field:hr.payslip.line,amount_select:0
+#: field:hr.salary.rule,amount_select:0
+msgid "Amount Type"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,category_id:0 view:hr.salary.rule:0
+#: field:hr.salary.rule,category_id:0
+msgid "Category"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.run,credit_note:0
+msgid ""
+"If its checked, indicates that all payslips generated from here are refund "
+"payslips."
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.action_view_hr_payroll_structure_list_form
+#: model:ir.ui.menu,name:hr_payroll.menu_hr_payroll_structure_view
+msgid "Salary Structures"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.run:0
+msgid "Draft Payslip Batches"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0 selection:hr.payslip,state:0 view:hr.payslip.run:0
+#: selection:hr.payslip.run,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0 field:hr.payslip,date_from:0
+#: field:hr.payslip.run,date_start:0 report:paylip.details:0 report:payslip:0
+#: field:payslip.lines.contribution.register,date_from:0
+msgid "Date From"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.run:0
+msgid "Done Payslip Batches"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0
+msgid "Payslip Lines by Contribution Register:"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.salary.rule:0
+msgid "Conditions"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,amount_percentage:0
+#: selection:hr.payslip.line,amount_select:0
+#: field:hr.salary.rule,amount_percentage:0
+#: selection:hr.salary.rule,amount_select:0
+msgid "Percentage (%)"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Worked Day"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.structure:0
+msgid "Employee Function"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,credit_note:0 field:hr.payslip.run,credit_note:0
+msgid "Credit Note"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Compute Sheet"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,active:0 field:hr.salary.rule,active:0
+msgid "Active"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.salary.rule:0
+msgid "Child Rules"
+msgstr ""
+
+#. module: hr_payroll
+#: constraint:hr.employee:0
+msgid "Error ! You cannot create recursive Hierarchy of Employees."
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.report.xml,name:hr_payroll.payslip_details_report
+msgid "PaySlip Details"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,condition_range_min:0
+#: help:hr.salary.rule,condition_range_min:0
+msgid "The minimum amount, applied for this rule."
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payslip.line,condition_select:0
+#: selection:hr.salary.rule,condition_select:0
+msgid "Python Expression"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid "Designation"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/wizard/hr_payroll_payslips_by_employees.py:52
+#, python-format
+msgid "You must select employee(s) to generate payslip(s)"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:861
+#, python-format
+msgid "Wrong quantity defined for salary rule %s (%s)"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Companies"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid "Authorized Signature"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,contract_id:0 field:hr.payslip.input,contract_id:0
+#: field:hr.payslip.line,contract_id:0
+#: field:hr.payslip.worked_days,contract_id:0
+#: model:ir.model,name:hr_payroll.model_hr_contract
+msgid "Contract"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid "Credit"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.contract,schedule_pay:0
+msgid "Scheduled Pay"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:861
+#: code:addons/hr_payroll/hr_payroll.py:866
+#: code:addons/hr_payroll/hr_payroll.py:872
+#: code:addons/hr_payroll/hr_payroll.py:889
+#: code:addons/hr_payroll/hr_payroll.py:895
+#, python-format
+msgid "Error"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,condition_python:0
+#: field:hr.salary.rule,condition_python:0
+msgid "Python Condition"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.contribution.register:0
+msgid "Contribution"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:347
+#, python-format
+msgid "Refund Payslip"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.rule.input,input_id:0
+#: model:ir.model,name:hr_payroll.model_hr_rule_input
+msgid "Salary Rule Input"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:895
+#, python-format
+msgid "Wrong python condition defined for salary rule %s (%s)"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,quantity:0 field:hr.salary.rule,quantity:0
+msgid "Quantity"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Refund"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.salary.rule:0
+msgid "Company Contribution"
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0 field:hr.payslip.input,code:0
+#: field:hr.payslip.line,code:0 field:hr.payslip.worked_days,code:0
+#: field:hr.rule.input,code:0 field:hr.salary.rule,code:0
+#: field:hr.salary.rule.category,code:0 report:paylip.details:0
+#: report:payslip:0
+msgid "Code"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,amount_python_compute:0
+#: selection:hr.payslip.line,amount_select:0
+#: field:hr.salary.rule,amount_python_compute:0
+#: selection:hr.salary.rule,amount_select:0
+msgid "Python Code"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.input,sequence:0 field:hr.payslip.line,sequence:0
+#: field:hr.payslip.worked_days,sequence:0 field:hr.salary.rule,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0 report:paylip.details:0
+msgid "Register Name"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.salary.rule:0
+msgid "General"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:664
+#, python-format
+msgid "Salary Slip of %s for %s"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.model,name:hr_payroll.model_hr_payslip_employees
+msgid "Generate payslips for all selected employees"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.contract,struct_id:0 view:hr.payroll.structure:0 view:hr.payslip:0
+#: view:hr.payslip.line:0
+#: model:ir.model,name:hr_payroll.model_hr_payroll_structure
+msgid "Salary Structure"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.contribution.register,register_line_ids:0
+msgid "Register Line"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0 view:hr.payslip.employees:0
+#: view:payslip.lines.contribution.register:0
+msgid "Cancel"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.run:0 selection:hr.payslip.run,state:0
+msgid "Close"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip,struct_id:0
+msgid ""
+"Defines the rules that have to be applied to this payslip, accordingly to "
+"the contract chosen. If you let empty the field contract, this field isn't "
+"mandatory anymore and thus the rules applied will be all the rules set on "
+"the structure of all contracts of the employee valid for the chosen period"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payroll.structure,children_ids:0
+#: field:hr.salary.rule.category,children_ids:0
+msgid "Children"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip,credit_note:0
+msgid "Indicates this payslip has a refund of another"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.contract,schedule_pay:0
+msgid "Bi-monthly"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0
+msgid "Pay Slip Details"
+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 Payslips"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.line:0 field:hr.payslip.line,register_id:0
+#: field:hr.salary.rule,register_id:0
+#: model:ir.model,name:hr_payroll.model_hr_contribution_register
+msgid "Contribution Register"
+msgstr ""
+
+#. module: hr_payroll
+#: view:payslip.lines.contribution.register:0
+msgid "Print"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,help:hr_payroll.action_contribution_register_form
+msgid ""
+"A contribution register is a third party involved in the salary payment of "
+"the employees. It can be the social security, the estate or anyone that "
+"collect or inject money on payslips."
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:889
+#, python-format
+msgid "Wrong range condition defined for salary rule %s (%s)"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.line:0
+msgid "Calculations"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Worked Days"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Search Payslips"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.run:0
+#: model:ir.actions.act_window,name:hr_payroll.action_hr_payslip_run_tree
+#: model:ir.ui.menu,name:hr_payroll.menu_hr_payslip_run
+msgid "Payslips Batches"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.contribution.register:0 field:hr.contribution.register,note:0
+#: field:hr.payroll.structure,note:0 field:hr.payslip,name:0
+#: field:hr.payslip,note:0 field:hr.payslip.input,name:0
+#: view:hr.payslip.line:0 field:hr.payslip.line,note:0
+#: field:hr.payslip.worked_days,name:0 field:hr.rule.input,name:0
+#: view:hr.salary.rule:0 field:hr.salary.rule,note:0
+#: field:hr.salary.rule.category,note:0
+msgid "Description"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid ")"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.contribution.register:0
+#: model:ir.actions.act_window,name:hr_payroll.action_contribution_register_form
+#: model:ir.ui.menu,name:hr_payroll.menu_action_hr_contribution_register_form
+msgid "Contribution Registers"
+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
+#: model:ir.ui.menu,name:hr_payroll.payroll_configure
+msgid "Payroll"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.report.xml,name:hr_payroll.contribution_register
+msgid "PaySlip Lines By Conribution Register"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payslip,state:0
+msgid "Waiting"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid "Address"
+msgstr ""
+
+#. module: hr_payroll
+#: code:addons/hr_payroll/hr_payroll.py:866
+#, python-format
+msgid "Wrong percentage base or quantity defined for salary rule %s (%s)"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,worked_days_line_ids:0
+#: model:ir.model,name:hr_payroll.model_hr_payslip_worked_days
+msgid "Payslip Worked Days"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.salary.rule.category:0
+msgid "Salary Categories"
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0 field:hr.contribution.register,name:0
+#: field:hr.payroll.structure,name:0 field:hr.payslip.line,name:0
+#: field:hr.payslip.run,name:0 field:hr.salary.rule,name:0
+#: field:hr.salary.rule.category,name:0 report:paylip.details:0
+#: report:payslip:0
+msgid "Name"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payroll.structure:0
+msgid "Payroll Structures"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0 view:hr.payslip.employees:0
+#: field:hr.payslip.employees,employee_ids:0 view:hr.payslip.line:0
+msgid "Employees"
+msgstr ""
+
+#. module: hr_payroll
+#: report:paylip.details:0 report:payslip:0
+msgid "Bank Account"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,sequence:0 help:hr.salary.rule,sequence:0
+msgid "Use to arrange calculation sequence"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,condition_range:0
+#: help:hr.salary.rule,condition_range:0
+msgid ""
+"This will be used to compute the % fields values; in general it is on basic, "
+"but you can also use categories code fields in lowercase as a variable names "
+"(hra, ma, lta, etc.) and the variable basic."
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.contract,schedule_pay:0
+msgid "Annually"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip,input_line_ids:0
+msgid "Payslip Inputs"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,salary_rule_id:0
+msgid "Rule"
+msgstr ""
+
+#. module: hr_payroll
+#: model:ir.actions.act_window,name:hr_payroll.action_hr_salary_rule_category_tree_view
+#: model:ir.ui.menu,name:hr_payroll.menu_hr_salary_rule_category_tree_view
+msgid "Salary Rule Categories Hierarchy"
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0 field:hr.payslip.line,total:0
+#: report:paylip.details:0 report:payslip:0
+msgid "Total"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.line,appears_on_payslip:0
+#: help:hr.salary.rule,appears_on_payslip:0
+msgid "Used for the display of rule on payslip"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.line:0
+msgid "Search Payslip Lines"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip:0
+msgid "Details By Salary Rule Category"
+msgstr ""
+
+#. module: hr_payroll
+#: help:hr.payslip.input,code:0 help:hr.payslip.worked_days,code:0
+#: help:hr.rule.input,code:0
+msgid "The code that can be used in the salary rules"
+msgstr ""
+
+#. module: hr_payroll
+#: view:hr.payslip.run:0
+#: model:ir.actions.act_window,name:hr_payroll.action_hr_payslip_by_employees
+msgid "Generate Payslips"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.contract,schedule_pay:0
+msgid "Bi-weekly"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.employee,total_wage:0
+msgid "Total Basic Salary"
+msgstr ""
+
+#. module: hr_payroll
+#: selection:hr.payslip.line,condition_select:0
+#: selection:hr.salary.rule,condition_select:0
+msgid "Always True"
+msgstr ""
+
+#. module: hr_payroll
+#: report:contribution.register.lines:0
+msgid "PaySlip Name"
+msgstr ""
+
+#. module: hr_payroll
+#: field:hr.payslip.line,condition_range:0
+#: field:hr.salary.rule,condition_range:0
+msgid "Range Based on"
+msgstr ""
diff --git a/addons/hr_payroll/res_config.py b/addons/hr_payroll/res_config.py
index d1e33173f77..c39295dd925 100644
--- a/addons/hr_payroll/res_config.py
+++ b/addons/hr_payroll/res_config.py
@@ -24,6 +24,6 @@ from osv import osv, fields
class human_resources_configuration(osv.osv_memory):
_inherit = 'hr.config.settings'
_columns = {
- 'module_hr_payroll_account': fields.boolean('Manage Account Payroll',
+ 'module_hr_payroll_account': fields.boolean('link your payroll to accounting system',
help ="""Create Journal Entries from Payslips"""),
}
diff --git a/addons/hr_payroll/res_config_view.xml b/addons/hr_payroll/res_config_view.xml
index c62281892e8..23b4adde536 100644
--- a/addons/hr_payroll/res_config_view.xml
+++ b/addons/hr_payroll/res_config_view.xml
@@ -7,9 +7,11 @@
<field name="type">form</field>
<field name="inherit_id" ref="hr.view_human_resources_configuration"/>
<field name="arch" type="xml">
- <!-- put after the element <div><field name="module_hr_payroll" class="oe_inline"/> ...</div> -->
- <xpath expr="//group[@name='left_column']" position="inside">
- <field name="module_hr_payroll_account"/>
+ <xpath expr="//div[@name='hr_payroll']" position="after">
+ <div>
+ <field name="module_hr_payroll_account" class="oe_inline"/>
+ <label for="module_hr_payroll_account"/>
+ </div>
</xpath>
</field>
</record>
diff --git a/addons/hr_payroll_account/hr_payroll_account_view.xml b/addons/hr_payroll_account/hr_payroll_account_view.xml
index 9e3aab3ecb6..d481ae3cdde 100644
--- a/addons/hr_payroll_account/hr_payroll_account_view.xml
+++ b/addons/hr_payroll_account/hr_payroll_account_view.xml
@@ -62,8 +62,7 @@
<field name="inherit_id" ref="hr_payroll.hr_payslip_run_filter"/>
<field name="arch" type="xml">
<filter name='done_filter' position="after">
- <separator orientation="vertical"/>
- <field name="journal_id" widget="selection"/>
+ <field name="journal_id"/>
</filter>
</field>
</record>
diff --git a/addons/hr_recruitment/__openerp__.py b/addons/hr_recruitment/__openerp__.py
index fe6c86c684d..0de2eb5c94e 100644
--- a/addons/hr_recruitment/__openerp__.py
+++ b/addons/hr_recruitment/__openerp__.py
@@ -24,7 +24,7 @@
'version': '1.0',
'category': 'Human Resources',
"sequence": 24,
- "summary": "Job Descriptions, Recruitment Process",
+ "summary": "Recruitment Process, Job Descriptions",
'description': """
Manages job positions and the recruitment process.
==================================================
diff --git a/addons/hr_recruitment/hr_recruitment_data.xml b/addons/hr_recruitment/hr_recruitment_data.xml
index 2250445f871..318a105286c 100644
--- a/addons/hr_recruitment/hr_recruitment_data.xml
+++ b/addons/hr_recruitment/hr_recruitment_data.xml
@@ -6,14 +6,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Recruitment Process has been installed</value>
- <value>
- Manage job positions and the recruitment process in your company.
- This module is integrated with the module Survey to help you to
- define interviews for different jobs.
+ <value>Manage job positions and the recruitment process in your company. This module is integrated with the module Survey to help you to define interviews for different jobs.
- You can automatically create application records from an email
- gateway, that you can configure in the Human Resources Settings.
- </value>
+You can automatically create application records from an email gateway, that you can configure in the Human Resources Settings.</value>
</function>
<!-- Meeting Types (for interview meetings) -->
diff --git a/addons/hr_recruitment/hr_recruitment_menu.xml b/addons/hr_recruitment/hr_recruitment_menu.xml
index 3f21ceacc38..dbd4335d730 100644
--- a/addons/hr_recruitment/hr_recruitment_menu.xml
+++ b/addons/hr_recruitment/hr_recruitment_menu.xml
@@ -9,7 +9,20 @@
<field name="view_mode">kanban,tree,form,graph,calendar</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_crm_case_jobs_filter"/>
- <field name="help">From this menu you can track applicants in the recruitment process and manage all operations: meetings, interviews, phone calls, etc. If you setup the email gateway, applicants and their attached CV are created automatically when an email is sent to jobs@yourcompany.com. If you install the document management modules, all documents (CV and motivation letters) are indexed automatically, so that you can easily search through their content.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new job applicant.
+ </p><p>
+ OpenERP helps you track applicants in the recruitment
+ process and follow up all operations: meetings, interviews, etc.
+ </p><p>
+ If you setup the email gateway, applicants and their attached
+ CV are created automatically when an email is sent to
+ jobs@yourcompany.com. If you install the document management
+ modules, all resumes are indexed automatically, so that you can
+ easily search through their content.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="action_hr_sec_kanban_view_act_job">
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index 4617011c2f9..4c28e711a79 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -1,37 +1,40 @@
<?xml version="1.0"?>
<openerp>
<data>
- <menuitem
- id="menu_hr_recruitment_recruitment"
- name="Recruitment"
- parent="hr.menu_hr_configuration"
- sequence="40" />
- <act_window
- id="act_hr_applicant_to_meeting"
- name="Meetings"
- res_model="crm.meeting"
- src_model="hr.applicant"
- view_mode="tree,form,calendar,graph"
- view_type="form"/>
+ <menuitem name="Recruitment"
+ id="menu_hr_recruitment_recruitment"
+ parent="hr.menu_hr_configuration"
+ sequence="40"/>
- # ------------------------------------------------------
- # Stage
- # ------------------------------------------------------
+ <act_window
+ id="act_hr_applicant_to_meeting"
+ name="Meetings"
+ res_model="crm.meeting"
+ src_model="hr.applicant"
+ view_mode="tree,form,calendar,graph"
+ view_type="form"/>
+
+ <!-- Stage -->
<record id="hr_job_stage_act" model="ir.actions.act_window">
<field name="name">Recruitment / Applicants Stages</field>
<field name="res_model">hr.recruitment.stage</field>
<field name="view_type">form</field>
<field name="domain">[]</field>
<field name="context">{}</field>
- <field name="help">Define here your stages of the recruitment process, for example: qualification call, first interview, second interview, refused, hired.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new stage in the recruitment process.
+ </p><p>
+ Define here your stages of the recruitment process, for example:
+ qualification call, first interview, second interview, refused,
+ hired.
+ </p>
+ </field>
</record>
- # ------------------------------------------------------
- # Jobs
- # ------------------------------------------------------
-
+ <!-- Jobs -->
<!-- Applicant Read/Unread actions -->
<record id="actions_server_applicant_unread" model="ir.actions.server">
<field name="name">Mark unread</field>
@@ -44,9 +47,9 @@
<record id="action_applicant_unread" model="ir.values">
<field name="name">action_project_unread</field>
<field name="action_id" ref="actions_server_applicant_unread"/>
- <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_applicant_unread'))" />
+ <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_applicant_unread'))"/>
<field name="key">action</field>
- <field name="model_id" ref="model_hr_applicant" />
+ <field name="model_id" ref="model_hr_applicant"/>
<field name="model">hr.applicant</field>
<field name="key2">client_action_multi</field>
</record>
@@ -62,9 +65,9 @@
<record id="action_applicant_read" model="ir.values">
<field name="name">action_project_read</field>
<field name="action_id" ref="actions_server_applicant_read"/>
- <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_applicant_read'))" />
+ <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_applicant_read'))"/>
<field name="key">action</field>
- <field name="model_id" ref="model_hr_applicant" />
+ <field name="model_id" ref="model_hr_applicant"/>
<field name="model">hr.applicant</field>
<field name="key2">client_action_multi</field>
</record>
@@ -175,12 +178,12 @@
<group string="Contract">
<label for="salary_expected"/>
<div>
- <field name="salary_expected" class="oe_inline"/>,
+ <field name="salary_expected" class="oe_inline"/>,
<field name="salary_expected_extra" class="oe_inline" placeholder="Extra advantages..."/>
</div>
<label for="salary_proposed"/>
<div>
- <field name="salary_proposed" class="oe_inline"/>,
+ <field name="salary_proposed" class="oe_inline"/>,
<field name="salary_proposed_extra" class="oe_inline" placeholder="Extra advantages..."/>
</div>
</group>
@@ -214,45 +217,29 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Jobs">
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="New" name="filter_new"/>
- <field name="partner_name" filter_domain="['|','|',('name','ilike',self),('partner_name','ilike',self),('email_from','ilike',self)]" string="Subject / Applicant"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="New"
- domain="[('state','=','draft')]"
- help="All Initial Jobs"/>
- <filter icon="terp-camera_test" string="In Progress"
- domain="[('state','=','open')]"
- help="Open Jobs"/>
- <filter icon="terp-gtk-media-pause" string="Pending"
- domain="[('state','=','pending')]"
- help="Pending Jobs"/>
- <filter string="Unassigned Recruitments" domain="[('user_id','=',False)]" help="Unassigned Recruitments" icon="terp-personal-"/>
- <filter icon="terp-gtk-jump-to-ltr" string="Next Actions"
- context="{'invisible_next_action':False, 'invisible_next_date':False}"
- domain="[('date_action','&lt;&gt;',False)]"
- help="Filter and view on next actions and date"/>
- <separator orientation="vertical"/>
- <field name="job_id" widget="selection"/>
- <field name="user_id"/>
- <newline/>
+ <field name="partner_name" filter_domain="['|','|',('name','ilike',self),('partner_name','ilike',self),('email_from','ilike',self)]" string="Subject / Applicant"/>
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
+ <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]" help="All Initial Jobs"/>
+ <filter icon="terp-camera_test" string="In Progress" domain="[('state','=','open')]" help="Open Jobs"/>
+ <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Jobs"/>
+ <separator/>
+ <filter string="Unassigned Recruitments" domain="[('user_id','=',False)]" help="Unassigned Recruitments" icon="terp-personal-"/>
+ <separator/>
+ <filter icon="terp-gtk-jump-to-ltr" string="Next Actions" context="{'invisible_next_action':False, 'invisible_next_date':False}"
+ domain="[('date_action','&lt;&gt;',False)]" help="Filter and view on next actions and date"/>
+ <field name="job_id"/>
+ <field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
- <separator orientation="vertical"/>
<filter string="Job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/>
<filter string="Degree" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'type_id'}"/>
<filter string="Availability" icon="terp-camera_test" domain="[]" context="{'group_by':'availability'}"/>
- <separator orientation="vertical"/>
<filter string="Appreciation" icon="terp-face-plain" domain="[]" context="{'group_by':'priority'}"/>
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<filter string="Source" icon="terp-face-plain" domain="[]" context="{'group_by':'source_id'}"/>
- <separator orientation="vertical" groups="base.group_no_one"/>
<filter string="Creation Date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
</group>
</search>
@@ -260,7 +247,6 @@
</record>
<!-- CRM Lead Calendar View -->
-
<record model="ir.ui.view" id="hr_applicant_calendar_view">
<field name="name">Hr Applicants Calendar</field>
<field name="model">hr.applicant</field>
@@ -269,15 +255,14 @@
<field name="arch" type="xml">
<calendar string="Applicants"
date_start="date_action" color="user_id">
- <field name="name" />
- <field name="partner_name" />
+ <field name="name"/>
+ <field name="partner_name"/>
<field name="title_action"/>
</calendar>
</field>
</record>
- <!-- hr Applicant Kanban View -->
-
+ <!-- Hr Applicant Kanban View -->
<record model="ir.ui.view" id="hr_kanban_view_applicant">
<field name="name">Hr Applicants kanban</field>
<field name="model">hr.applicant</field>
@@ -346,10 +331,7 @@
</field>
</record>
- # ------------------------------------------------------
- # HR Job
- # ------------------------------------------------------
-
+ <!-- HR Job -->
<record id="hr_job_survey" model="ir.ui.view">
<field name="name">hr.job.form1</field>
<field name="model">hr.job</field>
@@ -357,20 +339,19 @@
<field name="inherit_id" ref="hr.view_hr_job_form"/>
<field name="arch" type="xml">
<field name="no_of_recruitment" version="7.0" position="after">
- <label for="survey_id" />
- <div>
- <field name="survey_id" class="oe_inline"/>
- <button class="oe_inline"
- string="Interview" icon="gtk-print"
- name="action_print_survey" type="object"
- attrs="{'invisible':[('survey_id','=',False)]}"/>
- </div>
+ <label for="survey_id" groups="base.group_user"/>
+ <div groups="base.group_user">
+ <field name="survey_id" class="oe_inline"/>
+ <button class="oe_inline"
+ string="Interview" icon="gtk-print"
+ name="action_print_survey" type="object"
+ attrs="{'invisible':[('survey_id','=',False)]}"/>
+ </div>
</field>
</field>
</record>
-<!-- Stage Tree View -->
-
+ <!-- Stage Tree View -->
<record model="ir.ui.view" id="hr_recruitment_stage_tree">
<field name="name">hr.recruitment.stage.tree</field>
<field name="model">hr.recruitment.stage</field>
@@ -385,8 +366,7 @@
</field>
</record>
-<!-- Stage Form View -->
-
+ <!-- Stage Form View -->
<record model="ir.ui.view" id="hr_recruitment_stage_form">
<field name="name">hr.recruitment.stage.form</field>
<field name="model">hr.recruitment.stage</field>
@@ -405,14 +385,20 @@
</field>
</record>
-<!-- Stage Action -->
-
+ <!-- Stage Action -->
<record id="hr_recruitment_stage_act" model="ir.actions.act_window">
<field name="name">Stages</field>
<field name="res_model">hr.recruitment.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="hr_recruitment_stage_tree"/>
- <field name="help"> Check if the following stages are matching your recruitment process. Don't forget to specify the department if your recruitment process is different according to the job position.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new stage in the recruitment process.
+ </p><p>
+ Don't forget to specify the department if your recruitment process
+ is different according to the job position.
+ </p>
+ </field>
</record>
<menuitem
@@ -422,8 +408,7 @@
action="hr_recruitment_stage_act"
sequence="1" groups="base.group_no_one"/>
-<!-- Degree Tree View -->
-
+ <!-- Degree Tree View -->
<record model="ir.ui.view" id="hr_recruitment_degree_tree">
<field name="name">hr.recruitment.degree.tree</field>
<field name="model">hr.recruitment.degree</field>
@@ -436,8 +421,7 @@
</field>
</record>
-<!-- Degree Form View -->
-
+ <!-- Degree Form View -->
<record model="ir.ui.view" id="hr_recruitment_degree_form">
<field name="name">hr.recruitment.degree.form</field>
<field name="model">hr.recruitment.degree</field>
@@ -452,8 +436,7 @@
</field>
</record>
-<!-- Degree Action -->
-
+ <!-- Degree Action -->
<record id="hr_recruitment_degree_action" model="ir.actions.act_window">
<field name="name">Degree</field>
<field name="res_model">hr.recruitment.degree</field>
@@ -468,8 +451,7 @@
action="hr_recruitment_degree_action"
sequence="5" groups="base.group_no_one"/>
-<!-- Source Tree View -->
-
+ <!-- Source Tree View -->
<record model="ir.ui.view" id="hr_recruitment_source_tree">
<field name="name">hr.recruitment.source.tree</field>
<field name="model">hr.recruitment.source</field>
@@ -496,11 +478,12 @@
<field name="view_type">form</field>
</record>
- <menuitem
- id="menu_hr_recruitment_source"
- parent="menu_hr_recruitment_recruitment"
- action="hr_recruitment_source_action"
- sequence="10" groups="base.group_no_one"/>
+ <menuitem
+ id="menu_hr_recruitment_source"
+ parent="menu_hr_recruitment_recruitment"
+ action="hr_recruitment_source_action"
+ groups="base.group_no_one"
+ sequence="10"/>
</data>
</openerp>
diff --git a/addons/hr_recruitment/report/hr_recruitment_report_view.xml b/addons/hr_recruitment/report/hr_recruitment_report_view.xml
index 9d81d39f240..afb87aba4ff 100644
--- a/addons/hr_recruitment/report/hr_recruitment_report_view.xml
+++ b/addons/hr_recruitment/report/hr_recruitment_report_view.xml
@@ -49,55 +49,32 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Recruitment Analysis">
- <group>
- <filter string="New"
- icon="terp-document-new"
- domain="[('state','=','draft')]"
- help = "Draft recruitment"/>
- <filter string="In progress"
- icon="terp-camera_test"
- domain="[('state', '=' ,'open')]"
- help = "In progress recruitment"/>
- <filter string="Pending"
- icon="terp-gtk-media-pause"
- domain="[('state','=','pending')]"
- help = "Pending recruitment"/>
- <filter string="Hired"
- icon="terp-camera_test"
- domain="[('state','=','done')]"
- help = "Hired employees"/>
- <filter icon="terp-personal"
- string="My Recruitment"
- help="My Recruitment"
- domain="[('user_id','=',uid)]"/>
- <separator orientation="vertical"/>
- <field name="job_id"/>
- <field name="department_id" widget="selection"/>
- <field name="user_id" string="Responsible"/>
- </group>
- <newline/>
+ <filter string="New" icon="terp-document-new" domain="[('state','=','draft')]" help = "Draft recruitment"/>
+ <filter string="In progress" icon="terp-camera_test" domain="[('state', '=' ,'open')]" help = "In progress recruitment"/>
+ <filter string="Pending" icon="terp-gtk-media-pause" domain="[('state','=','pending')]" help = "Pending recruitment"/>
+ <filter string="Hired" icon="terp-camera_test" domain="[('state','=','done')]" help = "Hired employees"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Recruitment" help="My Recruitment" domain="[('user_id','=',uid)]"/>
+ <field name="job_id"/>
+ <field name="department_id"/>
+ <field name="user_id" string="Responsible"/>
<group expand="0" string="Extended Filters...">
<!--field name="job_id"/-->
<field name="priority"/>
- <field name="stage_id" widget="selection"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
+ <field name="stage_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<field name="date" string="Creation Date"/>
<field name="date_closed"/>
</group>
- <newline/>
<group expand="1" string="Group By ...">
<filter string="Responsible" name='User' icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" />
- <separator orientation="vertical"/>
- <filter string="Jobs" name="job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/>
+ <filter string="Jobs" name="job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/>
<filter string="Department" name="department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
- <separator orientation="vertical"/>
<filter string="Degree" name="degree" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'type_id'}"/>
- <separator orientation="vertical"/>
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}" />
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Day" name = "day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Creation Date"/>
<filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Creation Date"/>
<filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'year'}" help="Creation Date"/>
diff --git a/addons/hr_recruitment/res_config.py b/addons/hr_recruitment/res_config.py
index 4818d280879..bf247f303f1 100644
--- a/addons/hr_recruitment/res_config.py
+++ b/addons/hr_recruitment/res_config.py
@@ -26,10 +26,10 @@ class hr_applicant_settings(osv.osv_memory):
_inherit = ['hr.config.settings', 'fetchmail.config.settings']
_columns = {
- 'module_document_ftp': fields.boolean('Automatic Indexation of Resumes',
+ 'module_document_ftp': fields.boolean('allow the automatic indexation of resumes',
help="""Manage your CV's and motivation letter related to all applicants.
This installs the module document_ftp. This will install the knowledge management module in order to allow you to search using specific keywords through the content of all documents (PDF, .DOCx...)"""),
- 'fetchmail_applicants': fields.boolean('Create Applicants from Incoming Mails',
+ 'fetchmail_applicants': fields.boolean('create applicants from an incoming email account',
fetchmail_model='hr.applicant', fetchmail_name='Incoming HR Applications',
help ="""Allow applicants to send their job application to an email address (jobs@mycompany.com),
and create automatically application documents in the system."""),
diff --git a/addons/hr_recruitment/res_config_view.xml b/addons/hr_recruitment/res_config_view.xml
index 60d6d8d152d..950d998b92b 100644
--- a/addons/hr_recruitment/res_config_view.xml
+++ b/addons/hr_recruitment/res_config_view.xml
@@ -1,22 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
+ <data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="todo_open_hr_menu" model="ir.actions.todo">
+ <field name="action_id" ref="hr.action_client_hr_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+ </data>
<data>
+ <record id="hr.todo_open_hr_menu" model="ir.actions.todo">
+ <field name="state">done</field>
+ </record>
+
<record id="view_hr_apll_config_settings" model="ir.ui.view">
<field name="name">hr settings for recruitment</field>
<field name="model">hr.config.settings</field>
<field name="type">form</field>
<field name="inherit_id" ref="hr.view_human_resources_configuration"/>
<field name="arch" type="xml">
- <group name="right_column" position="inside">
- <separator string="Recruitment" colspan="2"/>
- <field name="module_document_ftp"/>
- <label for="fetchmail_applicants"/>
+ <div name="recruitment" position="inside">
<div>
- <field name="fetchmail_applicants"/>
+ <field name="fetchmail_applicants" class="oe_inline"/>
+ <label for="fetchmail_applicants"/>
<button name="configure_fetchmail_applicants" type="object" string="Configure" icon="gtk-go-forward"
- attrs="{'invisible': [('fetchmail_applicants','=',False)]}"/>
+ attrs="{'invisible': [('fetchmail_applicants','=',False)]}" class="oe_link"/>
+ </div>
+ <div>
+ <field name="module_document_ftp" class="oe_inline"/>
+ <label for="module_document_ftp"/>
</div>
- </group>
+ </div>
</field>
</record>
</data>
diff --git a/addons/hr_timesheet/hr_timesheet_view.xml b/addons/hr_timesheet/hr_timesheet_view.xml
index 7875aff12a0..895474e9d7f 100644
--- a/addons/hr_timesheet/hr_timesheet_view.xml
+++ b/addons/hr_timesheet/hr_timesheet_view.xml
@@ -68,24 +68,17 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Timesheet">
- <group>
- <field name="date"/>
- <separator orientation="vertical"/>
- <field name="user_id"/>
- <field name="account_id"/>
- </group>
- <newline/>
+ <field name="date"/>
+ <field name="user_id"/>
+ <field name="account_id"/>
<group expand="0" string="Group By...">
<filter string="Users" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Analytic account" icon="terp-folder-green" domain="[]" context="{'group_by':'account_id'}"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
- <separator orientation="vertical"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
-
</record>
<record id="account_analytic_account_timesheet_form" model="ir.ui.view">
@@ -111,7 +104,14 @@
<field name="view_mode">tree,form</field>
<field name="context">{"search_default_today":1}</field>
<field name="search_view_id" ref="hr_timesheet_line_search"/>
- <field name="help">Through this menu you can register and follow your workings hours by project every day.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to your timesheets.
+ </p><p>
+ Through this menu you can register and follow your workings
+ hours by project every day.
+ </p>
+ </field>
</record>
<menuitem id="menu_hr_working_hours" parent="hr_attendance.menu_hr_time_tracking" action="act_hr_timesheet_line_evry1_all_form"/>
diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py
index 54257f5efba..a4f08a854ec 100644
--- a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py
+++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py
@@ -126,6 +126,25 @@ class account_analytic_line(osv.osv):
'to_invoice': fields.many2one('hr_timesheet_invoice.factor', 'Type of Invoicing', help="It allows to set the discount while making invoice"),
}
+ def _default_journal(self, cr, uid, context=None):
+ proxy = self.pool.get('hr.employee')
+ record_ids = proxy.search(cr, uid, [('user_id', '=', uid)], context=context)
+ employee = proxy.browse(cr, uid, record_ids[0], context=context)
+ return employee.journal_id and employee.journal_id.id or False
+
+ def _default_general_account(self, cr, uid, context=None):
+ proxy = self.pool.get('hr.employee')
+ record_ids = proxy.search(cr, uid, [('user_id', '=', uid)], context=context)
+ employee = proxy.browse(cr, uid, record_ids[0], context=context)
+ if employee.product_id and employee.product_id.property_account_income:
+ return employee.product_id.property_account_income.id
+ return False
+
+ _defaults = {
+ 'journal_id' : _default_journal,
+ 'general_account_id' : _default_general_account,
+ }
+
def write(self, cr, uid, ids, vals, context=None):
self._check_inv(cr, uid, ids, vals)
return super(account_analytic_line,self).write(cr, uid, ids, vals,
diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml b/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml
index 81dc1e3c9cf..3ea1f23a7a8 100644
--- a/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml
+++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice_view.xml
@@ -89,11 +89,11 @@
<field name="type">search</field>
<field name="inherit_id" ref="account.view_account_analytic_line_filter"/>
<field name="arch" type="xml">
- <field name="date" position="before">
+ <xpath expr="//filter[@name='others']" position="after">
+ <separator/>
<filter name="to_invoice" string="To Invoice" context="{'to_invoice': 1}" domain="[('invoice_id','=',False), ('to_invoice','&lt;&gt;',False)]" icon="terp-dolar"/>
<filter name="invoiced" string="Invoiced" domain="[('invoice_id','!=',False), ('to_invoice','&lt;&gt;',False)]" icon="terp-dolar"/>
- <separator orientation="vertical"/>
- </field>
+ </xpath>
</field>
</record>
@@ -130,7 +130,15 @@
<field name="domain">[]</field>
<field name="context">{'search_default_to_invoice': 1}</field>
<field name="search_view_id" ref="account.view_account_analytic_line_filter"/>
- <field name="help">This list shows you every task you can invoice to the customer. Select the lines and click the Action button to generate the invoices automatically.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add some tasks work to be invoiced.
+ </p><p>
+ This list shows every task you can invoice to the customer.
+ Select the lines and invoice from the '<i>more...</i>' contextual
+ menu to generate invoices automatically.
+ </p>
+ </field>
</record>
<menuitem
action="action_hr_analytic_timesheet_open_tree"
@@ -144,9 +152,7 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Type of invoicing">
- <group>
- <field name="name" string="Type of invoicing"/>
- </group>
+ <field name="name" string="Type of invoicing"/>
</search>
</field>
</record>
@@ -183,7 +189,17 @@
<field name="view_type">form</field>
<field name="view_id" ref="view_hr_timesheet_invoice_factor_tree"/>
<field name="search_view_id" ref="view_hr_timesheet_invoice_factor_search"/>
- <field name="help">OpenERP allows you to create default invoicing types. You might have to regularly assign discounts because of a specific contract or agreement with a customer. From this menu, you can create additional types of invoicing to speed up your invoicing.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new type of invoicing.
+ </p><p>
+ OpenERP allows you to create default invoicing types. You might
+ have to regularly assign discounts because of a specific
+ contract or agreement with a customer. From this menu, you can
+ create additional types of invoicing to speed up your
+ invoicing.
+ </p>
+ </field>
</record>
<menuitem
action="action_hr_timesheet_invoice_factor_form"
diff --git a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml
index 59b4ceb67a3..5048f2c9193 100644
--- a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml
+++ b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml
@@ -46,29 +46,19 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Timesheet by user">
- <group>
- <filter icon="terp-personal"
- string="Non Assigned timesheets to users"
- help="Non Assigned timesheets to users"
- domain="[('user_id','=',False)]"/>
- <separator orientation="vertical"/>
- <field name="user_id" widget="selection"/>
- <field name="account_id" groups="analytic.group_analytic_accounting"/>
- <field name="product_id"/>
- </group>
- <newline/>
+ <filter icon="terp-personal" string="Non Assigned timesheets to users" help="Non Assigned timesheets to users" domain="[('user_id','=',False)]"/>
+ <field name="user_id"/>
+ <field name="account_id" groups="analytic.group_analytic_accounting"/>
+ <field name="product_id"/>
<group expand="0" string="Extended Filters...">
<field name="date"/>
- <separator orientation="vertical"/>
- <field name="invoice_id" widget="selection"/>
+ <field name="invoice_id"/>
</group>
<group expand="1" string="Group By...">
<filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Account" icon="terp-folder-orange" context="{'group_by':'account_id'}"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<filter string="Invoice" icon="terp-dolar" context="{'group_by':'invoice_id'}"/>
- <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':'name'}"/>
@@ -149,12 +139,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Timesheet by user">
- <group>
- <field name="name" string="Timesheet by users"/>
- <separator orientation="vertical"/>
- <field name="user_id"/>
- <field name="month"/>
- </group>
+ <field name="name" string="Timesheet by users"/>
+ <field name="month"/>
+ <field name="user_id"/>
</search>
</field>
</record>
@@ -201,7 +188,6 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Timesheet by invoice">
- <separator orientation="vertical"/>
<field name="account_id" groups="analytic.group_analytic_accounting"/>
<field name="manager_id"/>
<field name="user_id"/>
@@ -282,13 +268,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Daily timesheet by account">
- <group>
- <field name="name" string="Timesheet by account"/>
- <separator orientation="vertical"/>
- <field name="account_id" groups="analytic.group_analytic_accounting"/>
- <field name="user_id"/>
- <field name="month"/>
- </group>
+ <field name="name" string="Timesheet by account"/>
+ <field name="month"/>
+ <field name="account_id" groups="analytic.group_analytic_accounting"/>
+ <field name="user_id"/>
</search>
</field>
</record>
@@ -351,13 +334,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Timesheet by account">
- <group>
- <field name="name" string="Timesheet by account"/>
- <separator orientation="vertical"/>
- <field name="account_id" groups="analytic.group_analytic_accounting"/>
- <field name="user_id"/>
- <field name="month"/>
- </group>
+ <field name="name" string="Timesheet by account"/>
+ <field name="month"/>
+ <field name="account_id" groups="analytic.group_analytic_accounting"/>
+ <field name="user_id"/>
</search>
</field>
</record>
diff --git a/addons/hr_timesheet_invoice/report/report_analytic_view.xml b/addons/hr_timesheet_invoice/report/report_analytic_view.xml
index c7d0c6b7c25..6dbbb85aea9 100644
--- a/addons/hr_timesheet_invoice/report/report_analytic_view.xml
+++ b/addons/hr_timesheet_invoice/report/report_analytic_view.xml
@@ -113,13 +113,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Analytic Lines to Invoice">
- <group>
- <field name="name" string="Analytic Lines"/>
- <separator orientation="vertical"/>
- <field name="product_id"/>
- <field name="account_id" groups="analytic.group_analytic_accounting"/>
- <field name="month"/>
- </group>
+ <field name="name" string="Analytic Lines"/>
+ <field name="month"/>
+ <field name="product_id"/>
+ <field name="account_id" groups="analytic.group_analytic_accounting"/>
</search>
</field>
</record>
diff --git a/addons/hr_timesheet_sheet/__openerp__.py b/addons/hr_timesheet_sheet/__openerp__.py
index cc788d95a83..1acaa5780b8 100644
--- a/addons/hr_timesheet_sheet/__openerp__.py
+++ b/addons/hr_timesheet_sheet/__openerp__.py
@@ -21,11 +21,11 @@
{
- 'name': 'Timesheets Validation',
+ 'name': 'Timesheets',
'version': '1.0',
'category': 'Human Resources',
"sequence": 16,
- "summary": "Attendances, Activities, Timing",
+ "summary": "Timesheets, Attendances, Activities",
'description': """
This module helps you to easily encode and validate timesheet and attendances within the same view.
===================================================================================================
diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_data.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_data.xml
index c5839f886d3..f9c9070ddbf 100644
--- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_data.xml
+++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_data.xml
@@ -6,9 +6,7 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Timesheets Validation has been installed</value>
- <value>From the top menu "Human Resources", encode and validate
- timesheets and attendances.
- </value>
+ <value>From the top menu "Human Resources", encode and validate timesheets and attendances.</value>
</function>
<record id="ir_actions_server_timsheet_sheet" model="ir.actions.server">
diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
index dbc9e1d6dac..aa81b715e55 100644
--- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
+++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
@@ -23,11 +23,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Account">
- <group>
- <field name="sheet_id" />
- <field name="name" groups="analytic.group_analytic_accounting"/>
- <field name="invoice_rate"/>
- </group>
+ <field name="name" groups="analytic.group_analytic_accounting"/>
+ <field name="invoice_rate"/>
+ <field name="sheet_id" />
</search>
</field>
</record>
@@ -158,16 +156,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Timesheet">
- <group>
- <field name="date_from"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="In Draft" domain="[('state','in',('draft', 'new'))]" help="Unvalidated Timesheets"/>
- <filter icon="terp-camera_test" string="To Approve" domain="[('state','=','confirm')]" help="Confirmed Timesheets"/>
- <separator orientation="vertical"/>
- <field name="employee_id"/>
- <field name="department_id" widget="selection"/>
- </group>
- <newline/>
+ <field name="date_from"/>
+ <filter icon="terp-document-new" string="In Draft" domain="[('state','in',('draft', 'new'))]" help="Unvalidated Timesheets"/>
+ <filter icon="terp-camera_test" string="To Approve" domain="[('state','=','confirm')]" help="Confirmed Timesheets"/>
+ <field name="employee_id"/>
+ <field name="department_id"/>
<group expand="0" string="Group By...">
<filter string="Employees" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
<filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
@@ -184,7 +177,18 @@
<field name="view_id" eval="False"/>
<field name="context">{'search_default_my_timesheet':1}</field>
<field name="search_view_id" ref="view_hr_timesheet_sheet_filter"/>
- <field name="help">Check your timesheets for a specific period. You can also encode time spent on a project (i.e. an analytic account) thus generating costs in the analytic account concerned.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to go to your timesheet.
+ </p><p>
+ You must record timesheets every day and confirm at the end
+ of the week. Once the timesheet is confirmed, it his sent to
+ the manager for validation.
+ </p><p>
+ Timesheets can also be invoiced to customers, depending on the
+ configuration of the project.
+ </p>
+ </field>
</record>
<menuitem action="act_hr_timesheet_sheet_form" id="menu_act_hr_timesheet_sheet_form" parent="hr_attendance.menu_hr_time_tracking"
diff --git a/addons/hr_timesheet_sheet/report/hr_timesheet_report_view.xml b/addons/hr_timesheet_sheet/report/hr_timesheet_report_view.xml
index fd5d6b0b6d1..2c66c6cde56 100644
--- a/addons/hr_timesheet_sheet/report/hr_timesheet_report_view.xml
+++ b/addons/hr_timesheet_sheet/report/hr_timesheet_report_view.xml
@@ -40,29 +40,21 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Timesheet">
- <group>
- <field name="account_id" groups="analytic.group_analytic_accounting"/>
- <field name="user_id"/>
- </group>
- <newline/>
+ <field name="account_id" groups="analytic.group_analytic_accounting"/>
+ <field name="user_id"/>
<group expand="0" string="Extended Filters...">
<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"/>
- <newline/>
+ <field name="company_id" groups="base.group_multi_company"/>
<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" groups="analytic.group_analytic_accounting"/>
<filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'account_id'}" groups="analytic.group_analytic_accounting"/>
<filter string="General Account" icon="terp-folder-orange" context="{'group_by':'general_account_id'}"/>
<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'}" help="Group by day of date"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of date"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of date"/>
@@ -77,7 +69,14 @@
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_year':1,'search_default_month':1,'search_default_group_user_id':1,'group_by_no_leaf':1,'group_by':[]}</field>
- <field name="help">This report performs analysis on timesheets created by your human resources in the system. It allows you to have a full overview of entries done by your employees. You can group them by specific selection criteria thanks to the search tool.</field>
+ <field name="help" type="html">
+ <p>
+ This report performs analysis on timesheets created by your
+ human resources in the system. It allows you to have a full
+ overview of entries done by your employees. You can group them
+ by specific selection criteria thanks to the search tool.
+ </p>
+ </field>
</record>
<menuitem
action="action_hr_timesheet_report_stat_all"
diff --git a/addons/hr_timesheet_sheet/report/timesheet_report_view.xml b/addons/hr_timesheet_sheet/report/timesheet_report_view.xml
index 613f92d3cf6..9956ed2655e 100644
--- a/addons/hr_timesheet_sheet/report/timesheet_report_view.xml
+++ b/addons/hr_timesheet_sheet/report/timesheet_report_view.xml
@@ -48,51 +48,30 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Timesheet">
- <group>
- <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/>
+ <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')]"/>
+ <field name="account_id"/>
+ <field name="user_id" />
<group expand="0" string="Extended Filters...">
<field name="general_account_id"/>
- <field name="to_invoice" widget="selection"/>
- <separator orientation="vertical"/>
+ <field name="to_invoice"/>
<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="department_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<field name="date_current"/>
<field name="date_to"/>
<field name="date_from"/>
</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="Status" 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'}" help="Group by day of date"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of date"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of date"/>
diff --git a/addons/hr_timesheet_sheet/res_config.py b/addons/hr_timesheet_sheet/res_config.py
index 24566d668da..bb4e098e1b3 100644
--- a/addons/hr_timesheet_sheet/res_config.py
+++ b/addons/hr_timesheet_sheet/res_config.py
@@ -26,8 +26,8 @@ class hr_timesheet_settings(osv.osv_memory):
_columns = {
'timesheet_range': fields.selection([('day','Day'),('week','Week'),('month','Month')],
- 'Validate Timesheets Every', help="Periodicity on which you validate your timesheets."),
- 'timesheet_max_difference': fields.float('Timesheet Allowed Difference (Hours)',
+ 'Validate timesheets every', help="Periodicity on which you validate your timesheets."),
+ 'timesheet_max_difference': fields.float('Allow a difference of time between timesheets and attendances of (in hours)',
help="""Allowed difference in hours between the sign in/out and the timesheet
computation for one sheet. Set this to 0 if you do not want any control."""),
}
diff --git a/addons/hr_timesheet_sheet/res_config_view.xml b/addons/hr_timesheet_sheet/res_config_view.xml
index 61ebee2412b..07ad6fb135b 100644
--- a/addons/hr_timesheet_sheet/res_config_view.xml
+++ b/addons/hr_timesheet_sheet/res_config_view.xml
@@ -1,16 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
+ <data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="todo_open_hr_menu" model="ir.actions.todo">
+ <field name="action_id" ref="hr.action_client_hr_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+ </data>
<data>
+ <record id="hr.todo_open_hr_menu" model="ir.actions.todo">
+ <field name="state">done</field>
+ </record>
<record id="view_hr_timehseet_config_settings" model="ir.ui.view">
<field name="name">hr settings for timesheets</field>
<field name="model">hr.config.settings</field>
<field name="type">form</field>
<field name="inherit_id" ref="hr.view_human_resources_configuration"/>
<field name="arch" type="xml">
- <field name="module_hr_timesheet_sheet" position="after">
- <field name="timesheet_range" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)], 'required': [('module_hr_timesheet_sheet','=',True)]}"/>
- <field name="timesheet_max_difference" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)], 'required': [('module_hr_timesheet_sheet','=',True)]}"/>
- </field>
+ <xpath expr="//div[@name='hr_timesheet']" position="after">
+ <div>
+ <label for="timesheet_range" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)]}"/>
+ <field name="timesheet_range" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)], 'required': [('module_hr_timesheet_sheet','=',True)]}" class="oe_inline"/>
+ </div>
+ <div>
+ <label for="timesheet_max_difference" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)]}"/>
+ <field name="timesheet_max_difference" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)], 'required': [('module_hr_timesheet_sheet','=',True)]}" class="oe_inline"/>
+ </div>
+ </xpath>
</field>
</record>
</data>
diff --git a/addons/idea/idea_view.xml b/addons/idea/idea_view.xml
index ec7f0e6d328..4508301ca8c 100644
--- a/addons/idea/idea_view.xml
+++ b/addons/idea/idea_view.xml
@@ -110,22 +110,14 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Ideas">
- <group>
- <field name="name" string="Idea"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="New" domain="[('state','=', 'draft')]" help="New Ideas"/>
- <filter icon="terp-camera_test" string="In Progress" domain="[('state','=', 'open')]" help="Open Ideas"/>
- <filter icon="terp-check" string="Accepted"
- domain="[('state','=','close')]" help="Accepted Ideas" />
- <separator orientation="vertical"/>
- <field name="category_ids"/>
- </group>
- <newline/>
+ <field name="name" string="Idea"/>
+ <filter icon="terp-document-new" string="New" domain="[('state','=', 'draft')]" help="New Ideas"/>
+ <filter icon="terp-camera_test" string="In Progress" domain="[('state','=', 'open')]" help="Open Ideas"/>
+ <filter icon="terp-check" string="Accepted" domain="[('state','=','close')]" help="Accepted Ideas" />
+ <field name="category_ids"/>
<group expand="0" string="Group By...">
<filter icon="terp-personal" string="Creator" help="By Creators" context="{'group_by':'create_uid'}"/>
- <separator orientation="vertical"/>
<filter icon="terp-stock_symbol-selection" string="Category" help="By Idea Category" context="{'group_by':'category_ids'}"/>
- <separator orientation="vertical"/>
<filter icon="terp-stock_effects-object-colorize" string="Status" help="By States" context="{'group_by':'state'}"/>
</group>
</search>
diff --git a/addons/import_base/i18n/pt_BR.po b/addons/import_base/i18n/pt_BR.po
new file mode 100644
index 00000000000..f301b8834ca
--- /dev/null
+++ b/addons/import_base/i18n/pt_BR.po
@@ -0,0 +1,105 @@
+# Brazilian Portuguese translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-08-01 01:59+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-08-02 04:46+0000\n"
+"X-Generator: Launchpad (build 15719)\n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:434
+#, python-format
+msgid "Import failed due to an unexpected error"
+msgstr "A importação falhou devido a um erro inesperado"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:461
+#, python-format
+msgid "started at %s and finished at %s \n"
+msgstr "Início em %s e término em %s \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:448
+#, python-format
+msgid "Import of your data finished at %s"
+msgstr "A Importação de seus dados terminou em %s"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:463
+#, python-format
+msgid ""
+"but failed, in consequence no data were imported to keep database "
+"consistency \n"
+" error : \n"
+msgstr ""
+"mas falhou, por isso nenhum dado foi importado para manter a consistência do "
+"banco de dados \n"
+" erro: \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:477
+#, python-format
+msgid ""
+"The import of data \n"
+" instance name : %s \n"
+msgstr ""
+"A importação de dados \n"
+" nome da instância: %s \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:470
+#, python-format
+msgid "%s has been successfully imported from %s %s, %s \n"
+msgstr "%s foi importada com sucesso de %s %s, %s \n"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:447
+#, python-format
+msgid "Data Import failed at %s due to an unexpected error"
+msgstr "A importação falhou em %s devido a um erro inesperado"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:436
+#, python-format
+msgid "Import finished, notification email sended"
+msgstr "Importação Concluída, o email de notificação foi enviado"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:190
+#, python-format
+msgid "%s is not a valid model name"
+msgstr "%s não é um nome de modelo válido"
+
+#. module: import_base
+#: model:ir.ui.menu,name:import_base.menu_import_crm
+msgid "Import"
+msgstr "Importar"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:467
+#, python-format
+msgid "with no warning"
+msgstr "sem nenhum erro"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:469
+#, python-format
+msgid "with warning : %s"
+msgstr "com avisos: %s"
+
+#. module: import_base
+#: code:addons/import_base/import_framework.py:191
+#, python-format
+msgid " fields imported : "
+msgstr " campos importados: "
diff --git a/addons/knowledge/res_config.py b/addons/knowledge/res_config.py
index 3f9c5b840f7..39ead94d89b 100644
--- a/addons/knowledge/res_config.py
+++ b/addons/knowledge/res_config.py
@@ -25,18 +25,18 @@ class knowledge_config_settings(osv.osv_memory):
_name = 'knowledge.config.settings'
_inherit = 'res.config.settings'
_columns = {
- 'module_wiki_faq': fields.boolean('Internal FAQ as a Wiki',
- help="""This installs the module wiki_faq."""),
- 'module_wiki_quality_manual': fields.boolean('Quality Manual as a Wiki',
+ 'module_wiki_faq': fields.boolean('manage internal FAQ as a wiki',
+ help="""This installs the module wiki_faq."""),
+ 'module_wiki_quality_manual': fields.boolean('use quality manual as a wiki',
help="""This installs the module wiki_quality_manual."""),
- 'module_document': fields.boolean('Document Management',
+ 'module_document': fields.boolean('manage documents',
help="""This is a complete document management system, with: user authentication,
full document search (but pptx and docx are not supported), and a document dashboard.
This installs the module document."""),
- 'module_document_ftp': fields.boolean('Share repositories (FTP)',
+ 'module_document_ftp': fields.boolean('share repositories (FTP)',
help="""Access your documents in OpenERP through an FTP interface.
This installs the module document_ftp."""),
- 'module_document_webdav': fields.boolean('Share Repositories (WebDAV)',
+ 'module_document_webdav': fields.boolean('share repositories (WebDAV)',
help="""Access your documents in OpenERP through WebDAV.
This installs the module document_webdav."""),
}
diff --git a/addons/knowledge/res_config_view.xml b/addons/knowledge/res_config_view.xml
index ec4d91683f1..33c9c15ae63 100644
--- a/addons/knowledge/res_config_view.xml
+++ b/addons/knowledge/res_config_view.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
@@ -6,27 +7,46 @@
<field name="model">knowledge.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Configure Knowledge" version="7.0">
+ <form string="Configure Knowledge" class= "oe_form_configuration" version="7.0">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
- or
+ or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
+ <separator string="Knowledge and Documents Management"/>
<group>
- <group string="Wiki">
- <field name="module_wiki_faq"/>
- <field name="module_wiki_quality_manual"/>
- </group>
- <group string="Documents">
- <field name="module_document"/>
- <field name="module_document_ftp"/>
- <field name="module_document_webdav"/>
- </group>
+ <label for="id" string="Documents"/>
+ <div>
+ <div>
+ <field name="module_document" class="oe_inline"/>
+ <label for="module_document"/>
+ </div>
+ <div>
+ <field name="module_document_ftp" class="oe_inline"/>
+ <label for="module_document_ftp"/>
+ </div>
+ <div>
+ <field name="module_document_webdav" class="oe_inline"/>
+ <label for="module_document_webdav"/>
+ </div>
+ </div>
+ </group>
+ <group>
+ <label for="id" string="Wiki"/>
+ <div>
+ <div>
+ <field name="module_wiki_quality_manual" class="oe_inline"/>
+ <label for="module_wiki_quality_manual"/>
+ </div>
+ <div>
+ <field name="module_wiki_faq" class="oe_inline"/>
+ <label for="module_wiki_faq"/>
+ </div>
+ </div>
</group>
</form>
</field>
</record>
-
<record id="action_knowledge_configuration" model="ir.actions.act_window">
<field name="name">Configure Knowledge</field>
<field name="res_model">knowledge.config.settings</field>
diff --git a/addons/l10n_ar/__openerp__.py b/addons/l10n_ar/__openerp__.py
index 8971ce94b22..ef04805d1b0 100644
--- a/addons/l10n_ar/__openerp__.py
+++ b/addons/l10n_ar/__openerp__.py
@@ -45,7 +45,6 @@ Plan contable argentino e impuestos de acuerdo a disposiciones vigentes
],
"active": False,
"installable": True,
- "certificate" : "",
'images': ['images/config_chart_l10n_ar.jpeg','images/l10n_ar_chart.jpeg'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/l10n_ar/l10n_ar_wizard.xml b/addons/l10n_ar/l10n_ar_wizard.xml
index 1180acb46e8..9a2fa377155 100644
--- a/addons/l10n_ar/l10n_ar_wizard.xml
+++ b/addons/l10n_ar/l10n_ar_wizard.xml
@@ -7,7 +7,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_be/l10n_be_wizard.yml b/addons/l10n_be/l10n_be_wizard.yml
index 5acc10c629f..178009be7ff 100644
--- a/addons/l10n_be/l10n_be_wizard.yml
+++ b/addons/l10n_be/l10n_be_wizard.yml
@@ -1,7 +1,6 @@
-
!record {model: ir.actions.todo, id: config_call_account_template}:
action_id: account.action_wizard_multi_chart
- category_id: account.category_accounting_configuration
type: automatic
-
!python {model: ir.actions.todo}: |
diff --git a/addons/l10n_ca/__openerp__.py b/addons/l10n_ca/__openerp__.py
index 800ca7937eb..bd5fe4e6ea0 100644
--- a/addons/l10n_ca/__openerp__.py
+++ b/addons/l10n_ca/__openerp__.py
@@ -33,13 +33,11 @@ Canadian accounting charts and localizations.
"depends" : ['base', 'account', 'base_iban', 'base_vat', 'account_chart'],
"init_xml" : [],
"update_xml" : [
- 'account_types_en.xml',
'account_chart_en.xml',
'account_tax_code_en.xml',
'account_chart_template_en.xml',
'account_tax_en.xml',
'fiscal_templates_en.xml',
- 'account_types_fr.xml',
'account_chart_fr.xml',
'account_tax_code_fr.xml',
'account_chart_template_fr.xml',
diff --git a/addons/l10n_ca/account_chart_en.xml b/addons/l10n_ca/account_chart_en.xml
index 103512b40b2..0d67e081d08 100644
--- a/addons/l10n_ca/account_chart_en.xml
+++ b/addons/l10n_ca/account_chart_en.xml
@@ -8,7 +8,7 @@
<field name="name">Account Chart CA EN</field>
<field eval="0" name="parent_id"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
</record>
<!-- ASSET -->
@@ -17,7 +17,7 @@
<field name="code">1</field>
<field name="parent_id" ref="chart0_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">ASSETS</field>
</record>
@@ -25,7 +25,7 @@
<field name="code">11</field>
<field name="parent_id" ref="chart1_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CURRENT ASSETS</field>
</record>
@@ -33,7 +33,7 @@
<field name="code">111</field>
<field name="parent_id" ref="chart11_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CASH</field>
</record>
@@ -41,7 +41,7 @@
<field name="code">1111</field>
<field name="parent_id" ref="chart111_en"/>
<field name="type">liquidity</field>
- <field name="user_type" ref="user_type_asset_en"/>
+ <field name="user_type" ref="account.data_account_type_bank"/>
<field name="name">Checking Account</field>
</record>
@@ -49,7 +49,7 @@
<field name="code">112</field>
<field name="parent_id" ref="chart11_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">TREASURY OR TREASURY EQUIVALENTS</field>
</record>
@@ -57,7 +57,7 @@
<field name="code">113</field>
<field name="parent_id" ref="chart11_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CERTIFICATES OF DEPOSITS</field>
</record>
@@ -65,7 +65,7 @@
<field name="code">114</field>
<field name="parent_id" ref="chart11_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">STOCKS</field>
</record>
@@ -73,7 +73,7 @@
<field name="code">115</field>
<field name="parent_id" ref="chart11_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">ACCOUNTS RECEIVABLES</field>
</record>
@@ -81,7 +81,7 @@
<field name="code">1151</field>
<field name="parent_id" ref="chart115_en"/>
<field name="type">receivable</field>
- <field name="user_type" ref="user_type_receivable_en"/>
+ <field name="user_type" ref="account.data_account_type_receivable"/>
<field name="reconcile" eval="True"/>
<field name="name">Customers Account</field>
</record>
@@ -90,7 +90,7 @@
<field name="code">1152</field>
<field name="parent_id" ref="chart115_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">ALLOWANCE FOR DOUBTFUL ACCOUNTS</field>
</record>
@@ -98,7 +98,7 @@
<field name="code">116</field>
<field name="parent_id" ref="chart11_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PREPAID EXPENSES</field>
</record>
@@ -106,7 +106,7 @@
<field name="code">117</field>
<field name="parent_id" ref="chart11_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">INVESTMENTS HELD FOR TRADING</field>
</record>
@@ -114,15 +114,15 @@
<field name="code">118</field>
<field name="parent_id" ref="chart11_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">TAXES RECEIVABLES</field>
</record>
<record id="chart1181_en" model="account.account.template">
<field name="code">1181</field>
<field name="parent_id" ref="chart118_en"/>
- <field name="type">receivable</field>
- <field name="user_type" ref="user_type_receivable_en"/>
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_receivable"/>
<field name="reconcile" eval="True"/>
<field name="name">GST receivable</field>
</record>
@@ -130,8 +130,8 @@
<record id="chart1182_en" model="account.account.template">
<field name="code">1182</field>
<field name="parent_id" ref="chart118_en"/>
- <field name="type">receivable</field>
- <field name="user_type" ref="user_type_receivable_en"/>
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_receivable"/>
<field name="reconcile" eval="True"/>
<field name="name">PST/QST receivable</field>
</record>
@@ -139,8 +139,8 @@
<record id="chart1183_en" model="account.account.template">
<field name="code">1183</field>
<field name="parent_id" ref="chart118_en"/>
- <field name="type">receivable</field>
- <field name="user_type" ref="user_type_receivable_en"/>
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_receivable"/>
<field name="reconcile" eval="True"/>
<field name="name">HST receivable</field>
</record>
@@ -149,7 +149,7 @@
<field name="code">15</field>
<field name="parent_id" ref="chart1_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">NON-CURRENT ASSETS</field>
</record>
@@ -157,7 +157,7 @@
<field name="code">151</field>
<field name="parent_id" ref="chart15_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">INVESTMENTS AVAILABLE FOR SALE</field>
</record>
@@ -165,7 +165,7 @@
<field name="code">152</field>
<field name="parent_id" ref="chart15_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">TANGIBLE ASSETS</field>
</record>
@@ -173,7 +173,7 @@
<field name="code">1527</field>
<field name="parent_id" ref="chart152_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">ACCUMULATED DEPRECIATIONS</field>
</record>
@@ -181,7 +181,7 @@
<field name="code">153</field>
<field name="parent_id" ref="chart15_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">INTANGIBLE ASSETS</field>
</record>
@@ -189,7 +189,7 @@
<field name="code">1531</field>
<field name="parent_id" ref="chart153_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PATENTS, TRADEMARKS AND COPYRIGHTS</field>
</record>
@@ -199,7 +199,7 @@
<field name="code">2</field>
<field name="parent_id" ref="chart0_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">LIABILITIES</field>
</record>
@@ -207,7 +207,7 @@
<field name="code">21</field>
<field name="parent_id" ref="chart2_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CURRENT LIABILITIES</field>
</record>
@@ -215,7 +215,7 @@
<field name="code">211</field>
<field name="parent_id" ref="chart21_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">ACCOUNTS PAYABLES</field>
</record>
@@ -223,7 +223,7 @@
<field name="code">2111</field>
<field name="parent_id" ref="chart211_en"/>
<field name="type">payable</field>
- <field name="user_type" ref="user_type_payable_en"/>
+ <field name="user_type" ref="account.data_account_type_payable"/>
<field name="reconcile" eval="True"/>
<field name="name">Suppliers Account</field>
</record>
@@ -232,15 +232,15 @@
<field name="code">212</field>
<field name="parent_id" ref="chart21_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">TAXES PAYABLES</field>
</record>
<record id="chart2121_en" model="account.account.template">
<field name="code">2121</field>
<field name="parent_id" ref="chart212_en"/>
- <field name="type">payable</field>
- <field name="user_type" ref="user_type_payable_en"/>
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_payable"/>
<field name="reconcile" eval="True"/>
<field name="name">GST to pay</field>
</record>
@@ -248,8 +248,8 @@
<record id="chart2122_en" model="account.account.template">
<field name="code">2122</field>
<field name="parent_id" ref="chart212_en"/>
- <field name="type">payable</field>
- <field name="user_type" ref="user_type_payable_en"/>
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_payable"/>
<field name="reconcile" eval="True"/>
<field name="name">PST/QST to pay</field>
</record>
@@ -257,8 +257,8 @@
<record id="chart2123_en" model="account.account.template">
<field name="code">2123</field>
<field name="parent_id" ref="chart212_en"/>
- <field name="type">payable</field>
- <field name="user_type" ref="user_type_payable_en"/>
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_payable"/>
<field name="reconcile" eval="True"/>
<field name="name">HST to pay</field>
</record>
@@ -267,7 +267,7 @@
<field name="code">213</field>
<field name="parent_id" ref="chart21_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CURRENT FINANCIAL DEBTS</field>
</record>
@@ -275,7 +275,7 @@
<field name="code">25</field>
<field name="parent_id" ref="chart2_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">NON-CURRENT LIABILITIES</field>
</record>
@@ -283,7 +283,7 @@
<field name="code">251</field>
<field name="parent_id" ref="chart25_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">NON-CURRENT FINANCIAL DEBTS</field>
</record>
@@ -291,7 +291,7 @@
<field name="code">252</field>
<field name="parent_id" ref="chart25_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PROVISIONS FOR PENSIONS AND OTHER POST-EMPLOYMENT ADVANTAGES</field>
</record>
@@ -299,7 +299,7 @@
<field name="code">253</field>
<field name="parent_id" ref="chart25_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">DEFERRED TAXES</field>
</record>
@@ -307,7 +307,7 @@
<field name="code">259</field>
<field name="parent_id" ref="chart25_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">OTHER NON-CURRENT LIABILITIES</field>
</record>
@@ -317,7 +317,7 @@
<field name="code">3</field>
<field name="parent_id" ref="chart0_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">EQUITY</field>
</record>
@@ -325,7 +325,7 @@
<field name="code">31</field>
<field name="parent_id" ref="chart3_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">SHARE CAPITAL</field>
</record>
@@ -333,7 +333,7 @@
<field name="code">32</field>
<field name="parent_id" ref="chart3_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PREMIUMS</field>
</record>
@@ -341,7 +341,7 @@
<field name="code">33</field>
<field name="parent_id" ref="chart3_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">RETAINED EARNINGS</field>
</record>
@@ -349,7 +349,7 @@
<field name="code">34</field>
<field name="parent_id" ref="chart3_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">DIVIDENDS</field>
</record>
@@ -357,7 +357,7 @@
<field name="code">35</field>
<field name="parent_id" ref="chart3_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">TRANSLATION ADJUSTMENTS</field>
</record>
@@ -365,7 +365,7 @@
<field name="code">36</field>
<field name="parent_id" ref="chart3_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CONTRIBUTED SURPLUS</field>
</record>
@@ -375,7 +375,7 @@
<field name="code">4</field>
<field name="parent_id" ref="chart0_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">INCOMES</field>
</record>
@@ -383,7 +383,7 @@
<field name="code">41</field>
<field name="parent_id" ref="chart4_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">OPERATING INCOMES</field>
</record>
@@ -391,7 +391,7 @@
<field name="code">411</field>
<field name="parent_id" ref="chart41_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_income_en"/>
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">Inside Sales</field>
</record>
@@ -399,7 +399,7 @@
<field name="code">412</field>
<field name="parent_id" ref="chart41_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_income_en"/>
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">Harmonized Provinces Sales</field>
</record>
@@ -407,7 +407,7 @@
<field name="code">413</field>
<field name="parent_id" ref="chart41_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_income_en"/>
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">Non-Harmonized Provinces Sales</field>
</record>
@@ -415,7 +415,7 @@
<field name="code">414</field>
<field name="parent_id" ref="chart41_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_income_en"/>
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">International Sales</field>
</record>
@@ -423,7 +423,7 @@
<field name="code">419</field>
<field name="parent_id" ref="chart41_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">OTHER OPERATING INCOMES</field>
</record>
@@ -431,7 +431,7 @@
<field name="code">42</field>
<field name="parent_id" ref="chart4_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">NON-OPERATING INCOMES</field>
</record>
@@ -439,7 +439,7 @@
<field name="code">421</field>
<field name="parent_id" ref="chart42_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">INTERESTS</field>
</record>
@@ -447,7 +447,7 @@
<field name="code">429</field>
<field name="parent_id" ref="chart42_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">OTHER NON-OPERATING INCOMES</field>
</record>
@@ -457,7 +457,7 @@
<field name="code">5</field>
<field name="parent_id" ref="chart0_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">EXPENSES</field>
</record>
@@ -465,7 +465,7 @@
<field name="code">51</field>
<field name="parent_id" ref="chart5_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">OPERATING EXPENSES</field>
</record>
@@ -473,7 +473,7 @@
<field name="code">511</field>
<field name="parent_id" ref="chart51_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">COST OF GOODS SOLD</field>
</record>
@@ -481,7 +481,7 @@
<field name="code">5111</field>
<field name="parent_id" ref="chart511_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Inside Purchases</field>
</record>
@@ -489,7 +489,7 @@
<field name="code">5112</field>
<field name="parent_id" ref="chart511_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Purchases in harmonized provinces</field>
</record>
@@ -497,7 +497,7 @@
<field name="code">5113</field>
<field name="parent_id" ref="chart511_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Purchases in non-harmonized provinces</field>
</record>
@@ -505,7 +505,7 @@
<field name="code">5114</field>
<field name="parent_id" ref="chart511_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">International Purchases</field>
</record>
@@ -513,7 +513,7 @@
<field name="code">512</field>
<field name="parent_id" ref="chart51_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">LABOUR EXPENSES</field>
</record>
@@ -521,7 +521,7 @@
<field name="code">5121</field>
<field name="parent_id" ref="chart512_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Salaries, wages and commissions</field>
</record>
@@ -529,7 +529,7 @@
<field name="code">5122</field>
<field name="parent_id" ref="chart512_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Holidays</field>
</record>
@@ -537,7 +537,7 @@
<field name="code">5123</field>
<field name="parent_id" ref="chart512_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Employment Insurance</field>
</record>
@@ -545,7 +545,7 @@
<field name="code">5124</field>
<field name="parent_id" ref="chart512_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Health Services Fund</field>
</record>
@@ -553,7 +553,7 @@
<field name="code">5125</field>
<field name="parent_id" ref="chart512_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Annuities</field>
</record>
@@ -561,7 +561,7 @@
<field name="code">5126</field>
<field name="parent_id" ref="chart512_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Parental Insurance</field>
</record>
@@ -569,7 +569,7 @@
<field name="code">5127</field>
<field name="parent_id" ref="chart512_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Labour Health and Safety</field>
</record>
@@ -577,7 +577,7 @@
<field name="code">5128</field>
<field name="parent_id" ref="chart512_en"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_expense_en"/>
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Labour Standards</field>
</record>
@@ -585,7 +585,7 @@
<field name="code">513</field>
<field name="parent_id" ref="chart51_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">SALES EXPENSES</field>
</record>
@@ -593,7 +593,7 @@
<field name="code">514</field>
<field name="parent_id" ref="chart51_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">GENERAL EXPENSES</field>
</record>
@@ -601,7 +601,7 @@
<field name="code">515</field>
<field name="parent_id" ref="chart51_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">RESEARCH AND DEVELOPMENT EXPENSES</field>
</record>
@@ -609,7 +609,7 @@
<field name="code">519</field>
<field name="parent_id" ref="chart51_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">OTHER OPERATING EXPENSES</field>
</record>
@@ -617,7 +617,7 @@
<field name="code">55</field>
<field name="parent_id" ref="chart5_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">NON-OPERATING EXPENSES</field>
</record>
@@ -625,7 +625,7 @@
<field name="code">551</field>
<field name="parent_id" ref="chart55_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">INTEREST EXPENSES</field>
</record>
@@ -633,7 +633,7 @@
<field name="code">559</field>
<field name="parent_id" ref="chart55_en"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_en"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">OTHER NON-OPERATING EXPENSES</field>
</record>
diff --git a/addons/l10n_ca/account_chart_fr.xml b/addons/l10n_ca/account_chart_fr.xml
index fd22ba81b2e..dbf4f9aad7c 100644
--- a/addons/l10n_ca/account_chart_fr.xml
+++ b/addons/l10n_ca/account_chart_fr.xml
@@ -6,7 +6,7 @@
<record id="chart0_fr" model="account.account.template">
<field name="code">0</field>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr"/>
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">Account Chart CA FR</field>
</record>
@@ -16,7 +16,7 @@
<field name="code">1</field>
<field name="parent_id" ref="chart0_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">ACTIF</field>
</record>
@@ -24,7 +24,7 @@
<field name="code">11</field>
<field name="parent_id" ref="chart1_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">ACTIFS COURANTS</field>
</record>
@@ -32,7 +32,7 @@
<field name="code">111</field>
<field name="parent_id" ref="chart11_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">ENCAISSE</field>
</record>
@@ -40,7 +40,7 @@
<field name="code">1111</field>
<field name="parent_id" ref="chart111_fr"/>
<field name="type">liquidity</field>
- <field name="user_type" ref="user_type_immo_fr" />
+ <field name="user_type" ref="account.data_account_type_bank"/>
<field name="name">Compte chèque</field>
</record>
@@ -48,7 +48,7 @@
<field name="code">1112</field>
<field name="parent_id" ref="chart111_fr"/>
<field name="type">liquidity</field>
- <field name="user_type" ref="user_type_immo_fr" />
+ <field name="user_type" ref="account.data_account_type_cash"/>
<field name="name">Petite caisse</field>
</record>
@@ -56,7 +56,7 @@
<field name="code">112</field>
<field name="parent_id" ref="chart11_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">TRÉSORERIE OU ÉQUIVALENTS DE TRÉSORERIE</field>
</record>
@@ -64,7 +64,7 @@
<field name="code">113</field>
<field name="parent_id" ref="chart11_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CERTIFICATS DE DÉPÔTS</field>
</record>
@@ -72,7 +72,7 @@
<field name="code">114</field>
<field name="parent_id" ref="chart11_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">STOCKS</field>
</record>
@@ -80,7 +80,7 @@
<field name="code">115</field>
<field name="parent_id" ref="chart11_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">COMPTES CLIENTS</field>
</record>
@@ -88,7 +88,7 @@
<field name="code">1151</field>
<field name="parent_id" ref="chart115_fr"/>
<field name="type">receivable</field>
- <field name="user_type" ref="user_type_tiers_receiv_fr" />
+ <field name="user_type" ref="account.data_account_type_receivable"/>
<field name="reconcile" eval="True"/>
<field name="name">Comptes clients</field>
</record>
@@ -97,7 +97,7 @@
<field name="code">1152</field>
<field name="parent_id" ref="chart115_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PROVISION POUR CRÉANCES DOUTEUSES</field>
</record>
@@ -105,7 +105,7 @@
<field name="code">116</field>
<field name="parent_id" ref="chart11_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">FRAIS PAYÉS D'AVANCE</field>
</record>
@@ -113,7 +113,7 @@
<field name="code">117</field>
<field name="parent_id" ref="chart11_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PLACEMENTS DÉTENUS À DES FINS DE TRANSACTION</field>
</record>
@@ -121,15 +121,15 @@
<field name="code">118</field>
<field name="parent_id" ref="chart11_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">IMPÔTS À RECEVOIR</field>
</record>
<record id="chart1181_fr" model="account.account.template">
<field name="code">1181</field>
<field name="parent_id" ref="chart118_fr"/>
- <field name="type">receivable</field>
- <field name="user_type" ref="user_type_tiers_receiv_fr" />
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_asset"/>
<field name="reconcile" eval="True"/>
<field name="name">TPS à recevoir</field>
</record>
@@ -137,8 +137,8 @@
<record id="chart1182_fr" model="account.account.template">
<field name="code">1182</field>
<field name="parent_id" ref="chart118_fr"/>
- <field name="type">receivable</field>
- <field name="user_type" ref="user_type_tiers_receiv_fr" />
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_asset"/>
<field name="reconcile" eval="True"/>
<field name="name">TVP/TVQ à recevoir</field>
</record>
@@ -146,8 +146,8 @@
<record id="chart1183_fr" model="account.account.template">
<field name="code">1183</field>
<field name="parent_id" ref="chart118_fr"/>
- <field name="type">receivable</field>
- <field name="user_type" ref="user_type_tiers_receiv_fr" />
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_asset"/>
<field name="reconcile" eval="True"/>
<field name="name">TVH à recevoir</field>
</record>
@@ -156,7 +156,7 @@
<field name="code">15</field>
<field name="parent_id" ref="chart1_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">ACTIFS NON-COURANTS</field>
</record>
@@ -164,7 +164,7 @@
<field name="code">151</field>
<field name="parent_id" ref="chart15_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PLACEMENTS DISPONIBLES À LA VENTE</field>
</record>
@@ -172,7 +172,7 @@
<field name="code">152</field>
<field name="parent_id" ref="chart15_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">IMMOBILISATIONS CORPORELLES</field>
</record>
@@ -180,7 +180,7 @@
<field name="code">1527</field>
<field name="parent_id" ref="chart152_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">AMORTISSEMENTS CUMULÉS</field>
</record>
@@ -188,7 +188,7 @@
<field name="code">153</field>
<field name="parent_id" ref="chart15_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">IMMOBILISATIONS INCORPORELLES</field>
</record>
@@ -196,7 +196,7 @@
<field name="code">1531</field>
<field name="parent_id" ref="chart153_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">BREVETS, MARQUES DE COMMERCE ET DROITS D'AUTEURS</field>
</record>
@@ -206,7 +206,7 @@
<field name="code">2</field>
<field name="parent_id" ref="chart0_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PASSIF</field>
</record>
@@ -214,7 +214,7 @@
<field name="code">21</field>
<field name="parent_id" ref="chart2_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PASSIFS COURANTS</field>
</record>
@@ -222,7 +222,7 @@
<field name="code">211</field>
<field name="parent_id" ref="chart21_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">FOURNISSEURS ET COMPTES RATTACHÉS</field>
</record>
@@ -230,7 +230,7 @@
<field name="code">2111</field>
<field name="parent_id" ref="chart211_fr"/>
<field name="type">payable</field>
- <field name="user_type" ref="user_type_tiers_payable_fr" />
+ <field name="user_type" ref="account.data_account_type_payable"/>
<field name="reconcile" eval="True"/>
<field name="name">Comptes fournisseurs</field>
</record>
@@ -239,7 +239,7 @@
<field name="code">212</field>
<field name="parent_id" ref="chart21_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">AUTRES COMPTES CRÉDITEURS</field>
</record>
@@ -247,15 +247,15 @@
<field name="code">213</field>
<field name="parent_id" ref="chart21_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">IMPÔTS À PAYER</field>
</record>
<record id="chart2131_fr" model="account.account.template">
<field name="code">2131</field>
<field name="parent_id" ref="chart213_fr"/>
- <field name="type">payable</field>
- <field name="user_type" ref="user_type_tiers_payable_fr" />
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_liability"/>
<field name="reconcile" eval="True"/>
<field name="name">TPS à payer</field>
</record>
@@ -263,8 +263,8 @@
<record id="chart2132_fr" model="account.account.template">
<field name="code">2132</field>
<field name="parent_id" ref="chart213_fr"/>
- <field name="type">payable</field>
- <field name="user_type" ref="user_type_tiers_payable_fr" />
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_liability"/>
<field name="reconcile" eval="True"/>
<field name="name">TVP/TVQ à payer</field>
</record>
@@ -272,8 +272,8 @@
<record id="chart2133_fr" model="account.account.template">
<field name="code">2133</field>
<field name="parent_id" ref="chart213_fr"/>
- <field name="type">payable</field>
- <field name="user_type" ref="user_type_tiers_payable_fr" />
+ <field name="type">other</field>
+ <field name="user_type" ref="account.data_account_type_liability"/>
<field name="reconcile" eval="True"/>
<field name="name">TVH à payer</field>
</record>
@@ -282,7 +282,7 @@
<field name="code">214</field>
<field name="parent_id" ref="chart21_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">DETTES FINANCIÈRES COURANTES</field>
</record>
@@ -290,7 +290,7 @@
<field name="code">215</field>
<field name="parent_id" ref="chart21_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PASSIFS LIÉS AUX ACTIFS DÉTENUS EN VUE DE LEUR CESSION</field>
</record>
@@ -298,7 +298,7 @@
<field name="code">25</field>
<field name="parent_id" ref="chart2_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PASSIFS NON-COURANTS</field>
</record>
@@ -306,7 +306,7 @@
<field name="code">251</field>
<field name="parent_id" ref="chart25_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">DETTES FINANCIÈRES NON-COURANTES</field>
</record>
@@ -314,7 +314,7 @@
<field name="code">252</field>
<field name="parent_id" ref="chart25_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PROVISIONS POUR RETRAITES ET AUTRES AVANTAGES POSTÉRIEURS À L'EMPLOI</field>
</record>
@@ -322,7 +322,7 @@
<field name="code">253</field>
<field name="parent_id" ref="chart25_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">IMPÔTS DIFFÉRÉS</field>
</record>
@@ -330,7 +330,7 @@
<field name="code">254</field>
<field name="parent_id" ref="chart25_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">AUTRES PASSIFS NON-COURANTS</field>
</record>
@@ -340,7 +340,7 @@
<field name="code">3</field>
<field name="parent_id" ref="chart0_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CAPITAUX PROPRES</field>
</record>
@@ -348,7 +348,7 @@
<field name="code">31</field>
<field name="parent_id" ref="chart3_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CAPITAL-ACTIONS</field>
</record>
@@ -356,7 +356,7 @@
<field name="code">32</field>
<field name="parent_id" ref="chart3_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PRIMES</field>
</record>
@@ -364,7 +364,7 @@
<field name="code">33</field>
<field name="parent_id" ref="chart3_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">BÉNÉFICES NON RÉPARTIS</field>
</record>
@@ -372,7 +372,7 @@
<field name="code">34</field>
<field name="parent_id" ref="chart3_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">DIVIDENDES</field>
</record>
@@ -380,7 +380,7 @@
<field name="code">35</field>
<field name="parent_id" ref="chart3_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">ÉCARTS DE CONVERSION</field>
</record>
@@ -388,7 +388,7 @@
<field name="code">36</field>
<field name="parent_id" ref="chart3_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">SURPLUS D'APPORT</field>
</record>
@@ -396,7 +396,7 @@
<field name="code">39</field>
<field name="parent_id" ref="chart3_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">AUTRES ÉLÉMENTS DU RÉSULTAT GLOBAL</field>
</record>
@@ -406,7 +406,7 @@
<field name="code">4</field>
<field name="parent_id" ref="chart0_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PRODUITS</field>
</record>
@@ -414,7 +414,7 @@
<field name="code">41</field>
<field name="parent_id" ref="chart4_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PRODUITS D'EXPLOITATION</field>
</record>
@@ -422,7 +422,7 @@
<field name="code">411</field>
<field name="parent_id" ref="chart41_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_produit_fr" />
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">Ventes</field>
</record>
@@ -430,7 +430,7 @@
<field name="code">412</field>
<field name="parent_id" ref="chart41_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_produit_fr" />
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">Ventes avec des provinces harmonisées</field>
</record>
@@ -438,7 +438,7 @@
<field name="code">413</field>
<field name="parent_id" ref="chart41_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_produit_fr" />
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">Ventes avec des provinces non-harmonisées</field>
</record>
@@ -446,7 +446,7 @@
<field name="code">414</field>
<field name="parent_id" ref="chart41_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_produit_fr" />
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">Ventes à l'étranger</field>
</record>
@@ -454,7 +454,7 @@
<field name="code">419</field>
<field name="parent_id" ref="chart41_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">AUTRES PRODUITS D'EXPLOITATION</field>
</record>
@@ -462,7 +462,7 @@
<field name="code">42</field>
<field name="parent_id" ref="chart4_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">PRODUITS NON LIÉS À L'EXPLOITATION</field>
</record>
@@ -470,7 +470,7 @@
<field name="code">425</field>
<field name="parent_id" ref="chart42_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">INTÉRÊTS</field>
</record>
@@ -478,7 +478,7 @@
<field name="code">429</field>
<field name="parent_id" ref="chart42_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">AUTRES PRODUITS NON LIÉS À L'EXPLOITATION</field>
</record>
@@ -488,7 +488,7 @@
<field name="code">5</field>
<field name="parent_id" ref="chart0_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CHARGES</field>
</record>
@@ -496,7 +496,7 @@
<field name="code">51</field>
<field name="parent_id" ref="chart5_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">CHARGES D'EXPLOITATION</field>
</record>
@@ -504,7 +504,7 @@
<field name="code">511</field>
<field name="parent_id" ref="chart51_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">COÛT DES PRODUITS VENDUS</field>
</record>
@@ -512,7 +512,7 @@
<field name="code">5111</field>
<field name="parent_id" ref="chart511_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_charge_fr" />
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Achats</field>
</record>
@@ -520,7 +520,7 @@
<field name="code">5112</field>
<field name="parent_id" ref="chart511_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_produit_fr" />
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">Achats dans des provinces harmonisées</field>
</record>
@@ -528,7 +528,7 @@
<field name="code">5113</field>
<field name="parent_id" ref="chart511_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_produit_fr" />
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">Achats dans des provinces non-harmonisées</field>
</record>
@@ -536,7 +536,7 @@
<field name="code">5114</field>
<field name="parent_id" ref="chart511_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_produit_fr" />
+ <field name="user_type" ref="account.data_account_type_income"/>
<field name="name">Achats à l'étranger</field>
</record>
@@ -544,7 +544,7 @@
<field name="code">512</field>
<field name="parent_id" ref="chart51_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">SALAIRES ET CHARGES SOCIALES</field>
</record>
@@ -552,7 +552,7 @@
<field name="code">51201</field>
<field name="parent_id" ref="chart512_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_charge_fr" />
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Salaires</field>
</record>
@@ -560,7 +560,7 @@
<field name="code">51202</field>
<field name="parent_id" ref="chart512_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_charge_fr" />
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Vacances</field>
</record>
@@ -568,7 +568,7 @@
<field name="code">51203</field>
<field name="parent_id" ref="chart512_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_charge_fr" />
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Assurance Emploi</field>
</record>
@@ -576,7 +576,7 @@
<field name="code">51204</field>
<field name="parent_id" ref="chart512_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_charge_fr" />
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Fonds des services de santé</field>
</record>
@@ -584,7 +584,7 @@
<field name="code">51205</field>
<field name="parent_id" ref="chart512_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_charge_fr" />
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Rentes</field>
</record>
@@ -592,7 +592,7 @@
<field name="code">51206</field>
<field name="parent_id" ref="chart512_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_charge_fr" />
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Assurance parental</field>
</record>
@@ -600,7 +600,7 @@
<field name="code">51207</field>
<field name="parent_id" ref="chart512_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_charge_fr" />
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Santé et sécurité au travail</field>
</record>
@@ -608,7 +608,7 @@
<field name="code">51208</field>
<field name="parent_id" ref="chart512_fr"/>
<field name="type">other</field>
- <field name="user_type" ref="user_type_charge_fr" />
+ <field name="user_type" ref="account.data_account_type_expense"/>
<field name="name">Normes du travail</field>
</record>
@@ -616,7 +616,7 @@
<field name="code">513</field>
<field name="parent_id" ref="chart51_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">FRAIS SUR VENTE</field>
</record>
@@ -624,7 +624,7 @@
<field name="code">514</field>
<field name="parent_id" ref="chart51_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">FRAIS GÉNÉRAUX</field>
</record>
@@ -632,7 +632,7 @@
<field name="code">515</field>
<field name="parent_id" ref="chart51_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">FRAIS DE RECHERCHE ET DÉVELOPPEMENT</field>
</record>
@@ -640,7 +640,7 @@
<field name="code">519</field>
<field name="parent_id" ref="chart51_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">AUTRES FRAIS D'EXPLOITATION</field>
</record>
@@ -648,7 +648,7 @@
<field name="code">52</field>
<field name="parent_id" ref="chart5_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">FRAIS NON LIÉS À L'EXPLOITATION</field>
</record>
@@ -656,7 +656,7 @@
<field name="code">521</field>
<field name="parent_id" ref="chart52_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">INTÉRÊTS DÉBITEURS</field>
</record>
@@ -664,7 +664,7 @@
<field name="code">529</field>
<field name="parent_id" ref="chart52_fr"/>
<field name="type">view</field>
- <field name="user_type" ref="user_type_view_fr" />
+ <field name="user_type" ref="account.data_account_type_view"/>
<field name="name">AUTRES FRAIS NON LIÉS À L'EXPLOITATION</field>
</record>
diff --git a/addons/l10n_ca/account_tax_code_en.xml b/addons/l10n_ca/account_tax_code_en.xml
index 36221e70a9b..d446f431c96 100644
--- a/addons/l10n_ca/account_tax_code_en.xml
+++ b/addons/l10n_ca/account_tax_code_en.xml
@@ -7,47 +7,47 @@
</record>
<record model="account.tax.code.template" id="vat_code_balance_net_en">
- <field name="name">Tax Balance to Pay</field>
+ <field name="name">Tax Balance</field>
<field name="parent_id" ref="vat_code_tax_en"/>
</record>
<record model="account.tax.code.template" id="vat_code_receivable_tva_en">
- <field name="name">Receivable Taxes</field>
+ <field name="name">Taxes paid</field>
<field name="parent_id" ref="vat_code_balance_net_en"/>
</record>
<record model="account.tax.code.template" id="vat_code_receivable_gst_en">
- <field name="name">GST to Receive</field>
+ <field name="name">GST paid</field>
<field name="parent_id" ref="vat_code_receivable_tva_en"/>
</record>
<record model="account.tax.code.template" id="vat_code_receivable_pst_en">
- <field name="name">PST to Receive</field>
+ <field name="name">PST paid</field>
<field name="parent_id" ref="vat_code_receivable_tva_en"/>
</record>
<record model="account.tax.code.template" id="vat_code_receivable_hst_en">
- <field name="name">HST to Receive</field>
+ <field name="name">HST paid</field>
<field name="parent_id" ref="vat_code_receivable_tva_en"/>
</record>
<record model="account.tax.code.template" id="vat_code_payable_en">
- <field name="name">Payable Taxes</field>
+ <field name="name">Taxes received</field>
<field name="parent_id" ref="vat_code_balance_net_en"/>
</record>
<record model="account.tax.code.template" id="vat_code_payable_gst_en">
- <field name="name">GST to Pay</field>
+ <field name="name">GST received</field>
<field name="parent_id" ref="vat_code_payable_en"/>
</record>
<record model="account.tax.code.template" id="vat_code_payable_pst_en">
- <field name="name">PST to Pay</field>
+ <field name="name">PST received</field>
<field name="parent_id" ref="vat_code_payable_en"/>
</record>
<record model="account.tax.code.template" id="vat_code_payable_hst_en">
- <field name="name">HST to Pay</field>
+ <field name="name">HST received</field>
<field name="parent_id" ref="vat_code_payable_en"/>
</record>
diff --git a/addons/l10n_ca/account_tax_code_fr.xml b/addons/l10n_ca/account_tax_code_fr.xml
index 389e5e5f8d9..2b6acd2b992 100644
--- a/addons/l10n_ca/account_tax_code_fr.xml
+++ b/addons/l10n_ca/account_tax_code_fr.xml
@@ -12,42 +12,42 @@
</record>
<record model="account.tax.code.template" id="vat_code_receivable_tva_fr">
- <field name="name">Taxes à recevoir</field>
+ <field name="name">Taxes payées</field>
<field name="parent_id" ref="vat_code_balance_net_fr"/>
</record>
<record model="account.tax.code.template" id="vat_code_receivable_tps_fr">
- <field name="name">TPS à recevoir</field>
+ <field name="name">TPS payée</field>
<field name="parent_id" ref="vat_code_receivable_tva_fr"/>
</record>
<record model="account.tax.code.template" id="vat_code_receivable_tvp_fr">
- <field name="name">TVP/TVQ à recevoir</field>
+ <field name="name">TVP/TVQ payée</field>
<field name="parent_id" ref="vat_code_receivable_tva_fr"/>
</record>
<record model="account.tax.code.template" id="vat_code_receivable_tvh_fr">
- <field name="name">TVH à recevoir</field>
+ <field name="name">TVH payée</field>
<field name="parent_id" ref="vat_code_receivable_tva_fr"/>
</record>
<record model="account.tax.code.template" id="vat_code_payable_fr">
- <field name="name">Taxes à payer</field>
+ <field name="name">Taxes reçues</field>
<field name="parent_id" ref="vat_code_balance_net_fr"/>
</record>
<record model="account.tax.code.template" id="vat_code_payable_tps_fr">
- <field name="name">TPS à payer</field>
+ <field name="name">TPS reçue</field>
<field name="parent_id" ref="vat_code_payable_fr"/>
</record>
<record model="account.tax.code.template" id="vat_code_payable_tvp_fr">
- <field name="name">TVP/TVQ à payer</field>
+ <field name="name">TVP/TVQ reçue</field>
<field name="parent_id" ref="vat_code_payable_fr"/>
</record>
<record model="account.tax.code.template" id="vat_code_payable_tvh_fr">
- <field name="name">TVH à payer</field>
+ <field name="name">TVH reçue</field>
<field name="parent_id" ref="vat_code_payable_fr"/>
</record>
diff --git a/addons/l10n_ca/account_tax_en.xml b/addons/l10n_ca/account_tax_en.xml
index 662ac4b52fc..f185f7f9198 100644
--- a/addons/l10n_ca/account_tax_en.xml
+++ b/addons/l10n_ca/account_tax_en.xml
@@ -2,262 +2,543 @@
<openerp>
<data noupdate="1">
+ <!-- SALES TAXES -->
+
<!-- Manitoba PST -->
- <record id="gstpst_mb_en" model="account.tax.template">
+ <record id="gstpst_mb_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">GST + PST (MB)</field>
- <field name="description">GSTPST_MB</field>
+ <field name="name">GST + PST for sales (MB)</field>
+ <field name="description">GSTPST_MB_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">1</field>
<field name="child_depend">1</field>
<field name="type">percent</field>
</record>
- <record id="gstpst_mb_gst_en" model="account.tax.template">
+ <record id="gstpst_sale_mb_gst_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">GST - 5% (MB)</field>
+ <field name="name">GST for sales - 5% (MB)</field>
<field name="description">GST</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
<field name="sequence">1</field>
<field name="include_base_amount" eval="True"/>
- <field name="account_collected_id" ref="chart1181_en"/>
+ <field name="account_collected_id" ref="chart2121_en"/>
<field name="account_paid_id" ref="chart2121_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_gst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_gst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_gst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_gst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_gst_en"/>
- <field name="parent_id" ref="gstpst_mb_en"/>
+ <field name="parent_id" ref="gstpst_mb_sale_en"/>
</record>
- <record id="pst_mb_en" model="account.tax.template">
+ <record id="pst_mb_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">PST - 7%</field>
+ <field name="name">PST for sales - 7%</field>
<field name="description">PST</field>
- <field name="amount">0.070000</field>
+ <field name="type_tax_use">sale</field>
+ <field name="amount">0.700000</field>
<field name="type">percent</field>
- <field name="sequence">1</field>
- <field name="account_collected_id" ref="chart1182_en"/>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart2122_en"/>
<field name="account_paid_id" ref="chart2122_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_pst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_pst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_pst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_pst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_pst_en"/>
- <field name="parent_id" ref="gstpst_mb_en"/>
+ <field name="parent_id" ref="gstpst_mb_sale_en"/>
</record>
<!-- Prince Edward Island PST -->
- <record id="gstpst_pe_en" model="account.tax.template">
+ <record id="gstpst_pe_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">GST + PST (PE)</field>
- <field name="description">GSTPST_PE</field>
+ <field name="name">GST + PST for sales (PE)</field>
+ <field name="description">GSTPST_PE_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">1</field>
<field name="child_depend">1</field>
<field name="type">percent</field>
</record>
- <record id="gstpst_pe_gst_en" model="account.tax.template">
+ <record id="gstpst_sale_pe_gst_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">GST - 5% (PE)</field>
+ <field name="name">GST for sales - 5% (PE)</field>
<field name="description">GST</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
<field name="sequence">1</field>
<field name="include_base_amount" eval="True"/>
- <field name="account_collected_id" ref="chart1181_en"/>
+ <field name="account_collected_id" ref="chart2121_en"/>
<field name="account_paid_id" ref="chart2121_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_gst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_gst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_gst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_gst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_gst_en"/>
- <field name="parent_id" ref="gstpst_pe_en"/>
+ <field name="parent_id" ref="gstpst_pe_sale_en"/>
</record>
- <record id="pst_pe_en" model="account.tax.template">
+ <record id="pst_pe_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">PST - 10%</field>
+ <field name="name">PST for sale - 10%</field>
<field name="description">PST</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.100000</field>
<field name="type">percent</field>
- <field name="sequence">1</field>
- <field name="account_collected_id" ref="chart1182_en"/>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart2122_en"/>
<field name="account_paid_id" ref="chart2122_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_pst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_pst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_pst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_pst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_pst_en"/>
- <field name="parent_id" ref="gstpst_pe_en"/>
+ <field name="parent_id" ref="gstpst_pe_sale_en"/>
</record>
<!-- Quebec PST -->
- <record id="gstpst_qc_en" model="account.tax.template">
+ <record id="gsttvq_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">GST + PST (QC)</field>
- <field name="description">GSTPST_QC</field>
+ <field name="name">GST + TVQ for sales</field>
+ <field name="description">GSTTVQ_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">1</field>
<field name="child_depend">1</field>
<field name="type">percent</field>
</record>
- <record id="gstpst_qc_gst_en" model="account.tax.template">
+ <record id="gsttvq_sale_gst_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">GST - 5% (QC)</field>
+ <field name="name">GST for sales - 5% (QC)</field>
<field name="description">GST</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
<field name="sequence">1</field>
<field name="include_base_amount" eval="True"/>
- <field name="account_collected_id" ref="chart1181_en"/>
+ <field name="account_collected_id" ref="chart2121_en"/>
<field name="account_paid_id" ref="chart2121_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_gst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_gst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_gst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_gst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_gst_en"/>
- <field name="parent_id" ref="gstpst_qc_en"/>
+ <field name="parent_id" ref="gsttvq_sale_en"/>
</record>
- <record id="pst_qc_en" model="account.tax.template">
+ <record id="tvq_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">PST - 9.5%</field>
- <field name="description">PST</field>
+ <field name="name">TVQ for sales - 9.5%</field>
+ <field name="description">TVQ</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.095000</field>
<field name="type">percent</field>
- <field name="sequence">1</field>
- <field name="account_collected_id" ref="chart1182_en"/>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart2122_en"/>
<field name="account_paid_id" ref="chart2122_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_pst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_pst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_pst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_pst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_pst_en"/>
- <field name="parent_id" ref="gstpst_qc_en"/>
+ <field name="parent_id" ref="gsttvq_sale_en"/>
</record>
<!-- Saskatchewan PST -->
- <record id="gstpst_sk_en" model="account.tax.template">
+ <record id="gstpst_sk_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">GST + PST (SK)</field>
- <field name="description">GSTPST_SK</field>
+ <field name="name">GST + PST for sales (SK)</field>
+ <field name="description">GSTPST_SK_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">1</field>
<field name="child_depend">1</field>
<field name="type">percent</field>
</record>
- <record id="gstpst_sk_gst_en" model="account.tax.template">
+ <record id="gstpst_sale_sk_gst_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">GST - 5% (SK)</field>
+ <field name="name">GST for sales - 5% (SK)</field>
<field name="description">GST</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
<field name="sequence">1</field>
<field name="include_base_amount" eval="True"/>
- <field name="account_collected_id" ref="chart1181_en"/>
+ <field name="account_collected_id" ref="chart2121_en"/>
<field name="account_paid_id" ref="chart2121_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_gst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_gst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_gst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_gst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_gst_en"/>
- <field name="parent_id" ref="gstpst_sk_en"/>
+ <field name="parent_id" ref="gstpst_sk_sale_en"/>
</record>
- <record id="pst_sk_en" model="account.tax.template">
+ <record id="pst_sk_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">PST - 5%</field>
+ <field name="name">PST for sales - 5% (SK)</field>
<field name="description">PST</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
- <field name="sequence">1</field>
- <field name="account_collected_id" ref="chart1182_en"/>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart2122_en"/>
<field name="account_paid_id" ref="chart2122_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_pst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_pst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_pst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_pst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_pst_en"/>
- <field name="parent_id" ref="gstpst_sk_en"/>
+ <field name="parent_id" ref="gstpst_sk_sale_en"/>
</record>
<!-- HST -->
- <record id="hst12_en" model="account.tax.template">
+ <record id="hst12_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">HST - 12%</field>
- <field name="description">HST12</field>
+ <field name="name">TVH for sales - 12%</field>
+ <field name="description">TVH12_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.120000</field>
<field name="type">percent</field>
- <field name="account_collected_id" ref="chart1183_en"/>
+ <field name="account_collected_id" ref="chart2123_en"/>
<field name="account_paid_id" ref="chart2123_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_hst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_hst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_hst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_hst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_hst_en"/>
</record>
- <record id="hst13_en" model="account.tax.template">
+ <record id="hst13_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">HST - 13%</field>
- <field name="description">HST13</field>
+ <field name="name">TVH for sales - 13%</field>
+ <field name="description">TVH13_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.130000</field>
<field name="type">percent</field>
- <field name="account_collected_id" ref="chart1183_en"/>
+ <field name="account_collected_id" ref="chart2123_en"/>
<field name="account_paid_id" ref="chart2123_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_hst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_hst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_hst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_hst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_hst_en"/>
</record>
- <record id="hst135_en" model="account.tax.template">
+ <record id="hst135_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">HST - 13.5%</field>
- <field name="description">HST135</field>
+ <field name="name">TVH for sales - 13.5%</field>
+ <field name="description">TVH135_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.135000</field>
<field name="type">percent</field>
- <field name="account_collected_id" ref="chart1183_en"/>
+ <field name="account_collected_id" ref="chart2123_en"/>
<field name="account_paid_id" ref="chart2123_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_hst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_hst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_hst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_hst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_hst_en"/>
</record>
- <record id="hst15_en" model="account.tax.template">
+ <record id="hst15_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">HST - 15%</field>
- <field name="description">HST15</field>
+ <field name="name">TVH for sales - 15%</field>
+ <field name="description">TVH15_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.150000</field>
<field name="type">percent</field>
- <field name="account_collected_id" ref="chart1183_en"/>
+ <field name="account_collected_id" ref="chart2123_en"/>
<field name="account_paid_id" ref="chart2123_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_hst_en"/>
- <field name="tax_code_id" ref="vat_code_receivable_hst_en"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_hst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_hst_en"/>
<field name="ref_tax_code_id" ref="vat_code_payable_hst_en"/>
</record>
<!-- GST -->
- <record id="gst_en" model="account.tax.template">
+ <record id="gst_sale_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">GST - 5%</field>
- <field name="description">GST</field>
+ <field name="name">GST for sales - 5%</field>
+ <field name="description">GST_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
- <field name="account_collected_id" ref="chart1181_en"/>
+ <field name="account_collected_id" ref="chart2121_en"/>
<field name="account_paid_id" ref="chart2121_en"/>
<field name="base_code_id" ref="vat_code_base_receivable_gst_en"/>
+ <field name="tax_code_id" ref="vat_code_payable_gst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_gst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_payable_gst_en"/>
+ </record>
+
+
+ <!-- PURCHASE TAXES -->
+
+ <!-- Manitoba PST -->
+
+ <record id="gstpst_mb_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">GST + PST for purchases (MB)</field>
+ <field name="description">GSTPST_MB_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">1</field>
+ <field name="child_depend">1</field>
+ <field name="type">percent</field>
+ </record>
+
+ <record id="gstpst_purc_mb_gst_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">GST for purchases - 5% (MB)</field>
+ <field name="description">GST</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="sequence">1</field>
+ <field name="include_base_amount" eval="True"/>
+ <field name="account_collected_id" ref="chart1181_en"/>
+ <field name="account_paid_id" ref="chart1181_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_gst_en"/>
<field name="tax_code_id" ref="vat_code_receivable_gst_en"/>
<field name="ref_base_code_id" ref="vat_code_base_payable_gst_en"/>
- <field name="ref_tax_code_id" ref="vat_code_payable_gst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_gst_en"/>
+ <field name="parent_id" ref="gstpst_mb_purc_en"/>
+ </record>
+
+ <record id="pst_mb_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">PST for purchases - 7%</field>
+ <field name="description">PST</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.700000</field>
+ <field name="type">percent</field>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart1182_en"/>
+ <field name="account_paid_id" ref="chart1182_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_pst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_pst_en"/>
+ <field name="parent_id" ref="gstpst_mb_purc_en"/>
+ </record>
+
+ <!-- Prince Edward Island PST -->
+
+ <record id="gstpst_pe_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">GST + PST for purchases (PE)</field>
+ <field name="description">GSTPST_PE_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">1</field>
+ <field name="child_depend">1</field>
+ <field name="type">percent</field>
+ </record>
+
+ <record id="gstpst_purc_pe_gst_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">GST for purchases - 5% (PE)</field>
+ <field name="description">GST</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="sequence">1</field>
+ <field name="include_base_amount" eval="True"/>
+ <field name="account_collected_id" ref="chart1181_en"/>
+ <field name="account_paid_id" ref="chart1181_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_gst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_gst_en"/>
+ <field name="parent_id" ref="gstpst_pe_purc_en"/>
+ </record>
+
+ <record id="pst_pe_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">PST for purchases - 10%</field>
+ <field name="description">PST</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.100000</field>
+ <field name="type">percent</field>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart1182_en"/>
+ <field name="account_paid_id" ref="chart1182_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_pst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_pst_en"/>
+ <field name="parent_id" ref="gstpst_pe_purc_en"/>
+ </record>
+
+ <!-- Quebec PST -->
+
+ <record id="gsttvq_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">GST + TVQ for purchases</field>
+ <field name="description">GSTTVQ_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">1</field>
+ <field name="child_depend">1</field>
+ <field name="type">percent</field>
+ </record>
+
+ <record id="gsttvq_purc_gst_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">GST for purchases - 5% (QC)</field>
+ <field name="description">GST</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="sequence">1</field>
+ <field name="include_base_amount" eval="True"/>
+ <field name="account_collected_id" ref="chart1181_en"/>
+ <field name="account_paid_id" ref="chart1181_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_gst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_gst_en"/>
+ <field name="parent_id" ref="gsttvq_purc_en"/>
+ </record>
+
+ <record id="tvq_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">TVQ for purchases - 9.5%</field>
+ <field name="description">TVQ</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.095000</field>
+ <field name="type">percent</field>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart1182_en"/>
+ <field name="account_paid_id" ref="chart1182_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_pst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_pst_en"/>
+ <field name="parent_id" ref="gsttvq_purc_en"/>
+ </record>
+
+ <!-- Saskatchewan PST -->
+
+ <record id="gstpst_sk_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">GST + PST for purchases (SK)</field>
+ <field name="description">GSTPST_SK_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">1</field>
+ <field name="child_depend">1</field>
+ <field name="type">percent</field>
+ </record>
+
+ <record id="gstpst_purc_sk_gst_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">GST for purchases - 5% (SK)</field>
+ <field name="description">GST</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="sequence">1</field>
+ <field name="include_base_amount" eval="True"/>
+ <field name="account_collected_id" ref="chart1181_en"/>
+ <field name="account_paid_id" ref="chart1181_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_gst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_gst_en"/>
+ <field name="parent_id" ref="gstpst_sk_purc_en"/>
</record>
- <record id="notax_en" model="account.tax.template">
+ <record id="pst_sk_purc_en" model="account.tax.template">
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
- <field name="name">No tax</field>
- <field name="description">No tax</field>
- <field name="amount">0.00</field>
+ <field name="name">PST for purchases - 5% (SK)</field>
+ <field name="description">PST</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
<field name="type">percent</field>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart1182_en"/>
+ <field name="account_paid_id" ref="chart1182_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_pst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_pst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_pst_en"/>
+ <field name="parent_id" ref="gstpst_sk_purc_en"/>
+ </record>
+
+ <!-- HST -->
+
+ <record id="hst12_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">TVH for purchases - 12%</field>
+ <field name="description">TVH12_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.120000</field>
+ <field name="type">percent</field>
+ <field name="account_collected_id" ref="chart1183_en"/>
+ <field name="account_paid_id" ref="chart1183_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_hst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_hst_en"/>
+ </record>
+
+ <record id="hst13_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">TVH for purchases - 13%</field>
+ <field name="description">TVH13_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.130000</field>
+ <field name="type">percent</field>
+ <field name="account_collected_id" ref="chart1183_en"/>
+ <field name="account_paid_id" ref="chart1183_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_hst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_hst_en"/>
+ </record>
+
+ <record id="hst135_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">TVH for purchases - 13.5%</field>
+ <field name="description">TVH135_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.135000</field>
+ <field name="type">percent</field>
+ <field name="account_collected_id" ref="chart1183_en"/>
+ <field name="account_paid_id" ref="chart1183_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_hst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_hst_en"/>
+ </record>
+
+ <record id="hst15_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">TVH for purchases - 15%</field>
+ <field name="description">TVH15_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.150000</field>
+ <field name="type">percent</field>
+ <field name="account_collected_id" ref="chart1183_en"/>
+ <field name="account_paid_id" ref="chart1183_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_hst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_hst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_hst_en"/>
+ </record>
+
+ <!-- GST -->
+
+ <record id="gst_purc_en" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_en_chart_template_en"/>
+ <field name="name">GST for purchases - 5%</field>
+ <field name="description">GST_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="account_collected_id" ref="chart1181_en"/>
+ <field name="account_paid_id" ref="chart1181_en"/>
+ <field name="base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="tax_code_id" ref="vat_code_receivable_gst_en"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_gst_en"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_gst_en"/>
</record>
</data>
diff --git a/addons/l10n_ca/account_tax_fr.xml b/addons/l10n_ca/account_tax_fr.xml
index 5df4446c611..169bfe4f20b 100644
--- a/addons/l10n_ca/account_tax_fr.xml
+++ b/addons/l10n_ca/account_tax_fr.xml
@@ -2,262 +2,543 @@
<openerp>
<data noupdate="1">
+ <!-- SALES TAXES -->
+
<!-- Manitoba PST -->
- <record id="tpstvp_mb_fr" model="account.tax.template">
+ <record id="tpstvp_mb_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TPS + TVP (MB)</field>
- <field name="description">TPSTVP_MB</field>
+ <field name="name">TPS + TVP sur les ventes (MB)</field>
+ <field name="description">TPSTVP_MB_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">1</field>
<field name="child_depend">1</field>
<field name="type">percent</field>
</record>
- <record id="tpstvp_mb_tps_fr" model="account.tax.template">
+ <record id="tpstvp_sale_mb_tps_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TPS - 5% (MB)</field>
+ <field name="name">TPS sur les ventes - 5% (MB)</field>
<field name="description">TPS</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
<field name="sequence">1</field>
<field name="include_base_amount" eval="True"/>
- <field name="account_collected_id" ref="chart1181_fr"/>
+ <field name="account_collected_id" ref="chart2131_fr"/>
<field name="account_paid_id" ref="chart2131_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tps_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tps_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tps_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tps_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tps_fr"/>
- <field name="parent_id" ref="tpstvp_mb_fr"/>
+ <field name="parent_id" ref="tpstvp_mb_sale_fr"/>
</record>
- <record id="tvp_mb_fr" model="account.tax.template">
+ <record id="tvp_mb_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TVP - 7%</field>
+ <field name="name">TVP sur les ventes - 7%</field>
<field name="description">TVP</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.700000</field>
<field name="type">percent</field>
- <field name="sequence">1</field>
- <field name="account_collected_id" ref="chart1182_fr"/>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart2132_fr"/>
<field name="account_paid_id" ref="chart2132_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tvp_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tvp_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tvp_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tvp_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tvp_fr"/>
- <field name="parent_id" ref="tpstvp_mb_fr"/>
+ <field name="parent_id" ref="tpstvp_mb_sale_fr"/>
</record>
<!-- Prince Edward Island PST -->
- <record id="tpstvp_pe_fr" model="account.tax.template">
+ <record id="tpstvp_pe_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TPS + TVP (PE)</field>
- <field name="description">TPSTVP_PE</field>
+ <field name="name">TPS + TVP sur les ventes (PE)</field>
+ <field name="description">TPSTVP_PE_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">1</field>
<field name="child_depend">1</field>
<field name="type">percent</field>
</record>
- <record id="tpstvp_pe_tps_fr" model="account.tax.template">
+ <record id="tpstvp_sale_pe_tps_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TPS - 5% (PE)</field>
+ <field name="name">TPS sur les ventes - 5% (PE)</field>
<field name="description">TPS</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
<field name="sequence">1</field>
<field name="include_base_amount" eval="True"/>
- <field name="account_collected_id" ref="chart1181_fr"/>
+ <field name="account_collected_id" ref="chart2131_fr"/>
<field name="account_paid_id" ref="chart2131_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tps_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tps_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tps_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tps_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tps_fr"/>
- <field name="parent_id" ref="tpstvp_pe_fr"/>
+ <field name="parent_id" ref="tpstvp_pe_sale_fr"/>
</record>
- <record id="tvp_pe_fr" model="account.tax.template">
+ <record id="tvp_pe_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TVP - 10%</field>
+ <field name="name">TVP for sale - 10%</field>
<field name="description">TVP</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.100000</field>
<field name="type">percent</field>
- <field name="sequence">1</field>
- <field name="account_collected_id" ref="chart1182_fr"/>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart2132_fr"/>
<field name="account_paid_id" ref="chart2132_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tvp_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tvp_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tvp_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tvp_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tvp_fr"/>
- <field name="parent_id" ref="tpstvp_pe_fr"/>
+ <field name="parent_id" ref="tpstvp_pe_sale_fr"/>
</record>
<!-- Quebec PST -->
- <record id="tpstvq_fr" model="account.tax.template">
+ <record id="tpstvq_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TPS + TVQ</field>
- <field name="description">TPSTVQ</field>
+ <field name="name">TPS + TVQ sur les ventes</field>
+ <field name="description">TPSTVQ_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">1</field>
<field name="child_depend">1</field>
<field name="type">percent</field>
</record>
- <record id="tpstvq_tps_fr" model="account.tax.template">
+ <record id="tpstvq_sale_tps_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TPS - 5% (QC)</field>
+ <field name="name">TPS sur les ventes - 5% (QC)</field>
<field name="description">TPS</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
<field name="sequence">1</field>
<field name="include_base_amount" eval="True"/>
- <field name="account_collected_id" ref="chart1181_fr"/>
+ <field name="account_collected_id" ref="chart2131_fr"/>
<field name="account_paid_id" ref="chart2131_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tps_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tps_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tps_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tps_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tps_fr"/>
- <field name="parent_id" ref="tpstvq_fr"/>
+ <field name="parent_id" ref="tpstvq_sale_fr"/>
</record>
- <record id="tvq_fr" model="account.tax.template">
+ <record id="tvq_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TVQ - 9.5%</field>
+ <field name="name">TVQ sur les ventes - 9.5%</field>
<field name="description">TVQ</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.095000</field>
<field name="type">percent</field>
- <field name="sequence">1</field>
- <field name="account_collected_id" ref="chart1182_fr"/>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart2132_fr"/>
<field name="account_paid_id" ref="chart2132_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tvp_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tvp_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tvp_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tvp_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tvp_fr"/>
- <field name="parent_id" ref="tpstvq_fr"/>
+ <field name="parent_id" ref="tpstvq_sale_fr"/>
</record>
<!-- Saskatchewan PST -->
- <record id="tpstvp_sk_fr" model="account.tax.template">
+ <record id="tpstvp_sk_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TPS + TVP (SK)</field>
- <field name="description">TPSTVP_SK</field>
+ <field name="name">TPS + TVP sur les ventes (SK)</field>
+ <field name="description">TPSTVP_SK_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">1</field>
<field name="child_depend">1</field>
<field name="type">percent</field>
</record>
- <record id="tpstvp_sk_tps_fr" model="account.tax.template">
+ <record id="tpstvp_sale_sk_tps_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TPS - 5% (SK)</field>
+ <field name="name">TPS sur les ventes - 5% (SK)</field>
<field name="description">TPS</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
<field name="sequence">1</field>
<field name="include_base_amount" eval="True"/>
- <field name="account_collected_id" ref="chart1181_fr"/>
+ <field name="account_collected_id" ref="chart2131_fr"/>
<field name="account_paid_id" ref="chart2131_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tps_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tps_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tps_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tps_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tps_fr"/>
- <field name="parent_id" ref="tpstvp_sk_fr"/>
+ <field name="parent_id" ref="tpstvp_sk_sale_fr"/>
</record>
- <record id="tvp_sk_fr" model="account.tax.template">
+ <record id="tvp_sk_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TVP - 5% (SK)</field>
+ <field name="name">TVP sur les ventes - 5% (SK)</field>
<field name="description">TVP</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
- <field name="sequence">1</field>
- <field name="account_collected_id" ref="chart1182_fr"/>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart2132_fr"/>
<field name="account_paid_id" ref="chart2132_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tvp_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tvp_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tvp_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tvp_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tvp_fr"/>
- <field name="parent_id" ref="tpstvp_sk_fr"/>
+ <field name="parent_id" ref="tpstvp_sk_sale_fr"/>
</record>
<!-- HST -->
- <record id="tvh12_fr" model="account.tax.template">
+ <record id="tvh12_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TVH - 12%</field>
- <field name="description">TVH12</field>
+ <field name="name">TVH sur les ventes - 12%</field>
+ <field name="description">TVH12_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.120000</field>
<field name="type">percent</field>
- <field name="account_collected_id" ref="chart1183_fr"/>
+ <field name="account_collected_id" ref="chart2133_fr"/>
<field name="account_paid_id" ref="chart2133_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tvh_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tvh_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tvh_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tvh_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tvh_fr"/>
</record>
- <record id="tvh13_fr" model="account.tax.template">
+ <record id="tvh13_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TVH - 13%</field>
- <field name="description">TVH13</field>
+ <field name="name">TVH sur les ventes - 13%</field>
+ <field name="description">TVH13_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.130000</field>
<field name="type">percent</field>
- <field name="account_collected_id" ref="chart1183_fr"/>
+ <field name="account_collected_id" ref="chart2133_fr"/>
<field name="account_paid_id" ref="chart2133_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tvh_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tvh_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tvh_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tvh_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tvh_fr"/>
</record>
- <record id="tvh135_fr" model="account.tax.template">
+ <record id="tvh135_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TVH - 13.5%</field>
- <field name="description">TVH135</field>
+ <field name="name">TVH sur les ventes - 13.5%</field>
+ <field name="description">TVH135_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.135000</field>
<field name="type">percent</field>
- <field name="account_collected_id" ref="chart1183_fr"/>
+ <field name="account_collected_id" ref="chart2133_fr"/>
<field name="account_paid_id" ref="chart2133_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tvh_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tvh_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tvh_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tvh_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tvh_fr"/>
</record>
- <record id="tvh15_fr" model="account.tax.template">
+ <record id="tvh15_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TVH - 15%</field>
- <field name="description">TVH15</field>
+ <field name="name">TVH sur les ventes - 15%</field>
+ <field name="description">TVH15_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.150000</field>
<field name="type">percent</field>
- <field name="account_collected_id" ref="chart1183_fr"/>
+ <field name="account_collected_id" ref="chart2133_fr"/>
<field name="account_paid_id" ref="chart2133_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tvh_fr"/>
- <field name="tax_code_id" ref="vat_code_receivable_tvh_fr"/>
- <field name="ref_base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tvh_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tvh_fr"/>
<field name="ref_tax_code_id" ref="vat_code_payable_tvh_fr"/>
</record>
<!-- GST -->
- <record id="tps_fr" model="account.tax.template">
+ <record id="tps_sale_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">TPS - 5%</field>
- <field name="description">TPS</field>
+ <field name="name">TPS sur les ventes - 5%</field>
+ <field name="description">TPS_SALE</field>
+ <field name="type_tax_use">sale</field>
<field name="amount">0.050000</field>
<field name="type">percent</field>
- <field name="account_collected_id" ref="chart1181_fr"/>
+ <field name="account_collected_id" ref="chart2131_fr"/>
<field name="account_paid_id" ref="chart2131_fr"/>
<field name="base_code_id" ref="vat_code_base_receivable_tps_fr"/>
+ <field name="tax_code_id" ref="vat_code_payable_tps_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_receivable_tps_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_payable_tps_fr"/>
+ </record>
+
+
+ <!-- PURCHASE TAXES -->
+
+ <!-- Manitoba PST -->
+
+ <record id="tpstvp_mb_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TPS + TVP sur les achats (MB)</field>
+ <field name="description">TPSTVP_MB_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">1</field>
+ <field name="child_depend">1</field>
+ <field name="type">percent</field>
+ </record>
+
+ <record id="tpstvp_purc_mb_tps_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TPS sur les achats - 5% (MB)</field>
+ <field name="description">TPS</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="sequence">1</field>
+ <field name="include_base_amount" eval="True"/>
+ <field name="account_collected_id" ref="chart1181_fr"/>
+ <field name="account_paid_id" ref="chart1181_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tps_fr"/>
<field name="tax_code_id" ref="vat_code_receivable_tps_fr"/>
<field name="ref_base_code_id" ref="vat_code_base_payable_tps_fr"/>
- <field name="ref_tax_code_id" ref="vat_code_payable_tps_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tps_fr"/>
+ <field name="parent_id" ref="tpstvp_mb_purc_fr"/>
</record>
- <record id="notax_fr" model="account.tax.template">
+ <record id="tvp_mb_purc_fr" model="account.tax.template">
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
- <field name="name">Pas de taxes</field>
- <field name="description">Pas de taxes</field>
- <field name="amount">0.00</field>
+ <field name="name">TVP sur les achats - 7%</field>
+ <field name="description">TVP</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.700000</field>
<field name="type">percent</field>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart1182_fr"/>
+ <field name="account_paid_id" ref="chart1182_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tvp_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tvp_fr"/>
+ <field name="parent_id" ref="tpstvp_mb_purc_fr"/>
+ </record>
+
+ <!-- Prince Edward Island PST -->
+
+ <record id="tpstvp_pe_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TPS + TVP sur les achats (PE)</field>
+ <field name="description">TPSTVP_PE_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">1</field>
+ <field name="child_depend">1</field>
+ <field name="type">percent</field>
+ </record>
+
+ <record id="tpstvp_purc_pe_tps_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TPS sur les achats - 5% (PE)</field>
+ <field name="description">TPS</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="sequence">1</field>
+ <field name="include_base_amount" eval="True"/>
+ <field name="account_collected_id" ref="chart1181_fr"/>
+ <field name="account_paid_id" ref="chart1181_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tps_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tps_fr"/>
+ <field name="parent_id" ref="tpstvp_pe_purc_fr"/>
+ </record>
+
+ <record id="tvp_pe_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TVP sur les achats - 10%</field>
+ <field name="description">TVP</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.100000</field>
+ <field name="type">percent</field>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart1182_fr"/>
+ <field name="account_paid_id" ref="chart1182_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tvp_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tvp_fr"/>
+ <field name="parent_id" ref="tpstvp_pe_purc_fr"/>
+ </record>
+
+ <!-- Quebec PST -->
+
+ <record id="tpstvq_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TPS + TVQ sur les achats</field>
+ <field name="description">TPSTVQ_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">1</field>
+ <field name="child_depend">1</field>
+ <field name="type">percent</field>
+ </record>
+
+ <record id="tpstvq_purc_tps_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TPS sur les achats - 5% (QC)</field>
+ <field name="description">TPS</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="sequence">1</field>
+ <field name="include_base_amount" eval="True"/>
+ <field name="account_collected_id" ref="chart1181_fr"/>
+ <field name="account_paid_id" ref="chart1181_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tps_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tps_fr"/>
+ <field name="parent_id" ref="tpstvq_purc_fr"/>
+ </record>
+
+ <record id="tvq_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TVQ sur les achats - 9.5%</field>
+ <field name="description">TVQ</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.095000</field>
+ <field name="type">percent</field>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart1182_fr"/>
+ <field name="account_paid_id" ref="chart1182_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tvp_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tvp_fr"/>
+ <field name="parent_id" ref="tpstvq_purc_fr"/>
+ </record>
+
+ <!-- Saskatchewan PST -->
+
+ <record id="tpstvp_sk_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TPS + TVP sur les achats (SK)</field>
+ <field name="description">TPSTVP_SK_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">1</field>
+ <field name="child_depend">1</field>
+ <field name="type">percent</field>
+ </record>
+
+ <record id="tpstvp_purc_sk_tps_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TPS sur les achats - 5% (SK)</field>
+ <field name="description">TPS</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="sequence">1</field>
+ <field name="include_base_amount" eval="True"/>
+ <field name="account_collected_id" ref="chart1181_fr"/>
+ <field name="account_paid_id" ref="chart1181_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tps_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tps_fr"/>
+ <field name="parent_id" ref="tpstvp_sk_purc_fr"/>
+ </record>
+
+ <record id="tvp_sk_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TVP sur les achats - 5% (SK)</field>
+ <field name="description">TVP</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="sequence">2</field>
+ <field name="account_collected_id" ref="chart1182_fr"/>
+ <field name="account_paid_id" ref="chart1182_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tvp_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tvp_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tvp_fr"/>
+ <field name="parent_id" ref="tpstvp_sk_purc_fr"/>
+ </record>
+
+ <!-- HST -->
+
+ <record id="tvh12_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TVH sur les achats - 12%</field>
+ <field name="description">TVH12_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.120000</field>
+ <field name="type">percent</field>
+ <field name="account_collected_id" ref="chart1183_fr"/>
+ <field name="account_paid_id" ref="chart1183_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tvh_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tvh_fr"/>
+ </record>
+
+ <record id="tvh13_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TVH sur les achats - 13%</field>
+ <field name="description">TVH13_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.130000</field>
+ <field name="type">percent</field>
+ <field name="account_collected_id" ref="chart1183_fr"/>
+ <field name="account_paid_id" ref="chart1183_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tvh_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tvh_fr"/>
+ </record>
+
+ <record id="tvh135_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TVH sur les achats - 13.5%</field>
+ <field name="description">TVH135_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.135000</field>
+ <field name="type">percent</field>
+ <field name="account_collected_id" ref="chart1183_fr"/>
+ <field name="account_paid_id" ref="chart1183_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tvh_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tvh_fr"/>
+ </record>
+
+ <record id="tvh15_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TVH sur les achats - 15%</field>
+ <field name="description">TVH15_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.150000</field>
+ <field name="type">percent</field>
+ <field name="account_collected_id" ref="chart1183_fr"/>
+ <field name="account_paid_id" ref="chart1183_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tvh_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tvh_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tvh_fr"/>
+ </record>
+
+ <!-- GST -->
+
+ <record id="tps_purc_fr" model="account.tax.template">
+ <field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
+ <field name="name">TPS sur les achats - 5%</field>
+ <field name="description">TPS_PURC</field>
+ <field name="type_tax_use">purchase</field>
+ <field name="amount">0.050000</field>
+ <field name="type">percent</field>
+ <field name="account_collected_id" ref="chart1181_fr"/>
+ <field name="account_paid_id" ref="chart1181_fr"/>
+ <field name="base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="tax_code_id" ref="vat_code_receivable_tps_fr"/>
+ <field name="ref_base_code_id" ref="vat_code_base_payable_tps_fr"/>
+ <field name="ref_tax_code_id" ref="vat_code_receivable_tps_fr"/>
</record>
</data>
diff --git a/addons/l10n_ca/account_types_en.xml b/addons/l10n_ca/account_types_en.xml
deleted file mode 100644
index cc155a792ae..00000000000
--- a/addons/l10n_ca/account_types_en.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<openerp>
- <data>
-
- <record model="account.account.type" id="user_type_receivable_en" >
- <field name="name">Receivable</field>
- <field name="code">receivable</field>
- <field name="close_method">unreconciled</field>
- </record>
-
- <record model="account.account.type" id="user_type_payable_en" >
- <field name="name">Payable</field>
- <field name="code">payable</field>
- <field name="close_method">unreconciled</field>
- </record>
-
- <record model="account.account.type" id="user_type_view_en">
- <field name="name">View</field>
- <field name="code">view</field>
- <field name="close_method">none</field>
- </record>
-
- <record model="account.account.type" id="user_type_income_en" >
- <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="user_type_expense_en">
- <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="user_type_tax_en">
- <field name="name">Tax</field>
- <field name="code">tax</field>
- <field name="close_method">unreconciled</field>
- </record>
-
- <record model="account.account.type" id="user_type_cash_en">
- <field name="name">Cash</field>
- <field name="code">cash</field>
- <field name="close_method">balance</field>
- </record>
-
- <record model="account.account.type" id="user_type_asset_en">
- <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="user_type_equity_en">
- <field name="name">Equity</field>
- <field name="code">equity</field>
- <field name="report_type">liability</field>
- <field name="close_method">balance</field>
- </record>
-
- </data>
-</openerp>
diff --git a/addons/l10n_ca/account_types_fr.xml b/addons/l10n_ca/account_types_fr.xml
deleted file mode 100644
index b7d82956195..00000000000
--- a/addons/l10n_ca/account_types_fr.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<openerp>
- <data>
-
- <record id="user_type_view_fr" model="account.account.type">
- <field name="name">Vue</field>
- <field name="code">view</field>
- <field name="close_method">none</field>
- </record>
-
- <record id="user_type_capitaux_fr" model="account.account.type">
- <field name="name">Capital</field>
- <field name="code">capital</field>
- <field name="report_type">asset</field>
- <field name="close_method">balance</field>
- </record>
-
- <record id="user_type_immo_fr" model="account.account.type">
- <field name="name">Immobilisation</field>
- <field name="code">immo</field>
- <field name="report_type">asset</field>
- <field name="close_method">balance</field>
- </record>
-
- <record id="user_type_stock_fr" model="account.account.type">
- <field name="name">Stock et Encours</field>
- <field name="code">stock</field>
- <field name="report_type">asset</field>
- <field name="close_method">balance</field>
- </record>
-
- <record id="user_type_tiers_fr" model="account.account.type">
- <field name="name">Tiers</field>
- <field name="code">tiers</field>
- <field name="close_method">balance</field>
- </record>
-
- <record id="user_type_tiers_receiv_fr" model="account.account.type">
- <field name="name">Tiers - Recevable</field>
- <field name="code">tiers -rec</field>
- <field name="report_type">asset</field>
- <field name="close_method">unreconciled</field>
- </record>
-
- <record id="user_type_tiers_payable_fr" model="account.account.type">
- <field name="name">Tiers - Payable</field>
- <field name="code">tiers - pay</field>
- <field name="report_type">liability</field>
- <field name="close_method">unreconciled</field>
- </record>
-
- <record id="user_type_tax_fr" model="account.account.type">
- <field name="name">Tax</field>
- <field name="code">tax</field>
- <field name="close_method">unreconciled</field>
- </record>
-
- <record id="user_type_financiers_fr" model="account.account.type">
- <field name="name">Financier</field>
- <field name="code">financier</field>
- <field name="close_method">balance</field>
- </record>
-
- <record id="user_type_charge_fr" model="account.account.type">
- <field name="name">Charge</field>
- <field name="code">charge</field>
- <field name="report_type">expense</field>
- <field name="close_method">none</field>
- </record>
-
- <record id="user_type_produit_fr" model="account.account.type">
- <field name="name">Produit</field>
- <field name="code">produit</field>
- <field name="report_type">income</field>
- <field name="close_method">none</field>
- </record>
-
- </data>
-</openerp>
diff --git a/addons/l10n_ca/fiscal_templates_en.xml b/addons/l10n_ca/fiscal_templates_en.xml
index ba5c919a383..68e881c3541 100644
--- a/addons/l10n_ca/fiscal_templates_en.xml
+++ b/addons/l10n_ca/fiscal_templates_en.xml
@@ -39,354 +39,618 @@
<field name="chart_template_id" ref="ca_en_chart_template_en"/>
</record>
+ <!-- PURCHASES TAXES -->
+
+ <!-- Alberta Fiscal Position Tax Templates (default is gst) -->
+
+ <record id="fiscal_position_tax_template_21_ab_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="gst_purc_en" />
+ <field name="tax_dest_id" ref="hst12_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_ab_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="gst_purc_en" />
+ <field name="tax_dest_id" ref="hst13_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_ab_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="gst_purc_en" />
+ <field name="tax_dest_id" ref="hst135_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_ab_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="gst_purc_en" />
+ <field name="tax_dest_id" ref="hst15_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_ab_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="gst_purc_en" />
+ </record>
+
+ <!-- British Columbia Fiscal Position Tax Templates (default is hst12) -->
+
+ <record id="fiscal_position_tax_template_22_12_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="hst12_purc_en" />
+ <field name="tax_dest_id" ref="hst13_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_12_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="hst12_purc_en" />
+ <field name="tax_dest_id" ref="hst135_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_12_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="hst12_purc_en" />
+ <field name="tax_dest_id" ref="hst15_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_12_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="hst12_purc_en" />
+ <field name="tax_dest_id" ref="gst_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_12_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="hst12_purc_en" />
+ </record>
+
+ <!-- Manitoba Fiscal Position Tax Templates (default is gstpst_mb) -->
+
+ <record id="fiscal_position_tax_template_21_mb_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="gstpst_mb_purc_en" />
+ <field name="tax_dest_id" ref="hst12_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_mb_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="gstpst_mb_purc_en" />
+ <field name="tax_dest_id" ref="hst13_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_mb_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="gstpst_mb_purc_en" />
+ <field name="tax_dest_id" ref="hst135_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_mb_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="gstpst_mb_purc_en" />
+ <field name="tax_dest_id" ref="hst15_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_mb_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="gstpst_mb_purc_en" />
+ <field name="tax_dest_id" ref="gst_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_mb_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="gstpst_mb_purc_en" />
+ </record>
+
+ <!-- New Brunswick, Newfoundland and Labrador and Ontario Fiscal Position Tax Templates (default is hst13) -->
+
+ <record id="fiscal_position_tax_template_21_13_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="hst13_purc_en" />
+ <field name="tax_dest_id" ref="hst12_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_13_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="hst13_purc_en" />
+ <field name="tax_dest_id" ref="hst135_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_13_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="hst13_purc_en" />
+ <field name="tax_dest_id" ref="hst15_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_13_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="hst13_purc_en" />
+ <field name="tax_dest_id" ref="gst_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_13_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="hst13_purc_en" />
+ </record>
+
+ <!-- Nova Scotia Fiscal Position Tax Templates (default is hst15) -->
+
+ <record id="fiscal_position_tax_template_21_15_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="hst15_purc_en" />
+ <field name="tax_dest_id" ref="hst12_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_15_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="hst15_purc_en" />
+ <field name="tax_dest_id" ref="hst13_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_15_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="hst15_purc_en" />
+ <field name="tax_dest_id" ref="hst135_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_15_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="hst15_purc_en" />
+ <field name="tax_dest_id" ref="gst_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_15_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="hst15_purc_en" />
+ </record>
+
+ <!-- Prince Edward Island Fiscal Position Tax Templates (default is gstpst_pe)-->
+
+ <record id="fiscal_position_tax_template_21_pe_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="gstpst_pe_purc_en" />
+ <field name="tax_dest_id" ref="hst12_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_pe_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="gstpst_pe_purc_en" />
+ <field name="tax_dest_id" ref="hst13_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_pe_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="gstpst_pe_purc_en" />
+ <field name="tax_dest_id" ref="hst135_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_pe_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="gstpst_pe_purc_en" />
+ <field name="tax_dest_id" ref="hst15_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_pe_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="gstpst_pe_purc_en" />
+ <field name="tax_dest_id" ref="gst_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_qc_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="gstpst_pe_purc_en" />
+ </record>
+
+ <!-- Quebec Fiscal Position Tax Templates (default is gsttvq)-->
+
+ <record id="fiscal_position_tax_template_21_qc_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="gsttvq_purc_en" />
+ <field name="tax_dest_id" ref="hst12_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_qc_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="gsttvq_purc_en" />
+ <field name="tax_dest_id" ref="hst13_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_qc_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="gsttvq_purc_en" />
+ <field name="tax_dest_id" ref="hst15_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_qc_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="gsttvq_purc_en" />
+ <field name="tax_dest_id" ref="gst_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_qc_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="gsttvq_purc_en" />
+ </record>
+
+ <!-- Saskatchewan Fiscal Position Tax Templates (default is gstpst_sk)-->
+
+ <record id="fiscal_position_tax_template_21_sk_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="gstpst_sk_purc_en" />
+ <field name="tax_dest_id" ref="hst12_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_sk_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="gstpst_sk_purc_en" />
+ <field name="tax_dest_id" ref="hst13_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_sk_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="gstpst_sk_purc_en" />
+ <field name="tax_dest_id" ref="hst135_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_sk_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="gstpst_sk_purc_en" />
+ <field name="tax_dest_id" ref="hst15_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_sk_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="gstpst_sk_purc_en" />
+ <field name="tax_dest_id" ref="gst_purc_en" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_sk_purc_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="gstpst_sk_purc_en" />
+ </record>
+
+
+ <!-- SALES TAXES -->
+
+
<!-- Alberta Fiscal Position Tax Templates (default is gst) -->
- <record id="fiscal_position_tax_template_21_ab_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_21_en"/>
- <field name="tax_src_id" ref="gst_en"/>
- <field name="tax_dest_id" ref="hst12_en"/>
+ <record id="fiscal_position_tax_template_21_ab_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="gst_sale_en" />
+ <field name="tax_dest_id" ref="hst12_sale_en" />
</record>
- <record id="fiscal_position_tax_template_22_ab_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_22_en"/>
- <field name="tax_src_id" ref="gst_en"/>
- <field name="tax_dest_id" ref="hst13_en"/>
+ <record id="fiscal_position_tax_template_22_ab_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="gst_sale_en" />
+ <field name="tax_dest_id" ref="hst13_sale_en" />
</record>
- <record id="fiscal_position_tax_template_23_ab_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_23_en"/>
- <field name="tax_src_id" ref="gst_en"/>
- <field name="tax_dest_id" ref="hst135_en"/>
+ <record id="fiscal_position_tax_template_23_ab_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="gst_sale_en" />
+ <field name="tax_dest_id" ref="hst135_sale_en" />
</record>
- <record id="fiscal_position_tax_template_24_ab_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_24_en"/>
- <field name="tax_src_id" ref="gst_en"/>
- <field name="tax_dest_id" ref="hst15_en"/>
+ <record id="fiscal_position_tax_template_24_ab_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="gst_sale_en" />
+ <field name="tax_dest_id" ref="hst15_sale_en" />
</record>
- <record id="fiscal_position_tax_template_4_ab_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_4_en"/>
- <field name="tax_src_id" ref="gst_en"/>
- <field name="tax_dest_id" ref="notax_en"/>
+ <record id="fiscal_position_tax_template_4_ab_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="gst_sale_en" />
</record>
<!-- British Columbia Fiscal Position Tax Templates (default is hst12) -->
- <record id="fiscal_position_tax_template_22_12c_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_22_en"/>
- <field name="tax_src_id" ref="hst12_en"/>
- <field name="tax_dest_id" ref="hst13_en"/>
+ <record id="fiscal_position_tax_template_22_12c_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="hst12_sale_en" />
+ <field name="tax_dest_id" ref="hst13_sale_en" />
</record>
- <record id="fiscal_position_tax_template_23_12_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_23_en"/>
- <field name="tax_src_id" ref="hst12_en"/>
- <field name="tax_dest_id" ref="hst135_en"/>
+ <record id="fiscal_position_tax_template_23_12_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="hst12_sale_en" />
+ <field name="tax_dest_id" ref="hst135_sale_en" />
</record>
- <record id="fiscal_position_tax_template_24_12_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_24_en"/>
- <field name="tax_src_id" ref="hst12_en"/>
- <field name="tax_dest_id" ref="hst15_en"/>
+ <record id="fiscal_position_tax_template_24_12_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="hst12_sale_en" />
+ <field name="tax_dest_id" ref="hst15_sale_en" />
</record>
- <record id="fiscal_position_tax_template_3_12_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_3_en"/>
- <field name="tax_src_id" ref="hst12_en"/>
- <field name="tax_dest_id" ref="gst_en"/>
+ <record id="fiscal_position_tax_template_3_12_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="hst12_sale_en" />
+ <field name="tax_dest_id" ref="gst_sale_en" />
</record>
- <record id="fiscal_position_tax_template_4_12_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_4_en"/>
- <field name="tax_src_id" ref="hst12_en"/>
- <field name="tax_dest_id" ref="notax_en"/>
+ <record id="fiscal_position_tax_template_4_12_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="hst12_sale_en" />
</record>
<!-- Manitoba Fiscal Position Tax Templates (default is gstpst_mb) -->
- <record id="fiscal_position_tax_template_21_mb_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_21_en"/>
- <field name="tax_src_id" ref="gstpst_mb_en"/>
- <field name="tax_dest_id" ref="hst12_en"/>
+ <record id="fiscal_position_tax_template_21_mb_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="gstpst_mb_sale_en" />
+ <field name="tax_dest_id" ref="hst12_sale_en" />
</record>
- <record id="fiscal_position_tax_template_22_mb_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_22_en"/>
- <field name="tax_src_id" ref="gstpst_mb_en"/>
- <field name="tax_dest_id" ref="hst13_en"/>
+ <record id="fiscal_position_tax_template_22_mb_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="gstpst_mb_sale_en" />
+ <field name="tax_dest_id" ref="hst13_sale_en" />
</record>
- <record id="fiscal_position_tax_template_23_mb_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_23_en"/>
- <field name="tax_src_id" ref="gstpst_mb_en"/>
- <field name="tax_dest_id" ref="hst135_en"/>
+ <record id="fiscal_position_tax_template_23_mb_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="gstpst_mb_sale_en" />
+ <field name="tax_dest_id" ref="hst135_sale_en" />
</record>
- <record id="fiscal_position_tax_template_24_mb_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_24_en"/>
- <field name="tax_src_id" ref="gstpst_mb_en"/>
- <field name="tax_dest_id" ref="hst15_en"/>
+ <record id="fiscal_position_tax_template_24_mb_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="gstpst_mb_sale_en" />
+ <field name="tax_dest_id" ref="hst15_sale_en" />
</record>
- <record id="fiscal_position_tax_template_3_mb_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_3_en"/>
- <field name="tax_src_id" ref="gstpst_mb_en"/>
- <field name="tax_dest_id" ref="gst_en"/>
+ <record id="fiscal_position_tax_template_3_mb_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="gstpst_mb_sale_en" />
+ <field name="tax_dest_id" ref="gst_sale_en" />
</record>
- <record id="fiscal_position_tax_template_4_mb_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_4_en"/>
- <field name="tax_src_id" ref="gstpst_mb_en"/>
- <field name="tax_dest_id" ref="notax_en"/>
+ <record id="fiscal_position_tax_template_4_mb_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="gstpst_mb_sale_en" />
</record>
<!-- New Brunswick, Newfoundland and Labrador and Ontario Fiscal Position Tax Templates (default is hst13) -->
- <record id="fiscal_position_tax_template_21_13_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_21_en"/>
- <field name="tax_src_id" ref="hst13_en"/>
- <field name="tax_dest_id" ref="hst12_en"/>
+ <record id="fiscal_position_tax_template_21_13_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="hst13_sale_en" />
+ <field name="tax_dest_id" ref="hst12_sale_en" />
</record>
- <record id="fiscal_position_tax_template_23_13_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_23_en"/>
- <field name="tax_src_id" ref="hst13_en"/>
- <field name="tax_dest_id" ref="hst135_en"/>
+ <record id="fiscal_position_tax_template_23_13_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="hst13_sale_en" />
+ <field name="tax_dest_id" ref="hst135_sale_en" />
</record>
- <record id="fiscal_position_tax_template_24_13_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_24_en"/>
- <field name="tax_src_id" ref="hst13_en"/>
- <field name="tax_dest_id" ref="hst15_en"/>
+ <record id="fiscal_position_tax_template_24_13_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="hst13_sale_en" />
+ <field name="tax_dest_id" ref="hst15_sale_en" />
</record>
- <record id="fiscal_position_tax_template_3_13_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_3_en"/>
- <field name="tax_src_id" ref="hst13_en"/>
- <field name="tax_dest_id" ref="gst_en"/>
+ <record id="fiscal_position_tax_template_3_13_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="hst13_sale_en" />
+ <field name="tax_dest_id" ref="gst_sale_en" />
</record>
- <record id="fiscal_position_tax_template_4_13_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_4_en"/>
- <field name="tax_src_id" ref="hst13_en"/>
- <field name="tax_dest_id" ref="notax_en"/>
+ <record id="fiscal_position_tax_template_4_13_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="hst13_sale_en" />
</record>
<!-- Nova Scotia Fiscal Position Tax Templates (default is hst15) -->
- <record id="fiscal_position_tax_template_21_15_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_21_en"/>
- <field name="tax_src_id" ref="hst15_en"/>
- <field name="tax_dest_id" ref="hst12_en"/>
+ <record id="fiscal_position_tax_template_21_15_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="hst15_sale_en" />
+ <field name="tax_dest_id" ref="hst12_sale_en" />
</record>
- <record id="fiscal_position_tax_template_22_15_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_22_en"/>
- <field name="tax_src_id" ref="hst15_en"/>
- <field name="tax_dest_id" ref="hst13_en"/>
+ <record id="fiscal_position_tax_template_22_15_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="hst15_sale_en" />
+ <field name="tax_dest_id" ref="hst13_sale_en" />
</record>
- <record id="fiscal_position_tax_template_23_15_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_23_en"/>
- <field name="tax_src_id" ref="hst15_en"/>
- <field name="tax_dest_id" ref="hst135_en"/>
+ <record id="fiscal_position_tax_template_23_15_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="hst15_sale_en" />
+ <field name="tax_dest_id" ref="hst135_sale_en" />
</record>
- <record id="fiscal_position_tax_template_3_15_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_3_en"/>
- <field name="tax_src_id" ref="hst15_en"/>
- <field name="tax_dest_id" ref="gst_en"/>
+ <record id="fiscal_position_tax_template_3_15_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="hst15_sale_en" />
+ <field name="tax_dest_id" ref="gst_sale_en" />
</record>
- <record id="fiscal_position_tax_template_4_15_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_4_en"/>
- <field name="tax_src_id" ref="hst15_en"/>
- <field name="tax_dest_id" ref="notax_en"/>
+ <record id="fiscal_position_tax_template_4_15_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="hst15_sale_en" />
</record>
<!-- Prince Edward Island Fiscal Position Tax Templates (default is gstpst_pe)-->
- <record id="fiscal_position_tax_template_21_pe_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_21_en"/>
- <field name="tax_src_id" ref="gstpst_pe_en"/>
- <field name="tax_dest_id" ref="hst12_en"/>
+ <record id="fiscal_position_tax_template_21_pe_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="gstpst_pe_sale_en" />
+ <field name="tax_dest_id" ref="hst12_sale_en" />
</record>
- <record id="fiscal_position_tax_template_22_pe_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_22_en"/>
- <field name="tax_src_id" ref="gstpst_pe_en"/>
- <field name="tax_dest_id" ref="hst13_en"/>
+ <record id="fiscal_position_tax_template_22_pe_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="gstpst_pe_sale_en" />
+ <field name="tax_dest_id" ref="hst13_sale_en" />
</record>
- <record id="fiscal_position_tax_template_23_pe_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_23_en"/>
- <field name="tax_src_id" ref="gstpst_pe_en"/>
- <field name="tax_dest_id" ref="hst135_en"/>
+ <record id="fiscal_position_tax_template_23_pe_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="gstpst_pe_sale_en" />
+ <field name="tax_dest_id" ref="hst135_sale_en" />
</record>
- <record id="fiscal_position_tax_template_24_pe_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_24_en"/>
- <field name="tax_src_id" ref="gstpst_pe_en"/>
- <field name="tax_dest_id" ref="hst15_en"/>
+ <record id="fiscal_position_tax_template_24_pe_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="gstpst_pe_sale_en" />
+ <field name="tax_dest_id" ref="hst15_sale_en" />
</record>
- <record id="fiscal_position_tax_template_3_pe_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_3_en"/>
- <field name="tax_src_id" ref="gstpst_pe_en"/>
- <field name="tax_dest_id" ref="gst_en"/>
+ <record id="fiscal_position_tax_template_3_pe_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="gstpst_pe_sale_en" />
+ <field name="tax_dest_id" ref="gst_sale_en" />
</record>
- <record id="fiscal_position_tax_template_4_qc_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_4_en"/>
- <field name="tax_src_id" ref="gstpst_pe_en"/>
- <field name="tax_dest_id" ref="notax_en"/>
+ <record id="fiscal_position_tax_template_4_qc_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="gstpst_pe_sale_en" />
</record>
- <!-- Quebec Fiscal Position Tax Templates (default is gstpst_qc)-->
+ <!-- Quebec Fiscal Position Tax Templates (default is gsttvq)-->
- <record id="fiscal_position_tax_template_21_qc_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_21_en"/>
- <field name="tax_src_id" ref="gstpst_qc_en"/>
- <field name="tax_dest_id" ref="hst12_en"/>
+ <record id="fiscal_position_tax_template_21_qc_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="gsttvq_sale_en" />
+ <field name="tax_dest_id" ref="hst12_sale_en" />
</record>
- <record id="fiscal_position_tax_template_22_qc_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_22_en"/>
- <field name="tax_src_id" ref="gstpst_qc_en"/>
- <field name="tax_dest_id" ref="hst13_en"/>
+ <record id="fiscal_position_tax_template_22_qc_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="gsttvq_sale_en" />
+ <field name="tax_dest_id" ref="hst13_sale_en" />
</record>
- <record id="fiscal_position_tax_template_24_qc_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_24_en"/>
- <field name="tax_src_id" ref="gstpst_qc_en"/>
- <field name="tax_dest_id" ref="hst15_en"/>
+ <record id="fiscal_position_tax_template_24_qc_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="gsttvq_sale_en" />
+ <field name="tax_dest_id" ref="hst15_sale_en" />
</record>
- <record id="fiscal_position_tax_template_3_qc_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_3_en"/>
- <field name="tax_src_id" ref="gstpst_qc_en"/>
- <field name="tax_dest_id" ref="gst_en"/>
+ <record id="fiscal_position_tax_template_3_qc_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="gsttvq_sale_en" />
+ <field name="tax_dest_id" ref="gst_sale_en" />
</record>
- <record id="fiscal_position_tax_template_4_qc_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_4_en"/>
- <field name="tax_src_id" ref="gstpst_qc_en"/>
- <field name="tax_dest_id" ref="notax_en"/>
+ <record id="fiscal_position_tax_template_4_qc_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="gsttvq_sale_en" />
</record>
<!-- Saskatchewan Fiscal Position Tax Templates (default is gstpst_sk)-->
- <record id="fiscal_position_tax_template_21_sk_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_21_en"/>
- <field name="tax_src_id" ref="gstpst_sk_en"/>
- <field name="tax_dest_id" ref="hst12_en"/>
+ <record id="fiscal_position_tax_template_21_sk_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="tax_src_id" ref="gstpst_sk_sale_en" />
+ <field name="tax_dest_id" ref="hst12_sale_en" />
</record>
- <record id="fiscal_position_tax_template_22_sk_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_22_en"/>
- <field name="tax_src_id" ref="gstpst_sk_en"/>
- <field name="tax_dest_id" ref="hst13_en"/>
+ <record id="fiscal_position_tax_template_22_sk_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="tax_src_id" ref="gstpst_sk_sale_en" />
+ <field name="tax_dest_id" ref="hst13_sale_en" />
</record>
- <record id="fiscal_position_tax_template_23_sk_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_23_en"/>
- <field name="tax_src_id" ref="gstpst_sk_en"/>
- <field name="tax_dest_id" ref="hst135_en"/>
+ <record id="fiscal_position_tax_template_23_sk_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="tax_src_id" ref="gstpst_sk_sale_en" />
+ <field name="tax_dest_id" ref="hst135_sale_en" />
</record>
- <record id="fiscal_position_tax_template_24_sk_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_24_en"/>
- <field name="tax_src_id" ref="gstpst_sk_en"/>
- <field name="tax_dest_id" ref="hst15_en"/>
+ <record id="fiscal_position_tax_template_24_sk_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="tax_src_id" ref="gstpst_sk_sale_en" />
+ <field name="tax_dest_id" ref="hst15_sale_en" />
</record>
- <record id="fiscal_position_tax_template_3_sk_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_3_en"/>
- <field name="tax_src_id" ref="gstpst_sk_en"/>
- <field name="tax_dest_id" ref="gst_en"/>
+ <record id="fiscal_position_tax_template_3_sk_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="tax_src_id" ref="gstpst_sk_sale_en" />
+ <field name="tax_dest_id" ref="gst_sale_en" />
</record>
- <record id="fiscal_position_tax_template_4_sk_en" model="account.fiscal.position.tax.template">
- <field name="position_id" ref="fiscal_position_template_4_en"/>
- <field name="tax_src_id" ref="gstpst_sk_en"/>
- <field name="tax_dest_id" ref="notax_en"/>
+ <record id="fiscal_position_tax_template_4_sk_sale_en" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="tax_src_id" ref="gstpst_sk_sale_en" />
</record>
- <!-- Fiscal Position Account Templates - Incomes -->
+ <!-- Fiscal Position Account Templates - Products -->
- <record id="fiscal_position_account_template_21_income_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_21_en"/>
- <field name="account_src_id" ref="chart411_en"/>
- <field name="account_dest_id" ref="chart412_en"/>
+ <record id="fiscal_position_product_template_21_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="account_src_id" ref="chart411_en" />
+ <field name="account_dest_id" ref="chart412_en" />
</record>
- <record id="fiscal_position_account_template_22_income_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_22_en"/>
- <field name="account_src_id" ref="chart411_en"/>
- <field name="account_dest_id" ref="chart412_en"/>
+ <record id="fiscal_position_product_template_22_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="account_src_id" ref="chart411_en" />
+ <field name="account_dest_id" ref="chart412_en" />
</record>
- <record id="fiscal_position_account_template_23_income_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_23_en"/>
- <field name="account_src_id" ref="chart411_en"/>
- <field name="account_dest_id" ref="chart412_en"/>
+ <record id="fiscal_position_product_template_23_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="account_src_id" ref="chart411_en" />
+ <field name="account_dest_id" ref="chart412_en" />
</record>
- <record id="fiscal_position_account_template_24_income_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_24_en"/>
- <field name="account_src_id" ref="chart411_en"/>
- <field name="account_dest_id" ref="chart412_en"/>
+ <record id="fiscal_position_product_template_24_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="account_src_id" ref="chart411_en" />
+ <field name="account_dest_id" ref="chart412_en" />
</record>
- <record id="fiscal_position_account_template_3_income_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_3_en"/>
- <field name="account_src_id" ref="chart411_en"/>
- <field name="account_dest_id" ref="chart413_en"/>
+ <record id="fiscal_position_product_template_3_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="account_src_id" ref="chart411_en" />
+ <field name="account_dest_id" ref="chart413_en" />
</record>
- <record id="fiscal_position_account_template_4_income_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_4_en"/>
- <field name="account_src_id" ref="chart411_en"/>
- <field name="account_dest_id" ref="chart414_en"/>
+ <record id="fiscal_position_product_template_4_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="account_src_id" ref="chart411_en" />
+ <field name="account_dest_id" ref="chart414_en" />
</record>
- <!-- Fiscal Position Account Templates - Expenses -->
+ <!-- Fiscal Position Account Templates - Charges -->
- <record id="fiscal_position_account_template_21_expense_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_21_en"/>
- <field name="account_src_id" ref="chart5111_en"/>
- <field name="account_dest_id" ref="chart5112_en"/>
+ <record id="fiscal_position_charge_template_21_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_21_en" />
+ <field name="account_src_id" ref="chart5111_en" />
+ <field name="account_dest_id" ref="chart5112_en" />
</record>
- <record id="fiscal_position_account_template_22_expense_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_22_en"/>
- <field name="account_src_id" ref="chart5111_en"/>
- <field name="account_dest_id" ref="chart5112_en"/>
+ <record id="fiscal_position_charge_template_22_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_22_en" />
+ <field name="account_src_id" ref="chart5111_en" />
+ <field name="account_dest_id" ref="chart5112_en" />
</record>
- <record id="fiscal_position_account_template_23_expense_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_23_en"/>
- <field name="account_src_id" ref="chart5111_en"/>
- <field name="account_dest_id" ref="chart5112_en"/>
+ <record id="fiscal_position_charge_template_23_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_23_en" />
+ <field name="account_src_id" ref="chart5111_en" />
+ <field name="account_dest_id" ref="chart5112_en" />
</record>
- <record id="fiscal_position_account_template_24_expense_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_24_en"/>
- <field name="account_src_id" ref="chart5111_en"/>
- <field name="account_dest_id" ref="chart5112_en"/>
+ <record id="fiscal_position_charge_template_24_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_24_en" />
+ <field name="account_src_id" ref="chart5111_en" />
+ <field name="account_dest_id" ref="chart5112_en" />
</record>
- <record id="fiscal_position_account_template_3_expense_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_3_en"/>
- <field name="account_src_id" ref="chart5111_en"/>
- <field name="account_dest_id" ref="chart5113_en"/>
+ <record id="fiscal_position_charge_template_3_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_3_en" />
+ <field name="account_src_id" ref="chart5111_en" />
+ <field name="account_dest_id" ref="chart5113_en" />
</record>
- <record id="fiscal_position_account_template_4_expense_en" model="account.fiscal.position.account.template">
- <field name="position_id" ref="fiscal_position_template_4_en"/>
- <field name="account_src_id" ref="chart5111_en"/>
- <field name="account_dest_id" ref="chart5114_en"/>
+ <record id="fiscal_position_charge_template_4_en" model="account.fiscal.position.account.template">
+ <field name="position_id" ref="fiscal_position_template_4_en" />
+ <field name="account_src_id" ref="chart5111_en" />
+ <field name="account_dest_id" ref="chart5114_en" />
</record>
</data>
diff --git a/addons/l10n_ca/fiscal_templates_fr.xml b/addons/l10n_ca/fiscal_templates_fr.xml
index 07608cdb261..722517366a8 100644
--- a/addons/l10n_ca/fiscal_templates_fr.xml
+++ b/addons/l10n_ca/fiscal_templates_fr.xml
@@ -39,278 +39,542 @@
<field name="chart_template_id" ref="ca_fr_chart_template_fr"/>
</record>
+ <!-- PURCHASES TAXES -->
+
+ <!-- Alberta Fiscal Position Tax Templates (default is tps) -->
+
+ <record id="fiscal_position_tax_template_21_ab_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_fr" />
+ <field name="tax_src_id" ref="tps_purc_fr" />
+ <field name="tax_dest_id" ref="tvh12_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_ab_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_fr" />
+ <field name="tax_src_id" ref="tps_purc_fr" />
+ <field name="tax_dest_id" ref="tvh13_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_ab_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_fr" />
+ <field name="tax_src_id" ref="tps_purc_fr" />
+ <field name="tax_dest_id" ref="tvh135_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_ab_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_fr" />
+ <field name="tax_src_id" ref="tps_purc_fr" />
+ <field name="tax_dest_id" ref="tvh15_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_ab_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_fr" />
+ <field name="tax_src_id" ref="tps_purc_fr" />
+ </record>
+
+ <!-- British Columbia Fiscal Position Tax Templates (default is hst12) -->
+
+ <record id="fiscal_position_tax_template_22_12_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_fr" />
+ <field name="tax_src_id" ref="tvh12_purc_fr" />
+ <field name="tax_dest_id" ref="tvh13_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_12_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_fr" />
+ <field name="tax_src_id" ref="tvh12_purc_fr" />
+ <field name="tax_dest_id" ref="tvh135_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_12_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_fr" />
+ <field name="tax_src_id" ref="tvh12_purc_fr" />
+ <field name="tax_dest_id" ref="tvh15_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_12_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_fr" />
+ <field name="tax_src_id" ref="tvh12_purc_fr" />
+ <field name="tax_dest_id" ref="tps_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_12_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_fr" />
+ <field name="tax_src_id" ref="tvh12_purc_fr" />
+ </record>
+
+ <!-- Manitoba Fiscal Position Tax Templates (default is tpstvp_mb) -->
+
+ <record id="fiscal_position_tax_template_21_mb_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_purc_fr" />
+ <field name="tax_dest_id" ref="tvh12_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_mb_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_purc_fr" />
+ <field name="tax_dest_id" ref="tvh13_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_mb_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_purc_fr" />
+ <field name="tax_dest_id" ref="tvh135_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_mb_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_purc_fr" />
+ <field name="tax_dest_id" ref="tvh15_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_mb_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_purc_fr" />
+ <field name="tax_dest_id" ref="tps_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_mb_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_purc_fr" />
+ </record>
+
+ <!-- New Brunswick, Newfoundland and Labrador and Ontario Fiscal Position Tax Templates (default is hst13) -->
+
+ <record id="fiscal_position_tax_template_21_13_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_fr" />
+ <field name="tax_src_id" ref="tvh13_purc_fr" />
+ <field name="tax_dest_id" ref="tvh12_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_13_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_fr" />
+ <field name="tax_src_id" ref="tvh13_purc_fr" />
+ <field name="tax_dest_id" ref="tvh135_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_13_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_fr" />
+ <field name="tax_src_id" ref="tvh13_purc_fr" />
+ <field name="tax_dest_id" ref="tvh15_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_13_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_fr" />
+ <field name="tax_src_id" ref="tvh13_purc_fr" />
+ <field name="tax_dest_id" ref="tps_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_13_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_fr" />
+ <field name="tax_src_id" ref="tvh13_purc_fr" />
+ </record>
+
+ <!-- Nova Scotia Fiscal Position Tax Templates (default is hst15) -->
+
+ <record id="fiscal_position_tax_template_21_15_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_fr" />
+ <field name="tax_src_id" ref="tvh15_purc_fr" />
+ <field name="tax_dest_id" ref="tvh12_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_15_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_fr" />
+ <field name="tax_src_id" ref="tvh15_purc_fr" />
+ <field name="tax_dest_id" ref="tvh13_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_15_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_fr" />
+ <field name="tax_src_id" ref="tvh15_purc_fr" />
+ <field name="tax_dest_id" ref="tvh135_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_15_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_fr" />
+ <field name="tax_src_id" ref="tvh15_purc_fr" />
+ <field name="tax_dest_id" ref="tps_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_15_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_fr" />
+ <field name="tax_src_id" ref="tvh15_purc_fr" />
+ </record>
+
+ <!-- Prince Edward Island Fiscal Position Tax Templates (default is tpstvp_pe)-->
+
+ <record id="fiscal_position_tax_template_21_pe_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_purc_fr" />
+ <field name="tax_dest_id" ref="tvh12_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_pe_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_purc_fr" />
+ <field name="tax_dest_id" ref="tvh13_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_pe_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_purc_fr" />
+ <field name="tax_dest_id" ref="tvh135_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_pe_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_purc_fr" />
+ <field name="tax_dest_id" ref="tvh15_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_pe_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_purc_fr" />
+ <field name="tax_dest_id" ref="tps_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_qc_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_purc_fr" />
+ </record>
+
+ <!-- Quebec Fiscal Position Tax Templates (default is tpstvq)-->
+
+ <record id="fiscal_position_tax_template_21_qc_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_fr" />
+ <field name="tax_src_id" ref="tpstvq_purc_fr" />
+ <field name="tax_dest_id" ref="tvh12_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_qc_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_fr" />
+ <field name="tax_src_id" ref="tpstvq_purc_fr" />
+ <field name="tax_dest_id" ref="tvh13_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_qc_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_fr" />
+ <field name="tax_src_id" ref="tpstvq_purc_fr" />
+ <field name="tax_dest_id" ref="tvh15_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_qc_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_fr" />
+ <field name="tax_src_id" ref="tpstvq_purc_fr" />
+ <field name="tax_dest_id" ref="tps_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_qc_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_fr" />
+ <field name="tax_src_id" ref="tpstvq_purc_fr" />
+ </record>
+
+ <!-- Saskatchewan Fiscal Position Tax Templates (default is tpstvp_sk)-->
+
+ <record id="fiscal_position_tax_template_21_sk_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_21_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_purc_fr" />
+ <field name="tax_dest_id" ref="tvh12_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_22_sk_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_22_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_purc_fr" />
+ <field name="tax_dest_id" ref="tvh13_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_23_sk_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_23_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_purc_fr" />
+ <field name="tax_dest_id" ref="tvh135_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_24_sk_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_24_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_purc_fr" />
+ <field name="tax_dest_id" ref="tvh15_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_3_sk_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_3_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_purc_fr" />
+ <field name="tax_dest_id" ref="tps_purc_fr" />
+ </record>
+
+ <record id="fiscal_position_tax_template_4_sk_purc_fr" model="account.fiscal.position.tax.template">
+ <field name="position_id" ref="fiscal_position_template_4_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_purc_fr" />
+ </record>
+
+
+ <!-- SALES TAXES -->
+
+
<!-- Alberta Fiscal Position Tax Templates (default is tps) -->
- <record id="fiscal_position_tax_template_21_ab_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_21_ab_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_21_fr" />
- <field name="tax_src_id" ref="tps_fr" />
- <field name="tax_dest_id" ref="tvh12_fr" />
+ <field name="tax_src_id" ref="tps_sale_fr" />
+ <field name="tax_dest_id" ref="tvh12_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_22_ab_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_22_ab_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_22_fr" />
- <field name="tax_src_id" ref="tps_fr" />
- <field name="tax_dest_id" ref="tvh13_fr" />
+ <field name="tax_src_id" ref="tps_sale_fr" />
+ <field name="tax_dest_id" ref="tvh13_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_23_ab_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_23_ab_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_23_fr" />
- <field name="tax_src_id" ref="tps_fr" />
- <field name="tax_dest_id" ref="tvh135_fr" />
+ <field name="tax_src_id" ref="tps_sale_fr" />
+ <field name="tax_dest_id" ref="tvh135_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_24_ab_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_24_ab_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_24_fr" />
- <field name="tax_src_id" ref="tps_fr" />
- <field name="tax_dest_id" ref="tvh15_fr" />
+ <field name="tax_src_id" ref="tps_sale_fr" />
+ <field name="tax_dest_id" ref="tvh15_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_4_ab_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_4_ab_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_4_fr" />
- <field name="tax_src_id" ref="tps_fr" />
- <field name="tax_dest_id" ref="notax_fr" />
+ <field name="tax_src_id" ref="tps_sale_fr" />
</record>
<!-- British Columbia Fiscal Position Tax Templates (default is hst12) -->
- <record id="fiscal_position_tax_template_22_12c_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_22_12c_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_22_fr" />
- <field name="tax_src_id" ref="tvh12_fr" />
- <field name="tax_dest_id" ref="tvh13_fr" />
+ <field name="tax_src_id" ref="tvh12_sale_fr" />
+ <field name="tax_dest_id" ref="tvh13_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_23_12_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_23_12_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_23_fr" />
- <field name="tax_src_id" ref="tvh12_fr" />
- <field name="tax_dest_id" ref="tvh135_fr" />
+ <field name="tax_src_id" ref="tvh12_sale_fr" />
+ <field name="tax_dest_id" ref="tvh135_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_24_12_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_24_12_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_24_fr" />
- <field name="tax_src_id" ref="tvh12_fr" />
- <field name="tax_dest_id" ref="tvh15_fr" />
+ <field name="tax_src_id" ref="tvh12_sale_fr" />
+ <field name="tax_dest_id" ref="tvh15_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_3_12_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_3_12_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3_fr" />
- <field name="tax_src_id" ref="tvh12_fr" />
- <field name="tax_dest_id" ref="tps_fr" />
+ <field name="tax_src_id" ref="tvh12_sale_fr" />
+ <field name="tax_dest_id" ref="tps_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_4_12_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_4_12_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_4_fr" />
- <field name="tax_src_id" ref="tvh12_fr" />
- <field name="tax_dest_id" ref="notax_fr" />
+ <field name="tax_src_id" ref="tvh12_sale_fr" />
</record>
<!-- Manitoba Fiscal Position Tax Templates (default is tpstvp_mb) -->
- <record id="fiscal_position_tax_template_21_mb_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_21_mb_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_21_fr" />
- <field name="tax_src_id" ref="tpstvp_mb_fr" />
- <field name="tax_dest_id" ref="tvh12_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_sale_fr" />
+ <field name="tax_dest_id" ref="tvh12_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_22_mb_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_22_mb_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_22_fr" />
- <field name="tax_src_id" ref="tpstvp_mb_fr" />
- <field name="tax_dest_id" ref="tvh13_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_sale_fr" />
+ <field name="tax_dest_id" ref="tvh13_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_23_mb_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_23_mb_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_23_fr" />
- <field name="tax_src_id" ref="tpstvp_mb_fr" />
- <field name="tax_dest_id" ref="tvh135_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_sale_fr" />
+ <field name="tax_dest_id" ref="tvh135_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_24_mb_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_24_mb_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_24_fr" />
- <field name="tax_src_id" ref="tpstvp_mb_fr" />
- <field name="tax_dest_id" ref="tvh15_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_sale_fr" />
+ <field name="tax_dest_id" ref="tvh15_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_3_mb_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_3_mb_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3_fr" />
- <field name="tax_src_id" ref="tpstvp_mb_fr" />
- <field name="tax_dest_id" ref="tps_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_sale_fr" />
+ <field name="tax_dest_id" ref="tps_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_4_mb_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_4_mb_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_4_fr" />
- <field name="tax_src_id" ref="tpstvp_mb_fr" />
- <field name="tax_dest_id" ref="notax_fr" />
+ <field name="tax_src_id" ref="tpstvp_mb_sale_fr" />
</record>
<!-- New Brunswick, Newfoundland and Labrador and Ontario Fiscal Position Tax Templates (default is hst13) -->
- <record id="fiscal_position_tax_template_21_13_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_21_13_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_21_fr" />
- <field name="tax_src_id" ref="tvh13_fr" />
- <field name="tax_dest_id" ref="tvh12_fr" />
+ <field name="tax_src_id" ref="tvh13_sale_fr" />
+ <field name="tax_dest_id" ref="tvh12_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_23_13_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_23_13_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_23_fr" />
- <field name="tax_src_id" ref="tvh13_fr" />
- <field name="tax_dest_id" ref="tvh135_fr" />
+ <field name="tax_src_id" ref="tvh13_sale_fr" />
+ <field name="tax_dest_id" ref="tvh135_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_24_13_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_24_13_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_24_fr" />
- <field name="tax_src_id" ref="tvh13_fr" />
- <field name="tax_dest_id" ref="tvh15_fr" />
+ <field name="tax_src_id" ref="tvh13_sale_fr" />
+ <field name="tax_dest_id" ref="tvh15_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_3_13_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_3_13_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3_fr" />
- <field name="tax_src_id" ref="tvh13_fr" />
- <field name="tax_dest_id" ref="tps_fr" />
+ <field name="tax_src_id" ref="tvh13_sale_fr" />
+ <field name="tax_dest_id" ref="tps_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_4_13_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_4_13_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_4_fr" />
- <field name="tax_src_id" ref="tvh13_fr" />
- <field name="tax_dest_id" ref="notax_fr" />
+ <field name="tax_src_id" ref="tvh13_sale_fr" />
</record>
<!-- Nova Scotia Fiscal Position Tax Templates (default is hst15) -->
- <record id="fiscal_position_tax_template_21_15_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_21_15_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_21_fr" />
- <field name="tax_src_id" ref="tvh15_fr" />
- <field name="tax_dest_id" ref="tvh12_fr" />
+ <field name="tax_src_id" ref="tvh15_sale_fr" />
+ <field name="tax_dest_id" ref="tvh12_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_22_15_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_22_15_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_22_fr" />
- <field name="tax_src_id" ref="tvh15_fr" />
- <field name="tax_dest_id" ref="tvh13_fr" />
+ <field name="tax_src_id" ref="tvh15_sale_fr" />
+ <field name="tax_dest_id" ref="tvh13_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_23_15_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_23_15_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_23_fr" />
- <field name="tax_src_id" ref="tvh15_fr" />
- <field name="tax_dest_id" ref="tvh135_fr" />
+ <field name="tax_src_id" ref="tvh15_sale_fr" />
+ <field name="tax_dest_id" ref="tvh135_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_3_15_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_3_15_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3_fr" />
- <field name="tax_src_id" ref="tvh15_fr" />
- <field name="tax_dest_id" ref="tps_fr" />
+ <field name="tax_src_id" ref="tvh15_sale_fr" />
+ <field name="tax_dest_id" ref="tps_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_4_15_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_4_15_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_4_fr" />
- <field name="tax_src_id" ref="tvh15_fr" />
- <field name="tax_dest_id" ref="notax_fr" />
+ <field name="tax_src_id" ref="tvh15_sale_fr" />
</record>
<!-- Prince Edward Island Fiscal Position Tax Templates (default is tpstvp_pe)-->
- <record id="fiscal_position_tax_template_21_pe_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_21_pe_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_21_fr" />
- <field name="tax_src_id" ref="tpstvp_pe_fr" />
- <field name="tax_dest_id" ref="tvh12_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_sale_fr" />
+ <field name="tax_dest_id" ref="tvh12_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_22_pe_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_22_pe_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_22_fr" />
- <field name="tax_src_id" ref="tpstvp_pe_fr" />
- <field name="tax_dest_id" ref="tvh13_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_sale_fr" />
+ <field name="tax_dest_id" ref="tvh13_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_23_pe_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_23_pe_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_23_fr" />
- <field name="tax_src_id" ref="tpstvp_pe_fr" />
- <field name="tax_dest_id" ref="tvh135_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_sale_fr" />
+ <field name="tax_dest_id" ref="tvh135_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_24_pe_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_24_pe_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_24_fr" />
- <field name="tax_src_id" ref="tpstvp_pe_fr" />
- <field name="tax_dest_id" ref="tvh15_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_sale_fr" />
+ <field name="tax_dest_id" ref="tvh15_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_3_pe_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_3_pe_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3_fr" />
- <field name="tax_src_id" ref="tpstvp_pe_fr" />
- <field name="tax_dest_id" ref="tps_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_sale_fr" />
+ <field name="tax_dest_id" ref="tps_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_4_qc_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_4_qc_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_4_fr" />
- <field name="tax_src_id" ref="tpstvp_pe_fr" />
- <field name="tax_dest_id" ref="notax_fr" />
+ <field name="tax_src_id" ref="tpstvp_pe_sale_fr" />
</record>
<!-- Quebec Fiscal Position Tax Templates (default is tpstvq)-->
- <record id="fiscal_position_tax_template_21_qc_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_21_qc_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_21_fr" />
- <field name="tax_src_id" ref="tpstvq_fr" />
- <field name="tax_dest_id" ref="tvh12_fr" />
+ <field name="tax_src_id" ref="tpstvq_sale_fr" />
+ <field name="tax_dest_id" ref="tvh12_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_22_qc_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_22_qc_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_22_fr" />
- <field name="tax_src_id" ref="tpstvq_fr" />
- <field name="tax_dest_id" ref="tvh13_fr" />
+ <field name="tax_src_id" ref="tpstvq_sale_fr" />
+ <field name="tax_dest_id" ref="tvh13_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_24_qc_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_24_qc_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_24_fr" />
- <field name="tax_src_id" ref="tpstvq_fr" />
- <field name="tax_dest_id" ref="tvh15_fr" />
+ <field name="tax_src_id" ref="tpstvq_sale_fr" />
+ <field name="tax_dest_id" ref="tvh15_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_3_qc_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_3_qc_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3_fr" />
- <field name="tax_src_id" ref="tpstvq_fr" />
- <field name="tax_dest_id" ref="tps_fr" />
+ <field name="tax_src_id" ref="tpstvq_sale_fr" />
+ <field name="tax_dest_id" ref="tps_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_4_qc_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_4_qc_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_4_fr" />
- <field name="tax_src_id" ref="tpstvq_fr" />
- <field name="tax_dest_id" ref="notax_fr" />
+ <field name="tax_src_id" ref="tpstvq_sale_fr" />
</record>
<!-- Saskatchewan Fiscal Position Tax Templates (default is tpstvp_sk)-->
- <record id="fiscal_position_tax_template_21_sk_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_21_sk_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_21_fr" />
- <field name="tax_src_id" ref="tpstvp_sk_fr" />
- <field name="tax_dest_id" ref="tvh12_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_sale_fr" />
+ <field name="tax_dest_id" ref="tvh12_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_22_sk_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_22_sk_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_22_fr" />
- <field name="tax_src_id" ref="tpstvp_sk_fr" />
- <field name="tax_dest_id" ref="tvh13_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_sale_fr" />
+ <field name="tax_dest_id" ref="tvh13_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_23_sk_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_23_sk_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_23_fr" />
- <field name="tax_src_id" ref="tpstvp_sk_fr" />
- <field name="tax_dest_id" ref="tvh135_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_sale_fr" />
+ <field name="tax_dest_id" ref="tvh135_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_24_sk_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_24_sk_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_24_fr" />
- <field name="tax_src_id" ref="tpstvp_sk_fr" />
- <field name="tax_dest_id" ref="tvh15_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_sale_fr" />
+ <field name="tax_dest_id" ref="tvh15_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_3_sk_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_3_sk_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_3_fr" />
- <field name="tax_src_id" ref="tpstvp_sk_fr" />
- <field name="tax_dest_id" ref="tps_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_sale_fr" />
+ <field name="tax_dest_id" ref="tps_sale_fr" />
</record>
- <record id="fiscal_position_tax_template_4_sk_fr" model="account.fiscal.position.tax.template">
+ <record id="fiscal_position_tax_template_4_sk_sale_fr" model="account.fiscal.position.tax.template">
<field name="position_id" ref="fiscal_position_template_4_fr" />
- <field name="tax_src_id" ref="tpstvp_sk_fr" />
- <field name="tax_dest_id" ref="notax_fr" />
+ <field name="tax_src_id" ref="tpstvp_sk_sale_fr" />
</record>
<!-- Fiscal Position Account Templates - Products -->
diff --git a/addons/l10n_ca/l10n_ca_wizard.xml b/addons/l10n_ca/l10n_ca_wizard.xml
index 36c78a40ce9..3bdc380325d 100644
--- a/addons/l10n_ca/l10n_ca_wizard.xml
+++ b/addons/l10n_ca/l10n_ca_wizard.xml
@@ -6,7 +6,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_ch/__openerp__.py b/addons/l10n_ch/__openerp__.py
index d3b7e796aee..6de20acf98a 100644
--- a/addons/l10n_ch/__openerp__.py
+++ b/addons/l10n_ch/__openerp__.py
@@ -36,7 +36,7 @@ You can also add ZIP and bank completion with:
------------------------------------------------------------------------
-Module incluant la localisation Suisse de TinyERP revu et corrigé par Camptocamp.
+Module incluant la localisation Suisse de OpenERP revu et corrigé par Camptocamp.
Cette nouvelle version comprend la gestion et l'émissionde BVR, le paiement
électronique via DTA (pour les banques, le système postal est en développement)
et l'import du relevé de compte depuis la banque de manière automatisée. De plus,
diff --git a/addons/l10n_ch/test/l10n_ch_dta.yml b/addons/l10n_ch/test/l10n_ch_dta.yml
index c79ec55adb8..6cdac6cb9e4 100644
--- a/addons/l10n_ch/test/l10n_ch_dta.yml
+++ b/addons/l10n_ch/test/l10n_ch_dta.yml
@@ -85,7 +85,7 @@
-
!python {model: create.dta.wizard}: |
import base64
- wiz_id = self.create(cr,uid,[])
+ wiz_id = self.create(cr, uid, {})
wiz = self.browse(cr, uid, wiz_id)
pay_order_id = ref("dta_payment_order")
#set the payment order as the active id
@@ -146,7 +146,7 @@
# I import the payment line
#-
# !python {model: account.payment.populate.statement}: |
-# wiz_id = self.create(cr,uid,[])
+# wiz_id = self.create(cr, uid, {})
# wiz = self.browse(cr, uid, wiz_id)
#
# line_obj = self.pool.get('payment.line')
diff --git a/addons/l10n_cl/__openerp__.py b/addons/l10n_cl/__openerp__.py
index 8c1e1e45b50..d10acdae575 100644
--- a/addons/l10n_cl/__openerp__.py
+++ b/addons/l10n_cl/__openerp__.py
@@ -45,7 +45,6 @@ Plan contable chileno e impuestos de acuerdo a disposiciones vigentes
],
"active": False,
"installable": True,
- "certificate" : "",
'images': ['images/config_chart_l10n_cl.jpeg','images/l10n_cl_chart.jpeg'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/l10n_cl/l10n_cl_wizard.xml b/addons/l10n_cl/l10n_cl_wizard.xml
index 191230c5010..fd0d29f1edb 100644
--- a/addons/l10n_cl/l10n_cl_wizard.xml
+++ b/addons/l10n_cl/l10n_cl_wizard.xml
@@ -7,7 +7,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_cn/l10n_chart_cn_wizard.xml b/addons/l10n_cn/l10n_chart_cn_wizard.xml
index ef8edf11981..0a098120682 100644
--- a/addons/l10n_cn/l10n_chart_cn_wizard.xml
+++ b/addons/l10n_cn/l10n_chart_cn_wizard.xml
@@ -6,7 +6,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_cr/l10n_wizard.xml b/addons/l10n_cr/l10n_wizard.xml
index 236e43581a0..ef37667b318 100644
--- a/addons/l10n_cr/l10n_wizard.xml
+++ b/addons/l10n_cr/l10n_wizard.xml
@@ -4,7 +4,6 @@
<record id="config_call_account_template" model="ir.actions.todo">
<field name="action_id" ref="account.action_wizard_multi_chart"/>
<field name="type">automatic</field>
- <field name="category_id" ref="account.category_accounting_configuration"/>
</record>
</data>
diff --git a/addons/l10n_de/l10n_de_wizard.xml b/addons/l10n_de/l10n_de_wizard.xml
index 4c49675fb8b..3a0dcd34bd3 100644
--- a/addons/l10n_de/l10n_de_wizard.xml
+++ b/addons/l10n_de/l10n_de_wizard.xml
@@ -5,7 +5,6 @@
<field name="name">Generiert Kontenplan aus Vorlage</field>
<field name="note">Der Assistent generiert einen Kontenplan auf Basis eines Templates (Vorlage). Sie werden aufgefordert den Namen der Firma einzugeben, sowie die entsprechende Kontenvorlage zu wählen. Ausserdem können Sie für die Initialisierung der Journale die gewünschte Stellenanzahl der Konten, sowie die Hauptwährung Ihres Betriebes auswählen. Dieser Assistent ist identisch mit dem Open ERP Menü Finanzen/Konfiguration/Finanzkonten/Erzeuge Konten aus Vorlage.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_ec/l10n_chart_ec_wizard.xml b/addons/l10n_ec/l10n_chart_ec_wizard.xml
index f3063fc3658..9906cf9828c 100644
--- a/addons/l10n_ec/l10n_chart_ec_wizard.xml
+++ b/addons/l10n_ec/l10n_chart_ec_wizard.xml
@@ -6,7 +6,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_es/l10n_es_wizard.xml b/addons/l10n_es/l10n_es_wizard.xml
index 990af41308a..cd6d89726b6 100644
--- a/addons/l10n_es/l10n_es_wizard.xml
+++ b/addons/l10n_es/l10n_es_wizard.xml
@@ -4,7 +4,6 @@
<record id="config_call_account_template" model="ir.actions.todo">
<field name="action_id" ref="account.action_wizard_multi_chart"/>
<field name="type">automatic</field>
- <field name="category_id" ref="account.category_accounting_configuration"/>
</record>
</data>
diff --git a/addons/l10n_fr/l10n_fr_wizard.xml b/addons/l10n_fr/l10n_fr_wizard.xml
index 073396ad28b..897da1d5414 100644
--- a/addons/l10n_fr/l10n_fr_wizard.xml
+++ b/addons/l10n_fr/l10n_fr_wizard.xml
@@ -6,7 +6,6 @@
<record id="config_call_account_template_fr" model="ir.actions.todo">
<field name="action_id" ref="account.action_wizard_multi_chart"/>
<field name="type">automatic</field>
- <field name="category_id" ref="account.category_accounting_configuration"/>
</record>
</data>
diff --git a/addons/l10n_gr/l10n_gr_wizard.xml b/addons/l10n_gr/l10n_gr_wizard.xml
index 8550733887a..4fa564e2155 100644
--- a/addons/l10n_gr/l10n_gr_wizard.xml
+++ b/addons/l10n_gr/l10n_gr_wizard.xml
@@ -6,7 +6,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_gt/l10n_gt_base.xml b/addons/l10n_gt/l10n_gt_base.xml
index 5238d7b4f23..91561dca41b 100644
--- a/addons/l10n_gt/l10n_gt_base.xml
+++ b/addons/l10n_gt/l10n_gt_base.xml
@@ -8,7 +8,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>-->
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_in/l10n_in_wizard.xml b/addons/l10n_in/l10n_in_wizard.xml
index a877b8b577e..20d35aa09a2 100644
--- a/addons/l10n_in/l10n_in_wizard.xml
+++ b/addons/l10n_in/l10n_in_wizard.xml
@@ -7,7 +7,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_it/l10n_chart_it_generic.xml b/addons/l10n_it/l10n_chart_it_generic.xml
index 2f76dee1cdd..52269c71962 100644
--- a/addons/l10n_it/l10n_chart_it_generic.xml
+++ b/addons/l10n_it/l10n_chart_it_generic.xml
@@ -6,7 +6,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
</data>
diff --git a/addons/l10n_lu/l10n_lu_wizard.xml b/addons/l10n_lu/l10n_lu_wizard.xml
index db56912e769..32351428bb6 100644
--- a/addons/l10n_lu/l10n_lu_wizard.xml
+++ b/addons/l10n_lu/l10n_lu_wizard.xml
@@ -4,7 +4,6 @@
<record id="config_call_account_template_lu" model="ir.actions.todo">
<field name="action_id" ref="account.action_wizard_multi_chart"/>
<field name="type">automatic</field>
- <field name="category_id" ref="account.category_accounting_configuration"/>
</record>
</data>
diff --git a/addons/l10n_ma/l10n_ma_wizard.xml b/addons/l10n_ma/l10n_ma_wizard.xml
index ce4dd7ec54c..428a17e081a 100644
--- a/addons/l10n_ma/l10n_ma_wizard.xml
+++ b/addons/l10n_ma/l10n_ma_wizard.xml
@@ -4,7 +4,6 @@
<record id="config_call_account_template_ma" model="ir.actions.todo">
<field name="action_id" ref="account.action_wizard_multi_chart"/>
<field name="type">automatic</field>
- <field name="category_id" ref="account.category_accounting_configuration"/>
</record>
</data>
diff --git a/addons/l10n_mx/l10n_chart_mx_wizard.xml b/addons/l10n_mx/l10n_chart_mx_wizard.xml
index 5beb76f736c..aeea1f3cd69 100644
--- a/addons/l10n_mx/l10n_chart_mx_wizard.xml
+++ b/addons/l10n_mx/l10n_chart_mx_wizard.xml
@@ -6,7 +6,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_nl/l10n_nl_wizard.xml b/addons/l10n_nl/l10n_nl_wizard.xml
index 5d4f834d7fc..bcdd183b12c 100644
--- a/addons/l10n_nl/l10n_nl_wizard.xml
+++ b/addons/l10n_nl/l10n_nl_wizard.xml
@@ -12,7 +12,6 @@ Let op!! -&gt; De template van het Nederlandse rekeningschema is opgebouwd uit 4
* Dit is dezelfe configuratie wizard welke aangeroepen kan worden via Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_pe/l10n_pe_wizard.xml b/addons/l10n_pe/l10n_pe_wizard.xml
index 8e59957a896..e1189fbcc2d 100644
--- a/addons/l10n_pe/l10n_pe_wizard.xml
+++ b/addons/l10n_pe/l10n_pe_wizard.xml
@@ -7,7 +7,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_pl/l10n_chart_pl_wizard.xml b/addons/l10n_pl/l10n_chart_pl_wizard.xml
index b2ba9881be4..aded9e3b2a3 100644
--- a/addons/l10n_pl/l10n_chart_pl_wizard.xml
+++ b/addons/l10n_pl/l10n_chart_pl_wizard.xml
@@ -6,7 +6,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_ro/l10n_chart_ro_wizard.xml b/addons/l10n_ro/l10n_chart_ro_wizard.xml
index bc8a049a4f6..bafb7b26f82 100644
--- a/addons/l10n_ro/l10n_chart_ro_wizard.xml
+++ b/addons/l10n_ro/l10n_chart_ro_wizard.xml
@@ -6,7 +6,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_th/account_data.xml b/addons/l10n_th/account_data.xml
index eebaffb92f0..48e7b4f33d6 100644
--- a/addons/l10n_th/account_data.xml
+++ b/addons/l10n_th/account_data.xml
@@ -650,7 +650,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_tr/l10n_tr_wizard.xml b/addons/l10n_tr/l10n_tr_wizard.xml
index 5713d92c8e5..e7ae8dc2d82 100644
--- a/addons/l10n_tr/l10n_tr_wizard.xml
+++ b/addons/l10n_tr/l10n_tr_wizard.xml
@@ -10,7 +10,6 @@ chart Template is generated.
This is the same wizard that runs from Financial Management/Configuration/Financial
Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
</data>
diff --git a/addons/l10n_us/l10n_us_wizard.xml b/addons/l10n_us/l10n_us_wizard.xml
index 60acf21a44b..8c306f155fe 100644
--- a/addons/l10n_us/l10n_us_wizard.xml
+++ b/addons/l10n_us/l10n_us_wizard.xml
@@ -6,7 +6,6 @@
<field name="note">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.
This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/l10n_uy/l10n_uy_wizard.xml b/addons/l10n_uy/l10n_uy_wizard.xml
index 41f088bc67a..6543664b2b6 100644
--- a/addons/l10n_uy/l10n_uy_wizard.xml
+++ b/addons/l10n_uy/l10n_uy_wizard.xml
@@ -4,7 +4,6 @@
<record id="config_call_account_template_uy" model="ir.actions.todo">
<field name="action_id" ref="account.action_wizard_multi_chart"/>
<field name="type">automatic</field>
- <field name="category_id" ref="account.category_accounting_configuration"/>
</record>
</data>
-</openerp> \ No newline at end of file
+</openerp>
diff --git a/addons/l10n_ve/l10n_chart_ve_wizard.xml b/addons/l10n_ve/l10n_chart_ve_wizard.xml
index 25c8ec1cb04..823fa833313 100644
--- a/addons/l10n_ve/l10n_chart_ve_wizard.xml
+++ b/addons/l10n_ve/l10n_chart_ve_wizard.xml
@@ -9,7 +9,6 @@ Genere el Plan de cuentas de una Plantilla de Carta. Le pedirán pasar el nombre
Esto es el mismo wizard que corre de la Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template.
</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
- <field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>
diff --git a/addons/lunch/i18n/nl.po b/addons/lunch/i18n/nl.po
new file mode 100644
index 00000000000..481e8a4f79a
--- /dev/null
+++ b/addons/lunch/i18n/nl.po
@@ -0,0 +1,552 @@
+# Dutch translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 01:37+0100\n"
+"PO-Revision-Date: 2012-07-29 09:58+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Dutch <nl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-07-30 04:55+0000\n"
+"X-Generator: Launchpad (build 15702)\n"
+
+#. module: lunch
+#: view:lunch.cashbox.clean:0
+msgid "Reset cashbox"
+msgstr "Reset kas"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid "Box amount in current year"
+msgstr "Kasbedrag in huidig jaar"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_order_form
+#: model:ir.ui.menu,name:lunch.menu_lunch_order_form
+#: model:ir.ui.menu,name:lunch.menu_lunch_reporting_order
+msgid "Lunch Orders"
+msgstr "Lunch Orders"
+
+#. module: lunch
+#: view:lunch.order.cancel:0
+msgid "Are you sure you want to cancel this order ?"
+msgstr "Weet u zeker dat u deze order wilt annuleren?"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_cashmove_form
+#: model:ir.ui.menu,name:lunch.menu_lunch_cashmove_form
+msgid "Cash Moves"
+msgstr "Kas mutaties"
+
+#. module: lunch
+#: view:lunch.cashmove:0 view:lunch.order:0 view:report.lunch.amount:0
+#: view:report.lunch.order:0
+msgid "Group By..."
+msgstr "Groepeer op.."
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_order_confirm
+msgid "confirm Order"
+msgstr "Bevestig order"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid " 7 Days "
+msgstr " 7 Dagen "
+
+#. module: lunch
+#: view:lunch.cashmove:0 view:lunch.order:0
+msgid "Today"
+msgstr "Vandaag"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "March"
+msgstr "Maart"
+
+#. module: lunch
+#: report:lunch.order:0
+msgid "Total :"
+msgstr "Totaal :"
+
+#. module: lunch
+#: field:report.lunch.amount,day:0 view:report.lunch.order:0
+#: field:report.lunch.order,day:0
+msgid "Day"
+msgstr "Dag"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_order_cancel
+#: model:ir.actions.act_window,name:lunch.action_lunch_order_cancel_values
+#: model:ir.model,name:lunch.model_lunch_order_cancel view:lunch.order:0
+#: view:lunch.order.cancel:0
+msgid "Cancel Order"
+msgstr "Annuleer order"
+
+#. module: lunch
+#: model:ir.actions.act_window,help:lunch.action_create_cashbox
+msgid ""
+"You can create on cashbox by employee if you want to keep track of the "
+"amount due by employee according to what have been ordered."
+msgstr ""
+
+#. module: lunch
+#: field:lunch.cashmove,amount:0 field:report.lunch.amount,amount:0
+msgid "Amount"
+msgstr "Bedrag"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_product_form
+#: model:ir.ui.menu,name:lunch.menu_lunch_product_form view:lunch.product:0
+msgid "Products"
+msgstr "Producten"
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_report_lunch_amount
+msgid "Amount available by user and box"
+msgstr "Bedrag beschikbaar per gebruiker en kas"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid " Month "
+msgstr " Maand "
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_report_lunch_order
+msgid "Lunch Orders Statistics"
+msgstr "Lunch order analyses"
+
+#. module: lunch
+#: view:lunch.cashmove:0 field:lunch.order,cashmove:0
+msgid "CashMove"
+msgstr "Kas muttatie"
+
+#. module: lunch
+#: view:lunch.order:0 selection:lunch.order,state:0
+msgid "Confirmed"
+msgstr "Bevestigd"
+
+#. module: lunch
+#: view:lunch.order.confirm:0
+msgid "Confirm"
+msgstr "Bevestig"
+
+#. module: lunch
+#: view:lunch.order:0
+msgid "Search Lunch Order"
+msgstr "Zoek lunchorders"
+
+#. module: lunch
+#: field:lunch.order,state:0
+msgid "State"
+msgstr "Status"
+
+#. module: lunch
+#: selection:lunch.order,state:0
+msgid "New"
+msgstr "Nieuw"
+
+#. module: lunch
+#: field:report.lunch.order,price_total:0
+msgid "Total Price"
+msgstr "Totaalprijs"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid "Box Amount by User"
+msgstr ""
+
+#. module: lunch
+#: field:lunch.cashmove,create_date:0
+msgid "Creation Date"
+msgstr "Aanmaakdatum"
+
+#. module: lunch
+#: report:lunch.order:0
+msgid "Name/Date"
+msgstr "Naam/Datum"
+
+#. module: lunch
+#: field:lunch.order,descript:0
+msgid "Description Order"
+msgstr "Order omschrijving"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid "Box amount in last month"
+msgstr ""
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_order_confirm
+#: model:ir.actions.act_window,name:lunch.action_lunch_order_confirm_values
+#: view:lunch.order:0 view:lunch.order.confirm:0
+msgid "Confirm Order"
+msgstr "Bevestig Order"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "July"
+msgstr "Juli"
+
+#. module: lunch
+#: view:lunch.cashmove:0 view:report.lunch.amount:0 view:report.lunch.order:0
+msgid "Box"
+msgstr ""
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid " 365 Days "
+msgstr " 365 Dagen "
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid " Month-1 "
+msgstr " Maand-1 "
+
+#. module: lunch
+#: field:report.lunch.amount,date:0
+msgid "Created Date"
+msgstr "Aanmaakdatum"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_category_form
+msgid " Product Categories "
+msgstr " Product categorieën "
+
+#. module: lunch
+#: view:lunch.cashbox.clean:0
+msgid "Set to Zero"
+msgstr "Zet op nul"
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_cashmove
+msgid "Cash Move"
+msgstr "Kas mutatie"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid "Tasks performed in last 365 days"
+msgstr "Taken uitgevoert de laatste 365 dagen"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "April"
+msgstr "April"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "September"
+msgstr "September"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "December"
+msgstr "December"
+
+#. module: lunch
+#: field:report.lunch.amount,month:0 view:report.lunch.order:0
+#: field:report.lunch.order,month:0
+msgid "Month"
+msgstr "Maand"
+
+#. module: lunch
+#: field:lunch.order.confirm,confirm_cashbox:0
+msgid "Name of box"
+msgstr ""
+
+#. module: lunch
+#: view:lunch.order.cancel:0
+msgid "Yes"
+msgstr "Ja"
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_category view:lunch.category:0
+#: view:lunch.order:0 field:lunch.order,category:0
+#: field:lunch.product,category_id:0
+msgid "Category"
+msgstr "Categorie"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid " Year "
+msgstr " Jaar "
+
+#. module: lunch
+#: model:ir.ui.menu,name:lunch.menu_lunch_category_form
+msgid "Product Categories"
+msgstr "Product categorieën"
+
+#. module: lunch
+#: view:lunch.cashbox.clean:0 view:lunch.order.cancel:0
+msgid "No"
+msgstr "Nee"
+
+#. module: lunch
+#: view:lunch.order.confirm:0
+msgid "Orders Confirmation"
+msgstr "Order bevestigen"
+
+#. module: lunch
+#: view:lunch.cashbox.clean:0
+msgid "Are you sure you want to reset this cashbox ?"
+msgstr ""
+
+#. module: lunch
+#: model:ir.actions.act_window,help:lunch.view_lunch_product_form_installer
+msgid ""
+"Define all products that the employees can order for the lunch time. If you "
+"order lunch at several places, you can use the product categories to split "
+"by supplier. It will be easier for the lunch manager to filter lunch orders "
+"by categories."
+msgstr ""
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "August"
+msgstr "Augustus"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_report_lunch_order_all
+#: view:report.lunch.order:0
+msgid "Lunch Order Analysis"
+msgstr "Lunch orders analyse"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "June"
+msgstr "Juni"
+
+#. module: lunch
+#: field:lunch.cashmove,user_cashmove:0 field:lunch.order,user_id:0
+#: field:report.lunch.amount,user_id:0 field:report.lunch.order,user_id:0
+msgid "User Name"
+msgstr "Gebruikersnaam"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid "Sales Analysis"
+msgstr "Verkoopanalyse"
+
+#. module: lunch
+#: model:ir.ui.menu,name:lunch.menu_lunch_category_root_configuration
+msgid "Lunch"
+msgstr "Lunch"
+
+#. module: lunch
+#: view:lunch.cashmove:0 view:report.lunch.order:0
+msgid "User"
+msgstr "Gebruiker"
+
+#. module: lunch
+#: view:lunch.cashmove:0 field:lunch.order,date:0
+msgid "Date"
+msgstr "Datum"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "November"
+msgstr "November"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "October"
+msgstr "Oktober"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "January"
+msgstr "Januari"
+
+#. module: lunch
+#: field:lunch.cashmove,box:0 field:report.lunch.amount,box:0
+msgid "Box Name"
+msgstr ""
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_cashbox_clean
+msgid "clean cashbox"
+msgstr ""
+
+#. module: lunch
+#: field:lunch.cashmove,active:0 field:lunch.product,active:0
+msgid "Active"
+msgstr "Actief"
+
+#. module: lunch
+#: field:report.lunch.order,date:0
+msgid "Date Order"
+msgstr "Orderdatum"
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_cashbox
+msgid "Cashbox for Lunch "
+msgstr ""
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_cashbox_clean
+#: model:ir.actions.act_window,name:lunch.action_lunch_cashbox_clean_values
+msgid "Set CashBox to Zero"
+msgstr ""
+
+#. module: lunch
+#: view:lunch.product:0
+msgid "General Information"
+msgstr "Algemene informatie"
+
+#. module: lunch
+#: view:lunch.order.confirm:0
+msgid "Cancel"
+msgstr "Anulleren"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_lunch_cashbox_form
+msgid " Cashboxes "
+msgstr ""
+
+#. module: lunch
+#: report:lunch.order:0
+msgid "Unit Price"
+msgstr "Eenheidsprijs"
+
+#. module: lunch
+#: field:lunch.order,product:0
+msgid "Product"
+msgstr "Product"
+
+#. module: lunch
+#: field:lunch.cashmove,name:0 report:lunch.order:0 view:lunch.product:0
+#: field:lunch.product,description:0
+msgid "Description"
+msgstr "Omschrijving"
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "May"
+msgstr "Mei"
+
+#. module: lunch
+#: field:lunch.order,price:0 field:lunch.product,price:0
+msgid "Price"
+msgstr "Prijs"
+
+#. module: lunch
+#: view:lunch.cashmove:0
+msgid "Search CashMove"
+msgstr ""
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid "Total box"
+msgstr ""
+
+#. module: lunch
+#: model:ir.model,name:lunch.model_lunch_product
+msgid "Lunch Product"
+msgstr "Lunch product"
+
+#. module: lunch
+#: field:lunch.cashbox,sum_remain:0
+msgid "Total Remaining"
+msgstr "Totaal overgebleven"
+
+#. module: lunch
+#: view:lunch.order:0
+msgid "Total price"
+msgstr ""
+
+#. module: lunch
+#: selection:report.lunch.amount,month:0 selection:report.lunch.order,month:0
+msgid "February"
+msgstr "Februari"
+
+#. module: lunch
+#: field:lunch.cashbox,name:0 field:lunch.category,name:0
+#: field:lunch.product,name:0 field:report.lunch.order,box_name:0
+msgid "Name"
+msgstr "Naam"
+
+#. module: lunch
+#: view:lunch.cashmove:0
+msgid "Total amount"
+msgstr "Totaalbedrag"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid "Tasks performed in last 30 days"
+msgstr "Taken uitgevoerd in de laatste 30 dagen"
+
+#. module: lunch
+#: view:lunch.category:0
+msgid "Category Related to Products"
+msgstr ""
+
+#. module: lunch
+#: model:ir.ui.menu,name:lunch.menu_lunch_cashbox_form view:lunch.cashbox:0
+msgid "Cashboxes"
+msgstr ""
+
+#. module: lunch
+#: view:lunch.category:0 report:lunch.order:0 view:lunch.order:0
+msgid "Order"
+msgstr "Order"
+
+#. module: lunch
+#: model:ir.actions.report.xml,name:lunch.report_lunch_order
+#: model:ir.model,name:lunch.model_lunch_order
+#: model:ir.ui.menu,name:lunch.menu_lunch report:lunch.order:0
+msgid "Lunch Order"
+msgstr "Luchorder"
+
+#. module: lunch
+#: view:report.lunch.amount:0
+msgid "Box amount in current month"
+msgstr ""
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.view_lunch_product_form_installer
+msgid "Define Your Lunch Products"
+msgstr "Definieer uw lunch producten"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid "Tasks during last 7 days"
+msgstr "Taken afgelopen 7 dagen"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_report_lunch_amount_tree
+#: model:ir.ui.menu,name:lunch.menu_lunch_report_amount_tree
+msgid "Cash Position by User"
+msgstr ""
+
+#. module: lunch
+#: field:lunch.cashbox,manager:0
+msgid "Manager"
+msgstr "Manager"
+
+#. module: lunch
+#: view:report.lunch.order:0
+msgid " 30 Days "
+msgstr " 30 Dagen "
+
+#. module: lunch
+#: view:lunch.order:0
+msgid "To Confirm"
+msgstr ""
+
+#. module: lunch
+#: field:report.lunch.amount,year:0 view:report.lunch.order:0
+#: field:report.lunch.order,year:0
+msgid "Year"
+msgstr "Jaar"
+
+#. module: lunch
+#: model:ir.actions.act_window,name:lunch.action_create_cashbox
+msgid "Create Lunch Cash Boxes"
+msgstr ""
diff --git a/addons/lunch/lunch.py b/addons/lunch/lunch.py
index 8cca4ced465..c249478ad48 100644
--- a/addons/lunch/lunch.py
+++ b/addons/lunch/lunch.py
@@ -210,7 +210,7 @@ class report_lunch_amount(osv.osv):
_name = 'report.lunch.amount'
_description = "Amount available by user and box"
_auto = False
- _rec_name = "user"
+ _rec_name = "user_id"
_columns = {
'user_id': fields.many2one('res.users', 'User Name', readonly=True),
diff --git a/addons/lunch/lunch_installer_view.xml b/addons/lunch/lunch_installer_view.xml
index 716ba36a49c..d63f44b5ff2 100644
--- a/addons/lunch/lunch_installer_view.xml
+++ b/addons/lunch/lunch_installer_view.xml
@@ -7,12 +7,23 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" eval="False"/>
- <field name="help">Define all products that the employees can order for the lunch time. If you order lunch at several places, you can use the product categories to split by supplier. It will be easier for the lunch manager to filter lunch orders by categories.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new product that can be ordered for the lunch.
+ </p><p>
+ We suggest you to put the real price so that the exact due
+ amount is deduced from each employee's cash boxes when they
+ order.
+ </p><p>
+ If you order lunch at several places, you can use the product
+ categories to split by supplier. It will be easier to filter
+ lunch orders.
+ </p>
+ </field>
</record>
<record id="view_lunch_product_form_todo" model="ir.actions.todo">
<field name="action_id" ref="view_lunch_product_form_installer"/>
- <field name="category_id" ref="base.category_tools_customization_config"/>
<field name="sequence">50</field>
</record>
@@ -22,12 +33,19 @@
<field name="res_model">lunch.cashbox</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">You can create on cashbox by employee if you want to keep track of the amount due by employee according to what have been ordered.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new cash box.
+ </p><p>
+ You can create on cash box by employee if you want to keep
+ track of the amount due by employee according to what have been
+ ordered.
+ </p>
+ </field>
</record>
<record id="action_create_cashbox_todo" model="ir.actions.todo">
<field name="action_id" ref="action_create_cashbox" />
- <field name="category_id" ref="base.category_tools_customization_config" />
<field name="sequence">51</field>
</record>
</data>
diff --git a/addons/lunch/lunch_view.xml b/addons/lunch/lunch_view.xml
index 5e870c085c9..d953dfbd1a9 100644
--- a/addons/lunch/lunch_view.xml
+++ b/addons/lunch/lunch_view.xml
@@ -76,12 +76,9 @@
<field name="arch" type="xml">
<search string="Search Lunch Order">
<field name="date"/>
- <separator orientation="vertical"/>
<filter icon="terp-check" string="To Confirm" domain="[('state','=','draft')]"/>
<filter icon="terp-camera_test" string="Confirmed" domain="[('state','=',('confirmed'))]"/>
- <separator orientation="vertical"/>
<field name="user_id"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'category'}"/>
</group>
@@ -192,12 +189,9 @@
<search string="Search CashMove">
<field name="create_date"/>
<field name="user_cashmove"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_cashmove'}"/>
- <separator orientation="vertical"/>
<filter string="Box" icon="terp-dolar" domain="[]" context="{'group_by':'box'}"/>
- <separator orientation="vertical"/>
<filter string="Date" icon="terp-go-today" domain="[]" context="{'group_by':'create_date'}"/>
</group>
</search>
@@ -301,8 +295,8 @@
<field name="arch" type="xml">
<search string="Products">
<field name="name" string="Product"/>
- <field name="category_id"/>
<field name="price"/>
+ <field name="category_id"/>
</search>
</field>
</record>
@@ -375,14 +369,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Box Amount by User">
- <group>
- <field name="date"/>
- <separator orientation="vertical"/>
- <field name="user_id"/>
- <field name="box"/>
- <field name="amount"/>
- </group>
- <newline/>
+ <field name="date"/>
+ <field name="box"/>
+ <field name="amount"/>
+ <field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="Box" icon="terp-dolar" context="{'group_by':'box'}"/>
</group>
diff --git a/addons/lunch/report/report_lunch_order_view.xml b/addons/lunch/report/report_lunch_order_view.xml
index 01de4be1354..717573687df 100644
--- a/addons/lunch/report/report_lunch_order_view.xml
+++ b/addons/lunch/report/report_lunch_order_view.xml
@@ -25,19 +25,14 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Lunch Order Analysis">
- <group>
- <field name="date"/>
- </group>
- <newline/>
+ <field name="date"/>
<group expand="0" string="Group By...">
<filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Box" icon="terp-dolar" context="{'group_by':'box_name'}"/>
- <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/>
</search>
</field>
</record>
diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py
index b8b359b8922..4f556070ade 100644
--- a/addons/mail/__openerp__.py
+++ b/addons/mail/__openerp__.py
@@ -24,7 +24,7 @@
'version': '1.0',
'category':'Social Network',
"sequence": 2,
- "summary": "Discussions, Feeds, Alerts",
+ "summary": "Discussions, Mailing Lists, News",
'description': """
A bussiness oriented Social Networking with a fully-integrated email
and message management.
diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml
index 274259e544e..f9edb8b9e2f 100644
--- a/addons/mail/data/mail_demo.xml
+++ b/addons/mail/data/mail_demo.xml
@@ -29,10 +29,10 @@
<field name="model">mail.group</field>
<field name="res_id" ref="group_all_company"/>
<field name="content_subtype">html</field>
- <field name="body_html"><![CDATA[Lorem ipsum dolor <b>sit amet</b>, consectetur <em>adipiscing elit</em>. Pellentesque et quam sapien, in sagittis tellus.
- Praesent vel massa sed massa consequat egestas in tristique orci. Praesent iaculis libero et neque vehicula iaculis. Vivamus placerat tincidunt orci ac ornare. Proin ut dolor fringilla velit ultricies consequat. Maecenas sit amet ipsum non leo interdum imperdiet. Donec sapien mi, varius a consequat id, consectetur sit amet nulla.
+ <field name="body_html"><![CDATA[Lorem ipsum dolor <b>sit amet</b>, consectetur <em>adipiscing elit</em>. Pellentesque et quam sapien, in sagittis tellus.
+Praesent vel massa sed massa consequat egestas in tristique orci. Praesent iaculis libero et neque vehicula iaculis. Vivamus placerat tincidunt orci ac ornare. Proin ut dolor fringilla velit ultricies consequat. Maecenas sit amet ipsum non leo interdum imperdiet. Donec sapien mi, varius a consequat id, consectetur sit amet nulla.
-Fusce tempus elit volutpat mi auctor adipiscing. Nam congue luctus suscipit. Duis vestibulum dapibus enim vitae dignissim. Sed tellus libero, venenatis ut mollis ut, luctus quis dui. Sed rhoncus pulvinar orci in consectetur.
+Fusce tempus elit volutpat mi auctor adipiscing. Nam congue luctus suscipit. Duis vestibulum dapibus enim vitae dignissim. Sed tellus libero, venenatis ut mollis ut, luctus quis dui. Sed rhoncus pulvinar orci in consectetur.
Nulla turpis leo, rhoncus ut egestas sit amet, consectetur vitae urna. Mauris in dolor in sapien tempus vehicula.]]></field>
<field name="type">comment</field>
@@ -54,11 +54,11 @@ Nulla turpis leo, rhoncus ut egestas sit amet, consectetur vitae urna. Mauris in
<field name="model">mail.group</field>
<field name="res_id" ref="group_all_company"/>
<field name="content_subtype">html</field>
- <field name="body_html"><![CDATA[Agreed !
+ <field name="body_html"><![CDATA[Agreed !
Would it be possible to learn more about the author ? (second comment)]]></field>
<field name="parent_id" ref="message_blogpost0"/>
<field name="type">comment</field>
- <field name="user_id" ref="base.user_root"/>
+ <field name="user_id" ref="base.user_demo"/>
</record>
<record id="message_blogpost0_comment2_attachment0" model="ir.attachment">
@@ -76,10 +76,10 @@ Would it be possible to learn more about the author ? (second comment)]]></fiel
<field name="model">mail.group</field>
<field name="res_id" ref="group_all_company"/>
<field name="content_subtype">html</field>
- <field name="body_html"><![CDATA[Sure: Curabitur tempor bibendum diam, et euismod ante rutrum vel.
+ <field name="body_html"><![CDATA[Sure: Curabitur tempor bibendum diam, et euismod ante rutrum vel.
-In quis purus neque. Integer sodales dolor eu elit fringilla blandit. Maecenas lacus nisi, facilisis sit amet viverra eu, tristique vel augue.
-Donec viverra congue dui eu blandit. In lacinia molestie nulla, ut sagittis risus feugiat eu.
+In quis purus neque. Integer sodales dolor eu elit fringilla blandit. Maecenas lacus nisi, facilisis sit amet viverra eu, tristique vel augue.
+Donec viverra congue dui eu blandit. In lacinia molestie nulla, ut sagittis risus feugiat eu.
Check the file in attachment for more information ! (third comment)]]></field>
<field name="parent_id" ref="message_blogpost0"/>
diff --git a/addons/mail/mail_group_view.xml b/addons/mail/mail_group_view.xml
index c755209f952..bd01e50baa5 100644
--- a/addons/mail/mail_group_view.xml
+++ b/addons/mail/mail_group_view.xml
@@ -104,7 +104,6 @@
<field name="arch" type="xml">
<search string="Search Groups">
<field name="name" string="Group"/>
- <separator orientation="vertical"/>
<field name="responsible_id"/>
</search>
</field>
diff --git a/addons/mail/mail_message_view.xml b/addons/mail/mail_message_view.xml
index 374b97624b1..024929c5bac 100644
--- a/addons/mail/mail_message_view.xml
+++ b/addons/mail/mail_message_view.xml
@@ -64,9 +64,7 @@
<field name="arch" type="xml">
<search string="Messages Search">
<field name="model" string="Message"/>
- <separator orientation="vertical"/>
<field name="date"/>
- <separator orientation="vertical"/>
<field name="user_id"/>
</search>
</field>
@@ -80,7 +78,6 @@
<field name="priority">25</field>
<field name="arch" type="xml">
<search string="Messages Search">
- <field name="user_id"/>
<field name="subject" string="Content" filter_domain="['|', ('subject', 'ilike', self), ('body', 'ilike', self)]" />
<field name="type"/>
<filter icon="terp-personal+" string="My Feeds"
@@ -105,6 +102,7 @@
domain="[ ('date', '&lt;=', datetime.date.today().strftime('%%Y-%%m-%%d 23:59:59')),
('date', '&gt;=', (datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d 00:00:00'))
]"/>
+ <field name="user_id"/>
</search>
</field>
</record>
@@ -209,31 +207,26 @@
<field name="arch" type="xml">
<search string="Email Search">
<field name="email_from" filter_domain="['|' '|',('email_from','ilike',self), ('email_to','ilike',self), ('subject','ilike',self)]" string="Email"/>
- <separator orientation="vertical"/>
<field name="date"/>
- <separator orientation="vertical"/>
<filter icon="terp-camera_test" name="received" string="Received" domain="[('state','=','received')]"/>
<filter icon="terp-call-start" name="outgoing" string="Outgoing" domain="[('state','=','outgoing')]"/>
<filter icon="terp-check" name="sent" string="Sent" domain="[('state','=','sent')]"/>
<filter icon="terp-gtk-stop" name="exception" string="Failed" domain="[('state','=','exception')]"/>
+ <separator/>
<filter icon="terp-camera_test" name="type_email" string="Email" domain="[('type','=','email')]"/>
<filter icon="terp-camera_test" name="type_comment" string="Comment" domain="[('type','=','comment')]"/>
<filter icon="terp-camera_test" name="type_notification" string="Notification" domain="[('type','=','notification')]"/>
- <newline/>
<group expand="0" string="Extended Filters...">
<field name="user_id" string="User"/>
<field name="partner_id" string="Partner Name"/>
<field name="model"/>
<field name="res_id"/>
</group>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Thread" icon="terp-mail-" domain="[]" context="{'group_by':'message_id'}"/>
- <separator orientation="vertical"/>
<filter string="Month" help="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
diff --git a/addons/mail/mail_thread_view.xml b/addons/mail/mail_thread_view.xml
index f07e1e467ee..68727832e53 100644
--- a/addons/mail/mail_thread_view.xml
+++ b/addons/mail/mail_thread_view.xml
@@ -9,7 +9,8 @@
sequence="10"/>
<!-- left-side menu: Feeds !-->
- <menuitem id="mail_feeds" name="Feeds" parent="mail_feeds_main"/>
+ <menuitem id="mail_feeds" name="Feeds" parent="mail_feeds_main" groups="base.group_user" sequence="10"/>
+
<record id="mail_wallfeeds" model="ir.ui.menu">
<field name="name">News Feed</field>
<field name="sequence" eval="10"/>
diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css
index 03f1078e6d5..c0317633aa7 100644
--- a/addons/mail/static/src/css/mail.css
+++ b/addons/mail/static/src/css/mail.css
@@ -359,9 +359,9 @@
}
/* Read more/less link */
-.openerp .oe_mail_msg_content .expand,
-.openerp .oe_mail_msg_content .reduce {
- font-weight: bold;
+.openerp .oe_mail_msg_content .oe_mail_reduce {
+ position: absolute;
+ right: 0;
}
/* Dropdown menu */
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index f488225d8b6..2173b4845e1 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -373,7 +373,8 @@ openerp.mail = function(session) {
action_buttons: false,
pager: false,
initial_mode: 'edit',
- });
+ disable_autofocus: true,
+ });
// add the form, bind events, activate the form
var msg_node = this.$element.find('div.oe_mail_msg_content');
return $.when(this.form_view.appendTo(msg_node)).pipe(function() {
@@ -521,7 +522,7 @@ openerp.mail = function(session) {
this.params.parent_id = this.params.parent_id || false;
this.params.thread_level = this.params.thread_level || 0;
this.params.is_wall = this.params.is_wall || (this.params.records != undefined) || false;
- this.params.msg_more_limit = this.params.msg_more_limit || 150;
+ this.params.msg_more_limit = this.params.msg_more_limit || 250;
this.params.limit = this.params.limit || 100;
// this.params.limit = 3; // tmp for testing
this.params.offset = this.params.offset || 0;
@@ -736,7 +737,7 @@ openerp.mail = function(session) {
/** Displays a record, performs text/link formatting */
display_comment: function (record) {
- record.body = mail.ChatterUtils.do_text_nl2br(record.body, true);
+ record.body = mail.ChatterUtils.do_text_nl2br($.trim(record.body), true);
// if (record.type == 'email' && record.state == 'received') {
if (record.type == 'email') {
record.mini_url = ('/mail/static/src/img/email_icon.png');
@@ -754,15 +755,15 @@ openerp.mail = function(session) {
record.is_author = mail.ChatterUtils.is_author(this, record.user_id[0]);
// render
var rendered = session.web.qweb.render('mail.thread.message', {'record': record, 'thread': this, 'params': this.params, 'display': this.display});
- $(rendered).appendTo(this.$element.children('div.oe_mail_thread_display:first'));
// expand feature
- this.$element.find('div.oe_mail_msg_body:last').expander({
+ $(rendered).appendTo(this.$element.children('div.oe_mail_thread_display:first'));
+ this.$element.find('div.oe_mail_msg_record_body').expander({
slicePoint: this.params.msg_more_limit,
- expandText: 'see more',
- userCollapseText: 'see less',
+ expandText: 'read more',
+ userCollapseText: '[^]',
detailClass: 'oe_mail_msg_tail',
moreClass: 'oe_mail_expand',
- lesClass: 'oe_mail_reduce',
+ lessClass: 'oe_mail_reduce',
});
},
diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml
index bf8d7fd1475..86d115f29c8 100644
--- a/addons/mail/static/src/xml/mail.xml
+++ b/addons/mail/static/src/xml/mail.xml
@@ -33,7 +33,7 @@
<!-- contains threads -->
</ul>
<div class="oe_mail_wall_more">
- <button class="oe_mail_wall_button_more" type="button">See more discussions</button>
+ <button class="oe_mail_wall_button_more" type="button">See more...</button>
</div>
</div>
<div class="oe_mail_wall_aside">
@@ -129,7 +129,7 @@
<t t-if="display['show_delete']">
<li t-if="record.is_author"><a href="#" class="oe_mail_msg_delete" t-attf-data-id='{record.id}'>Delete</a></li>
</t>
- <li t-if="display['show_hide']"><a href="#" class="oe_mail_msg_hide" t-attf-data-id='{record.id}'>Remove from Wall</a></li>
+ <li t-if="display['show_hide']"><a href="#" class="oe_mail_msg_hide" t-attf-data-id='{record.id}'>Hide</a></li>
<!-- Uncomment when adding subtype hiding
<li t-if="display['show_hide']">
<a href="#" class="oe_mail_msg_hide_type" t-attf-data-subtype='{record.subtype}'>Hide '<t t-esc="record.subtype"/>' for this document</a>
@@ -143,16 +143,17 @@
<h1 t-if="record.subject" class="oe_mail_msg_title">
<t t-raw="record.subject"/>
</h1>
- <div t-if="params.thread_level > 0" class="oe_mail_msg_subtitle">
- <a t-attf-href="#model=#{params.res_model}&amp;id=#{params.res_id}"><t t-raw="record.record_name"/></a>
- </div>
- <div class="oe_clear"/>
<div class="oe_mail_msg_body">
- <a t-attf-href="#model=res.users&amp;id=#{record.user_id[0]}"><t t-raw="record.user_id[1]"/></a>
- <div class="oe_mail_msg_record_body"><t t-raw="record.body"/></div>
+
+ <div class="oe_mail_msg_record_body">
+ <a t-attf-href="#model=#{params.res_model}&amp;id=#{params.res_id}" t-if="(params.thread_level > 0) &amp; (!record.subject)"><t t-raw="record.record_name"/></a>
+ <t t-raw="record.body"/>
+ </div>
</div>
<div class="oe_clear"/>
<ul class="oe_mail_msg_footer">
+ <li t-if="record.subject &amp; params.thread_level > 0"><a t-attf-href="#model=#{params.res_model}&amp;id=#{params.res_id}"><t t-raw="record.record_name"/></a></li>
+ <li><a t-attf-href="#model=res.users&amp;id=#{record.user_id[0]}"><t t-raw="record.user_id[1]"/></a></li>
<li><span t-att-title="record.date"><t t-raw="record.timerelative"/></span></li>
<li t-if="display['show_reply']"><a href="#" class="oe_mail_msg_reply">Reply</a></li>
<!-- uncomment when merging vote
@@ -160,8 +161,8 @@
-->
<li t-if="record.attachment_ids.length > 0">
<a href="#" class="oe_mail_msg_view_attachments">
- <t t-if="record.attachment_ids.length == 1">Attachment</t>
- <t t-if="record.attachment_ids.length > 1">Attachments (<t t-raw="record.attachment_ids.length"/>)</t>
+ <t t-if="record.attachment_ids.length == 1">1 Attachment</t>
+ <t t-if="record.attachment_ids.length > 1"><t t-raw="record.attachment_ids.length"/> Attachments</t>
</a>
</li>
</ul>
diff --git a/addons/marketing/res_config_view.xml b/addons/marketing/res_config_view.xml
index c2c7cb543c0..a5364524747 100644
--- a/addons/marketing/res_config_view.xml
+++ b/addons/marketing/res_config_view.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
@@ -6,17 +7,30 @@
<field name="model">marketing.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Configure Marketing" version="7.0">
+ <form string="Configure Marketing" class="oe_form_configuration" version="7.0">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
- <group string="Campaigns">
- <field name="module_marketing_campaign"/>
- <field name="module_marketing_campaign_crm_demo"/>
- <field name="module_crm_profiling"/>
+ <separator string="Campaigns"/>
+ <group>
+ <label for="id" string="Campaigns Settings"/>
+ <div>
+ <div>
+ <field name="module_marketing_campaign" class="oe_inline"/>
+ <label for="module_marketing_campaign"/>
+ </div>
+ <div>
+ <field name="module_marketing_campaign_crm_demo" class="oe_inline"/>
+ <label for="module_marketing_campaign_crm_demo"/>
+ </div>
+ <div>
+ <field name="module_crm_profiling" class="oe_inline"/>
+ <label for="module_crm_profiling"/>
+ </div>
+ </div>
</group>
</form>
</field>
diff --git a/addons/marketing_campaign/marketing_campaign_demo.xml b/addons/marketing_campaign/marketing_campaign_demo.xml
index aaf5a98c6bc..54897cd111a 100644
--- a/addons/marketing_campaign/marketing_campaign_demo.xml
+++ b/addons/marketing_campaign/marketing_campaign_demo.xml
@@ -4,7 +4,7 @@
<!-- Email tempalte -->
<record id="email_template_1" model="email.template">
<field name="name">Template for New Partner</field>
- <field name="email_from">info@tinyerp.com</field>
+ <field name="email_from">info@openerp.com</field>
<field name="subject">Welcome in OpenERP Partner Channel!</field>
<field name="email_to">${object.email or ''}</field>
<field name="model_id" ref="base.model_res_partner"/>
@@ -12,7 +12,7 @@
</record>
<record id="email_template_2" model="email.template">
<field name="name">Template for Silver Partner</field>
- <field name="email_from">info@tinyerp.com</field>
+ <field name="email_from">info@openerp.com</field>
<field name="subject">Congratulation! You become now our Silver Partner.</field>
<field name="email_to">${object.email or ''}</field>
<field name="model_id" ref="base.model_res_partner"/>
@@ -21,7 +21,7 @@
<record id="email_template_3" model="email.template">
<field name="name">Template for Gold Partner</field>
- <field name="email_from">info@tinyerp.com</field>
+ <field name="email_from">info@openerp.com</field>
<field name="subject">Congratulation! You become our Gold Partner.</field>
<field name="email_to">${object.email or ''}</field>
<field name="model_id" ref="base.model_res_partner"/>
diff --git a/addons/marketing_campaign/marketing_campaign_view.xml b/addons/marketing_campaign/marketing_campaign_view.xml
index 6a06cb33f1d..9af709c19a5 100644
--- a/addons/marketing_campaign/marketing_campaign_view.xml
+++ b/addons/marketing_campaign/marketing_campaign_view.xml
@@ -4,19 +4,14 @@
<menuitem name="Configuration" id="menu_marketing_configuration" parent="base.marketing_menu" sequence="1"/>
- <!--
- ======================
- Marketing Campaign
- ======================
- -->
+ <!-- Marketing Campaign -->
<act_window name="All Segments"
res_model="marketing.campaign.segment"
src_model="marketing.campaign"
view_type="form"
view_mode="tree,form"
id="act_marketing_campaing_segment_opened"
- context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"
- />
+ context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"/>
<!-- Campaign Followups -->
<act_window
@@ -24,7 +19,7 @@
id="act_marketing_campaing_followup"
name="Campaign Follow-up" res_model="marketing.campaign.workitem"
src_model="marketing.campaign" view_mode="tree,form"
- view_type="form" />
+ view_type="form"/>
<record model="ir.ui.view" id="view_marketing_campaign_form">
<field name="name">marketing.campaign.form</field>
@@ -43,10 +38,10 @@
<div class="oe_right oe_button_box" name="button_box">
<button type="action"
name="%(act_marketing_campaing_followup)d"
- string="Follow-Up" />
+ string="Follow-Up"/>
<button type="action"
name="%(act_marketing_campaing_segment_opened)d"
- string="Segments" />
+ string="Segments"/>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
@@ -61,10 +56,10 @@
<field name="object_id"/>
<field name="partner_field_id"/>
<field name="unique_field_id"/>
- </group>
+ </group>
</group>
<separator string="Activities"/>
- <field name="activity_ids" context="{'default_object_id': object_id, 'default_campaign_id': active_id}" />
+ <field name="activity_ids" context="{'default_object_id': object_id, 'default_campaign_id': active_id}"/>
</sheet>
</form>
</field>
@@ -114,19 +109,15 @@
<field name="arch" type="xml">
<search string="Campaigns">
<field name="name" string="Campaign"/>
- <separator orientation="vertical"/>
<filter icon="terp-document-new" string="Draft" name="draft" domain="[('state','=','draft')]"/>
<filter icon="terp-check" string="Running" domain="[('state','=','running')]"/>
+ <separator/>
<filter icon="terp-gtk-jump-to-rtl" string="Test Mode" name="test" domain="[('mode','=','test')]"/>
<filter icon="terp-gtk-jump-to-rtl" string="Manual Mode" domain="[('mode','=','manual')]"/>
- <separator orientation="vertical"/>
<field name="object_id" string="Resource"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Resource" name="Object" icon="terp-accessories-archiver" context="{'group_by':'object_id'}"/>
- <separator orientation="vertical"/>
<filter string="Mode" name="Mode" icon="terp-gtk-jump-to-rtl" context="{'group_by':'mode'}"/>
- <separator orientation="vertical"/>
<filter string="Status" name="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
</group>
</search>
@@ -142,18 +133,26 @@
<field name="view_id" ref="view_marketing_campaign_tree"/>
<field name="context">{'group_by': []}</field>
<field name="search_view_id" ref="view_marketing_campaign_search"/>
- <field name="help">A marketing campaign is an event or activity that will help you manage and reach your partners with specific messages. A campaign can have many activities that will be triggered from a specific situation. One action could be sending an email template that has previously been created in the system.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a marketing campaign.
+ </p><p>
+ OpenERP's marketing campaign allows you to automate communication
+ to your prospects. You can define a segment (set of conditions) on
+ your leads and partners to fullfil the campaign.
+ </p><p>
+ A campaign can have many activities like sending an email, printing
+ a letter, assigning to a team, etc. These activities are triggered
+ from specific situations; contact form, 10 days after first
+ contact, if a lead is not closed yet, etc.
+ </p>
+ </field>
</record>
<menuitem name="Campaigns" id="menu_marketing_campaign" parent="base.marketing_menu"/>
- <menuitem id="menu_marketing_campaign_form" parent="menu_marketing_campaign" action="action_marketing_campaign_form" sequence="30" />
-
- <!--
- ======================
- Marketing Segments
- ======================
- -->
+ <menuitem id="menu_marketing_campaign_form" parent="menu_marketing_campaign" action="action_marketing_campaign_form" sequence="30"/>
+ <!-- Marketing Segments -->
<record model="ir.ui.view" id="view_marketing_campaign_segment_form">
<field name="name">marketing.campaign.segment.form</field>
<field name="model">marketing.campaign.segment</field>
@@ -202,7 +201,7 @@
<field name="campaign_id"/>
<field name="date_run"/>
<field name="sync_last_date"/>
- <field name="state" />
+ <field name="state"/>
</tree>
</field>
</record>
@@ -214,23 +213,18 @@
<field name="arch" type="xml">
<search string="Segments">
<field name="name" string="Segment"/>
- <separator orientation="vertical"/>
<field name="date_run"/>
- <separator orientation="vertical"/>
<filter icon="terp-check" string="Running" name="running" domain="[('state','=','running')]"/>
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]"/>
+ <separator/>
<filter icon="terp-gtk-jump-to-ltr" string="Newly Created" help="Sync mode: only records created after last sync" domain="[('sync_mode','=','create_date')]"/>
<filter icon="terp-stock_effects-object-colorize" string="Newly Modified" help="Sync mode: only records updated after last sync" domain="[('sync_mode','=','write_date')]"/>
<filter icon="terp-emblem-documents" string="All" help="Sync mode: all records" domain="[('sync_mode','=','all')]"/>
- <separator orientation="vertical"/>
<field name="campaign_id"/>
<field name="object_id"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Campaign" name="Campaign" icon="terp-gtk-jump-to-rtl" context="{'group_by':'campaign_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" name="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Launch Date" name="Launch Date" icon="terp-go-month" context="{'group_by':'date_run'}"/>
</group>
</search>
@@ -248,16 +242,12 @@
<field name="context">{'group_by': []}</field>
</record>
- <menuitem id="menu_marketing_campaign_segment_form" parent="menu_marketing_campaign" action="action_marketing_campaign_segment_form" sequence="20" />
+ <menuitem id="menu_marketing_campaign_segment_form" parent="menu_marketing_campaign" action="action_marketing_campaign_segment_form" sequence="20"/>
<!--
- ======================
- Marketing Activities
- ======================
-
- these views are not intended to be used outside the campaign context.
+ Marketing Activities
+ These views are not intended to be used outside the campaign context.
-->
-
<record model="ir.ui.view" id="view_marketing_campaign_activity_form">
<field name="name">marketing.campaign.activity.form</field>
<field name="model">marketing.campaign.activity</field>
@@ -285,7 +275,7 @@
<group>
<field name="type"/>
<field name="email_template_id" attrs="{'required':[('type','=','email')], 'invisible':[('type','!=','email')]}"
- context="{'default_model_id':object_id}" />
+ context="{'default_model_id':object_id}"/>
<field name="server_action_id" attrs="{'required':[('type','=','action')],'invisible':[('type','!=','action')]}" domain="[('model_id','=',object_id)]"/>
<field name="report_id" attrs="{'required':[('type','=','report')],'invisible':[('type','!=','report')]}" context="{'object_id':object_id}"/>
<field name="report_directory_id" attrs="{'required':[('type','=','report')],'invisible':[('type','!=','report')]}"/>
@@ -344,12 +334,7 @@
</record>
- <!--
- ======================
- Marketing Workitems
- ======================
- -->
-
+ <!-- Marketing Workitems -->
<record model="ir.ui.view" id="view_marketing_campaign_workitem_tree">
<field name="name">marketing.campaign.workitem.tree</field>
<field name="model">marketing.campaign.workitem</field>
@@ -358,10 +343,10 @@
<tree colors="red:state == 'exception';black:state == 'todo';gray:state == 'cancelled'" string="Marketing Campaign Activities">
<field name="campaign_id"/>
<field name="segment_id"/>
- <field name="activity_id" />
+ <field name="activity_id"/>
<field name="object_id" invisible="1"/>
<field name="res_id" invisible="1"/>
- <field name="res_name" />
+ <field name="res_name"/>
<field name="partner_id"/>
<field name="date"/>
<field name="state"/>
@@ -414,31 +399,22 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Marketing Campaign Activities">
- <group>
- <field name="res_name" string="Marketing Campaign Activity"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','todo')]"/>
- <filter icon="terp-emblem-important" string="Exception" domain="[('state','=','exception')]"/>
- <separator orientation="vertical"/>
- <field name="campaign_id"/>
- <field name="segment_id"/>
- <field name="object_id"/>
- <field name="partner_id"/>
- <field name="res_id"/>
- </group>
- <newline/>
+ <field name="res_name" string="Marketing Campaign Activity"/>
+ <field name="date"/>
+ <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','todo')]"/>
+ <filter icon="terp-emblem-important" string="Exception" domain="[('state','=','exception')]"/>
+ <field name="campaign_id"/>
+ <field name="segment_id"/>
+ <field name="object_id"/>
+ <field name="partner_id"/>
+ <field name="res_id"/>
<group expand="0" string="Group By...">
<filter string="Campaign" name="campaign" icon="terp-gtk-jump-to-rtl" context="{'group_by':'campaign_id'}"/>
<filter string="Segment" name="segment" icon="terp-stock_symbol-selection" context="{'group_by':'segment_id'}"/>
<filter string="Activity" name="activity" icon="terp-stock_align_left_24" context="{'group_by':'activity_id'}"/>
- <separator orientation="vertical"/>
<filter string="Resource" name="resource" icon="terp-accessories-archiver" context="{'group_by':'object_id'}"/>
<filter string="Resource ID" name="res_id" icon="terp-accessories-archiver" context="{'group_by':'res_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" name="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Execution Date" name="Date" icon="terp-go-month" context="{'group_by':'date'}"/>
</group>
</search>
@@ -464,8 +440,7 @@
view_type="form"
view_mode="tree,form"
id="act_marketing_campaing_segment_opened"
- context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"
- />
+ context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"/>
<!-- Campaign Follow-ups -->
<act_window
@@ -473,7 +448,7 @@
id="act_marketing_campaing_followup"
name="Campaign Follow-up" res_model="marketing.campaign.workitem"
src_model="marketing.campaign" view_mode="tree,form"
- view_type="form" />
+ view_type="form"/>
<!-- Campaign Statistics -->
<act_window
@@ -481,7 +456,7 @@
id="act_marketing_campaing_stat"
name="Campaign Statistics" res_model="campaign.analysis"
src_model="marketing.campaign" view_mode="tree,form"
- view_type="form" />
+ view_type="form"/>
</data>
</openerp>
diff --git a/addons/marketing_campaign/marketing_campaign_workflow.xml b/addons/marketing_campaign/marketing_campaign_workflow.xml
index 4db60dbfa27..ad3fb0ddcca 100644
--- a/addons/marketing_campaign/marketing_campaign_workflow.xml
+++ b/addons/marketing_campaign/marketing_campaign_workflow.xml
@@ -1,16 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
-
- <!-- ==================Marketing Campaigns================== -->
-
+
+ <!-- Marketing Campaigns -->
<record id="wkf_marketing_campaign" model="workflow">
<field name="name">marketing.campaign.basic</field>
<field name="osv">marketing.campaign</field>
<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>
@@ -32,7 +31,7 @@
<field name="kind">function</field>
<field name="action">state_done_set()</field>
</record>
-
+
<record id="act_marketing_campaign_cancel" model="workflow.activity">
<field name="wkf_id" ref="wkf_marketing_campaign"/>
<field name="name">cancel</field>
@@ -41,19 +40,19 @@
<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"/>
<field name="signal">state_running_set</field>
</record>
-
+
<record id="trans_campaign_running_done" model="workflow.transition">
<field name="act_from" ref="act_marketing_campaign_running"/>
<field name="act_to" ref="act_marketing_campaign_done"/>
<field name="signal">state_done_set</field>
</record>
-
+
<record id="trans_campaign_running_cancel" model="workflow.transition">
<field name="act_from" ref="act_marketing_campaign_running"/>
<field name="act_to" ref="act_marketing_campaign_cancel"/>
@@ -72,15 +71,14 @@
<field name="signal">state_draft_set</field>
</record>
- <!-- ==================Marketing Campaign Segment================== -->
-
+ <!-- Marketing Campaign Segment -->
<record id="wkf_marketing_campaign_segment" model="workflow">
<field name="name">marketing.campaign.segment.basic</field>
<field name="osv">marketing.campaign.segment</field>
<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>
@@ -102,7 +100,7 @@
<field name="kind">function</field>
<field name="action">state_done_set()</field>
</record>
-
+
<record id="act_marketing_campaign_segment_cancel" model="workflow.activity">
<field name="wkf_id" ref="wkf_marketing_campaign_segment"/>
<field name="name">cancel</field>
@@ -111,19 +109,19 @@
<field name="flow_stop" eval="False"/>
</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"/>
<field name="signal">state_running_set</field>
</record>
-
+
<record id="trans_campaign_segment_running_done" model="workflow.transition">
<field name="act_from" ref="act_marketing_campaign_segment_running"/>
<field name="act_to" ref="act_marketing_campaign_segment_done"/>
<field name="signal">state_done_set</field>
</record>
-
+
<record id="trans_campaign_segment_running_cancel" model="workflow.transition">
<field name="act_from" ref="act_marketing_campaign_segment_running"/>
<field name="act_to" ref="act_marketing_campaign_segment_cancel"/>
@@ -141,5 +139,6 @@
<field name="act_to" ref="act_marketing_campaign_segment_draft"/>
<field name="signal">state_draft_set</field>
</record>
+
</data>
</openerp>
diff --git a/addons/marketing_campaign/report/campaign_analysis_view.xml b/addons/marketing_campaign/report/campaign_analysis_view.xml
index 7b3d848cc8b..30913f1b532 100644
--- a/addons/marketing_campaign/report/campaign_analysis_view.xml
+++ b/addons/marketing_campaign/report/campaign_analysis_view.xml
@@ -31,35 +31,22 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Campaign Analysis">
- <group>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-go-back-rtl"
- string="To Do"
- domain="[('state','=','todo')]"/>
- <filter icon="terp-dialog-close"
- string="Done"
- domain="[('state','=','done')]"/>
- <filter icon="terp-emblem-important"
- string="Exceptions"
- domain="[('state','=','exception')]"/>
- <separator orientation="vertical"/>
- <field name="campaign_id"/>
- <field name="activity_id"/>
- <field name="segment_id"/>
- <field name="partner_id"/>
- <field name="country_id"/>
- </group>
- <newline/>
+ <field name="date"/>
+ <filter icon="terp-gtk-go-back-rtl" string="To Do" domain="[('state','=','todo')]"/>
+ <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/>
+ <filter icon="terp-emblem-important" string="Exceptions" domain="[('state','=','exception')]"/>
+ <field name="campaign_id"/>
+ <field name="activity_id"/>
+ <field name="segment_id"/>
+ <field name="partner_id"/>
+ <field name="country_id"/>
<group expand="0" string="Group By...">
<filter string="Campaign" name="Campaign" icon="terp-gtk-jump-to-rtl" context="{'group_by':'campaign_id'}" />
<filter string="Segment" name="Segment" icon="terp-stock_symbol-selection" context="{'group_by':'segment_id'}"/>
<filter string="Activity" name="activity" icon="terp-stock_align_left_24" context="{'group_by':'activity_id'}"/>
<filter string="Resource" icon="terp-accessories-archiver" context="{'group_by':'res_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>
- <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'}"/>
diff --git a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml
index 989d11e6ffd..0946ff6e129 100644
--- a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml
+++ b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml
@@ -35,7 +35,7 @@
<!-- Email tempalte -->
<record id="email_template_1" model="email.template">
<field name="subject">Thanks for showing interest in OpenERP</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@@ -45,7 +45,7 @@
</record>
<record id="email_template_2" model="email.template">
<field name="subject">Propose to subscribe to the OpenERP Discovery Day on May 2010</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@@ -60,7 +60,7 @@
<record id="email_template_3" model="email.template">
<field name="subject">Thanks for subscribing to the OpenERP Discovery Day</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@@ -74,7 +74,7 @@
<record id="email_template_4" model="email.template">
<field name="subject">Thanks for buying the OpenERP book</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@@ -88,7 +88,7 @@
<record id="email_template_5" model="email.template">
<field name="subject">Propose a free technical training to Gold partners</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field eval="0" name="user_signature"/>
@@ -102,7 +102,7 @@
<record id="email_template_6" model="email.template">
<field name="subject">Propose paid training to Silver partners</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@@ -117,7 +117,7 @@
<record id="email_template_7" model="email.template">
<field name="subject">Propose gold partnership to silver partners</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@@ -132,7 +132,7 @@
<record id="email_template_8" model="email.template">
<field name="subject">Thanks for subscribing to technical training</field>
- <field name="email_to">info@tinyerp.com</field>
+ <field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
diff --git a/addons/membership/membership.py b/addons/membership/membership.py
index 06b84ec80c5..b75a813f285 100644
--- a/addons/membership/membership.py
+++ b/addons/membership/membership.py
@@ -146,7 +146,7 @@ class membership_line(osv.osv):
'date_to': fields.date('To', readonly=True),
'date_cancel': fields.date('Cancel date'),
'date': fields.date('Join Date', help="Date on which member has joined the membership"),
- 'member_price': fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True, help='Amount for the membership'),
+ 'member_price': fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True, help='Amount for the membership'),
'account_invoice_line': fields.many2one('account.invoice.line', 'Account Invoice line', readonly=True),
'account_invoice_id': fields.related('account_invoice_line', 'invoice_id', type='many2one', relation='account.invoice', string='Invoice', readonly=True),
'state': fields.function(_state,
diff --git a/addons/membership/membership_view.xml b/addons/membership/membership_view.xml
index 5eea7170367..a06bcfcce5e 100644
--- a/addons/membership/membership_view.xml
+++ b/addons/membership/membership_view.xml
@@ -13,15 +13,11 @@
<field name="arch" type="xml">
<search string="Membership Products">
<field name="name" filter_domain="['|',('name','ilike',self),('code','ilike',self)]" string="Membership Product"/>
- <separator orientation="vertical"/>
<filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',0)]"/>
- <separator orientation="vertical"/>
- <field name="categ_id" widget="selection" operator="child_of"/>
- <newline/>
+ <field name="categ_id" operator="child_of"/>
<group expand='0' string='Group by...'>
- <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}" />
- <separator orientation="vertical"/>
- <filter string='Date From' icon="terp-go-month" domain="[]" context="{'group_by' : 'membership_date_from'}" />
+ <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/>
+ <filter string='Date From' icon="terp-go-month" domain="[]" context="{'group_by' : 'membership_date_from'}"/>
</group>
</search>
</field>
@@ -171,17 +167,16 @@
<search string="Membership Partners">
<field name="membership_start" invisible="1"/>
<field name="membership_stop" string="End Membership Date"/>
- <separator orientation="vertical"/>
<filter string="Customers" name="customer" icon="terp-personal" domain="[('customer','=',1)]" help="Customer Partners"/>
+ <separator/>
<filter string="Suppliers" name="supplier" icon="terp-personal" domain="[('supplier','=',1)]" help="Supplier Partners"/>
+ <separator/>
<filter icon="terp-personal" name="all_non_members" domain="[('membership_state', 'in', ['none','canceled','old','waiting'])]" string="All non Members" help="None/Canceled/Old/Waiting"/>
<filter icon="terp-personal" name="all_members" domain="[('membership_state', 'in', ['invoiced','paid','free'])]" string="All Members" help="Invoiced/Paid/Free"/>
<group expand="0" string="Group By..." colspan="10" col="8">
- <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
+ <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}"/>
<filter string="Associate Member" name = "associate" icon="terp-partner" domain="[]" context="{'group_by':'associate_member'}"/>
- <separator orientation="vertical"/>
<filter string=" Membership State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'membership_state'}"/>
- <separator orientation="vertical"/>
<filter string="Start Date" help="Starting Date Of Membership" icon="terp-go-month" domain="[]" context="{'group_by':'membership_start'}"/>
<filter string="End Date" help="Ending Date Of Membership" icon="terp-go-month" domain="[]" context="{'group_by':'membership_stop'}"/>
</group>
@@ -288,7 +283,7 @@
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml">
<field name="list_price" position="after">
- <field name="member_price"/>
+ <field name="member_price" groups="base.group_user"/>
</field>
</field>
</record>
diff --git a/addons/membership/report/report_membership_view.xml b/addons/membership/report/report_membership_view.xml
index 51e1f2499b7..71e1c6f7876 100644
--- a/addons/membership/report/report_membership_view.xml
+++ b/addons/membership/report/report_membership_view.xml
@@ -35,31 +35,23 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Membership">
- <group>
- <field name="date_from"/>
- <separator orientation="vertical"/>
- <filter string="Forecast" icon="terp-gtk-jump-to-ltr" context="{'waiting_invoiced_totpending_visible':0}" help="This will display waiting, invoiced and total pending columns"/>
- <filter string="Revenue Done" name="Revenue" icon="terp-dolar" context="{'paid_old_totearned_visible':0}" help="This will display paid, old and total earned columns"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="membership_id"/>
- <field name="user_id"/>
- </group>
- <newline/>
+ <field name="date_from"/>
+ <filter string="Forecast" icon="terp-gtk-jump-to-ltr" context="{'waiting_invoiced_totpending_visible':0}" help="This will display waiting, invoiced and total pending columns"/>
+ <filter string="Revenue Done" name="Revenue" icon="terp-dolar" context="{'paid_old_totearned_visible':0}" help="This will display paid, old and total earned columns"/>
+ <field name="partner_id"/>
+ <field name="membership_id"/>
+ <field name="user_id"/>
<group expand="1" string="Group By...">
<filter string="Salesperson" icon="terp-personal" name="salesman"
domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Associated Partner" icon="terp-partner" name="associate_member_id"
domain="[]" context="{'group_by':'associate_member_id'}"/>
- <separator orientation="vertical"/>
<filter string="Membership Product" icon="terp-accessories-archiver" name="product"
domain="[]" context="{'group_by':'membership_id'}"/>
<filter string="Current Membership State" icon="terp-stock_effects-object-colorize"
domain="[]" context="{'group_by':'membership_state'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" icon="terp-go-home"
domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical"/>
<filter string="Year" name="year" icon="terp-go-year"
domain="[]" context="{'group_by':'year'}"/>
<filter string="Month" name="month" icon="terp-go-month"
diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py
index d7a14237eb0..eae0d004836 100644
--- a/addons/mrp/__openerp__.py
+++ b/addons/mrp/__openerp__.py
@@ -27,7 +27,7 @@
"website" : "http://www.openerp.com",
"category" : "Manufacturing",
"sequence": 18,
- "summary": "Manufacturing, Production, Bill of Materials",
+ "summary": "Manufacturing Orders, Bill of Materials, Routing",
"images" : ["images/bill_of_materials.jpeg", "images/manufacturing_order.jpeg", "images/planning_manufacturing_order.jpeg", "images/production_analysis.jpeg", "images/production_dashboard.jpeg","images/routings.jpeg","images/work_centers.jpeg"],
"depends" : ["procurement", "stock", "resource", "purchase", "product","process"],
"description": """
diff --git a/addons/mrp/mrp_data.xml b/addons/mrp/mrp_data.xml
index 7e98554a2ed..e5d5380f96a 100644
--- a/addons/mrp/mrp_data.xml
+++ b/addons/mrp/mrp_data.xml
@@ -6,14 +6,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module MRP has been installed</value>
- <value>Manage your manufacturing process in OpenERP by defining bill
- of materials (BoM), routings and work centers. This module
- supports complete integration and planification of stockable
- goods, consumable, and services.
+ <value>Manage your manufacturing process in OpenERP by defining bill of materials (BoM), routings and work centers. This module supports complete integration and planification of stockable goods, consumable, and services.
- From the Manufacturing Settings, you can choose to compute
- production schedules periodically or just-in-time.
- </value>
+From the Manufacturing Settings, you can choose to compute production schedules periodically or just-in-time.</value>
</function>
<record id="sequence_mrp_prod_type" model="ir.sequence.type">
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index 3177d578997..4ed90bb7c79 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -41,8 +41,20 @@
<field name="res_model">mrp.property.group</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">
- Define specific property groups that can be assigned to the properties of your bill of materials.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a group of properties.
+ </p><p>
+ Define specific property groups that can be assigned to your
+ bill of materials and sales orders. Properties allows OpenERP
+ to automatically select the right bill of materials according
+ to properties selected in the sale order by salesperson.
+ </p><p>
+ For instance, in the property group "Warranty", you an have
+ two properties: 1 year warranty, 3 years warranty. Depending
+ on the propoerties selected in the sale order, OpenERP will
+ schedule a production using the matching bill of materials.
+ </p>
</field>
</record>
<menuitem
@@ -87,14 +99,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search">
- <group>
- <field name="name" string="Name"/>
- <separator orientation="vertical"/>
- <field name="group_id" widget="selection"/>
- <field name="composition"/>
- </group>
- <newline/>
- <group expand="0" string="Group By...">
+ <field name="name" string="Name"/>
+ <field name="composition"/>
+ <field name="group_id" />
+ <group expand="0" string="Group By...">
<filter string="Property Group" icon="terp-personal" domain="[]" context="{'group_by':'group_id'}"/>
</group>
</search>
@@ -109,12 +117,18 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_mrp_property_search"/>
- <field name="help">
- The Properties in OpenERP are used to select the right bill of materials for manufacturing
- a product when you have different ways of building the same product.
- You can assign several properties to each bill of materials.
- When a salesperson creates a sale order, they can relate it to several properties
- and OpenERP will automatically select the BoM to use according the needs.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new property.
+ </p><p>
+ The Properties in OpenERP are used to select the right bill of
+ materials for manufacturing a product when you have different
+ ways of building the same product. You can assign several
+ properties to each bill of materials. When a salesperson
+ creates a sale order, they can relate it to several properties
+ and OpenERP will automatically select the BoM to use according
+ the needs.
+ </p>
</field>
</record>
<menuitem name="Master Bill of Materials"
@@ -206,20 +220,14 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search for mrp workcenter">
- <group>
- <field name="name" string="Mrp Workcenter" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
- <separator orientation="vertical"/>
- <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/>
- <separator orientation="vertical"/>
- <field name="resource_type"/>
- </group>
- <newline/>
- <group expand="0" string="Group By...">
+ <field name="name" string="Mrp Workcenter" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
+ <field name="resource_type"/>
+ <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/>
+ <group expand="0" string="Group By...">
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'resource_type'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- </group>
- </search>
+ </group>
+ </search>
</field>
</record>
@@ -311,9 +319,7 @@
<field name="arch" type="xml">
<search string="Routing">
<field name="name" string="Routing" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
- <separator orientation="vertical"/>
<filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/>
- <separator orientation="vertical"/>
<field name="location_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
@@ -329,10 +335,15 @@
<field name="view_type">form</field>
<field name="view_id" ref="mrp_routing_tree_view"/>
<field name="search_view_id" ref="mrp_routing_search_view"/>
- <field name="help">
- Routings allow you to create and manage the manufacturing operations that should be
- followed within your work centers in order to produce a product.
- They are attached to bills of materials that will define the required raw materials.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a routing.
+ </p><p>
+ Routings allow you to create and manage the manufacturing
+ operations that should be followed within your work centers in
+ order to produce a product. They are attached to bills of
+ materials that will define the required raw materials.
+ </p>
</field>
</record>
<menuitem action="mrp_routing_action" id="menu_mrp_routing_action" parent="mrp.menu_mrp_bom" groups="mrp.group_mrp_routings" sequence="15"/>
@@ -419,20 +430,14 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Bill Of Material">
- <group>
- <field name="name" string="Bill Of Material" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
- <separator orientation="vertical"/>
- <field name="product_id"/>
- <field name="company_id" groups="base.group_multi_company"/>
- </group>
- <newline/>
+ <field name="name" string="Bill Of Material" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
+ <field name="product_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'product_uom'}"/>
- <separator orientation="vertical"/>
<filter string="Routing" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'routing_id'}"/>
<filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/>
- <separator orientation="vertical"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Starting Date"/>
</group>
</search>
@@ -489,12 +494,17 @@
<field name="view_type">form</field>
<field name="domain">[('bom_id','=',False)]</field>
<field name="search_view_id" ref="view_mrp_bom_filter"/>
- <field name="help">
- Master Bills of Materials allow you to create and manage the list of necessary
- raw materials used to make a finished product.
- OpenERP uses these BoMs to automatically propose manufacturing orders according to product needs.
- You can either create a bill of materials to define specific production steps,
- or define a single multi-level bill of materials.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a bill of material.
+ </p><p>
+ Bills of Materials allow you to define the list of required raw
+ materials used to make a finished product; through a manufacturing
+ order or a pack of products.
+ </p><p>
+ OpenERP uses these BoMs to automatically propose manufacturing
+ orders according to procurement needs.
+ </p>
</field>
</record>
<record id="mrp_bom_form_action2" model="ir.actions.act_window">
@@ -504,9 +514,14 @@
<field name="view_type">form</field>
<field name="view_id" ref="mrp_bom_component_tree_view"/>
<field name="domain">[('bom_id','!=',False)]</field>
- <field name="help">
- Bills of materials components are components and sub-products used to create master bills of materials.
- Use this menu to search in which BoM a specific component is used.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a component to a bill of material.
+ </p><p>
+ Bills of materials components are components and sub-products
+ used to create master bills of materials. Use this menu to
+ search in which BoM a specific component is used.
+ </p>
</field>
</record>
@@ -686,8 +701,8 @@
</group>
<notebook>
<page string="Consumed Products">
- <group>
- <group groups="stock.group_locations">
+ <group groups="stock.group_locations">
+ <group>
<field name="bom_id" domain="[('product_id','=',product_id)]" context="{'default_product_id': product_id}" on_change="bom_id_change(bom_id)"/>
</group>
<group>
@@ -837,32 +852,22 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Production">
- <group>
- <field name="name" string="Production" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-media-pause" string="Pending" name="pending"
- domain="[('state','=','confirmed')]"
- help="Manufacturing Orders which are waiting for raw materials."/>
- <filter icon="terp-camera_test" string="Ready" name="ready"
- domain="[('state','=','ready')]"
- help="Manufacturing Orders which are ready to start production."/>
- <filter icon="terp-check" string="In Production" name="inprogress"
- domain="[('state','=','in_production')]"
- help="Manufacturing Orders which are currently in production."/>
- <filter icon="terp-gnome-cpu-frequency-applet+" string="Late"
- domain="['&amp;', ('date_planned','&lt;', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]"
- help="Production started late"/>
- <separator orientation="vertical"/>
- <field name="product_id"/>
- <field name="routing_id" groups="mrp.group_mrp_routings"/>
- </group>
- <newline/>
+ <field name="name" string="Production" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
+ <filter icon="terp-gtk-media-pause" string="Pending" name="pending" domain="[('state','=','confirmed')]"
+ help="Manufacturing Orders which are waiting for raw materials."/>
+ <filter icon="terp-camera_test" string="Ready" name="ready" domain="[('state','=','ready')]"
+ help="Manufacturing Orders which are ready to start production."/>
+ <filter icon="terp-check" string="In Production" name="inprogress" domain="[('state','=','in_production')]"
+ help="Manufacturing Orders which are currently in production."/>
+ <separator/>
+ <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" domain="['&amp;', ('date_planned','&lt;', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]"
+ help="Production started late"/>
+ <field name="product_id"/>
+ <field name="routing_id" groups="mrp.group_mrp_routings"/>
<group expand="0" string="Group By...">
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
- <separator orientation="vertical"/>
<filter string="Routing" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'routing_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}" help="Scheduled Date"/>
</group>
</search>
@@ -878,11 +883,17 @@
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_mrp_production_filter"/>
<field name="context">{}</field>
- <field name="help">
- Click here to create a new Manufacturing Order.
- &lt;p&gt;
- To process the production, do not forget to create a Bill of Material.
- Manufacturing orders can be automatically generated based on procurement rules specified on the product.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a manufacturing order.
+ </p><p>
+ A manufacuring order, based on a bill of materials, will
+ consume raw materials and produce finished products.
+ </p><p>
+ Manufacturing orders are usually proposed automatically based
+ on customer requirements or automated rules like the minimum
+ stock rule.
+ </p>
</field>
</record>
<menuitem action="mrp_production_action" id="menu_mrp_production_action"
@@ -895,13 +906,17 @@
<field name="view_type">form</field>
<field name="view_mode">calendar,tree,form,graph</field>
<field name="domain">[('state','in',('ready','confirmed','in_production'))]</field>
- <field name="help">
- Manufacturing Orders describe the operations that need to be carried out,
- and the raw materials usage for each production stage.
- You use specifications (bills of materials or BoM) to work out the raw material requirements
- and the manufacturing orders needed for the finished products.
- Once the bills of materials have been defined, OpenERP is capable of automatically deciding
- on the manufacturing route depending on the needs of the company.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to start a new manufacturing order.
+ </p><p>
+ A manufacuring order, based on a bill of materials, will
+ consume raw materials and produce finished products.
+ </p><p>
+ Manufacturing orders are usually proposed automatically based
+ on customer requirements or automated rules like the minimum
+ stock rule.
+ </p>
</field>
</record>
@@ -1044,11 +1059,15 @@
<field name="view_type">form</field>
<field name="view_id" ref="mrp_workcenter_tree_view"/>
<field name="search_view_id" ref="view_mrp_workcenter_search"/>
- <field name="help">
- Work Centers allow you to create and manage manufacturing units.
- They consist of workers and/or machines, which are considered as units for capacity and planning forecast.
- Keep in mind that the working time and resource leave are not taken into account in the time computation
- of the work center.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a work center.
+ </p><p>
+ Work Centers allow you to create and manage manufacturing
+ units. They consist of workers and/or machines, which are
+ considered as units for task assignation as well as capacity
+ and planning forecast.
+ </p>
</field>
</record>
diff --git a/addons/mrp/report/mrp_report_view.xml b/addons/mrp/report/mrp_report_view.xml
index eef6c89f702..99571903dde 100644
--- a/addons/mrp/report/mrp_report_view.xml
+++ b/addons/mrp/report/mrp_report_view.xml
@@ -37,8 +37,7 @@
<field name="arch" type="xml">
<search string="Work Center load">
<field name="name" string="Week"/>
- <separator orientation="vertical"/>
- <field name="workcenter_id" widget="selection"/>
+ <field name="workcenter_id"/>
</search>
</field>
</record>
diff --git a/addons/mrp/res_config.py b/addons/mrp/res_config.py
index cbee02cb4a8..555010c2be1 100644
--- a/addons/mrp/res_config.py
+++ b/addons/mrp/res_config.py
@@ -28,11 +28,11 @@ class mrp_config_settings(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
- 'module_stock_planning': fields.boolean('Master Production Schedule',
+ 'module_stock_planning': fields.boolean('manage master production shedule',
help ="""This allows to create a manual procurement plan apart of the normal MRP scheduling,
which works automatically based on minimum stock rules.
This installs the module stock_planning."""),
- 'module_mrp_repair': fields.boolean("Manage Product Repairs",
+ 'module_mrp_repair': fields.boolean("manage repairs of products ",
help="""Allows to manage all product repairs.
* Add/remove products in the reparation
* Impact for stocks
@@ -41,40 +41,40 @@ class mrp_config_settings(osv.osv_memory):
* Repair quotation report
* Notes for the technician and for the final customer.
This installs the module mrp_repair."""),
- 'module_mrp_operations': fields.boolean("Detailed Planning of Work Orders",
+ 'module_mrp_operations': fields.boolean("allow detailed planning of work order",
help="""This allows to add state, date_start,date_stop in production order operation lines (in the "Work Centers" tab).
This installs the module mrp_operations."""),
- 'module_mrp_subproduct': fields.boolean("Produce Several Products from One Manufacturing Order",
+ 'module_mrp_subproduct': fields.boolean("produce several products from one manufacturing order",
help="""You can configure sub-products in the bill of material.
Without this module: A + B + C -> D.
With this module: A + B + C -> D + E.
This installs the module mrp_subproduct."""),
- 'module_mrp_jit': fields.boolean("Real-Time Scheduling",
+ 'module_mrp_jit': fields.boolean("generate procurement in real time",
help="""This allows Just In Time computation of procurement orders.
All procurement orders will be processed immediately, which could in some
cases entail a small performance impact.
This installs the module mrp_jit."""),
- 'module_stock_no_autopicking': fields.boolean("Manual Picking to Fulfill Manufacturing Orders",
+ 'module_stock_no_autopicking': fields.boolean("manage manual picking to fulfill manufacturing orders ",
help="""This module allows an intermediate picking process to provide raw materials to production orders.
For example to manage production made by your suppliers (sub-contracting).
To achieve this, set the assembled product which is sub-contracted to "No Auto-Picking"
and put the location of the supplier in the routing of the assembly operation.
- This installs the module stock_no_autopicking."""),
- 'group_mrp_routings': fields.boolean("Manage Routings and Work Orders",
+ This installs the module stock_no_autopicking."""),
+ 'group_mrp_routings': fields.boolean("manage routings and work orders ",
implied_group='mrp.group_mrp_routings',
help="""Routings allow you to create and manage the manufacturing operations that should be followed
within your work centers in order to produce a product. They are attached to bills of materials
that will define the required raw materials."""),
- 'group_mrp_properties': fields.boolean("Allow Several BoMs per Product",
+ 'group_mrp_properties': fields.boolean("allow several bill of materials per products",
implied_group='product.group_mrp_properties',
help="""The selection of the right Bill of Material to use will depend on the properties specified on the sale order and the Bill of Material."""),
- 'module_product_manufacturer': fields.boolean("Define Manufacturers on Products",
+ 'module_product_manufacturer': fields.boolean("define manufacturers on products ",
help="""This allows you to define the following for a product:
* Manufacturer
* Manufacturer Product Name
* Manufacturer Product Code
* Product Attributes.
- This installs the module product_manufacturer."""),
+ This installs the module product_manufacturer."""),
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/mrp/res_config_view.xml b/addons/mrp/res_config_view.xml
index 8d81a3d2d0a..34e273eddd0 100644
--- a/addons/mrp/res_config_view.xml
+++ b/addons/mrp/res_config_view.xml
@@ -1,38 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
+ <data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="action_client_mrp_menu" model="ir.actions.client">
+ <field name="name">Open MRP Menu</field>
+ <field name="tag">reload</field>
+ <field name="params" eval="{'menu_id': ref('base.menu_mrp_root')}"/>
+ </record>
+ <record id="todo_open_mrp_menu" model="ir.actions.todo">
+ <field name="action_id" ref="action_client_mrp_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+ </data>
<data>
-
<record id="view_mrp_config" model="ir.ui.view">
<field name="name">mrp settings</field>
<field name="model">mrp.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Configure Manufacturing" version="7.0">
+ <form string="Configure Manufacturing" class= "oe_form_configuration" version="7.0">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
+ <separator string="Manufacturing Order"/>
<group>
- <group string="Manufacturing Order">
- <field name="module_mrp_operations"/>
- <field name="module_stock_planning"/>
- <field name="module_mrp_subproduct"/>
- <field name="module_mrp_repair"/>
- <separator string="Logistics" colspan="2"/>
- <field name="module_mrp_jit"/>
- <field name="module_stock_no_autopicking"/>
- </group>
- <group string="Products">
- <field name="module_product_manufacturer"/>
- <separator string="Bill Of Material" colspan="2"/>
- <field name="group_mrp_routings"/>
- <field name="group_mrp_properties"/>
- </group>
+ <label for="id" string="Order"/>
+ <div>
+ <div>
+ <field name="module_mrp_subproduct" class="oe_inline"/>
+ <label for="module_mrp_subproduct"/>
+ </div>
+ <div>
+ <field name="module_mrp_repair" class="oe_inline"/>
+ <label for="module_mrp_repair"/>
+ </div>
+ <div>
+ <field name="module_stock_no_autopicking" class="oe_inline"/>
+ <label for="module_stock_no_autopicking" />
+ </div>
+ </div>
+ </group>
+ <group >
+ <label for="id" string="Planning"/>
+ <div>
+ <div>
+ <field name="module_mrp_jit" class="oe_inline"/>
+ <label for="module_mrp_jit"/>
+ </div>
+ <div>
+ <field name="group_mrp_routings" class="oe_inline"/>
+ <label for="group_mrp_routings"/>
+ </div>
+ <div>
+ <field name="module_mrp_operations" class="oe_inline"/>
+ <label for="module_mrp_operations" />
+ </div>
+ <div>
+ <field name="module_stock_planning" class="oe_inline"/>
+ <label for="module_stock_planning"/>
+ </div>
+ </div>
+ </group>
+ <separator string="Master Data"/>
+ <group >
+ <label for="id" string="Products"/>
+ <div>
+ <div>
+ <field name="module_product_manufacturer" class="oe_inline"/>
+ <label for="module_product_manufacturer"/>
+ </div>
+ <div>
+ <field name="group_mrp_properties" class="oe_inline"/>
+ <label for="group_mrp_properties" />
+ </div>
+ </div>
</group>
</form>
</field>
</record>
-
<record id="action_mrp_configuration" model="ir.actions.act_window">
<field name="name">Configure Manufacturing</field>
<field name="type">ir.actions.act_window</field>
diff --git a/addons/mrp_operations/mrp_operations_view.xml b/addons/mrp_operations/mrp_operations_view.xml
index 2dccc92a51e..f8726782980 100644
--- a/addons/mrp_operations/mrp_operations_view.xml
+++ b/addons/mrp_operations/mrp_operations_view.xml
@@ -118,41 +118,30 @@
</record>
<record id="view_mrp_production_workcenter_form_view_filter" model="ir.ui.view">
- <field name="name">mrp.production.workcenter.line.select</field>
- <field name="model">mrp.production.workcenter.line</field>
- <field name="type">search</field>
- <field name="arch" type="xml">
- <search string="Search Work Orders">
- <group>
- <field name="name" string="Work Orders"/>
- <separator orientation="vertical"/>
- <field name="date_planned"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Draft"
- domain="[('state','=','draft')]"/>
- <filter icon="terp-check" string="In Progress" name="Current"
- domain="[('state','=','startworking')]"/>
- <filter icon="terp-gtk-media-pause" string="Pending"
- domain="[('state','=','pause')]"/>
- <filter icon="terp-gnome-cpu-frequency-applet+" string="Late"
- domain="['&amp;', ('date_planned','&lt;', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]"
- help="Production started late"/>
- <separator orientation="vertical"/>
- <field name="workcenter_id" widget="selection"/>
- <field name="production_id"/>
- <field name="state"/>
- </group>
- <newline/>
- <group expand="0" string="Group By...">
- <filter string="Work Center" icon="terp-go-home" domain="[]" context="{'group_by':'workcenter_id'}"/>
- <filter string="Production" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'production_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
- <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}"/>
- </group>
- </search>
- </field>
+ <field name="name">mrp.production.workcenter.line.select</field>
+ <field name="model">mrp.production.workcenter.line</field>
+ <field name="type">search</field>
+ <field name="arch" type="xml">
+ <search string="Search Work Orders">
+ <field name="name" string="Work Orders"/>
+ <field name="date_planned"/>
+ <field name="state"/>
+ <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]"/>
+ <filter icon="terp-check" string="In Progress" name="Current" domain="[('state','=','startworking')]"/>
+ <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pause')]"/>
+ <separator/>
+ <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" domain="['&amp;', ('date_planned','&lt;', current_date), ('state', 'in', ('draft', 'confirmed', 'ready'))]"
+ help="Production started late"/>
+ <field name="workcenter_id"/>
+ <field name="production_id"/>
+ <group expand="0" string="Group By...">
+ <filter string="Work Center" icon="terp-go-home" domain="[]" context="{'group_by':'workcenter_id'}"/>
+ <filter string="Production" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'production_id'}"/>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
+ <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_planned'}"/>
+ </group>
+ </search>
+ </field>
</record>
<record id="workcenter_line_calendar" model="ir.ui.view">
@@ -188,7 +177,18 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form,gantt,calendar,graph</field>
<field name="search_view_id" ref="view_mrp_production_workcenter_form_view_filter"/>
- <field name="help">Work Orders is the list of operations to be performed for each manufacturing order. Once you start the first work order of a manufacturing order, the manufacturing order is automatically marked as started. Once you finish the latest operation of a manufacturing order, the MO is automatically done and the related products are produced.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to start a new work order.
+ </p><p>
+ Work Orders is the list of operations to be performed for each
+ manufacturing order. Once you start the first work order of a
+ manufacturing order, the manufacturing order is automatically
+ marked as started. Once you finish the latest operation of a
+ manufacturing order, the MO is automatically done and the related
+ products are produced.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window" id="mrp_production_wc_action_planning">
@@ -198,7 +198,17 @@
<field name="view_type">form</field>
<field name="domain">[('production_state','in',('ready','confirmed','in_production'))]</field>
<field name="view_mode">gantt,tree,form,graph,calendar</field>
- <field name="help">To manufacture or assemble products, and use raw materials and finished products you must also handle manufacturing operations. Manufacturing operations are often called Work Orders. The various operations will have different impacts on the costs of manufacturing and planning depending on the available workload.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to start a new work order.
+ </p><p>
+ To manufacture or assemble products, and use raw materials and
+ finished products you must also handle manufacturing operations.
+ Manufacturing operations are often called Work Orders. The various
+ operations will have different impacts on the costs of
+ manufacturing and planning depending on the available workload.
+ </p>
+ </field>
</record>
diff --git a/addons/mrp_operations/mrp_operations_workflow.xml b/addons/mrp_operations/mrp_operations_workflow.xml
index a728ee6f3a4..8d022558cf9 100644
--- a/addons/mrp_operations/mrp_operations_workflow.xml
+++ b/addons/mrp_operations/mrp_operations_workflow.xml
@@ -1,112 +1,106 @@
<?xml version="1.0"?>
<openerp>
<data>
- # -----------------------------------------------------------
- # Activities
- # -----------------------------------------------------------
+ <!-- Activities -->
<record model="workflow" id="wkf_prod_workcenter">
<field name="name">mrp.production.workcenter.line.basic</field>
<field name="osv">mrp.production.workcenter.line</field>
<field name="on_create">True</field>
</record>
- <record model="workflow.activity" id="prod_act_wc_draft">
- <field name="wkf_id" ref="wkf_prod_workcenter"/>
- <field name="flow_start">True</field>
- <field name="name">draft</field>
- <field name="kind">function</field>
- <field name="action">action_draft()</field>
- </record>
- <record model="workflow.activity" id="prod_act_wc_start">
- <field name="wkf_id" ref="wkf_prod_workcenter"/>
- <field name="name">startworking</field>
- <field name="kind">function</field>
- <field name="action">action_start_working()</field>
- </record>
- <record model="workflow.activity" id="prod_act_wc_cancel">
- <field name="wkf_id" ref="wkf_prod_workcenter"/>
- <field name="name">cancel</field>
- <field name="kind">function</field>
- <field name="action">action_cancel()</field>
- </record>
- <record model="workflow.activity" id="prod_act_wc_pause">
- <field name="wkf_id" ref="wkf_prod_workcenter"/>
- <field name="name">pause</field>
- <field name="kind">function</field>
- <field name="action">action_pause()</field>
- </record>
- <record model="workflow.activity" id="prod_act_wc_resume">
- <field name="wkf_id" ref="wkf_prod_workcenter"/>
- <field name="name">resume</field>
- <field name="kind">function</field>
- <field name="action">action_resume()</field>
- </record>
- <record model="workflow.activity" id="prod_act_wc_done">
- <field name="wkf_id" ref="wkf_prod_workcenter"/>
- <field name="name">done</field>
- <field name="kind">function</field>
- <field name="flow_stop">True</field>
- <field name="action">action_done()</field>
- </record>
-
- # -----------------------------------------------------------
- # Transition
- # -----------------------------------------------------------
-
- <record model="workflow.transition" id="prod_trans_wc_draft_start">
- <field name="act_from" ref="prod_act_wc_draft"/>
- <field name="act_to" ref="prod_act_wc_start"/>
- <field name="signal">button_start_working</field>
- </record>
- <record model="workflow.transition" id="prod_trans_wc_start_done">
- <field name="act_from" ref="prod_act_wc_start"/>
- <field name="act_to" ref="prod_act_wc_done"/>
- <field name="signal">button_done</field>
- </record>
- <record model="workflow.transition" id="prod_trans_wc_draft_cancel">
- <field name="act_from" ref="prod_act_wc_draft"/>
- <field name="act_to" ref="prod_act_wc_cancel"/>
- <field name="signal">button_cancel</field>
- </record>
- <record model="workflow.transition" id="prod_trans_wc_cancel_draft">
- <field name="act_from" ref="prod_act_wc_cancel"/>
- <field name="act_to" ref="prod_act_wc_draft"/>
- <field name="signal">button_draft</field>
- </record>
- <record model="workflow.transition" id="prod_trans_wc_start_cancel">
- <field name="act_from" ref="prod_act_wc_start"/>
- <field name="act_to" ref="prod_act_wc_cancel"/>
- <field name="signal">button_cancel</field>
- </record>
- <record model="workflow.transition" id="prod_trans_wc_start_pause">
- <field name="act_from" ref="prod_act_wc_start"/>
- <field name="act_to" ref="prod_act_wc_pause"/>
- <field name="signal">button_pause</field>
- </record>
+ <record model="workflow.activity" id="prod_act_wc_draft">
+ <field name="wkf_id" ref="wkf_prod_workcenter"/>
+ <field name="flow_start">True</field>
+ <field name="name">draft</field>
+ <field name="kind">function</field>
+ <field name="action">action_draft()</field>
+ </record>
+ <record model="workflow.activity" id="prod_act_wc_start">
+ <field name="wkf_id" ref="wkf_prod_workcenter"/>
+ <field name="name">startworking</field>
+ <field name="kind">function</field>
+ <field name="action">action_start_working()</field>
+ </record>
+ <record model="workflow.activity" id="prod_act_wc_cancel">
+ <field name="wkf_id" ref="wkf_prod_workcenter"/>
+ <field name="name">cancel</field>
+ <field name="kind">function</field>
+ <field name="action">action_cancel()</field>
+ </record>
+ <record model="workflow.activity" id="prod_act_wc_pause">
+ <field name="wkf_id" ref="wkf_prod_workcenter"/>
+ <field name="name">pause</field>
+ <field name="kind">function</field>
+ <field name="action">action_pause()</field>
+ </record>
+ <record model="workflow.activity" id="prod_act_wc_resume">
+ <field name="wkf_id" ref="wkf_prod_workcenter"/>
+ <field name="name">resume</field>
+ <field name="kind">function</field>
+ <field name="action">action_resume()</field>
+ </record>
+ <record model="workflow.activity" id="prod_act_wc_done">
+ <field name="wkf_id" ref="wkf_prod_workcenter"/>
+ <field name="name">done</field>
+ <field name="kind">function</field>
+ <field name="flow_stop">True</field>
+ <field name="action">action_done()</field>
+ </record>
- <record model="workflow.transition" id="prod_trans_wc_pause_resume">
- <field name="act_from" ref="prod_act_wc_pause"/>
- <field name="act_to" ref="prod_act_wc_resume"/>
- <field name="signal">button_resume</field>
- </record>
+ <!-- Transition -->
+ <record model="workflow.transition" id="prod_trans_wc_draft_start">
+ <field name="act_from" ref="prod_act_wc_draft"/>
+ <field name="act_to" ref="prod_act_wc_start"/>
+ <field name="signal">button_start_working</field>
+ </record>
+ <record model="workflow.transition" id="prod_trans_wc_start_done">
+ <field name="act_from" ref="prod_act_wc_start"/>
+ <field name="act_to" ref="prod_act_wc_done"/>
+ <field name="signal">button_done</field>
+ </record>
+ <record model="workflow.transition" id="prod_trans_wc_draft_cancel">
+ <field name="act_from" ref="prod_act_wc_draft"/>
+ <field name="act_to" ref="prod_act_wc_cancel"/>
+ <field name="signal">button_cancel</field>
+ </record>
+ <record model="workflow.transition" id="prod_trans_wc_cancel_draft">
+ <field name="act_from" ref="prod_act_wc_cancel"/>
+ <field name="act_to" ref="prod_act_wc_draft"/>
+ <field name="signal">button_draft</field>
+ </record>
+ <record model="workflow.transition" id="prod_trans_wc_start_cancel">
+ <field name="act_from" ref="prod_act_wc_start"/>
+ <field name="act_to" ref="prod_act_wc_cancel"/>
+ <field name="signal">button_cancel</field>
+ </record>
+ <record model="workflow.transition" id="prod_trans_wc_start_pause">
+ <field name="act_from" ref="prod_act_wc_start"/>
+ <field name="act_to" ref="prod_act_wc_pause"/>
+ <field name="signal">button_pause</field>
+ </record>
- <record model="workflow.transition" id="prod_trans_wc_resume_pause">
- <field name="act_from" ref="prod_act_wc_resume"/>
- <field name="act_to" ref="prod_act_wc_pause"/>
- <field name="signal">button_pause</field>
- </record>
- <record model="workflow.transition" id="prod_trans_wc_resume_cancel">
- <field name="act_from" ref="prod_act_wc_resume"/>
- <field name="act_to" ref="prod_act_wc_cancel"/>
- <field name="signal">button_cancel</field>
- </record>
- <record model="workflow.transition" id="prod_trans_wc_resume_done">
- <field name="act_from" ref="prod_act_wc_resume"/>
- <field name="act_to" ref="prod_act_wc_done"/>
- <field name="signal">button_done</field>
- </record>
+ <record model="workflow.transition" id="prod_trans_wc_pause_resume">
+ <field name="act_from" ref="prod_act_wc_pause"/>
+ <field name="act_to" ref="prod_act_wc_resume"/>
+ <field name="signal">button_resume</field>
+ </record>
+ <record model="workflow.transition" id="prod_trans_wc_resume_pause">
+ <field name="act_from" ref="prod_act_wc_resume"/>
+ <field name="act_to" ref="prod_act_wc_pause"/>
+ <field name="signal">button_pause</field>
+ </record>
+ <record model="workflow.transition" id="prod_trans_wc_resume_cancel">
+ <field name="act_from" ref="prod_act_wc_resume"/>
+ <field name="act_to" ref="prod_act_wc_cancel"/>
+ <field name="signal">button_cancel</field>
+ </record>
+ <record model="workflow.transition" id="prod_trans_wc_resume_done">
+ <field name="act_from" ref="prod_act_wc_resume"/>
+ <field name="act_to" ref="prod_act_wc_done"/>
+ <field name="signal">button_done</field>
+ </record>
</data>
</openerp>
diff --git a/addons/mrp_operations/report/mrp_workorder_analysis_view.xml b/addons/mrp_operations/report/mrp_workorder_analysis_view.xml
index c84de780ee0..0c9ee4c6726 100644
--- a/addons/mrp_operations/report/mrp_workorder_analysis_view.xml
+++ b/addons/mrp_operations/report/mrp_workorder_analysis_view.xml
@@ -46,32 +46,22 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search">
- <group>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter string="Current" icon="terp-check" domain="[('state','not in',('draft','cancel','done'))]"/>
- <filter icon="terp-check" string="Started" domain="[('state','=','startworking')]"/>
- <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]"/>
- <separator orientation="vertical"/>
- <field name="product_id" />
- <field name="workcenter_id"/>
- </group>
- <newline/>
- <group expand="1" string="Group By...">
+ <field name="date"/>
+ <filter string="Current" icon="terp-check" domain="[('state','not in',('draft','cancel','done'))]"/>
+ <filter icon="terp-check" string="Started" domain="[('state','=','startworking')]"/>
+ <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]"/>
+ <field name="product_id" />
+ <field name="workcenter_id"/>
+ <group expand="1" string="Group By...">
<filter string="Product" name="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}" />
<filter string="Work Center" name="Workcenter" icon="terp-go-home" context="{'group_by':'workcenter_id'}" />
- <separator orientation="vertical"/>
<filter string="Production" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'production_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Planned Day"/>
- <separator orientation="vertical"/>
<filter string="Month" name="terp-go-month" icon="terp-go-month" context="{'group_by':'month'}" help="Planned Month"/>
- <separator orientation="vertical"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Planned Year"/>
- </group>
- </search>
+ </group>
+ </search>
</field>
</record>
<record id="action_report_mrp_workorder" model="ir.actions.act_window">
diff --git a/addons/mrp_repair/i18n/mn.po b/addons/mrp_repair/i18n/mn.po
new file mode 100644
index 00000000000..18991cfec3e
--- /dev/null
+++ b/addons/mrp_repair/i18n/mn.po
@@ -0,0 +1,819 @@
+# Mongolian translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-07-31 11:41+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Mongolian <mn@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n"
+"X-Generator: Launchpad (build 15719)\n"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Fees Line"
+msgstr "Ажлын хөлсний мөр"
+
+#. module: mrp_repair
+#: help:mrp.repair,state:0
+msgid ""
+" * The 'Draft' state is used when a user is encoding a new and unconfirmed "
+"repair order. \n"
+"* The 'Confirmed' state is used when a user confirms the repair order. "
+" \n"
+"* The 'Ready to Repair' state is used to start to repairing, user can start "
+"repairing only after repair order is confirmed. \n"
+"* The 'To be Invoiced' state is used to generate the invoice before or after "
+"repairing done. \n"
+"* The 'Done' state is set when repairing is completed. \n"
+"* The 'Cancelled' state is used when user cancel repair order."
+msgstr ""
+" * Засварын захиалгыг шинээр оруулж батлаагүй байх үед 'Ноорог' төлөвтэй "
+"байдаг. \n"
+"* Хэрэглэгч засварын захиалгыг батлахад төлөв 'Батлагдсан' болдог.\n"
+"* Засах ажлыг эхлүүлснээр 'Засахад бэлэн' төлөвтэй болдог. Хэрэглэгч зөвхөн "
+"засварын захиалга батлагдсан дараа эхлүүлэх боломжтой. \n"
+"* Засварын өмнө эсвэл хойно нэхэмжлэхээс хамааран 'Нэхэмжлэх' гэсэн төлөв "
+"хэрэглэгддэг. \n"
+"* Засвар дууссан дараа 'Хийгдсэн' төлөвтэй болдог. \n"
+"* Засварын захиалга цуцлагдсан тохиолдолд 'Цуцлагдсан' төлөвтэй болдог."
+
+#. module: mrp_repair
+#: field:mrp.repair.line,move_id:0
+msgid "Inventory Move"
+msgstr "Барааны хөдөлгөөн"
+
+#. module: mrp_repair
+#: model:ir.actions.act_window,help:mrp_repair.action_repair_order_tree
+msgid ""
+"Repair orders allow you to organize your product repairs. In a repair order, "
+"you can detail the components you remove, add or replace and record the time "
+"you spent on the different operations. The repair order uses the warranty "
+"date on the production lot in order to know if whether the repair should be "
+"invoiced to the customer or not."
+msgstr ""
+"Засварын захиалга нь барааны засварыг зохион байгуулах боломжийг олгодог. "
+"Засварын захиалгад хасах, нэмэх, солих бүрэлдхүүнийг хөтлөх, мөн ажиллагааг "
+"хийхэд зарцуулсан цагийг хөтлөх боломжтой. Засварын захиалга нь "
+"үйлдвэрлэлийн цувралын баталгааны хугацааг ашиглан захиалагчийг нэхэмжлэх "
+"эсэхиээ шийддэг."
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Group By..."
+msgstr "Бүлэглэх..."
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Recreate Invoice"
+msgstr "Дахин нэхэмжлэл үүсгэх"
+
+#. module: mrp_repair
+#: help:mrp.repair,deliver_bool:0
+msgid ""
+"Check this box if you want to manage the delivery once the product is "
+"repaired. If cheked, it will create a picking with selected product. Note "
+"that you can select the locations in the Info tab, if you have the extended "
+"view."
+msgstr ""
+"Бараа засагдсан дараа хүргэлтийг менеж хийхээр бол үүнийг тэмдэглэнэ. Хэрэв "
+"тэмдгэлэгдсэн бол сонгосон барааны бэлтгэлт үүсгэгдэнэ."
+
+#. module: mrp_repair
+#: model:ir.actions.act_window,name:mrp_repair.action_cancel_repair
+#: view:mrp.repair.cancel:0
+msgid "Cancel Repair Order"
+msgstr "Засварын захиалгыг цуцлах"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,to_invoice:0
+#: field:mrp.repair.line,to_invoice:0
+msgid "To Invoice"
+msgstr "Нэхэмжлэх"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Printing Date"
+msgstr "Хэвлэх огноо"
+
+#. module: mrp_repair
+#: field:mrp.repair.make_invoice,group:0
+msgid "Group by partner invoice address"
+msgstr "Захиалагчийн нэхэмжлэх хаягаар бүлэглэх"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:435
+#, python-format
+msgid "No product defined on Fees!"
+msgstr "Ажлын хөлс дээр бараа тодорхойлогдоогүй байна!"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,company_id:0
+msgid "Company"
+msgstr "Компани"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Set to Draft"
+msgstr "Ноороглох"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+msgid "Invoice Exception"
+msgstr "Нэхэмжлэлийн сондгойрол"
+
+#. module: mrp_repair
+#: field:mrp.repair,address_id:0
+msgid "Delivery Address"
+msgstr "Хургэх Хаяг"
+
+#. module: mrp_repair
+#: model:ir.actions.act_window,name:mrp_repair.act_mrp_repair_invoice
+#: model:ir.model,name:mrp_repair.model_mrp_repair_make_invoice
+#: view:mrp.repair:0
+msgid "Make Invoice"
+msgstr "Нэхэмжлэл үүсгэх"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,price_subtotal:0
+#: field:mrp.repair.line,price_subtotal:0
+msgid "Subtotal"
+msgstr "Дэд дүн"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Invoice address :"
+msgstr "Нэхэмжлэх хаяг :"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,guarantee_limit:0
+msgid "Guarantee limit"
+msgstr "Баталгааны хязгаар"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Notes"
+msgstr "Тэмдэглэл"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,amount_tax:0
+#: field:mrp.repair.fee,tax_id:0
+#: field:mrp.repair.line,tax_id:0
+msgid "Taxes"
+msgstr "Татвар"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Net Total :"
+msgstr "Цэвэр дүн :"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:435
+#, python-format
+msgid "Warning !"
+msgstr "Анхааруулга !"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Tax"
+msgstr ""
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Operations"
+msgstr "Ажиллагаанууд"
+
+#. module: mrp_repair
+#: field:mrp.repair,move_id:0
+msgid "Move"
+msgstr "Хөдөлгөөн"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:370
+#, python-format
+msgid "You have to select a Partner Invoice Address in the repair form !"
+msgstr "Засварын маягтад харилцагчийн нэхэмжлэх хаягийг сонгох хэрэгтэй !"
+
+#. module: mrp_repair
+#: model:ir.actions.act_window,name:mrp_repair.action_repair_order_tree
+#: model:ir.ui.menu,name:mrp_repair.menu_repair_order
+msgid "Repair Orders"
+msgstr "Засварын захиалгууд"
+
+#. module: mrp_repair
+#: model:ir.actions.report.xml,name:mrp_repair.report_mrp_repair
+msgid "Quotation / Order"
+msgstr "Үнийн санал / Захиалга"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:337
+#, python-format
+msgid "Warning"
+msgstr "Анхааруулга"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Extra Info"
+msgstr "Нэмэлт мэдээлэл"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,repair_id:0
+#: field:mrp.repair.line,repair_id:0
+msgid "Repair Order Reference"
+msgstr "Засварын Захиалгын Код"
+
+#. module: mrp_repair
+#: selection:mrp.repair.line,state:0
+msgid "Draft"
+msgstr "Ноорог"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:384
+#, python-format
+msgid "No account defined for partner \"%s\"."
+msgstr "\"%s\" харилцагчид данс тодорхойлогдоогүй байна."
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: selection:mrp.repair,state:0
+#: selection:mrp.repair.line,state:0
+msgid "Confirmed"
+msgstr "Батлагдсан"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Repairs order"
+msgstr "Засварын захиалга"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Repair Order N° :"
+msgstr "Засварын Захиалга № :"
+
+#. module: mrp_repair
+#: field:mrp.repair,prodlot_id:0
+#: field:mrp.repair.line,prodlot_id:0
+#: report:repair.order:0
+msgid "Lot Number"
+msgstr "Цувралын Дугаар"
+
+#. module: mrp_repair
+#: field:mrp.repair,fees_lines:0
+msgid "Fees Lines"
+msgstr "Ажлын хөлсний мөрүүд"
+
+#. module: mrp_repair
+#: field:mrp.repair.line,type:0
+msgid "Type"
+msgstr "Төрөл"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Fees Line(s)"
+msgstr "Ажлын хөлсний мөрүүд"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+msgid "To be Invoiced"
+msgstr "Нэхэмжлэх"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Shipping address :"
+msgstr "Хүргэх хаяг :"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:334
+#: code:addons/mrp_repair/mrp_repair.py:384
+#: code:addons/mrp_repair/mrp_repair.py:413
+#: code:addons/mrp_repair/mrp_repair.py:442
+#, python-format
+msgid "Error !"
+msgstr "Алдаа !"
+
+#. module: mrp_repair
+#: field:mrp.repair.line,product_uom_qty:0
+msgid "Quantity (UoM)"
+msgstr "Тоо хэмжээ (х.н)"
+
+#. module: mrp_repair
+#: help:mrp.repair.line,state:0
+msgid ""
+" * The 'Draft' state is set automatically as draft when repair order in "
+"draft state. \n"
+"* The 'Confirmed' state is set automatically as confirm when repair order in "
+"confirm state. \n"
+"* The 'Done' state is set automatically when repair order is completed. "
+" \n"
+"* The 'Cancelled' state is set automatically when user cancel repair order."
+msgstr ""
+" * Засварын захиалгын 'Ноорог' төлөв автоматаар олгогддог. "
+" \n"
+"* Засварын захиалга батлагдахад төлөв 'Батлагдсан' болдог. "
+" \n"
+"* Засварын захиалга дуусахад 'Хийгдсэн' төлөвтэй болдог. "
+" \n"
+"* Хэрэглэгч засварын захиалгыг цуцлахад 'Цуцлагдсан' төлөвтэй болдог."
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Total :"
+msgstr "Нийт :"
+
+#. module: mrp_repair
+#: view:mrp.repair.cancel:0
+msgid ""
+"This operation will cancel the Repair process, but will not cancel it's "
+"Invoice. Do you want to continue?"
+msgstr ""
+"Энэ үйлдэл нь засварын захиалгыг цуцлах боловч үүний нэхэмжлэлийг нь "
+"цуцлахгүй. Та үргэлжлүүлэхийг хүсч байна уу?"
+
+#. module: mrp_repair
+#: field:mrp.repair,pricelist_id:0
+msgid "Pricelist"
+msgstr "Үнийн жагсаалт"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,quotation_notes:0
+msgid "Quotation Notes"
+msgstr "Үнийн саналын тэмдэглэл"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/wizard/cancel_repair.py:49
+#, python-format
+msgid "Warning!"
+msgstr "Анхааруулга!"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Search Reair Orders"
+msgstr "Засварын захиалгыг хайх"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "(Add)"
+msgstr "(Нэмэх)"
+
+#. module: mrp_repair
+#: model:ir.model,name:mrp_repair.model_mrp_repair_line
+#: view:mrp.repair:0
+msgid "Repair Line"
+msgstr "Засварын мөр"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,partner_id:0
+msgid "Partner"
+msgstr "Харилцагч"
+
+#. module: mrp_repair
+#: field:mrp.repair,invoice_method:0
+msgid "Invoice Method"
+msgstr "Нэхэмжлэх арга"
+
+#. module: mrp_repair
+#: field:mrp.repair,repaired:0
+msgid "Repaired"
+msgstr "Засагдсан"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,invoice_line_id:0
+#: field:mrp.repair.line,invoice_line_id:0
+msgid "Invoice Line"
+msgstr "Нэхэмжлэлийн мөр"
+
+#. module: mrp_repair
+#: selection:mrp.repair.line,state:0
+msgid "Canceled"
+msgstr "Цуцлагдсан"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:337
+#, python-format
+msgid "Production lot is required for opration line with product '%s'"
+msgstr "'%s' бараатай ажиллагааны үйлдвэрлэлийн цуврал шаардлагатай"
+
+#. module: mrp_repair
+#: selection:mrp.repair,invoice_method:0
+msgid "Before Repair"
+msgstr "Засварын өмнө"
+
+#. module: mrp_repair
+#: field:mrp.repair,location_id:0
+msgid "Current Location"
+msgstr "Одоогийн байрлал"
+
+#. module: mrp_repair
+#: view:mrp.repair.cancel:0
+msgid "Yes"
+msgstr "Тийм"
+
+#. module: mrp_repair
+#: field:mrp.repair,invoiced:0
+#: field:mrp.repair.fee,invoiced:0
+#: field:mrp.repair.line,invoiced:0
+msgid "Invoiced"
+msgstr "Нэхэмжилсэн"
+
+#. module: mrp_repair
+#: view:mrp.repair.cancel:0
+msgid "No"
+msgstr "Үгүй"
+
+#. module: mrp_repair
+#: view:mrp.repair.make_invoice:0
+msgid "Create invoices"
+msgstr "Нэхэмжлэлүүд үүсгэх"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "(Remove)"
+msgstr "(Устгах)"
+
+#. module: mrp_repair
+#: selection:mrp.repair.line,type:0
+msgid "Add"
+msgstr "Нэмэх"
+
+#. module: mrp_repair
+#: view:mrp.repair.make_invoice:0
+msgid "Do you really want to create the invoice(s)?"
+msgstr ""
+
+#. module: mrp_repair
+#: field:mrp.repair,name:0
+msgid "Repair Reference"
+msgstr "Засварын Код"
+
+#. module: mrp_repair
+#: model:ir.model,name:mrp_repair.model_mrp_repair
+msgid "Repair Order"
+msgstr "Засварын Захиалга"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+msgid "Under Repair"
+msgstr "Засагдаж буй"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Ready To Repair"
+msgstr "Засахад Бэлэн"
+
+#. module: mrp_repair
+#: field:mrp.repair,amount_untaxed:0
+msgid "Untaxed Amount"
+msgstr "Татвар татахгүй дүн"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Guarantee Limit"
+msgstr "Баталгааны Хязгаар"
+
+#. module: mrp_repair
+#: field:mrp.repair,default_address_id:0
+msgid "unknown"
+msgstr "үл мэдэгдэх"
+
+#. module: mrp_repair
+#: field:mrp.repair,product_id:0
+#: report:repair.order:0
+msgid "Product to Repair"
+msgstr "Засах бараа"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "N° :"
+msgstr "№ :"
+
+#. module: mrp_repair
+#: help:mrp.repair,pricelist_id:0
+msgid "The pricelist comes from the selected partner, by default."
+msgstr "Үнийн жасгаалт сонгосон харилцагчаас анхны утгаараа ирнэ."
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Date"
+msgstr "Огноо"
+
+#. module: mrp_repair
+#: model:ir.model,name:mrp_repair.model_mrp_repair_fee
+msgid "Repair Fees Line"
+msgstr "Засварын Ажлын Хөлсний Мөр"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:334
+#, python-format
+msgid "You cannot confirm a repair order which has no line."
+msgstr "Мөр байхгүй засварын захиалгыг батлаж чадахгүй."
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+msgid "Quotation"
+msgstr "Үнийн санал"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Compute"
+msgstr "Тооцоолох"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Confirm Repair"
+msgstr "Засварыг Батлах"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Repair Quotation"
+msgstr "Засварын Үнийн Санал"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "End Repair"
+msgstr "Засварыг Төгсгөх"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:413
+#: code:addons/mrp_repair/mrp_repair.py:442
+#, python-format
+msgid "No account defined for product \"%s\"."
+msgstr "\"%s\" бараанд данс тодорхойлогдоогүй байна."
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Quotations"
+msgstr "Үнийн санал"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,product_uom_qty:0
+#: report:repair.order:0
+msgid "Quantity"
+msgstr "Тоо хэмжээ"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Start Repair"
+msgstr "Засварыг эхлүүлэх"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,state:0
+#: field:mrp.repair.line,state:0
+msgid "State"
+msgstr "Төлөв"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Qty"
+msgstr "Тоо хэмжээ"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,price_unit:0
+#: field:mrp.repair.line,price_unit:0
+#: report:repair.order:0
+msgid "Unit Price"
+msgstr "Нэгж үнэ"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+#: selection:mrp.repair.line,state:0
+msgid "Done"
+msgstr "Хийгдсэн"
+
+#. module: mrp_repair
+#: help:mrp.repair,guarantee_limit:0
+msgid ""
+"The guarantee limit is computed as: last move date + warranty defined on "
+"selected product. If the current date is below the guarantee limit, each "
+"operation and fee you will add will be set as 'not to invoiced' by default. "
+"Note that you can change manually afterwards."
+msgstr ""
+"Баталгааны хязгаар дараах байдлаар тооцоологддог: сүүлийн хөдөлгөөний огноо "
+"+ сонгосон бараанд тодорхойлогдсон баталгаа. Хэрэв одоогийн огноо нь "
+"баталгааны хязгаараас бага бол бүх ажиллагаа болон ажлын хөлсүүд нь "
+"'нэхэмжлэгдэхгүй' төлөвтэй болно. Гэхдээ эдгээрийг дараа нь гараараа өөрчлөх "
+"боломжтой."
+
+#. module: mrp_repair
+#: field:mrp.repair,invoice_id:0
+msgid "Invoice"
+msgstr "Нэхэмжлэл"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Fees"
+msgstr "Ажлын хөлс"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+#: view:mrp.repair.make_invoice:0
+msgid "Cancel"
+msgstr "Цуцлах"
+
+#. module: mrp_repair
+#: field:mrp.repair.line,location_dest_id:0
+msgid "Dest. Location"
+msgstr "Хүрэх байршил"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Operation Line(s)"
+msgstr "Ажиллагааны Мөрүүд"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "History"
+msgstr "Түүх"
+
+#. module: mrp_repair
+#: field:mrp.repair,location_dest_id:0
+msgid "Delivery Location"
+msgstr "Хүргэх Байрлал"
+
+#. module: mrp_repair
+#: help:mrp.repair,invoice_method:0
+msgid ""
+"This field allow you to change the workflow of the repair order. If value "
+"selected is different from 'No Invoice', it also allow you to select the "
+"pricelist and invoicing address."
+msgstr ""
+"Энэ талбар нь засварын захиалгын ажлын урсгалыг өөрчлөх боломжийг олгодог. "
+"Хэрэв сонгосон утга нь 'Нэхэмжлэл үгүй'-с ялгаатай бол үнийн жагсаалт болон "
+"нэхэмжлэх хаягийг сонгох боломжийг мөн олгоно."
+
+#. module: mrp_repair
+#: view:mrp.repair.make_invoice:0
+msgid "Create Invoice"
+msgstr "Нэхэмжлэл үүсгэх"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,name:0
+#: field:mrp.repair.line,name:0
+#: report:repair.order:0
+msgid "Description"
+msgstr "Тайлбар"
+
+#. module: mrp_repair
+#: field:mrp.repair,operations:0
+msgid "Operation Lines"
+msgstr "Ажиллагааны мөрүүд"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "invoiced"
+msgstr "нэхэмжилсэн"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair.fee,product_id:0
+#: field:mrp.repair.line,product_id:0
+msgid "Product"
+msgstr "Бараа"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Invoice Corrected"
+msgstr "Нэхэмжлэлийг Зөв Болгосон"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Price"
+msgstr "Үнэ"
+
+#. module: mrp_repair
+#: field:mrp.repair,deliver_bool:0
+msgid "Deliver"
+msgstr "Хүргэлт"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+#: field:mrp.repair,internal_notes:0
+msgid "Internal Notes"
+msgstr "Дотоод тэмдэглэл"
+
+#. module: mrp_repair
+#: report:repair.order:0
+msgid "Taxes:"
+msgstr "Татвар:"
+
+#. module: mrp_repair
+#: field:mrp.repair,picking_id:0
+msgid "Picking"
+msgstr "Бэлтгэл"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Untaxed amount"
+msgstr "Татваргүй дүн"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/wizard/cancel_repair.py:41
+#, python-format
+msgid "Active ID is not Found"
+msgstr "Идэвхтэй ID олдсонгүй"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/wizard/cancel_repair.py:49
+#, python-format
+msgid "Repair order is not invoiced."
+msgstr "Засварын захиалга нэхэмлэгдээгүй."
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Total amount"
+msgstr "Нийт дүн"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "UoM"
+msgstr "Х.Н"
+
+#. module: mrp_repair
+#: selection:mrp.repair.line,type:0
+msgid "Remove"
+msgstr "Хасах"
+
+#. module: mrp_repair
+#: field:mrp.repair.fee,product_uom:0
+#: field:mrp.repair.line,product_uom:0
+msgid "Product UoM"
+msgstr "Барааны х.н"
+
+#. module: mrp_repair
+#: field:mrp.repair,partner_invoice_id:0
+msgid "Invoicing Address"
+msgstr "Нэхэмжлэх Хаяг"
+
+#. module: mrp_repair
+#: selection:mrp.repair,invoice_method:0
+msgid "After Repair"
+msgstr "Засварын Дараа"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "Invoicing"
+msgstr "Нэхэмжлэл"
+
+#. module: mrp_repair
+#: field:mrp.repair.line,location_id:0
+msgid "Source Location"
+msgstr "Эх байрлал"
+
+#. module: mrp_repair
+#: model:ir.model,name:mrp_repair.model_mrp_repair_cancel
+#: view:mrp.repair:0
+msgid "Cancel Repair"
+msgstr "Засвар Цуцлах"
+
+#. module: mrp_repair
+#: selection:mrp.repair,invoice_method:0
+msgid "No Invoice"
+msgstr "Нэхэмлэл үгүй"
+
+#. module: mrp_repair
+#: view:mrp.repair:0
+msgid "States"
+msgstr "Төлөв"
+
+#. module: mrp_repair
+#: help:mrp.repair,partner_id:0
+msgid ""
+"This field allow you to choose the parner that will be invoiced and delivered"
+msgstr ""
+"Энэ талбар нь нэхэмжлэгдэх болон хүргэлт хийгдэх харилцагчийг сонгох "
+"боломжийг олгоно"
+
+#. module: mrp_repair
+#: field:mrp.repair,amount_total:0
+msgid "Total"
+msgstr "Нийт"
+
+#. module: mrp_repair
+#: selection:mrp.repair,state:0
+msgid "Ready to Repair"
+msgstr "Засахад Бэлэн"
+
+#. module: mrp_repair
+#: code:addons/mrp_repair/mrp_repair.py:370
+#, python-format
+msgid "No partner !"
+msgstr "Харилцагч алга !"
+
+#~ msgid "VAT"
+#~ msgstr "НӨАТ"
+
+#~ msgid "Do you really want to create the invoice(s) ?"
+#~ msgstr "Та үнэхээр нэхэмжлэл үүсгэхийг хүсч байна уу ?"
diff --git a/addons/mrp_repair/mrp_repair_view.xml b/addons/mrp_repair/mrp_repair_view.xml
index 34d3ec0482b..74329f6b7fe 100644
--- a/addons/mrp_repair/mrp_repair_view.xml
+++ b/addons/mrp_repair/mrp_repair_view.xml
@@ -189,30 +189,23 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Reair Orders">
- <group>
- <field name="name" string="Reair Orders"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]"/>
- <filter icon="terp-check" string="Confirmed" domain="[('state','=','confirmed')]" name="current" />
- <filter icon="terp-emblem-important" string="Ready To Repair" domain="[('state','=','ready')]"/>
- <filter icon="terp-dolar" string="Invoiced" domain="[('invoiced','=',True)]"/>
- <separator orientation="vertical"/>
- <field name="product_id"/>
- <field name="partner_id"/>
- <field name="state"/>
- </group>
- <newline/>
+ <field name="name" string="Reair Orders"/>
+ <field name="state"/>
+ <filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]"/>
+ <filter icon="terp-check" string="Confirmed" domain="[('state','=','confirmed')]" name="current" />
+ <filter icon="terp-emblem-important" string="Ready To Repair" domain="[('state','=','ready')]"/>
+ <separator/>
+ <filter icon="terp-dolar" string="Invoiced" domain="[('invoiced','=',True)]"/>
+ <field name="product_id"/>
+ <field name="partner_id"/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'guarantee_limit'}" help="Guarantee limit"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
</group>
- </search>
+ </search>
</field>
</record>
@@ -225,7 +218,19 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_repair_order_form_filter"/>
- <field name="help">Repair orders allow you to organize your product repairs. In a repair order, you can detail the components you remove, add or replace and record the time you spent on the different operations. The repair order uses the warranty date on the Serial Number in order to know if whether the repair should be invoiced to the customer or not.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a reparation order.
+ </p><p>
+ In a repair order, you can detail the components you remove,
+ add or replace and record the time you spent on the different
+ operations.
+ </p><p>
+ The repair order uses the warranty date on the Serial Number in
+ order to know if whether the repair should be invoiced to the
+ customer or not.
+ </p>
+ </field>
</record>
<menuitem action="action_repair_order_tree" id="menu_repair_order" parent="mrp.menu_mrp_manufacturing" groups="mrp.group_mrp_user" name="Repair Orders" sequence="50"/>
diff --git a/addons/multi_company/res_company_view.xml b/addons/multi_company/res_company_view.xml
index 169f42d640e..5ea323175e6 100644
--- a/addons/multi_company/res_company_view.xml
+++ b/addons/multi_company/res_company_view.xml
@@ -51,9 +51,8 @@
<field name="arch" type="xml">
<search string="Multi Company">
<field name="name" string="Multi Company"/>
- <separator orientation="vertical"/>
- <field name="company_id" widget="selection"/>
- <field name="company_dest_id" widget="selection"/>
+ <field name="company_id"/>
+ <field name="company_dest_id"/>
<field name="object_id"/>
</search>
</field>
diff --git a/addons/plugin_outlook/plugin_outlook.xml b/addons/plugin_outlook/plugin_outlook.xml
index 04e5dca32de..f42d17e51c0 100644
--- a/addons/plugin_outlook/plugin_outlook.xml
+++ b/addons/plugin_outlook/plugin_outlook.xml
@@ -49,14 +49,14 @@
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
<field name="arch" type="xml">
- <field name="module_plugin_outlook" version="7.0" position="replace">
- <label for="module_plugin_outlook"/>
+ <div name="module_plugin_outlook" version="7.0" position="replace">
<div>
- <field name="module_plugin_outlook"/>
- <button name="%(action_outlook_installer)d" type="action" string="Configure" icon="gtk-execute"
- attrs="{'invisible': [('module_plugin_outlook','=',False)]}"/>
+ <field name="module_plugin_outlook" class="oe_inline"/>
+ <label for="module_plugin_outlook"/>
+ <button name="%(action_outlook_installer)d" type="action" string="Download and install the plugin" icon="gtk-execute"
+ attrs="{'invisible': [('module_plugin_outlook','=',False)]}" class="oe_link"/>
</div>
- </field>
+ </div>
</field>
</record>
diff --git a/addons/plugin_thunderbird/plugin_thunderbird.xml b/addons/plugin_thunderbird/plugin_thunderbird.xml
index 1adb4fa5eda..7a323ce33f5 100644
--- a/addons/plugin_thunderbird/plugin_thunderbird.xml
+++ b/addons/plugin_thunderbird/plugin_thunderbird.xml
@@ -55,14 +55,14 @@
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
<field name="arch" type="xml">
- <field name="module_plugin_thunderbird" version="7.0" position="replace">
- <label for="module_plugin_thunderbird"/>
+ <div name="module_plugin_thunderbird" version="7.0" position="replace">
<div>
- <field name="module_plugin_thunderbird"/>
- <button name="%(action_thunderbird_installer)d" type="action" string="Configure" icon="gtk-execute"
- attrs="{'invisible': [('module_plugin_thunderbird','=',False)]}"/>
+ <field name="module_plugin_thunderbird" class="oe_inline"/>
+ <label for="module_plugin_thunderbird"/>
+ <button name="%(action_thunderbird_installer)d" type="action" string="Download and install the plugin" icon="gtk-execute"
+ attrs="{'invisible': [('module_plugin_thunderbird','=',False)]}" class="oe_link"/>
</div>
- </field>
+ </div>
</field>
</record>
diff --git a/addons/point_of_sale/__openerp__.py b/addons/point_of_sale/__openerp__.py
index 9a39871f0c0..9d985d40408 100644
--- a/addons/point_of_sale/__openerp__.py
+++ b/addons/point_of_sale/__openerp__.py
@@ -25,7 +25,7 @@
'version': '1.0.1',
'category': 'Point Of Sale',
"sequence": 6,
- "summary": "Touchscreen to Manage your Shop",
+ "summary": "Touchscreen Interface for Shops",
'description': """
This module provides a quick and easy sale process.
===================================================
diff --git a/addons/point_of_sale/account_statement_view.xml b/addons/point_of_sale/account_statement_view.xml
index 3b3542bb777..8568c8d60d9 100644
--- a/addons/point_of_sale/account_statement_view.xml
+++ b/addons/point_of_sale/account_statement_view.xml
@@ -27,21 +27,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Cash Statements">
- <group>
- <field name="name" string="Cash Statement"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter string="Open" domain="[('state','=','open')]" icon="terp-document-new" name="open"/>
- <separator orientation="vertical"/>
- <field name="journal_id"/>
- </group>
- <newline/>
+ <field name="name" string="Cash Statement"/>
+ <field name="date"/>
+ <filter string="Open" domain="[('state','=','open')]" icon="terp-document-new" name="open"/>
+ <field name="journal_id"/>
<group expand="0" string="Group By...">
<filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/>
- <separator orientation="vertical"/>
<filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/>
- <separator orientation="vertical"/>
<filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
</group>
</search>
@@ -54,22 +46,14 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Cash Statements">
- <group>
- <field name="name" string="Cash Statement"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter string="Open" domain="[('state','=','open')]" icon="terp-document-new" name="open"/>
- <filter string="Closed" domain="[('state','=','confirm')]" icon="terp-camera_test"/>
- <separator orientation="vertical"/>
- <field name="journal_id"/>
- </group>
- <newline/>
+ <field name="name" string="Cash Statement"/>
+ <field name="date"/>
+ <filter string="Open" domain="[('state','=','open')]" icon="terp-document-new" name="open"/>
+ <filter string="Closed" domain="[('state','=','confirm')]" icon="terp-camera_test"/>
+ <field name="journal_id"/>
<group expand="0" string="Group By...">
<filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/>
- <separator orientation="vertical"/>
<filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/>
- <separator orientation="vertical"/>
<filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
</group>
</search>
diff --git a/addons/point_of_sale/point_of_sale_data.xml b/addons/point_of_sale/point_of_sale_data.xml
index 49e64569f6a..30fb98dc05f 100644
--- a/addons/point_of_sale/point_of_sale_data.xml
+++ b/addons/point_of_sale/point_of_sale_data.xml
@@ -1,5 +1,18 @@
<?xml version="1.0" ?>
<openerp>
+ <data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="action_client_pos_menu" model="ir.actions.client">
+ <field name="name">Open POS Menu</field>
+ <field name="tag">reload</field>
+ <field name="params" eval="{'menu_id': ref('menu_point_root')}"/>
+ </record>
+ <record id="todo_open_pos_menu" model="ir.actions.todo">
+ <field name="action_id" ref="action_client_pos_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+ </data>
<data>
<record model="pos.config" id="pos_config_main">
<field name="name">Main PoS</field>
@@ -12,14 +25,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Point of Sale has been installed</value>
- <value>Encode sale orders, register payments, compute money to return,
- create invoices, and manage refunds of former sales through a
- specific, web-based, user interface.
+ <value>Encode sale orders, register payments, compute money to return, create invoices, and manage refunds of former sales through a specific, web-based, touch-screen user interface.
- Simply click on the top menu "Point of Sale" to launch its
- interface. You can configure your point of sale and perform
- backend operations in the menu "PoS Backend".
- </value>
+If you install the PoS proxy, you will be able to interface OpenERP with retail materials; barcode scanners, printers, cash registers, weighing machine, credit card payments.</value>
</function>
</data>
</openerp>
diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml
index 6b1b9132344..226d3a71029 100644
--- a/addons/point_of_sale/point_of_sale_view.xml
+++ b/addons/point_of_sale/point_of_sale_view.xml
@@ -139,24 +139,19 @@
<field name="arch" type="xml">
<search string="Search Sales Order">
<field name="name" string="Sales Order"/>
- <separator orientation="vertical"/>
<field name="date_order"/>
- <separator orientation="vertical"/>
<filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/>
<filter icon="gtk-apply" string="Done" domain="[('state','in',('paid','invoiced','done'))]"/>
<filter icon="terp-check" string="Invoiced" domain="[('state','=','invoiced')]"/>
<filter icon="gtk-convert" string="Posted" domain="[('state','=','done')]"/>
- <separator orientation="vertical"/>
<field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator string="" orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator string="" orientation="vertical"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
</group>
- </search>
+ </search>
</field>
</record>
@@ -173,7 +168,19 @@
<field name="context" eval="{'default_pos_categ_id': ref('point_of_sale.categ_others')}"/>
<field name="view_id" ref="product.product_product_tree_view"/>
<field name="search_view_id" ref="product.product_search_form_view"/>
- <field name="help">You must define a Product for everything you buy or sell. Products can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new product.
+ </p><p>
+ You must define a product for everything you sell through
+ the point of sale interface.
+ </p><p>
+ Do not forget to set the price and the point of sale category
+ in which it should appear. If a product has no point of sale
+ category, you can not sell it through the point of sale
+ interface.
+ </p>
+ </field>
</record>
<menuitem
action="product_normal_action"
@@ -698,7 +705,14 @@
<field name="view_mode">tree,form</field>
<field name="context" eval="{'default_journal_user': 1, 'default_type': 'cash'}"/>
<field name="domain">[('journal_user','=', 1)]</field>
- <field name="help">Payment methods are defined by accounting journals having the field Payment Method checked.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a payment method.
+ </p><p>
+ Payment methods are defined by accounting journals having the
+ field <i>Payment Method</i> checked.
+ </p>
+ </field>
</record>
<menuitem action="action_account_journal_form"
@@ -835,12 +849,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Point of Sale Config">
+ <field name="name" />
<filter string="Active" domain="[('state', '=', 'active')]" />
<filter string="Inactive" domain="[('state', '=', 'inactive')]" />
- <separator orientation="vertical"/>
- <field name="name" />
<field name="shop_id" />
-
</search>
</field>
</record>
@@ -985,15 +997,12 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Point of Sale Session">
+ <field name="name" />
<filter string="Open" domain="[('state', '=', 'opened')]" />
- <separator orientation="vertical"/>
+ <separator/>
<filter string="Today" domain="[('start_at', '>=', time.strftime('%%Y-%%m-%%d 00:00:00'))]" />
- <separator orientation="vertical"/>
<field name="config_id" />
- <field name="name" />
<field name="user_id" />
-
- <newline />
<group expand="0" string="Group By...">
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
<filter string="Point of Sales" domain="[]" context="{'group_by': 'user_id'}" />
@@ -1032,27 +1041,22 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Sales Order">
+ <field name="name"/>
+ <field name="date_order"/>
<filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/>
<filter icon="gtk-apply" string="Done" domain="[('state','in',('paid','invoiced','done'))]"/>
- <separator orientation="vertical"/>
<filter icon="terp-check" string="Invoiced" domain="[('state','=','invoiced')]"/>
<filter icon="gtk-convert" string="Posted" domain="[('state','=','done')]"/>
- <separator orientation="vertical"/>
- <field name="name"/>
<field name="user_id"/>
- <field name="date_order"/>
<field name="session_id"/>
- <newline/>
<group expand="0" string="Group By..." groups="base.group_extended">
<filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Session" icon="terp-personal" domain="[]" context="{'group_by':'session_id'}"/>
- <separator string="" orientation="vertical"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator string="" orientation="vertical"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
</group>
- </search>
+ </search>
</field>
</record>
diff --git a/addons/point_of_sale/report/pos_order_report_view.xml b/addons/point_of_sale/report/pos_order_report_view.xml
index 00e0eb91f2f..e103fe4e6c0 100644
--- a/addons/point_of_sale/report/pos_order_report_view.xml
+++ b/addons/point_of_sale/report/pos_order_report_view.xml
@@ -34,41 +34,24 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Point of Sale Analysis">
- <group>
- <filter icon="terp-go-year" string="Year" name="year"
- domain="[('year','=',time.strftime('%%Y'))]"
- help="POS ordered created during current year"/>
- <filter icon="terp-go-today"
- string="Today"
- name="today"
- domain="[('date','=', time.strftime('%%Y-%%m-%%d'))]"
- help="POS ordered created by today"/>
- <separator orientation="vertical"/>
- <filter icon="terp-dolar"
- string="Invoiced"
- domain="[('state','=',('invoiced'))]"/>
- <filter icon="terp-dolar"
- string="Not Invoiced"
- domain="[('state','=',('paid'))]"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="date"/>
- <field name="user_id" widget="selection" />
- <filter icon="terp-personal"
- string="My Sales"
- help="My Sales"
- domain="[('user_id','=',uid)]"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="user_id" widget="selection"/>
- </group>
- <newline/>
+ <field name="date"/>
+ <filter icon="terp-dolar" string="Invoiced" domain="[('state','=',('invoiced'))]"/>
+ <filter icon="terp-dolar" string="Not Invoiced" domain="[('state','=',('paid'))]"/>
+ <separator/>
+ <filter icon="terp-go-year" string="Year" name="year" domain="[('year','=',time.strftime('%%Y'))]" help="POS ordered created during current year"/>
+ <separator/>
+ <filter icon="terp-go-today" string="Today" name="today" domain="[('date','=', time.strftime('%%Y-%%m-%%d'))]"
+ help="POS ordered created by today"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Sales" help="My Sales" domain="[('user_id','=',uid)]"/>
+ <field name="partner_id"/>
+ <field name="user_id"/>
+ <field name="partner_id"/>
+ <field name="user_id"/>
<group expand="1" string="Group By...">
<filter string="Salesperson" icon="terp-personal" name="User" context="{'group_by':'user_id'}"/>
<filter string="Customer" icon="terp-personal" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
- <separator orientation="vertical"/>
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Day of order date"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Month of order date"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Year of order date"/>
diff --git a/addons/point_of_sale/security/point_of_sale_security.xml b/addons/point_of_sale/security/point_of_sale_security.xml
index 7f2e91f1b48..6e38321cbe2 100644
--- a/addons/point_of_sale/security/point_of_sale_security.xml
+++ b/addons/point_of_sale/security/point_of_sale_security.xml
@@ -13,5 +13,11 @@
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
+ <record id="rule_pos_multi_company" model="ir.rule">
+ <field name="name">Point Of Sale Order</field>
+ <field name="model_id" ref="model_pos_order" />
+ <field name="global" eval="True" />
+ <field name="domain_force">[('company_id', '=', user.company_id.id)]</field>
+ </record>
</data>
</openerp>
diff --git a/addons/portal/__openerp__.py b/addons/portal/__openerp__.py
index 70791995958..6dd22a46ca2 100644
--- a/addons/portal/__openerp__.py
+++ b/addons/portal/__openerp__.py
@@ -22,18 +22,20 @@
{
'name' : "Portal",
'version' : "1.0",
- 'depends' : ["base", "share"],
+ 'depends' : ["base", "share", "anonymous"],
'author' : "OpenERP SA",
'category': 'Portal',
'description': """
-This module defines 'portals' to customize the access to your OpenERP database for external users.
-==================================================================================================
+Customize access to your OpenERP database to external users by creating portals.
-A portal defines customized user menu and access rights for a group of users
-(the ones associated to that portal). It also associates user groups to the
-portal users (adding a group in the portal automatically adds it to the portal
-users). That feature is very handy when used in combination with the
-module 'share'.
+A portal defines a specific user menu and access rights for its members. This
+menu can ben seen by portal members, anonymous users and any other user that
+have the access to technical features (e.g. the administrator).
+Also, each portal member is linked to a specific partner.
+
+The module also associates user groups to the portal users (adding a group in
+the portal automatically adds it to the portal users, etc). That feature is
+very handy when used in combination with the module 'share'.
""",
'website': 'http://www.openerp.com',
'data': [
diff --git a/addons/portal/portal.py b/addons/portal/portal.py
index 399377e8ccc..2c8b2db587d 100644
--- a/addons/portal/portal.py
+++ b/addons/portal/portal.py
@@ -32,7 +32,7 @@ class portal(osv.osv):
_name = 'res.portal'
_description = 'Portal'
_inherits = {'res.groups': 'group_id'}
-
+
_columns = {
'group_id': fields.many2one('res.groups', required=True, ondelete='cascade',
string='Group',
@@ -53,40 +53,40 @@ class portal(osv.osv):
string='Widgets',
help='Widgets assigned to portal users'),
}
-
+
def copy(self, cr, uid, id, values, context=None):
""" override copy(): menu_action_id must be different """
values['menu_action_id'] = None
return super(portal, self).copy(cr, uid, id, values, context)
-
+
def create(self, cr, uid, values, context=None):
""" extend create() to assign the portal menu to users """
if context is None:
context = {}
-
+
# create portal (admin should not be included)
context['noadmin'] = True
portal_id = super(portal, self).create(cr, uid, values, context)
-
+
# assign menu action and widgets to users
if values.get('users') or values.get('menu_action_id'):
self._assign_menu(cr, uid, [portal_id], context)
if values.get('users') or values.get('widget_ids'):
self._assign_widgets(cr, uid, [portal_id], context)
-
+
return portal_id
-
+
def write(self, cr, uid, ids, values, context=None):
""" extend write() to reflect changes on users """
# first apply portal changes
super(portal, self).write(cr, uid, ids, values, context)
-
+
# assign menu action and widgets to users
if values.get('users') or values.get('menu_action_id'):
self._assign_menu(cr, uid, ids, context)
if values.get('users') or values.get('widget_ids'):
self._assign_widgets(cr, uid, ids, context)
-
+
# if parent_menu_id has changed, apply the change on menu_action_id
if 'parent_menu_id' in values:
act_window_obj = self.pool.get('ir.actions.act_window')
@@ -95,7 +95,7 @@ class portal(osv.osv):
if action_ids:
action_values = {'domain': [('parent_id', '=', values['parent_menu_id'])]}
act_window_obj.write(cr, uid, action_ids, action_values, context)
-
+
return True
def _assign_menu(self, cr, uid, ids, context=None):
@@ -131,26 +131,26 @@ portal()
class portal_override_menu(osv.osv):
"""
- extend res.portal with a boolean field 'Override Users Menu', that
+ Extend res.portal with a boolean field 'Override Users Menu', that
triggers the creation or removal of menu_action_id
"""
_name = 'res.portal'
_inherit = 'res.portal'
-
+
def _get_override_menu(self, cr, uid, ids, field_name, arg, context=None):
assert field_name == 'override_menu'
result = {}
for p in self.browse(cr, uid, ids, context):
result[p.id] = bool(p.menu_action_id)
return result
-
+
def _set_override_menu(self, cr, uid, id, field_name, field_value, arg, context=None):
assert field_name == 'override_menu'
if field_value:
self.create_menu_action(cr, uid, id, context)
else:
self.write(cr, uid, [id], {'menu_action_id': False}, context)
-
+
def create_menu_action(self, cr, uid, id, context=None):
""" create, if necessary, a menu action that opens the menu items below
parent_menu_id """
@@ -169,7 +169,7 @@ class portal_override_menu(osv.osv):
}
action_id = actions_obj.create(cr, uid, action_values, context)
self.write(cr, uid, [id], {'menu_action_id': action_id}, context)
-
+
_columns = {
'override_menu': fields.function(
_get_override_menu, fnct_inv=_set_override_menu,
diff --git a/addons/portal/portal_data.xml b/addons/portal/portal_data.xml
index 2cba3a1945a..74e08bc5343 100644
--- a/addons/portal/portal_data.xml
+++ b/addons/portal/portal_data.xml
@@ -1,13 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="1">
+ <data>
<record id="portal" model="res.portal">
<field name="name">Portal</field>
<field name="group_id" ref="group_portal_member"/>
- <field name="override_menu" eval="True"/>
- <field name="parent_menu_id" ref="portal_members_root_menu"/>
+ <field name="override_menu" eval="False"/>
</record>
+ <!-- Mail group for the company's news -->
+ <record id="company_news_feed" model="mail.group">
+ <field name="name">Company's news feed</field>
+ </record>
+
+ <record id="action_news" model="ir.actions.act_window">
+ <field name="name">News</field>
+ <field name="res_model">mail.group</field>
+ <field name="res_id" ref="company_news_feed"/>
+ <field name="view_mode">form</field>
+ </record>
+
+ <!-- Top menu item -->
+ <menuitem name="Portal"
+ id="portal_menu"
+ groups="base.group_no_one,portal.group_portal_member,anonymous.group_anonymous"
+ sequence="20"/>
+
+ <menuitem name="Our company" id="portal_company" parent="portal_menu" sequence="10"/>
+ <menuitem name="News" id="portal_company_news" parent="portal_company" sequence="10" action="action_news"/>
+
+ <!--
+ Create menu items that we'll leave empty for now - they'll be
+ filled up by other portal modules.
+ -->
+ <menuitem name="Orders" id="portal_orders" parent="portal_menu" sequence="20"/>
+ <menuitem name="Invoices and Payments" id="portal_invoices_payements" parent="portal_menu" sequence="30"/>
+ <menuitem name="Projects" id="portal_projects" parent="portal_menu" sequence="40"/>
+ <menuitem name="After Sale Services" id="portal_after_sales" parent="portal_menu" sequence="50"/>
+
</data>
</openerp>
diff --git a/addons/portal/portal_demo.xml b/addons/portal/portal_demo.xml
index 1776493eb32..e5b5ea2fe70 100644
--- a/addons/portal/portal_demo.xml
+++ b/addons/portal/portal_demo.xml
@@ -2,18 +2,58 @@
<openerp>
<data>
- <record id="portal_demo_user" model="res.users">
+ <!-- Create a portal member attached to a partner -->
+ <record id="demo_user0" model="res.users">
<field name="name">Demo Portal User</field>
<field name="login">portal</field>
<field name="password">portal</field>
<field name="avatar">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ODdBREI1PC94bXBNTTpJbnN0YW5jZUlEPgogIDx4bXBNTTpEb2N1bWVudElEIHJkZjpyZXNvdXJjZT0neG1wLmRpZDoyMTUxMUFDRjU4NzBFMDExQjE4OEJBMDcwREM1NDg5MicgLz4KICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6MjE1MTFBQ0Y1ODcwRTAxMUIxODhCQTA3MERDNTQ4OTI8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICA8eG1wTU06SGlzdG9yeT4KICAgPHJkZjpTZXE+CiAgIDwvcmRmOlNlcT4KICA8L3htcE1NOkhpc3Rvcnk+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyc+CiAgPGRjOmZvcm1hdD5pbWFnZS9qcGVnPC9kYzpmb3JtYXQ+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOnBob3Rvc2hvcD0naHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyc+CiAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiB4bWxuczp0aWZmPSdodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyc+CiAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgPHRpZmY6TmF0aXZlRGlnZXN0PjI1NiwyNTcsMjU4LDI1OSwyNjIsMjc0LDI3NywyODQsNTMwLDUzMSwyODIsMjgzLDI5NiwzMDEsMzE4LDMxOSw1MjksNTMyLDMwNiwyNzAsMjcxLDI3MiwzMDUsMzE1LDMzNDMyO0Q1MDVBNEM2MDlBQzIyNUVGMzcwM0UwMTE0NkQ4RTYzPC90aWZmOk5hdGl2ZURpZ2VzdD4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24geG1sbnM6ZXhpZj0naHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8nPgogIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yNTA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zNzA8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogIDxleGlmOk5hdGl2ZURpZ2VzdD4zNjg2NCw0MDk2MCw0MDk2MSwzNzEyMSwzNzEyMiw0MDk2Miw0MDk2MywzNzUxMCw0MDk2NCwzNjg2NywzNjg2OCwzMzQzNCwzMzQzNywzNDg1MCwzNDg1MiwzNDg1NSwzNDg1NiwzNzM3NywzNzM3OCwzNzM3OSwzNzM4MCwzNzM4MSwzNzM4MiwzNzM4MywzNzM4NCwzNzM4NSwzNzM4NiwzNzM5Niw0MTQ4Myw0MTQ4NCw0MTQ4Niw0MTQ4Nyw0MTQ4OCw0MTQ5Miw0MTQ5Myw0MTQ5NSw0MTcyOCw0MTcyOSw0MTczMCw0MTk4NSw0MTk4Niw0MTk4Nyw0MTk4OCw0MTk4OSw0MTk5MCw0MTk5MSw0MTk5Miw0MTk5Myw0MTk5NCw0MTk5NSw0MTk5Niw0MjAxNiwwLDIsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMjAsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMzA7MTM3NUU3MDc1MjVBMTE0RjBBRkNBNzg4RTM2QzAyN0I8L2V4aWY6TmF0aXZlRGlnZXN0PgogPC9yZGY6RGVzY3JpcHRpb24+Cgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSdyJz8+Cv/iDFhJQ0NfUFJPRklM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</field>
- <!-- Avoid auto-including this demo user in any default group -->
+ <!-- Avoid auto-including this user in any default group -->
<field name="groups_id" eval="[(5,)]"/>
<field name="partner_id" eval="ref('base.res_partner_agrolait')"/>
</record>
+ <!-- Add the demo user to the portal (and therefore to the portal member group) -->
<record id="portal" model="res.portal">
- <field name="users" eval="[(4,ref('portal_demo_user'))]"/>
+ <field name="users" eval="[(4,ref('demo_user0'))]"/>
+ </record>
+
+ <!-- Company news and comments -->
+ <record id="message_company_news0" model="mail.message">
+ <field name="subject">Our first company's blogpost !</field>
+ <field name="model">mail.group</field>
+ <field name="res_id" ref="company_news_feed"/>
+ <field name="content_subtype">html</field>
+ <field name="body_html"><![CDATA[Hello, and welcome to our company's portal !
+
+Lorem ipsum <b>sit amet</b>, consectetur <em>adipiscing elit</em>. Pellentesque et quam sapien, in sagittis tellus.
+Praesent vel massa sed massa consequat egestas in tristique orci. Praesent iaculis libero et neque vehicula iaculis. Vivamus placerat tincidunt orci ac ornare. Proin ut dolor fringilla velit ultricies consequat. Maecenas sit amet ipsum non leo interdum imperdiet. Donec sapien mi.
+
+Fusce tempus elit volutpat mi auctor adipiscing. Nam congue luctus suscipit. Sed tellus libero, venenatis ut mollis ut, luctus quis dui. Sed rhoncus pulvinar orci in consectetur.
+
+Nulla turpis leo, rhoncus ut egestas sit amet, consectetur vitae urna. Mauris in dolor in sapien tempus vehicula.]]></field>
+ <field name="type">comment</field>
+ <field name="user_id" ref="base.user_root"/>
+ </record>
+
+ <record id="message_company_news0_comment0" model="mail.message">
+ <field name="model">mail.group</field>
+ <field name="res_id" ref="company_news_feed"/>
+ <field name="content_subtype">html</field>
+ <field name="body_html"><![CDATA[Great first blogpost ! (first comment)]]></field>
+ <field name="parent_id" ref="message_company_news0"/>
+ <field name="type">comment</field>
+ <field name="user_id" ref="base.user_demo"/>
+ </record>
+
+ <record id="message_company_news0_comment1" model="mail.message">
+ <field name="model">mail.group</field>
+ <field name="res_id" ref="company_news_feed"/>
+ <field name="content_subtype">html</field>
+ <field name="body_html"><![CDATA[Thanks ! (second comment)]]></field>
+ <field name="parent_id" ref="message_company_news0"/>
+ <field name="type">comment</field>
+ <field name="user_id" ref="base.user_root"/>
</record>
</data>
diff --git a/addons/portal/portal_view.xml b/addons/portal/portal_view.xml
index 794c8ed788b..088c594595a 100644
--- a/addons/portal/portal_view.xml
+++ b/addons/portal/portal_view.xml
@@ -2,21 +2,6 @@
<openerp>
<data>
- <!-- menu Administration/Portals/Portals -->
- <record id="portal_list_action" model="ir.actions.act_window">
- <field name="name">Portals</field>
- <field name="res_model">res.portal</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <!-- a context is necessary to get the right portal form view -->
- <field name="context">{'form_view_ref': 'portal.portal_form_view'}</field>
- <field name="help">
-A portal helps defining specific views and rules for a group of users (the
-portal group). A portal menu, widgets and specific groups may be assigned to
-the portal's users.
- </field>
- </record>
-
<!-- portal tree view -->
<record id="portal_list_view" model="ir.ui.view">
<field name="name">Portal List</field>
@@ -28,7 +13,6 @@ the portal's users.
</tree>
</field>
</record>
-
<!-- portal form view -->
<record id="portal_form_view" model="ir.ui.view">
<field name="name">Portal Form</field>
@@ -63,42 +47,27 @@ the portal's users.
</page>
</field>
</record>
-
- <record id="company_news_feed" model="mail.group">
- <field name="name">Company's news feed</field>
- </record>
-
- <record id="action_news" model="ir.actions.act_window">
- <field name="name">News</field>
- <field name="res_model">mail.group</field>
- <field name="res_id" ref="company_news_feed"/>
- <field name="view_mode">form</field>
+ <!-- action Administration/Portals/Portals -->
+ <record id="portal_list_action" model="ir.actions.act_window">
+ <field name="name">Portals</field>
+ <field name="res_model">res.portal</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ <!-- a context is necessary to get the right portal form view -->
+ <field name="context">{'form_view_ref': 'portal.portal_form_view'}</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new portal.
+ </p><p>
+ A portal helps defining specific views and rules for a group of
+ users (the portal group). A portal menu, widgets and specific
+ groups may be assigned to the portal's users.
+ </p>
+ </field>
</record>
-
-
- <!-- module's menu -->
- <!-- menu Administration/Portals -->
- <menuitem name="Portals Settings" id="portal_menu_settings" parent="base.menu_administration"
- groups="group_portal_manager"/>
-
+ <!-- menu Administration/Portals/Portals -->
+ <menuitem name="Portals Settings" id="portal_menu_settings" parent="base.menu_administration" groups="group_portal_manager"/>
<menuitem name="Portals" id="portal_list_menu" parent="portal_menu_settings" action="portal_list_action"/>
- <!-- root menu for portal members (chrooted in this menu) -->
- <menuitem name="Portal Members Root Menu" id="portal_members_root_menu" parent="portal_menu_settings"/>
- <menuitem name="Portal Member's Menu" id="menu_portal" parent="portal_members_root_menu"/>
- <menuitem name="Our company" id="portal_company"
- parent="menu_portal" sequence="10"/>
- <menuitem name="News" id="portal_company_news"
- parent="portal_company" sequence="10" action="action_news"/>
-
- <menuitem name="Orders" id="portal_orders"
- parent="menu_portal" sequence="20"/>
- <menuitem name="Invoices and Payments" id="portal_invoices_payements"
- parent="menu_portal" sequence="30"/>
- <menuitem name="Projects" id="portal_projects"
- parent="menu_portal" sequence="40"/>
- <menuitem name="After Sale Services" id="portal_after_sales"
- parent="menu_portal" sequence="50"/>
-
</data>
</openerp>
diff --git a/addons/portal/res_user.py b/addons/portal/res_user.py
index 127c3079b29..9ed95a8a740 100644
--- a/addons/portal/res_user.py
+++ b/addons/portal/res_user.py
@@ -30,7 +30,5 @@ class res_users(osv.osv):
string='Related Partner'),
}
-res_users()
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/portal/res_user_view.xml b/addons/portal/res_user_view.xml
index 492c2ec5559..d481b865b79 100644
--- a/addons/portal/res_user_view.xml
+++ b/addons/portal/res_user_view.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
+
<!-- add partner field in user form -->
<record id="view_users_form" model="ir.ui.view">
<field name="name">res.portal.users.form</field>
@@ -13,5 +14,6 @@
</field>
</field>
</record>
+
</data>
</openerp>
diff --git a/addons/portal/security/portal_security.xml b/addons/portal/security/portal_security.xml
index 37e94581d77..4a493204d67 100644
--- a/addons/portal/security/portal_security.xml
+++ b/addons/portal/security/portal_security.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data>
+ <data noupdate="1">
- <!-- Don't use any implied_ids here; this group behavior is particular -->
+ <!-- Don't use any implied_ids here; this group's behavior is particular -->
<record id="group_portal_member" model="res.groups">
<field name="name">Portal Member</field>
- <field name="comment">Portal members can access information provided by the portal menu and the others module it's linked with. Also, portal members are chrooted in a specific menu.</field>
+ <field name="comment">Portal members can access information through the portal menu. Also, they are chrooted in this specific menu.</field>
</record>
<record id="module_category_portal" model="ir.module.category">
diff --git a/addons/portal_claim/__openerp__.py b/addons/portal_claim/__openerp__.py
index 9fba57ba9ac..197227cc45f 100644
--- a/addons/portal_claim/__openerp__.py
+++ b/addons/portal_claim/__openerp__.py
@@ -26,15 +26,15 @@
'category': 'Tools',
'complexity': "easy",
'description': """
-This module adds claim menu and features to your portal if claim and portal are
+This module adds claim menu and features to your portal if claim and portal are
installed.
""",
'author': 'OpenERP SA',
'depends': ['crm_claim','portal'],
'data': [
- 'security/portal_security.xml',
'portal_claim_view.xml',
- "security/ir.model.access.csv",
+ 'security/ir.model.access.csv',
+ 'security/portal_security.xml',
],
'installable': True,
'auto_install':True,
diff --git a/addons/portal_claim/security/portal_security.xml b/addons/portal_claim/security/portal_security.xml
index feff94ed43c..e902bd043ad 100644
--- a/addons/portal_claim/security/portal_security.xml
+++ b/addons/portal_claim/security/portal_security.xml
@@ -3,7 +3,7 @@
<data noupdate="1">
<record id="portal_stock_picking_user_rule" model="ir.rule">
- <field name="name">Personal Claims</field>
+ <field name="name">Portal Personal Claims</field>
<field ref="crm_claim.model_crm_claim" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
diff --git a/addons/portal_crm/__openerp__.py b/addons/portal_crm/__openerp__.py
index 044f3280ce3..4fe023ccb48 100644
--- a/addons/portal_crm/__openerp__.py
+++ b/addons/portal_crm/__openerp__.py
@@ -26,18 +26,20 @@
'category': 'Tools',
'complexity': "easy",
'description': """
-This module adds crm menu and features (contact form) to your portal if crm and
-portal are installed.
+This module adds a contact page (with a contact form creating a lead when
+submitted) to your portal if crm and portal are installed.
""",
'author': 'OpenERP SA',
'depends': ['crm','portal'],
'data': [
- 'security/ir.model.access.csv',
'wizard/contact_view.xml',
],
- 'installable': True,
- 'auto_install':True,
+ 'installable': True
+, 'auto_install':True,
'category':'Hidden',
+ 'css': [
+ 'static/src/css/portal_crm.css',
+ ],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/portal_crm/security/ir.model.access.csv b/addons/portal_crm/security/ir.model.access.csv
deleted file mode 100644
index 08145a00f54..00000000000
--- a/addons/portal_crm/security/ir.model.access.csv
+++ /dev/null
@@ -1,2 +0,0 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-
diff --git a/addons/portal_crm/static/src/css/portal_crm.css b/addons/portal_crm/static/src/css/portal_crm.css
new file mode 100644
index 00000000000..0589eb92e71
--- /dev/null
+++ b/addons/portal_crm/static/src/css/portal_crm.css
@@ -0,0 +1,42 @@
+ /* Root container */
+.openerp .oe_portal_crm_contact {
+ width: 800px;
+ margin: auto;
+ padding: 8px 0 0 0;
+}
+
+/* Contact form section */
+.openerp .oe_portal_crm_contact .oe_portal_crm_contact_form {
+ margin-right: 10px;
+}
+.openerp .oe_portal_crm_contact .oe_portal_crm_contact_form input[type="text"] {
+ width: 40%;
+}
+
+/* Offices list section */
+.openerp .oe_portal_crm_contact .oe_portal_crm_office {
+ background: #DDD;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
+ -o-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
+ -box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
+}
+.openerp .oe_portal_crm_contact .oe_portal_crm_office * {
+ background: transparent !important;
+}
+.openerp .oe_portal_crm_contact .oe_portal_crm_office .oe_fold_column.oe_kanban_record {
+ float: none;
+ display: block;
+ width: 100%;
+ margin-bottom: 5px;
+ padding: 5px;
+}
+.openerp .oe_portal_crm_contact .oe_portal_crm_office li:last-child {
+ margin-bottom: 1em;
+}
+.openerp .oe_portal_crm_contact .oe_portal_crm_office ul:last-child li:last-child {
+ margin-bottom: 0;
+}
diff --git a/addons/portal_crm/wizard/contact.py b/addons/portal_crm/wizard/contact.py
index be21decafa9..505bb62bb16 100644
--- a/addons/portal_crm/wizard/contact.py
+++ b/addons/portal_crm/wizard/contact.py
@@ -1,33 +1,90 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2011 OpenERP S.A (<http://www.openerp.com>).
+#
+# 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 openerp.osv import osv, fields
+from openerp import SUPERUSER_ID
class crm_contact_us(osv.TransientModel):
""" Create new leads through the "contact us" form """
_name = 'portal_crm.crm_contact_us'
_description = 'Contact form for the portal'
_inherit = 'crm.lead'
+ _columns = {
+ 'company_ids' : fields.many2many('res.company', string='Companies', readonly=True),
+ }
+
+ def _get_companies(self, cr, uid, context=None):
+ """
+ Fetch companies in order to display them in the wizard view
+
+ @return a list of ids of the companies
+ """
+ r = self.pool.get('res.company').search(cr, uid, [], context=context)
+ return r
+
+ def _get_current_user_email(self, cr, uid, context=None):
+ """
+ If the user is logged in (i.e. not anonymous), get the user's email to
+ pre-fill the email_from field.
+
+ @return current user's email if the user isn't "anonymous", None otherwise
+ """
+ user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+
+ if (user.login != 'anonymous'):
+ return user.user_email
+ else:
+ return None
+
+ _defaults = {
+ 'email_from' : _get_current_user_email,
+ 'company_ids' : _get_companies,
+ }
def create(self, cr, uid, values, context=None):
- """
- Since they potentially sensitive, we don't want any user to be able to
- read datas generated through this module. That's why we'll write those
- information in the crm.lead table and leave blank entries in the
- portal_crm.crm_contact_us table. This is why the create() method is
- overridden.
+ """
+ Since they potentially sensitive, we don't want any user to be able to
+ read datas generated through this module. That's why we'll write those
+ information in the crm.lead table and leave blank entries in the
+ portal_crm.crm_contact_us table. This is why the create() method is
+ overwritten.
"""
crm_lead = self.pool.get('crm.lead')
-
- """
- Because of the complex inheritance of the crm.lead model and the other
- models implied (like mail.thread, among others, that performs a read
- when its create() method is called (in method message_get_subscribers()),
- it is quite complicated to set proper rights for this object.
- Therefore, user #1 will perform the creation until a better workaround
- is figured out.
+
+ """
+ Because of the complex inheritance of the crm.lead model and the other
+ models implied (like mail.thread, among others, that performs a read
+ when its create() method is called (in method message_get_subscribers()),
+ it is quite complicated to set proper rights for this object.
+ Therefore, user SUPERUSER_ID will perform the creation until a better
+ workaround is figured out.
"""
- crm_lead.create(cr, 1, dict(values,user_id=False), context)
+ values['contact_name'] = values['name']
+ crm_lead.create(cr, SUPERUSER_ID, dict(values,user_id=False), context)
- """ Create an empty record in the portal_crm.crm_contact_us table """
- return super(crm_contact_us, self).create(cr, uid, {})
+ """
+ Create an empty record in the portal_crm.crm_contact_us table.
+ Since the 'name' field is mandatory, give an empty string to avoid an integrity error.
+ """
+ return super(crm_contact_us, self).create(cr, uid, {'name': ' '})
def submit(self, cr, uid, ids, context=None):
""" When the form is submitted, redirect the user to a "Thanks" message """
@@ -36,5 +93,6 @@ class crm_contact_us(osv.TransientModel):
'view_type': 'form',
'res_model': self._name,
'res_id': ids[0],
- 'view_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'portal_crm', 'wizard_contact_form_view_thanks')[1]
+ 'view_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'portal_crm', 'wizard_contact_form_view_thanks')[1],
+ 'target': 'inline'
}
diff --git a/addons/portal_crm/wizard/contact_view.xml b/addons/portal_crm/wizard/contact_view.xml
index 904326ea409..96d55722752 100644
--- a/addons/portal_crm/wizard/contact_view.xml
+++ b/addons/portal_crm/wizard/contact_view.xml
@@ -8,16 +8,70 @@
<field name="model">portal_crm.crm_contact_us</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Contact Us wizard view">
- <group col="2">
- <field name="contact_name" string="Name"/>
- <field name="name" string="Company"/>
- <field name="email_from"/>
- <field name="phone"/>
- <field name="description" string="Your question"/>
- <label string=""/>
- <button string="Submit" name="submit" type="object"/>
- </group>
+ <form string="Contact wizard view" version="7.0">
+ <div class="oe_portal_crm_contact">
+ <h1>Contact us</h1>
+ <table>
+ <tr>
+ <td width="70%%">
+ <div class="oe_portal_crm_contact_form">
+ <group>
+ <field name="name"/>
+ <field name="partner_name"/>
+ <field name="email_from"/>
+ <field name="phone"/>
+ <field name="description"/>
+ <button string="Submit" name="submit" type="object"/>
+ </group>
+ </div>
+ </td>
+ <td>
+ <div class="oe_portal_crm_office">
+ <field name="company_ids" widget="many2many_kanban">
+ <kanban>
+ <field name="name"/>
+ <field name="email"/>
+ <field name="phone"/>
+ <field name="street"/>
+ <field name="street2"/>
+ <field name="zip"/>
+ <field name="city"/>
+ <field name="country_id"/>
+ <field name="state_id"/>
+ <templates>
+ <t t-name="kanban-box">
+ <h4><field name="name"/></h4>
+ <ul class="oe_portal_crm_address">
+ <li t-if="record.street"><field name="street"/></li>
+ <li t-if="record.street2"><field name="street2"/></li>
+ <li t-if="record.zip"><field name="zip"/></li>
+ <li t-if="record.city"><field name="city"/></li>
+ <li t-if="record.country_id"><field name="country_id"/></li>
+ </ul>
+ <ul class="oe_portal_crm_contact_info">
+ <li t-if="record.phone"><field name="phone"/></li>
+ <li t-if="record.email.raw_value">
+ <a title="Mail" t-att-href="'mailto:'+record.email.value">
+ <field name="email"/>
+ </a>
+ </li>
+ </ul>
+ </t>
+ </templates>
+ </kanban>
+ </field>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <div class="oe_portal_crm_team">
+
+ </div>
+ </td>
+ </tr>
+ </table>
+ </div>
</form>
</field>
</record>
@@ -31,9 +85,9 @@
<field name="priority">99</field>
<field name="arch" type="xml">
<form string="Thank you">
- <!--
- make sure there is at least one field in the view,
- otherwise the orm will try to select all the model's
+ <!--
+ make sure there is at least one field in the view,
+ otherwise the orm will try to select all the model's
records and this will result in a permission denied error
-->
<field name="name" invisible="1"/>
@@ -44,9 +98,10 @@
<!-- wizard action -->
<record id="action_wizard_contact_us" model="ir.actions.act_window">
- <field name="name">Contact Us</field>
+ <field name="name">Contact</field>
<field name="res_model">portal_crm.crm_contact_us</field>
<field name="view_mode">form</field>
+ <field name="target">inline</field>
</record>
<!-- attach it to the portal menu -->
diff --git a/addons/portal_event/__init__.py b/addons/portal_event/__init__.py
index 26c654db9dd..60fb460545a 100644
--- a/addons/portal_event/__init__.py
+++ b/addons/portal_event/__init__.py
@@ -19,3 +19,4 @@
#
##############################################################################
+import event
diff --git a/addons/portal_event/__openerp__.py b/addons/portal_event/__openerp__.py
index 865f18604d6..2f5220c9f36 100644
--- a/addons/portal_event/__openerp__.py
+++ b/addons/portal_event/__openerp__.py
@@ -26,12 +26,13 @@
'category': 'Tools',
'complexity': "easy",
'description': """
-This module adds event menu and features to your portal if event and portal are
+This module adds event menu and features to your portal if event and portal are
installed.
""",
'author': 'OpenERP SA',
'depends': ['event','portal'],
'data': [
+ 'event_view.xml',
'security/portal_security.xml',
'portal_event_view.xml',
'security/ir.model.access.csv',
diff --git a/addons/portal_event/event.py b/addons/portal_event/event.py
new file mode 100644
index 00000000000..6faf83eff36
--- /dev/null
+++ b/addons/portal_event/event.py
@@ -0,0 +1,39 @@
+# -*- 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 osv, fields
+
+class event_event(osv.osv):
+ _description = 'Portal event'
+ _inherit = 'event.event'
+
+ """
+ ``visibility``: defines if the event appears on the portal's event page
+ - 'public' means the event will appear for everyone (anonymous)
+ - 'private' means the event won't appear
+ """
+ _columns = {
+ 'visibility': fields.selection([('public', 'Public'),('private', 'Private')],
+ string='Visibility', help='Event\'s visibility in the portal\'s contact page'),
+ }
+ _defaults = {
+ 'visibility': 'private',
+ }
diff --git a/addons/portal_event/event_view.xml b/addons/portal_event/event_view.xml
new file mode 100644
index 00000000000..6966add58e8
--- /dev/null
+++ b/addons/portal_event/event_view.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+
+ <!-- add visibility field to the event form view -->
+ <record id="view_employee_form" model="ir.ui.view">
+ <field name="name">portal.event.form</field>
+ <field name="model">event.event</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="event.view_event_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//page[last()]" position="after">
+ <page string="Portal Settings">
+ <group>
+ <field name="visibility"/>
+ </group>
+ </page>
+ </xpath>
+ </field>
+ </record>
+
+ </data>
+</openerp>
diff --git a/addons/portal_event/portal_event_view.xml b/addons/portal_event/portal_event_view.xml
index 70bb408b32d..8b1f21bbef0 100644
--- a/addons/portal_event/portal_event_view.xml
+++ b/addons/portal_event/portal_event_view.xml
@@ -2,7 +2,7 @@
<openerp>
<data>
- <menuitem name="Events" id="portal_company_events" parent="portal.portal_company"
+ <menuitem name="Events" id="portal_company_events" parent="portal.portal_company"
action="event.action_event_view" sequence="40"/>
</data>
diff --git a/addons/portal_event/security/portal_security.xml b/addons/portal_event/security/portal_security.xml
index 82044fb8b11..6a3ed0ac786 100644
--- a/addons/portal_event/security/portal_security.xml
+++ b/addons/portal_event/security/portal_security.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data>
+ <data noupdate="1">
<record id="portal_event_rule" model="ir.rule">
- <field name="name">Personal Events</field>
+ <field name="name">Portal Visible Events</field>
<field ref="event.model_event_event" name="model_id"/>
- <field name="domain_force">[]</field>
+ <field name="domain_force">[('visibility', '=', 'public')]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_registration_rule" model="ir.rule">
- <field name="name">Personal Registrations</field>
+ <field name="name">Portal Personal Registrations</field>
<field ref="event.model_event_registration" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
diff --git a/addons/portal_hr_employees/__init__.py b/addons/portal_hr_employees/__init__.py
new file mode 100644
index 00000000000..f0abe52049a
--- /dev/null
+++ b/addons/portal_hr_employees/__init__.py
@@ -0,0 +1,22 @@
+# -*- 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 hr_employee
diff --git a/addons/portal_hr_employees/__openerp__.py b/addons/portal_hr_employees/__openerp__.py
new file mode 100644
index 00000000000..ec883e78acf
--- /dev/null
+++ b/addons/portal_hr_employees/__openerp__.py
@@ -0,0 +1,46 @@
+# -*- 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/>.
+#
+##############################################################################
+
+
+{
+ 'name': 'Portal HR employees',
+ 'version': '0.1',
+ 'category': 'Tools',
+ 'complexity': "easy",
+ 'description': """
+This module adds a list of employees to your portal's contact page if hr and
+portal_crm (which creates the contact page) are installed.
+ """,
+ 'author': 'OpenERP SA',
+ 'depends': ['hr','portal_crm'],
+ 'data': [
+ 'hr_employee_view.xml',
+ 'security/ir.model.access.csv',
+ ],
+ 'installable': True,
+ 'auto_install':True,
+ 'category':'Hidden',
+ 'css': [
+ 'static/src/css/portal_hr_employees.css',
+ ],
+
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/portal_hr_employees/hr_employee.py b/addons/portal_hr_employees/hr_employee.py
new file mode 100644
index 00000000000..b54e544a744
--- /dev/null
+++ b/addons/portal_hr_employees/hr_employee.py
@@ -0,0 +1,57 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2011 OpenERP S.A (<http://www.openerp.com>).
+#
+# 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 osv, fields
+
+class crm_contact_us(osv.TransientModel):
+ """ Add employees list to the portal's contact page """
+ _description = 'Contact form for the portal'
+ _inherit = 'portal_crm.crm_contact_us'
+ _columns = {
+ 'employee_ids' : fields.many2many('hr.employee', string='Employees', readonly=True),
+ }
+
+ """ Little trick to display employees in our wizard view """
+ def _get_employee(self, cr, uid, context=None):
+ """ Employees flagged as 'private' won't appear on the contact page """
+ r = self.pool.get('hr.employee').search(cr, uid, [('visibility', '!=', 'private')], context=context)
+ return r
+
+ _defaults = {
+ 'employee_ids' : _get_employee,
+ }
+
+class hr_employee(osv.osv):
+ _description = 'Portal employee'
+ _inherit = 'hr.employee'
+
+ """
+ ``visibility``: defines if the employee appears on the portal's contact page
+ - 'public' means the employee will appear for everyone (anonymous)
+ - 'private' means the employee won't appear
+ """
+ _columns = {
+ 'visibility': fields.selection([('public', 'Public'),('private', 'Private')],
+ string='Visibility', help='Employee\'s visibility in the portal\'s contact page'),
+ }
+ _defaults = {
+ 'visibility': 'private',
+ }
diff --git a/addons/portal_hr_employees/hr_employee_view.xml b/addons/portal_hr_employees/hr_employee_view.xml
new file mode 100644
index 00000000000..849157ad44a
--- /dev/null
+++ b/addons/portal_hr_employees/hr_employee_view.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+
+ <!-- add visibility field to the employee form view -->
+ <record id="view_employee_form" model="ir.ui.view">
+ <field name="name">portal_hr_employees.employee.form</field>
+ <field name="model">hr.employee</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="hr.view_employee_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//page[last()]" position="after">
+ <page string="Portal Settings">
+ <group>
+ <field name="visibility"/>
+ </group>
+ </page>
+ </xpath>
+ </field>
+ </record>
+
+ <!-- a kanban view of the employees to the portal's contact page -->
+ <record id="wizard_contact_form_view_employees_list" model="ir.ui.view">
+ <field name="name">portal_hr_employees.employees_list</field>
+ <field name="model">portal_crm.crm_contact_us</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="portal_crm.wizard_contact_form_view"/>
+ <field name="arch" type="xml">
+ <xpath expr="//div[@class='oe_portal_crm_team']" position="inside">
+ <h1>Meet the team</h1>
+ <field name="employee_ids" widget="many2many_kanban">
+ <kanban>
+ <field name="visibility"/>
+
+ <templates>
+ <t t-name="kanban-box">
+ <div class="oe_employee_vignette">
+ <div class="oe_employee_image">
+ <img t-att-src="kanban_image('hr.employee', 'photo', record.id.value)" class="oe_employee_picture"/>
+ </div>
+ <div class="oe_employee_details">
+ <h4>
+ <a type="edit"><field name="name"/><t t-if="record.login.raw_value"> (<field name="login"/>)</t></a>
+ </h4>
+ <ul>
+ <li t-if="record.job_id.raw_value"><field name="job_id"/></li>
+ <li t-if="record.work_phone.raw_value">Tel: <field name="work_phone"/></li>
+ <li t-if="record.mobile_phone.raw_value">Mobile: <field name="mobile_phone"/></li>
+ <li t-if="record.work_email.raw_value"><a t-attf-href="mailto:#{record.work_email.value}"><field name="work_email"/></a></li>
+ </ul>
+ </div>
+ </div>
+ </t>
+ </templates>
+ </kanban>
+ </field>
+ </xpath>
+ </field>
+ </record>
+
+ </data>
+</openerp>
diff --git a/addons/portal_hr_employees/security/ir.model.access.csv b/addons/portal_hr_employees/security/ir.model.access.csv
new file mode 100644
index 00000000000..6131f49d749
--- /dev/null
+++ b/addons/portal_hr_employees/security/ir.model.access.csv
@@ -0,0 +1,6 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_hr_employee_user,hr.employee user,hr.model_hr_employee,portal.group_portal_member,1,0,0,0
+access_res_partner,res.partner,base.model_res_partner,portal.group_portal_member,1,0,0,0
+access_res_partner_address,res.partner_address,base.model_res_partner_address,portal.group_portal_member,1,0,0,0
+access_res_partner_category,res.partner_category,base.model_res_partner_category,portal.group_portal_member,1,0,0,0
+access_res_partner_title,res.partner_title,base.model_res_partner_title,portal.group_portal_member,1,0,0,0
diff --git a/addons/portal_hr_employees/static/src/css/portal_hr_employees.css b/addons/portal_hr_employees/static/src/css/portal_hr_employees.css
new file mode 100644
index 00000000000..351fd442f20
--- /dev/null
+++ b/addons/portal_hr_employees/static/src/css/portal_hr_employees.css
@@ -0,0 +1,14 @@
+/* Employees list section */
+.openerp .oe_portal_crm_contact .oe_kanban_groups {
+ width: 100%;
+}
+.openerp .oe_portal_crm_contact .oe_portal_crm_team {
+ padding: 8px 0 0 0;
+}
+.openerp .oe_portal_crm_contact .oe_portal_crm_team .oe_employee_details {
+ width: 170px;
+}
+.openerp .oe_portal_crm_contact .oe_portal_crm_team .oe_employee_image {
+ width: 65px;
+ height: 65px;
+}
diff --git a/addons/portal_hr_recruitment/__openerp__.py b/addons/portal_hr_recruitment/__openerp__.py
index 015e76d3d06..0b7fb78b7f0 100644
--- a/addons/portal_hr_recruitment/__openerp__.py
+++ b/addons/portal_hr_recruitment/__openerp__.py
@@ -21,13 +21,12 @@
{
- 'name': 'Portal Jobs',
+ 'name': 'Portal HR recruitment',
'version': '0.1',
'category': 'Tools',
'complexity': "easy",
'description': """
-This module adds applications menu and features to your portal if hr and portal
-are installed.
+This module adds a jobs page to your portal if hr and portal are installed.
""",
'author': 'OpenERP SA',
'depends': ['hr','portal'],
diff --git a/addons/portal_hr_recruitment/portal_jobs_view.xml b/addons/portal_hr_recruitment/portal_jobs_view.xml
index 30976fc1954..e3e9cffb063 100644
--- a/addons/portal_hr_recruitment/portal_jobs_view.xml
+++ b/addons/portal_hr_recruitment/portal_jobs_view.xml
@@ -2,8 +2,8 @@
<openerp>
<data>
- <menuitem name="Jobs" id="portal_company_jobs"
- parent="portal.portal_company" action="hr.action_hr_job"
+ <menuitem name="Jobs" id="portal_company_jobs"
+ parent="portal.portal_company" action="hr.action_hr_job"
sequence="20"/>
</data>
diff --git a/addons/portal_project/__openerp__.py b/addons/portal_project/__openerp__.py
index f90c0cf9df2..4f8774bf99e 100644
--- a/addons/portal_project/__openerp__.py
+++ b/addons/portal_project/__openerp__.py
@@ -21,12 +21,12 @@
{
- 'name': 'Portal Issue',
+ 'name': 'Portal Project',
'version': '0.1',
'category': 'Tools',
'complexity': "easy",
'description': """
-This module adds project menu and features (tasks) to your portal if project
+This module adds project menu and features (tasks) to your portal if project
and portal are installed.
""",
'author': 'OpenERP SA',
diff --git a/addons/portal_project/security/ir.model.access.csv b/addons/portal_project/security/ir.model.access.csv
index 212230634c3..dceca5ba8bb 100644
--- a/addons/portal_project/security/ir.model.access.csv
+++ b/addons/portal_project/security/ir.model.access.csv
@@ -2,3 +2,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_task,tasks,project.model_project_task,portal.group_portal_member,1,0,0,0
access_task_type,task_type,project.model_project_task_type,portal.group_portal_member,1,0,0,0
access_task_work,task_work,project.model_project_task_work,portal.group_portal_member,1,0,0,0
+access_project_category,project_category,project.model_project_category,portal.group_portal_member,1,0,0,0
diff --git a/addons/portal_project/security/portal_security.xml b/addons/portal_project/security/portal_security.xml
index f9983861c68..b995c79bbbc 100644
--- a/addons/portal_project/security/portal_security.xml
+++ b/addons/portal_project/security/portal_security.xml
@@ -3,7 +3,7 @@
<data noupdate="1">
<record id="portal_task_rule" model="ir.rule">
- <field name="name">Personal Task</field>
+ <field name="name">Portal Personal Task</field>
<field ref="project.model_project_task" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
diff --git a/addons/portal_project_issue/__openerp__.py b/addons/portal_project_issue/__openerp__.py
index d1be2ec604d..17ba4b0d5aa 100644
--- a/addons/portal_project_issue/__openerp__.py
+++ b/addons/portal_project_issue/__openerp__.py
@@ -26,7 +26,7 @@
'category': 'Tools',
'complexity': "easy",
'description': """
-This module adds issue menu and features to your portal if project_issue and
+This module adds issue menu and features to your portal if project_issue and
portal are installed.
""",
'author': 'OpenERP SA',
@@ -39,5 +39,8 @@ portal are installed.
'installable': True,
'auto_install':True,
'category':'Hidden',
+ 'css': [
+ 'static/src/css/portal_project_issue.css',
+ ],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/portal_project_issue/portal_project_issue_view.xml b/addons/portal_project_issue/portal_project_issue_view.xml
index fdbf1037c20..279dc49c3c8 100644
--- a/addons/portal_project_issue/portal_project_issue_view.xml
+++ b/addons/portal_project_issue/portal_project_issue_view.xml
@@ -2,16 +2,82 @@
<openerp>
<data>
+ <record id="portal_project_issue_kanban_view" model="ir.ui.view">
+ <field name="name">Project Issue Kanban</field>
+ <field name="model">project.issue</field>
+ <field name="type">kanban</field>
+ <field name="arch" type="xml">
+ <kanban version="7.0" class="oe_portal_project_issue">
+ <field name="priority"/>
+ <field name="user_email"/>
+ <field name="user_id"/>
+ <field name="date_deadline"/>
+ <field name="create_date"/>
+ <field name="categ_ids"/>
+ <templates>
+ <t t-name="kanban-box">
+ <div class="oe_kanban_card oe_kanban_global_click">
+ <div class="oe_kanban_content">
+ <div>
+ <h1><a type="edit"><field name="name"/></a></h1>
+ <field name="partner_id"/> <br/>
+ <field name="version_id"/>
+ </div>
+ <div class="oe_kanban_footer_left">
+ <div class="oe_left oe_tags">
+ <t t-foreach="record.categ_ids.raw_value" t-as="categ_id">
+ <span class="oe_tag" t-att-data-categ_id="categ_id"></span>
+ </t>
+ </div>
+ <div class="oe_right">
+ Creation: <field name="create_date"/>
+ <span class="oe_kanban_highlight">
+ <t t-set="priority" t-value="record.priority.raw_value || 5"/>
+ <a type="object" name="set_priority" args="['3']" t-if="priority gt 3" title="Normal Priority">
+ <img src="/web/static/src/img/icons/star-off.png" width="16" height="16"/>
+ </a>
+ <a type="object" name="set_priority" args="['5']" t-if="priority lte 3" title="Normal Priority">
+ <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 3 ? 'on' : 'off'}.png" width="16" height="16"/>
+ </a>
+ <a type="object" name="set_priority" args="['2']" title="High Priority">
+ <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 2 ? 'on' : 'off'}.png" width="16" height="16"/>
+ </a>
+ <a type="object" name="set_priority" args="['1']" title="Highest Priority">
+ <img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16"/>
+ </a>
+ </span>
+ <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())">
+ <span t-attf-class="oe_kanban_status oe_kaban_status_red"> </span>
+ </t>
+ <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
+ </div>
+ </div>
+ </div>
+ <div class="oe_clear"></div>
+ </div>
+ </t>
+ </templates>
+ </kanban>
+ </field>
+ </record>
+
<record id="project_issue_categ_act0" model="ir.actions.act_window">
<field name="name">Issues</field>
<field name="res_model">project.issue</field>
<field name="view_type">form</field>
- <field name="view_mode">kanban,tree,calendar</field>
- <field name="view_id" eval="False"/>
+ <field name="view_mode">kanban,form</field>
+ <field name="view_id" ref="portal_project_issue_kanban_view"/>
<field name="domain" eval=""/>
<field name="context">{"search_default_user_id":'', "search_default_draft":'', "search_default_todo":''}</field>
<field name="search_view_id" ref="project_issue.view_project_issue_filter"/>
- <field name="help">Issues such as system bugs, customer complaints, and material breakdowns are collected here. You can define the stages assigned when solving the project issue (analysis, development, done). With the mailgateway module, issues can be integrated through an email address (example: support@mycompany.com)</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create an issue.
+ </p><p>
+ OpenERP's kanban view will help you track easily your current
+ pipeline of issues to fix.
+ </p>
+ </field>
</record>
<menuitem name="Issues" id="portal_after_sales_issues" parent="portal.portal_projects"
diff --git a/addons/portal_project_issue/security/ir.model.access.csv b/addons/portal_project_issue/security/ir.model.access.csv
index 8ddfff0f398..5257f9b6d02 100644
--- a/addons/portal_project_issue/security/ir.model.access.csv
+++ b/addons/portal_project_issue/security/ir.model.access.csv
@@ -1,2 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_issues,project_issue,project_issue.model_project_issue,portal.group_portal_member,1,0,1,0
+access_issues,project_issue,project_issue.model_project_issue,portal.group_portal_member,1,0,0,0
+access_case_section,crm_case_section,crm.model_crm_case_section,portal.group_portal_member,1,0,0,0
diff --git a/addons/portal_project_issue/security/portal_security.xml b/addons/portal_project_issue/security/portal_security.xml
index 1bae1ef8e8c..4ef8da5e4b6 100644
--- a/addons/portal_project_issue/security/portal_security.xml
+++ b/addons/portal_project_issue/security/portal_security.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
-
+
<record id="portal_issue_rule" model="ir.rule">
- <field name="name">Personal Issues</field>
+ <field name="name">Portal Personal Issues</field>
<field ref="project_issue.model_project_issue" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
diff --git a/addons/portal_project_issue/static/src/css/portal_project_issue.css b/addons/portal_project_issue/static/src/css/portal_project_issue.css
new file mode 100644
index 00000000000..39c12c6076d
--- /dev/null
+++ b/addons/portal_project_issue/static/src/css/portal_project_issue.css
@@ -0,0 +1,32 @@
+.oe_portal_project_issue {
+ width: 960px;
+ margin: 0 auto;
+}
+
+.oe_portal_project_issue .oe_kanban_groups {
+ width: 100%;
+}
+
+.oe_portal_project_issue .oe_fold_column.oe_kanban_record {
+ float: none;
+ display: block;
+ width: 100%;
+ border-width: 1px;
+ border-radius: 4px;
+ border-style: solid;
+ border-bottom-color: #B9B9B9;
+ border-left-color: #D8D8D8;
+ border-right-color: #D8D8D8;
+ border-top-color: #D8D8D8;
+ margin-bottom: 5px;
+}
+
+.oe_portal_project_issue .oe_fold_column.oe_kanban_record .oe_kanban_content {
+ padding: 5px;
+}
+
+.oe_portal_project_issue .oe_fold_column.oe_kanban_record h1 {
+ margin: 0;
+ font-size: 1.2em;
+ font-weight: bold;
+}
diff --git a/addons/portal_sale/portal_sale_view.xml b/addons/portal_sale/portal_sale_view.xml
index a644be7be61..2db0a7a4d96 100644
--- a/addons/portal_sale/portal_sale_view.xml
+++ b/addons/portal_sale/portal_sale_view.xml
@@ -4,14 +4,14 @@
<record id="action_picking_tree" model="ir.actions.act_window">
<field name="name">Delivery Orders</field>
- <field name="res_model">stock.picking</field>
+ <field name="res_model">stock.picking.out</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
- <field name="view_mode">tree</field>
+ <field name="view_mode">tree,form</field>
<field name="domain">[('type','=','out')]</field>
<field name="context">{'default_type': 'out', 'contact_display': 'partner_address'}</field>
<field name="search_view_id" ref="stock.view_picking_out_search"/>
- <field name="help">This is the list of all delivery orders that have to be prepared, according to your different sales orders and your logistics rules.</field>
+ <field name="help">This is the list of all delivery orders that have to be prepared, according to your different orders.</field>
</record>
<record id="product_normal_action" model="ir.actions.act_window">
@@ -22,21 +22,20 @@
<field name="view_mode">kanban,tree,form</field>
<field name="view_id" ref="product.product_kanban_view"/>
<field name="search_view_id" ref="product.product_search_form_view"/>
- <field name="help">You must define a Product for everything you buy or sell. Products can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field>
</record>
- <menuitem name="Quotations" id="portal_quotations" parent="portal.portal_orders"
+ <menuitem name="Quotations" id="portal_quotations" parent="portal.portal_orders"
action="sale.action_order_tree5" sequence="10"/>
- <menuitem name="Sales Orders" id="portal_sales_orders" parent="portal.portal_orders"
+ <menuitem name="Sales Orders" id="portal_sales_orders" parent="portal.portal_orders"
action="sale.action_order_form" sequence="20"/>
- <menuitem name="Delivery Orders" id="portal_delivery" parent="portal.portal_orders"
+ <menuitem name="Delivery Orders" id="portal_delivery" parent="portal.portal_orders"
action="action_picking_tree" sequence="30"/>
- <menuitem name="Products" id="portal_products" parent="portal.portal_orders"
+ <menuitem name="Products" id="portal_products" parent="portal.portal_orders"
action="product_normal_action" sequence="40"/>
- <menuitem name="Invoice" id="portal_invoices" parent="portal.portal_invoices_payements"
+ <menuitem name="Invoice" id="portal_invoices" parent="portal.portal_invoices_payements"
action="account.action_invoice_tree1" sequence="10"/>
- <menuitem name="Refund/Payments" id="portal_payments" parent="portal.portal_invoices_payements"
+ <menuitem name="Refund/Payments" id="portal_payments" parent="portal.portal_invoices_payements"
action="account_voucher.action_vendor_receipt" sequence="20"/>
</data>
diff --git a/addons/portal_sale/security/ir.model.access.csv b/addons/portal_sale/security/ir.model.access.csv
index 5a016f00a05..32266499af7 100644
--- a/addons/portal_sale/security/ir.model.access.csv
+++ b/addons/portal_sale/security/ir.model.access.csv
@@ -2,6 +2,7 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_sale_order,sale.order,sale.model_sale_order,portal.group_portal_member,1,0,0,0
access_sale_order_line,sale.order.line,sale.model_sale_order_line,portal.group_portal_member,1,0,0,0
access_stock_picking,stock.picking,stock.model_stock_picking,portal.group_portal_member,1,0,0,0
+access_stock_picking.out,stock.picking.out,stock.model_stock_picking_out,portal.group_portal_member,1,0,0,0
access_stock_move,stock.move,stock.model_stock_move,portal.group_portal_member,1,0,0,0
access_stock_warehouse_orderpoint,stock.warehouse.orderpoint,procurement.model_stock_warehouse_orderpoint,portal.group_portal_member,1,0,0,0
access_account_invoice,account.invoice,account.model_account_invoice,portal.group_portal_member,1,0,0,0
diff --git a/addons/portal_sale/security/portal_security.xml b/addons/portal_sale/security/portal_security.xml
index 43e6867dfd9..f69fd283db6 100644
--- a/addons/portal_sale/security/portal_security.xml
+++ b/addons/portal_sale/security/portal_security.xml
@@ -1,39 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
- <data noupdate="1">
+ <data noupdate="1">
<!-- Sale Portal Access Rules -->
-
<record id="portal_sale_order_user_rule" model="ir.rule">
- <field name="name">Personal Quotations/Sales Orders</field>
+ <field name="name">Portal Personal Quotations/Sales Orders</field>
<field ref="sale.model_sale_order" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_stock_picking_user_rule" model="ir.rule">
- <field name="name">Personal Delivery Orders</field>
+ <field name="name">Portal Personal Delivery Orders</field>
<field ref="stock.model_stock_picking" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',[user.partner_id.id])]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
+ <record id="portal_stock_picking_user_rule" model="ir.rule">
+ <field name="name">Portal Personal Delivery Orders Out</field>
+ <field ref="stock.model_stock_picking_out" name="model_id"/>
+ <field name="domain_force">[('partner_id','child_of',[user.partner_id.id])]</field>
+ <field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
+ </record>
+
<record id="portal_account_invoice_user_rule" model="ir.rule">
- <field name="name">Personal Account Invoices</field>
+ <field name="name">Portal Personal Account Invoices</field>
<field ref="account.model_account_invoice" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_personal_payment" model="ir.rule">
- <field name="name">Personal Payments</field>
+ <field name="name">Portal Personal Payments</field>
<field ref="account_voucher.model_account_voucher" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_personal_contact" model="ir.rule">
- <field name="name">Personal Contacts</field>
+ <field name="name">Portal Personal Contacts</field>
<field ref="base.model_res_partner" name="model_id"/>
<field name="domain_force">[('id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
diff --git a/addons/process/process_view.xml b/addons/process/process_view.xml
index c5c152f9930..66dcb87289a 100644
--- a/addons/process/process_view.xml
+++ b/addons/process/process_view.xml
@@ -113,12 +113,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Process">
- <group>
- <field name="name" string="Process"/>
- <separator orientation="vertical"/>
- <field name="model_id"/>
- </group>
- <newline/>
+ <field name="name" string="Process"/>
+ <field name="model_id"/>
<group expand="0" string="Group By...">
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model_id'}"/>
</group>
@@ -217,13 +213,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search ProcessNode">
- <group>
- <field name="name" string="Process Node"/>
- <separator orientation="vertical"/>
- <field name="model_id"/>
- <field name="kind" />
- </group>
- <newline/>
+ <field name="name" string="Process Node"/>
+ <field name="kind" />
+ <field name="model_id"/>
<group expand="0" string="Group By...">
<filter string="Object" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'model_id'}"/>
<filter string="Kind Of Node" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'kind'}"/>
@@ -310,12 +302,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Process Transition">
- <group>
- <field name="name" string="Process Transition"/>
- <separator orientation="vertical"/>
- <field name="source_node_id"/>
- <field name="target_node_id"/>
- </group>
+ <field name="name" string="Process Transition"/>
+ <field name="source_node_id"/>
+ <field name="target_node_id"/>
<!--
<newline/>
<group expand="0" string="Group By..." colspan="4" col="4">
diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml
index fe2b1d0ca69..690ceef076f 100644
--- a/addons/procurement/procurement_view.xml
+++ b/addons/procurement/procurement_view.xml
@@ -117,22 +117,16 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Procurement">
- <group>
- <field name="origin" string="Procurement"/>
- <separator orientation="vertical"/>
- <field name="date_planned"/>
- <separator orientation="vertical"/>
- <filter icon="terp-emblem-important" string="Exceptions" name="exceptions" domain="[('state','=','exception')]" help="Procurement Exceptions"/>
- <filter icon="terp-emblem-important" string="To Fix" name="perm_exceptions" domain="[('state','=','exception'),('message', '!=', '')]" help="Permanent Procurement Exceptions"/>
- <filter icon="terp-emblem-important" string="Temporary" name="temp_exceptions" domain="[('state','=','exception'),('message', '=', '')]" help="Temporary Procurement Exceptions"/>
- <filter icon="terp-gnome-cpu-frequency-applet+" string="Late"
- domain="['&amp;', ('date_planned','&lt;', current_date), ('state', 'in', ('draft', 'confirmed'))]"
- help="Procurement started late" />
- <separator orientation="vertical"/>
- <field name="product_id" />
- <field name="state" />
- </group>
- <newline/>
+ <field name="origin" string="Procurement"/>
+ <field name="date_planned"/>
+ <filter icon="terp-emblem-important" string="Exceptions" name="exceptions" domain="[('state','=','exception')]" help="Procurement Exceptions"/>
+ <separator/>
+ <filter icon="terp-emblem-important" string="To Fix" name="perm_exceptions" domain="[('state','=','exception'),('message', '!=', '')]" help="Permanent Procurement Exceptions"/>
+ <filter icon="terp-emblem-important" string="Temporary" name="temp_exceptions" domain="[('state','=','exception'),('message', '=', '')]" help="Temporary Procurement Exceptions"/>
+ <separator/>
+ <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" domain="['&amp;', ('date_planned','&lt;', current_date), ('state', 'in', ('draft', 'confirmed'))]" help="Procurement started late" />
+ <field name="product_id" />
+ <field name="state" />
<group expand="0" string="Group By">
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Reason" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'name'}"/>
@@ -151,7 +145,20 @@
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_procurement_filter"/>
<field name="context">{'search_default_current':1}</field>
- <field name="help">A procurement order is used to record a need for a specific product at a specific location. A procurement order is usually created automatically from sales orders, a Pull Logistics rule or Minimum Stock Rules. When the procurement order is confirmed, it automatically creates the necessary operations to fullfil the need: purchase order proposition, manufacturing order, etc.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a procurement order.
+ </p><p>
+ A procurement order is used to record a need for a specific
+ product at a specific location. Procurement orders are usually
+ created automatically from sales orders, pull logistic rules or
+ minimum stock rules.
+ </p><p>
+ When the procurement order is confirmed, it automatically
+ creates the necessary operations to fullfil the need: purchase
+ order proposition, manufacturing order, etc.
+ </p>
+ </field>
</record>
<record id="procurement_exceptions" model="ir.actions.act_window">
@@ -198,15 +205,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Reordering Rules Search">
- <group>
- <field name="name" string="Reordering Rules"/>
- <separator orientation="vertical"/>
- <field name="warehouse_id" widget="selection"/>
- <field name="location_id" groups="stock.group_locations"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- <field name="product_id"/>
- </group>
- <newline/>
+ <field name="name" string="Reordering Rules"/>
+ <field name="warehouse_id"/>
+ <field name="location_id" groups="stock.group_locations"/>
+ <field name="company_id" groups="base.group_multi_company"/>
+ <field name="product_id"/>
<group expand="0" string="Group By...">
<filter string="Warehouse" icon="terp-go-home" domain="[]" context="{'group_by':'warehouse_id'}"/>
<filter string="Location" icon="terp-go-home" domain="[]" context="{'group_by':'location_id'}"/>
diff --git a/addons/product/pricelist_view.xml b/addons/product/pricelist_view.xml
index 0492881d9bd..57e200fb878 100644
--- a/addons/product/pricelist_view.xml
+++ b/addons/product/pricelist_view.xml
@@ -45,7 +45,16 @@
<field name="res_model">product.pricelist.version</field>
<field name="view_type">form</field>
<field name="view_id" ref="product_pricelist_version_tree_view"/>
- <field name="help">There can be more than one version of a pricelist. Here you can create and manage new versions of a price list. Some examples of versions: 2010, 2011, Summer Promotion, etc.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a pricelist version.
+ </p><p>
+ There can be more than one version of a pricelist, each of
+ these must be valid during a certain period of time. Some
+ examples of versions: Main Prices, 2010, 2011, Summer Sales,
+ etc.
+ </p>
+ </field>
</record>
<menuitem
action="product_pricelist_action" id="menu_product_pricelist_action"
@@ -113,10 +122,9 @@
<field name="arch" type="xml">
<search string="Products Price Search">
<field name="name" string="Products Price"/>
- <separator orientation="vertical"/>
- <field name="currency_id"/>
<field name="type"/>
<field name="active" />
+ <field name="currency_id"/>
</search>
</field>
</record>
@@ -179,7 +187,19 @@
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="product_pricelist_view_search" />
<field name="context">{"default_type":"sale", "search_default_type":"sale"}</field>
- <field name="help">A price list contains rules to be evaluated in order to compute the purchase or sales price for all the partners assigned to a price list. Price lists have several versions (2010, 2011, Promotion of February 2010, etc.) and each version has several rules. Example: the customer price of a product category will be based on the supplier price multiplied by 1.80.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a pricelist.
+ </p><p>
+ A price list contains rules to be evaluated in order to compute
+ the sales price of the products.
+ </p><p>
+ Price lists may have several versions (2010, 2011, Promotion of
+ February 2010, etc.) and each version may have several rules.
+ (e.g. the customer price of a product category will be based on
+ the supplier price multiplied by 1.80).
+ </p>
+ </field>
</record>
<record id="product_pricelist_action_for_purchase" model="ir.actions.act_window">
<field name="name">Pricelists</field>
@@ -189,7 +209,20 @@
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="product_pricelist_view_search" />
<field name="context">{"default_type":"purchase", "search_default_type":"purchase"}</field>
- <field name="help">A price list contains rules to be evaluated in order to compute the purchase or sales price for all the partners assigned to a price list. Price lists have several versions (2010, 2011, Promotion of February 2010, etc.) and each version has several rules. Example: the customer price of a product category will be based on the supplier price multiplied by 1.80.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a pricelist.
+ </p><p>
+ A price list contains rules to be evaluated in order to compute
+ the purchase price. The default price list has only one rule; use
+ the cost price defined on the product form, so that you do not have to
+ worry about supplier pricelists if you have very simple needs.
+ </p><p>
+ But you can also import complex price lists form your supplier
+ that may depends on the quantities ordered or the current
+ promotions.
+ </p>
+ </field>
</record>
<menuitem
action="product_pricelist_action2" id="menu_product_pricelist_action2"
diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml
index 53e57f14309..b55e31550c1 100644
--- a/addons/product/product_view.xml
+++ b/addons/product/product_view.xml
@@ -10,29 +10,25 @@
<field name="arch" type="xml">
<search string="Product">
<field name="name" string="Product" filter_domain="['|',('name','ilike',self),('default_code','ilike',self)]"/>
- <separator orientation="vertical"/>
<filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
<filter string="Products" icon="terp-accessories-archiver" domain="['|',('type','=','product'),('type','=','consu')]" help="Both stockable and consumable products"/>
+ <separator/>
+ <filter string="To Sell" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
+ <separator/>
+ <filter name="filter_to_purchase" string="To Purchase" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]"/>
<filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
<filter name="filter_to_purchase" string="Can be Purchased" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]"/>
- <separator orientation="vertical"/>
- <field name="categ_id" widget="selection" operator="child_of"/>
+ <field name="categ_id" operator="child_of"/>
<group expand="0" string="Context...">
- <field name="pricelist_id" widget="selection" context="{'pricelist': self}" groups="product.group_sale_pricelist"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
+ <field name="pricelist_id" context="{'pricelist': self}" groups="product.group_sale_pricelist"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</group>
- <newline/>
<group expand='0' string='Group by...'>
<filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/>
- <separator orientation="vertical"/>
<filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}"/>
- <separator orientation="vertical"/>
<filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string='Company' icon="terp-go-home" domain="[]" context="{'group_by' : 'company_id'}" groups="base.group_multi_company"/>
</group>
-
</search>
</field>
</record>
@@ -49,7 +45,6 @@
<field name="categ_id" invisible="1"/>
<field name="variants" groups="product.group_product_variant"/>
<field name="uom_id" string="Unit of Measure" groups="product.group_uom"/>
- <field name="type"/>
<field name="qty_available"/>
<field name="virtual_available"/>
<field name="lst_price"/>
@@ -73,7 +68,7 @@
<div class="oe_title">
<div class="oe_edit_only">
- <label for="name" string="Product Name"/>
+ <label for="name" string="Product Name"/>
</div>
<h1>
<field name="name"/>
@@ -95,12 +90,12 @@
</group>
<group string="Procurement">
<field name="type"/>
- <field name="procure_method"/>
+ <field name="procure_method" groups="base.group_user"/>
<field name="supply_method" groups="base.group_user"/>
</group>
<group string="Prices">
<field name="list_price"/>
- <field name="cost_method"/>
+ <field name="cost_method" groups="base.group_user"/>
<field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}"/>
<field name="price_margin" groups="product.group_product_variant"/>
<field name="price_extra" groups="product.group_product_variant"/>
@@ -244,7 +239,14 @@
<field name="view_mode">tree,form,kanban</field>
<field name="view_id" ref="product_product_tree_view"/>
<field name="search_view_id" ref="product_search_form_view"/>
- <field name="help">You must define a Product for everything you buy or sell. Products can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new product.
+ </p><p>
+ You must define a product for everything you buy or sell,
+ wether it's a physical product, a consumable or service.
+ </p>
+ </field>
</record>
<record id="product_normal_action_sell" model="ir.actions.act_window">
<field name="name">Products</field>
@@ -255,7 +257,19 @@
<field name="context">{"search_default_filter_to_sell":1}</field>
<field name="view_id" ref="product_product_tree_view"/>
<field name="search_view_id" ref="product_search_form_view"/>
- <field name="help">You must define a Product for everything you buy or sell. Products can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new product.
+ </p><p>
+ You must define a product for everything you sell, wether it's
+ a physical product, a consumable or a service you offer to
+ customers.
+ </p><p>
+ The product form contains information to simplify the sale
+ process: price, notes in the quotation, accounting data,
+ procurement methods, etc.
+ </p>
+ </field>
</record>
<record id="open_view_product_tree1" model="ir.actions.act_window.view">
@@ -291,7 +305,19 @@
<field name="context">{"search_default_filter_to_purchase":1}</field>
<field name="view_id" ref="product_product_tree_view"/>
<field name="search_view_id" ref="product_search_form_view"/>
- <field name="help">Products can be purchased and/or sold. They can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new product.
+ </p><p>
+ You must define a product for everything you purchase, wheter
+ it's a physical product, a consumable or services you buy to
+ subcontractants.
+ </p><p>
+ The product form contains detailed information to improve the
+ purchase process: prices, procurement logistics, accounting data,
+ available suppliers, etc.
+ </p>
+ </field>
</record>
<record id="product_category_search_view" model="ir.ui.view">
@@ -301,7 +327,6 @@
<field name="arch" type="xml">
<search string="Product Categories">
<field name="name" string="Product Categories"/>
- <separator orientation="vertical"/>
<field name="parent_id"/>
</search>
</field>
@@ -364,7 +389,13 @@
<field name="domain">[('parent_id','=',False)]</field>
<field name="view_type">tree</field>
<field name="view_id" ref="product_category_tree_view"/>
- <field name="help">Here is a list of all your products classified by category. You can click a category to get the list of all products linked to this category or to a child of this category.</field>
+ <field name="help" type="html">
+ <p>
+ Here is a list of all your products classified by category. You
+ can click a category to get the list of all products linked to
+ this category or to a child of this category.
+ </p>
+ </field>
</record>
<menuitem
action="product_category_action"
@@ -446,7 +477,14 @@
<field name="res_model">product.uom</field>
<field name="view_type">form</field>
<field name="view_id" ref="product_uom_tree_view"/>
- <field name="help">Create and manage the units of measure you want to be used in your system. You can define a conversion rate between several Units of Measure within the same category.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new unit of measure.
+ </p><p>
+ You must define a conversion rate between several Units of
+ Measure within the same category.
+ </p>
+ </field>
</record>
<menuitem id="next_id_16" name="Units of Measure" parent="prod_config_main" sequence="30" groups="product.group_uom"/>
<menuitem action="product_uom_form_action" id="menu_product_uom_form_action" parent="base.menu_base_config" sequence="30" groups="product.group_uom"/>
@@ -469,7 +507,16 @@
<field name="res_model">product.uom.categ</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">Create and manage the units of measure categories you want to be used in your system. If several units of measure are in the same category, they can be converted to each other. For example, in the unit of measure category "Time", you will have the following UoM: Hours, Days.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new unit of measure category.
+ </p><p>
+ Units of measure belonging to the same category can be
+ converted between each others. For example, in the category
+ <i>'Time'</i>, you will have the following units of measure:
+ Hours, Days.
+ </p>
+ </field>
</record>
<menuitem action="product_uom_categ_form_action" id="menu_product_uom_categ_form_action" parent="base.menu_base_config" sequence="25" groups="base.group_no_one"/>
@@ -503,7 +550,15 @@
<field name="res_model">product.ul</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="help">Create and manage your packaging dimensions and types you want to be maintained in your system.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new packaging type.
+ </p><p>
+ The packaging type define the dimensions as well as the number
+ of products per package. This will ensure salesperson sell the
+ right number of products according to the package selected.
+ </p>
+ </field>
</record>
<menuitem
action="product_ul_form_action" groups="product.group_stock_packaging" id="menu_product_ul_form_action" parent="prod_config_main" sequence="3"/>
diff --git a/addons/product_visible_discount/product_visible_discount_view.xml b/addons/product_visible_discount/product_visible_discount_view.xml
index 6607fe3e9b4..2bb9e7b9b12 100644
--- a/addons/product_visible_discount/product_visible_discount_view.xml
+++ b/addons/product_visible_discount/product_visible_discount_view.xml
@@ -2,9 +2,7 @@
<openerp>
<data>
- #---------------------------------------------------------
- # product price list
- #---------------------------------------------------------
+ <!-- Product price list -->
<record model="ir.ui.view" id="product_pricelist_view_tree">
<field name="name">product.pricelist.tree</field>
<field name="model">product.pricelist</field>
@@ -26,5 +24,6 @@
</field>
</field>
</record>
+
</data>
-</openerp> \ No newline at end of file
+</openerp>
diff --git a/addons/project/project.py b/addons/project/project.py
index 09b260597f6..dda2b86c8bb 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -220,7 +220,7 @@ class project(osv.osv):
'followers': fields.function(_get_followers, method=True, fnct_search=_search_followers,
type='many2many', relation='res.users', string='Followers'),
}
-
+
def dummy(self, cr, uid, ids, context):
return True
@@ -566,7 +566,7 @@ class task(base_stage, osv.osv):
# restore order of the search
result.sort(lambda x,y: cmp(stage_ids.index(x[0]), stage_ids.index(y[0])))
return result
-
+
def _read_group_user_id(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):
res_users = self.pool.get('res.users')
project_id = self._resolve_project_id_from_context(cr, uid, context=context)
@@ -700,6 +700,7 @@ class task(base_stage, osv.osv):
When the case is over, the state is set to \'Done\'.\
If the case needs to be reviewed then the state is \
set to \'Pending\'.'),
+ 'categ_ids': fields.many2many('project.category', string='Categories'),
'kanban_state': fields.selection([('normal', 'Normal'),('blocked', 'Blocked'),('done', 'Ready To Pull')], 'Kanban State',
help="A task's kanban state indicates special situations affecting it:\n"
" * Normal is the default situation\n"
@@ -903,7 +904,7 @@ class task(base_stage, osv.osv):
return True
def action_close(self, cr, uid, ids, context=None):
- """ This action closes the task
+ """ This action closes the task
"""
task_id = len(ids) and ids[0] or False
self._check_child_task(cr, uid, ids, context=context)
@@ -913,7 +914,7 @@ class task(base_stage, osv.osv):
def do_close(self, cr, uid, ids, context=None):
""" Compatibility when changing to case_close. """
return self.case_close(cr, uid, ids, context=context)
-
+
def case_close(self, cr, uid, ids, context=None):
""" Closes Task """
if not isinstance(ids, list): ids = [ids]
@@ -946,7 +947,7 @@ class task(base_stage, osv.osv):
def do_cancel(self, cr, uid, ids, context=None):
""" Compatibility when changing to case_cancel. """
return self.case_cancel(cr, uid, ids, context=context)
-
+
def case_cancel(self, cr, uid, ids, context=None):
tasks = self.browse(cr, uid, ids, context=context)
self._check_child_task(cr, uid, ids, context=context)
@@ -958,7 +959,7 @@ class task(base_stage, osv.osv):
def do_open(self, cr, uid, ids, context=None):
""" Compatibility when changing to case_open. """
return self.case_open(cr, uid, ids, context=context)
-
+
def case_open(self, cr, uid, ids, context=None):
if not isinstance(ids,list): ids = [ids]
self.case_set(cr, uid, ids, 'open', {'date_start': fields.datetime.now()}, context=context)
@@ -968,7 +969,7 @@ class task(base_stage, osv.osv):
def do_draft(self, cr, uid, ids, context=None):
""" Compatibility when changing to case_draft. """
return self.case_draft(cr, uid, ids, context=context)
-
+
def case_draft(self, cr, uid, ids, context=None):
self.case_set(cr, uid, ids, 'draft', {}, context=context)
self.case_draft_send_note(cr, uid, ids, context=context)
@@ -977,11 +978,11 @@ class task(base_stage, osv.osv):
def do_pending(self, cr, uid, ids, context=None):
""" Compatibility when changing to case_pending. """
return self.case_pending(cr, uid, ids, context=context)
-
+
def case_pending(self, cr, uid, ids, context=None):
self.case_set(cr, uid, ids, 'pending', {}, context=context)
return self.case_pending_send_note(cr, uid, ids, context=context)
-
+
def _delegate_task_attachments(self, cr, uid, task_id, delegated_task_id, context=None):
attachment = self.pool.get('ir.attachment')
attachment_ids = attachment.search(cr, uid, [('res_model', '=', self._name), ('res_id', '=', task_id)], context=context)
@@ -1083,7 +1084,7 @@ class task(base_stage, osv.osv):
new_stage = vals.get('stage_id')
vals_reset_kstate = dict(vals, kanban_state='normal')
for t in self.browse(cr, uid, ids, context=context):
- #TO FIX:Kanban view doesn't raise warning
+ #TO FIX:Kanban view doesn't raise warning
#stages = [stage.id for stage in t.project_id.type_ids]
#if new_stage not in stages:
#raise osv.except_osv(_('Warning !'), _('Stage is not defined in the project.'))
@@ -1130,7 +1131,7 @@ class task(base_stage, osv.osv):
result += "\n"
return result
-
+
# ---------------------------------------------------
# OpenChatter methods and notifications
# ---------------------------------------------------
@@ -1367,3 +1368,11 @@ class project_task_history_cumulative(osv.osv):
)
""")
+
+class project_category(osv.osv):
+ """ Category of project's task (or issue) """
+ _name = "project.category"
+ _description = "Category of project's task, issue, ..."
+ _columns = {
+ 'name': fields.char('Name', size=64, required=True, translate=True),
+ }
diff --git a/addons/project/project_data.xml b/addons/project/project_data.xml
index a905e074f7b..23ec1b8562c 100644
--- a/addons/project/project_data.xml
+++ b/addons/project/project_data.xml
@@ -69,15 +69,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Project Management has been installed</value>
- <value>Manage multi-level projects and tasks. You can delegate tasks,
- track the work done on tasks, and review your planning based on
- the entered data.
+ <value>Manage multi-level projects and tasks. You can delegate tasks, track the work done on tasks, and review your planning based on the entered data.
- You can manage todo lists on tasks by installing the module
- "Todo Lists", which supports the methodology Getting Things
- Done (GTD). You can also manage issues/bugs in projects by
- installing the module "Issues Tracker."
- </value>
+You can manage todo lists on tasks by installing the module "Todo Lists", which supports the methodology Getting Things Done (GTD). You can also manage issues/bugs in projects by installing the module "Issues Tracker."</value>
</function>
</data>
</openerp>
diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml
index 7f96ff87198..1f9885d9151 100644
--- a/addons/project/project_demo.xml
+++ b/addons/project/project_demo.xml
@@ -2,50 +2,50 @@
<openerp>
<data noupdate="1">
- <!-- Users -->
+ <!-- Users -->
<record id="base.user_demo" model="res.users">
- <field eval="[(4, ref('base.group_sale_salesman')),(4, ref('group_project_user'))]" name="groups_id"/>
+ <field name="groups_id" eval="[(4, ref('base.group_sale_salesman')),(4, ref('group_project_user'))]"/>
</record>
<record id="base.user_niv" model="res.users">
<field name="name">Nicolas</field>
- <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_manager')])]" name="groups_id"/>
+ <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_manager')])]"/>
<field name="login">niv</field>
<field name="password">niv</field>
</record>
<record id="base.user_al" model="res.users">
<field name="name">Antony</field>
- <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_manager')])]" name="groups_id"/>
+ <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_manager')])]"/>
<field name="login">al</field>
<field name="password">al</field>
</record>
<record id="base.user_qdp" model="res.users">
<field name="name">Quentin</field>
- <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/>
+ <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]"/>
<field name="login">qdp</field>
<field name="password">qdp</field>
</record>
<record id="base.user_fpi" model="res.users">
<field name="name">Francois</field>
- <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/>
+ <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]"/>
<field name="login">fpi</field>
<field name="password">fpi</field>
</record>
<record id="base.user_jth" model="res.users">
<field name="name">Julien</field>
- <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/>
+ <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]"/>
<field name="login">jth</field>
<field name="password">jth</field>
</record>
<record id="base.user_mit" model="res.users">
<field name="name">Minh</field>
- <field eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]" name="groups_id"/>
+ <field name="groups_id" eval="[(6, 0, [ref('base.group_user'), ref('project.group_project_user')])]"/>
<field name="login">mit</field>
<field name="password">mit</field>
</record>
<record id="base.user_vad" model="res.users">
<field name="name">Valérie</field>
- <field eval="[(6, 0, [ref('base.group_user')])]" name="groups_id"/>
+ <field name="groups_id" eval="[(6, 0, [ref('base.group_user')])]"/>
<field name="login">vad</field>
<field name="password">vad</field>
</record>
@@ -56,68 +56,83 @@
<field name="state">open</field>
<field name="type">normal</field>
<field name="description">Integrate a Sale and Warehouse Management.</field>
- <field eval="[(6, 0, [
+ <field name="members" eval="[(6, 0, [
ref('base.user_niv'),
ref('base.user_al'),
ref('base.user_qdp'),
ref('base.user_fpi'),
ref('base.user_jth'),
ref('base.user_mit'),
- ref('base.user_vad')])]" name="members"/>
+ ref('base.user_vad')])]"/>
<field name="user_id" ref="base.user_al"/>
<field name="name">Integrate a Sale and Warehouse Management.</field>
</record>
- <!-- Tasks -->
+ <!-- Categories -->
+ <record id="project_category_01" model="project.category">
+ <field name="name">Partner's suggestion</field>
+ </record>
+ <record id="project_category_02" model="project.category">
+ <field name="name">Feature request</field>
+ </record>
+ <record id="project_category_03" model="project.category">
+ <field name="name">Experiment</field>
+ </record>
+ <record id="project_category_04" model="project.category">
+ <field name="name">Usability</field>
+ </record>
+ <!-- Tasks -->
<record id="project_task_1" model="project.task">
- <field eval="100.0" name="planned_hours"/>
- <field eval="100.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="100.0"/>
+ <field name="remaining_hours" eval="100.0"/>
<field name="user_id" ref="base.user_niv"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Prepare Requirements Document</field>
<field name="stage_id" ref="project_tt_specification"/>
<field name="color">3</field>
+ <field name="categ_ids" eval="[(6, 0, [
+ ref('project.project_category_02')])]"/>
</record>
-
<record id="project_task_2" model="project.task">
- <field eval="80.0" name="planned_hours"/>
- <field eval="80.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="80.0"/>
+ <field name="remaining_hours" eval="80.0"/>
<field name="user_id" ref="base.user_niv"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Make SRS</field>
<field name="stage_id" ref="project_tt_specification"/>
</record>
-
<record id="project_task_3" model="project.task">
- <field eval="40.0" name="planned_hours"/>
- <field eval="40.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="40.0"/>
+ <field name="remaining_hours" eval="40.0"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Design Use Cases</field>
<field name="date_deadline" eval="time.strftime('%Y-%m-24')"/>
<field name="stage_id" ref="project_tt_specification"/>
+ <field name="color">4</field>
+ <field name="categ_ids" eval="[(6, 0, [
+ ref('project_category_02'),
+ ref('project_category_04')])]"/>
</record>
-
<record id="project_task_4" model="project.task">
- <field eval="25.0" name="planned_hours"/>
- <field eval="25.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="25.0"/>
+ <field name="remaining_hours" eval="25.0"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Budget Planning</field>
<field name="description">Use the account_budget module</field>
<field name="date_deadline" eval="time.strftime('%Y-%m-19')"/>
- <field name="color">3</field>
+ <field name="color">5</field>
<field name="stage_id" ref="project_tt_specification"/>
</record>
-
<record id="project_task_5" model="project.task">
- <field eval="25.0" name="planned_hours"/>
- <field eval="25.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="25.0"/>
+ <field name="remaining_hours" eval="25.0"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
@@ -127,51 +142,48 @@
<field name="date_deadline" eval="time.strftime('%Y-%m-%d')"/>
<field name="stage_id" ref="project_tt_specification"/>
</record>
-
<record id="project_task_6" model="project.task">
- <field eval="20.0" name="planned_hours"/>
- <field eval="20.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="20.0"/>
+ <field name="remaining_hours" eval="20.0"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Risk Management Planning</field>
<field name="stage_id" ref="project_tt_specification"/>
</record>
-
<record id="project_task_7" model="project.task">
- <field eval="30.0" name="planned_hours"/>
- <field eval="30.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="30.0"/>
+ <field name="remaining_hours" eval="30.0"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Create Project Schedules</field>
<field name="stage_id" ref="project_tt_specification"/>
</record>
-
<record id="project_task_8" model="project.task">
- <field eval="10.0" name="planned_hours"/>
- <field eval="10.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="10.0"/>
+ <field name="remaining_hours" eval="10.0"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Dataflow Design</field>
<field name="priority">0</field>
<field name="stage_id" ref="project_tt_specification"/>
+ <field name="categ_ids" eval="[(6, 0, [
+ ref('project.project_category_01')])]"/>
</record>
-
<record id="project_task_9" model="project.task">
- <field eval="50.0" name="planned_hours"/>
- <field eval="50.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="50.0"/>
+ <field name="remaining_hours" eval="50.0"/>
<field name="user_id" ref="base.user_al"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">User Interface Design</field>
<field name="stage_id" ref="project_tt_specification"/>
</record>
-
<record id="project_task_10" model="project.task">
- <field eval="40.0" name="planned_hours"/>
- <field eval="40.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="40.0"/>
+ <field name="remaining_hours" eval="40.0"/>
<field name="user_id" ref="base.user_fpi"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
@@ -179,56 +191,55 @@
<field name="kanban_state">blocked</field>
<field name="stage_id" ref="project_tt_development"/>
</record>
-
<record id="project_task_11" model="project.task">
- <field eval="90.0" name="planned_hours"/>
- <field eval="90.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="90.0"/>
+ <field name="remaining_hours" eval="90.0"/>
<field name="user_id" ref="base.user_fpi"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Develop module in Warehouse</field>
<field name="stage_id" ref="project_tt_merge"/>
</record>
-
<function model="project.task" name="do_close" eval="[ref('project_task_11')], {'install_mode': True}"/>
-
+
<record id="project_task_12" model="project.task">
- <field eval="20.0" name="planned_hours"/>
- <field eval="20.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="20.0"/>
+ <field name="remaining_hours" eval="20.0"/>
<field name="user_id" ref="base.user_fpi"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Integrate Modules</field>
<field name="stage_id" ref="project_tt_development"/>
+ <field name="color">6</field>
+ <field name="categ_ids" eval="[(6, 0, [
+ ref('project_category_01'),
+ ref('project_category_03')])]"/>
</record>
-
<function model="project.task" name="do_close" eval="[ref('project_task_12')], {'install_mode': True}"/>
-
+
<record id="project_task_13" model="project.task">
- <field eval="50.0" name="planned_hours"/>
- <field eval="50.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="50.0"/>
+ <field name="remaining_hours" eval="50.0"/>
<field name="user_id" ref="base.user_mit"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Unit Testing</field>
<field name="stage_id" ref="project_tt_development"/>
</record>
-
<function model="project.task" name="do_pending" eval="[ref('project_task_13')], {'install_mode': True}"/>
<record id="project_task_14" model="project.task">
- <field eval="30.0" name="planned_hours"/>
- <field eval="30.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="30.0"/>
+ <field name="remaining_hours" eval="30.0"/>
<field name="user_id" ref="base.user_mit"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Regression Test</field>
- <field name="stage_id" ref="project_tt_development"/>
+ <field name="stage_id" ref="project_tt_development"/>
</record>
-
<record id="project_task_15" model="project.task">
- <field eval="15.0" name="planned_hours"/>
- <field eval="15.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="15.0"/>
+ <field name="remaining_hours" eval="15.0"/>
<field name="user_id" ref="base.user_fpi"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
@@ -236,11 +247,10 @@
<field name="stage_id" ref="project_tt_specification"/>
<field name="date_start">2011-02-06</field>
</record>
-
<record id="project_task_16" model="project.task">
- <field eval="10" name="sequence"/>
- <field eval="40.0" name="planned_hours"/>
- <field eval="40.0" name="remaining_hours"/>
+ <field name="sequence" eval="10"/>
+ <field name="planned_hours" eval="40.0"/>
+ <field name="remaining_hours" eval="40.0"/>
<field name="user_id" ref="base.user_mit"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
@@ -251,8 +261,8 @@
<function model="project.task" name="do_open" eval="[ref('project_task_16')], {'install_mode': True}"/>
<record id="project_task_17" model="project.task">
- <field eval="5.0" name="planned_hours"/>
- <field eval="5.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="5.0"/>
+ <field name="remaining_hours" eval="5.0"/>
<field name="user_id" ref="base.user_niv"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
@@ -262,8 +272,8 @@
<function model="project.task" name="do_open" eval="[ref('project_task_17')], {'install_mode': True}"/>
<record id="project_task_18" model="project.task">
- <field eval="10.0" name="planned_hours"/>
- <field eval="10.0" name="remaining_hours"/>
+ <field name="planned_hours" eval="10.0"/>
+ <field name="remaining_hours" eval="10.0"/>
<field name="user_id" ref="base.user_niv"/>
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
@@ -271,45 +281,37 @@
<field name="stage_id" ref="project_tt_specification"/>
</record>
- <!--
- Resource: project.project
- -->
+ <!-- Resource: project.project-->
<!-- Projects -->
- <!-- <record id="all_projects_account" model="project.project">
- <field name="name">Projects</field>
- <field name="code">3</field>
- </record> -->
-
-
<record id="project_project_9" model="project.project">
<field name="name">OpenERP Integration</field>
<field name="parent_id" ref="all_projects_account"/>
<field name="user_id" ref="base.user_root"/>
- <field eval="[(6, 0, [ref('project_tt_specification'),ref('project_tt_development'),ref('project_tt_testing'),ref('project_tt_merge')])]" name="type_ids"/>
+ <field name="type_ids" eval="[(6, 0, [ref('project_tt_specification'),ref('project_tt_development'),ref('project_tt_testing'),ref('project_tt_merge')])]"/>
</record>
<record id="project_project_21" model="project.project">
<field name="priority">10</field>
<field name="parent_id" ref="all_projects_account"/>
<field name="name">Study + Prototype</field>
<field name="user_id" ref="base.user_root"/>
- <field eval="[(6, 0, [ref('project_tt_specification'),ref('project_tt_development')])]" name="type_ids"/>
- <field eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]" name="members"/>
+ <field name="type_ids" eval="[(6, 0, [ref('project_tt_specification'),ref('project_tt_development')])]"/>
+ <field name="members" eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]"/>
</record>
<record id="project_project_22" model="project.project">
<field name="priority">20</field>
<field name="parent_id" ref="all_projects_account"/>
<field name="name">Specific Developments</field>
<field name="user_id" ref="base.user_root"/>
- <field eval="[(6, 0, [ref('project_tt_specification'), ref('project_tt_development')])]" name="type_ids"/>
- <field eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]" name="members"/>
+ <field name="type_ids" eval="[(6, 0, [ref('project_tt_specification'), ref('project_tt_development')])]"/>
+ <field name="members" eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]"/>
</record>
<record id="project_project_23" model="project.project">
<field name="priority">30</field>
<field name="parent_id" ref="all_projects_account"/>
<field name="name">Install, data import, configuration</field>
- <field eval="[(6, 0, [ref('project_tt_development')])]" name="type_ids"/>
- <field eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]" name="members"/>
+ <field name="type_ids" eval="[(6, 0, [ref('project_tt_development')])]"/>
+ <field name="members" eval="[(6, 0, [ref('base.user_root'),ref('base.user_demo')])]"/>
</record>
<!-- Tasks -->
@@ -323,7 +325,7 @@
<field name="name">Specific adaptation to MRP</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_116')], {'install_mode': True}"/>
-
+
<record id="project_task_130" model="project.task">
<field name="planned_hours">16.0</field>
<field name="remaining_hours">16.0</field>
@@ -343,7 +345,7 @@
<field name="name">Modifications asked by the customer.</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_131')], {'install_mode': True}"/>
-
+
<record id="project_task_184" model="project.task">
<field name="planned_hours">16.0</field>
<field name="remaining_hours">16.0</field>
@@ -352,7 +354,7 @@
<field name="priority">0</field>
<field name="project_id" ref="project_project_21"/>
<field name="name">Customer analysis + Architecture</field>
- <field name="color">3</field>
+ <field name="color">7</field>
</record>
<record id="project_task_186" model="project.task">
<field name="sequence">15</field>
@@ -362,7 +364,7 @@
<field name="user_id" eval="False"/>
<field name="project_id" ref="project_project_21"/>
<field name="name">Internal testing + Software Install</field>
- <field name="color">4</field>
+ <field name="color">8</field>
</record>
<record id="project_task_188" model="project.task">
<field name="sequence">17</field>
@@ -375,7 +377,7 @@
<field name="name">Analysis, Data Importation</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_188')], {'install_mode': True}"/>
-
+
<record id="project_task_189" model="project.task">
<field name="sequence">20</field>
<field name="planned_hours">16.0</field>
@@ -386,7 +388,7 @@
<field name="stage_id" ref="project_tt_specification"/>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_189')], {'install_mode': True}"/>
-
+
<record id="project_task_190" model="project.task">
<field name="sequence">20</field>
<field name="planned_hours">32.0</field>
@@ -399,8 +401,7 @@
<!-- Schedule tasks to assign users and dates -->
<function model="project.project" name="schedule_tasks"
- eval="[ref('project_project_21'), ref('project_project_22'), ref('project_project_23')], {'install_mode': True}"
- />
+ eval="[ref('project_project_21'), ref('project_project_22'), ref('project_project_23')], {'install_mode': True}"/>
</data>
</openerp>
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index cc6f5b05ad8..2e15a7e3ba0 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -155,28 +155,21 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Project">
- <group>
- <field name="complete_name" string="Project Name"/>
- <separator orientation="vertical"/>
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" string="Open" name="Current" domain="[('state', '=','open')]" help="Open Projects"/>
- <filter icon="gtk-media-pause" string="Pending" name="Pending" domain="[('state', '=','pending')]" help="Pending Projects"/>
- <filter icon="gtk-media-pause" string="Template" name="Template" domain="[('state', '=','template')]" help="Templates of Projects"/>
- <filter icon="terp-personal+" string="Member" domain="['|',('user_id', '=', uid),('members', '=', uid)]" help="Projects in which I am a member."/>
- <filter string="Project(s) Manager" domain="[('user_id','=',uid)]" help="Projects in which I am a manager" icon="terp-personal"/>
- <separator orientation="vertical"/>
- <field name="user_id" string="Project Manager"/>
- <field name="partner_id" string="Partner"/>
- </group>
- <newline/>
+ <field name="complete_name" string="Project Name"/>
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
+ <filter icon="terp-check" string="Open" name="Current" domain="[('state', '=','open')]" help="Open Projects"/>
+ <filter icon="gtk-media-pause" string="Pending" name="Pending" domain="[('state', '=','pending')]" help="Pending Projects"/>
+ <filter icon="gtk-media-pause" string="Template" name="Template" domain="[('state', '=','template')]" help="Templates of Projects"/>
+ <separator/>
+ <filter icon="terp-personal+" string="Member" domain="['|',('user_id', '=', uid),('members', '=', uid)]" help="Projects in which I am a member."/>
+ <separator/>
+ <filter string="Project(s) Manager" domain="[('user_id','=',uid)]" help="Projects in which I am a manager" icon="terp-personal"/>
+ <field name="user_id" string="Project Manager"/>
+ <field name="partner_id" string="Partner"/>
<group expand="0" string="Group By...">
<filter string="Manager" name="Manager" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Partner" name="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Parent" name="Parent" help="Parent" icon="terp-folder-blue" domain = "[]" context="{'group_by':'parent_id'}"/>
</group>
</search>
@@ -292,12 +285,16 @@
<field name="view_id" ref="view_project_kanban"/>
<field name="search_view_id" ref="view_project_project_filter"/>
<field name="context">{}</field>
- <field name="help" type="xml">
- <p>Click <i>'Create'</i> to <b>start a new project</b>.</p>
- <p>Projects are used to organize your activities; plan tasks,
- track issues, invoice timesheets. You can define internal
- projects (R&amp;D, Improve Sales Process), private projects (My
- Todos) or customer ones.</p>
+ <field name="help" type="html">
+ <p class="oe_form_nocontent_create">
+ Click to start a new project.
+ </p>
+ <p>
+ Projects are used to organize your activities; plan
+ tasks, track issues, invoice timesheets. You can define
+ internal projects (R&amp;D, Improve Sales Process),
+ private projects (My Todos) or customer ones.
+ </p>
<p>
You will be able collaborate with internal users on
projects or invite customers to share your activities.
@@ -431,6 +428,9 @@
<field name="progress" widget="progressbar"
groups="project.group_time_work_estimation_tasks"/>
</group>
+ <group>
+ <field name="categ_ids" widget="many2many_tags"/>
+ </group>
</group>
<notebook>
<page string="Description">
@@ -512,6 +512,7 @@
<field name="date_deadline"/>
<field name="message_summary"/>
<field name="needaction_pending"/>
+ <field name="categ_ids"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
@@ -554,6 +555,13 @@
<t t-esc="Math.round(record.remaining_hours.raw_value)"/>
</span>
</div>
+ <div class="oe_kanban_footer_left" style="margin-top:5px;">
+ <div class="oe_left oe_tags">
+ <t t-foreach="record.categ_ids.raw_value" t-as="categ_id">
+ <span class="oe_tag" t-att-data-categ_id="categ_id"></span>
+ </t>
+ </div>
+ </div>
</div>
<div class="oe_clear"></div>
</div>
@@ -633,37 +641,28 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Tasks">
- <group>
- <field name="name" string="Tasks"/>
- <separator orientation="vertical"/>
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
- <filter name="draft" string="New" domain="[('state','=','draft')]" help="New Tasks" icon="terp-check"/>
- <filter name="open" string="In Progress" domain="[('state','=','open')]" help="In Progress Tasks" icon="terp-camera_test"/>
- <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/>
- <filter name="project" string="Project" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-check"/>
- <filter string="My Tasks" domain="[('user_id','=',uid)]" help="My Tasks" icon="terp-personal"/>
- <filter string="Unassigned Tasks" domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="terp-personal-"/>
- <filter string="Deadlines" context="{'deadline_visible': False}" domain="[('date_deadline','&lt;&gt;',False)]"
- help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/>
- <separator orientation="vertical"/>
- <field name="project_id"/>
- <field name="user_id"/>
- </group>
- <newline/>
+ <field name="name" string="Tasks"/>
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
+ <filter name="draft" string="New" domain="[('state','=','draft')]" help="New Tasks" icon="terp-check"/>
+ <filter name="open" string="In Progress" domain="[('state','=','open')]" help="In Progress Tasks" icon="terp-camera_test"/>
+ <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/>
+ <separator/>
+ <filter name="My project" string="Project" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-check"/>
+ <separator/>
+ <filter string="My Tasks" domain="[('user_id','=',uid)]" help="My Tasks" icon="terp-personal"/>
+ <filter string="Unassigned Tasks" domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="terp-personal-"/>
+ <separator/>
+ <filter string="Deadlines" context="{'deadline_visible': False}" domain="[('date_deadline','&lt;&gt;',False)]"
+ help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/>
+ <field name="project_id"/>
+ <field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="Users" name="group_user_id" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Project" name="group_project_id" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/>
- <separator orientation="vertical"/>
<filter string="Stage" name="group_stage_id" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="Status" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Deadline" icon="terp-gnome-cpu-frequency-applet+" domain="[]" context="{'group_by':'date_deadline'}"/>
- <separator orientation="vertical" groups="base.group_no_one"/>
<filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" groups="base.group_no_one"/>
<filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_end'}" groups="base.group_no_one"/>
</group>
@@ -696,7 +695,15 @@
<field name="view_id" eval="False"/>
<field name="context">{}</field>
<field name="search_view_id" ref="view_task_search_form"/>
- <field name="help">Tasks allow you to organize your work into a project. Click on button "Create" to create a new task.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new task.
+ </p><p>
+ OpenERP's project management allows you to manage the pipeline
+ of tasks in order to get things done efficiently. You can
+ track progress, discuss on tasks, attach documents, etc.
+ </p>
+ </field>
</record>
<record id="open_view_task_list_kanban" model="ir.actions.act_window.view">
<field name="sequence" eval="0"/>
@@ -745,11 +752,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Tasks Stages">
- <group>
- <field name="name" string="Tasks Stages"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" string="Common" name="common" domain="[('case_default', '=', 1)]" help="Stages common to all projects"/>
- </group>
+ <field name="name" string="Tasks Stages"/>
+ <filter icon="terp-check" string="Common" name="common" domain="[('case_default', '=', 1)]" help="Stages common to all projects"/>
</search>
</field>
</record>
@@ -794,7 +798,16 @@
<field name="res_model">project.task.type</field>
<field name="view_type">form</field>
<field name="view_id" ref="task_type_tree"/>
- <field name="help">Define the steps that will be used in the project from the creation of the task, up to the closing of the task or issue. You will use these stages in order to track the progress in solving a task or an issue.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a stage in the task pipeline.
+ </p><p>
+ Define the steps that will be used in the project from the
+ creation of the task, up to the closing of the task or issue.
+ You will use these stages in order to track the progress in
+ solving a task or an issue.
+ </p>
+ </field>
</record>
<menuitem id="menu_tasks_config" name="GTD" parent="base.menu_definitions" sequence="1"/>
@@ -820,7 +833,7 @@
</field>
</record>
- <!-- User Form-->
+ <!-- User Form -->
<act_window context="{'search_default_user_id': [active_id], 'default_user_id': active_id}" domain="[('state', '&lt;&gt;', 'cancelled'),('state', '&lt;&gt;', 'done')]" id="act_res_users_2_project_task_opened" name="Assigned Tasks" res_model="project.task" src_model="res.users" view_mode="tree,form,gantt,calendar,graph" view_type="form"/>
</data>
diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml
index 3f7f3b26d96..ae87b3f2fe2 100644
--- a/addons/project/report/project_cumulative.xml
+++ b/addons/project/report/project_cumulative.xml
@@ -53,21 +53,20 @@
<field name="model">project.task.history.cumulative</field>
<field name="type">search</field>
<field name="arch" type="xml">
- <search string="Task's Analysis">
- <group>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter name="open" string="In Progress" domain="[('state','in',('open','draft'))]" help="In Progress Tasks" icon="terp-camera_test"/>
- <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/>
- <filter name="kanban_blocked" string="Blocked" domain="[('kanban_state','=','blocked')]" icon="terp-gtk-media-pause"/>
- <filter name="kanban_ready" string="Ready" domain="[('kanban_state','=','done')]" icon="terp-camera_test"/>
- <filter string="My Tasks" domain="[('user_id','=',uid)]" help="My Tasks" icon="terp-personal" />
- <filter string="Unassigned Tasks" domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="terp-personal-" />
- <filter string="My Projects" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-personal"/>
- <separator orientation="vertical"/>
- <field name="project_id"/>
- <field name="user_id"/>
- </group>
+ <search string="Task's Analysis">
+ <field name="date"/>
+ <filter name="open" string="In Progress" domain="[('state','in',('open','draft'))]" help="In Progress Tasks" icon="terp-camera_test"/>
+ <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/>
+ <separator/>
+ <filter name="kanban_blocked" string="Blocked" domain="[('kanban_state','=','blocked')]" icon="terp-gtk-media-pause"/>
+ <filter name="kanban_ready" string="Ready" domain="[('kanban_state','=','done')]" icon="terp-camera_test"/>
+ <separator/>
+ <filter string="My Tasks" domain="[('user_id','=',uid)]" help="My Tasks" icon="terp-personal" />
+ <filter string="Unassigned Tasks" domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="terp-personal-" />
+ <separator/>
+ <filter string="My Projects" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-personal"/>
+ <field name="project_id"/>
+ <field name="user_id"/>
</search>
</field>
</record>
diff --git a/addons/project/report/project_report_view.xml b/addons/project/report/project_report_view.xml
index 40235ad03b7..ab880536ced 100644
--- a/addons/project/report/project_report_view.xml
+++ b/addons/project/report/project_report_view.xml
@@ -58,60 +58,32 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Tasks Analysis">
- <group>
- <field name="date_start"/>
- <field name="date_end"/>
- <field name="date_deadline"/>
- <separator orientation="vertical"/>
- <filter string="New"
- icon="terp-document-new"
- domain="[('state','=','draft')]"
- help = "New tasks"/>
- <filter string="In progress"
- icon="terp-check"
- domain="[('state', '=' ,'open')]"
- help = "In progress tasks"/>
- <filter string="Pending"
- icon="terp-gtk-media-pause"
- domain="[('state','=','pending')]"
- help = "Pending tasks"/>
- <filter string="Done"
- icon="terp-dialog-close"
- name="done"
- domain="[('state','=','done')]"/>
- <filter icon="terp-folder-violet"
- string="My Projects"
- help="My Projects" domain="[('project_id.user_id','=',uid)]"/>
- <filter icon="terp-personal"
- string="My Task"
- help = "My tasks"
- domain="[('user_id','=',uid)]" />
- <filter icon="terp-personal-"
- string="Non Assigned Tasks to users"
- help="Non Assigned Tasks to users"
- domain="[('user_id','=',False)]"/>
- <separator orientation="vertical"/>
- <field name="project_id"/>
- <field name="user_id" widget="selection"/>
- <field name="partner_id" />
- </group>
- <newline/>
+ <field name="date_start"/>
+ <field name="date_end"/>
+ <field name="date_deadline"/>
+ <filter string="New" icon="terp-document-new" domain="[('state','=','draft')]" help = "New tasks"/>
+ <filter string="In progress" icon="terp-check" domain="[('state', '=' ,'open')]" help = "In progress tasks"/>
+ <filter string="Pending" icon="terp-gtk-media-pause" domain="[('state','=','pending')]" help = "Pending tasks"/>
+ <filter string="Done" icon="terp-dialog-close" name="done" domain="[('state','=','done')]"/>
+ <separator/>
+ <filter icon="terp-folder-violet" string="My Projects" help="My Projects" domain="[('project_id.user_id','=',uid)]"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Task" help = "My tasks" domain="[('user_id','=',uid)]" />
+ <filter icon="terp-personal-" string="Non Assigned Tasks to users" help="Non Assigned Tasks to users" domain="[('user_id','=',False)]"/>
+ <field name="project_id"/>
+ <field name="user_id"/>
+ <field name="partner_id" />
<group expand="0" string="Extended Filters...">
<field name="priority"/>
- <separator orientation="vertical"/>
- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
<filter string="Project" name="project" icon="terp-folder-violet" context="{'group_by':'project_id'}"/>
<filter string="Task" icon="terp-stock_align_left_24" context="{'group_by':'name'}" />
- <separator orientation="vertical"/>
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" />
<filter string="Assigned to" name="User" icon="terp-personal" context="{'group_by':'user_id'}" />
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<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'}" help="Creation Date"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Creation Date"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Creation Date"/>
diff --git a/addons/project/res_config.py b/addons/project/res_config.py
index b112506e073..fcb3ecc9e21 100644
--- a/addons/project/res_config.py
+++ b/addons/project/res_config.py
@@ -27,38 +27,38 @@ class project_configuration(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
- 'module_project_mrp': fields.boolean('Create Tasks from a Sale Order',
+ 'module_project_mrp': fields.boolean('generate tasks from sale orders',
help ="""This feature automatically creates project tasks from service products in sale orders.
More precisely, tasks are created for procurement lines with product of type 'Service',
procurement method 'Make to Order', and supply method 'Produce'.
This installs the module project_mrp."""),
- 'module_pad': fields.boolean("Use Collaborative Note Pads for Tasks",
+ 'module_pad': fields.boolean("use integrated collaborative note pads on task",
help="""Lets the company customize which Pad installation should be used to link to new pads
(by default, http://ietherpad.com/).
This installs the module pad."""),
- 'module_project_timesheet': fields.boolean("Timesheets per Task",
+ 'module_project_timesheet': fields.boolean("record timesheet lines per tasks",
help="""This allows you to transfer the entries under tasks defined for Project Management to
the timesheet line entries for particular date and user, with the effect of creating,
editing and deleting either ways.
This installs the module project_timesheet."""),
- 'module_project_long_term': fields.boolean("Manage Gantt and Resource Planning",
+ 'module_project_long_term': fields.boolean("manage resources planning on gantt view",
help="""A long term project management module that tracks planning, scheduling, and resource allocation.
This installs the module project_long_term."""),
- 'module_project_issue': fields.boolean("Issues and Bug Tracking",
+ 'module_project_issue': fields.boolean("track issues and bugs",
help="""Provides management of issues/bugs in projects.
This installs the module project_issue."""),
- 'time_unit': fields.many2one('product.uom', 'Working Time Unit', required=True,
+ 'time_unit': fields.many2one('product.uom', 'Working time unit', required=True,
help="""This will set the unit of measure used in projects and tasks."""),
- 'module_project_issue_sheet': fields.boolean("Track and Invoice Issues Working Time",
+ 'module_project_issue_sheet': fields.boolean("invoice working time on issues",
help="""Provides timesheet support for the issues/bugs management in project.
This installs the module project_issue_sheet."""),
- 'group_tasks_work_on_tasks': fields.boolean("Task's Work on Tasks",
+ 'group_tasks_work_on_tasks': fields.boolean("compute work activities on tasks",
implied_group='project.group_tasks_work_on_tasks',
help="Allows you to compute work on tasks."),
- 'group_time_work_estimation_tasks': fields.boolean("Time Estimation on Tasks",
+ 'group_time_work_estimation_tasks': fields.boolean("manage time estimation on tasks",
implied_group='project.group_time_work_estimation_tasks',
help="Allows you to compute Time Estimation on tasks."),
- 'group_manage_delegation_task': fields.boolean("Manage Task Delegation",
+ 'group_manage_delegation_task': fields.boolean("allow task delegation",
implied_group='project.group_delegate_task',
help="Allows you to delegate tasks to other users."),
}
diff --git a/addons/project/res_config_view.xml b/addons/project/res_config_view.xml
index 6248efde5d2..a3783bc7e3b 100644
--- a/addons/project/res_config_view.xml
+++ b/addons/project/res_config_view.xml
@@ -1,4 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
+ <data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="action_client_project_menu" model="ir.actions.client">
+ <field name="name">Open Project Menu</field>
+ <field name="tag">reload</field>
+ <field name="params" eval="{'menu_id': ref('base.menu_main_pm')}"/>
+ </record>
+ <record id="todo_open_project_menu" model="ir.actions.todo">
+ <field name="action_id" ref="action_client_project_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+ </data>
<data>
<record id="view_config_settings" model="ir.ui.view">
<field name="name">project settings</field>
@@ -6,30 +20,68 @@
<field name="type">form</field>
<field name="priority" eval="20"/>
<field name="arch" type="xml">
- <form string="Configure Project" version="7.0">
+ <form string="Configure Project" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
+ <separator string="Project Management"/>
+ <group>
+ <label for="id" string="Task"/>
+ <div>
+ <div>
+ <field name="module_project_timesheet" class="oe_inline"/>
+ <label for="module_project_timesheet"/>
+ </div>
+ <div>
+ <field name="module_project_mrp" class="oe_inline"/>
+ <label for="module_project_mrp"/>
+ </div>
+ <div>
+ <field name="module_pad" class="oe_inline"/>
+ <label for="module_pad"/>
+ </div>
+ <div>
+ <field name="group_manage_delegation_task" class="oe_inline"/>
+ <label for="group_manage_delegation_task"/>
+ </div>
+ </div>
+ </group>
+ <group>
+ <label for="id" string="Planning"/>
+ <div>
+ <div>
+ <field name="group_time_work_estimation_tasks" class="oe_inline"/>
+ <label for="group_time_work_estimation_tasks"/>
+ </div>
+ <div>
+ <label for="time_unit"/>
+ <field name="time_unit" class="oe_inline" domain="[('category_id.name','=','Working Time')]"/>
+ </div>
+ <div>
+ <field name="group_tasks_work_on_tasks" class="oe_inline"/>
+ <label for="group_tasks_work_on_tasks" />
+ </div>
+ <div>
+ <field name="module_project_long_term" class="oe_inline"/>
+ <label for="module_project_long_term"/>
+ </div>
+ </div>
+ </group>
+ <separator string="Helpdesk &amp; Support"/>
<group>
- <group>
- <separator string="Project" colspan="2"/>
- <field name="module_project_mrp"/>
- <field name="module_project_timesheet"/>
- <field name="module_pad"/>
- <field name="group_tasks_work_on_tasks"/>
- <field name="group_time_work_estimation_tasks"/>
- <field name="group_manage_delegation_task"/>
- <field name="time_unit" domain="[('category_id.name','=','Working Time')]"/>
- </group>
- <group name="project_left_column">
- <separator string="Planing" colspan="2"/>
- <field name="module_project_long_term"/>
- <separator string="Helpdesk and Support" colspan="2"/>
- <field name="module_project_issue"/>
- <field name="module_project_issue_sheet"/>
- </group>
+ <label for="id" string="Support"/>
+ <div>
+ <div>
+ <field name="module_project_issue" class="oe_inline"/>
+ <label for="module_project_issue"/>
+ </div>
+ <div name="module_project_issue_sheet">
+ <field name="module_project_issue_sheet" class="oe_inline"/>
+ <label for="module_project_issue_sheet"/>
+ </div>
+ </div>
</group>
</form>
</field>
diff --git a/addons/project/res_partner_view.xml b/addons/project/res_partner_view.xml
index 09170c43434..e16c18d1582 100644
--- a/addons/project/res_partner_view.xml
+++ b/addons/project/res_partner_view.xml
@@ -28,7 +28,5 @@
</xpath>
</field>
</record>
-
</data>
</openerp>
-
diff --git a/addons/project/static/src/js/project.js b/addons/project/static/src/js/project.js
index 510fcbb99e7..c8250edcafd 100644
--- a/addons/project/static/src/js/project.js
+++ b/addons/project/static/src/js/project.js
@@ -1,25 +1,61 @@
openerp.project = function(openerp) {
openerp.web_kanban.KanbanView.include({
- on_groups_started: function() {
+ project_display_members_names: function() {
+ /*
+ * Set avatar title for members.
+ * In kanban views, many2many fields only return a list of ids.
+ * We can implement return value of m2m fields like [(1,"Adminstration"),...].
+ */
var self = this;
- self._super.apply(this, arguments);
- if (this.dataset.model === 'project.project') {
- /* Set avatar title for members.
- In many2many fields, returns only list of ids.
- we can implement return value of m2m fields like [(1,"Adminstration"),...].
- */
- var members_ids = [];
- this.$element.find('.oe_kanban_project_avatars img').each(function() {
- members_ids.push($(this).data('member_id'));
- });
- var dataset = new openerp.web.DataSetSearch(this, 'res.users', self.session.context, [['id', 'in', _.uniq(members_ids)]]);
- dataset.read_slice(['id', 'name']).then(function(result) {
- _.each(result, function(v, k) {
- self.$element.find('.oe_kanban_project_avatars img[data-member_id=' + v.id + ']').attr('title', v.name).tipsy({
- offset: 10
- });
+ var members_ids = [];
+
+ // Collect members ids
+ self.$element.find('img[data-member_id]').each(function() {
+ members_ids.push($(this).data('member_id'));
+ });
+
+ // Find their matching names
+ var dataset = new openerp.web.DataSetSearch(self, 'res.users', self.session.context, [['id', 'in', _.uniq(members_ids)]]);
+ dataset.read_slice(['id', 'name']).then(function(result) {
+ _.each(result, function(v, k) {
+ // Set the proper value in the DOM
+ self.$element.find('img[data-member_id=' + v.id + ']').attr('title', v.name).tipsy({
+ offset: 10
});
});
+ });
+ },
+ project_display_categ_names: function() {
+ /*
+ * Set proper names to project categories.
+ * In kanban views, many2many fields only return a list of ids.
+ * Therefore, we have to fetch the matching data by ourselves.
+ */
+ var self = this;
+ var categ_ids = [];
+
+ // Collect categories ids
+ self.$element.find('span[data-categ_id]').each(function() {
+ categ_ids.push($(this).data('categ_id'));
+ });
+
+ // Find their matching names
+ var dataset = new openerp.web.DataSetSearch(self, 'project.category', self.session.context, [['id', 'in', _.uniq(categ_ids)]]);
+ dataset.read_slice(['id', 'name']).then(function(result) {
+ _.each(result, function(v, k) {
+ // Set the proper value in the DOM and display the element
+ self.$element.find('span[data-categ_id=' + v.id + ']').text(v.name);
+ });
+ });
+ },
+ on_groups_started: function() {
+ var self = this;
+ self._super.apply(self, arguments);
+
+ if (self.dataset.model === 'project.project') {
+ self.project_display_members_names();
+ } else if (self.dataset.model === 'project.task') {
+ self.project_display_categ_names();
}
}
});
diff --git a/addons/project_gtd/project_gtd_data.xml b/addons/project_gtd/project_gtd_data.xml
index 38cc247fc32..dc1df93dc46 100644
--- a/addons/project_gtd/project_gtd_data.xml
+++ b/addons/project_gtd/project_gtd_data.xml
@@ -30,12 +30,7 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Todo Lists has been installed</value>
- <value>
- Add todo items on project tasks, to help you organize your work.
- This module supports the methodology Getting Things Done (GTD),
- created by David Allen, and described in the book of the same
- name.
- </value>
+ <value>Add todo items on project tasks, to help you organize your work. This module supports the methodology Getting Things Done (GTD), created by David Allen, and described in the book of the same name.</value>
</function>
</data>
</openerp>
diff --git a/addons/project_gtd/project_gtd_view.xml b/addons/project_gtd/project_gtd_view.xml
index 5b48f6b4648..cce02ab329d 100644
--- a/addons/project_gtd/project_gtd_view.xml
+++ b/addons/project_gtd/project_gtd_view.xml
@@ -112,9 +112,9 @@
<field name="arch" type="xml">
<search string="My Tasks">
<field name="name" string="My Tasks"/>
- <separator orientation="vertical"/>
<filter name="open" string="In Progress" domain="[('state','in',('draft','open'))]" help="In Progress and draft tasks" icon="terp-camera_test"/>
<filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/>
+ <separator/>
<filter string="Inbox" domain="[('timebox_id','=', False)]" help="Tasks having no timebox assigned yet"/>
<group expand="0" string="Display">
<filter string="Show Context" name="context_show" context="{'context_show': True}" domain="[]" icon="terp-camera_test" help="Show the context field"/>
diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py
index fa7d002f571..8aeecf2985e 100644
--- a/addons/project_issue/__openerp__.py
+++ b/addons/project_issue/__openerp__.py
@@ -25,7 +25,7 @@
'version': '1.0',
'category': 'Project Management',
"sequence": 22,
- "summary": "Multi Level Support",
+ "summary": "Support, Bug Traker, Helpdesk",
'description': """
This module provides Issues/Bugs Management in Project.
=======================================================
@@ -39,7 +39,7 @@ and decide on their status as they evolve.
'website': 'http://www.openerp.com',
'images': ['images/issue_analysis.jpeg','images/project_issue.jpeg'],
'depends': [
- 'base_status',
+ 'base_status',
'crm',
'project',
],
@@ -66,6 +66,9 @@ and decide on their status as they evolve.
'auto_install': False,
'application': True,
'certificate' : '001236490750848623845',
+ 'js': [
+ 'static/src/js/project_issue.js',
+ ],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_issue/board_project_issue_view.xml b/addons/project_issue/board_project_issue_view.xml
index cedcd85d4fc..8bc34177d7d 100644
--- a/addons/project_issue/board_project_issue_view.xml
+++ b/addons/project_issue/board_project_issue_view.xml
@@ -18,7 +18,7 @@
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
<field name="stage_id" widget="selection" readonly="1"/>
<field name="state" groups="base.group_no_one"/>
- <field name="categ_id" invisible="1"/>
+ <field name="categ_ids" invisible="1"/>
<field name="task_id" invisible="1"/>
</tree>
</field>
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index a7c9d2b5bc3..4c973eed068 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -236,7 +236,7 @@ class project_issue(base_stage, osv.osv):
'date_closed': fields.datetime('Closed', readonly=True,select=True),
'date': fields.datetime('Date'),
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."),
- 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('object_id.model', '=', 'crm.project.bug')]"),
+ 'categ_ids': fields.many2many('project.category', string='Categories'),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
'version_id': fields.many2one('project.issue.version', 'Version'),
'stage_id': fields.many2one ('project.task.type', 'Stage',
@@ -279,7 +279,6 @@ class project_issue(base_stage, osv.osv):
'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c),
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
'priority': crm.AVAILABLE_PRIORITIES[2][0],
- 'categ_id' : lambda *a: False,
}
_group_by_full = {
@@ -304,11 +303,11 @@ class project_issue(base_stage, osv.osv):
def convert_issue_task(self, cr, uid, ids, context=None):
if context is None:
context = {}
-
+
case_obj = self.pool.get('project.issue')
data_obj = self.pool.get('ir.model.data')
task_obj = self.pool.get('project.task')
-
+
result = data_obj._get_id(cr, uid, 'project', 'view_task_search_form')
res = data_obj.read(cr, uid, result, ['res_id'])
id2 = data_obj._get_id(cr, uid, 'project', 'view_task_form2')
@@ -351,23 +350,6 @@ class project_issue(base_stage, osv.osv):
'nodestroy': True
}
-
- def _convert(self, cr, uid, ids, xml_id, context=None):
- data_obj = self.pool.get('ir.model.data')
- id2 = data_obj._get_id(cr, uid, 'project_issue', xml_id)
- categ_id = False
- if id2:
- categ_id = data_obj.browse(cr, uid, id2, context=context).res_id
- if categ_id:
- self.write(cr, uid, ids, {'categ_id': categ_id})
- return True
-
- def convert_to_feature(self, cr, uid, ids, context=None):
- return self._convert(cr, uid, ids, 'feature_request_categ', context=context)
-
- def convert_to_bug(self, cr, uid, ids, context=None):
- return self._convert(cr, uid, ids, 'bug_categ', context=context)
-
def copy(self, cr, uid, id, default=None, context=None):
issue = self.read(cr, uid, id, ['name'], context=context)
if not default:
@@ -376,7 +358,7 @@ class project_issue(base_stage, osv.osv):
default['name'] = issue['name'] + _(' (copy)')
return super(project_issue, self).copy(cr, uid, id, default=default,
context=context)
-
+
def write(self, cr, uid, ids, vals, context=None):
#Update last action date every time the user change the stage, the state or send a new email
logged_fields = ['stage_id', 'state', 'message_ids']
@@ -463,7 +445,7 @@ class project_issue(base_stage, osv.osv):
# -------------------------------------------------------
# Mail gateway
# -------------------------------------------------------
-
+
def message_new(self, cr, uid, msg, custom_values=None, context=None):
""" Overrides mail_thread message_new that is called by the mailgateway
through message_process.
@@ -485,7 +467,7 @@ class project_issue(base_stage, osv.osv):
custom_values.update(self.message_partner_by_email(cr, uid, msg.get('from'), context=context))
res_id = super(project_issue, self).message_new(cr, uid, msg, custom_values=custom_values, context=context)
- self.convert_to_bug(cr, uid, [res_id], context=context)
+ # self.convert_to_bug(cr, uid, [res_id], context=context)
return res_id
def message_update(self, cr, uid, ids, msg, update_vals=None, context=None):
@@ -515,7 +497,7 @@ class project_issue(base_stage, osv.osv):
update_vals[key] = res.group(2).lower()
return super(project_issue, self).message_update(cr, uid, ids, update_vals=update_vals, context=context)
-
+
# -------------------------------------------------------
# OpenChatter methods and notifications
# -------------------------------------------------------
@@ -588,18 +570,18 @@ project()
class account_analytic_account(osv.osv):
_inherit = 'account.analytic.account'
_description = 'Analytic Account'
-
+
_columns = {
'use_issues' : fields.boolean('Issues Tracking', help="Check this field if this project manages issues"),
}
-
+
def on_change_template(self, cr, uid, ids, template_id, context=None):
res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, context=context)
if template_id and 'value' in res:
template = self.browse(cr, uid, template_id, context=context)
res['value']['use_issues'] = template.use_issues
return res
-
+
def _trigger_project_creation(self, cr, uid, vals, context=None):
res = super(account_analytic_account, self)._trigger_project_creation(cr, uid, vals, context=context)
return res or vals.get('use_issues')
diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml
index add2ce99c19..a191cb4454f 100644
--- a/addons/project_issue/project_issue_data.xml
+++ b/addons/project_issue/project_issue_data.xml
@@ -35,15 +35,10 @@
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
- <value>Module Issues Tracker has been installed</value>
- <value>Manage the issues you might face in a project, like bugs in a
- system, client complaints or material breakdowns. You can
- record issues, assign them to some responsible person, and keep
- track of their status as they evolve over time.
-
- You can access issues from the top menu Project, and access the
- issues of a specific project from the projects gallery view.
- </value>
+ <value>Module Issues Tracker has been installed.</value>
+ <value>Manage the issues you might face in a project, like bugs in a system, client complaints or material breakdowns. You can record issues, assign them to some responsible person, and keep track of their status as they evolve over time.
+
+You can access issues from the top menu Project, and access the issues of a specific project from the projects gallery view.</value>
</function>
</data>
</openerp>
diff --git a/addons/project_issue/project_issue_demo.xml b/addons/project_issue/project_issue_demo.xml
index b3fb4582cf2..298dd6a25d9 100644
--- a/addons/project_issue/project_issue_demo.xml
+++ b/addons/project_issue/project_issue_demo.xml
@@ -1,236 +1,239 @@
<?xml version="1.0"?>
<openerp>
-<data noupdate="1">
-
- <record id="crm_case_buginaccountsmodule0" model="project.issue">
- <field eval="time.strftime('%Y-%m-08 10:15:00')" name="date"/>
- <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 name="section_id" ref="crm.section_sales_department"/>
- <field eval="1" name="active"/>
- <field name="categ_id" ref="bug_categ"/>
- <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"/>
- <field name="stage_id" ref="project.project_tt_specification"/>
- </record>
-
- <record id="crm_case_programnotgivingproperoutput0" model="project.issue">
- <field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/>
- <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 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 eval="&quot;Program not giving proper output&quot;" name="name"/>
- <field name="project_id" ref="project.project_project_22"/>
- <field name="stage_id" ref="project.project_tt_specification"/>
- </record>
-
- <record id="crm_case_outputincorrect0" model="project.issue">
- <field eval="time.strftime('%Y-%m-18 14:30:00')" name="date"/>
- <field eval="&quot;4&quot;" name="priority"/>
- <field name="user_id" ref="base.user_demo"/>
- <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="project_id" ref="project.project_project_23"/>
- <field eval="&quot;Output incorrect&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_development"/>
- </record>
-
- <record id="crm_case_problemloadingpage0" model="project.issue">
- <field eval="time.strftime('%Y-%m-20 15:25:05')" name="date"/>
- <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 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="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Problem loading page&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_testing"/>
- </record>
-
- <record id="crm_case_pagenotfound0" model="project.issue">
- <field eval="time.strftime('%Y-%m-22 18:15:00')" name="date"/>
- <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 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="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Page not Found&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_development"/>
- </record>
-
- <record id="crm_case_programmingerror0" model="project.issue">
- <field eval="time.strftime('%Y-%m-24 09:45:00')" name="date"/>
- <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 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="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Programming Error&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_testing"/>
- </record>
-
- <record id="crm_case_logicalerrorinprogram0" model="project.issue">
- <field eval="time.strftime('%Y-%m-26 11:10:00')" name="date"/>
- <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 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="project_id" ref="project.project_project_9"/>
- <field eval="&quot;Logical Error in Program&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_testing"/>
- </record>
-
- <record id="crm_case_constrainterror0" model="project.issue">
- <field eval="time.strftime('%Y-%m-25 13:35:00')" name="date"/>
- <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 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="project_id" ref="project.project_project_9"/>
- <field eval="&quot;Constraint Error&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_testing"/>
- </record>
-
- <record id="crm_case_errorinprogram0" model="project.issue">
- <field eval="time.strftime('%Y-%m-28 15:40:00')" name="date"/>
- <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="1" name="active"/>
- <field eval="1.3" name="duration"/>
- <field name="categ_id" ref="feature_request_categ"/>
- <field name="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Error in Program&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_testing"/>
- </record>
-
- <record id="crm_case_patcheserrorinprogram0" model="project.issue">
- <field eval="time.strftime('%Y-%m-28 16:30:00')" name="date"/>
- <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 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="project_id" ref="project.project_project_9"/>
- <field eval="&quot;Patches Error in Program&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_testing"/>
- </record>
-
- <record id="crm_case_newfeaturestobeadded0" model="project.issue">
- <field eval="time.strftime('%Y-%m-01 12:15:10')" name="date"/>
- <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 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="project_id" ref="project.project_project_21"/>
- <field eval="&quot;New Features To Be Added&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_merge"/>
- </record>
-
- <record id="crm_case_addmenustothemodule0" model="project.issue">
- <field eval="time.strftime('%Y-%m-05 18:00:00')" name="date"/>
- <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 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="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"/>
- <field name="stage_id" ref="project.project_tt_development"/>
- </record>
-
- <record id="crm_case_includeattendancesheetinproject0" model="project.issue">
- <field eval="time.strftime('%Y-%m-10 17:05:30')" name="date"/>
- <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 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="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"/>
- <field name="stage_id" ref="project.project_tt_development"/>
- </record>
-
- <record id="crm_case_createnewobject0" model="project.issue">
- <field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/>
- <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 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="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Create new object&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_specification"/>
- </record>
-
- <record id="crm_case_improvereportsinhrms0" model="project.issue">
- <field eval="time.strftime('%Y-%m-19 12:15:00')" name="date"/>
- <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 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="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Improve Reports in HRMS&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_development"/>
- </record>
-
- <record id="crm_case_improvereportsinpms0" model="project.issue">
- <field eval="time.strftime('%Y-%m-21 14:30:00')" name="date"/>
- <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 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="project_id" ref="project.project_project_22"/>
- <field eval="&quot;Improve Reports in PMS&quot;" name="name"/>
- <field name="stage_id" ref="project.project_tt_specification"/>
- </record>
-
- <!-- Call Function to set some issues as Unread -->
- <function model="project.issue" name="message_mark_as_unread"
- eval="[ ref('crm_case_improvereportsinhrms0'), ref('crm_case_createnewobject0')], {}"
- />
-
-</data>
+ <data noupdate="1">
+
+ <!-- Categories -->
+ <record id="project_issue_category_01" model="project.category">
+ <field name="name">Little problem</field>
+ </record>
+ <record id="project_issue_category_02" model="project.category">
+ <field name="name">PBCK</field>
+ </record>
+ <record id="project_issue_category_03" model="project.category">
+ <field name="name">Deadly bug</field>
+ </record>
+
+ <!-- Issues -->
+ <record id="crm_case_buginaccountsmodule0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-08 10:15:00')" name="date"/>
+ <field name="priority">5</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_agrolait"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field eval="15.0" name="duration"/>
+ <field name="name">Bug in Accounts module</field>
+ <field name="email_from">agr@agrolait.com</field>
+ <field name="stage_id" ref="project.project_tt_specification"/>
+ <field name="categ_ids" eval="[(6, 0, [
+ ref('project_issue_category_01')])]"/>
+ </record>
+
+ <record id="crm_case_programnotgivingproperoutput0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/>
+ <field name="priority">3</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_asus"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="3.5" name="duration"/>
+ <field name="name">Program not giving proper output</field>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field name="stage_id" ref="project.project_tt_specification"/>
+ </record>
+
+ <record id="crm_case_outputincorrect0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-18 14:30:00')" name="date"/>
+ <field name="priority">4</field>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="2.3" name="duration"/>
+ <field name="project_id" ref="project.project_project_23"/>
+ <field name="name">Output incorrect</field>
+ <field name="stage_id" ref="project.project_tt_development"/>
+ <field name="categ_ids" eval="[(6, 0, [
+ ref('project_issue_category_01'),
+ ref('project_issue_category_02')])]"/>
+ </record>
+
+ <record id="crm_case_problemloadingpage0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-20 15:25:05')" name="date"/>
+ <field name="priority">3</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_14"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="4.0" name="duration"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field name="name">Problem loading page</field>
+ <field name="stage_id" ref="project.project_tt_testing"/>
+ </record>
+
+ <record id="crm_case_pagenotfound0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-22 18:15:00')" name="date"/>
+ <field name="priority">3</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_desertic_hispafuentes"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="1.0" name="duration"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field name="name">Page not Found</field>
+ <field name="stage_id" ref="project.project_tt_development"/>
+ </record>
+
+ <record id="crm_case_programmingerror0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-24 09:45:00')" name="date"/>
+ <field name="priority">3</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_5"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="4.0" name="duration"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field name="name">Programming Error</field>
+ <field name="stage_id" ref="project.project_tt_testing"/>
+ <field name="categ_ids" eval="[(6, 0, [
+ ref('project_issue_category_02'),
+ ref('project_issue_category_03')])]"/>
+ </record>
+
+ <record id="crm_case_logicalerrorinprogram0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-26 11:10:00')" name="date"/>
+ <field name="priority">2</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_6"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="2.0" name="duration"/>
+ <field name="project_id" ref="project.project_project_9"/>
+ <field name="name">Logical Error in Program</field>
+ <field name="stage_id" ref="project.project_tt_testing"/>
+ </record>
+
+ <record id="crm_case_constrainterror0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-25 13:35:00')" name="date"/>
+ <field name="priority">2</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_6"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="7.3" name="duration"/>
+ <field name="project_id" ref="project.project_project_9"/>
+ <field name="name">Constraint Error</field>
+ <field name="stage_id" ref="project.project_tt_testing"/>
+ </record>
+
+ <record id="crm_case_errorinprogram0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-28 15:40:00')" name="date"/>
+ <field name="priority">2</field>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="partner_id" ref="base.res_partner_5"/>
+ <field eval="1" name="active"/>
+ <field eval="1.3" name="duration"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field name="name">Error in Program</field>
+ <field name="stage_id" ref="project.project_tt_testing"/>
+ </record>
+
+ <record id="crm_case_patcheserrorinprogram0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-28 16:30:00')" name="date"/>
+ <field name="priority">2</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_2"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="13.0" name="duration"/>
+ <field name="project_id" ref="project.project_project_9"/>
+ <field name="name">Patches Error in Program</field>
+ <field name="stage_id" ref="project.project_tt_testing"/>
+ </record>
+
+ <record id="crm_case_newfeaturestobeadded0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-01 12:15:10')" name="date"/>
+ <field name="priority">4</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_maxtor"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="3.2" name="duration"/>
+ <field name="project_id" ref="project.project_project_21"/>
+ <field name="name">New Features To Be Added</field>
+ <field name="stage_id" ref="project.project_tt_merge"/>
+ </record>
+
+ <record id="crm_case_addmenustothemodule0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-05 18:00:00')" name="date"/>
+ <field name="priority">1</field>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="partner_id" ref="base.res_partner_9"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="3.0" name="duration"/>
+ <field name="project_id" ref="project.project_project_21"/>
+ <field name="name">Add menus to the module</field>
+ <field name="email_from">info@opensides.be</field>
+ <field name="stage_id" ref="project.project_tt_development"/>
+ </record>
+
+ <record id="crm_case_includeattendancesheetinproject0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-10 17:05:30')" name="date"/>
+ <field name="priority">3</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_10"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="2.0" name="duration"/>
+ <field name="project_id" ref="project.project_project_9"/>
+ <field name="name">Include Attendance sheet in Project</field>
+ <field name="email_from">contact@tecsas.fr</field>
+ <field name="stage_id" ref="project.project_tt_development"/>
+ </record>
+
+ <record id="crm_case_createnewobject0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/>
+ <field name="priority">3</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_6"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="2.45" name="duration"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field name="name">Create new object</field>
+ <field name="stage_id" ref="project.project_tt_specification"/>
+ </record>
+
+ <record id="crm_case_improvereportsinhrms0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-19 12:15:00')" name="date"/>
+ <field name="priority">4</field>
+ <field name="user_id" ref="base.user_root"/>
+ <field name="partner_id" ref="base.res_partner_11"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="15.0" name="duration"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field name="name">Improve Reports in HRMS</field>
+ <field name="stage_id" ref="project.project_tt_development"/>
+ </record>
+
+ <record id="crm_case_improvereportsinpms0" model="project.issue">
+ <field eval="time.strftime('%Y-%m-21 14:30:00')" name="date"/>
+ <field name="priority">2</field>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="partner_id" ref="base.res_partner_11"/>
+ <field name="section_id" ref="crm.section_sales_department"/>
+ <field eval="1" name="active"/>
+ <field eval="06.15" name="duration"/>
+ <field name="project_id" ref="project.project_project_22"/>
+ <field name="name">Improve Reports in PMS</field>
+ <field name="stage_id" ref="project.project_tt_specification"/>
+ </record>
+
+ <!-- Call function to set some issues as 'unread' -->
+ <function model="project.issue" name="message_mark_as_unread"
+ eval="[ ref('crm_case_improvereportsinhrms0'), ref('crm_case_createnewobject0')], {}"/>
+
+ </data>
</openerp>
diff --git a/addons/project_issue/project_issue_menu.xml b/addons/project_issue/project_issue_menu.xml
index 8044d149901..78841f56156 100644
--- a/addons/project_issue/project_issue_menu.xml
+++ b/addons/project_issue/project_issue_menu.xml
@@ -13,7 +13,15 @@
<field name="view_id" eval="False"/>
<field name="domain" eval=""/>
<field name="search_view_id" ref="view_project_issue_filter"/>
- <field name="help">Issues such as system bugs, customer complaints, and material breakdowns are collected here. You can define the stages assigned when solving the project issue (analysis, development, done). With the mailgateway module, issues can be integrated through an email address (example: support@mycompany.com)</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to report a new issue.
+ </p><p>
+ The OpenERP issues tacker allows you to efficiantly manage things
+ like internal requests, software development bugs, customer
+ complaints, project troubles, material breakdowns, etc.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_kanban_view0">
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index e730805fb46..271b665483f 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -16,9 +16,9 @@
<record id="action_project_issue_unread" model="ir.values">
<field name="name">action_project_issue_unread</field>
<field name="action_id" ref="actions_server_project_issue_unread"/>
- <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_project_issue_unread'))" />
+ <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_project_issue_unread'))"/>
<field name="key">action</field>
- <field name="model_id" ref="model_project_issue" />
+ <field name="model_id" ref="model_project_issue"/>
<field name="model">project.issue</field>
<field name="key2">client_action_multi</field>
</record>
@@ -34,9 +34,9 @@
<record id="action_project_issue_read" model="ir.values">
<field name="name">action_project_issue_read</field>
<field name="action_id" ref="actions_server_project_issue_read"/>
- <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_project_issue_read'))" />
+ <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_project_issue_read'))"/>
<field name="key">action</field>
- <field name="model_id" ref="model_project_issue" />
+ <field name="model_id" ref="model_project_issue"/>
<field name="model">project.issue</field>
<field name="key2">client_action_multi</field>
</record>
@@ -48,7 +48,6 @@
<field name="arch" type="xml">
<search string="Issue Version">
<field name="name" string="Issue Version"/>
- <separator orientation="vertical"/>
<field name="active"/>
</search>
</field>
@@ -70,7 +69,14 @@
<field name="name">Versions</field>
<field name="res_model">project.issue.version</field>
<field name="view_type">form</field>
- <field name="help">You can use the issues tracker in OpenERP to handle bugs in the software development project, to handle claims in after-sales services, etc. Define here the different versions of your products on which you can work on issues.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a new version.
+ </p><p>
+ Define here the different versions of your products on which
+ you can work on issues.
+ </p>
+ </field>
</record>
<menuitem action="project_issue_version_action" id="menu_project_issue_version_act" parent="menu_project_confi" groups="base.group_no_one"/>
@@ -133,15 +139,13 @@
<field name="task_id" on_change="onchange_task_id(task_id)" class="oe_inline"/>
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}" class="oe_inline"/>
</div>
+ <field name="categ_ids" widget="many2many_tags"/>
</group>
</group>
<notebook>
<page string="Description">
<group>
<group>
- <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
- </group>
- <group>
<field name="version_id" widget="selection"/>
</group>
</group>
@@ -194,7 +198,7 @@
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
<field name="stage_id" widget="selection" readonly="1"/>
<field name="state" groups="base.group_no_one"/>
- <field name="categ_id" invisible="1"/>
+ <field name="categ_ids" invisible="1"/>
<field name="task_id" invisible="1"/>
</tree>
</field>
@@ -206,46 +210,26 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Issue Tracker Search">
- <group>
- <field name="name" string="Issue" filter_domain="['|', '|',('partner_id','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
- <filter string="New" icon="terp-document-new" domain="[('state','=','draft')]" help="New Issues"/>
- <filter string="To Do" domain="[('state','=','open')]" help="To Do Issues" icon="terp-check"/>
- <filter string="Unassigned Issues" domain="[('user_id','=',False)]" help="Unassigned Issues" icon="terp-personal-" />
- <separator orientation="vertical"/>
- <field name="user_id"/>
- <field name="project_id"/>
- <separator orientation="vertical"/>
- <field name="id"/>
- </group>
- <newline/>
+ <field name="name" string="Issue" filter_domain="['|', '|',('partner_id','ilike',self),('email_from','ilike',self),('name','ilike',self)]"/>
+ <field name="id"/>
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
+ <filter string="New" icon="terp-document-new" domain="[('state','=','draft')]" help="New Issues"/>
+ <filter string="To Do" domain="[('state','=','open')]" help="To Do Issues" icon="terp-check"/>
+ <separator/>
+ <filter string="Unassigned Issues" domain="[('user_id','=',False)]" help="Unassigned Issues" icon="terp-personal-" />
+ <field name="user_id"/>
+ <field name="project_id"/>
<group expand="0" string="Group By..." >
- <filter string="Responsible" icon="terp-personal"
- domain="[]" context="{'group_by':'user_id'}"/>
- <filter string="Partner" icon="terp-partner" domain="[]"
- context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Project" icon="terp-folder-violet" domain="[]"
- context="{'group_by':'project_id'}"/>
- <filter string="Version" icon="terp-gtk-jump-to-rtl"
- domain="[]" context="{'group_by':'version_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Category" icon="terp-stock_symbol-selection" domain="[]"
- context="{'group_by':'categ_id'}"/>
- <filter string="Priority" icon="terp-rating-rated" domain="[]"
- context="{'group_by':'priority'}"/>
- <filter string="Stage" icon="terp-stage" domain="[]"
- context="{'group_by':'stage_id'}"/>
- <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]"
- context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
- <filter string="Month" icon="terp-go-month"
- domain="[]" context="{'group_by':'create_date'}" help="Creation Month"/>
+ <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
+ <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
+ <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/>
+ <filter string="Version" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'version_id'}"/>
+ <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/>
+ <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}"/>
+ <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" help="Creation Month"/>
</group>
</search>
</field>
@@ -265,79 +249,81 @@
</record>
- <!-- Project Issue Karban View-->
+ <!-- Project Issue Karban View-->
- <record model="ir.ui.view" id="project_issue_kanban_view">
- <field name="name">Project Issue Kanban</field>
- <field name="model">project.issue</field>
- <field name="type">kanban</field>
- <field name="arch" type="xml">
- <kanban default_group_by="stage_id">
- <field name="color"/>
- <field name="priority"/>
- <field name="user_email"/>
- <field name="user_id"/>
- <field name="date_deadline"/>
- <templates>
- <t t-name="kanban-tooltip">
- <ul class="oe_kanban_tooltip">
- <li><b>Project:</b> <field name="project_id"/></li>
- <li><b>Category:</b> <field name="categ_id"/></li>
- </ul>
- </t>
- <t t-name="kanban-box">
- <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
- <div class="oe_dropdown_toggle oe_dropdown_kanban">
- <span class="oe_e">i</span>
- <ul class="oe_dropdown_menu">
- <li><a type="edit" >Edit...</a></li>
- <li><a type="delete">Delete</a></li>
- <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
- </ul>
- </div>
- <div class="oe_kanban_content" tooltip="kanban-tooltip">
- <div>
- <b><field name="name"/></b> <br/>
- <field name="partner_id"/> <br/>
- <field name="version_id"/>
- </div>
- <div class="oe_kanban_footer_left">
- <div class="oe_right">
- <span class="oe_kanban_highlight">
- <t t-set="priority" t-value="record.priority.raw_value || 5"/>
- <a type="object" name="set_priority" args="['3']" t-if="priority gt 3" title="Normal Priority">
- <img src="/web/static/src/img/icons/star-off.png" width="16" height="16"/>
- </a>
- <a type="object" name="set_priority" args="['5']" t-if="priority lte 3" title="Normal Priority">
- <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 3 ? 'on' : 'off'}.png" width="16" height="16"/>
- </a>
- <a type="object" name="set_priority" args="['2']" title="High Priority">
- <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 2 ? 'on' : 'off'}.png" width="16" height="16"/>
- </a>
- <a type="object" name="set_priority" args="['1']" title="Highest Priority">
- <img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16"/>
- </a>
- </span>
- <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())">
- <span t-attf-class="oe_kanban_status oe_kaban_status_red"> </span>
- </t>
- <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
+ <record model="ir.ui.view" id="project_issue_kanban_view">
+ <field name="name">Project Issue Kanban</field>
+ <field name="model">project.issue</field>
+ <field name="type">kanban</field>
+ <field name="arch" type="xml">
+ <kanban default_group_by="stage_id">
+ <field name="color"/>
+ <field name="priority"/>
+ <field name="user_email"/>
+ <field name="user_id"/>
+ <field name="date_deadline"/>
+ <templates>
+ <t t-name="kanban-tooltip">
+ <ul class="oe_kanban_tooltip">
+ <li><b>Project:</b> <field name="project_id"/></li>
+ <li><b>Category:</b> <field name="categ_ids"/></li>
+ </ul>
+ </t>
+ <t t-name="kanban-box">
+ <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
+ <div class="oe_dropdown_toggle oe_dropdown_kanban">
+ <span class="oe_e">i</span>
+ <ul class="oe_dropdown_menu">
+ <li><a type="edit" >Edit...</a></li>
+ <li><a type="delete">Delete</a></li>
+ <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
+ </ul>
+ </div>
+ <div class="oe_kanban_content" tooltip="kanban-tooltip">
+ <div>
+ <b><field name="name"/></b> <br/>
+ <field name="partner_id"/> <br/>
+ <field name="version_id"/>
+ </div>
+ <div class="oe_kanban_footer_left">
+ <div class="oe_left oe_tags">
+ <t t-foreach="record.categ_ids.raw_value" t-as="categ_id">
+ <span class="oe_tag" t-att-data-categ_id="categ_id"></span>
+ </t>
+ </div>
+ <div class="oe_right">
+ <span class="oe_kanban_highlight">
+ <t t-set="priority" t-value="record.priority.raw_value || 5"/>
+ <a type="object" name="set_priority" args="['3']" t-if="priority gt 3" title="Normal Priority">
+ <img src="/web/static/src/img/icons/star-off.png" width="16" height="16"/>
+ </a>
+ <a type="object" name="set_priority" args="['5']" t-if="priority lte 3" title="Normal Priority">
+ <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 3 ? 'on' : 'off'}.png" width="16" height="16"/>
+ </a>
+ <a type="object" name="set_priority" args="['2']" title="High Priority">
+ <img t-attf-src="/web/static/src/img/icons/star-#{priority lte 2 ? 'on' : 'off'}.png" width="16" height="16"/>
+ </a>
+ <a type="object" name="set_priority" args="['1']" title="Highest Priority">
+ <img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16"/>
+ </a>
+ </span>
+ <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())">
+ <span t-attf-class="oe_kanban_status oe_kaban_status_red"> </span>
+ </t>
+ <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
+ </div>
</div>
</div>
+ <div class="oe_clear"></div>
</div>
- <div class="oe_clear"></div>
- </div>
- </t>
- </templates>
- </kanban>
- </field>
- </record>
-
+ </t>
+ </templates>
+ </kanban>
+ </field>
+ </record>
- # ------------------------------------------------------
- # Feature Requests
- # ------------------------------------------------------
+ <!-- Feature Requests -->
<record model="ir.ui.view" id="project_feature_tree_view">
<field name="name">Project Issue- Feature Tracker Tree</field>
<field name="model">project.issue</field>
@@ -363,22 +349,17 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Feature Tracker Search">
- <group>
- <field name="name" string="Feature description"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/>
- <filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/>
- <separator orientation="vertical"/>
- <field name="user_id"/>
- <field name="project_id" string="Project"/>
- <field name="state" groups="base.group_no_one"/>
- </group>
+ <field name="name" string="Feature description"/>
+ <field name="date"/>
+ <field name="state" groups="base.group_no_one"/>
+ <filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/>
+ <filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/>
+ <field name="user_id"/>
+ <field name="project_id" string="Project"/>
</search>
</field>
</record>
-
+
<act_window id="act_project_project_2_project_issue_all"
name="Issues"
src_model="project.project"
@@ -387,10 +368,7 @@
view_mode="kanban,tree,form,calendar,graph"
context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"/>
- # ------------------------------------------------------
- # Project
- # ------------------------------------------------------
-
+ <!-- Project -->
<record id="view_project_form_inherited" model="ir.ui.view">
<field name="name">project.project.form.inherited</field>
<field name="model">project.project</field>
@@ -409,7 +387,7 @@
</field>
</field>
</record>
-
+
<record id="view_project_kanban_inherited" model="ir.ui.view">
<field name="name">project.project.kanban.inherited</field>
<field name="model">project.project</field>
@@ -427,7 +405,8 @@
</xpath>
</field>
</record>
- <record id="analytic_account_inherited_issue_form" model="ir.ui.view">
+
+ <record id="analytic_account_inherited_issue_form" model="ir.ui.view">
<field name="name">account.analytic.account.issue.form.inherit</field>
<field name="model">account.analytic.account</field>
<field name="type">form</field>
@@ -438,9 +417,10 @@
<separator colspan="4" string="Project Management" name="project_sep"/> <!-- removal of invisible attribute -->
</xpath>
<xpath expr='//separator[@name="project_sep"]' position='after'>
- <field name="use_issues" />
+ <field name="use_issues"/>
</xpath>
</field>
</record>
+
</data>
</openerp>
diff --git a/addons/project_issue/report/project_issue_report.py b/addons/project_issue/report/project_issue_report.py
index 5957ee284e8..b43cbc51c50 100644
--- a/addons/project_issue/report/project_issue_report.py
+++ b/addons/project_issue/report/project_issue_report.py
@@ -50,7 +50,6 @@ class project_issue_report(osv.osv):
'opening_date': fields.date('Date of Opening', readonly=True),
'creation_date': fields.date('Creation Date', readonly=True),
'date_closed': fields.date('Date of Closing', readonly=True),
- 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'project.issue')]"),
'stage_id': fields.many2one('project.task.type', 'Stage'),
'nbr': fields.integer('# of Issues', readonly=True),
'working_hours_open': fields.float('Avg. Working Hours to Open', readonly=True),
@@ -86,7 +85,6 @@ class project_issue_report(osv.osv):
c.working_hours_open,
c.working_hours_close,
c.section_id,
- c.categ_id,
c.stage_id,
to_char(c.date_closed, 'YYYY-mm-dd') as date_closed,
c.company_id as company_id,
@@ -104,7 +102,7 @@ class project_issue_report(osv.osv):
FROM
project_issue c
- WHERE c.active= 'true' and c.categ_id IN (select id from crm_case_categ where object_id in (select id from ir_model where model = 'project.issue'))
+ WHERE c.active= 'true'
)""")
project_issue_report()
diff --git a/addons/project_issue/report/project_issue_report_view.xml b/addons/project_issue/report/project_issue_report_view.xml
index 862f52b1931..c1ae69517c2 100644
--- a/addons/project_issue/report/project_issue_report_view.xml
+++ b/addons/project_issue/report/project_issue_report_view.xml
@@ -17,19 +17,18 @@
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
<field name="section_id" invisible="1"/>
<field name="user_id" invisible="1"/>
- <field name="categ_id" invisible="1"/>
<field name="channel_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
- <field name="task_id" invisible="1"/>
+ <field name="task_id" invisible="1"/>
<field name="date_closed" invisible="1"/>
<field name="state" invisible="1"/>
<field name="day" invisible="1"/>
- <field name="nbr" string="#Project Issues" sum='#Number of Project Issues'/>
- <field name="delay_open" avg='Avg Opening Delay'/>
- <field name="delay_close" avg='Avg Closing Delay'/>
- <field name="working_hours_open" avg='Open Working Hours'/>
- <field name="working_hours_close" avg='Close Working hours'/>
- <field name="email" sum='# Emails'/>
+ <field name="nbr" string="#Project Issues" sum="#Number of Project Issues"/>
+ <field name="delay_open" avg="Avg Opening Delay"/>
+ <field name="delay_close" avg="Avg Closing Delay"/>
+ <field name="working_hours_open" avg="Open Working Hours"/>
+ <field name="working_hours_close" avg="Close Working hours"/>
+ <field name="email" sum="# Emails"/>
</tree>
</field>
</record>
@@ -52,61 +51,30 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search">
- <group>
- <field name="creation_date"/>
- <separator orientation="vertical" />
- <filter icon="terp-camera_test"
- string="New"
- domain="[('state','=','draft')]"/>
- <filter icon="terp-check"
- string="To Do"
- domain="[('state','=','open')]"/>
- <filter icon="terp-gtk-media-pause"
- string="Pending"
- domain="[('state','=','pending')]"/>
- <filter icon="terp-dialog-close"
- string="Done"
- domain="[('state','=','done')]"/>
- <separator orientation="vertical" />
- <field name="project_id"/>
- <field name="user_id" widget="selection"/>
- <field name="partner_id"/>
- <field name="version_id" widget="selection" />
- </group>
- <newline/>
- <group expand="1" string="Group By...">
- <filter string="Assigned to" name="Responsible" icon="terp-personal"
- domain="[]" context="{'group_by':'user_id'}" />
+ <field name="creation_date"/>
+ <filter icon="terp-camera_test" string="New" domain="[('state','=','draft')]"/>
+ <filter icon="terp-check" string="To Do" domain="[('state','=','open')]"/>
+ <filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]"/>
+ <filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/>
+ <field name="project_id"/>
+ <field name="user_id"/>
+ <field name="partner_id"/>
+ <field name="version_id"/>
+ <group expand="1" string="Group By...">
+ <filter string="Assigned to" name="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" />
- <separator orientation="vertical" />
- <filter string="Sale Team" icon="terp-personal+"
- domain="[]"
- context="{'group_by':'section_id'}" />
- <separator orientation="vertical" />
+ <filter string="Sale Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}" />
<filter string="Project" name="project" icon="terp-folder-violet" context="{'group_by':'project_id'}" />
<filter string="Task" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'task_id'}"/>
- <separator orientation="vertical" />
- <filter string="Category" icon="terp-stock_symbol-selection"
- domain="[]" context="{'group_by':'categ_id'}" />
+ <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
<filter string="Version" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'version_id'}"/>
- <separator orientation="vertical" />
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
- <filter string="Status" icon="terp-stock_effects-object-colorize"
- domain="[]" context="{'group_by':'state'}" />
- <separator orientation="vertical"/>
- <filter string="Company" icon="terp-go-home"
- domain="[]"
- context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical" />
- <filter string="Day" icon="terp-go-today"
- domain="[]" context="{'group_by':'day'}" help="Creation Date"/>
-
- <filter string="Month" icon="terp-go-month"
- domain="[]" context="{'group_by':'month'}" help="Creation Date"/>
-
- <filter string="Year" icon="terp-go-year"
- domain="[]" context="{'group_by':'name'}" help="Creation Date"/>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" />
+ <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
+ <filter string="Day" icon="terp-go-today" domain="[]" context="{'group_by':'day'}" help="Creation Date"/>
+ <filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'month'}" help="Creation Date"/>
+ <filter string="Year" icon="terp-go-year" domain="[]" context="{'group_by':'name'}" help="Creation Date"/>
</group>
</search>
</field>
diff --git a/addons/project_issue/res_config.py b/addons/project_issue/res_config.py
index ec7080708ac..9fdbf502a62 100644
--- a/addons/project_issue/res_config.py
+++ b/addons/project_issue/res_config.py
@@ -26,7 +26,7 @@ class project_issue_settings(osv.osv_memory):
_inherit = ['project.config.settings', 'fetchmail.config.settings']
_columns = {
- 'fetchmail_issue': fields.boolean("Create Issues from Incoming Mails",
+ 'fetchmail_issue': fields.boolean("create issues from an incoming email account ",
fetchmail_model='project.issue', fetchmail_name='Incoming Issues',
help="""Allows you to configure your incoming mail server, and create issues from incoming emails."""),
}
diff --git a/addons/project_issue/res_config_view.xml b/addons/project_issue/res_config_view.xml
index 81426e2b8a4..956106b6d6b 100644
--- a/addons/project_issue/res_config_view.xml
+++ b/addons/project_issue/res_config_view.xml
@@ -1,23 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
+ <data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="todo_open_project_menu" model="ir.actions.todo">
+ <field name="action_id" ref="project.action_client_project_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+ </data>
<data>
-
<record id="view_config_settings" model="ir.ui.view">
<field name="name">Project Application</field>
<field name="model">project.config.settings</field>
<field name="type">form</field>
<field name="inherit_id" ref="project.view_config_settings"/>
<field name="arch" type="xml">
- <field name="module_project_issue_sheet" position="after">
- <label for="fetchmail_issue"/>
+ <div name="module_project_issue_sheet" position="after">
<div>
- <field name="fetchmail_issue"/>
- <button name="configure_fetchmail_issue" type="object" string="Configure" icon="gtk-go-forward"
- attrs="{'invisible': [('fetchmail_issue','=',False)]}"/>
+ <field name="fetchmail_issue" class="oe_inline"/>
+ <label for="fetchmail_issue"/>
+ <button name="configure_fetchmail_issue"
+ type="object"
+ string="Configure"
+ icon="gtk-go-forward"
+ attrs="{'invisible': [('fetchmail_issue','=',False)]}" class="oe_link"/>
</div>
- </field>
+ </div>
</field>
</record>
-
</data>
</openerp>
diff --git a/addons/project_issue/static/src/js/project_issue.js b/addons/project_issue/static/src/js/project_issue.js
new file mode 100644
index 00000000000..24e5ff7cc49
--- /dev/null
+++ b/addons/project_issue/static/src/js/project_issue.js
@@ -0,0 +1,13 @@
+openerp.portal_project_issue = function(openerp) {
+ openerp.web_kanban.KanbanView.include({
+ on_groups_started: function() {
+ var self = this;
+ self._super.apply(this, arguments);
+
+ if (self.dataset.model === 'project.issue') {
+ // Load project's categories names from m2m field
+ self.project_display_categ_names();
+ }
+ }
+ });
+};
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index 7d7310465d6..3b814cbab6e 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -2,12 +2,9 @@
<openerp>
<data>
- <menuitem id="base.menu_project_long_term" name="Long Term Planning" parent="base.menu_main_pm" sequence="3"/>
-
- # ------------------------------------------------------
- # Project User Allocation
- # ------------------------------------------------------
+ <menuitem id="base.menu_project_long_term" name="Long Term Planning" parent="base.menu_main_pm" sequence="3"/>
+ <!-- Project User Allocation -->
<record id="view_project_user_allocation_gantt" model="ir.ui.view">
<field name="name">project.user.allocation.gantt</field>
<field name="model">project.user.allocation</field>
@@ -69,17 +66,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Planning of Users">
- <group>
- <field name="user_id"/>
- <field name="phase_id"/>
- <field name="project_id"/>
- </group>
- <newline/>
+ <field name="user_id"/>
+ <field name="phase_id"/>
+ <field name="project_id"/>
<group expand="0" string="Group By...">
- <filter name="user" string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/>
- <filter string="Phase" icon="terp-project" domain="[]" context="{'group_by':'phase_id'}"/>
+ <filter name="user" string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
+ <filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}"/>
+ <filter string="Phase" icon="terp-project" domain="[]" context="{'group_by':'phase_id'}"/>
</group>
</search>
</field>
@@ -94,9 +87,7 @@
</record>
- # ------------------------------------------------------
- # Project Phase
- # ------------------------------------------------------
+ <!-- Project Phase -->
<act_window id="act_project_phases"
name="Phases"
src_model="project.project"
@@ -182,7 +173,7 @@
<form string="Project Users" version="7.0">
<group col="4">
<field name="user_id"/>
- <field name="date_start" />
+ <field name="date_start"/>
<field name="date_end"/>
</group>
</form>
@@ -195,7 +186,7 @@
<field name="name"/>
<field name="user_id"/>
<field name="date_start"/>
- <field name="date_end" />
+ <field name="date_end"/>
<field name="planned_hours" widget="float_time"/>
<field name="project_id" invisible="1"/>
<field name="total_hours" sum='Total Hours'/>
@@ -272,25 +263,18 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Project Phases">
- <group>
- <field name="name" string="Project Phases"/>
- <separator orientation="vertical"/>
- <field name="date_start"/>
- <field name="date_end"/>
- <separator orientation="vertical"/>
- <filter string="New" domain="[('state','=','draft')]" name="current" help="New Phases" icon="terp-check"/>
- <filter string="In Progress" name="Progress" domain="[('state','=','open')]" help="In Progress Phases" icon="terp-camera_test"/>
- <filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-gtk-media-pause"/>
- <filter string="My Projects" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-violet"/>
- <separator orientation="vertical"/>
- <field name="project_id"/>
- </group>
- <newline/>
+ <field name="name" string="Project Phases"/>
+ <field name="date_start"/>
+ <field name="date_end"/>
+ <filter string="New" domain="[('state','=','draft')]" name="current" help="New Phases" icon="terp-check"/>
+ <filter string="In Progress" name="Progress" domain="[('state','=','open')]" help="In Progress Phases" icon="terp-camera_test"/>
+ <filter string="Pending" domain="[('state','=','pending')]" help="Pending Phases" icon="terp-gtk-media-pause"/>
+ <separator/>
+ <filter string="My Projects" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-folder-violet"/>
+ <field name="project_id"/>
<group expand="0" string="Group By...">
<filter string="Project" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" name="project"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Month" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}" help="Start Month"/>
</group>
</search>
@@ -317,10 +301,7 @@
</record>
- # ------------------------------------------------------
- # Project Task
- # ------------------------------------------------------
-
+ <!-- Project Task -->
<record id="view_phase_task_form2" model="ir.ui.view">
<field name="name">phase.task.form2</field>
<field name="model">project.task</field>
@@ -368,16 +349,15 @@
</field>
</record>
- <act_window
- context="{'search_default_phase_id': [active_id], 'default_phase_id' : active_id}"
- id="project_phase_task_list"
- name="Related Tasks"
- res_model="project.task"
- src_model="project.phase"
- view_mode="tree,form"
- />
+ <act_window
+ context="{'search_default_phase_id': [active_id], 'default_phase_id' : active_id}"
+ id="project_phase_task_list"
+ name="Related Tasks"
+ res_model="project.task"
+ src_model="project.phase"
+ view_mode="tree,form"/>
- <record id="analytic_account_inherited_phase_form" model="ir.ui.view">
+ <record id="analytic_account_inherited_phase_form" model="ir.ui.view">
<field name="name">account.analytic.account.phase.form.inherit</field>
<field name="model">account.analytic.account</field>
<field name="type">form</field>
@@ -393,10 +373,7 @@
</field>
</record>
- # ------------------------------------------------------
- # Menu Items
- # ------------------------------------------------------
-
+ <!-- Menu Items -->
<menuitem action="act_project_phase_list"
id="menu_project_phase_list" parent="project.menu_project_management" sequence="2"/>
diff --git a/addons/project_timesheet/project_timesheet_view.xml b/addons/project_timesheet/project_timesheet_view.xml
index 7208885748c..46e3ac43551 100644
--- a/addons/project_timesheet/project_timesheet_view.xml
+++ b/addons/project_timesheet/project_timesheet_view.xml
@@ -47,8 +47,9 @@
<field name="type">search</field>
<field name="inherit_id" ref="project.view_project_project_filter"/>
<field name="arch" type="xml">
- <xpath expr='//filter[@string="Member"]' position='after'>
- <filter icon="terp-camera_test" string="Billable" domain="[('to_invoice','!=', False)]" help="Billable Project"/>
+ <xpath expr='//filter[@string="Project(s) Manager"]' position='after'>
+ <separator/>
+ <filter icon="terp-camera_test" string="Billable" domain="[('to_invoice','!=', False)]" help="Billable Project"/>
</xpath>
</field>
</record>
@@ -95,10 +96,14 @@
<field name="domain">[]</field>
<field name="context">{'search_default_to_invoice': 1}</field>
<field name="view_id" ref="view_account_analytic_line_tree_inherit_account_id"/>
- <field name="help">You will find here all works made on tasks that you can invoice.
-In order to invoice the time spent on a project, you must define the
-pricelist and the field 'Invoice Task Work' on the tab 'Billing' of
-the project form.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a work to invoice.
+ </p><p>
+ You will find here all works made on tasks that you can
+ invoice.
+ </p>
+ </field>
</record>
<menuitem action="hr_timesheet.action_hr_timesheet_sign_in"
id="menu_hr_timesheet_sign_in"
@@ -123,7 +128,14 @@ the project form.</field>
<field name="context">{}</field>
<field name="domain">[('type','=','normal')]</field>
<field name="search_view_id" ref="account_analytic_analysis.view_account_analytic_account_overdue_search"/>
- <field name="help">You will find here the contracts related to your customer projects in order to track the invoicing progress.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a customer contract.
+ </p><p>
+ You will find here the contracts related to your customer
+ projects in order to track the invoicing progress.
+ </p>
+ </field>
</record>
<menuitem id="menu_invoicing_contracts" parent="menu_project_billing" sequence="4"
action="account_analytic_analysis.action_account_analytic_overdue"/>
diff --git a/addons/project_timesheet/report/task_report.py b/addons/project_timesheet/report/task_report.py
index 3c223ab6b07..b32d852bc5f 100644
--- a/addons/project_timesheet/report/task_report.py
+++ b/addons/project_timesheet/report/task_report.py
@@ -29,22 +29,8 @@ class report_timesheet_task_user(osv.osv):
_auto = False
_order = "name"
- def _get_task_hours(self, cr, uid, ids, name,args,context):
- result = {}
- for record in self.browse(cr, uid, ids,context):
- last_date = datetime.strptime(record.name, '%Y-%m-%d') + relativedelta(months=1) - relativedelta(days=1)
- task_obj = self.pool.get('project.task.work')
- task_ids = task_obj.search(cr, uid, [('user_id','=',record.user_id.id),('date','>=',record.name),('date','<=',last_date.strftime('%Y-%m-%d'))])
- tsk_hrs = task_obj.read(cr, uid, task_ids, ['hours','date','user_id'])
- total = 0.0
- for hrs in tsk_hrs:
- total += hrs['hours']
- result[record.id] = total
- return result
-
def get_hrs_timesheet(self, cr, uid, ids, name,args,context):
result = {}
- sum = 0.0
for record in self.browse(cr, uid, ids, context):
last_date = datetime.strptime(record.name, '%Y-%m-%d') + relativedelta(months=1) - relativedelta(days=1)
obj = self.pool.get('hr_timesheet_sheet.sheet.day')
@@ -63,7 +49,7 @@ class report_timesheet_task_user(osv.osv):
('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True),
'user_id': fields.many2one('res.users', 'User',readonly=True),
'timesheet_hrs': fields.function(get_hrs_timesheet, string="Timesheet Hours"),
- 'task_hrs': fields.function(_get_task_hours, string="Task Hours"),
+ 'task_hrs' : fields.float('Task Hours'),
}
def init(self, cr):
@@ -74,7 +60,9 @@ class report_timesheet_task_user(osv.osv):
months.name as name,
r.id as user_id,
to_char(to_date(months.name, 'YYYY/MM/DD'),'YYYY') as year,
- to_char(to_date(months.name, 'YYYY/MM/DD'),'MM') as month
+ to_char(to_date(months.name, 'YYYY/MM/DD'),'MM') as month,
+ (select sum(hours) from project_task_work where user_id = r.id and date between to_date(months.name, 'YYYY/MM/DD') and (to_date(months.name, 'YYYY/MM/DD') + interval '1 month' -
+ interval '1 day') ) as task_hrs
from res_users r,
(select to_char(p.date,'YYYY-MM-01') as name,
to_char(p.date,'MM') as m_id
diff --git a/addons/project_timesheet/report/task_report_view.xml b/addons/project_timesheet/report/task_report_view.xml
index 7e79b3793b7..32f8719e9a3 100644
--- a/addons/project_timesheet/report/task_report_view.xml
+++ b/addons/project_timesheet/report/task_report_view.xml
@@ -30,15 +30,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Tasks by User">
- <group>
- <field name="name" string="Date"/>
- <separator orientation="vertical"/>
- <field name="user_id"/>
- </group>
- <newline/>
+ <field name="name" string="Date"/>
+ <field name="user_id"/>
<group expand="1" string="Group By...">
<filter string="User" name="group_user_id" icon="terp-personal" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Group by month of date"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Group by year of date"/>
</group>
diff --git a/addons/purchase/__openerp__.py b/addons/purchase/__openerp__.py
index cb2e8f093aa..eb8df0ff77b 100644
--- a/addons/purchase/__openerp__.py
+++ b/addons/purchase/__openerp__.py
@@ -25,7 +25,7 @@
'version': '1.1',
'category': 'Purchase Management',
"sequence": 19,
- "summary": "Requests for Quotation, Invoicing Control",
+ "summary": "RfQ, Purchase Orders, Delivery & Invoicing Control",
'description': """
Purchase Management module is for generating a purchase order for purchase of goods from a supplier.
====================================================================================================
diff --git a/addons/purchase/purchase_data.xml b/addons/purchase/purchase_data.xml
index 9d7399abab0..75074d4cedf 100644
--- a/addons/purchase/purchase_data.xml
+++ b/addons/purchase/purchase_data.xml
@@ -1,18 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
+
<!-- notify all employees of module installation -->
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
- <value>Module Purchase Management has been installed</value>
- <value>From the top menu Purchases, create purchase orders to buy
- products from your suppliers, encode supplier invoices and
- manage your payments.
+ <value>Module Purchase Management has been installed.</value>
+ <value>From the top menu Purchases, create purchase orders to buy products from your suppliers, encode supplier invoices and manage your payments.
- You can also manage purchase requisitions, see the Purchase
- Settings.
- </value>
+You can also manage purchase requisitions, see the Purchase Settings.</value>
</function>
<record id="req_link_purchase_order" model="res.request.link">
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index 38a858e94d7..3a4b80eb5f4 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -7,6 +7,7 @@
id="base.menu_purchase_root"
groups="group_purchase_manager,group_purchase_user"
sequence="40"/>
+
<menuitem id="menu_procurement_management" name="Purchase"
parent="base.menu_purchase_root" sequence="1" />
@@ -54,12 +55,12 @@
action="base.action_partner_category_form" id="menu_partner_categories_in_form" name="Partner Categories"
parent="purchase.menu_purchase_partner_cat" groups="base.group_no_one"/>
- <!--supplier menu-->
+ <!--Supplier menu-->
<menuitem id="base.menu_procurement_management_supplier_name" name="Suppliers"
parent="menu_procurement_management"
action="base.action_partner_supplier_form" sequence="15"/>
- <!--Inventory control-->
+ <!--Inventory control-->
<menuitem id="menu_procurement_management_inventory" name="Receive Products"
parent="base.menu_purchase_root" sequence="4"/>
<menuitem action="stock.action_picking_tree4" id="menu_action_picking_tree4" parent="menu_procurement_management_inventory"
@@ -80,11 +81,18 @@
<field name="domain">[('type','=','in_invoice')]</field>
<field name="context">{'default_type':'in_invoice', 'type':'in_invoice', 'journal_type': 'purchase', 'search_default_draft': 1}</field>
<field name="search_view_id" ref="account.view_account_invoice_filter"/>
- <field name="help">
- Use this menu to control the invoices to be received from your supplier.
- OpenERP generates draft invoices from your purchase orders or receptions, according to your settings.
- Once you receive a supplier invoice, you can match it with the draft invoice and validate it.
- </field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a draft invoice.
+ </p><p>
+ Use this menu to control the invoices to be received from your
+ supplier. OpenERP generates draft invoices from your purchase
+ orders or receptions, according to your settings.
+ </p><p>
+ Once you receive a supplier invoice, you can match it with the
+ draft invoice and validate it.
+ </p>
+ </field>
</record>
<menuitem name="Based on Draft Invoices"
@@ -93,7 +101,7 @@
parent="menu_procurement_management_invoice"
sequence="13"/>
- <!--product menu-->
+ <!-- Product menu-->
<menuitem id="menu_procurement_management_product" name="Products"
parent="base.menu_purchase_root" sequence="8"/>
@@ -140,7 +148,7 @@
<field name="key2">client_action_multi</field>
</record>
- <record model="ir.ui.view" id="purchase_order_calendar">
+ <record model="ir.ui.view" id="purchase_order_calendar">
<field name="name">purchase.order.calendar</field>
<field name="model">purchase.order</field>
<field name="type">calendar</field>
@@ -245,7 +253,7 @@
<field name="invoice_method"/>
<field name="invoiced"/>
<field name="fiscal_position"/>
- <!-- we do not need these fields anymore, the information is in open chatter -->
+ <!-- We do not need these fields anymore, the information is in open chatter -->
<field name="validator" groups="base.group_no_one"/>
<field name="date_approve" groups="base.group_no_one"/>
</group>
@@ -256,7 +264,7 @@
</notebook>
</sheet>
<div class="oe_chatter">
- <field name="message_ids" widget="mail_thread"/>
+ <field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
@@ -268,29 +276,23 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Purchase Order">
- <group>
<field name="name" string="Reference"/>
- <separator orientation="vertical"/>
<filter icon="terp-document-new" name="draft" string="Quotations" domain="[('state','=','draft')]" help="Purchase order which are in draft state"/>
<filter icon="terp-check" name="approved" string="Approved" domain="[('state','in',('approved','done'))]" help="Approved purchase order"/>
- <filter icon="terp-gtk-go-back-rtl" name="not_invoiced" string="Not Invoiced" domain="[('invoice_ids','=', False)]" help="Purchase orders that include lines not invoiced."/>
<filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" help="Purchase order which are in the exception state"/>
- <separator orientation="vertical"/>
+ <separator/>
+ <filter icon="terp-gtk-go-back-rtl" name="not_invoiced" string="Not Invoiced" domain="[('invoice_ids','=', False)]" help="Purchase orders that include lines not invoiced."/>
<field name="partner_id"/>
<field name="product_id"/>
<field name="create_uid"/>
- </group>
- <newline/>
- <group expand="0" string="Group By...">
- <filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
- <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
- <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
- <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'minimum_planned_date'}"/>
- </group>
- </search>
+ <group expand="0" string="Group By...">
+ <filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
+ <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
+ <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
+ <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'minimum_planned_date'}"/>
+ </group>
+ </search>
</field>
</record>
@@ -300,34 +302,25 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Purchase Order">
- <group>
<field name="name" string="Reference"/>
- <separator orientation="vertical"/>
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
<filter icon="terp-document-new" name="draft" string="Quotations" domain="[('state','=','draft')]" help="Purchase orders which are in draft state"/>
<filter icon="terp-check" name="approved" string="Purchase Orders" domain="[('state','not in',('draft','cancel'))]" help="Approved purchase orders"/>
- <filter icon="terp-gtk-go-back-rtl" name="not_invoiced" string="Not Invoiced" domain="[('invoice_ids','=', False)]" help="Purchase orders that include lines not invoiced."/>
<filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" help="Purchase orders which are in exception state"/>
- <separator orientation="vertical"/>
+ <separator/>
+ <filter icon="terp-gtk-go-back-rtl" name="not_invoiced" string="Not Invoiced" domain="[('invoice_ids','=', False)]" help="Purchase orders that include lines not invoiced."/>
<field name="partner_id"/>
<field name="product_id"/>
<field name="create_uid"/>
- </group>
- <newline/>
- <group expand="0" string="Group By...">
- <filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
- <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
- <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
- <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'minimum_planned_date'}"/>
- </group>
- </search>
+ <group expand="0" string="Group By...">
+ <filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
+ <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
+ <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
+ <filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'minimum_planned_date'}"/>
+ </group>
+ </search>
</field>
</record>
@@ -360,14 +353,17 @@
<field name="context">{'search_default_draft': 1}</field>
<field name="view_mode">tree,form,graph,calendar</field>
<field name="search_view_id" ref="view_purchase_order_filter"/>
- <field name="help">
- Create a request for quotation when you want to buy products from a supplier.
- You can also use this menu to review requests for quotation created automatically
- (based on logistic rules, like minimum stock, MTO, etc.)
- &lt;p&gt;
- Once confirmed, a request for quotation becomes a purchase order.
- In the Purchase Settings, you can select the way to control supplier invoicing:
- based on the order, based on receptions, or manual.
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a request for quotation.
+ </p><p>
+ The quotation contains the history of the discussion/negociation
+ you had with your supplier. Once confirmed, a request for
+ quotation is converted into a purchase order.
+ </p><p>
+ Most propositions of purchase orders are created automatically
+ by OpenERP based on inventory needs.
+ </p>
</field>
</record>
<menuitem action="purchase_rfq" id="menu_purchase_rfq"
@@ -381,7 +377,16 @@
<field name="view_mode">tree,form,graph,calendar</field>
<field name="context">{'search_default_approved': 1}</field>
<field name="search_view_id" ref="view_purchase_order_filter"/>
- <field name="help">Use this menu to search within your purchase orders by references, supplier, products, etc. For each purchase order, you can track the products received, and control the supplier invoices.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a quotation that will be converted into a purchase order.
+ </p><p>
+ Use this menu to search within your purchase orders by
+ references, supplier, products, etc. For each purchase order,
+ you can track the related discussion with the supplier, control
+ the products received and control the supplier invoices.
+ </p>
+ </field>
</record>
<menuitem action="purchase_form_action" id="menu_purchase_form_action" parent="menu_procurement_management" sequence="6"/>
@@ -492,21 +497,16 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Purchase Order">
- <group>
- <field name="order_id"/>
- <field name="product_id"/>
- <field name="partner_id" string="Supplier"/>
- </group>
- <newline/>
+ <field name="order_id"/>
+ <field name="product_id"/>
+ <field name="partner_id" string="Supplier"/>
<group expand="0" string="Group By...">
<filter string="Supplier" icon="terp-partner" domain="[]" context="{'group_by' : 'partner_id'}" />
- <separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by' : 'product_id'}" />
<filter icon="terp-gtk-jump-to-rtl" string="Order Reference" domain="[]" context="{'group_by' :'order_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by' : 'state'}" />
</group>
- </search>
+ </search>
</field>
</record>
@@ -535,10 +535,13 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="purchase_order_line_search"/>
- <field name="help">
- Here you can track all the lines of purchase orders where the invoicing is "Based on Purchase Order Lines",
- and for which you have not received a supplier invoice yet.
- You can generate a draft supplier invoice based on the lines from this list.
+ <field name="help" type="html">
+ <p>
+ Here you can track all the lines of purchase orders where the
+ invoicing is "Based on Purchase Order Lines", and for which you
+ have not received a supplier invoice yet. You can generate a
+ draft supplier invoice based on the lines from this list.
+ </p>
</field>
</record>
<record id="purchase_line_form_action_tree2" model="ir.actions.act_window.view">
@@ -559,9 +562,7 @@
parent="menu_procurement_management_invoice"
sequence="72"/>
- <!--
- Procurements
- -->
+ <!-- Procurements -->
<record id="view_procurement_form_inherit" model="ir.ui.view">
<field name="name">procurement.order.form.inherit</field>
@@ -574,6 +575,5 @@
</xpath>
</field>
</record>
-
</data>
</openerp>
diff --git a/addons/purchase/report/purchase_report_view.xml b/addons/purchase/report/purchase_report_view.xml
index 4cf91053666..aa915c620f5 100644
--- a/addons/purchase/report/purchase_report_view.xml
+++ b/addons/purchase/report/purchase_report_view.xml
@@ -53,29 +53,16 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Purchase Orders">
- <group>
- <filter icon="terp-document-new"
- string="Quotations"
- name="quotes"
- domain="[('state','=','draft')]"/>
- <filter icon="terp-gtk-jump-to-rtl"
- string="Orders"
- name="orders"
- domain="[('state','&lt;&gt;','draft'),('state','&lt;&gt;','cancel')]"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="product_id"/>
- </group>
- <newline/>
+ <filter icon="terp-document-new" string="Quotations" name="quotes" domain="[('state','=','draft')]"/>
+ <filter icon="terp-gtk-jump-to-rtl" string="Orders" name="orders" domain="[('state','&lt;&gt;','draft'),('state','&lt;&gt;','cancel')]"/>
+ <field name="partner_id"/>
+ <field name="product_id"/>
<group expand="0" string="Extended Filters...">
<field name="user_id"/>
<field name="validator"/>
- <separator orientation="vertical"/>
<field name="location_id"/>
- <field name="warehouse_id" widget="selection"/>
- <separator orientation="vertical"/>
+ <field name="warehouse_id"/>
<field name="company_id" groups="base.group_multi_company"/>
- <newline/>
<field name="date"/>
<field name="date_approve"/>
<field name="expected_date"/>
@@ -85,7 +72,6 @@
<filter string="Supplier" name="group_partner_id" icon="terp-personal" context="{'group_by':'partner_id'}"/>
<filter string="Responsible" name="Responsible" icon="terp-personal" context="{'group_by':'user_id'}"/>
<filter string="Validated by" icon="terp-personal" context="{'group_by':'validator'}"/>
- <separator orientation="vertical"/>
<filter string="Product" name="group_product_id" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<filter string="Category" name="group_category_id" icon="terp-stock_symbol-selection" context="{'group_by':'category_id'}"/>
<filter string="Reference Unit of Measure" name="group_product_uom" icon="terp-mrp" context="{'group_by':'product_uom'}"/>
@@ -93,11 +79,8 @@
<filter string="Reference UOM" name="group_product_uom" icon="terp-mrp" context="{'group_by':'product_uom'}"/>
<filter string="Warehouse" icon="terp-go-home" context="{'group_by':'warehouse_id'}"/>
<filter string="Destination" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" 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'}" help="Order of Day"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}" help="Order of Month"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'name'}" help="Order of Year"/>
diff --git a/addons/purchase/res_config.py b/addons/purchase/res_config.py
index c5e72db9f1a..668b8874607 100644
--- a/addons/purchase/res_config.py
+++ b/addons/purchase/res_config.py
@@ -32,34 +32,34 @@ class purchase_config_settings(osv.osv_memory):
[('manual', 'Based on Purchase Order Lines'),
('picking', 'Based on Receptions'),
('order', 'Pre-Generate Draft Invoices based on Purchase Orders'),
- ], 'Default Invoicing Control Method', required=True, default_model='purchase.order'),
- 'group_purchase_pricelist':fields.boolean("Pricelist per Supplier",
+ ], 'default invoicing control method', required=True, default_model='purchase.order'),
+ 'group_purchase_pricelist':fields.boolean("manage pricelist per supplier",
implied_group='product.group_purchase_pricelist',
help="""Allows to manage different prices based on rules per category of Supplier.
Example: 10% for retailers, promotion of 5 EUR on this product, etc."""),
- 'group_uom':fields.boolean("Manage Different Units of Measure for Products",
+ 'group_uom':fields.boolean("manage different units of measure for products",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
- 'group_purchase_delivery_address': fields.boolean("Allow Different Addresses for Delivery and Invoice",
+ 'group_purchase_delivery_address': fields.boolean("allow a different address for incoming products and invoicings",
implied_group='purchase.group_delivery_invoice_address',
help="Allows you to specify different delivery and invoice addresses on a purchase order."),
- 'module_purchase_analytic_plans': fields.boolean('Use Multiple Analytic Accounts on Purchases',
+ 'module_purchase_analytic_plans': fields.boolean('use multiple analytic accounts on orders',
help ="""Allows the user to maintain several analysis plans. These let you split
lines on a purchase order between several accounts and analytic plans.
This installs the module purchase_analytic_plans."""),
- 'module_warning': fields.boolean("Alerts by Products or Supplier",
+ 'module_warning': fields.boolean("alerts by products or supllier",
help="""Allow to configure warnings on products and trigger them when a user wants to purchase a given product or a given supplier.
Example: Product: this product is deprecated, do not purchase more than 5.
Supplier: don't forget to ask for an express delivery."""),
- 'module_purchase_double_validation': fields.boolean("Two Levels of Approval",
+ 'module_purchase_double_validation': fields.boolean("force two levels of approvals",
help="""Provide a double validation mechanism for purchases exceeding minimum amount.
This installs the module purchase_double_validation."""),
- 'module_purchase_requisition': fields.boolean("Manage Purchase Requisitions",
+ 'module_purchase_requisition': fields.boolean("manage purchase requisitions",
help="""Purchase Requisitions are used when you want to request quotations from several suppliers for a given set of products.
You can configure per product if you directly do a Request for Quotation
to one supplier or if you want a purchase requisition to negotiate with several suppliers."""),
- 'decimal_precision': fields.integer('Decimal Precision on Price',help="As an example, a decimal precision of 2 will allow prices like: 9.99 EUR, whereas a decimal precision of 4 will allow prices like: 0.0231 EUR per unit."),
+ 'decimal_precision': fields.integer('specify decimal precision on price',help="As an example, a decimal precision of 2 will allow prices like: 9.99 EUR, whereas a decimal precision of 4 will allow prices like: 0.0231 EUR per unit."),
}
_defaults = {
@@ -80,9 +80,9 @@ class purchase_config_settings(osv.osv_memory):
class account_config_settings(osv.osv_memory):
_inherit = 'account.config.settings'
_columns = {
- 'module_purchase_analytic_plans': fields.boolean('Several Analytic Accounts on Purchases',
+ 'module_purchase_analytic_plans': fields.boolean('use multiple analytic accounts on orders',
help="""This allows install module purchase_analytic_plans."""),
- 'group_analytic_account_for_purchases': fields.boolean('Analytic Accounting for Purchases',
+ 'group_analytic_account_for_purchases': fields.boolean('analytic accounting for purchases',
implied_group='purchase.group_analytic_accounting',
help="Allows you to specify an analytic account on purchase orders."),
}
diff --git a/addons/purchase/res_config_view.xml b/addons/purchase/res_config_view.xml
index 9cfcf4ea3d6..3682c9eefee 100644
--- a/addons/purchase/res_config_view.xml
+++ b/addons/purchase/res_config_view.xml
@@ -1,33 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
<openerp>
+ <data noupdate="1">
+ <!-- After installation of the module, open the related menu -->
+ <record id="action_client_purchase_menu" model="ir.actions.client">
+ <field name="name">Open Purchase Menu</field>
+ <field name="tag">reload</field>
+ <field name="params" eval="{'menu_id': ref('base.menu_purchase_root')}"/>
+ </record>
+ <record id="todo_open_purchase_menu" model="ir.actions.todo">
+ <field name="action_id" ref="action_client_purchase_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+ </data>
<data>
-
<record id="view_purchase_configuration" model="ir.ui.view">
<field name="name">purchase settings</field>
<field name="model">purchase.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Configure Purchases" version="7.0">
+ <form string="Configure Purchases" class="oe_form_configuration" version="7.0">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
+ <separator string="Invoicing Process"/>
+ <group>
+ <label for="id" string="Invoicing Settings"/>
+ <div>
+ <div>
+ <label for="default_invoice_method"/>
+ <field name="default_invoice_method" class="oe_inline"/>
+ </div>
+ <div>
+ <label for="decimal_precision"/>
+ <field name="decimal_precision" class="oe_inline"/>
+ </div>
+ </div>
+ </group>
+ <separator string="Purchase Order"/>
+ <group>
+ <label for="id" string="Supplier Features"/>
+ <div>
+ <div>
+ <field name="group_purchase_pricelist" class="oe_inline"/>
+ <label for="group_purchase_pricelist"/>
+ </div>
+ <div>
+ <field name="module_warning" class="oe_inline"/>
+ <label for="module_warning"/>
+ </div>
+ </div>
+ </group>
<group>
- <group>
- <separator string="Purchase Order" colspan="2"/>
- <field name="group_purchase_pricelist"/>
- <field name="group_uom"/>
- <field name="group_purchase_delivery_address"/>
- <field name="module_purchase_double_validation"/>
- <field name="module_purchase_requisition"/>
- <field name="module_warning"/>
- <field name="module_purchase_analytic_plans"/>
- </group>
- <group>
- <separator string="Invoicing" colspan="2"/>
- <field name="default_invoice_method" class="oe_inline"/>
- <field name="decimal_precision" class="oe_inline"/>
- </group>
+ <label for="id" string="Purchase Order"/>
+ <div>
+ <div>
+ <field name="group_uom" class="oe_inline"/>
+ <label for="group_uom"/>
+ </div>
+ <div>
+ <field name="group_purchase_delivery_address" class="oe_inline"/>
+ <label for="group_purchase_delivery_address"/>
+ </div>
+ <div name="module_purchase_double_validation">
+ <field name="module_purchase_double_validation" class="oe_inline"/>
+ <label for="module_purchase_double_validation"/>
+ </div>
+ <div>
+ <field name="module_purchase_requisition" class="oe_inline"/>
+ <label for="module_purchase_requisition"/>
+ </div>
+ <div>
+ <field name="module_purchase_analytic_plans" class="oe_inline"/>
+ <label for="module_purchase_analytic_plans"/>
+ </div>
+ </div>
</group>
</form>
</field>
@@ -51,14 +100,22 @@
<field name="inherit_id" ref="account.view_account_config_settings"/>
<field name="priority" eval="18"/>
<field name="arch" type="xml">
- <separator name="analytic_accounting" position="attributes">
+ <separator name="analytic_account" position="attributes">
<attribute name="invisible">0</attribute>
- <attribute name="colspan">2</attribute>
- </separator>
- <separator name="analytic_accounting" position="after">
- <field name="group_analytic_account_for_purchases"/>
- <field name="module_purchase_analytic_plans" on_change="onchange_purchase_analytic_plans(module_purchase_analytic_plans)"/>
</separator>
+ <group name="analytic_account_purchase" position="attributes">
+ <attribute name="invisible">0</attribute>
+ </group>
+ <xpath expr="//group[@name='analytic_account_purchase']/div" position="inside">
+ <div>
+ <field name="group_analytic_account_for_purchases" class="oe_inline"/>
+ <label for="group_analytic_account_for_purchases"/>
+ </div>
+ <div>
+ <field name="module_purchase_analytic_plans" on_change="onchange_purchase_analytic_plans(module_purchase_analytic_plans)" class="oe_inline"/>
+ <label for="module_purchase_analytic_plans"/>
+ </div>
+ </xpath>
</field>
</record>
diff --git a/addons/purchase/stock_view.xml b/addons/purchase/stock_view.xml
index 27318adc0f5..f973d19344f 100644
--- a/addons/purchase/stock_view.xml
+++ b/addons/purchase/stock_view.xml
@@ -46,35 +46,21 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Picking to Invoice">
- <group col="8" colspan="4">
- <field name="name" string="Picking to Invoice" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" name="available" string="Available"
- domain="[('state','=','assigned')]" help="Incoming Shipments Available"/>
- <filter icon="terp-dialog-close" name="done" string="Received"
- domain="[('state','=','done')]" help="Incoming Shipments already Received"/>
- <filter icon="terp-accessories-archiver-minus" string="Back Orders"
- domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
- <filter string="To Invoice" name="to_invoice" icon="terp-dolar"
- domain="[('invoice_state', '=', '2binvoiced')]"/>
- <separator orientation="vertical"/>
- <field name="stock_journal_id" widget="selection"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- <field name="purchase_id" />
- </group>
- <newline/>
+ <field name="name" string="Picking to Invoice" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
+ <filter icon="terp-check" name="available" string="Available" domain="[('state','=','assigned')]" help="Incoming Shipments Available"/>
+ <filter icon="terp-dialog-close" name="done" string="Received" domain="[('state','=','done')]" help="Incoming Shipments already Received"/>
+ <separator/>
+ <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
+ <separator/>
+ <filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/>
+ <field name="stock_journal_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
+ <field name="purchase_id" />
<group expand="0" string="Group By..." colspan="4" col="8">
- <separator orientation="vertical"/>
- <filter icon="terp-stock_effects-object-colorize" name="Status" string="Status"
- domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
- <filter string="Order Date" icon="terp-go-month"
- domain="[]" context="{'group_by':'date'}"/>
- <filter string="Scheduled Date" icon="terp-go-month"
- domain="[]" context="{'group_by':'min_date'}"/>
- <separator orientation="vertical"/>
- <filter string="Journal" icon="terp-folder-orange"
- domain="[]" context="{'group_by':'stock_journal_id'}"/>
+ <filter icon="terp-stock_effects-object-colorize" name="Status" string="Status" domain="[]" context="{'group_by':'state'}"/>
+ <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
+ <filter string="Scheduled Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
+ <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
</group>
</search>
</field>
@@ -115,10 +101,13 @@
<field name="domain">[('type','=','in')]</field>
<field name="context">{"default_type": "in", "contact_display": "partner_address", "search_default_done": 1, "search_default_to_invoice": 1}</field>
<field name="search_view_id" ref="view_picking_in_search_picking_to_invoice"/>
- <field name="help">
- Here you can track all the product receptions of purchase orders where the invoicing is "Based on Incoming Shipments",
+ <field name="help" type="html">
+ <p>
+ Here you can track all the product receptions of purchase
+ orders where the invoicing is "Based on Incoming Shipments",
and for which you have not received a supplier invoice yet.
You can generate a supplier invoice based on those receptions.
+ </p>
</field>
</record>
diff --git a/addons/purchase_double_validation/purchase_double_validation_installer.py b/addons/purchase_double_validation/purchase_double_validation_installer.py
index cff984c473f..1e2181fc9f3 100644
--- a/addons/purchase_double_validation/purchase_double_validation_installer.py
+++ b/addons/purchase_double_validation/purchase_double_validation_installer.py
@@ -24,7 +24,7 @@ from osv import fields, osv
class purchase_config_settings(osv.osv_memory):
_inherit = 'purchase.config.settings'
_columns = {
- 'limit_amount': fields.integer('Limit to Require a Second Approval',required=True,
+ 'limit_amount': fields.integer('limit to require a second approval',required=True,
help="Amount after which validation of purchase is required."),
}
diff --git a/addons/purchase_double_validation/purchase_double_validation_installer.xml b/addons/purchase_double_validation/purchase_double_validation_installer.xml
index 426dcae859a..efba6bf9d76 100644
--- a/addons/purchase_double_validation/purchase_double_validation_installer.xml
+++ b/addons/purchase_double_validation/purchase_double_validation_installer.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
@@ -7,9 +8,12 @@
<field name="type">form</field>
<field name="inherit_id" ref="purchase.view_purchase_configuration"/>
<field name="arch" type="xml">
- <field name="module_purchase_double_validation" position="after">
- <field name="limit_amount" attrs="{'required': [('module_purchase_double_validation','=',True)]}"/>
- </field>
+ <div name="module_purchase_double_validation" position="inside">
+ <span attrs="{'invisible': [('module_purchase_double_validation','=',False)]}" class="oe_separate-from-text">
+ <label for="limit_amount"/>
+ <field name="limit_amount" attrs="{'required': [('module_purchase_double_validation','=',True)]}" class="oe_inline"/>
+ </span>
+ </div>
</field>
</record>
diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml
index c1fc14c29bf..905de3dba51 100644
--- a/addons/purchase_requisition/purchase_requisition_view.xml
+++ b/addons/purchase_requisition/purchase_requisition_view.xml
@@ -134,28 +134,21 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Purchase Requisition">
- <group>
<field name="name" string="Purchase Requisition"/>
- <separator orientation="vertical"/>
+ <field name="exclusive" />
<filter icon="terp-document-new" name="draft" string="New" domain="[('state','=','draft')]" help="New Purchase Requisition"/>
<filter icon="terp-camera_test" string="Sent to Suppliers" domain="[('state','=','in_progress')]" help="Purchase Requisition in negociation"/>
<filter icon="terp-dialog-close" string="Purchase Done" domain="[('state','=','done')]" help="Current Purchase Requisition"/>
- <separator orientation="vertical"/>
+ <separator/>
<filter icon="terp-personal-" string="Unassigned" domain="[('user_id','=', False)]" help="Unassigned Requisition"/>
- <separator orientation="vertical"/>
<field name="user_id" />
- <field name="exclusive" />
- </group>
- <newline/>
- <group expand="0" string="Group By...">
- <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
- <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
- <filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}"/>
- <filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_end'}"/>
- </group>
+ <group expand="0" string="Group By...">
+ <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
+ <filter string="Source" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
+ <filter string="Start Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_start'}"/>
+ <filter string="End Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_end'}"/>
+ </group>
</search>
</field>
</record>
@@ -169,7 +162,17 @@
<field name="view_mode">tree,form</field>
<field name="context">{"search_default_create_uid":uid}</field>
<field name="search_view_id" ref="view_purchase_requisition_filter"/>
- <field name="help">A purchase requisition is the step before a request for quotation. In a purchase requisition (or purchase tender), you can record the products you need to buy and trigger the creation of RfQs to suppliers. After the negotiation, once you have reviewed all the supplier's offers, you can validate some and cancel others.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to start a new purchase requisition process.
+ </p><p>
+ A purchase requisition is the step before a request for quotation.
+ In a purchase requisition (or purchase tender), you can record the
+ products you need to buy and trigger the creation of RfQs to
+ suppliers. After the negotiation, once you have reviewed all the
+ supplier's offers, you can validate some and cancel others.
+ </p>
+ </field>
</record>
<menuitem
diff --git a/addons/report_intrastat/report_intrastat_view.xml b/addons/report_intrastat/report_intrastat_view.xml
index c481296196c..73cf99bec34 100644
--- a/addons/report_intrastat/report_intrastat_view.xml
+++ b/addons/report_intrastat/report_intrastat_view.xml
@@ -99,12 +99,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Intrastat Data">
- <group>
- <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Intrastat Data"/>
- <field name="intrastat_id"/>
- <field name="month"/>
- <field name="type"/>
- </group>
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Intrastat Data"/>
+ <field name="month"/>
+ <field name="type"/>
+ <field name="intrastat_id"/>
</search>
</field>
</record>
diff --git a/addons/resource/resource_view.xml b/addons/resource/resource_view.xml
index 8a0823a8c15..5b388469f3c 100644
--- a/addons/resource/resource_view.xml
+++ b/addons/resource/resource_view.xml
@@ -10,23 +10,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Resource">
- <group>
- <field name="name" string="Resource"/>
- <separator orientation="vertical"/>
- <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/>
- <separator orientation="vertical"/>
- <field name="user_id" string="User"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- <field name="resource_type"/>
- </group>
- <newline/>
+ <field name="name" string="Resource"/>
+ <field name="resource_type"/>
+ <filter string="Inactive" icon="terp-gdu-smart-failing" domain="[('active','=',False)]"/>
+ <field name="user_id" string="User"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'resource_type'}"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical" />
<filter string="Working Period" icon="terp-go-today" domain="[]" context="{'group_by':'calendar_id'}"/>
</group>
</search>
@@ -39,12 +31,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Working Time">
- <group>
- <field name="name" string="Working Time"/>
- <separator orientation="vertical"/>
- <field name="manager"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- </group>
+ <field name="name" string="Working Time"/>
+ <field name="manager"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
</record>
@@ -55,19 +44,13 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Working Period Leaves">
- <group>
- <field name="name" string="Reason"/>
- <separator orientation="vertical"/>
- <field name="resource_id" string="Resource"/>
- <field name="company_id" string="Company" widget="selection" groups="base.group_multi_company"/>
- <field name="calendar_id" string="Working Period" widget="selection"/>
- </group>
- <newline/>
- <group expand="0" string="Group By...">
+ <field name="name" string="Reason"/>
+ <field name="resource_id" string="Resource"/>
+ <field name="company_id" string="Company" groups="base.group_multi_company"/>
+ <field name="calendar_id" string="Working Period"/>
+ <group expand="0" string="Group By...">
<filter string="Resource" icon="terp-personal" domain="[]" context="{'group_by':'resource_id'}"/>
- <separator orientation="vertical"/>
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
- <separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_from'}" help="Starting Date of Leave"/>
</group>
</search>
diff --git a/addons/sale/__openerp__.py b/addons/sale/__openerp__.py
index f5bf1adb436..b6be6f7b1e3 100644
--- a/addons/sale/__openerp__.py
+++ b/addons/sale/__openerp__.py
@@ -24,7 +24,7 @@
'version': '1.0',
'category': 'Sales Management',
"sequence": 14,
- "summary": "Quotations, Sales, Invoicing",
+ "summary": "Quotations, Sale Orders, Invoicing",
'description': """
The base module to manage quotations and sales orders.
======================================================
diff --git a/addons/sale/i18n/mn.po b/addons/sale/i18n/mn.po
index 2fc96bd7db5..ced25296fcc 100644
--- a/addons/sale/i18n/mn.po
+++ b/addons/sale/i18n/mn.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
-"PO-Revision-Date: 2012-05-10 17:34+0000\n"
-"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
+"PO-Revision-Date: 2012-07-31 11:44+0000\n"
+"Last-Translator: gobi <Unknown>\n"
"Language-Team: Mongolian <mn@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-07-21 05:07+0000\n"
-"X-Generator: Launchpad (build 15654)\n"
+"X-Launchpad-Export-Date: 2012-08-01 04:43+0000\n"
+"X-Generator: Launchpad (build 15719)\n"
#. module: sale
#: field:sale.config.picking_policy,timesheet:0
@@ -1491,7 +1491,7 @@ msgstr "Борлуулалт Захиалгын Мөр Нэхэмжлэх Үүс
#. module: sale
#: selection:sale.order,state:0 selection:sale.report,state:0
msgid "Invoice Exception"
-msgstr "Нэхэмжлэлийн алдаа"
+msgstr "Нэхэмжлэлийн сондгойрол"
#. module: sale
#: model:process.node,note:sale.process_node_saleorder0
diff --git a/addons/sale/report/sale_report_view.xml b/addons/sale/report/sale_report_view.xml
index 8eb4fc85ce6..1ac6d425530 100644
--- a/addons/sale/report/sale_report_view.xml
+++ b/addons/sale/report/sale_report_view.xml
@@ -50,53 +50,35 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Sales Analysis">
- <group>
- <field name="date"/>
- <field name="date_confirm"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new"
- string="Quotations"
- domain="[('state','=','draft')]"/>
- <filter icon="terp-check"
- string="Sales"
- domain="[('state','not in',('draft','done','cancel'))]"/>
- <filter icon="terp-accessories-archiver"
- string="Picked"
- domain="[('shipped','=',True)]"/>
- <filter icon="terp-personal"
- string="My Sales"
- help="My Sales"
- domain="[('user_id','=',uid)]"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="product_id"/>
- <field name="user_id"/>
- </group>
- <newline/>
+ <field name="date"/>
+ <field name="date_confirm"/>
+ <filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]"/>
+ <filter icon="terp-check" string="Sales" domain="[('state','not in',('draft','done','cancel'))]"/>
+ <separator/>
+ <filter icon="terp-accessories-archiver" string="Picked" domain="[('shipped','=',True)]"/>
+ <separator/>
+ <filter icon="terp-personal" string="My Sales" help="My Sales" domain="[('user_id','=',uid)]"/>
+ <field name="partner_id"/>
+ <field name="product_id"/>
+ <field name="user_id"/>
<group expand="0" string="Extended Filters...">
- <field name="shop_id" widget="selection"/>
- <field name="categ_id" widget="selection"/>
- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+ <field name="shop_id"/>
+ <field name="categ_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
<filter string="Salesperson" icon="terp-personal" name="User" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-partner" name="Customer" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True}"/>
<filter string="Reference Unit of Measure" icon="terp-mrp" context="{'group_by':'product_uom'}"/>
<filter string="Category of Product" icon="terp-stock_symbol-selection" name="Category" context="{'group_by':'categ_id'}"/>
- <separator orientation="vertical" groups="analytic.group_analytic_accounting"/>
<filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'analytic_account_id'}" groups="analytic.group_analytic_accounting"/>
- <separator orientation="vertical" groups="analytic.group_analytic_accounting"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Shop" icon="terp-go-home" context="{'group_by':'shop_id'}"/>
<filter string="Company" icon="terp-go-home" groups="base.group_multi_company" context="{'group_by':'company_id'}"/>
- <separator orientation="vertical"/>
- <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Ordered date of the sales order"/>
- <filter string="Month" name="order_month" icon="terp-go-month" context="{'group_by':'month'}" help="Ordered month of the sales order"/>
- <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Ordered Year of the sales order"/>
+ <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Ordered date of the sales order"/>
+ <filter string="Month" name="order_month" icon="terp-go-month" context="{'group_by':'month'}" help="Ordered month of the sales order"/>
+ <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Ordered Year of the sales order"/>
</group>
</search>
</field>
diff --git a/addons/sale/res_config.py b/addons/sale/res_config.py
index 45c01c582a0..eb51b20996c 100644
--- a/addons/sale/res_config.py
+++ b/addons/sale/res_config.py
@@ -27,22 +27,22 @@ class sale_configuration(osv.osv_memory):
_inherit = 'sale.config.settings'
_columns = {
- 'group_invoice_so_lines': fields.boolean('Based on Sale Orders',
+ 'group_invoice_so_lines': fields.boolean('generate invoices based on the sale order',
implied_group='sale.group_invoice_so_lines',
help="To allow your salesman to make invoices for sale order lines using the menu 'Lines to Invoice'."),
- 'group_invoice_deli_orders': fields.boolean('Based on Delivery Orders',
+ 'group_invoice_deli_orders': fields.boolean('generate invoices after and based on delivery orders',
implied_group='sale.group_invoice_deli_orders',
help="To allow your salesman to make invoices for Delivery Orders using the menu 'Deliveries to Invoice'."),
- 'task_work': fields.boolean('Based on Task Activities',
+ 'task_work': fields.boolean("prepare invoices based on task's activities",
help="""Lets you transfer the entries under tasks defined for Project Management to
the Timesheet line entries for particular date and particular user with the effect of creating, editing and deleting either ways
and to automatically creates project tasks from procurement lines.
This installs the modules project_timesheet and project_mrp."""),
- 'timesheet': fields.boolean('Based on Timesheet',
+ 'timesheet': fields.boolean('prepare invoices based on timesheets',
help = """For modifying account analytic view to show important data to project manager of services companies.
You can also view the report of account analytic summary user-wise as well as month wise.
This installs the module account_analytic_analysis."""),
- 'module_account_analytic_analysis': fields.boolean('Manage Customer Contracts',
+ 'module_account_analytic_analysis': fields.boolean('use contracts management',
help = """Allows to define your customer contracts conditions: invoicing
method (fixed price, on timesheet, advance invoice), the exact pricing
(650€/day for a developer), the duration (one year support contract).
@@ -50,47 +50,47 @@ class sale_configuration(osv.osv_memory):
It installs the account_analytic_analysis module."""),
'default_order_policy': fields.selection(
[('manual', 'Invoice Based on Sales Orders'), ('picking', 'Invoice Based on Deliveries')],
- 'Default Method', default_model='sale.order',
+ 'The default invoicing method is', default_model='sale.order',
help="You can generate invoices based on sales orders or based on shippings."),
- 'module_delivery': fields.boolean('Allow Charging Shipping Costs',
+ 'module_delivery': fields.boolean('allow adding shipping costs',
help ="""Allows you to add delivery methods in sale orders and delivery orders.
You can define your own carrier and delivery grids for prices.
This installs the module delivery."""),
- 'time_unit': fields.many2one('product.uom', 'Working Time Unit'),
- 'default_picking_policy' : fields.boolean("Configurable Shipping Policy",
- help = "You will be able to configure, per sale order, if you deliver all products at once or if you deliver each product when it is available. This may have an impact on the shipping price."),
- 'group_sale_pricelist':fields.boolean("Pricelist per Customer",
+ 'time_unit': fields.many2one('product.uom', 'The default working time unit for services is'),
+ 'default_picking_policy' : fields.boolean("deliver all at once when all products are available.",
+ help = "Sales order by default will be configured to deliver all products at once instead of delivering each product when it is available. This may have an impact on the shipping price."),
+ 'group_sale_pricelist':fields.boolean("use pricelists to adapt your price per customers",
implied_group='product.group_sale_pricelist',
help="""Allows to manage different prices based on rules per category of customers.
Example: 10% for retailers, promotion of 5 EUR on this product, etc."""),
- 'group_uom':fields.boolean("Allow Different Units of Measure",
+ 'group_uom':fields.boolean("allow using different units of measures",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
- 'group_sale_delivery_address': fields.boolean("Allow Different Addresses for Delivery and Invoice",
+ 'group_sale_delivery_address': fields.boolean("allow a different address for delivery and invoicing ",
implied_group='sale.group_delivery_invoice_address',
help="Allows you to specify different delivery and invoice addresses on a sale order."),
- 'group_mrp_properties': fields.boolean('Properties on Lines',
+ 'group_mrp_properties': fields.boolean('product properties on order lines',
implied_group='sale.group_mrp_properties',
help="Allows you to tag sale order lines with properties."),
- 'group_discount_per_so_line': fields.boolean("Discount per Line",
+ 'group_discount_per_so_line': fields.boolean("allow setting a discount on the sale order lines",
implied_group='sale.group_discount_per_so_line',
help="Allows you to apply some discount per sale order line."),
- 'group_multiple_shops': fields.boolean("Manage Multiple Shops",
+ 'group_multiple_shops': fields.boolean("manage multiple shops",
implied_group='stock.group_locations',
help="This allows to configure and use multiple shops."),
- 'module_warning': fields.boolean("Alerts by Products or Customers",
+ 'module_warning': fields.boolean("allow configuring alerts by customer or products",
help="""Allow to configure warnings on products and trigger them when a user wants to sale a given product or a given customer.
Example: Product: this product is deprecated, do not purchase more than 5.
Supplier: don't forget to ask for an express delivery."""),
- 'module_sale_margin': fields.boolean("Display Margins on Sale Orders",
+ 'module_sale_margin': fields.boolean("display margins on sales orders",
help="""This adds the 'Margin' on sales order.
This gives the profitability by calculating the difference between the Unit Price and Cost Price.
This installs the module sale_margin."""),
- 'module_sale_journal': fields.boolean("Allow Batch Invoicing through Journals",
+ 'module_sale_journal': fields.boolean("allow batch invoicing through journals",
help="""Allows you to categorize your sales and deliveries (picking lists) between different journals,
and perform batch operations on journals.
This installs the module sale_journal."""),
- 'module_analytic_user_function': fields.boolean("Assign User Roles per Contract",
+ 'module_analytic_user_function': fields.boolean("assign user roles per contract",
help="""Allows you to define what is the default function of a specific user on a given account.
This is mostly used when a user encodes his timesheet. The values are retrieved and the fields are auto-filled.
But the possibility to change these values is still available.
@@ -98,7 +98,7 @@ class sale_configuration(osv.osv_memory):
'module_project_timesheet': fields.boolean("Project Timesheet"),
'module_project_mrp': fields.boolean("Project MRP"),
'module_project': fields.boolean("Project"),
- 'decimal_precision': fields.integer('Decimal Precision on Price',help="As an example, a decimal precision of 2 will allow prices like: 9.99 EUR, whereas a decimal precision of 4 will allow prices like: 0.0231 EUR per unit."),
+ 'decimal_precision': fields.integer("Decimal precision on prices:",help="As an example, a decimal precision of 2 will allow prices like: 9.99 EUR, whereas a decimal precision of 4 will allow prices like: 0.0231 EUR per unit."),
}
def _check_decimal(self, cr, uid, ids, context=None):
for decimal in self.browse(cr, uid, ids, context=context):
@@ -190,9 +190,9 @@ class sale_configuration(osv.osv_memory):
class account_config_settings(osv.osv_memory):
_inherit = 'account.config.settings'
_columns = {
- 'module_sale_analytic_plans': fields.boolean('Several Analytic Accounts on Sales',
+ 'module_sale_analytic_plans': fields.boolean('several analytic accounts on sales',
help="""This allows install module sale_analytic_plans."""),
- 'group_analytic_account_for_sales': fields.boolean('Analytic Accounting for Sales',
+ 'group_analytic_account_for_sales': fields.boolean('analytic accounting for sales',
implied_group='sale.group_analytic_accounting',
help="Allows you to specify an analytic account on sale orders."),
}
diff --git a/addons/sale/res_config_view.xml b/addons/sale/res_config_view.xml
index ee05a6d2d26..c827adac4ce 100644
--- a/addons/sale/res_config_view.xml
+++ b/addons/sale/res_config_view.xml
@@ -8,36 +8,125 @@
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
<field name="arch" type="xml">
- <group name="config_sale" position="inside">
+ <div name="customer feature" position="before">
+ <separator string="Invoicing Process"/>
+ <group>
+ <label for="id" string="Invoicing Process"/>
+ <div>
+ <div>
+ <field name="group_invoice_so_lines" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)" class="oe_inline"/>
+ <label for="group_invoice_so_lines"/>
+ </div>
+ <div>
+ <field name="group_invoice_deli_orders" class="oe_inline" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)"/>
+ <label for="group_invoice_deli_orders"/>
+ </div>
+ <div>
+ <field name="task_work" class="oe_inline" on_change="onchange_task_work(task_work)"/>
+ <label for="task_work"/>
+ </div>
+ <div>
+ <field name="timesheet" class="oe_inline" on_change="onchange_timesheet(timesheet)"/>
+ <label for="timesheet"/>
+ </div>
+ </div>
+ </group>
+ <group>
+ <label for="id" string="Default Options" attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('group_invoice_deli_orders','=',False),('group_invoice_so_lines','=',False), ('group_invoice_deli_orders','=',False),('task_work','=',False), ('module_account_analytic_analysis','=',False)]}"/>
+ <div>
+ <div attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('group_invoice_deli_orders','=',False)],'required': ['|',('group_invoice_so_lines','=',True),('group_invoice_deli_orders','=',True)]}">
+ <label for="default_order_policy"/>
+ <field name="default_order_policy" class="oe_inline"/>
+ </div>
+ <div attrs="{'invisible':[('group_invoice_so_lines','=',False), ('group_invoice_deli_orders','=',False)]}">
+ <field name="module_delivery" class="oe_inline"/>
+ <label for="module_delivery"/>
+ </div>
+ <div attrs="{'invisible': [('task_work','=',False), ('module_account_analytic_analysis','=',False)],'required': ['|', ('task_work','=',True), ('module_account_analytic_analysis','=',True)]}">
+ <label for="time_unit"/>
+ <field name="time_unit" domain="[('category_id.name','=','Working Time')]" class="oe_inline"/>
+ </div>
+ </div>
+ </group>
<field name="module_project_timesheet" invisible="1"/>
<field name="module_project_mrp" invisible="1"/>
- <separator string="Sale Order" colspan="2"/>
- <field name="group_uom"/>
- <field name="group_sale_delivery_address"/>
- <field name="group_sale_pricelist"/>
- <field name="group_multiple_shops"/>
- <field name="module_warning"/>
- <field name="decimal_precision"/>
- <field name="default_picking_policy" attrs="{'invisible':[('group_invoice_deli_orders','=',False)]}"/>
- <field name="group_discount_per_so_line"/>
- <field name="group_mrp_properties"/>
- <field name="module_sale_margin"/>
- <field name="module_sale_journal"/>
- </group>
- <group name="config_other" position="inside">
- <separator string="Invoicing Policy" colspan="2" />
- <field name="group_invoice_so_lines" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)"/>
- <field name="group_invoice_deli_orders" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)"/>
- <field name="task_work" on_change="onchange_task_work(task_work)"/>
- <field name="timesheet" on_change="onchange_timesheet(timesheet)"/>
- <field name="default_order_policy" attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('group_invoice_deli_orders','=',False)],'required': ['|',('group_invoice_so_lines','=',True),('group_invoice_deli_orders','=',True)]}"/>
- <field name="module_delivery"/>
- <field name="time_unit" domain="[('category_id.name','=','Working Time')]"
- attrs="{'invisible': [('task_work','=',False), ('module_account_analytic_analysis','=',False)],'required': ['|', ('task_work','=',True), ('module_account_analytic_analysis','=',True)]}"/>
- <separator string="Contracts" colspan="2"/>
- <field name="module_account_analytic_analysis" on_change="onchange_timesheet(module_account_analytic_analysis)"/>
- <field name="module_analytic_user_function" attrs="{'invisible':[('module_account_analytic_analysis','=',False)]}"/>
+ </div>
+ <div name="Customer Features" position="inside">
+ <div>
+ <field name="group_sale_delivery_address" class="oe_inline"/>
+ <label for="group_sale_delivery_address"/>
+ </div>
+ <div>
+ <field name="group_sale_pricelist" class="oe_inline"/>
+ <label for="group_sale_pricelist"/>
+ </div>
+ <div>
+ <field name="module_sale_journal" class="oe_inline"/>
+ <label for="module_sale_journal"/>
+ </div>
+ <div name="module_warning">
+ <field name="module_warning" class="oe_inline"/>
+ <label for="module_warning"/>
+ </div>
+ </div>
+ <group name="Sale" position="before">
+ <group>
+ <label for="id" string="Product Features"/>
+ <div>
+ <div>
+ <field name="group_uom" class="oe_inline"/>
+ <label for="group_uom"/>
+ </div>
+ <div>
+ <field name="group_discount_per_so_line" class="oe_inline"/>
+ <label for="group_discount_per_so_line"/>
+ </div>
+ <div>
+ <field name="group_mrp_properties" class="oe_inline"/>
+ <label for="group_mrp_properties"/>
+ </div>
+ <div>
+ <label for="decimal_precision"/>
+ <field name="decimal_precision" class="oe_inline"/>
+ </div>
+ </div>
+ </group>
</group>
+ <div name="Sale Features" position="inside">
+ <div>
+ <field name="group_multiple_shops" class="oe_inline"/>
+ <label for="group_multiple_shops"/>
+ </div>
+ <div attrs="{'invisible':[('group_invoice_deli_orders','=',False)]}">
+ <field name="default_picking_policy" class="oe_inline"/>
+ <label for="default_picking_policy"/>
+ </div>
+ <div name="module_sale_margin">
+ <field name="module_sale_margin" class="oe_inline"/>
+ <label for="module_sale_margin"/>
+ </div>
+ </div>
+ <div name="customer feature" position="after">
+ <separator string="Contracts Management"/>
+ <p>
+ Use contract to be able to manage your services with
+ multiple invoicing as part of the same contract with
+ your customer.
+ </p>
+ <group>
+ <label for="id" string="Contract Feature"/>
+ <div>
+ <div>
+ <field name="module_account_analytic_analysis" on_change="onchange_timesheet(module_account_analytic_analysis)" class="oe_inline"/>
+ <label for="module_account_analytic_analysis"/>
+ </div>
+ <div attrs="{'invisible':[('module_account_analytic_analysis','=',False)]}">
+ <field name="module_analytic_user_function" class="oe_inline"/>
+ <label for="module_analytic_user_function"/>
+ </div>
+ </div>
+ </group>
+ </div>
</field>
</record>
@@ -51,16 +140,23 @@
<field name="inherit_id" ref="account.view_account_config_settings"/>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
- <separator name="analytic_accounting" position="attributes">
+ <separator name="analytic_account" position="attributes">
<attribute name="invisible">0</attribute>
- <attribute name="colspan">2</attribute>
- </separator>
- <separator name="analytic_accounting" position="after">
- <field name="group_analytic_account_for_sales"/>
- <field name="module_sale_analytic_plans" on_change="onchange_sale_analytic_plans(module_sale_analytic_plans)"/>
</separator>
+ <group name="analytic_account_sale" position="attributes">
+ <attribute name="invisible">0</attribute>
+ </group>
+ <xpath expr="//group[@name='analytic_account_sale']/div" position="inside">
+ <div>
+ <field name="group_analytic_account_for_sales" class="oe_inline"/>
+ <label for="group_analytic_account_for_sales"/>
+ </div>
+ <div>
+ <field name="module_sale_analytic_plans" on_change="onchange_sale_analytic_plans(module_sale_analytic_plans)" class="oe_inline"/>
+ <label for="module_sale_analytic_plans"/>
+ </div>
+ </xpath>
</field>
</record>
-
</data>
</openerp>
diff --git a/addons/sale/res_partner.py b/addons/sale/res_partner.py
index 84c1a9c96ad..d7bcd5804ee 100644
--- a/addons/sale/res_partner.py
+++ b/addons/sale/res_partner.py
@@ -31,6 +31,14 @@ class res_partner(osv.osv):
res[partner.id] = len(partner.sale_order_ids)
return res
+ def copy(self, cr, uid, record_id, default=None, context=None):
+ if default is None:
+ default = {}
+
+ default.update({'sale_order_ids': []})
+
+ super(res_partner, self).copy(cr, uid, record_id, default, context)
+
_columns = {
'sale_order_count': fields.function(_sale_order_count, string='# of Sales Order', type='integer'),
'sale_order_ids': fields.one2many('sale.order','partner_id','Sales Order')
diff --git a/addons/sale/res_partner_view.xml b/addons/sale/res_partner_view.xml
index 76f6f3ad816..cf7fb8137b5 100644
--- a/addons/sale/res_partner_view.xml
+++ b/addons/sale/res_partner_view.xml
@@ -8,13 +8,18 @@
<field name="view_mode">tree,form,graph</field>
<field name="context">{'search_default_partner_id': active_id}</field>
<field name="groups_id" eval="[(4, ref('base.group_sale_salesman'))]"/>
- <field name="help">
- This customer has no quotation or sale order.
- Click here to create a new quotation.
- &lt;p&gt;
- The "Quotation" is the first step of the Sales flow. Manage your sales from quotation to invoice.
- &lt;p&gt;
- You will be able to sell products (manage deliveries) as well as services (create projects).
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a quotation or sale order for this customer.
+ </p><p>
+ OpenERP will help you efficiently handle the complete sale flow:
+ quotation, sale order, delivery, invoicing and
+ payment.
+ </p><p>
+ The social feature helps you organize discussions on each sale
+ order, and allow your customer to keep track of the evolution
+ of the sale order.
+ </p>
</field>
</record>
diff --git a/addons/sale/sale_data.xml b/addons/sale/sale_data.xml
index 8617256d23b..9bdb71bb6db 100644
--- a/addons/sale/sale_data.xml
+++ b/addons/sale/sale_data.xml
@@ -1,6 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
+
+ <!-- After installation of the module, open the related menu -->
+ <record id="action_client_sale_menu" model="ir.actions.client">
+ <field name="name">Open Sale Menu</field>
+ <field name="tag">reload</field>
+ <field name="params" eval="{'menu_id': ref('base.menu_base_partner')}"/>
+ </record>
+ <record id="todo_open_sale_menu" model="ir.actions.todo">
+ <field name="action_id" ref="action_client_sale_menu"/>
+ <field name="type">automatic</field>
+ <field name="sequence">100</field>
+ </record>
+
<!-- Requests Links -->
<record id="req_link_sale_order" model="res.request.link">
<field name="name">Sales Order</field>
@@ -29,8 +42,7 @@
<value>The Sales Management application has been installed.</value>
<value>&lt;b&gt;Click on the top menu &lt;i&gt;'Sales'&lt;/i&gt;&lt;/em&gt; to start managing your customers, sending quotations and processing sale orders.
-If you need to manage your sales pipeline (leads, opportunities, phonecalls), you can install the module &lt;i&gt;CRM&lt;/i&gt; from the top menu Settings.
- </value>
+If you need to manage your sales pipeline (leads, opportunities, phonecalls), you can install the module &lt;i&gt;CRM&lt;/i&gt; from the top menu Settings.</value>
</function>
</data>
</openerp>
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index a73f7744e53..a14841541a0 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -58,7 +58,15 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_shop_tree"/>
- <field name="help">If you have more than one shop reselling your company products, you can create and manage that from here. Whenever you will record a new quotation or sales order, it has to be linked to a shop. The shop also defines the warehouse from which the products will be delivered for each particular sales.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new sale shop.
+ </p><p>
+ Each quotation or sale order must be linked to a shop. The
+ shop also defines the warehouse from which the products will be
+ delivered for each particular sales.
+ </p>
+ </field>
</record>
<menuitem action="action_shop_form" id="menu_action_shop_form" parent="base.menu_base_config" sequence="35"
@@ -164,7 +172,7 @@
<button name="action_button_confirm" states="sent" string="Confirm" class="oe_highlight" type="object"/>
<button name="action_view_invoice" string="Open Invoice" type="object" class="oe_highlight"
attrs="{'invisible': ['|','|',('state', '!=','progress'), ('invoiced', '=', True),('order_policy','=','picking')]}"/>
- <button name="action_view_delivery" string="Open Delivery Order" type="object" class="oe_highlight"
+ <button name="action_view_delivery" string="View Delivery Order" type="object" class="oe_highlight"
attrs="{'invisible': ['|','|','|',('picking_ids','=',False),('picking_ids','=',[]), ('state', 'not in', ('progress','manual')),('shipped','=',True)]}"/>
<button name="%(action_view_sale_advance_payment_inv)d" string="Create Invoice"
type="action" states="manual" class="oe_highlight"/>
@@ -287,14 +295,18 @@
<group class="oe_subtotal_footer oe_right" colspan="2" name="sale_total">
<field name="amount_untaxed"/>
<field name="amount_tax"/>
- <field name="amount_total" class="oe_subtotal_footer_separator"/>
+ <div class="oe_subtotal_footer_separator oe_inline">
+ <label for="amount_total" />
+ <button name="button_dummy"
+ states="draft" string="(update)" type="object" class="oe_edit_only oe_link"/>
+ </div>
+ <field name="amount_total" nolabel="1" class="oe_subtotal_footer_separator"/>
</group>
<group name="sale_margin_grp">
</group>
- <div class="oe_clear">
- <label for="note"/>
- </div>
- <field name="note" class="oe_inline"/>
+ <div class="oe_clear"/>
+ <label for="note"/>
+ <field name="note"/>
</page>
<page string="Other Information" groups="base.group_user">
<group>
@@ -359,26 +371,20 @@
<field name="arch" type="xml">
<search string="Search Sales Order">
<field name="name" string="Sales Order" filter_domain="['|',('name','ilike',self),('client_order_ref','ilike',self)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-mail-message-new"
- string="Inbox" help="Unread messages"
- name="needaction_pending"
- domain="[('needaction_pending','=',True)]"/>
- <separator orientation="vertical"/>
+ <filter icon="terp-mail-message-new" string="Inbox" help="Unread messages" name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
+ <separator/>
<filter icon="terp-document-new" string="Quotations" name="draft" domain="[('state','in',('draft','sent'))]" help="Sales Order that haven't yet been confirmed"/>
<filter icon="terp-check" string="Sales" name="sales" domain="[('state','in',('manual','progress'))]"/>
<filter icon="terp-dolar_ok!" string="To Invoice" domain="[('state','=','manual')]" help="Sales Order ready to be invoiced"/>
+ <filter icon="terp-dolar_ok!" string="Done" domain="[('state','=','done')]" help="Sales Order done"/>
+ <separator/>
<filter string="My Sale Orders" domain="[('user_id','=',uid)]" help="My Sale Orders" icon="terp-personal" name="my_sale_orders_filter"/>
- <separator orientation="vertical"/>
<field name="partner_id"/>
<field name="user_id"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
</group>
</search>
@@ -393,7 +399,15 @@
<field name="view_mode">tree,form,calendar,graph</field>
<field name="search_view_id" ref="view_sales_order_filter"/>
<field name="context">{"search_default_sales":1}</field>
- <field name="help">Sales Orders help you manage quotations and orders from your customers. OpenERP suggests that you start by creating a quotation. Once it is confirmed, the quotation will be converted into a Sales Order. OpenERP can handle several types of products so that a sales order may trigger tasks, delivery orders, manufacturing orders, purchases and so on. Based on the configuration of the sales order, a draft invoice will be generated so that you just have to confirm it when you want to bill your customer.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a quotation that can be converted into a sale
+ order.
+ </p><p>
+ OpenERP will help you efficiently handle the complete sales flow:
+ quotation, sale order, delivery, invoicing and payment.
+ </p>
+ </field>
</record>
<menuitem action="action_order_form" id="menu_sale_order" parent="base.menu_sales" sequence="5" groups="base.group_sale_salesman,base.group_sale_manager"/>
@@ -427,12 +441,18 @@
<field name="view_mode">tree,form,calendar,graph</field>
<field name="context">{"search_default_draft":1}</field>
<field name="search_view_id" ref="view_sales_order_filter"/>
- <field name="help">
- Click here to create a new quotation.
- &lt;p&gt;
- The "Quotation" is the first step of the Sales flow. Manage your sales from quotation to invoice.
- &lt;p&gt;
- You will be able to sell products (manage deliveries) as well as services (create projects).
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a quotation, the first step of a new sale.
+ </p><p>
+ OpenERP will help you handle efficiently the complete sale flow:
+ from the quotation to the sale order, the
+ delivery, the invoicing and the payment collection.
+ </p><p>
+ The social feature helps you organize discussions on each sale
+ order, and allow your customers to keep track of the evolution
+ of the sale order.
+ </p>
</field>
</record>
@@ -531,13 +551,12 @@
<field name="arch" type="xml">
<search string="Search Sales Order">
<filter icon="terp-dolar_ok!" string="To Invoice" domain="[('invoiced','&lt;&gt;', 1),('state','=','done')]" help="Sale Order Lines ready to be invoiced"/>
+ <separator/>
<filter string="My Sales Order Lines" icon="terp-personnal" domain="[('salesman_id','=',uid)]" help="Sales Order Lines related to a Sales Order of mine"/>
- <separator orientation="vertical"/>
<field name="order_id"/>
<field name="order_partner_id"/>
<field name="product_id"/>
<field name="salesman_id"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'order_id'}"/>
@@ -557,18 +576,17 @@
<filter icon="terp-gtk-go-back-rtl" string="To Do" domain="[('state','=','confirmed')]" name="sale order" help="Confirmed sale order lines, not yet delivered"/>
<filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]" name="sale_order_done" help="Sale order lines done"/>
<filter icon="terp-accessories-archiver" string="Shipped" domain="[('state','=','done')]" name="unshipped" help="Sale Order Lines that are in 'done' state"/>
+ <separator/>
<filter icon="terp-dolar_ok!" string="Uninvoiced" name="uninvoiced" domain="[('invoiced','&lt;&gt;', 1),('state','&lt;&gt;','draft'),('state','&lt;&gt;','cancel')]" help="Sale Order Lines that are confirmed, done or in exception state and haven't yet been invoiced"/>
+ <separator/>
<filter string="My Sales Order Lines" icon="terp-personal" domain="[('salesman_id','=',uid)]" help="My Sales Order Lines"/>
- <separator orientation="vertical"/>
<field name="order_id"/>
<field name="order_partner_id"/>
<field name="product_id"/>
<field name="salesman_id"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'order_id'}" help="Order reference"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
@@ -584,7 +602,14 @@
<field name="search_view_id" ref="view_sales_order_uninvoiced_line_filter"/>
<field name="context">{"search_default_uninvoiced":1}</field>
<field name="filter" eval="True"/>
- <field name="help">Here is a list of each sales order line to be invoiced. You can invoice sales orders partially, by lines of sales order. You do not need this list if you invoice from the delivery orders or if you invoice sales totally.</field>
+ <field name="help" type="html">
+ <p>
+ Here is a list of each sales order line to be invoiced. You can
+ invoice sales orders partially, by lines of sales order. You do
+ not need this list if you invoice from the delivery orders or
+ if you invoice sales totally.
+ </p>
+ </field>
</record>
<record id="action_order_line_tree3" model="ir.actions.act_window">
diff --git a/addons/sale/wizard/sale_make_invoice_advance.py b/addons/sale/wizard/sale_make_invoice_advance.py
index 39999a8d1b7..a09325d663d 100644
--- a/addons/sale/wizard/sale_make_invoice_advance.py
+++ b/addons/sale/wizard/sale_make_invoice_advance.py
@@ -28,7 +28,7 @@ class sale_advance_payment_inv(osv.osv_memory):
_columns = {
'advance_payment_method':fields.selection(
- [('all', 'All'), ('percentage','Percentage'), ('fixed','Fixed Price'),
+ [('all', 'Invoice all the Sale Order'), ('percentage','Percentage'), ('fixed','Fixed Price'),
('lines', 'Some Order Lines')],
'Type', required=True,
help="""Use All to create the final invoice.
diff --git a/addons/sale_crm/i18n/ja.po b/addons/sale_crm/i18n/ja.po
index 5a7e0b77495..aeabdf25de4 100644
--- a/addons/sale_crm/i18n/ja.po
+++ b/addons/sale_crm/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:37+0000\n"
-"PO-Revision-Date: 2012-07-06 21:31+0000\n"
+"PO-Revision-Date: 2012-07-30 16:29+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-07-14 05:49+0000\n"
-"X-Generator: Launchpad (build 15614)\n"
+"X-Launchpad-Export-Date: 2012-08-01 04:43+0000\n"
+"X-Generator: Launchpad (build 15719)\n"
#. module: sale_crm
#: field:sale.order,categ_id:0
@@ -31,12 +31,12 @@ msgstr "注文参照は、会社ごとに固有でなければなりません。
#: code:addons/sale_crm/wizard/crm_make_sale.py:112
#, python-format
msgid "Converted to Sales Quotation(%s)."
-msgstr "販売見積書(%s)を移動"
+msgstr "受注見積(%s)に変換"
#. module: sale_crm
#: view:crm.make.sale:0
msgid "Convert to Quotation"
-msgstr "見積りへ移動"
+msgstr "見積に変換"
#. module: sale_crm
#: code:addons/sale_crm/wizard/crm_make_sale.py:89
@@ -48,7 +48,7 @@ msgstr "データ不足です。"
#: code:addons/sale_crm/wizard/crm_make_sale.py:89
#, python-format
msgid "Customer has no addresses defined!"
-msgstr "顧客の住所が不明確です。"
+msgstr "顧客の住所が定義されていません。"
#. module: sale_crm
#: model:ir.model,name:sale_crm.model_crm_make_sale
@@ -58,7 +58,7 @@ msgstr "営業する。"
#. module: sale_crm
#: view:crm.make.sale:0
msgid "_Create"
-msgstr "_作成"
+msgstr "作成"
#. module: sale_crm
#: view:sale.order:0
@@ -69,22 +69,22 @@ msgstr "私の営業チーム"
#: help:crm.make.sale,close:0
msgid ""
"Check this to close the opportunity after having created the sale order."
-msgstr "発注書を作成後、これをチェックしオポチュニティを終了します。"
+msgstr "発注書を作成後、商談を終了するためにこれをチェックします。"
#. module: sale_crm
#: view:board.board:0
msgid "My Opportunities"
-msgstr "私のオポチュニティ"
+msgstr "私の商談"
#. module: sale_crm
#: view:crm.lead:0
msgid "Convert to Quote"
-msgstr "見積りへ移動"
+msgstr "見積に変換"
#. module: sale_crm
#: field:crm.make.sale,shop_id:0
msgid "Shop"
-msgstr "お店"
+msgstr "店"
#. module: sale_crm
#: field:crm.make.sale,partner_id:0
@@ -95,12 +95,12 @@ msgstr "顧客"
#: code:addons/sale_crm/wizard/crm_make_sale.py:92
#, python-format
msgid "Opportunity: %s"
-msgstr "オポチュニティ: %s"
+msgstr "商談:%s"
#. module: sale_crm
#: field:crm.make.sale,close:0
msgid "Close Opportunity"
-msgstr "オポチュニティ成立"
+msgstr "商談を閉じる"
#. module: sale_crm
#: view:board.board:0
@@ -111,7 +111,7 @@ msgstr "段階別私の計画売上高"
#: code:addons/sale_crm/wizard/crm_make_sale.py:110
#, python-format
msgid "Opportunity '%s' is converted to Quotation."
-msgstr "オポチュニティの'%s' は、見積に変換されました。"
+msgstr "商談 %s は見積に変換されました。"
#. module: sale_crm
#: view:sale.order:0
@@ -122,7 +122,7 @@ msgstr "営業チーム"
#. module: sale_crm
#: model:ir.actions.act_window,name:sale_crm.action_crm_make_sale
msgid "Make Quotation"
-msgstr "見積り作成"
+msgstr "見積作成"
#. module: sale_crm
#: view:crm.make.sale:0
@@ -132,4 +132,4 @@ msgstr "キャンセル"
#. module: sale_crm
#: model:ir.model,name:sale_crm.model_sale_order
msgid "Sales Order"
-msgstr "受注"
+msgstr "受注オーダー"
diff --git a/addons/sale_crm/sale_crm_view.xml b/addons/sale_crm/sale_crm_view.xml
index d6b7f28d049..6efaea2ac53 100644
--- a/addons/sale_crm/sale_crm_view.xml
+++ b/addons/sale_crm/sale_crm_view.xml
@@ -36,13 +36,14 @@
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
<field name="arch" type="xml">
<xpath expr="//filter[@name='my_sale_orders_filter']" position="after">
+ <separator/>
<filter string="My Sales Team(s)"
icon="terp-personal+"
domain="[('section_id.user_id','=',uid)]"
help="My Sales Team(s)"/>
</xpath>
<xpath expr="//field[@name='user_id']" position="after">
- <field name="section_id" widget="selection" string="Sales Team"/>
+ <field name="section_id" string="Sales Team"/>
</xpath>
</field>
</record>
diff --git a/addons/sale_crm/wizard/crm_make_sale.py b/addons/sale_crm/wizard/crm_make_sale.py
index 83d7a0a7783..1125f3fc051 100644
--- a/addons/sale_crm/wizard/crm_make_sale.py
+++ b/addons/sale_crm/wizard/crm_make_sale.py
@@ -143,7 +143,7 @@ class crm_make_sale(osv.osv_memory):
_columns = {
'shop_id': fields.many2one('sale.shop', 'Shop', required=True),
'partner_id': fields.many2one('res.partner', 'Customer', required=True, domain=[('customer','=',True)]),
- 'close': fields.boolean('Close Opportunity', help='Check this to close the opportunity after having created the sale order.'),
+ 'close': fields.boolean('Mark Won', help='Check this to close the opportunity after having created the sale order.'),
}
_defaults = {
'shop_id': _get_shop_id,
diff --git a/addons/sale_margin/i18n/ja.po b/addons/sale_margin/i18n/ja.po
index 6d04bd6e6e0..d0b51f8404f 100644
--- a/addons/sale_margin/i18n/ja.po
+++ b/addons/sale_margin/i18n/ja.po
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:37+0000\n"
-"PO-Revision-Date: 2012-04-20 04:29+0000\n"
-"Last-Translator: Tomomi Mengelberg <tomomi.mengelberg@aquasys.co.jp>\n"
+"PO-Revision-Date: 2012-07-30 16:32+0000\n"
+"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-07-14 06:17+0000\n"
-"X-Generator: Launchpad (build 15614)\n"
+"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n"
+"X-Generator: Launchpad (build 15719)\n"
#. module: sale_margin
#: sql_constraint:sale.order:0
msgid "Order Reference must be unique per Company!"
-msgstr "発注参照は、会社ごとにユニークでなければなりません。"
+msgstr "オーダー参照は、会社ごとに固有でなければなりません。"
#. module: sale_margin
#: field:sale.order.line,purchase_price:0
@@ -30,7 +30,7 @@ msgstr "原価"
#. module: sale_margin
#: model:ir.model,name:sale_margin.model_sale_order
msgid "Sales Order"
-msgstr "受注"
+msgstr "受注オーダー"
#. module: sale_margin
#: help:sale.order,margin:0
@@ -48,4 +48,4 @@ msgstr "粗利益"
#. module: sale_margin
#: model:ir.model,name:sale_margin.model_sale_order_line
msgid "Sales Order Line"
-msgstr "受注明細"
+msgstr "受注オーダー行"
diff --git a/addons/share/res_users_view.xml b/addons/share/res_users_view.xml
index defbc522340..3af69bb025b 100644
--- a/addons/share/res_users_view.xml
+++ b/addons/share/res_users_view.xml
@@ -7,8 +7,7 @@
<field name="type">search</field>
<field name="inherit_id" ref="base.view_users_search"/>
<field name="arch" type="xml">
- <xpath expr="//field[@name='name']" position="after">
- <separator orientation="vertical"/>
+ <xpath expr="//field[@name='company_ids']" position="after">
<filter name="no_share" string="Regular users only (no share user)" icon="terp-partner"
domain="[('share','=',False)]"/>
</xpath>
@@ -32,11 +31,8 @@
<field name="arch" type="xml">
<search string="Groups">
<field name="name" string="Group"/>
- <separator orientation="vertical"/>
- <filter name="no_share" string="Regular groups only (no share groups)" icon="terp-partner"
- domain="[('share','=',False)]"/>
- <separator orientation="vertical"/>
<field name="share"/>
+ <filter name="no_share" string="Regular groups only (no share groups)" icon="terp-partner" domain="[('share','=',False)]"/>
</search>
</field>
</record>
diff --git a/addons/signup/res_config.py b/addons/signup/res_config.py
index 53f0513b234..3dfc7fadbdc 100644
--- a/addons/signup/res_config.py
+++ b/addons/signup/res_config.py
@@ -4,7 +4,7 @@ class base_config_settings(osv.TransientModel):
_inherit = 'base.config.settings'
_columns = {
- 'signup_template_user_id': fields.many2one('res.users', 'Template user for signup')
+ 'signup_template_user_id': fields.many2one('res.users', 'Template user for new users created through signup')
}
def get_default_signup(self, cr, uid, fields, context=None):
diff --git a/addons/signup/res_config.xml b/addons/signup/res_config.xml
index d13f7002d17..6c4f7e921eb 100644
--- a/addons/signup/res_config.xml
+++ b/addons/signup/res_config.xml
@@ -1,16 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
+
<record id="view_general_configuration" model="ir.ui.view">
<field name="name">base.config.settings.signup</field>
<field name="model">base.config.settings</field>
<field name="inherit_id" ref="base_setup.view_general_configuration"/>
<field name="type">form</field>
<field name="arch" type="xml">
- <field name="module_portal" position="after">
- <field name="signup_template_user_id"/>
- </field>
+ <xpath expr="//group[last()]" position="after">
+ <group>
+ <label for="id" string="External Users"/>
+ <div>
+ <div>
+ <label for="signup_template_user_id"/>
+ <field name="signup_template_user_id" class="oe_inline"/>
+ </div>
+ </div>
+ </group>
+ </xpath>
</field>
</record>
+
</data>
</openerp>
-
diff --git a/addons/signup/signup.xml b/addons/signup/signup.xml
index 3dacf85feb4..5d92c7857e2 100644
--- a/addons/signup/signup.xml
+++ b/addons/signup/signup.xml
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
+
<record id="signup_form_view" model="ir.ui.view">
<field name="name">signup.signup.form</field>
<field name="model">signup.signup</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Signup" version="7.0">
- <field name="state" invisible="1"/>
+ <field name="state" invisible="1"/>
<group colspan="4" states="draft,missmatch">
<field name="name" required="1"/>
<field name="email" required="1"/>
diff --git a/addons/stock/__openerp__.py b/addons/stock/__openerp__.py
index d061fb4b033..0f0f758f4d6 100644
--- a/addons/stock/__openerp__.py
+++ b/addons/stock/__openerp__.py
@@ -23,7 +23,7 @@
"name" : "Warehouse Management",
"version" : "1.1",
"author" : "OpenERP SA",
- "summary": "Incoming Shipments, Deliveries, Inventory, Stock",
+ "summary": "Inventory, Logistic, Storage",
"description" : """
OpenERP Inventory Management module can manage multi-warehouses, multi and structured stock locations.
======================================================================================================
diff --git a/addons/stock/product_view.xml b/addons/stock/product_view.xml
index 04a0959739a..80ec4f59d33 100644
--- a/addons/stock/product_view.xml
+++ b/addons/stock/product_view.xml
@@ -9,8 +9,8 @@
<field name="inherit_id" ref="product.product_search_form_view"/>
<field name="arch" type="xml">
<field name="pricelist_id" position="before">
- <field name="location_id" widget="selection" context="{'location': self}"/>
- <field name="warehouse_id" widget="selection" context="{'warehouse': self}"/>
+ <field name="location_id" context="{'location': self}"/>
+ <field name="warehouse_id" context="{'warehouse': self}"/>
</field>
</field>
</record>
@@ -105,15 +105,15 @@
<group name="status" position="before" version="7.0">
<group string="Stock and Expected Variations">
<field name="qty_available"/>
- <field name="incoming_qty"/>
- <label for="virtual_available"/>
- <div>
+ <field name="incoming_qty" groups="base.group_user"/>
+ <label for="virtual_available" groups="base.group_user"/>
+ <div groups="base.group_user">
<field name="virtual_available" class="oe_inline"/>
<button name="%(action_view_change_product_quantity)d" string="Update" attrs="{'invisible': [('type', '=', 'service')]}"
type="action" icon="gtk-execute" groups="stock.group_stock_manager,stock.group_stock_user" class="oe_inline"/>
</div>
- <field name="outgoing_qty"/>
+ <field name="outgoing_qty" groups="base.group_user"/>
</group>
<group name="lot" groups="stock.group_tracking_lot,stock.group_production_lot" string="Lots">
<field name="track_production" groups="stock.group_production_lot"/>
@@ -123,9 +123,9 @@
</group>
</field>
</record>
-
+
<record id="action_receive_move" model="ir.actions.act_window">
- <field name="name">Receive Products</field>
+ <field name="name">Receptions</field>
<field name="res_model">stock.move</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
@@ -134,11 +134,19 @@
<field name="view_id" ref="view_move_tree_reception_picking"/>
<field name="context" eval="'{\'search_default_product_id\': [active_id]}'"/>
<field name="search_view_id" ref="view_move_search_reception_incoming_picking"/>
- <field name="help">Here you can receive individual products, no matter what purchase order or picking order they come from. You will find the list of all products you are waiting for. Once you receive an order, you can filter based on the name of the supplier or the purchase order reference. Then you can confirm all products received using the buttons on the right of each line.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to register a reception for this product.
+ </p><p>
+ Here you will find the history of all receptions related to
+ this product, as well as all future receptions you are waiting
+ from your suppliers.
+ </p>
+ </field>
</record>
-
+
<record id="action_deliver_move" model="ir.actions.act_window">
- <field name="name">Receive Products</field>
+ <field name="name">Deliveries</field>
<field name="res_model">stock.move</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
@@ -147,7 +155,15 @@
<field name="view_id" ref="view_move_tree_reception_picking"/>
<field name="context" eval="'{\'search_default_product_id\': [active_id]}'"/>
<field name="search_view_id" ref="view_move_search_reception_outcoming_picking"/>
- <field name="help">You will find in this list all products you have to deliver to your customers. You can process the deliveries directly from this list using the buttons on the right of each line. You can filter the products to deliver by customer, products or sale order (using the Origin field).</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a delivery order for this product.
+ </p><p>
+ Here you will find the history of all past deliveries related to
+ this product, as well as all the products you must deliver to
+ customers.
+ </p>
+ </field>
</record>
<record model="ir.ui.view" id="product.product_kanban_view">
@@ -215,17 +231,5 @@
</field>
</record>
-<!-- <record id="view_product_valuation_form" model="ir.ui.view">
- <field name="name">product.valuation.stock.form.inherit</field>
- <field name="model">product.product</field>
- <field name="type">form</field>
- <field name="inherit_id" ref="product.product_normal_form_view"/>
- <field name="arch" type="xml">
- <field name="cost_method" position="after">
- <field name="valuation"/>
- </field>
- </field>
- </record>-->
-
</data>
</openerp>
diff --git a/addons/stock/report/report_stock_move_view.xml b/addons/stock/report/report_stock_move_view.xml
index 89cbd9c1340..56d17976aad 100644
--- a/addons/stock/report/report_stock_move_view.xml
+++ b/addons/stock/report/report_stock_move_view.xml
@@ -56,52 +56,33 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Moves Analysis">
- <group>
- <filter string="Done"
- name="done"
- icon="terp-dialog-close"
- domain="[('state','=','done')]"
- help = "Completed Stock-Moves"/>
- <filter string="Todo"
- icon="terp-gtk-go-back-rtl"
- domain="[('state','in',('assigned','waiting','confirmed'))]"
- help = "Future Stock-Moves"/>
- <filter icon="terp-go-home" name="in" string="Incoming" domain="[('type','=','in')]"/>
- <filter icon="terp-go-home" name="internal" string="Internal" domain="[('type','=','internal')]"/>
- <filter icon="terp-go-home" name="out" string="Outgoing" domain="[('type','=','out')]"/>
- <separator orientation="vertical"/>
- <field name="product_id" default_focus="1"/>
- <field name="partner_id" context="{'contact_display':'partner'}"/>
- </group>
- <newline/>
+ <filter string="Done" name="done" icon="terp-dialog-close" domain="[('state','=','done')]" help = "Completed Stock-Moves"/>
+ <filter string="Todo" icon="terp-gtk-go-back-rtl" domain="[('state','in',('assigned','waiting','confirmed'))]" help = "Future Stock-Moves"/>
+ <separator/>
+ <filter icon="terp-go-home" name="in" string="Incoming" domain="[('type','=','in')]"/>
+ <filter icon="terp-go-home" name="internal" string="Internal" domain="[('type','=','internal')]"/>
+ <filter icon="terp-go-home" name="out" string="Outgoing" domain="[('type','=','out')]"/>
+ <field name="product_id" default_focus="1"/>
+ <field name="partner_id" context="{'contact_display':'partner'}"/>
<group expand="0" string="Extended Filters...">
<field name="location_id" />
<field name="location_dest_id" />
<field name="categ_id"/>
<field name="stock_journal"/>
- <separator orientation="vertical"/>
- <field name="company_id" groups="base.group_multi_company" widget = "selection"/>
- <newline/>
+ <field name="company_id" groups="base.group_multi_company"/>
<field name="date"/>
</group>
- <newline/>
<group expand="1" string="Group By...">
<filter name="group_partner" string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter name="group_categ_id" string="Product Category" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id'}"/>
<filter name="group_product" string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
- <separator orientation="vertical"/>
<filter name="group_picking" string="Shipment" icon="terp-accessories-archiver" context="{'group_by':'picking_id'}"/>
- <separator orientation="vertical"/>
<filter string="Source Location" name="src_location" icon="terp-gtk-jump-to-rtl" context="{'group_by':'location_id'}"/>
<filter string="Dest. Location" name="dest_location" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_dest_id'}"/>
- <separator orientation="vertical"/>
<filter string="Type" name="group_type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}" help="Shipping type specify, goods coming in or going out"/>
<filter string="Status" name="group_state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<filter string="Stock journal" name="group_stock_journal" icon="terp-folder-orange" context="{'group_by':'stock_journal'}"/>
- <separator orientation="vertical"/>
<filter string="Company" name="group_state" 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'}" help="Day Planned"/>
<filter string="Month" icon="terp-go-month" context="{'group_by':'date'}" help="Month Planned"/>
<filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Year Planned"/>
@@ -163,23 +144,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Inventory Analysis">
- <group>
- <filter string="Real"
- name="real"
- icon="terp-check"
- domain="[('state','=','done')]"
- help="Analysis of current inventory (only moves that have already been processed)"/>
- <filter string="Future"
- icon="terp-stock"
- domain="[('state','in',('assigned','done','waiting','confirmed'))]"
- help = "Analysis including future moves (similar to virtual stock)"/>
- <filter icon="terp-go-home" name="location_type_internal" string="Internal" domain="[('location_type','=','internal')]"/>
- <separator orientation="vertical"/>
- <field name="product_id" default_focus="1"/>
- <field name="location_id" filter_domain="[('location_id', 'child_of', self)]"/>
- <field name="company_id" groups="base.group_multi_company"/>
- </group>
- <newline/>
+ <filter string="Real" name="real" icon="terp-check" domain="[('state','=','done')]"
+ help="Analysis of current inventory (only moves that have already been processed)"/>
+ <filter string="Future" icon="terp-stock" domain="[('state','in',('assigned','done','waiting','confirmed'))]"
+ help = "Analysis including future moves (similar to virtual stock)"/>
+ <separator/>
+ <filter icon="terp-go-home" name="location_type_internal" string="Internal" domain="[('location_type','=','internal')]"/>
+ <field name="product_id" default_focus="1"/>
+ <field name="location_id" filter_domain="[('location_id', 'child_of', self)]"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Extended Filters...">
<field name="partner_id" context="{'contact_display':'partner'}"/>
<field name="product_categ_id" />
@@ -189,17 +162,13 @@
<field name="date"/>
<filter icon="terp-go-home" name="location_type_scrap" string="Scrap" domain="[('location_type','=','scrap')]"/>
</group>
- <newline/>
<group expand="1" string="Group By..." >
<filter string="Partner" name="group_partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter name="group_product_categ_id" string="Product Category" icon="terp-stock_symbol-selection" context="{'group_by':'product_categ_id'}"/>
<filter name="group_product" string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
- <filter name="group_lot" string="Lot" icon="terp-accessories-archiver" context="{'group_by':'prodlot_id'}"/>
- <separator orientation="vertical"/>
+ <filter name="group_lot" string="Lot" icon="terp-accessories-archiver" context="{'group_by':'prodlot_id'}"/>
<filter name="group_company" string="Company" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/>
<filter name="group_location" string="Location" icon="terp-go-home" context="{'group_by':'location_id'}"/>
- <separator orientation="vertical"/>
<filter string="Date" icon="terp-go-month" context="{'group_by':'date'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
</group>
diff --git a/addons/stock/report/report_stock_view.xml b/addons/stock/report/report_stock_view.xml
index 69a7829f565..15dafbfdbc1 100644
--- a/addons/stock/report/report_stock_view.xml
+++ b/addons/stock/report/report_stock_view.xml
@@ -35,14 +35,10 @@
<field name="arch" type="xml">
<search string="Dates of Inventories">
<field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-accessories-archiver" name="stockable" string="Stockable"
- domain="[('product_id.type','=', 'product')]"/>
- <filter icon="terp-accessories-archiver" string="Consumable"
- domain="[('product_id.type','=', 'consu')]"/>
- <filter icon="terp-accessories-archiver-minus" string="Non Inv"
- domain="[('date','=', False)]"/>
- <separator orientation="vertical"/>
+ <filter icon="terp-accessories-archiver" name="stockable" string="Stockable" domain="[('product_id.type','=', 'product')]"/>
+ <filter icon="terp-accessories-archiver" string="Consumable" domain="[('product_id.type','=', 'consu')]"/>
+ <separator/>
+ <filter icon="terp-accessories-archiver-minus" string="Non Inv" domain="[('date','=', False)]"/>
<field name="product_id"/>
</search>
</field>
diff --git a/addons/stock/res_config.py b/addons/stock/res_config.py
index 3ad4b8e5914..ab45c6b1a8d 100644
--- a/addons/stock/res_config.py
+++ b/addons/stock/res_config.py
@@ -26,14 +26,14 @@ class stock_config_settings(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
- 'module_claim_from_delivery': fields.boolean("Allow Claims on Delivery Orders",
+ 'module_claim_from_delivery': fields.boolean("allow claim on deliveries",
help="""Adds a Claim link to the delivery order.
This installs the module claim_from_delivery."""),
- 'module_stock_invoice_directly': fields.boolean("Invoice Directly from the Picking",
+ 'module_stock_invoice_directly': fields.boolean("generate invoice directly from the picking",
help="""This allows to automatically launch the invoicing wizard if the delivery is
to be invoiced when you send or deliver goods.
This installs the module stock_invoice_directly."""),
- 'module_product_expiry': fields.boolean("Expiry Date on Lots",
+ 'module_product_expiry': fields.boolean("expiry date on lots",
help="""Track different dates on products and serial numbers.
The following dates can be tracked:
- end of life
@@ -41,39 +41,39 @@ class stock_config_settings(osv.osv_memory):
- removal date
- alert date.
This installs the module product_expiry."""),
- 'module_stock_location': fields.boolean("Push/Pull Logistic Rules",
+ 'module_stock_location': fields.boolean("create push/pull logistic rules",
help="""Provide push and pull inventory flows. Typical uses of this feature are:
manage product manufacturing chains, manage default locations per product,
define routes within your warehouse according to business needs, etc.
This installs the module stock_location."""),
- 'group_uom': fields.boolean("Manage Different Units of Measure for Products",
+ 'group_uom': fields.boolean("manage units of measure on products",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
- 'group_uos': fields.boolean("Manage Secondary Unit of Measure (for Sale)",
+ 'group_uos': fields.boolean("invoice products in a different unit of measure than the sale order",
implied_group='product.group_uos',
help="""Allows you to sell units of a product, but invoice based on a different unit of measure.
For instance, you can sell pieces of meat that you invoice based on their weight."""),
- 'group_stock_packaging': fields.boolean("Manage Product Packaging",
+ 'group_stock_packaging': fields.boolean("manage product packaging",
implied_group='product.group_stock_packaging',
help="""Allows you to create and manage your packaging dimensions and types you want to be maintained in your system."""),
- 'group_stock_production_lot': fields.boolean("Serial Numbers on Products",
+ 'group_stock_production_lot': fields.boolean("track serial number on products",
implied_group='stock.group_production_lot',
help="""This allows you to manage products by using serial numbers.
When you select a lot, you can get the upstream or downstream traceability of the products contained in lot."""),
- 'group_stock_tracking_lot': fields.boolean("Serial Numbers on Logistic Units (Pallets)",
+ 'group_stock_tracking_lot': fields.boolean("track serial number on logistic units (pallets)",
implied_group='stock.group_tracking_lot',
help="""Allows you to get the upstream or downstream traceability of the products contained in lot."""),
- 'group_stock_inventory_valuation': fields.boolean("Generate Accounting Entries per Stock Movement",
+ 'group_stock_inventory_valuation': fields.boolean("generate accounting entries per stock movement",
implied_group='stock.group_inventory_valuation',
help="""Allows to configure inventory valuations on products and product categories."""),
- 'group_stock_multiple_locations': fields.boolean("Manage Multiple Locations and Warehouses",
+ 'group_stock_multiple_locations': fields.boolean("manage multiple locations and warehouses",
implied_group='stock.group_locations',
help="""This allows to configure and use multiple stock locations and warehouses,
instead of having a single default one."""),
- 'group_product_variant': fields.boolean("Support Multiple Variants per Product",
+ 'group_product_variant': fields.boolean("support multiple variants per products ",
implied_group='product.group_product_variant',
- help="""Allow to manage several variants per product. As an example, if you sell T-Shirts, for the same "Linux T-Shirt", you may have variants on sizes or colors; S, M, L, XL, XXL."""),
- 'decimal_precision': fields.integer('Decimal Precision on Weights', help="As an example, a decimal precision of 2 will allow weights like: 9.99 kg, whereas a decimal precision of 4 will allow weights like: 0.0231 kg."),
+ help="""Allow to manage several variants per product. As an example, if you sell T-Shirts, for the same "Linux T-Shirt", you may have variants on sizes or colors; S, M, L, XL, XXL."""),
+ 'decimal_precision': fields.integer('Decimal precision on weight', help="As an example, a decimal precision of 2 will allow weights like: 9.99 kg, whereas a decimal precision of 4 will allow weights like: 0.0231 kg."),
}
def get_default_dp(self, cr, uid, fields, context=None):
diff --git a/addons/stock/res_config_view.xml b/addons/stock/res_config_view.xml
index 0503ec544b1..acf3e9eda10 100644
--- a/addons/stock/res_config_view.xml
+++ b/addons/stock/res_config_view.xml
@@ -7,35 +7,85 @@
<field name="model">stock.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Configure Warehouse" version="7.0">
+ <form string="Configure Warehouse" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
+ <separator string="Traceability &amp; Accounting"/>
<group>
- <group>
- <separator string="Traceability" colspan="2"/>
- <field name="group_stock_production_lot"/>
- <field name="group_stock_tracking_lot"/>
- <field name="module_product_expiry"
- attrs="{'invisible': [('group_stock_production_lot','=',False)]}"/>
- <separator string="Logistics" colspan="2"/>
- <field name="group_stock_multiple_locations"/>
- <field name="module_stock_invoice_directly"/>
- <field name="module_stock_location"/>
- <field name="decimal_precision" class="oe_inline"/>
- </group>
- <group>
- <separator string="Partners" colspan="2"/>
- <field name="module_claim_from_delivery"/>
- <separator string="Products" colspan="2"/>
- <field name="group_stock_packaging"/>
- <field name="group_uom"/>
- <field name="group_uos"/>
- <field name="group_stock_inventory_valuation" class="oe_inline"/>
- <field name="group_product_variant"/>
- </group>
+ <label for="id" string="Traceability"/>
+ <div>
+ <div>
+ <field name="group_stock_production_lot" class="oe_inline"/>
+ <label for="group_stock_production_lot"/>
+ </div>
+ <div attrs="{'invisible': [('group_stock_production_lot','=',False)]}">
+ <field name="module_product_expiry" class="oe_inline"/>
+ <label for="module_product_expiry"/>
+ </div>
+ <div>
+ <field name="group_stock_tracking_lot" class="oe_inline"/>
+ <label for="group_stock_tracking_lot"/>
+ </div>
+ </div>
+ </group>
+ <group>
+ <label for="id" string="Accounting"/>
+ <div>
+ <div>
+ <field name="group_stock_inventory_valuation" class="oe_inline"/>
+ <label for="group_stock_inventory_valuation"/>
+ </div>
+ <div>
+ <field name="module_stock_invoice_directly" class="oe_inline"/>
+ <label for="module_stock_invoice_directly"/>
+ </div>
+ </div>
+ </group>
+ <separator string="Location &amp; Warehouse"/>
+ <group>
+ <label for="id" string="Logistic"/>
+ <div>
+ <div>
+ <field name="group_stock_multiple_locations" class="oe_inline"/>
+ <label for="group_stock_multiple_locations"/>
+ </div>
+ <div>
+ <field name="module_stock_location" class="oe_inline"/>
+ <label for="module_stock_location"/>
+ </div>
+ <div>
+ <field name="module_claim_from_delivery" class="oe_inline"/>
+ <label for="module_claim_from_delivery"/>
+ </div>
+ </div>
+ </group>
+ <group>
+ <label for="id" string="Products"/>
+ <div>
+ <div>
+ <field name="group_stock_packaging" class="oe_inline"/>
+ <label for="group_stock_packaging"/>
+ </div>
+ <div>
+ <label for="decimal_precision"/>
+ <field name="decimal_precision" class="oe_inline"/>
+ </div>
+ <div>
+ <field name="group_uom" class="oe_inline"/>
+ <label for="group_uom"/>
+ </div>
+ <div>
+ <field name="group_uos" class="oe_inline"/>
+ <label for="group_uos" />
+ </div>
+ <div>
+ <field name="group_product_variant" class="oe_inline"/>
+ <label for="group_product_variant"/>
+ </div>
+ </div>
</group>
</form>
</field>
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 9752f0c78f4..3a3b8d71945 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -1547,6 +1547,7 @@ class stock_move(osv.osv):
cr.execute('select id from stock_tracking where create_uid=%s order by id desc limit 1', (uid,))
res = cr.fetchone()
return (res and res[0]) or False
+
_name = "stock.move"
_description = "Stock Move"
_order = 'date_expected desc, id'
@@ -1744,6 +1745,13 @@ class stock_move(osv.osv):
'date_expected': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
}
+ def create(self, cr, uid, vals, context=None):
+ # TODO
+ # the create_date is passed in the vals dict, and the ORM has a problem with that !
+ # make a real patch and remove this workaround
+ vals.pop('create_date', False)
+ return super(stock_move, self).create(cr, uid, vals, context=context)
+
def write(self, cr, uid, ids, vals, context=None):
if isinstance(ids, (int, long)):
ids = [ids]
diff --git a/addons/stock/stock_data.xml b/addons/stock/stock_data.xml
index 69bb610ae99..f4b3ab90d9c 100644
--- a/addons/stock/stock_data.xml
+++ b/addons/stock/stock_data.xml
@@ -6,11 +6,7 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Warehouse Management has been installed</value>
- <value>Manage your product inventoy and stock locations. You can
- control your stock moves history and planning, perform stock
- valuation, and trace product lots upstream and downstream
- (based on serial numbers.)
- </value>
+ <value>Manage your product inventoy and stock locations. You can control your stock moves history and planning, perform stock valuation, and trace product lots upstream and downstream (based on serial numbers.)</value>
</function>
<record id="stock_journal_sequence" model="ir.sequence">
diff --git a/addons/stock/stock_demo.xml b/addons/stock/stock_demo.xml
index ec0860f62c7..03a107b6947 100644
--- a/addons/stock/stock_demo.xml
+++ b/addons/stock/stock_demo.xml
@@ -6,9 +6,9 @@
<field eval="[(4, ref('group_stock_user'))]" name="groups_id"/>
</record>
- <!--
- Resource: stock.location
- -->
+
+ <!-- Resource: stock.location -->
+
<record id="stock_location_3" model="stock.location">
<field name="name">IT Suppliers</field>
<field name="location_id" ref="stock_location_suppliers"/>
@@ -44,16 +44,14 @@
</record>
- <!--
- Resource: stock.inventory
- -->
+ <!-- Resource: stock.inventory -->
<record id="stock_inventory_0" model="stock.inventory">
<field name="name">Starting Inventory</field>
</record>
- <!--
- Resource: stock.inventory.line
- -->
+
+
+ <!-- Resource: stock.inventory.line -->
<record id="stock_inventory_line_0" model="stock.inventory.line">
<field name="product_id" ref="product.product_product_pc1"/>
@@ -185,10 +183,10 @@
<field eval="0" name="supplier"/>
<field name="is_company">1</field>
<field eval="1" name="active"/>
- <field eval="&quot;&quot;&quot;Shop 1&quot;&quot;&quot;" name="name"/>
+ <field name="name">Shop 1</field>
</record>
<record id="res_partner_address_fabien0" model="res.partner">
- <field eval="&quot;&quot;&quot;Felix&quot;&quot;&quot;" name="name"/>
+ <field name="name">Felix</field>
<field name="parent_id" ref="res_partner_tinyshop0"/>
<field name="use_parent_address" eval="1"/>
<field eval="1" name="active"/>
@@ -197,17 +195,17 @@
<field name="currency_id" ref="base.EUR"/>
<field name="partner_id" ref="res_partner_tinyshop0"/>
<field name="parent_id" ref="base.main_company"/>
- <field eval="&quot;&quot;&quot;Shop 1&quot;&quot;&quot;" name="name"/>
+ <field name="name">Shop 1</field>
</record>
<record id="res_partner_tinyshop1" model="res.partner">
<field eval="1" name="customer"/>
<field eval="0" name="supplier"/>
<field eval="1" name="active"/>
<field name="is_company">1</field>
- <field eval="&quot;&quot;&quot;Shop 2&quot;&quot;&quot;" name="name"/>
+ <field name="name">Shop 2</field>
</record>
<record id="res_partner_address_eric0" model="res.partner">
- <field eval="&quot;&quot;&quot;Edwin&quot;&quot;&quot;" name="name"/>
+ <field name="name">Edwin</field>
<field name="parent_id" ref="res_partner_tinyshop1"/>
<field name="use_parent_address" eval="1"/>
<field eval="1" name="active"/>
@@ -216,36 +214,36 @@
<field name="currency_id" ref="base.EUR"/>
<field name="partner_id" ref="res_partner_tinyshop1"/>
<field name="parent_id" ref="base.main_company"/>
- <field eval="&quot;&quot;&quot;Shop 2&quot;&quot;&quot;" name="name"/>
+ <field name="name">Shop 2</field>
</record>
<record id="stock_location_shop0" model="stock.location">
<field model="res.partner" name="partner_id" search="[('name','=','Fabien')]"/>
<field name="location_id" ref="stock.stock_location_locations"/>
<field name="company_id" ref="res_company_shop0"/>
- <field eval="&quot;&quot;&quot;internal&quot;&quot;&quot;" name="usage"/>
- <field eval="&quot;&quot;&quot;none&quot;&quot;&quot;" name="chained_location_type"/>
+ <field name="usage">internal</field>
+ <field name="chained_location_type">none</field>
<field eval="1" name="active"/>
- <field eval="&quot;&quot;&quot;Shop 1&quot;&quot;&quot;" name="name"/>
- <field eval="&quot;&quot;&quot;manual&quot;&quot;&quot;" name="chained_auto_packing"/>
+ <field name="name">Shop 1</field>
+ <field name="chained_auto_packing">manual</field>
</record>
<record id="stock_location_shop1" model="stock.location">
<field model="res.partner" name="partner_id" search="[('name','=','Eric')]"/>
<field name="company_id" ref="res_company_tinyshop0"/>
<field name="location_id" ref="stock.stock_location_locations"/>
- <field eval="&quot;&quot;&quot;internal&quot;&quot;&quot;" name="usage"/>
+ <field name="usage">internal</field>
<field eval="1" name="active"/>
- <field eval="&quot;&quot;&quot;Shop 2&quot;&quot;&quot;" name="name"/>
+ <field name="name">Shop 2</field>
</record>
<record id="stock_location_intermediatelocation0" model="stock.location">
<field name="partner_id" ref="base.main_partner"/>
<field name="location_id" ref="stock.stock_location_locations_partner"/>
- <field eval="&quot;&quot;&quot;procurement&quot;&quot;&quot;" name="usage"/>
- <field eval="&quot;&quot;&quot;Internal Shippings&quot;&quot;&quot;" name="name"/>
+ <field name="usage">procurement</field>
+ <field name="name">Internal Shippings</field>
</record>
<record id="stock_warehouse_shop0" model="stock.warehouse">
<field name="lot_output_id" ref="stock.stock_location_output"/>
- <field eval="&quot;&quot;&quot;Shop 1&quot;&quot;&quot;" name="name"/>
+ <field name="name">Shop 1</field>
<field name="lot_stock_id" ref="stock_location_shop0"/>
<field name="partner_id" ref="res_partner_address_fabien0"/>
<field name="company_id" ref="res_company_shop0"/>
@@ -266,5 +264,6 @@
<field eval="'account.account,'+str(ref('account.stk'))" model="account.account" name="value"/>
<field name="company_id" ref="base.main_company"/>
</record>
+
</data>
</openerp>
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 6fe610012c1..851ae89faf7 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -79,14 +79,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Inventory">
- <group>
- <field name="name" string="Inventory Reference"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <field name="company_id" groups="base.group_multi_company" widget="selection"/>
- </group>
- <newline/>
+ <field name="name" string="Inventory Reference"/>
+ <field name="date"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
@@ -125,10 +120,8 @@
<sheet>
<div>
<label for="name" class="oe_edit_only"/>
- <h1>
- <field name="name" placeholder="e.g. Annual inventory" class="oe_inline"/> -
- <field name="date" class="oe_inline"/>
- </h1>
+ <field name="name" placeholder="e.g. Annual inventory" class="oe_inline"/> -
+ <field name="date" class="oe_inline"/>
</div>
<group>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
@@ -207,7 +200,16 @@
<field name="view_type">form</field>
<field name="view_id" ref="view_inventory_tree"/>
<field name="search_view_id" ref="view_inventory_filter"/>
- <field name="help">Periodical Inventories are used to count the number of products available per location. You can use it once a year when you do the general inventory or whenever you need it, to correct the current stock level of a product.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to start an inventory.
+ </p><p>
+ Periodical Inventories are used to count the number of products
+ available per location. You can use it once a year when you do
+ the general inventory or whenever you need it, to adapt the
+ current inventory level of a product.
+ </p>
+ </field>
</record>
<menuitem action="action_inventory_form" id="menu_action_inventory_form" parent="menu_stock_inventory_control" sequence="30"/>
@@ -262,7 +264,15 @@
<field name="res_model">stock.tracking</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_tracking_tree"/>
- <field name="help">This is the list of all your packs. When you select a Pack, you can get the upstream or downstream traceability of the products contained in the pack.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a tracking number.
+ </p><p>
+ This is the list of all your packs. When you select a Pack, you
+ can get the upstream or downstream traceability of the products
+ contained in the pack.
+ </p>
+ </field>
</record>
<menuitem id="menu_traceability" name="Traceability" parent="menu_stock_root" sequence="3"/>
<menuitem action="action_tracking_form" id="menu_action_tracking_form"
@@ -290,13 +300,9 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Pack Search">
- <group>
- <field name="name" string="Pack" filter_domain="['|',('name','ilike',self),('serial','ilike',self)]"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <field name="active"/>
- </group>
+ <field name="name" string="Pack" filter_domain="['|',('name','ilike',self),('serial','ilike',self)]"/>
+ <field name="date"/>
+ <field name="active"/>
</search>
</field>
</record>
@@ -405,16 +411,10 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Product Lots Filter">
- <group>
- <field name="name" string="Product Lots" filter_domain="['|','|',('name','ilike',self),('prefix','ilike',self),('ref','ilike',self)]"/>
- <separator orientation="vertical"/>
- <field name="date"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" name="available" string="Available" domain="[('stock_available', '&gt;', 0)]" help="Available Product Lots"/>
- <separator orientation="vertical"/>
- <field name="product_id"/>
- </group>
- <newline/>
+ <field name="name" string="Product Lots" filter_domain="['|','|',('name','ilike',self),('prefix','ilike',self),('ref','ilike',self)]"/>
+ <field name="date"/>
+ <filter icon="terp-check" name="available" string="Available" domain="[('stock_available', '&gt;', 0)]" help="Available Product Lots"/>
+ <field name="product_id"/>
<group expand="0" string="Group By...">
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
</group>
@@ -430,7 +430,19 @@
<field name="view_id" ref="view_production_lot_tree"/>
<field name="search_view_id" ref="search_product_lot_filter"/>
<field name="context">{}</field>
- <field name="help">This is the list of all the production lots (serial numbers) you recorded. When you select a lot, you can get the upstream or downstream traceability of the products contained in lot. By default, the list is filtred on the serial numbers that are available in your warehouse but you can uncheck the 'Available' button to get all the lots you produced, received or delivered to customers.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a serial number.
+ </p><p>
+ This is the list of all the production lots you recorded. When
+ you select a lot, you can get the upstream or downstream
+ traceability of the products contained in lot. By default, the
+ list is filtred on the serial numbers that are available in
+ your warehouse but you can uncheck the 'Available' button to
+ get all the lots you produced, received or delivered to
+ customers.
+ </p>
+ </field>
</record>
<menuitem action="action_production_lot_form" id="menu_action_production_lot_form"
parent="menu_traceability" groups="stock.group_production_lot"
@@ -569,14 +581,9 @@
<field name="arch" type="xml">
<search string="Stock Locations">
<field name="name" string="Stock Locations"/>
- <separator orientation="vertical"/>
- <filter icon="terp-go-home" name="in_location"
- string="Internal" domain="[('usage', '=', 'internal')]" help="Internal Locations"/>
- <filter icon="terp-personal" name="customer"
- string="Customer" domain="[('usage', '=', 'customer')]" help="Customer Locations"/>
- <filter icon="terp-personal" name="supplier"
- string="Supplier" domain="[('usage', '=', 'supplier')]" help="Supplier Locations"/>
- <separator orientation="vertical"/>
+ <filter icon="terp-go-home" name="in_location" string="Internal" domain="[('usage', '=', 'internal')]" help="Internal Locations"/>
+ <filter icon="terp-personal" name="customer" string="Customer" domain="[('usage', '=', 'customer')]" help="Customer Locations"/>
+ <filter icon="terp-personal" name="supplier" string="Supplier" domain="[('usage', '=', 'supplier')]" help="Supplier Locations"/>
<field name="location_id" string="Parent Location"/>
</search>
</field>
@@ -606,7 +613,24 @@
<field name="view_id" ref="view_location_tree2"/>
<field name="search_view_id" ref="view_location_search"/>
<field name="context">{'search_default_in_location':1}</field>
- <field name="help">Define your locations to reflect your warehouse structure and organization. OpenERP is able to manage physical locations (warehouses, shelves, bin, etc), partner locations (customers, suppliers) and virtual locations which are the counterpart of the stock operations like the manufacturing orders consumptions, inventories, etc. Every stock operation in OpenERP moves the products from one location to another one. For instance, if you receive products from a supplier, OpenERP will move products from the Supplier location to the Stock location. Each report can be performed on physical, partner or virtual locations.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a location.
+ </p><p>
+ Define your locations to reflect your warehouse structure and
+ organization. OpenERP is able to manage physical locations
+ (warehouses, shelves, bin, etc), partner locations (customers,
+ suppliers) and virtual locations which are the counterpart of
+ the stock operations like the manufacturing orders
+ consumptions, inventories, etc.
+ </p><p>
+ Every stock operation in OpenERP moves the products from one
+ location to another one. For instance, if you receive products
+ from a supplier, OpenERP will move products from the Supplier
+ location to the Stock location. Each report can be performed on
+ physical, partner or virtual locations.
+ </p>
+ </field>
</record>
<menuitem action="action_location_form" id="menu_action_location_form" groups="stock.group_locations"
parent="menu_stock_configuration" sequence="5"/>
@@ -629,7 +653,16 @@
<field name="domain">[('location_id','=',False)]</field>
<field name="view_type">tree</field>
<field name="view_id" ref="view_location_tree"/>
- <field name="help">This is the structure of your company's warehouses and locations. You can click on a location to get the list of the products and their stock level in this particular location and all its children.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to add a location.
+ </p><p>
+ This is the structure of your company's warehouses and
+ locations. You can click on a location to get the list of the
+ products and their stock level in this particular location and
+ all its children.
+ </p>
+ </field>
</record>
<menuitem action="action_location_tree"
id="menu_action_location_tree"
@@ -678,19 +711,18 @@
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_warehouse_tree"/>
- <field name="help">Create and manage your warehouses and assign them a location from here</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new warehouse.
+ </p>
+ </field>
</record>
<menuitem action="action_warehouse_form" id="menu_action_warehouse_form" groups="stock.group_locations"
parent="menu_stock_configuration" sequence="1"/>
-<!--
- STOCK PICKING
--->
-
<!--
- #
- # Defaults and Internal Pickings
- #
+ Stock picking
+ Defaults and Internal Pickings
-->
<record model="ir.ui.view" id="stock_picking_calendar">
@@ -733,14 +765,16 @@
<field name="arch" type="xml">
<form string="Internal Picking List" version="7.0">
<header>
- <button name="draft_force_assign" states="draft" string="Confirm" type="object" class="oe_highlight"/>
- <button name="draft_validate" states="draft" string="Confirm &amp; Transfer" type="object" class="oe_highlight"/>
- <!-- <button name="action_assign" states="confirmed" string="Check Availability" type="object"/> -->
- <button name="force_assign" states="confirmed" string="Force Availability" type="object" class="oe_highlight"/>
- <button name="action_process" states="assigned" string="Confirm &amp; Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight"/>
- <button name="%(action_stock_invoice_onshipping)d" string="Create Invoice/Refund" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" class="oe_highlight"/>
- <button name="%(act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action"/>
- <button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel"/>
+ <span groups="base.group_user">
+ <button name="draft_force_assign" states="draft" string="Confirm" type="object" class="oe_highlight"/>
+ <button name="draft_validate" states="draft" string="Confirm &amp; Transfer" type="object" class="oe_highlight"/>
+ <!-- <button name="action_assign" states="confirmed" string="Check Availability" type="object"/> -->
+ <button name="force_assign" states="confirmed" string="Force Availability" type="object" class="oe_highlight"/>
+ <button name="action_process" states="assigned" string="Confirm &amp; Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight"/>
+ <button name="%(action_stock_invoice_onshipping)d" string="Create Invoice/Refund" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" class="oe_highlight"/>
+ <button name="%(act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action"/>
+ <button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel"/>
+ </span>
<field name="state" widget="statusbar" statusbar_visible="draft,assigned,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
</header>
<sheet>
@@ -776,7 +810,8 @@
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="gtk-convert" context="{'scrap': True}"
- states="draft,waiting,confirmed,assigned"/>
+ states="draft,waiting,confirmed,assigned"
+ groups="base.group_user"/>
<field name="scrapped" invisible="1"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<button
@@ -800,9 +835,11 @@
</tree>
<form string="Stock Moves" version="7.0">
<header>
- <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
- <button name="action_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/>
- <button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-find"/>
+ <span groups="base.group_user">
+ <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
+ <button name="action_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/>
+ <button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-find"/>
+ </span>
<field name="state" widget="statusbar" statusbar_visible="draft,assigned,done"/>
</header>
<group>
@@ -816,7 +853,8 @@
<button name="%(stock.move_scrap)d"
string="Scrap" type="action"
icon="gtk-convert" context="{'scrap': True}"
- states="draft,waiting,confirmed,assigned"/>
+ states="draft,waiting,confirmed,assigned"
+ groups="base.group_user"/>
</div>
<label for="product_uos_qty" groups="product.group_uos"/>
<div groups="product.group_uos">
@@ -866,8 +904,8 @@
<group>
<group>
<field name="move_type"/>
- <field name="type"/>
- <field name="auto_picking"/>
+ <field name="type" groups="base.group_user"/>
+ <field name="auto_picking" groups="base.group_user"/>
</group>
<group>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
@@ -890,26 +928,18 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Internal Picking List">
- <group>
- <field name="name" string="Internal Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" string="Ready" domain="[('state','=','assigned')]" help="Assigned Internal Moves"/>
- <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Internal Moves"/>
- <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Pickings already processed"/>
- <separator orientation="vertical"/>
- <field name="partner_id"/>
- <field name="product_id"/>
- <field name="stock_journal_id" widget="selection"/>
- </group>
- <newline/>
+ <field name="name" string="Internal Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/>
+ <filter icon="terp-check" string="Ready" domain="[('state','=','assigned')]" help="Assigned Internal Moves"/>
+ <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Internal Moves"/>
+ <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Pickings already processed"/>
+ <field name="partner_id"/>
+ <field name="product_id"/>
+ <field name="stock_journal_id"/>
<group expand="0" string="Group By...">
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
<filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
- <separator orientation="vertical"/>
<filter string="Origin" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
- <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
</group>
</search>
@@ -925,7 +955,15 @@
<field name="domain">[('type','=','internal')]</field>
<field name="context">{'contact_display': 'partner_address', 'search_default_available': 1}</field>
<field name="search_view_id" ref="view_picking_internal_search"/>
- <field name="help">Internal Moves display all inventory operations you have to perform in your warehouse. All operations can be categorized into stock journals, so that each worker has his own list of operations to perform in his own journal. Most operations are prepared automatically by OpenERP according to your preconfigured logistics rules, but you can also record manual stock operations.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create an internal move request.
+ </p><p>
+ Most operations are prepared automatically by OpenERP according
+ to your preconfigured logistics rules, but you can also record
+ manual stock movements.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="action_picking_tree6_tree_view">
@@ -941,11 +979,7 @@
<field name="act_window_id" ref="action_picking_tree6"/>
</record>
- <!--
- #
- # Sending Products
- #
- -->
+ <!-- Sending Products -->
<record id="view_picking_out_tree" model="ir.ui.view">
<field name="name">stock.picking.out.tree</field>
<field name="model">stock.picking</field>
@@ -971,18 +1005,18 @@
<field name="type">form</field>
<field name="arch" type="xml">
<data>
- <xpath expr="/form/header/button[@name='%(act_stock_return_picking)d']" position="replace">
+ <xpath expr="/form/header//button[@name='%(act_stock_return_picking)d']" position="replace">
<button name="%(report_picking_list_out)d" string="Print Delivery Slip" type="action" states="done" class="oe_highlight"/>
<button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action"/>
</xpath>
- <xpath expr="/form/header/button[@name='draft_validate']" position="replace">
+ <xpath expr="/form/header//button[@name='draft_validate']" position="replace">
<button name="draft_validate" states="draft" string="Confirm &amp; Deliver" type="object" class="oe_highlight"/>
<button name="action_assign" states="confirmed" string="Check Availability" type="object" class="oe_highlight"/>
</xpath>
- <xpath expr="/form/header/button[@name='action_process']" position="replace">
+ <xpath expr="/form/header//button[@name='action_process']" position="replace">
<button name="action_process" states="assigned" string="Deliver" type="object" icon="gtk-go-forward" class="oe_highlight"/>
</xpath>
- <xpath expr="/form/header/field[@name='state']" position="replace">
+ <xpath expr="/form/header//field[@name='state']" position="replace">
<field name="state" nolabel="1" readonly="1" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
</xpath>
<xpath expr="//field[@name='partner_id']" position="replace">
@@ -1003,26 +1037,20 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Picking list">
- <group>
- <field name="name" string="Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" name="available" string="Ready" domain="[('state','=','assigned')]" help="Assigned Delivery Orders"/>
- <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Delivery Orders"/>
- <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Delivery orders already processed"/>
- <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
- <filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Delivery orders to invoice"/>
- <separator orientation="vertical"/>
- <field name="stock_journal_id" widget="selection"/>
- <field name="company_id" widget="selection" groups="base.group_multi_company"/>
- </group>
- <newline/>
+ <field name="name" string="Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/>
+ <filter icon="terp-check" name="available" string="Ready" domain="[('state','=','assigned')]" help="Assigned Delivery Orders"/>
+ <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Delivery Orders"/>
+ <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Delivery orders already processed"/>
+ <separator/>
+ <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
+ <separator/>
+ <filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Delivery orders to invoice"/>
+ <field name="stock_journal_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
<group expand="0" string="Group By...">
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
<filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
- <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
</group>
</search>
@@ -1038,7 +1066,15 @@
<field name="domain">[('type','=','out')]</field>
<field name="context">{'default_type': 'out', 'contact_display': 'partner_address'}</field>
<field name="search_view_id" ref="view_picking_out_search"/>
- <field name="help">This is the list of all delivery orders that have to be prepared, according to your different sales orders and your logistics rules.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a delivery order.
+ </p><p>
+ This is the list of all delivery orders that have to be
+ prepared, according to your different sales orders and your
+ logistics rules.
+ </p>
+ </field>
</record>
<record id="action_picking_tree_out_view1_waiting" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
@@ -1059,11 +1095,7 @@
</record>
<menuitem action="action_picking_tree" id="menu_action_picking_tree" parent="menu_stock_warehouse_mgmt" sequence="3"/>
- <!--
- #
- # Incomming Shipments
- #
- -->
+ <!-- Incomming Shipments -->
<record id="view_picking_in_tree" model="ir.ui.view">
<field name="name">stock.picking.in.tree</field>
<field name="model">stock.picking.in</field>
@@ -1089,7 +1121,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<data>
- <xpath expr="//button[@name='%(act_stock_return_picking)d']" position="replace">
+ <xpath expr="/form/header//button[@name='%(act_stock_return_picking)d']" position="replace">
<button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action"/>
</xpath>
<xpath expr="//button[@name='draft_validate']" position="replace">
@@ -1115,25 +1147,19 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Incoming Shipments">
- <group>
- <field name="name" string="Incoming Shipments" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check" name="available" string="Ready to Process" domain="[('state','=','assigned')]" help="Incoming Shipments Available"/>
- <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Incoming Shipments already processed"/>
- <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
- <filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/>
- <separator orientation="vertical"/>
- <field name="stock_journal_id" widget="selection"/>
- <field name="product_id"/>
- </group>
- <newline/>
+ <field name="name" string="Incoming Shipments" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
+ <filter icon="terp-check" name="available" string="Ready to Process" domain="[('state','=','assigned')]" help="Incoming Shipments Available"/>
+ <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Incoming Shipments already processed"/>
+ <separator/>
+ <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
+ <separator/>
+ <filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/>
+ <field name="stock_journal_id"/>
+ <field name="product_id"/>
<group expand="0" string="Group By...">
- <separator orientation="vertical"/>
<filter icon="terp-stock_effects-object-colorize" name="state" string="Status" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
<filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
- <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
</group>
</search>
@@ -1150,7 +1176,16 @@
<field name="domain">[('type','=','in')]</field>
<field name="context">{'contact_display': 'partner_address', 'default_type': 'in'}</field>
<field name="search_view_id" ref="view_picking_in_search"/>
- <field name="help">The Incoming Shipments is the list of all orders you will receive from your suppliers. An incoming shipment contains a list of products to be received according to the original purchase order. You can validate the shipment totally or partially.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create an incoming shipment.
+ </p><p>
+ The Incoming Shipments is the list of all orders you will
+ receive from your suppliers. An incoming shipment contains a
+ list of products to be received according to the original
+ purchase order.
+ </p>
+ </field>
</record>
<record id="action_invoice_tree5_view1" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
@@ -1191,8 +1226,7 @@
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="gtk-convert" context="{'scrap': True}"
- states="draft,waiting,confirmed,assigned"
- />
+ states="draft,waiting,confirmed,assigned"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<button name="%(track_line)d" string="Split in Serial Numbers" type="action"
icon="terp-stock_effects-object-colorize" attrs="{'invisible': [('prodlot_id','&lt;&gt;',False)]}"
@@ -1217,8 +1251,6 @@
</field>
</record>
-<!-- <menuitem id="menu_traceability_low" name="Low Level" parent="menu_traceability"/> -->
-
<record id="view_move_form" model="ir.ui.view">
<field name="name">stock.move.form</field>
<field name="model">stock.move</field>
@@ -1305,33 +1337,25 @@
<field eval="3" name="priority"/>
<field name="arch" type="xml">
<search string="Stock Moves">
- <group>
- <field name="origin" string="Stock Moves"/>
- <separator orientation="vertical" groups="base.group_no_one"/>
- <field name="date" groups="base.group_no_one"/>
- <separator orientation="vertical"/>
- <filter icon="terp-camera_test" string="Ready" name="ready" domain="[('state','=','assigned')]" help="Stock moves that are Available (Ready to process)"/>
- <filter icon="terp-stock" string="Future" name="future" domain="[('state','in',('assigned','confirmed','waiting'))]" help="Stock moves that are Confirmed, Available or Waiting"/>
- <filter icon="terp-dialog-close" string="Done" name="done" domain="[('state','=','done')]" help="Stock moves that have been processed"/>
- <filter icon="terp-go-today" string="Today" domain="[('date','&lt;=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','&gt;=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders processed Today or planned for Today"/>
- <separator orientation="vertical"/>
- <field name="product_id"/>
- <field name="location_id" string="Location" filter_domain="['|',('location_id','ilike',self),('location_dest_id','ilike',self)]"/>
- <field name="partner_id" string="Partner" filter_domain="[('picking_id.partner_id','ilike',self)]"/>
- <field name="prodlot_id"/>
- </group>
- <newline/>
+ <field name="origin" string="Stock Moves"/>
+ <field name="date" groups="base.group_no_one"/>
+ <filter icon="terp-camera_test" string="Ready" name="ready" domain="[('state','=','assigned')]" help="Stock moves that are Available (Ready to process)"/>
+ <filter icon="terp-stock" string="Future" name="future" domain="[('state','in',('assigned','confirmed','waiting'))]" help="Stock moves that are Confirmed, Available or Waiting"/>
+ <filter icon="terp-dialog-close" string="Done" name="done" domain="[('state','=','done')]" help="Stock moves that have been processed"/>
+ <separator/>
+ <filter icon="terp-go-today" string="Today" domain="[('date','&lt;=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','&gt;=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders processed Today or planned for Today"/>
+ <field name="product_id"/>
+ <field name="location_id" string="Location" filter_domain="['|',('location_id','ilike',self),('location_dest_id','ilike',self)]"/>
+ <field name="partner_id" string="Partner" filter_domain="[('picking_id.partner_id','ilike',self)]"/>
+ <field name="prodlot_id"/>
<group expand="0" string="Group By...">
<filter string="Product" name="by_product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Picking" name="groupby_picking_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'picking_id'}"/>
<filter string="Lot" name="groupby_prodlot_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'prodlot_id'}"/>
<filter string="Pack" name="groupby_tracking_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'tracking_id'}"/>
- <separator orientation="vertical"/>
<filter string="Source" name="groupby_location_id" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'location_id'}"/>
<filter string="Destination" name="groupby_dest_location_id" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'location_dest_id'}"/>
- <separator orientation="vertical"/>
<filter icon="terp-stock_effects-object-colorize" string="Status" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical"/>
<filter string="Creation" name="groupby_create_date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
<filter string="Expected" name="groupby_date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
</group>
@@ -1347,17 +1371,22 @@
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_move_search"/>
<field name="context">{}</field>
- <field name="help">This menu gives you the full traceability of inventory operations on a specific product. You can filter on the product to see all the past or future movements for the product.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a stock movement.
+ </p><p>
+ This menu gives you the full traceability of inventory
+ operations on a specific product. You can filter on the product
+ to see all the past or future movements for the product.
+ </p>
+ </field>
</record>
<menuitem action="action_move_form2" id="menu_action_move_form2" parent="menu_traceability" sequence="3"/>
- ====================================
- Reception Picking (By Stock Move)
- ====================================
- <!-- from stock_partial_move_view -->
-
-
-
+ <!--
+ Reception Picking (By Stock Move)
+ From stock_partial_move_view
+ -->
<record id="view_move_tree_reception_picking" model="ir.ui.view">
<field name="name">stock.move.tree2</field>
<field name="model">stock.move</field>
@@ -1377,7 +1406,7 @@
<field name="prodlot_id" groups="stock.group_production_lot"/>
<button name="%(track_line)d" string="Split in Serial Numbers" type="action"
icon="terp-stock_effects-object-colorize" attrs="{'invisible': [('prodlot_id','&lt;&gt;',False)]}"
- states="draft,waiting,confirmed,assigned,done"
+ states="draft,waiting,confirmed,assigned,done"
groups="stock.group_tracking_lot"/>
<field name="tracking_id" groups="stock.group_tracking_lot"/>
<button name="setlast_tracking" string="Put in current pack" type="object"
@@ -1394,8 +1423,9 @@
</tree>
</field>
</record>
+
<!-- test -->
- <record id="view_move_tree_reception_picking_board" model="ir.ui.view">
+ <record id="view_move_tree_reception_picking_board" model="ir.ui.view">
<field name="name">stock.move.tree3</field>
<field name="model">stock.move</field>
<field name="type">tree</field>
@@ -1418,24 +1448,18 @@
<field eval="6" name="priority"/>
<field name="arch" type="xml">
<search string="Stock Moves">
- <group>
- <field name="origin" string="Stock Moves"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-go-back-rtl" name="receive" string="Waiting " domain="[('state','in',('confirmed','assigned'))]" help="Stock to be receive"/>
- <filter icon="terp-check" name="available" string="Available" domain="[('state','in',('assigned',))]" help="Stock available to be delivered"/>
- <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state', '=', 'done')]"/>
- <filter icon="terp-go-today" string="Today" domain="[('date','&lt;=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','&gt;=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/>
- <separator orientation="vertical"/>
- <field name="product_id"/>
- <field name="prodlot_id"/>
- </group>
- <newline/>
+ <field name="origin" string="Stock Moves"/>
+ <filter icon="terp-gtk-go-back-rtl" name="receive" string="Waiting " domain="[('state','in',('confirmed','assigned'))]" help="Stock to be receive"/>
+ <filter icon="terp-check" name="available" string="Available" domain="[('state','in',('assigned',))]" help="Stock available to be delivered"/>
+ <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state', '=', 'done')]"/>
+ <separator/>
+ <filter icon="terp-go-today" string="Today" domain="[('date','&lt;=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','&gt;=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/>
+ <field name="product_id"/>
+ <field name="prodlot_id"/>
<group expand="0" string="Group By...">
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
- <separator orientation="vertical"/>
<filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical" groups="base.group_no_one"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" groups="base.group_no_one"/>
</group>
</search>
@@ -1449,24 +1473,18 @@
<field eval="6" name="priority"/>
<field name="arch" type="xml">
<search string="Stock Moves">
- <group>
- <field name="origin" string="Stock Moves"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-go-back-rtl" name="receive" string="Waiting" domain="[('state','in',('confirmed','assigned'))]" help="Stock to be delivered (Available or not)"/>
- <filter icon="terp-check" name="available" string="Available" domain="[('state','in',('assigned',))]" help="Stock available to be delivered"/>
- <filter icon="terp-dialog-close" name="received" string="Done" domain="[('state','=','done')]"/>
- <filter icon="terp-go-today" string="Today" domain="[('date','&lt;=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','&gt;=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/>
- <separator orientation="vertical"/>
- <field name="product_id"/>
- <field name="prodlot_id"/>
- </group>
- <newline/>
+ <field name="origin" string="Stock Moves"/>
+ <filter icon="terp-gtk-go-back-rtl" name="receive" string="Waiting" domain="[('state','in',('confirmed','assigned'))]" help="Stock to be delivered (Available or not)"/>
+ <filter icon="terp-check" name="available" string="Available" domain="[('state','in',('assigned',))]" help="Stock available to be delivered"/>
+ <filter icon="terp-dialog-close" name="received" string="Done" domain="[('state','=','done')]"/>
+ <separator/>
+ <filter icon="terp-go-today" string="Today" domain="[('date','&lt;=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','&gt;=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/>
+ <field name="product_id"/>
+ <field name="prodlot_id"/>
<group expand="0" string="Group By...">
- <separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
- <separator orientation="vertical" groups="base.group_no_one"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" groups="base.group_no_one"/>
</group>
</search>
@@ -1483,7 +1501,18 @@
<field name="view_id" ref="view_move_tree_reception_picking"/>
<field name="context" eval="'{\'product_receive\' : True, \'default_location_id\':%d, \'default_location_dest_id\':%d}' % (ref('stock_location_suppliers'),ref('stock_location_stock') )"/>
<field name="search_view_id" ref="view_move_search_reception_incoming_picking"/>
- <field name="help">Here you can receive individual products, no matter what purchase order or picking order they come from. You will find the list of all products you are waiting for. Once you receive an order, you can filter based on the name of the supplier or the purchase order reference. Then you can confirm all products received using the buttons on the right of each line.</field>
+ <field name="help" type="html">
+ <p>
+ Click to register a product reception.
+ </p><p>
+ Here you can receive individual products, no matter what
+ purchase order or picking order they come from. You will find
+ the list of all products you are waiting for. Once you receive
+ an order, you can filter based on the name of the supplier or
+ the purchase order reference. Then you can confirm all products
+ received using the buttons on the right of each line.
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="action_move_reception_picking_tree">
@@ -1499,9 +1528,7 @@
<field name="act_window_id" ref="action_reception_picking_move"/>
</record>
- # -------------------------------------------------------------
- # Stock incoterms
- # -------------------------------------------------------------
+ <!-- Stock incoterms -->
<record id="view_incoterms_tree" model="ir.ui.view">
<field name="name">stock.incoterms.tree</field>
<field name="model">stock.incoterms</field>
@@ -1612,7 +1639,15 @@
<field name="view_id" ref="view_move_tree_reception_picking"/>
<field name="context" eval="'{\'default_location_id\':%d, \'default_location_dest_id\':%d}' % (ref('stock_location_stock'),ref('stock_location_customers'))"/>
<field name="search_view_id" ref="view_move_search_reception_outcoming_picking"/>
- <field name="help">You will find in this list all products you have to deliver to your customers. You can process the deliveries directly from this list using the buttons on the right of each line. You can filter the products to deliver by customer, products or sale order (using the Origin field).</field>
+ <field name="help" type="html">
+ <p>
+ You will find in this list all products you have to deliver to
+ your customers. You can process the deliveries directly from
+ this list using the buttons on the right of each line. You can
+ filter the products to deliver by customer, products or sale
+ order (using the Origin field).
+ </p>
+ </field>
</record>
<record model="ir.actions.act_window.view" id="action_move_out_picking_tree">
@@ -1639,7 +1674,6 @@
<field name="arch" type="xml">
<search string="Stock Journal">
<field name="name" string="Stock Journal"/>
- <separator orientation="vertical"/>
<field name="user_id"/>
</search>
</field>
@@ -1673,16 +1707,22 @@
<field name="res_model">stock.journal</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
- <field name="help">The stock journal system allows you to assign each stock operation to a specific journal according to the type of operation to perform or the worker/team that should perform the operation. Examples of stock journals may be: quality control, pick lists, packing, etc.</field>
+ <field name="help" type="html">
+ <p>
+ Click to create a new journal.
+ </p><p>
+ The stock journal system allows you to assign each stock
+ operation to a specific journal according to the type of
+ operation to perform or the worker/team that should perform the
+ operation. Examples of stock journals may be: quality control,
+ pick lists, packing, etc.
+ </p>
+ </field>
</record>
<menuitem
action="action_stock_journal_form"
id="menu_action_stock_journal_form"
parent="menu_warehouse_config" sequence="1"/>
- <record model="ir.actions.todo.category" id="category_stock_management_config">
- <field name="name">Stock Management</field>
- </record>
-
</data>
</openerp>
diff --git a/addons/stock/wizard/stock_location_product.py b/addons/stock/wizard/stock_location_product.py
index 49dc048d0ab..4832788927b 100644
--- a/addons/stock/wizard/stock_location_product.py
+++ b/addons/stock/wizard/stock_location_product.py
@@ -20,13 +20,16 @@
##############################################################################
from osv import fields, osv
+from tools.translate import _
class stock_location_product(osv.osv_memory):
_name = "stock.location.product"
_description = "Products by Location"
_columns = {
'from_date': fields.datetime('From'),
- 'to_date': fields.datetime('To'),
+ 'to_date': fields.datetime('To'),
+ 'type': fields.selection([('inventory','Analyse Current Inventory'),
+ ('period','Analyse a Period')], 'Analyse Type', required=True),
}
def action_open_window(self, cr, uid, ids, context=None):
@@ -43,7 +46,7 @@ class stock_location_product(osv.osv_memory):
location_products = self.read(cr, uid, ids, ['from_date', 'to_date'], context=context)
if location_products:
return {
- 'name': False,
+ 'name': _('Current Inventory'),
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'product.product',
diff --git a/addons/stock/wizard/stock_location_product_view.xml b/addons/stock/wizard/stock_location_product_view.xml
index f0a52933c8a..756c3782ea1 100644
--- a/addons/stock/wizard/stock_location_product_view.xml
+++ b/addons/stock/wizard/stock_location_product_view.xml
@@ -7,14 +7,15 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="View Stock of Products" version="7.0">
- <separator string="Stock Location Analysis"/>
<group>
+ <field name="type"/>
+ </group>
+ <group attrs="{'invisible':[('type', '!=', 'period')], 'required':[('type', '=', 'period')]}">
<field name="from_date"/>
<field name="to_date"/>
</group>
- <label string="(Keep empty to open the current situation. Adjust HH:MM:SS to 00:00:00 to filter all resources of the day for the 'From' date and 23:59:59 for the 'To' date)"/>
<footer>
- <button name="action_open_window" string="Open Product" type="object" class="oe_highlight"/>
+ <button name="action_open_window" string="View Products Inventory" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>
diff --git a/addons/stock_planning/i18n/ja.po b/addons/stock_planning/i18n/ja.po
index e3911d336ff..2abd09e6d3a 100644
--- a/addons/stock_planning/i18n/ja.po
+++ b/addons/stock_planning/i18n/ja.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:37+0000\n"
-"PO-Revision-Date: 2012-07-04 23:38+0000\n"
+"PO-Revision-Date: 2012-07-30 16:28+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-07-14 06:20+0000\n"
-"X-Generator: Launchpad (build 15614)\n"
+"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n"
+"X-Generator: Launchpad (build 15719)\n"
#. module: stock_planning
#: code:addons/stock_planning/wizard/stock_planning_createlines.py:73
@@ -1184,7 +1184,7 @@ msgstr "誰がこの予測を作成したのか、検証したのかを示しま
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_team_id:0
msgid "Sales Team"
-msgstr "販売チーム"
+msgstr "営業チーム"
#. module: stock_planning
#: help:stock.planning,incoming_left:0
diff --git a/addons/stock_planning/stock_planning_view.xml b/addons/stock_planning/stock_planning_view.xml
index a2fdc9788e1..8c1cb0d2c80 100644
--- a/addons/stock_planning/stock_planning_view.xml
+++ b/addons/stock_planning/stock_planning_view.xml
@@ -51,10 +51,8 @@
<field name="arch" type="xml">
<search string="Stock Periods">
<field name="name" string="Stock Periods"/>
- <separator orientation="vertical"/>
<field name="date_start"/>
<field name="date_stop"/>
- <separator orientation="vertical"/>
<filter string="Current" domain="[('state','in',['draft','open'])]" icon="terp-check" help="Current Periods"/>
<filter string="Closed" domain="[('state','=','close')]" icon="gtk-stop" help="Closed Periods"/>
</search>
@@ -199,18 +197,15 @@
<field name="arch" type="xml">
<search string="Search Sales Forecast">
<filter icon="terp-camera_test" string="Validated" domain="[('state','=','validated')]" />
- <separator orientation="vertical"/>
<field name="company_id"/>
<field name="warehouse_id" />
<field name="period_id" />
<field name="product_id"/>
<field name="create_uid"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"/>
<filter string="Warehouse " icon="terp-go-home" domain="[]" context="{'group_by':'warehouse_id'}"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
- <separator orientation="vertical"/>
<filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'product_uom'}" />
</group>
</search>
@@ -308,17 +303,14 @@
<field name="arch" type="xml">
<search string="Search Stock Planning">
<filter icon="terp-purchase" string="No Requisition" domain="[('history','=',False)]" />
- <separator orientation="vertical"/>
- <field name="company_id" widget="selection"/>
- <field name="warehouse_id" widget="selection"/>
- <field name="period_id" widget="selection"/>
+ <field name="company_id"/>
+ <field name="warehouse_id"/>
+ <field name="period_id"/>
<field name="product_id"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"/>
<filter string="Warehouse " icon="terp-go-home" domain="[]" context="{'group_by':'warehouse_id'}"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
- <separator orientation="vertical"/>
</group>
</search>
</field>
diff --git a/addons/subscription/subscription_view.xml b/addons/subscription/subscription_view.xml
index 3271096a51a..8b9be319ea6 100644
--- a/addons/subscription/subscription_view.xml
+++ b/addons/subscription/subscription_view.xml
@@ -3,11 +3,7 @@
<data>
<menuitem id="next_id_45" name="Recurring Events" parent="base.menu_tools" sequence="4"/>
- <!--
- =======================================================
- Subscription Views
- =======================================================
- -->
+ <!-- Subscription Views -->
<record id="view_subscription_form" model="ir.ui.view">
<field name="name">subscription.subscription.form</field>
<field name="model">subscription.subscription</field>
@@ -17,7 +13,7 @@
<header>
<button name="set_process" states="draft" string="Process" type="object" class="oe_highlight"/>
<button name="set_done" states="running" string="Stop" type="object" class="oe_highlight"/>
- <button name="set_draft" states="done" string="Set to Draft" type="object" />
+ <button name="set_draft" states="done" string="Set to Draft" type="object"/>
<field name="state" widget="statusbar" statusbar_visible="draft,running"/>
</header>
<sheet>
@@ -73,23 +69,16 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Subscription">
- <group>
- <field name="name" string="Subscription"/>
- <separator orientation="vertical"/>
- <field name="date_init"/>
- <separator orientation="vertical"/>
- <filter icon="terp-check"
+ <field name="name" string="Subscription"/>
+ <field name="date_init"/>
+ <filter icon="terp-check"
string="Running"
domain="[('state','=','running')]"/>
- <separator orientation="vertical"/>
- <field name="user_id"/>
- <field name="partner_id"/>
- </group>
- <newline/>
+ <field name="user_id"/>
+ <field name="partner_id"/>
<group expand="0" string="Group By...">
<filter string="User" icon="terp-personal" name="User" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-partner" name="Partner" domain="[]" context="{'group_by':'partner_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
@@ -103,7 +92,7 @@
<field name="view_type">form</field>
<field name="view_id" ref="view_subscription_tree"/>
<field name="context">{'search_default_User':1}</field>
- <field name="search_view_id" ref="view_subscription_filter" />
+ <field name="search_view_id" ref="view_subscription_filter"/>
</record>
<menuitem action="action_subscription_form" id="menu_action_subscription_form" parent="subscription.next_id_45"/>
@@ -167,11 +156,8 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Subscription Document">
- <group>
- <field name="name" string="Subscription Document"/>
- <separator orientation="vertical"/>
- <field name="model"/>
- </group>
+ <field name="name" string="Subscription Document"/>
+ <field name="model"/>
</search>
</field>
</record>
@@ -208,11 +194,12 @@
<field name="res_model">subscription.document</field>
<field name="view_type">form</field>
<field name="view_id" ref="document_tree"/>
- <field name="search_view_id" ref="view_subscription_document_filter" />
+ <field name="search_view_id" ref="view_subscription_document_filter"/>
</record>
<menuitem name="Configuration" parent="base.menu_tools"
- id="base.menu_lunch_survey_root" sequence="20" groups="base.group_tool_manager" />
+ id="base.menu_lunch_survey_root" sequence="20" groups="base.group_tool_manager"/>
<menuitem id="config_recuuring_event" name="Recurring Events" parent="base.menu_lunch_survey_root" sequence="4"/>
<menuitem action="action_document_form" id="menu_action_document_form" parent="config_recuuring_event"/>
+
</data>
</openerp>
diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml
index fb4b232f512..19f2139d187 100644
--- a/addons/survey/survey_view.xml
+++ b/addons/survey/survey_view.xml
@@ -277,20 +277,15 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Survey">
- <group>
- <field name="title" string="Survey"/>
- <separator orientation="vertical"/>
- <filter icon="terp-document-new" string="New" domain="[('state','=', 'draft')]" help="All New Survey"/>
- <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="All Open Survey"/>
- <filter string="My Survey(s)" icon="terp-personal" domain="[('responsible_id','=',uid)]" help="My Survey(s)"/>
- <separator orientation="vertical"/>
- <field name="type" widget="selection"/>
- <field name="responsible_id"/>
- </group>
- <newline/>
+ <field name="title" string="Survey"/>
+ <field name="type"/>
+ <filter icon="terp-document-new" string="New" domain="[('state','=', 'draft')]" help="All New Survey"/>
+ <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="All Open Survey"/>
+ <separator/>
+ <filter string="My Survey(s)" icon="terp-personal" domain="[('responsible_id','=',uid)]" help="My Survey(s)"/>
+ <field name="responsible_id"/>
<group expand="0" string="Group By...">
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'responsible_id'}"/>
- <separator orientation="vertical"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
@@ -350,7 +345,18 @@
<field name="view_mode">kanban,tree,form</field>
<field name="view_id" ref="view_survey_kanban"></field>
<field name="search_view_id" ref="survey_search"/>
- <field name="help">You can create survey for different purposes: recruitment interviews, employee's periodical evaluations, marketing campaigns, etc. A survey is made of pages containing questions of several types: text, multiple choices, etc. You can edit survey manually or click on the 'Edit Survey' for a WYSIWYG interface.</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to create a new survey.
+ </p><p>
+ You can create survey for different purposes: recruitment
+ interviews, employee's periodical evaluations, marketing
+ campaigns, etc.
+ </p><p>
+ A survey is made of pages containing questions
+ of several types: text, multiple choices, etc.
+ </p>
+ </field>
</record>
@@ -553,9 +559,7 @@
<field name="arch" type="xml">
<search string="Search Survey Page">
<field name="title" string="Page"/>
- <separator orientation="vertical"/>
<field name="survey_id"/>
- <newline/>
<group expand="0" string="Group By...">
<filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/>
</group>
@@ -759,11 +763,9 @@
<field name="arch" type="xml">
<search string="Search Question">
<field name="question" string="Question"/>
- <separator orientation="vertical"/>
- <field name="page_id"/>
- <field name="survey" widget="selection"/>
+ <field name="survey"/>
<field name="type"/>
- <newline/>
+ <field name="page_id"/>
<group expand="0" string="Group By...">
<filter string="Page" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'page_id'}"/>
</group>
@@ -1180,22 +1182,17 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Survey">
- <group>
- <field name="email" string="Survey"/>
- <separator orientation="vertical"/>
- <filter icon="terp-gtk-media-pause" string="Waiting Answer" domain="[('state','=','waiting_answer')]"/>
- <filter icon="terp-emblem-important" string="Late" domain="[('date_deadline','&lt;',current_date)]"/>
- <filter string="My Survey(s)" icon="terp-personal" domain="[('user_id','=',uid)]"/>
- <separator orientation="vertical"/>
- <field name="survey_id" widget="selection"/>
- <field name="user_id"/>
- </group>
- <newline/>
+ <field name="email" string="Survey"/>
+ <filter icon="terp-gtk-media-pause" string="Waiting Answer" domain="[('state','=','waiting_answer')]"/>
+ <separator/>
+ <filter icon="terp-emblem-important" string="Late" domain="[('date_deadline','&lt;',current_date)]"/>
+ <separator/>
+ <filter string="My Survey(s)" icon="terp-personal" domain="[('user_id','=',uid)]"/>
+ <field name="survey_id" widget="selection"/>
+ <field name="user_id"/>
<group expand="0" string="Group By...">
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
- <separator orientation="vertical"/>
<filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/>
- <separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
diff --git a/addons/wiki/wiki_view.xml b/addons/wiki/wiki_view.xml
index b0f0ab0198e..d0d4c35a80d 100644
--- a/addons/wiki/wiki_view.xml
+++ b/addons/wiki/wiki_view.xml
@@ -176,14 +176,10 @@
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('section','ilike',self), ('tags','ilike',self)]"
string="Wiki"/>
- <separator orientation="vertical"/>
<field name="write_date" groups="base.group_no_one"/>
- <separator orientation="vertical"/>
<filter icon="terp-gtk-jump-to-ltr" string="Need Review" domain="[('review','=',True)]"/>
- <separator orientation="vertical"/>
<field name="group_id"/>
<field name="write_uid"/>
- <newline/>
<group expand="0" string="Group By...">
<filter icon="terp-folder-blue" string="Wiki Group" domain="[]" context="{'group_by':'group_id'}"/>
<filter icon="terp-personal" string="Author" domain="[]" context="{'group_by':'create_uid'}"/>