summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2011-12-12 10:52:37 +0100
committerRaphael Collet <rco@openerp.com>2011-12-12 10:52:37 +0100
commitdcfb5b0f460df97281119aa482e4fd74337f40bc (patch)
treebaf5e127721f350360a43a7c7c65f8891eb6d50f /addons
parent6ced5c16c1b269f3820588156c0ba197c55e498e (diff)
parentd9bbf2f3909e5c8e14306d43afb635f2cf1f4af8 (diff)
merge from trunk
bzr revid: rco@openerp.com-20111212095237-x8wdo5m6v1z3yivy
Diffstat (limited to 'addons')
-rw-r--r--addons/account/__openerp__.py5
-rw-r--r--addons/account/account.py1016
-rw-r--r--addons/account/account_bank.py1
-rw-r--r--addons/account/account_bank_statement.py2
-rw-r--r--addons/account/account_installer.xml4
-rw-r--r--addons/account/account_invoice.py6
-rw-r--r--addons/account/account_view.xml54
-rw-r--r--addons/account/board_account_view.xml1
-rw-r--r--addons/account/data/data_account_type.xml51
-rw-r--r--addons/account/i18n/ar.po741
-rw-r--r--addons/account/i18n/hr.po1085
-rw-r--r--addons/account/installer.py93
-rw-r--r--addons/account/project/project_view.xml7
-rw-r--r--addons/account/report/account_print_invoice.rml2
-rw-r--r--addons/account/wizard/__init__.py1
-rw-r--r--addons/account_accountant/__openerp__.py5
-rw-r--r--addons/account_accountant/i18n/az.po37
-rw-r--r--addons/account_accountant/static/src/img/icon.pngbin0 -> 1132 bytes
-rw-r--r--addons/account_analytic_analysis/__openerp__.py2
-rw-r--r--addons/account_analytic_analysis/account_analytic_analysis.py6
-rw-r--r--addons/account_analytic_analysis/account_analytic_analysis_menu.xml13
-rw-r--r--addons/account_analytic_analysis/account_analytic_analysis_view.xml17
-rw-r--r--addons/account_analytic_analysis/i18n/hr.po72
-rw-r--r--addons/account_analytic_default/__openerp__.py2
-rw-r--r--addons/account_analytic_default/i18n/hr.po49
-rw-r--r--addons/account_analytic_plans/i18n/hr.po97
-rw-r--r--addons/account_asset/__openerp__.py1
-rw-r--r--addons/account_asset/account_asset_view.xml12
-rw-r--r--addons/account_asset/i18n/hr.po60
-rwxr-xr-xaddons/account_asset/i18n/pt.po62
-rw-r--r--addons/account_cancel/__openerp__.py2
-rw-r--r--addons/account_cancel/i18n/hr.po14
-rw-r--r--addons/account_chart/__openerp__.py4
-rw-r--r--addons/account_coda/__openerp__.py4
-rw-r--r--addons/account_coda/i18n/hr.po76
-rw-r--r--addons/account_followup/i18n/hr.po171
-rw-r--r--addons/account_followup/report/account_followup_print.py6
-rw-r--r--addons/account_invoice_layout/__openerp__.py4
-rw-r--r--addons/account_invoice_layout/i18n/hr.po116
-rw-r--r--addons/account_invoice_layout/report/report_account_invoice_layout.rml2
-rw-r--r--addons/account_payment/i18n/hr.po189
-rw-r--r--addons/account_sequence/__openerp__.py2
-rw-r--r--addons/account_sequence/i18n/hr.po222
-rw-r--r--addons/account_sequence/i18n/pt.po19
-rw-r--r--addons/account_voucher/__openerp__.py5
-rw-r--r--addons/account_voucher/account_voucher.py394
-rw-r--r--addons/account_voucher/account_voucher_report.xml5
-rw-r--r--addons/account_voucher/account_voucher_view.xml14
-rw-r--r--addons/account_voucher/i18n/hr.po296
-rw-r--r--addons/account_voucher/static/src/img/icon.pngbin0 -> 9306 bytes
-rw-r--r--addons/account_voucher/test/account_voucher.yml1
-rw-r--r--addons/account_voucher/test/account_voucher_report.yml4
-rw-r--r--addons/account_voucher/test/case1_usd_usd.yml121
-rw-r--r--addons/account_voucher/test/case2_suppl_usd_eur.yml123
-rw-r--r--addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml134
-rw-r--r--addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml130
-rw-r--r--addons/account_voucher/test/case3_eur_eur.yml113
-rw-r--r--addons/account_voucher/test/case4_cad_chf.yml71
-rw-r--r--addons/account_voucher/test/sales_receipt.yml1
-rw-r--r--addons/account_voucher/voucher_payment_receipt_view.xml146
-rw-r--r--addons/account_voucher/voucher_sales_purchase_view.xml8
-rw-r--r--addons/analytic/__openerp__.py2
-rw-r--r--addons/analytic/analytic.py2
-rw-r--r--addons/analytic/i18n/hr.po255
-rw-r--r--addons/analytic_journal_billing_rate/__openerp__.py4
-rw-r--r--addons/analytic_journal_billing_rate/i18n/hr.po22
-rw-r--r--addons/analytic_user_function/__openerp__.py4
-rw-r--r--addons/analytic_user_function/i18n/hr.po20
-rw-r--r--addons/anonymization/__openerp__.py2
-rw-r--r--addons/anonymization/i18n/hr.po226
-rw-r--r--addons/anonymization/security/ir.model.access.csv2
-rw-r--r--addons/association/__openerp__.py2
-rw-r--r--addons/association/i18n/hr.po32
-rw-r--r--addons/association/profile_association.xml1
-rw-r--r--addons/auction/__openerp__.py1
-rw-r--r--addons/audittrail/__openerp__.py2
-rw-r--r--addons/audittrail/i18n/hr.po93
-rw-r--r--addons/auth_openid/__openerp__.py4
-rw-r--r--addons/base_action_rule/__openerp__.py2
-rw-r--r--addons/base_calendar/__openerp__.py2
-rw-r--r--addons/base_calendar/base_calendar.py398
-rw-r--r--addons/base_calendar/base_calendar_view.xml3
-rw-r--r--addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml2
-rw-r--r--addons/base_contact/__openerp__.py2
-rw-r--r--addons/base_contact/i18n/ar.po189
-rw-r--r--addons/base_crypt/__openerp__.py4
-rw-r--r--addons/base_iban/__openerp__.py4
-rw-r--r--addons/base_module_doc_rst/__openerp__.py4
-rw-r--r--addons/base_module_quality/__openerp__.py4
-rw-r--r--addons/base_module_quality/i18n/pt.po10
-rw-r--r--addons/base_module_record/__openerp__.py2
-rw-r--r--addons/base_report_creator/security/ir.model.access.csv1
-rw-r--r--addons/base_setup/__openerp__.py4
-rw-r--r--addons/base_setup/base_setup.py284
-rw-r--r--addons/base_setup/base_setup_views.xml31
-rw-r--r--addons/base_synchro/__openerp__.py4
-rw-r--r--addons/base_tools/__openerp__.py2
-rw-r--r--addons/base_tools/i18n/pt.po8
-rw-r--r--addons/base_vat/__openerp__.py2
-rw-r--r--addons/board/__openerp__.py4
-rw-r--r--addons/caldav/__openerp__.py2
-rw-r--r--addons/claim_from_delivery/__openerp__.py2
-rw-r--r--addons/crm/__openerp__.py6
-rw-r--r--addons/crm/board_crm_view.xml32
-rw-r--r--addons/crm/crm_lead.py5
-rw-r--r--addons/crm/crm_lead_menu.xml12
-rw-r--r--addons/crm/crm_lead_view.xml61
-rw-r--r--addons/crm/crm_meeting_menu.xml2
-rw-r--r--addons/crm/crm_meeting_view.xml34
-rw-r--r--addons/crm/security/crm_security.xml9
-rw-r--r--addons/crm/wizard/crm_opportunity_to_phonecall.py2
-rw-r--r--addons/crm_caldav/i18n/ar.po46
-rw-r--r--addons/crm_claim/crm_claim_view.xml28
-rw-r--r--addons/crm_fundraising/crm_fundraising_view.xml28
-rw-r--r--addons/crm_helpdesk/crm_helpdesk_view.xml28
-rw-r--r--addons/crm_partner_assign/__openerp__.py2
-rw-r--r--addons/crm_partner_assign/test/process/partner_assign.yml2
-rw-r--r--addons/crm_todo/__openerp__.py4
-rw-r--r--addons/decimal_precision/__openerp__.py2
-rw-r--r--addons/document/board_document_view.xml15
-rw-r--r--addons/document/document.py2
-rw-r--r--addons/document/report/document_report_view.xml8
-rw-r--r--addons/document_ics/__openerp__.py4
-rw-r--r--addons/edi/__openerp__.py1
-rw-r--r--addons/edi/static/src/img/knowledge.pngbin0 -> 948 bytes
-rw-r--r--addons/email_template/security/ir.model.access.csv1
-rw-r--r--addons/event/__openerp__.py4
-rw-r--r--addons/event/board_association_view.xml2
-rw-r--r--addons/event/event_view.xml28
-rw-r--r--addons/event_project/__openerp__.py4
-rw-r--r--addons/fetchmail/fetchmail_installer_view.xml14
-rw-r--r--addons/fetchmail/fetchmail_view.xml2
-rw-r--r--addons/fetchmail_crm/__openerp__.py4
-rw-r--r--addons/fetchmail_crm_claim/__openerp__.py4
-rw-r--r--addons/fetchmail_hr_recruitment/__openerp__.py4
-rw-r--r--addons/fetchmail_project_issue/__openerp__.py4
-rw-r--r--addons/google_base_account/__openerp__.py5
-rw-r--r--addons/google_map/__openerp__.py4
-rw-r--r--addons/hr/__openerp__.py5
-rw-r--r--addons/hr/hr_board.xml14
-rw-r--r--addons/hr/hr_department_view.xml8
-rw-r--r--addons/hr/hr_view.xml15
-rw-r--r--addons/hr/test/hr_demo.yml10
-rw-r--r--addons/hr/test/open2recruit2close_job.yml38
-rw-r--r--addons/hr/test/test_hr.yml140
-rw-r--r--addons/hr_evaluation/__openerp__.py1
-rw-r--r--addons/hr_evaluation/board_hr_evaluation_view.xml15
-rw-r--r--addons/hr_evaluation/hr_evaluation_data.xml14
-rw-r--r--addons/hr_evaluation/hr_evaluation_installer.xml3
-rw-r--r--addons/hr_evaluation/hr_evaluation_view.xml4
-rw-r--r--addons/hr_expense/__openerp__.py3
-rw-r--r--addons/hr_expense/board_hr_expense_view.xml2
-rw-r--r--addons/hr_expense/hr_expense_view.xml2
-rw-r--r--addons/hr_holidays/__openerp__.py5
-rw-r--r--addons/hr_holidays/board_hr_holidays_view.xml2
-rw-r--r--addons/hr_holidays/hr_holidays.py2
-rw-r--r--addons/hr_holidays/hr_holidays_view.xml1
-rw-r--r--addons/hr_payroll/__openerp__.py1
-rw-r--r--addons/hr_payroll/hr_payroll_demo.xml3
-rw-r--r--addons/hr_recruitment/__openerp__.py7
-rw-r--r--addons/hr_recruitment/hr_recruitment.py84
-rw-r--r--addons/hr_recruitment/hr_recruitment_menu.xml11
-rw-r--r--addons/hr_recruitment/hr_recruitment_view.xml88
-rw-r--r--addons/hr_recruitment/test/recruitment_process.yml67
-rw-r--r--addons/hr_recruitment/test/resume.eml839
-rw-r--r--addons/hr_recruitment/test/test_hr_recruitment.yml139
-rw-r--r--addons/hr_recruitment/wizard/hr_recruitment_phonecall.py2
-rw-r--r--addons/hr_timesheet/__openerp__.py2
-rw-r--r--addons/hr_timesheet_invoice/__openerp__.py4
-rw-r--r--addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py14
-rw-r--r--addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create_final_view.xml1
-rw-r--r--addons/hr_timesheet_sheet/__openerp__.py1
-rw-r--r--addons/hr_timesheet_sheet/board_hr_timesheet_view.xml4
-rw-r--r--addons/html_view/__openerp__.py2
-rw-r--r--addons/import_base/__openerp__.py4
-rw-r--r--addons/import_google/__openerp__.py1
-rw-r--r--addons/import_sugarcrm/__openerp__.py10
-rw-r--r--addons/import_sugarcrm/security/ir.model.access.csv3
-rw-r--r--addons/knowledge/__openerp__.py4
-rw-r--r--addons/l10n_be_hr_payroll/l10n_be_hr_payroll_data.xml4
-rw-r--r--addons/l10n_br/data/account_tax_template.xml47
-rw-r--r--addons/l10n_br/data/l10n_br_account_chart_template.xml2
-rw-r--r--addons/l10n_ch/__openerp__.py5
-rw-r--r--addons/l10n_ch/bank_view.xml8
-rw-r--r--addons/l10n_ch/sterchi_chart/account.xml2
-rw-r--r--addons/l10n_ch/wizard/bvr_import.py2
-rw-r--r--addons/l10n_cr/data/account_tax_template.xml2
-rw-r--r--addons/l10n_fr_rib/__openerp__.py2
-rw-r--r--addons/l10n_gt/l10n_gt_base.xml1
-rw-r--r--addons/l10n_hn/__openerp__.py1
-rw-r--r--addons/l10n_multilang/__init__.py24
-rw-r--r--addons/l10n_multilang/__openerp__.py43
-rw-r--r--addons/l10n_multilang/account.py107
-rw-r--r--addons/l10n_multilang/l10n_multilang.py156
-rw-r--r--addons/l10n_uk/l10n_uk_wizard.xml2
-rw-r--r--addons/lunch/__openerp__.py2
-rw-r--r--addons/mail/__openerp__.py4
-rw-r--r--addons/mail/mail_message.py5
-rw-r--r--addons/mail/mail_thread.py8
-rw-r--r--addons/mail/mail_thread_view.xml21
-rw-r--r--addons/marketing_campaign_crm_demo/__openerp__.py4
-rw-r--r--addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml104
-rw-r--r--addons/membership/__openerp__.py2
-rw-r--r--addons/mrp/__openerp__.py3
-rw-r--r--addons/mrp/board_manufacturing_view.xml3
-rw-r--r--addons/mrp/i18n/ar.po20
-rw-r--r--addons/mrp/i18n/bg.po20
-rw-r--r--addons/mrp/i18n/bs.po20
-rw-r--r--addons/mrp/i18n/ca.po31
-rw-r--r--addons/mrp/i18n/cs.po20
-rw-r--r--addons/mrp/i18n/da.po20
-rw-r--r--addons/mrp/i18n/de.po31
-rw-r--r--addons/mrp/i18n/el.po22
-rw-r--r--addons/mrp/i18n/es.po29
-rw-r--r--addons/mrp/i18n/es_AR.po20
-rw-r--r--addons/mrp/i18n/es_CL.po29
-rw-r--r--addons/mrp/i18n/es_EC.po29
-rw-r--r--addons/mrp/i18n/es_MX.po4
-rw-r--r--addons/mrp/i18n/es_VE.po4
-rw-r--r--addons/mrp/i18n/et.po20
-rw-r--r--addons/mrp/i18n/fi.po30
-rw-r--r--addons/mrp/i18n/fr.po29
-rw-r--r--addons/mrp/i18n/gl.po30
-rw-r--r--addons/mrp/i18n/hi.po20
-rw-r--r--addons/mrp/i18n/hr.po20
-rw-r--r--addons/mrp/i18n/hu.po600
-rw-r--r--addons/mrp/i18n/id.po20
-rw-r--r--addons/mrp/i18n/it.po29
-rw-r--r--addons/mrp/i18n/ko.po22
-rw-r--r--addons/mrp/i18n/lt.po22
-rw-r--r--addons/mrp/i18n/mrp.pot2
-rw-r--r--addons/mrp/i18n/nb.po31
-rw-r--r--addons/mrp/i18n/nl.po22
-rw-r--r--addons/mrp/i18n/nl_BE.po20
-rw-r--r--addons/mrp/i18n/pl.po29
-rw-r--r--addons/mrp/i18n/pt.po24
-rw-r--r--addons/mrp/i18n/pt_BR.po29
-rw-r--r--addons/mrp/i18n/ro.po20
-rw-r--r--addons/mrp/i18n/ru.po31
-rw-r--r--addons/mrp/i18n/sk.po20
-rw-r--r--addons/mrp/i18n/sl.po20
-rw-r--r--addons/mrp/i18n/sq.po20
-rw-r--r--addons/mrp/i18n/sr@latin.po20
-rw-r--r--addons/mrp/i18n/sv.po24
-rw-r--r--addons/mrp/i18n/tlh.po20
-rw-r--r--addons/mrp/i18n/tr.po29
-rw-r--r--addons/mrp/i18n/uk.po20
-rw-r--r--addons/mrp/i18n/vi.po20
-rw-r--r--addons/mrp/i18n/zh_CN.po27
-rw-r--r--addons/mrp/i18n/zh_HK.po22
-rw-r--r--addons/mrp/i18n/zh_TW.po22
-rw-r--r--addons/mrp/mrp.py4
-rw-r--r--addons/mrp/report/mrp_report_view.xml8
-rw-r--r--addons/mrp/static/src/img/icon.pngbin0 -> 5663 bytes
-rw-r--r--addons/mrp_operations/__openerp__.py3
-rw-r--r--addons/mrp_operations/mrp_operations.py11
-rw-r--r--addons/mrp_operations/mrp_operations_view.xml13
-rw-r--r--addons/mrp_operations/mrp_operations_workflow_instance.xml10
-rw-r--r--addons/mrp_repair/__openerp__.py2
-rw-r--r--addons/multi_company/__openerp__.py2
-rw-r--r--addons/outlook/README29
-rw-r--r--addons/outlook/__openerp__.py4
-rw-r--r--addons/outlook/installer.py17
-rw-r--r--addons/outlook/outlook_installer.xml4
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/Register-plugin.bat2
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/Unregister-plugin.bat2
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/addin.py301
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/chilkat.py5609
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/__init__.py83
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py1810
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgcore.py325
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgutils.py20
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/opt_processors.py320
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/processors.py147
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/OpenERP_Logo.bmpbin80062 -> 0 bytes
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/__init__.py32
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.h224
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.py13
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.rc339
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo.pngbin11053 -> 0 bytes
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo1.bmpbin306 -> 0 bytes
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rc2py.py41
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rcparser.py379
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/eml.py95
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/manager.py195
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/setup.iss105
-rw-r--r--addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py573
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Model.cs78
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPClient/OpenERPClient.csproj69
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPClient/OpenERPConnect.cs397
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Properties/AssemblyInfo.cs36
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Record.cs69
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPClient/XMLRPCClient.cs388
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin.sln36
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/AssemblyInfo.cs52
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Cache.cs55
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/ConfigManager.cs109
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Connect.cs354
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.cs223
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.csproj235
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.csproj.user12
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Resources.Designer.cs119
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Resources.resx145
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Settings.Designer.cs26
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Settings.settings6
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/195737_152643643962_3595480_n.jpgbin0 -> 6784 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Account.icobin0 -> 1150 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Account.pngbin0 -> 897 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Archive.pngbin0 -> 852 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Case.pngbin0 -> 816 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Contact.pngbin0 -> 703 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Create.pngbin0 -> 888 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Error.gifbin0 -> 1037 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Invoice.pngbin0 -> 852 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Move.gifbin0 -> 155 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/MoveDown.pngbin0 -> 352 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/MoveLeft.pngbin0 -> 363 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/OpenERP_icon.icobin0 -> 12862 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Partner.pngbin0 -> 790 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Product.pngbin0 -> 796 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Project.pngbin0 -> 823 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Sale.pngbin0 -> 802 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Search.gifbin0 -> 582 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Success.gifbin0 -> 604 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Task.pngbin0 -> 867 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/developped_by.pngbin0 -> 7192 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/logo.pngbin0 -> 3981 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/openerp.pngbin0 -> 2611 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/perform.gifbin0 -> 89 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/settings.pngbin0 -> 2455 bytes
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Tools.cs173
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.Designer.cs137
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.cs98
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.resx153
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.cs77
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.designer.cs166
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.resx180
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.Designer.cs127
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.cs79
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.resx145
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.Designer.cs334
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.cs216
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.resx455
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.Designer.cs162
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.cs79
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.resx180
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.cs77
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.designer.cs106
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.resx180
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.cs149
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.designer.cs202
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.resx145
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.Designer.cs141
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.cs121
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.resx194
-rw-r--r--addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPluginSetup/OpenERPOutlookPluginSetup.vdproj988
-rw-r--r--addons/pad/__openerp__.py4
-rw-r--r--addons/pad_project/__openerp__.py4
-rw-r--r--addons/plugin/__openerp__.py4
-rw-r--r--addons/plugin/plugin_handler.py44
-rw-r--r--addons/point_of_sale/__openerp__.py2
-rw-r--r--addons/point_of_sale/point_of_sale.py19
-rw-r--r--addons/point_of_sale/point_of_sale_demo.xml12
-rw-r--r--addons/point_of_sale/point_of_sale_report.xml21
-rw-r--r--addons/point_of_sale/point_of_sale_view.xml130
-rw-r--r--addons/point_of_sale/report/__init__.py1
-rw-r--r--addons/point_of_sale/report/pos_details.py4
-rw-r--r--addons/point_of_sale/report/pos_details.rml10
-rw-r--r--addons/point_of_sale/report/pos_order_report_view.xml2
-rw-r--r--addons/point_of_sale/report/pos_payment_report_date.py79
-rw-r--r--addons/point_of_sale/report/pos_payment_report_date.rml188
-rw-r--r--addons/point_of_sale/report/pos_receipt.rml2
-rw-r--r--addons/point_of_sale/security/ir.model.access.csv6
-rw-r--r--addons/point_of_sale/security/point_of_sale_security.xml2
-rw-r--r--addons/point_of_sale/static/src/js/pos.js326
-rw-r--r--addons/point_of_sale/test/point_of_sale_report.yml18
-rw-r--r--addons/point_of_sale/wizard/__init__.py1
-rw-r--r--addons/point_of_sale/wizard/pos_confirm.xml6
-rw-r--r--addons/point_of_sale/wizard/pos_payment_report_date.py68
-rw-r--r--addons/point_of_sale/wizard/pos_payment_report_date_view.xml38
-rw-r--r--addons/portal/__openerp__.py3
-rw-r--r--addons/process/__openerp__.py2
-rw-r--r--addons/procurement/i18n/hr.po890
-rw-r--r--addons/procurement/i18n/pt.po199
-rw-r--r--addons/product/__openerp__.py2
-rw-r--r--addons/product/i18n/pt.po13
-rw-r--r--addons/product/product_view.xml2
-rw-r--r--addons/product_manufacturer/__openerp__.py2
-rw-r--r--addons/product_margin/__openerp__.py4
-rw-r--r--addons/product_visible_discount/__openerp__.py4
-rw-r--r--addons/profile_tools/__openerp__.py4
-rw-r--r--addons/profile_tools/static/src/img/icon.pngbin0 -> 8466 bytes
-rw-r--r--addons/project/__openerp__.py4
-rw-r--r--addons/project/board_project_view.xml3
-rw-r--r--addons/project/project.py115
-rw-r--r--addons/project/project_demo.xml13
-rw-r--r--addons/project/project_view.xml16
-rw-r--r--addons/project/report/project_cumulative.xml81
-rw-r--r--addons/project/report/project_report_view.xml27
-rw-r--r--addons/project/res_partner_view.xml3
-rw-r--r--addons/project/security/ir.model.access.csv2
-rw-r--r--addons/project/static/src/img/icon.pngbin0 -> 4172 bytes
-rw-r--r--addons/project_caldav/__openerp__.py2
-rw-r--r--addons/project_caldav/project_caldav_view.xml14
-rw-r--r--addons/project_gtd/__openerp__.py3
-rw-r--r--addons/project_issue/__openerp__.py1
-rw-r--r--addons/project_issue/board_project_issue_view.xml20
-rw-r--r--addons/project_issue/project_issue.py2
-rw-r--r--addons/project_issue/project_issue_menu.xml12
-rw-r--r--addons/project_issue/project_issue_view.xml28
-rw-r--r--addons/project_issue_sheet/__openerp__.py4
-rw-r--r--addons/project_long_term/__openerp__.py11
-rw-r--r--addons/project_long_term/project_long_term_demo.xml11
-rw-r--r--addons/project_long_term/test/phase_constraint.yml118
-rw-r--r--addons/project_long_term/test/phase_process.yml79
-rw-r--r--addons/project_long_term/test/project_schedule_consecutive_day.yml127
-rw-r--r--addons/project_long_term/test/project_schedule_without_wroking_hour.yml76
-rw-r--r--addons/project_long_term/test/schedule_project_phases.yml180
-rw-r--r--addons/project_long_term/test/schedule_project_tasks.yml86
-rw-r--r--addons/project_long_term/test/test_schedule_phases_case1.yml76
-rw-r--r--addons/project_long_term/test/test_schedule_phases_case2.yml193
-rw-r--r--addons/project_long_term/test/test_schedule_tasks_case1.yml246
-rw-r--r--addons/project_mailgate/__openerp__.py4
-rw-r--r--addons/project_mailgate/project_mailgate_view.xml24
-rw-r--r--addons/project_messages/__openerp__.py2
-rw-r--r--addons/project_messages/project_messages_view.xml9
-rw-r--r--addons/project_mrp/__openerp__.py4
-rw-r--r--addons/project_mrp/i18n/hr.po102
-rw-r--r--addons/project_planning/__openerp__.py2
-rw-r--r--addons/project_retro_planning/__openerp__.py4
-rw-r--r--addons/project_scrum/i18n/hr.po384
-rw-r--r--addons/project_timesheet/project_timesheet_view.xml5
-rw-r--r--addons/purchase/__openerp__.py1
-rw-r--r--addons/purchase/board_purchase_view.xml98
-rw-r--r--addons/purchase/purchase_view.xml7
-rw-r--r--addons/purchase/report/purchase_report_view.xml95
-rw-r--r--addons/purchase/static/src/img/icon.pngbin0 -> 5863 bytes
-rw-r--r--addons/purchase_double_validation/__openerp__.py4
-rw-r--r--addons/purchase_requisition/i18n/hr.po436
-rw-r--r--addons/report_designer/__openerp__.py4
-rw-r--r--addons/report_intrastat/__openerp__.py2
-rw-r--r--addons/report_webkit/__openerp__.py2
-rw-r--r--addons/report_webkit/i18n/hr.po613
-rw-r--r--addons/report_webkit_sample/__openerp__.py2
-rw-r--r--addons/report_webkit_sample/i18n/hr.po153
-rw-r--r--addons/resource/__openerp__.py2
-rw-r--r--addons/resource/i18n/hr.po119
-rw-r--r--addons/sale/board_sale_view.xml2
-rw-r--r--addons/sale/i18n/fr.po14
-rw-r--r--addons/sale/sale.py16
-rw-r--r--addons/sale/sale_view.xml6
-rw-r--r--addons/sale_analytic_plans/__openerp__.py4
-rw-r--r--addons/sale_crm/board_sale_crm_view.xml17
-rw-r--r--addons/sale_journal/i18n/pt.po10
-rw-r--r--addons/sale_layout/i18n/hr.po302
-rw-r--r--addons/sale_margin/i18n/hr.po415
-rw-r--r--addons/sale_mrp/i18n/ar.po66
-rw-r--r--addons/sale_mrp/i18n/hr.po72
-rw-r--r--addons/sale_mrp/i18n/pt.po15
-rw-r--r--addons/sale_order_dates/i18n/hr.po74
-rw-r--r--addons/share/__openerp__.py4
-rw-r--r--addons/share/i18n/hr.po69
-rw-r--r--addons/stock/__openerp__.py1
-rw-r--r--addons/stock/board_warehouse_view.xml8
-rw-r--r--addons/stock/i18n/ar.po2
-rw-r--r--addons/stock/i18n/bg.po2
-rw-r--r--addons/stock/i18n/bs.po2
-rw-r--r--addons/stock/i18n/ca.po2
-rw-r--r--addons/stock/i18n/cs.po2
-rw-r--r--addons/stock/i18n/da.po2
-rw-r--r--addons/stock/i18n/de.po2
-rw-r--r--addons/stock/i18n/el.po2
-rw-r--r--addons/stock/i18n/es.po2
-rw-r--r--addons/stock/i18n/es_AR.po2
-rw-r--r--addons/stock/i18n/es_CL.po2
-rw-r--r--addons/stock/i18n/es_EC.po2
-rw-r--r--addons/stock/i18n/es_MX.po2
-rw-r--r--addons/stock/i18n/es_MX.po.moved2
-rw-r--r--addons/stock/i18n/es_VE.po2
-rw-r--r--addons/stock/i18n/et.po2
-rw-r--r--addons/stock/i18n/fi.po2
-rw-r--r--addons/stock/i18n/fr.po2
-rw-r--r--addons/stock/i18n/gl.po2
-rw-r--r--addons/stock/i18n/hr.po843
-rw-r--r--addons/stock/i18n/hu.po2
-rw-r--r--addons/stock/i18n/id.po8
-rw-r--r--addons/stock/i18n/it.po2
-rw-r--r--addons/stock/i18n/ko.po2
-rw-r--r--addons/stock/i18n/lt.po2
-rw-r--r--addons/stock/i18n/lv.po2
-rw-r--r--addons/stock/i18n/mn.po2
-rw-r--r--addons/stock/i18n/nb.po2
-rw-r--r--addons/stock/i18n/nl.po2
-rw-r--r--addons/stock/i18n/nl_BE.po2
-rw-r--r--addons/stock/i18n/pl.po2
-rw-r--r--addons/stock/i18n/pt.po2
-rw-r--r--addons/stock/i18n/pt_BR.po2
-rw-r--r--addons/stock/i18n/ro.po2
-rw-r--r--addons/stock/i18n/ru.po2
-rw-r--r--addons/stock/i18n/sl.po2
-rw-r--r--addons/stock/i18n/sq.po2
-rw-r--r--addons/stock/i18n/sr.po2
-rw-r--r--addons/stock/i18n/sr@latin.po2
-rw-r--r--addons/stock/i18n/stock.pot2
-rw-r--r--addons/stock/i18n/sv.po2
-rw-r--r--addons/stock/i18n/th.po2
-rw-r--r--addons/stock/i18n/tlh.po2
-rw-r--r--addons/stock/i18n/tr.po2
-rw-r--r--addons/stock/i18n/uk.po2
-rw-r--r--addons/stock/i18n/vi.po2
-rw-r--r--addons/stock/i18n/zh_CN.po2
-rw-r--r--addons/stock/i18n/zh_TW.po2
-rw-r--r--addons/stock/product_view.xml6
-rw-r--r--addons/stock/report/report_stock_move_view.xml4
-rw-r--r--addons/stock/static/src/img/icon.pngbin0 -> 5505 bytes
-rw-r--r--addons/stock/stock_view.xml2
-rw-r--r--addons/stock/test/stock_test.yml1
-rw-r--r--addons/stock_invoice_directly/__openerp__.py2
-rw-r--r--addons/stock_invoice_directly/i18n/hr.po14
-rw-r--r--addons/stock_location/i18n/hr.po102
-rw-r--r--addons/stock_no_autopicking/__openerp__.py2
-rw-r--r--addons/stock_no_autopicking/i18n/hr.po33
-rw-r--r--addons/stock_planning/__openerp__.py2
-rw-r--r--addons/stock_planning/i18n/hr.po128
-rw-r--r--addons/stock_planning/test/stock_planning.yml1
-rw-r--r--addons/subscription/__openerp__.py2
-rw-r--r--addons/subscription/i18n/hr.po118
-rw-r--r--addons/survey/__openerp__.py2
-rw-r--r--addons/survey/i18n/hr.po483
-rw-r--r--addons/survey/survey_demo.xml64
-rw-r--r--addons/survey/wizard/survey_answer.py4
-rw-r--r--addons/thunderbird/i18n/hr.po56
-rw-r--r--addons/users_ldap/__openerp__.py5
-rw-r--r--addons/users_ldap/i18n/hr.po128
-rw-r--r--addons/users_ldap/security/ir.model.access.csv2
-rw-r--r--addons/warning/__openerp__.py4
-rw-r--r--addons/warning/i18n/hr.po48
-rw-r--r--addons/web_livechat/__openerp__.py2
-rw-r--r--addons/web_livechat/i18n/hr.po41
-rw-r--r--addons/web_livechat/publisher_warranty.py4
-rw-r--r--addons/web_livechat/static/src/js/web_livechat.js53
-rw-r--r--addons/web_uservoice/__openerp__.py2
-rw-r--r--addons/web_uservoice/i18n/hr.po29
-rw-r--r--addons/wiki/i18n/hr.po77
-rw-r--r--addons/wiki_faq/i18n/hr.po32
-rw-r--r--addons/wiki_quality_manual/i18n/hr.po32
-rw-r--r--addons/wiki_sale_faq/i18n/hr.po81
547 files changed, 20463 insertions, 18793 deletions
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index c8d17c2cf9e..7045f5c069c 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -19,11 +19,11 @@
#
##############################################################################
{
- "name" : "Accounting and Financial Management",
+ "name" : "eInvoicing",
"version" : "1.1",
"author" : "OpenERP SA",
"category": 'Accounting & Finance',
- 'complexity': "normal",
+ 'complexity': "easy",
"description": """
Accounting and Financial Management.
====================================
@@ -104,6 +104,7 @@ module named account_voucher.
'account_invoice_view.xml',
'partner_view.xml',
'data/account_data.xml',
+ 'data/data_account_type.xml',
'account_invoice_workflow.xml',
'project/project_view.xml',
'project/project_report.xml',
diff --git a/addons/account/account.py b/addons/account/account.py
index 73c1018d66b..fd8a0506d01 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -131,7 +131,7 @@ class account_account_type(osv.osv):
_name = "account.account.type"
_description = "Account Type"
_columns = {
- 'name': fields.char('Account Type', size=64, required=True),
+ 'name': fields.char('Account Type', size=64, required=True, translate=True),
'code': fields.char('Code', size=32, required=True),
'close_method': fields.selection([('none', 'None'), ('balance', 'Balance'), ('detail', 'Detail'), ('unreconciled', 'Unreconciled')], 'Deferral Method', required=True, help="""Set here the method that will be used to generate the end of year journal entries for all the accounts of this type.
@@ -771,7 +771,9 @@ class account_journal(osv.osv):
def create(self, cr, uid, vals, context=None):
if not 'sequence_id' in vals or not vals['sequence_id']:
- vals.update({'sequence_id': self.create_sequence(cr, uid, vals, context)})
+ # if we have the right to create a journal, we should be able to
+ # create it's sequence.
+ vals.update({'sequence_id': self.create_sequence(cr, 1, vals, context)})
return super(account_journal, self).create(cr, uid, vals, context)
def name_get(self, cr, user, ids, context=None):
@@ -789,9 +791,11 @@ class account_journal(osv.osv):
result = self.browse(cr, user, ids, context=context)
res = []
for rs in result:
- name = rs.name
if rs.currency:
- name = "%s (%s)" % (rs.name, rs.currency.name)
+ currency = rs.currency
+ else:
+ currency = rs.company_id.currency_id
+ name = "%s (%s)" % (rs.name, currency.name)
res += [(rs.id, name)]
return res
@@ -1223,7 +1227,7 @@ class account_move(osv.osv):
'period_id': fields.many2one('account.period', 'Period', required=True, states={'posted':[('readonly',True)]}),
'journal_id': fields.many2one('account.journal', 'Journal', required=True, states={'posted':[('readonly',True)]}),
'state': fields.selection([('draft','Unposted'), ('posted','Posted')], 'State', required=True, readonly=True,
- help='All manually created new journal entry are usually in the state \'Unposted\', but you can set the option to skip that state on the related journal. In that case, they will be behave as journal entries automatically created by the system on document validation (invoices, bank statements...) and will be created in \'Posted\' state.'),
+ help='All manually created new journal entries are usually in the state \'Unposted\', but you can set the option to skip that state on the related journal. In that case, they will be behave as journal entries automatically created by the system on document validation (invoices, bank statements...) and will be created in \'Posted\' state.'),
'line_id': fields.one2many('account.move.line', 'move_id', 'Entries', states={'posted':[('readonly',True)]}),
'to_check': fields.boolean('To Review', help='Check this box if you are unsure of that journal entry and if you want to note it as \'to be reviewed\' by an accounting expert.'),
'partner_id': fields.related('line_id', 'partner_id', type="many2one", relation="res.partner", string="Partner", store=True),
@@ -2427,6 +2431,7 @@ class account_account_template(osv.osv):
'child_parent_ids':fields.one2many('account.account.template', 'parent_id', 'Children'),
'tax_ids': fields.many2many('account.tax.template', 'account_account_template_tax_rel', 'account_id', 'tax_id', 'Default Taxes'),
'nocreate': fields.boolean('Optional create', help="If checked, the new chart of accounts will not contain this by default."),
+ 'chart_template_id': fields.many2one('account.chart.template', 'Chart Template', help="This optional field allow you to link an account template to a specific chart template that may differ from the one its root parent belongs to. This allow you to define chart templates that extend another and complete it with few new accounts (You don't need to define the whole structure that is common to both several times)."),
}
_defaults = {
@@ -2463,6 +2468,59 @@ class account_account_template(osv.osv):
res.append((record['id'],name ))
return res
+ def generate_account(self, cr, uid, chart_template_id, tax_template_ref, acc_template_ref, code_digits, company_id, context=None):
+ """
+ This method for generating accounts from templates.
+
+ :param chart_template_id: id of the chart template chosen in the wizard
+ :param tax_template_ref: Taxes templates reference for write taxes_id in account_account.
+ :paramacc_template_ref: dictionary with the mappping between the account templates and the real accounts.
+ :param code_digits: number of digits got from wizard.multi.charts.accounts, this is use for account code.
+ :param company_id: company_id selected from wizard.multi.charts.accounts.
+ :returns: return acc_template_ref for reference purpose.
+ :rtype: dict
+ """
+ if context is None:
+ context = {}
+ obj_acc = self.pool.get('account.account')
+ company_name = self.pool.get('res.company').browse(cr, uid, company_id, context=context).name
+ template = self.pool.get('account.chart.template').browse(cr, uid, chart_template_id, context=context)
+ #deactivate the parent_store functionnality on account_account for rapidity purpose
+ ctx = context.copy()
+ ctx.update({'defer_parent_store_computation': True})
+ children_acc_template = self.search(cr, uid, ['|', ('chart_template_id','=', [chart_template_id]),'&',('parent_id','child_of', [template.account_root_id.id]),('chart_template_id','=', False), ('nocreate','!=',True)], order='id')
+ for account_template in self.browse(cr, uid, children_acc_template, context=context):
+ # skip the root of COA if it's not the main one
+ if (template.account_root_id.id == account_template.id) and template.parent_id:
+ continue
+ tax_ids = []
+ for tax in account_template.tax_ids:
+ tax_ids.append(tax_template_ref[tax.id])
+
+ code_main = account_template.code and len(account_template.code) or 0
+ code_acc = account_template.code or ''
+ if code_main > 0 and code_main <= code_digits and account_template.type != 'view':
+ code_acc = str(code_acc) + (str('0'*(code_digits-code_main)))
+ vals={
+ 'name': (template.account_root_id.id == account_template.id) and company_name or account_template.name,
+ 'currency_id': account_template.currency_id and account_template.currency_id.id or False,
+ 'code': code_acc,
+ 'type': account_template.type,
+ 'user_type': account_template.user_type and account_template.user_type.id or False,
+ 'reconcile': account_template.reconcile,
+ 'shortcut': account_template.shortcut,
+ 'note': account_template.note,
+ 'parent_id': account_template.parent_id and ((account_template.parent_id.id in acc_template_ref) and acc_template_ref[account_template.parent_id.id]) or False,
+ 'tax_ids': [(6,0,tax_ids)],
+ 'company_id': company_id,
+ }
+ new_account = obj_acc.create(cr, uid, vals, context=ctx)
+ acc_template_ref[account_template.id] = new_account
+
+ #reactivate the parent_store functionnality on account_account
+ obj_acc._parent_store_compute(cr)
+ return acc_template_ref
+
account_account_template()
class account_add_tmpl_wizard(osv.osv_memory):
@@ -2540,6 +2598,41 @@ class account_tax_code_template(osv.osv):
'notprintable': False,
}
+ def generate_tax_code(self, cr, uid, tax_code_root_id, company_id, context=None):
+ '''
+ This function generates the tax codes from the templates of tax code that are children of the given one passed
+ in argument. Then it returns a dictionary with the mappping between the templates and the real objects.
+
+ :param tax_code_root_id: id of the root of all the tax code templates to process
+ :param company_id: id of the company the wizard is running for
+ :returns: dictionary with the mappping between the templates and the real objects.
+ :rtype: dict
+ '''
+ obj_tax_code_template = self.pool.get('account.tax.code.template')
+ obj_tax_code = self.pool.get('account.tax.code')
+ tax_code_template_ref = {}
+ company = self.pool.get('res.company').browse(cr, uid, company_id, context=context)
+
+ #find all the children of the tax_code_root_id
+ children_tax_code_template = obj_tax_code_template.search(cr, uid, [('parent_id','child_of',[tax_code_root_id])], order='id')
+ for tax_code_template in obj_tax_code_template.browse(cr, uid, children_tax_code_template, context=context):
+ vals = {
+ 'name': (tax_code_root_id == tax_code_template.id) and company.name or tax_code_template.name,
+ 'code': tax_code_template.code,
+ 'info': tax_code_template.info,
+ 'parent_id': tax_code_template.parent_id and ((tax_code_template.parent_id.id in tax_code_template_ref) and tax_code_template_ref[tax_code_template.parent_id.id]) or False,
+ 'company_id': company_id,
+ 'sign': tax_code_template.sign,
+ }
+ #check if this tax code already exists
+ rec_list = obj_tax_code.search(cr, uid, [('name', '=', vals['name']),('code', '=', vals['code']),('company_id', '=', vals['company_id'])], context=context)
+ if not rec_list:
+ #if not yet, create it
+ new_tax_code = obj_tax_code.create(cr, uid, vals)
+ #recording the new tax code to do the mapping
+ tax_code_template_ref[tax_code_template.id] = new_tax_code
+ return tax_code_template_ref
+
def name_get(self, cr, uid, ids, context=None):
if not ids:
return []
@@ -2563,19 +2656,29 @@ class account_chart_template(osv.osv):
_columns={
'name': fields.char('Name', size=64, required=True),
- 'account_root_id': fields.many2one('account.account.template','Root Account',required=True,domain=[('parent_id','=',False)]),
- 'tax_code_root_id': fields.many2one('account.tax.code.template','Root Tax Code',required=True,domain=[('parent_id','=',False)]),
+ 'parent_id': fields.many2one('account.chart.template', 'Parent Chart Template'),
+ 'code_digits': fields.integer('# of Digits', required=True, help="No. of Digits to use for account code"),
+ 'visible': fields.boolean('Can be Visible?', help="Set this to False if you don't want this template to be used actively in the wizard that generate Chart of Accounts from templates, this is useful when you want to generate accounts of this template only when loading its child template."),
+ '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 sale and purchase rates or choose from list of taxes. This last choice assumes that the set of tax defined on this template is complete'),
+ 'account_root_id': fields.many2one('account.account.template', 'Root Account', domain=[('parent_id','=',False)]),
+ 'tax_code_root_id': fields.many2one('account.tax.code.template', 'Root Tax Code', domain=[('parent_id','=',False)]),
'tax_template_ids': fields.one2many('account.tax.template', 'chart_template_id', 'Tax Template List', help='List of all the taxes that have to be installed by the wizard'),
- 'bank_account_view_id': fields.many2one('account.account.template','Bank Account',required=True),
- 'property_account_receivable': fields.many2one('account.account.template','Receivable Account'),
- 'property_account_payable': fields.many2one('account.account.template','Payable Account'),
- 'property_account_expense_categ': fields.many2one('account.account.template','Expense Category Account'),
- 'property_account_income_categ': fields.many2one('account.account.template','Income Category Account'),
- 'property_account_expense': fields.many2one('account.account.template','Expense Account on Product Template'),
- 'property_account_income': fields.many2one('account.account.template','Income Account on Product Template'),
+ 'bank_account_view_id': fields.many2one('account.account.template', 'Bank Account'),
+ 'property_account_receivable': fields.many2one('account.account.template', 'Receivable Account'),
+ 'property_account_payable': fields.many2one('account.account.template', 'Payable Account'),
+ 'property_account_expense_categ': fields.many2one('account.account.template', 'Expense Category Account'),
+ 'property_account_income_categ': fields.many2one('account.account.template', 'Income Category Account'),
+ 'property_account_expense': fields.many2one('account.account.template', 'Expense Account on Product Template'),
+ 'property_account_income': fields.many2one('account.account.template', 'Income Account on Product Template'),
'property_reserve_and_surplus_account': fields.many2one('account.account.template', 'Reserve and Profit/Loss Account', domain=[('type', '=', 'payable')], help='This Account is used for transferring Profit/Loss(If It is Profit: Amount will be added, Loss: Amount will be deducted.), Which is calculated from Profilt & Loss Report'),
- 'property_account_income_opening': fields.many2one('account.account.template','Opening Entries Income Account'),
- 'property_account_expense_opening': fields.many2one('account.account.template','Opening Entries Expense Account'),
+ 'property_account_income_opening': fields.many2one('account.account.template', 'Opening Entries Income Account'),
+ 'property_account_expense_opening': fields.many2one('account.account.template', 'Opening Entries Expense Account'),
+ }
+
+ _defaults = {
+ 'visible': True,
+ 'code_digits': 6,
+ 'complete_tax_set': True,
}
account_chart_template()
@@ -2653,6 +2756,61 @@ class account_tax_template(osv.osv):
}
_order = 'sequence'
+ def _generate_tax(self, cr, uid, tax_templates, tax_code_template_ref, company_id, context=None):
+ """
+ This method generate taxes from templates.
+
+ :param tax_templates: list of browse record of the tax templates to process
+ :param tax_code_template_ref: Taxcode templates reference.
+ :param company_id: id of the company the wizard is running for
+ :returns:
+ {
+ 'tax_template_to_tax': mapping between tax template and the newly generated taxes corresponding,
+ 'account_dict': dictionary containing a to-do list with all the accounts to assign on new taxes
+ }
+ """
+ if context is None:
+ context = {}
+ res = {}
+ todo_dict = {}
+ tax_template_to_tax = {}
+ for tax in tax_templates:
+ vals_tax = {
+ 'name':tax.name,
+ 'sequence': tax.sequence,
+ 'amount': tax.amount,
+ 'type': tax.type,
+ 'applicable_type': tax.applicable_type,
+ 'domain': tax.domain,
+ 'parent_id': tax.parent_id and ((tax.parent_id.id in tax_template_to_tax) and tax_template_to_tax[tax.parent_id.id]) or False,
+ 'child_depend': tax.child_depend,
+ 'python_compute': tax.python_compute,
+ 'python_compute_inv': tax.python_compute_inv,
+ 'python_applicable': tax.python_applicable,
+ 'base_code_id': tax.base_code_id and ((tax.base_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.base_code_id.id]) or False,
+ 'tax_code_id': tax.tax_code_id and ((tax.tax_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.tax_code_id.id]) or False,
+ 'base_sign': tax.base_sign,
+ 'tax_sign': tax.tax_sign,
+ 'ref_base_code_id': tax.ref_base_code_id and ((tax.ref_base_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.ref_base_code_id.id]) or False,
+ 'ref_tax_code_id': tax.ref_tax_code_id and ((tax.ref_tax_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.ref_tax_code_id.id]) or False,
+ 'ref_base_sign': tax.ref_base_sign,
+ 'ref_tax_sign': tax.ref_tax_sign,
+ 'include_base_amount': tax.include_base_amount,
+ 'description': tax.description,
+ 'company_id': company_id,
+ 'type_tax_use': tax.type_tax_use,
+ 'price_include': tax.price_include
+ }
+ new_tax = self.pool.get('account.tax').create(cr, uid, vals_tax)
+ tax_template_to_tax[tax.id] = new_tax
+ #as the accounts have not been created yet, we have to wait before filling these fields
+ todo_dict[new_tax] = {
+ 'account_collected_id': tax.account_collected_id and tax.account_collected_id.id or False,
+ 'account_paid_id': tax.account_paid_id and tax.account_paid_id.id or False,
+ }
+ res.update({'tax_template_to_tax': tax_template_to_tax, 'account_dict': todo_dict})
+ return res
+
account_tax_template()
# Fiscal Position Templates
@@ -2669,6 +2827,38 @@ class account_fiscal_position_template(osv.osv):
'note': fields.text('Notes', translate=True),
}
+ def generate_fiscal_position(self, cr, uid, chart_temp_id, tax_template_ref, acc_template_ref, company_id, context=None):
+ """
+ This method generate Fiscal Position, Fiscal Position Accounts and Fiscal Position Taxes from templates.
+
+ :param chart_temp_id: Chart Template Id.
+ :param taxes_ids: Taxes templates reference for generating account.fiscal.position.tax.
+ :param acc_template_ref: Account templates reference for generating account.fiscal.position.account.
+ :param company_id: company_id selected from wizard.multi.charts.accounts.
+ :returns: True
+ """
+ if context is None:
+ context = {}
+ obj_tax_fp = self.pool.get('account.fiscal.position.tax')
+ obj_ac_fp = self.pool.get('account.fiscal.position.account')
+ obj_fiscal_position = self.pool.get('account.fiscal.position')
+ fp_ids = self.search(cr, uid, [('chart_template_id', '=', chart_temp_id)])
+ for position in self.browse(cr, uid, fp_ids, context=context):
+ new_fp = obj_fiscal_position.create(cr, uid, {'company_id': company_id, 'name': position.name})
+ for tax in position.tax_ids:
+ obj_tax_fp.create(cr, uid, {
+ 'tax_src_id': tax_template_ref[tax.tax_src_id.id],
+ 'tax_dest_id': tax.tax_dest_id and tax_template_ref[tax.tax_dest_id.id] or False,
+ 'position_id': new_fp
+ })
+ for acc in position.account_ids:
+ obj_ac_fp.create(cr, uid, {
+ 'account_src_id': acc_template_ref[acc.account_src_id.id],
+ 'account_dest_id': acc_template_ref[acc.account_dest_id.id],
+ 'position_id': new_fp
+ })
+ return True
+
account_fiscal_position_template()
class account_fiscal_position_tax_template(osv.osv):
@@ -2803,66 +2993,64 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'seq_journal':fields.boolean('Separated Journal Sequences', help="Check this box if you want to use a different sequence for each created journal. Otherwise, all will use the same sequence."),
"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'),
}
def onchange_chart_template_id(self, cr, uid, ids, chart_template_id=False, context=None):
res = {}
- res['value'] = {}
- res['value']["sale_tax"] = False
- res['value']["purchase_tax"] = False
+ tax_templ_obj = self.pool.get('account.tax.template')
+ res['value'] = {'complete_tax_set': False, 'sale_tax': False, 'purchase_tax': False}
if chart_template_id:
- # default tax is given by the lowest sequence. For same sequence we will take the latest created as it will be the case for tax created while installing the generic chart of accounts
- sale_tax_ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id"
- , "=", chart_template_id), ('type_tax_use', 'in', ('sale','all'))], order="sequence, id desc")
- purchase_tax_ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id"
- , "=", chart_template_id), ('type_tax_use', 'in', ('purchase','all'))], order="sequence, id desc")
-
- res['value']["sale_tax"] = sale_tax_ids and sale_tax_ids[0] or False
- res['value']["purchase_tax"] = purchase_tax_ids and purchase_tax_ids[0] or False
+ data = self.pool.get('account.chart.template').browse(cr, uid, chart_template_id, context=context)
+ res['value'].update({'complete_tax_set': data.complete_tax_set})
+ if data.complete_tax_set:
+ # default tax is given by the lowest sequence. For same sequence we will take the latest created as it will be the case for tax created while isntalling the generic chart of account
+ sale_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
+ , "=", chart_template_id), ('type_tax_use', 'in', ('sale','all'))], order="sequence, id desc")
+ purchase_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
+ , "=", chart_template_id), ('type_tax_use', 'in', ('purchase','all'))], order="sequence, id desc")
+ res['value'].update({'sale_tax': sale_tax_ids and sale_tax_ids[0] or False, 'purchase_tax': purchase_tax_ids and purchase_tax_ids[0] or False})
+
+ if data.code_digits:
+ res['value'].update({'code_digits': data.code_digits})
return res
- def _get_purchase_tax(self, cr, uid, context=None):
- ids = self.pool.get('account.chart.template').search(cr, uid, [], context=context)
- if ids:
- chart_template_id = ids[0]
- purchase_tax_ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id"
- , "=", chart_template_id), ('type_tax_use', 'in', ('purchase','all'))], order="sequence")
- return purchase_tax_ids and purchase_tax_ids[0] or False
- return False
-
- def _get_sale_tax(self, cr, uid, context=None):
- ids = self.pool.get('account.chart.template').search(cr, uid, [], context=context)
- if ids:
- chart_template_id = ids[0]
- sale_tax_ids = self.pool.get('account.tax.template').search(cr, uid, [("chart_template_id"
- , "=", chart_template_id), ('type_tax_use', 'in', ('sale','all'))], order="sequence")
- return sale_tax_ids and sale_tax_ids[0] or False
- return False
- def _get_chart(self, cr, uid, context=None):
- ids = self.pool.get('account.chart.template').search(cr, uid, [], context=context)
- if ids:
- return ids[0]
- return False
+ def default_get(self, cr, uid, fields, context=None):
+ res = super(wizard_multi_charts_accounts, self).default_get(cr, uid, fields, context=context)
+ tax_templ_obj = self.pool.get('account.tax.template')
- def _get_default_accounts(self, cr, uid, context=None):
- return [
- {'acc_name': _('Cash'),'account_type':'cash'}
- ]
+ if 'bank_accounts_id' in fields:
+ res.update({'bank_accounts_id': [{'acc_name': _('Current'), 'account_type': 'bank'},
+ {'acc_name': _('Deposit'), 'account_type': 'bank'},
+ {'acc_name': _('Cash'), 'account_type': 'cash'}]})
+ if 'company_id' in fields:
+ res.update({'company_id': self.pool.get('res.users').browse(cr, uid, [uid], context=context)[0].company_id.id})
+ if 'seq_journal' in fields:
+ res.update({'seq_journal': True})
- _defaults = {
- 'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, [uid], c)[0].company_id.id,
- 'chart_template_id': _get_chart,
- 'bank_accounts_id': _get_default_accounts,
- 'sale_tax': _get_sale_tax,
- 'purchase_tax': _get_purchase_tax,
- 'code_digits': 6,
- 'seq_journal': True
- }
+ ids = self.pool.get('account.chart.template').search(cr, uid, [('visible', '=', True)], context=context)
+ if ids:
+ if 'chart_template_id' in fields:
+ res.update({'chart_template_id': ids[0]})
+ if 'sale_tax' in fields:
+ sale_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
+ , "=", ids[0]), ('type_tax_use', 'in', ('sale','all'))], order="sequence")
+ res.update({'sale_tax': sale_tax_ids and sale_tax_ids[0] or False})
+ if 'purchase_tax' in fields:
+ purchase_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
+ , "=", ids[0]), ('type_tax_use', 'in', ('purchase','all'))], order="sequence")
+ res.update({'purchase_tax': purchase_tax_ids and purchase_tax_ids[0] or False})
+ return res
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(wizard_multi_charts_accounts, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
cmp_select = []
- company_ids = self.pool.get('res.company').search(cr, uid, [], context=context)
+ acc_template_obj = self.pool.get('account.chart.template')
+ company_obj = self.pool.get('res.company')
+
+ company_ids = company_obj.search(cr, uid, [], context=context)
#display in the widget selection of companies, only the companies that haven't been configured yet (but don't care about the demo chart of accounts)
cr.execute("SELECT company_id FROM account_account WHERE active = 't' AND account_account.parent_id IS NULL AND name != %s", ("Chart For Automated Tests",))
configured_cmp = [r[0] for r in cr.fetchall()]
@@ -2872,369 +3060,435 @@ class wizard_multi_charts_accounts(osv.osv_memory):
res['fields'][field]['domain'] = [('id','in',unconfigured_cmp)]
res['fields'][field]['selection'] = [('', '')]
if unconfigured_cmp:
- cmp_select = [(line.id, line.name) for line in self.pool.get('res.company').browse(cr, uid, unconfigured_cmp)]
+ cmp_select = [(line.id, line.name) for line in company_obj.browse(cr, uid, unconfigured_cmp)]
res['fields'][field]['selection'] = cmp_select
return res
- def execute(self, cr, uid, ids, context=None):
- obj_multi = self.browse(cr, uid, ids[0])
- obj_acc = self.pool.get('account.account')
- obj_acc_tax = self.pool.get('account.tax')
+ def check_created_journals(self, cr, uid, vals_journal, company_id, context=None):
+ """
+ This method used for checking journals already created or not. If not then create new journal.
+ """
obj_journal = self.pool.get('account.journal')
- obj_acc_template = self.pool.get('account.account.template')
- obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
- obj_fiscal_position = self.pool.get('account.fiscal.position')
+ rec_list = obj_journal.search(cr, uid, [('name','=', vals_journal['name']),('company_id', '=', company_id)], context=context)
+ if not rec_list:
+ obj_journal.create(cr, uid, vals_journal, context=context)
+ return True
+
+ def generate_journals(self, cr, uid, chart_template_id, acc_template_ref, company_id, context=None):
+ """
+ This method is used for creating journals.
+
+ :param chart_temp_id: Chart Template Id.
+ :param acc_template_ref: Account templates reference.
+ :param company_id: company_id selected from wizard.multi.charts.accounts.
+ :returns: True
+ """
+ journal_data = self._prepare_all_journals(cr, uid, chart_template_id, acc_template_ref, company_id, context=context)
+ for vals_journal in journal_data:
+ self.check_created_journals(cr, uid, vals_journal, company_id, context=context)
+ return True
+
+ def _prepare_all_journals(self, cr, uid, chart_template_id, acc_template_ref, company_id, context=None):
+ def _get_analytic_journal(journal_type):
+ # Get the analytic journal
+ analytic_journal_ids = []
+ if journal_type in ('sale', 'sale_refund'):
+ analytical_journal_ids = analytic_journal_obj.search(cr, uid, [('type','=','sale')], context=context)
+ elif journal_type in ('purchase', 'purchase_refund'):
+ analytical_journal_ids = analytic_journal_obj.search(cr, uid, [('type','=','purchase')], context=context)
+ elif journal_type == 'general':
+ analytical_journal_ids = analytic_journal_obj.search(cr, uid, [('type', '=', 'situation')], context=context)
+ return analytic_journal_ids and analytic_journal_ids[0] or False
+
+ def _get_default_account(journal_type, type='debit'):
+ # Get the default accounts
+ default_account = False
+ if journal_type in ('sale', 'sale_refund'):
+ default_account = acc_template_ref.get(template.property_account_income_categ.id)
+ elif journal_type in ('purchase', 'purchase_refund'):
+ default_account = acc_template_ref.get(template.property_account_expense_categ.id)
+ elif journal_type == 'situation':
+ if type == 'debit':
+ default_account = acc_template_ref.get(template.property_account_expense_opening.id)
+ else:
+ default_account = acc_template_ref.get(template.property_account_income_opening.id)
+ return default_account
+
+ def _get_view_id(journal_type):
+ # Get the journal views
+ if journal_type in ('general', 'situation'):
+ data = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_view')
+ elif journal_type in ('sale_refund', 'purchase_refund'):
+ data = obj_data.get_object_reference(cr, uid, 'account', 'account_sp_refund_journal_view')
+ else:
+ data = obj_data.get_object_reference(cr, uid, 'account', 'account_sp_journal_view')
+ return data and data[1] or False
+
+ journal_names = {
+ 'sale': _('Sales Journal'),
+ 'purchase': _('Purchase Journal'),
+ 'sale_refund': _('Sales Refund Journal'),
+ 'purchase_refund': _('Purchase Refund Journal'),
+ 'general': _('Miscellaneous Journal'),
+ 'situation': _('Opening Entries Journal'),
+ }
+ journal_codes = {
+ 'sale': _('SAJ'),
+ 'purchase': _('EXJ'),
+ 'sale_refund': _('SCNJ'),
+ 'purchase_refund': _('ECNJ'),
+ 'general': _('MISC'),
+ 'situation': _('OPEJ'),
+ }
+
obj_data = self.pool.get('ir.model.data')
analytic_journal_obj = self.pool.get('account.analytic.journal')
- obj_tax_code = self.pool.get('account.tax.code')
- obj_tax_code_template = self.pool.get('account.tax.code.template')
- ir_values_obj = self.pool.get('ir.values')
- # Creating Account
- obj_acc_root = obj_multi.chart_template_id.account_root_id
- tax_code_root_id = obj_multi.chart_template_id.tax_code_root_id.id
- company_id = obj_multi.company_id.id
-
- #new code
- acc_template_ref = {}
- tax_template_ref = {}
- tax_code_template_ref = {}
- todo_dict = {}
+ template = self.pool.get('account.chart.template').browse(cr, uid, chart_template_id, context=context)
- #create all the tax code
- children_tax_code_template = obj_tax_code_template.search(cr, uid, [('parent_id','child_of',[tax_code_root_id])], order='id')
- children_tax_code_template.sort()
- for tax_code_template in obj_tax_code_template.browse(cr, uid, children_tax_code_template, context=context):
+ journal_data = []
+ for journal_type in ['sale', 'purchase', 'sale_refund', 'purchase_refund', 'general', 'situation']:
vals = {
- 'name': (tax_code_root_id == tax_code_template.id) and obj_multi.company_id.name or tax_code_template.name,
- 'code': tax_code_template.code,
- 'info': tax_code_template.info,
- 'parent_id': tax_code_template.parent_id and ((tax_code_template.parent_id.id in tax_code_template_ref) and tax_code_template_ref[tax_code_template.parent_id.id]) or False,
+ 'type': journal_type,
+ 'name': journal_names[journal_type],
+ 'code': journal_codes[journal_type],
'company_id': company_id,
- 'sign': tax_code_template.sign,
+ 'centralisation': journal_type == 'situation',
+ 'view_id': _get_view_id(journal_type),
+ 'analytic_journal_id': _get_analytic_journal(journal_type),
+ 'default_credit_account_id': _get_default_account(journal_type, 'credit'),
+ 'default_debit_account_id': _get_default_account(journal_type, 'debit'),
}
- new_tax_code = obj_tax_code.create(cr, uid, vals)
- #recording the new tax code to do the mapping
- tax_code_template_ref[tax_code_template.id] = new_tax_code
+ journal_data.append(vals)
+ return journal_data
- #create all the tax
- tax_template_to_tax = {}
- for tax in obj_multi.chart_template_id.tax_template_ids:
- #create it
- vals_tax = {
- 'name':tax.name,
- 'sequence': tax.sequence,
- 'amount':tax.amount,
- 'type':tax.type,
- 'applicable_type': tax.applicable_type,
- 'domain':tax.domain,
- 'parent_id': tax.parent_id and ((tax.parent_id.id in tax_template_ref) and tax_template_ref[tax.parent_id.id]) or False,
- 'child_depend': tax.child_depend,
- 'python_compute': tax.python_compute,
- 'python_compute_inv': tax.python_compute_inv,
- 'python_applicable': tax.python_applicable,
- 'base_code_id': tax.base_code_id and ((tax.base_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.base_code_id.id]) or False,
- 'tax_code_id': tax.tax_code_id and ((tax.tax_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.tax_code_id.id]) or False,
- 'base_sign': tax.base_sign,
- 'tax_sign': tax.tax_sign,
- 'ref_base_code_id': tax.ref_base_code_id and ((tax.ref_base_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.ref_base_code_id.id]) or False,
- 'ref_tax_code_id': tax.ref_tax_code_id and ((tax.ref_tax_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.ref_tax_code_id.id]) or False,
- 'ref_base_sign': tax.ref_base_sign,
- 'ref_tax_sign': tax.ref_tax_sign,
- 'include_base_amount': tax.include_base_amount,
- 'description':tax.description,
- 'company_id': company_id,
- 'type_tax_use': tax.type_tax_use,
- 'price_include': tax.price_include
- }
- new_tax = obj_acc_tax.create(cr, uid, vals_tax)
- tax_template_to_tax[tax.id] = new_tax
- #as the accounts have not been created yet, we have to wait before filling these fields
- todo_dict[new_tax] = {
- 'account_collected_id': tax.account_collected_id and tax.account_collected_id.id or False,
- 'account_paid_id': tax.account_paid_id and tax.account_paid_id.id or False,
- }
- tax_template_ref[tax.id] = new_tax
- #deactivate the parent_store functionnality on account_account for rapidity purpose
- ctx = context and context.copy() or {}
- ctx['defer_parent_store_computation'] = True
+ def generate_properties(self, cr, uid, chart_template_id, acc_template_ref, company_id, context=None):
+ """
+ This method used for creating properties.
- children_acc_template = obj_acc_template.search(cr, uid, [('parent_id','child_of',[obj_acc_root.id]),('nocreate','!=',True)])
- children_acc_template.sort()
- for account_template in obj_acc_template.browse(cr, uid, children_acc_template, context=context):
- tax_ids = []
- for tax in account_template.tax_ids:
- tax_ids.append(tax_template_ref[tax.id])
- #create the account_account
+ :param chart_template_id: id of the current chart template for which we need to create properties
+ :param acc_template_ref: Mapping between ids of account templates and real accounts created from them
+ :param company_id: company_id selected from wizard.multi.charts.accounts.
+ :returns: True
+ """
+ property_obj = self.pool.get('ir.property')
+ field_obj = self.pool.get('ir.model.fields')
+ todo_list = [
+ ('property_account_receivable','res.partner','account.account'),
+ ('property_account_payable','res.partner','account.account'),
+ ('property_account_expense_categ','product.category','account.account'),
+ ('property_account_income_categ','product.category','account.account'),
+ ('property_account_expense','product.template','account.account'),
+ ('property_account_income','product.template','account.account'),
+ ('property_reserve_and_surplus_account','res.company','account.account')
+ ]
+ template = self.pool.get('account.chart.template').browse(cr, uid, chart_template_id, context=context)
+ for record in todo_list:
+ account = getattr(template, record[0])
+ value = account and 'account.account,' + str(acc_template_ref[account.id]) or False
+ if value:
+ field = field_obj.search(cr, uid, [('name', '=', record[0]),('model', '=', record[1]),('relation', '=', record[2])], context=context)
+ vals = {
+ 'name': record[0],
+ 'company_id': company_id,
+ 'fields_id': field[0],
+ 'value': value,
+ }
+ property_ids = property_obj.search(cr, uid, [('name','=', record[0]),('company_id', '=', company_id)], context=context)
+ if property_ids:
+ #the property exist: modify it
+ property_obj.write(cr, uid, property_ids, vals, context=context)
+ else:
+ #create the property
+ property_obj.create(cr, uid, vals, context=context)
+ return True
- dig = obj_multi.code_digits
- code_main = account_template.code and len(account_template.code) or 0
- code_acc = account_template.code or ''
- if code_main>0 and code_main<=dig and account_template.type != 'view':
- code_acc=str(code_acc) + (str('0'*(dig-code_main)))
- vals={
- 'name': (obj_acc_root.id == account_template.id) and obj_multi.company_id.name or account_template.name,
- 'currency_id': account_template.currency_id and account_template.currency_id.id or False,
- 'code': code_acc,
- 'type': account_template.type,
- 'user_type': account_template.user_type and account_template.user_type.id or False,
- 'reconcile': account_template.reconcile,
- 'shortcut': account_template.shortcut,
- 'note': account_template.note,
- 'parent_id': account_template.parent_id and ((account_template.parent_id.id in acc_template_ref) and acc_template_ref[account_template.parent_id.id]) or False,
- 'tax_ids': [(6,0,tax_ids)],
- 'company_id': company_id,
- }
- new_account = obj_acc.create(cr, uid, vals, context=ctx)
- acc_template_ref[account_template.id] = new_account
+ def _install_template(self, cr, uid, template_id, company_id, code_digits=None, obj_wizard=None, acc_ref={}, taxes_ref={}, tax_code_ref={}, context=None):
+ '''
+ This function recursively loads the template objects and create the real objects from them.
+
+ :param template_id: id of the chart template to load
+ :param company_id: id of the company the wizard is running for
+ :param code_digits: integer that depicts the number of digits the accounts code should have in the COA
+ :param obj_wizard: the current wizard for generating the COA from the templates
+ :param acc_ref: Mapping between ids of account templates and real accounts created from them
+ :param taxes_ref: Mapping between ids of tax templates and real taxes created from them
+ :param tax_code_ref: Mapping between ids of tax code templates and real tax codes created from them
+ :returns: return a tuple with a dictionary containing
+ * the mapping between the account template ids and the ids of the real accounts that have been generated
+ from them, as first item,
+ * a similar dictionary for mapping the tax templates and taxes, as second item,
+ * a last identical containing the mapping of tax code templates and tax codes
+ :rtype: tuple(dict, dict, dict)
+ '''
+ template = self.pool.get('account.chart.template').browse(cr, uid, template_id, context=context)
+ if template.parent_id:
+ tmp1, tmp2, tmp3 = self._install_template(cr, uid, template.parent_id.id, company_id, code_digits=code_digits, acc_ref=acc_ref, taxes_ref=taxes_ref, tax_code_ref=tax_code_ref, context=context)
+ acc_ref.update(tmp1)
+ taxes_ref.update(tmp2)
+ tax_code_ref.update(tmp3)
+ tmp1, tmp2, tmp3 = self._load_template(cr, uid, template_id, company_id, code_digits=code_digits, obj_wizard=obj_wizard, account_ref=acc_ref, taxes_ref=taxes_ref, tax_code_ref=tax_code_ref, context=context)
+ acc_ref.update(tmp1)
+ taxes_ref.update(tmp2)
+ tax_code_ref.update(tmp3)
+ return acc_ref, taxes_ref, tax_code_ref
+
+ def _load_template(self, cr, uid, template_id, company_id, code_digits=None, obj_wizard=None, account_ref={}, taxes_ref={}, tax_code_ref={}, context=None):
+ '''
+ This function generates all the objects from the templates
+
+ :param template_id: id of the chart template to load
+ :param company_id: id of the company the wizard is running for
+ :param code_digits: integer that depicts the number of digits the accounts code should have in the COA
+ :param obj_wizard: the current wizard for generating the COA from the templates
+ :param acc_ref: Mapping between ids of account templates and real accounts created from them
+ :param taxes_ref: Mapping between ids of tax templates and real taxes created from them
+ :param tax_code_ref: Mapping between ids of tax code templates and real tax codes created from them
+ :returns: return a tuple with a dictionary containing
+ * the mapping between the account template ids and the ids of the real accounts that have been generated
+ from them, as first item,
+ * a similar dictionary for mapping the tax templates and taxes, as second item,
+ * a last identical containing the mapping of tax code templates and tax codes
+ :rtype: tuple(dict, dict, dict)
+ '''
+ template = self.pool.get('account.chart.template').browse(cr, uid, template_id, context=context)
+ obj_tax_code_template = self.pool.get('account.tax.code.template')
+ obj_acc_tax = self.pool.get('account.tax')
+ obj_tax_temp = self.pool.get('account.tax.template')
+ obj_acc_template = self.pool.get('account.account.template')
+ obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
+ # create all the tax code.
+ tax_code_ref.update(obj_tax_code_template.generate_tax_code(cr, uid, template.tax_code_root_id.id, company_id, context=context))
- #reactivate the parent_store functionnality on account_account
- obj_acc._parent_store_compute(cr)
+ # Generate taxes from templates.
+ tax_templates = [x for x in template.tax_template_ids]
+ generated_tax_res = obj_tax_temp._generate_tax(cr, uid, tax_templates, tax_code_ref, company_id, context=context)
+ taxes_ref.update(generated_tax_res['tax_template_to_tax'])
- for key,value in todo_dict.items():
+ # Generating Accounts from templates.
+ account_template_ref = obj_acc_template.generate_account(cr, uid, template_id, taxes_ref, account_ref, code_digits, company_id, context=context)
+ account_ref.update(account_template_ref)
+
+ # writing account values on tax after creation of accounts
+ for key,value in generated_tax_res['account_dict'].items():
if value['account_collected_id'] or value['account_paid_id']:
obj_acc_tax.write(cr, uid, [key], {
- 'account_collected_id': acc_template_ref.get(value['account_collected_id'], False),
- 'account_paid_id': acc_template_ref.get(value['account_paid_id'], False),
+ 'account_collected_id': account_ref.get(value['account_collected_id'], False),
+ 'account_paid_id': account_ref.get(value['account_paid_id'], False),
})
- # Creating Journals
- data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_sp_journal_view')])
- data = obj_data.browse(cr, uid, data_id[0], context=context)
- view_id = data.res_id
-
- #Sales Journal
- analytical_sale_ids = analytic_journal_obj.search(cr,uid,[('type','=','sale')])
- analytical_journal_sale = analytical_sale_ids and analytical_sale_ids[0] or False
+ # Create Journals
+ self.generate_journals(cr, uid, template_id, account_ref, company_id, context=context)
- vals_journal = {
- 'name': _('Sales Journal'),
- 'type': 'sale',
- 'code': _('SAJ'),
- 'view_id': view_id,
- 'company_id': company_id,
- 'analytic_journal_id': analytical_journal_sale,
- }
+ # generate properties function
+ self.generate_properties(cr, uid, template_id, account_ref, company_id, context=context)
- if obj_multi.chart_template_id.property_account_receivable:
- vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.chart_template_id.property_account_income_categ.id]
- vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.chart_template_id.property_account_income_categ.id]
+ # Generate Fiscal Position , Fiscal Position Accounts and Fiscal Position Taxes from templates
+ obj_fiscal_position_template.generate_fiscal_position(cr, uid, template_id, taxes_ref, account_ref, company_id, context=context)
- obj_journal.create(cr,uid,vals_journal)
+ return account_ref, taxes_ref, tax_code_ref
- # Purchase Journal
- analytical_purchase_ids = analytic_journal_obj.search(cr,uid,[('type','=','purchase')])
- analytical_journal_purchase = analytical_purchase_ids and analytical_purchase_ids[0] or False
+ def _create_tax_templates_from_rates(self, cr, uid, obj_wizard, company_id, context=None):
+ '''
+ This function checks if the chosen chart template is configured as containing a full set of taxes, and if
+ it's not the case, it creates the templates for account.tax.code and for account.account.tax objects accordingly
+ to the provided sale/purchase rates. Then it saves the new tax templates as default taxes to use for this chart
+ template.
- vals_journal = {
- 'name': _('Purchase Journal'),
- 'type': 'purchase',
- 'code': _('EXJ'),
- 'view_id': view_id,
- 'company_id': company_id,
- 'analytic_journal_id': analytical_journal_purchase,
- }
-
- if obj_multi.chart_template_id.property_account_payable:
- vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.chart_template_id.property_account_expense_categ.id]
- vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.chart_template_id.property_account_expense_categ.id]
- obj_journal.create(cr,uid,vals_journal)
-
- # Creating Journals Sales Refund and Purchase Refund
- data_id = obj_data.search(cr, uid, [('model', '=', 'account.journal.view'), ('name', '=', 'account_sp_refund_journal_view')], context=context)
- data = obj_data.browse(cr, uid, data_id[0], context=context)
- view_id = data.res_id
-
- #Sales Refund Journal
- vals_journal = {
- 'name': _('Sales Refund Journal'),
- 'type': 'sale_refund',
- 'code': _('SCNJ'),
- 'view_id': view_id,
- 'analytic_journal_id': analytical_journal_sale,
- 'company_id': company_id
- }
+ :param obj_wizard: browse record of wizard to generate COA from templates
+ :param company_id: id of the company for wich the wizard is running
+ :return: True
+ '''
+ obj_tax_code_template = self.pool.get('account.tax.code.template')
+ obj_tax_temp = self.pool.get('account.tax.template')
+ chart_template = obj_wizard.chart_template_id
+ vals = {}
+ # create tax templates and tax code templates from purchase_tax_rate and sale_tax_rate fields
+ if not chart_template.complete_tax_set:
+ tax_data = {
+ 'sale': obj_wizard.sale_tax_rate,
+ 'purchase': obj_wizard.purchase_tax_rate,
+ }
- if obj_multi.chart_template_id.property_account_receivable:
- vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.chart_template_id.property_account_income_categ.id]
- vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.chart_template_id.property_account_income_categ.id]
+ for tax_type, value in tax_data.items():
+ # don't consider cases where entered value in rates are lower than 0
+ if value >= 0.0:
+ #create the tax code templates for base and tax
+ base_code_vals = {
+ 'name': (tax_type == 'sale' and _('Taxable Sales at %s') or _('Taxable Purchases at %s')) % value,
+ 'code': (tax_type == 'sale' and _('BASE-S-%s') or _('BASE-P-%s')) %value,
+ 'parent_id': chart_template.tax_code_root_id.id,
+ 'company_id': company_id,
+ }
+ new_base_code_id = obj_tax_code_template.create(cr, uid, base_code_vals, context=context)
+ tax_code_vals = {
+ 'name': (tax_type == 'sale' and _('Tax Received at %s') or _('Tax Paid at %s')) % value,
+ 'code': (tax_type == 'sale' and _('TAX-S-%s') or _('TAX-P-%s')) %value,
+ 'parent_id': chart_template.tax_code_root_id.id,
+ 'company_id': company_id,
+ }
+ new_tax_code_id = obj_tax_code_template.create(cr, uid, tax_code_vals, context=context)
+ #create the tax
+ tax_template_id = obj_tax_temp.create(cr, uid, {
+ 'name': _('Tax %s%%') % value,
+ 'amount': value/100,
+ 'base_code_id': new_base_code_id,
+ 'tax_code_id': new_tax_code_id,
+ 'ref_base_code_id': new_base_code_id,
+ 'ref_tax_code_id': new_tax_code_id,
+ 'type_tax_use': tax_type,
+ 'type': 'percent',
+ 'sequence': 0,
+ 'chart_template_id': chart_template.id or False,
+ }, context=context)
+ #record this new tax_template as default for this chart template
+ field_name = tax_type == 'sale' and 'sale_tax' or 'purchase_tax'
+ vals[field_name] = tax_template_id
+ self.write(cr, uid, obj_wizard.id, vals, context=context)
+ return True
- obj_journal.create(cr, uid, vals_journal, context=context)
+ def execute(self, cr, uid, ids, context=None):
+ '''
+ This function is called at the confirmation of the wizard to generate the COA from the templates. It will read
+ all the provided information to create the accounts, the banks, the journals, the taxes, the tax codes, the
+ accounting properties... accordingly for the chosen company.
+ '''
+ ir_values_obj = self.pool.get('ir.values')
+ obj_wizard = self.browse(cr, uid, ids[0])
+ company_id = obj_wizard.company_id.id
+ # If the floats for sale/purchase rates have been filled, create templates from them
+ self._create_tax_templates_from_rates(cr, uid, obj_wizard, company_id, context=context)
+
+ # Install all the templates objects and generate the real objects
+ acc_template_ref, taxes_ref, tax_code_ref = self._install_template(cr, uid, obj_wizard.chart_template_id.id, company_id, code_digits=obj_wizard.code_digits, obj_wizard=obj_wizard, context=context)
+
+ # write values of default taxes for product
+ if obj_wizard.sale_tax and taxes_ref:
+ ir_values_obj.set(cr, uid, key='default', key2=False, name="taxes_id", company=company_id,
+ models =[('product.product',False)], value=[taxes_ref[obj_wizard.sale_tax.id]])
+ if obj_wizard.purchase_tax and taxes_ref:
+ ir_values_obj.set(cr, uid, key='default', key2=False, name="supplier_taxes_id", company=company_id,
+ models =[('product.product',False)], value=[taxes_ref[obj_wizard.purchase_tax.id]])
+
+ # Create Bank journals
+ self._create_bank_journals_from_o2m(cr, uid, obj_wizard, company_id, acc_template_ref, context=context)
+ return True
- # Purchase Refund Journal
- vals_journal = {
- 'name': _('Purchase Refund Journal'),
- 'type': 'purchase_refund',
- 'code': _('ECNJ'),
- 'view_id': view_id,
- 'analytic_journal_id': analytical_journal_purchase,
- 'company_id': company_id
+ def _prepare_bank_journal(self, cr, uid, line, current_num, default_account_id, company_id, context=None):
+ '''
+ This function prepares the value to use for the creation of a bank journal created through the wizard of
+ generating COA from templates.
+
+ :param line: dictionary containing the values encoded by the user related to his bank account
+ :param current_num: integer corresponding to a counter of the already created bank journals through this wizard.
+ :param default_account_id: id of the default debit.credit account created before for this journal.
+ :param company_id: id of the company for which the wizard is running
+ :return: mapping of field names and values
+ :rtype: dict
+ '''
+ obj_data = self.pool.get('ir.model.data')
+ # Get the id of journal views
+ tmp = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_bank_view_multi')
+ view_id_cur = tmp and tmp[1] or False
+ tmp = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_bank_view')
+ view_id_cash = tmp and tmp[1] or False
+ vals = {
+ 'name': line['acc_name'],
+ 'code': _('BNK') + str(current_num),
+ 'type': line['account_type'] == 'cash' and 'cash' or 'bank',
+ 'company_id': company_id,
+ 'analytic_journal_id': False,
+ 'currency': False,
+ 'default_credit_account_id': default_account_id,
+ 'default_debit_account_id': default_account_id,
}
+ if line['currency_id']:
+ vals['view_id'] = view_id_cur
+ vals['currency'] = line['currency_id']
+ else:
+ vals['view_id'] = view_id_cash
+ return vals
+
+ def _prepare_bank_account(self, cr, uid, line, new_code, acc_template_ref, ref_acc_bank, company_id, context=None):
+ '''
+ This function prepares the value to use for the creation of the default debit and credit accounts of a
+ bank journal created through the wizard of generating COA from templates.
+
+ :param line: dictionary containing the values encoded by the user related to his bank account
+ :param new_code: integer corresponding to the next available number to use as account code
+ :param acc_template_ref: the dictionary containing the mapping between the ids of account templates and the ids
+ of the accounts that have been generated from them.
+ :param ref_acc_bank: browse record of the account template set as root of all bank accounts for the chosen
+ template
+ :param company_id: id of the company for which the wizard is running
+ :return: mapping of field names and values
+ :rtype: dict
+ '''
+ obj_data = self.pool.get('ir.model.data')
- if obj_multi.chart_template_id.property_account_payable:
- vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.chart_template_id.property_account_expense_categ.id]
- vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.chart_template_id.property_account_expense_categ.id]
-
- obj_journal.create(cr, uid, vals_journal, context=context)
-
- # Miscellaneous Journal
- data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_view')])
- data = obj_data.browse(cr, uid, data_id[0], context=context)
- view_id = data.res_id
-
- analytical_miscellaneous_ids = analytic_journal_obj.search(cr, uid, [('type', '=', 'situation')], context=context)
- analytical_journal_miscellaneous = analytical_miscellaneous_ids and analytical_miscellaneous_ids[0] or False
-
- vals_journal = {
- 'name': _('Miscellaneous Journal'),
- 'type': 'general',
- 'code': _('MISC'),
- 'view_id': view_id,
- 'analytic_journal_id': analytical_journal_miscellaneous,
- 'company_id': company_id
+ # Get the id of the user types fr-or cash and bank
+ tmp = obj_data.get_object_reference(cr, uid, 'account', 'data_account_type_cash')
+ cash_type = tmp and tmp[1] or False
+ tmp = obj_data.get_object_reference(cr, uid, 'account', 'data_account_type_bank')
+ bank_type = tmp and tmp[1] or False
+ return {
+ 'name': line['acc_name'],
+ 'currency_id': line['currency_id'],
+ 'code': new_code,
+ 'type': 'liquidity',
+ 'user_type': line['account_type'] == 'cash' and cash_type or bank_type,
+ 'parent_id': acc_template_ref[ref_acc_bank.id] or False,
+ 'company_id': company_id,
}
- obj_journal.create(cr, uid, vals_journal, context=context)
-
- # Opening Entries Journal
- if obj_multi.chart_template_id.property_account_income_opening and obj_multi.chart_template_id.property_account_expense_opening:
- vals_journal = {
- 'name': _('Opening Entries Journal'),
- 'type': 'situation',
- 'code': _('OPEJ'),
- 'view_id': view_id,
- 'company_id': company_id,
- 'centralisation': True,
- 'default_credit_account_id': acc_template_ref[obj_multi.chart_template_id.property_account_income_opening.id],
- 'default_debit_account_id': acc_template_ref[obj_multi.chart_template_id.property_account_expense_opening.id]
+ def _create_bank_journals_from_o2m(self, cr, uid, obj_wizard, company_id, acc_template_ref, context=None):
+ '''
+ This function creates bank journals and its accounts for each line encoded in the field bank_accounts_id of the
+ wizard.
+
+ :param obj_wizard: the current wizard that generates the COA from the templates.
+ :param company_id: the id of the company for which the wizard is running.
+ :param acc_template_ref: the dictionary containing the mapping between the ids of account templates and the ids
+ of the accounts that have been generated from them.
+ :return: True
+ '''
+ obj_acc = self.pool.get('account.account')
+ obj_journal = self.pool.get('account.journal')
+ code_digits = obj_wizard.code_digits
+
+ # Build a list with all the data to process
+ journal_data = []
+ if obj_wizard.bank_accounts_id:
+ for acc in obj_wizard.bank_accounts_id:
+ vals = {
+ 'acc_name': acc.acc_name,
+ 'account_type': acc.account_type,
+ 'currency_id': acc.currency_id.id,
}
- obj_journal.create(cr, uid, vals_journal, context=context)
-
- # Bank Journals
- data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view')])
- data = obj_data.browse(cr, uid, data_id[0], context=context)
- view_id_cash = data.res_id
-
- data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view_multi')])
- data = obj_data.browse(cr, uid, data_id[0], context=context)
- view_id_cur = data.res_id
- ref_acc_bank = obj_multi.chart_template_id.bank_account_view_id
+ journal_data.append(vals)
+ ref_acc_bank = obj_wizard.chart_template_id.bank_account_view_id
+ if journal_data and not ref_acc_bank.code:
+ raise osv.except_osv(_('Configuration Error !'), _('The bank account defined on the selected chart of accounts hasn\'t a code.'))
current_num = 1
- valid = True
- for line in obj_multi.bank_accounts_id:
- #create the account_account for this bank journal
- tmp = line.acc_name
- dig = obj_multi.code_digits
- if not ref_acc_bank.code:
- raise osv.except_osv(_('Configuration Error !'), _('The bank account defined on the selected chart of accounts hasn\'t a code.'))
+ for line in journal_data:
+ # Seek the next available number for the account code
while True:
- new_code = str(ref_acc_bank.code.ljust(dig-len(str(current_num)), '0')) + str(current_num)
+ new_code = str(ref_acc_bank.code.ljust(code_digits-len(str(current_num)), '0')) + str(current_num)
ids = obj_acc.search(cr, uid, [('code', '=', new_code), ('company_id', '=', company_id)])
if not ids:
break
else:
current_num += 1
- vals = {
- 'name': tmp,
- 'currency_id': line.currency_id and line.currency_id.id or False,
- 'code': new_code,
- 'type': 'liquidity',
- 'user_type': account_template.user_type and account_template.user_type.id or False,
- 'reconcile': True,
- 'parent_id': acc_template_ref[ref_acc_bank.id] or False,
- 'company_id': company_id,
- }
- acc_cash_id = obj_acc.create(cr,uid,vals)
+ # Create the default debit/credit accounts for this bank journal
+ vals = self._prepare_bank_account(cr, uid, line, new_code, acc_template_ref, ref_acc_bank, company_id, context=context)
+ default_account_id = obj_acc.create(cr, uid, vals, context=context)
#create the bank journal
- vals_journal = {
- 'name': vals['name'],
- 'code': _('BNK') + str(current_num),
- 'type': line.account_type == 'cash' and 'cash' or 'bank',
- 'company_id': company_id,
- 'analytic_journal_id': False,
- 'currency_id': False,
- }
- if line.currency_id:
- vals_journal['view_id'] = view_id_cur
- vals_journal['currency'] = line.currency_id.id
- else:
- vals_journal['view_id'] = view_id_cash
- vals_journal['default_credit_account_id'] = acc_cash_id
- vals_journal['default_debit_account_id'] = acc_cash_id
+ vals_journal = self._prepare_bank_journal(cr, uid, line, current_num, default_account_id, company_id, context=context)
obj_journal.create(cr, uid, vals_journal)
current_num += 1
- valid = True
-
- #create the properties
- property_obj = self.pool.get('ir.property')
- fields_obj = self.pool.get('ir.model.fields')
-
- todo_list = [
- ('property_account_receivable','res.partner','account.account'),
- ('property_account_payable','res.partner','account.account'),
- ('property_account_expense_categ','product.category','account.account'),
- ('property_account_income_categ','product.category','account.account'),
- ('property_account_expense','product.template','account.account'),
- ('property_account_income','product.template','account.account'),
- ('property_reserve_and_surplus_account','res.company','account.account')
- ]
- for record in todo_list:
- r = []
- r = property_obj.search(cr, uid, [('name','=', record[0] ),('company_id','=',company_id)])
- account = getattr(obj_multi.chart_template_id, record[0])
- field = fields_obj.search(cr, uid, [('name','=',record[0]),('model','=',record[1]),('relation','=',record[2])])
- vals = {
- 'name': record[0],
- 'company_id': company_id,
- 'fields_id': field[0],
- 'value': account and 'account.account,' + str(acc_template_ref[account.id]) or False,
- }
-
- if r:
- #the property exist: modify it
- property_obj.write(cr, uid, r, vals)
- else:
- #create the property
- property_obj.create(cr, uid, vals)
-
- fp_ids = obj_fiscal_position_template.search(cr, uid, [('chart_template_id', '=', obj_multi.chart_template_id.id)])
-
- if fp_ids:
- obj_tax_fp = self.pool.get('account.fiscal.position.tax')
- obj_ac_fp = self.pool.get('account.fiscal.position.account')
-
- for position in obj_fiscal_position_template.browse(cr, uid, fp_ids, context=context):
-
- vals_fp = {
- 'company_id': company_id,
- 'name': position.name,
- }
- new_fp = obj_fiscal_position.create(cr, uid, vals_fp)
-
- for tax in position.tax_ids:
- vals_tax = {
- 'tax_src_id': tax_template_ref[tax.tax_src_id.id],
- 'tax_dest_id': tax.tax_dest_id and tax_template_ref[tax.tax_dest_id.id] or False,
- 'position_id': new_fp,
- }
- obj_tax_fp.create(cr, uid, vals_tax)
-
- for acc in position.account_ids:
- vals_acc = {
- 'account_src_id': acc_template_ref[acc.account_src_id.id],
- 'account_dest_id': acc_template_ref[acc.account_dest_id.id],
- 'position_id': new_fp,
- }
- obj_ac_fp.create(cr, uid, vals_acc)
-
- if obj_multi.sale_tax:
- ir_values_obj.set(cr, uid, key='default', key2=False, name="taxes_id", company=obj_multi.company_id.id,
- models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.sale_tax.id]])
- if obj_multi.purchase_tax:
- ir_values_obj.set(cr, uid, key='default', key2=False, name="supplier_taxes_id", company=obj_multi.company_id.id,
- models =[('product.product',False)], value=[tax_template_to_tax[obj_multi.purchase_tax.id]])
+ return True
wizard_multi_charts_accounts()
diff --git a/addons/account/account_bank.py b/addons/account/account_bank.py
index 01eab2fbb01..02270b94186 100644
--- a/addons/account/account_bank.py
+++ b/addons/account/account_bank.py
@@ -99,7 +99,6 @@ class bank(osv.osv):
'type': 'bank',
'company_id': bank.company_id.id,
'analytic_journal_id': False,
- 'currency_id': False,
'default_credit_account_id': acc_bank_id,
'default_debit_account_id': acc_bank_id,
'view_id': view_id_cash
diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py
index 85d9805eb32..ab36586fe2f 100644
--- a/addons/account/account_bank_statement.py
+++ b/addons/account/account_bank_statement.py
@@ -34,8 +34,6 @@ class account_bank_statement(osv.osv):
for line in vals['line_ids']:
seq += 1
line[2]['sequence'] = seq
- new_line_ids += tuple(line)
- vals['line_ids'] = new_line_ids
return super(account_bank_statement, self).create(cr, uid, vals, context=context)
def write(self, cr, uid, ids, vals, context=None):
diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml
index e249f8fa872..cbdb665e157 100644
--- a/addons/account/account_installer.xml
+++ b/addons/account/account_installer.xml
@@ -34,10 +34,6 @@
<field name="date_stop"/>
<field name="period" colspan="4"/>
</group>
- <group colspan="4" attrs="{'invisible':[('charts','!=','configurable')]}">
- <field name="sale_tax" on_change="on_change_tax(sale_tax)" attrs="{'required':[('charts','=','configurable')]}"/>
- <field name="purchase_tax" groups="base.group_extended"/>
- </group>
</group>
</group>
</data>
diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py
index fcd630ea78b..39cc471c2f6 100644
--- a/addons/account/account_invoice.py
+++ b/addons/account/account_invoice.py
@@ -923,7 +923,6 @@ class account_invoice(osv.osv):
'line_id': line,
'journal_id': journal_id,
'date': date,
- 'type': entry_type,
'narration':inv.comment
}
period_id = inv.period_id and inv.period_id.id or False
@@ -1081,7 +1080,8 @@ class account_invoice(osv.osv):
del line['invoice_id']
for field in ('company_id', 'partner_id', 'account_id', 'product_id',
'uos_id', 'account_analytic_id', 'tax_code_id', 'base_code_id'):
- line[field] = line.get(field, False) and line[field][0]
+ if line.get(field):
+ line[field] = line[field][0]
if 'invoice_line_tax_id' in line:
line['invoice_line_tax_id'] = [(6,0, line.get('invoice_line_tax_id', [])) ]
return map(lambda x: (0,0,x), lines)
@@ -1209,7 +1209,7 @@ class account_invoice(osv.osv):
l2['name'] = name
lines = [(0, 0, l1), (0, 0, l2)]
- move = {'ref': ref, 'line_id': lines, 'journal_id': pay_journal_id, 'period_id': period_id, 'date': date, 'type': entry_type}
+ move = {'ref': ref, 'line_id': lines, 'journal_id': pay_journal_id, 'period_id': period_id, 'date': date}
move_id = self.pool.get('account.move').create(cr, uid, move, context=context)
line_ids = []
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 16cd957a61e..59a2a8eaa19 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -171,8 +171,8 @@
<field name="user_type" select="1"/>
<field name="active" groups="base.group_extended" />
<newline/>
- <field name="debit" invisible="context.get('config_invisible', True)"/>
- <field name="credit" invisible="context.get('config_invisible', True)"/>
+ <field name="debit" invisible="context.get('config_invisible', True)" attrs="{'readonly':[('type','=','view')]}"/>
+ <field name="credit" invisible="context.get('config_invisible', True)" attrs="{'readonly':[('type','=','view')]}"/>
<field name="balance" invisible="context.get('config_invisible', True)"/>
</group>
<notebook colspan="4">
@@ -1753,18 +1753,18 @@
<field name="arch" type="xml">
<form string="Payment Term">
<group>
- <group colspan="2" col="4">
- <field name="name" select="1"/>
- <separator string="Amount Computation" colspan="4"/>
- <field name="value" colspan="4"/>
- <field name="value_amount" colspan="4" attrs="{'readonly':[('value','=','balance')]}"/>
- </group>
- <group colspan="2" col="4">
- <field name="sequence"/>
- <separator string="Due Date Computation" colspan="4"/>
- <field name="days" colspan="4"/>
- <field name="days2" colspan="4"/>
- </group>
+ <group colspan="2" col="4">
+ <field name="name" select="1"/>
+ <separator string="Amount Computation" colspan="4"/>
+ <field name="value" colspan="4"/>
+ <field name="value_amount" colspan="4" attrs="{'readonly':[('value','=','balance')]}"/>
+ </group>
+ <group colspan="2" col="4">
+ <field name="sequence"/>
+ <separator string="Due Date Computation" colspan="4"/>
+ <field name="days" colspan="4"/>
+ <field name="days2" colspan="4"/>
+ </group>
</group>
<newline/>
<separator string="Example" colspan="4"/>
@@ -2114,6 +2114,7 @@
<field name="currency_id"/>
<field name="reconcile"/>
+ <field name="chart_template_id"/>
<separator string="Default taxes" colspan="4"/>
<field name="tax_ids" colspan="4" nolabel="1"/>
</page>
@@ -2184,9 +2185,13 @@
<form string="Chart of Accounts Template">
<group>
<field name="name"/>
- <field name="account_root_id"/>
- <field name="bank_account_view_id"/>
- <field name="tax_code_root_id"/>
+ <field name="account_root_id" attrs="{'required': [('parent_id', '=', False)]}"/>
+ <field name="bank_account_view_id" attrs="{'required': [('parent_id', '=', False)]}"/>
+ <field name="tax_code_root_id" attrs="{'required': [('parent_id', '=', False)]}"/>
+ <field name="parent_id" />
+ <!--<field name="code_digits" />-->
+ <field name="visible" />
+ <field name="complete_tax_set" />
</group>
<field name="tax_template_ids" colspan="4" readonly="1" nolabel="1"/>
<separator string="Properties" colspan="4"/>
@@ -2270,7 +2275,9 @@
<field name="chart_template_id"/>
<field name="type"/>
<field name="type_tax_use"/>
- <field name="price_include"/>
+ <group colspan="2" col="4">
+ <field name="price_include"/>
+ </group>
</group>
<notebook colspan="4">
<page string="Tax Definition">
@@ -2437,10 +2444,13 @@
<group string="res_config_contents" position="replace">
<field name="company_id" widget="selection"/> <!-- we assume that this wizard will be run only by administrators and as this field may cause problem if hidden (because of the default company of the user removed from the selection because already configured), we simply choosed to remove the group "multi company" of it -->
<field name ="code_digits" groups="account.group_account_user"/>
- <field name="chart_template_id" widget="selection" on_change="onchange_chart_template_id(chart_template_id)"/>
- <field name ="seq_journal" groups="account.group_account_user"/>
- <field name="sale_tax" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
- <field name="purchase_tax" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('purchase', 'all'))]"/>
+ <field name="chart_template_id" widget="selection" on_change="onchange_chart_template_id(chart_template_id)" domain="[('visible','=', True)]"/>
+ <field name ="seq_journal" groups="base.group_extended"/>
+ <field name="sale_tax" attrs="{'invisible': [('complete_tax_set', '!=', True)]}" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
+ <field name="purchase_tax" attrs="{'invisible': [('complete_tax_set', '!=', True)]}" domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('purchase', 'all'))]"/>
+ <field name ="sale_tax_rate" attrs="{'invisible': [('complete_tax_set', '=', True)]}"/>
+ <field name ="purchase_tax_rate" attrs="{'invisible': [('complete_tax_set', '=', True)]}"/>
+ <field name ="complete_tax_set" invisible="1"/>
<newline/> <!-- extended view because the web UI is not good for one2many -->
<field colspan="4" mode="tree" name="bank_accounts_id" nolabel="1" widget="one2many_list" groups="account.group_account_user">
<form string="Bank Information">
diff --git a/addons/account/board_account_view.xml b/addons/account/board_account_view.xml
index 5108a62cf3e..63b525ca0b9 100644
--- a/addons/account/board_account_view.xml
+++ b/addons/account/board_account_view.xml
@@ -46,7 +46,6 @@
</column>
<column>
<action name="%(action_treasory_graph)d" string="Treasury"/> <!--groups="account.group_account_manager,account.group_account_user"-->
- <action name="%(action_aged_receivable)d" string="Aged Receivables"/> <!--groups="account.group_account_manager,account.group_account_user"-->
</column>
</board>
</form>
diff --git a/addons/account/data/data_account_type.xml b/addons/account/data/data_account_type.xml
new file mode 100644
index 00000000000..ebed0ebb5de
--- /dev/null
+++ b/addons/account/data/data_account_type.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data noupdate="1">
+ <record model="account.account.type" id="data_account_type_view">
+ <field name="name">View</field>
+ <field name="code">view</field>
+ <field name="close_method">none</field>
+ </record>
+ <record model="account.account.type" id="data_account_type_receivable">
+ <field name="name">Receivable</field>
+ <field name="code">receivable</field>
+ <field name="close_method">unreconciled</field>
+ </record>
+ <record model="account.account.type" id="data_account_type_payable">
+ <field name="name">Payable</field>
+ <field name="code">payable</field>
+ <field name="close_method">unreconciled</field>
+ </record>
+ <record model="account.account.type" id="data_account_type_bank">
+ <field name="name">Bank</field>
+ <field name="code">bank</field>
+ <field name="close_method">balance</field>
+ </record>
+ <record model="account.account.type" id="data_account_type_cash">
+ <field name="name">Cash</field>
+ <field name="code">cash</field>
+ <field name="close_method">balance</field>
+ </record>
+ <record model="account.account.type" id="data_account_type_asset">
+ <field name="name">Asset</field>
+ <field name="code">asset</field>
+ <field name="close_method">balance</field>
+ </record>
+ <record model="account.account.type" id="data_account_type_liability">
+ <field name="name">Liability</field>
+ <field name="code">liability</field>
+ <field name="close_method">balance</field>
+ </record>
+ <record model="account.account.type" id="data_account_type_income">
+ <field name="name">Income</field>
+ <field name="code">income</field>
+ <field name="close_method">none</field>
+ </record>
+ <record model="account.account.type" id="data_account_type_expense">
+ <field name="name">Expense</field>
+ <field name="code">expense</field>
+ <field name="close_method">none</field>
+ </record>
+ </data>
+</openerp>
+
diff --git a/addons/account/i18n/ar.po b/addons/account/i18n/ar.po
index 3b5edf1e87d..bbd4189dc8a 100644
--- a/addons/account/i18n/ar.po
+++ b/addons/account/i18n/ar.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2011-11-15 03:49+0000\n"
+"PO-Revision-Date: 2011-12-08 16:20+0000\n"
"Last-Translator: kifcaliph <kifcaliph@hotmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-16 05:21+0000\n"
-"X-Generator: Launchpad (build 14291)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
@@ -24,7 +24,7 @@ msgstr "نظام الدفع"
#. module: account
#: view:account.journal:0
msgid "Other Configuration"
-msgstr "تعديلات أخرى"
+msgstr "إعدادات أخرى"
#. module: account
#: code:addons/account/wizard/account_open_closed_fiscalyear.py:40
@@ -152,7 +152,7 @@ msgstr "الاصل"
#: view:account.move.line.reconcile:0
#: view:account.move.line.reconcile.writeoff:0
msgid "Reconcile"
-msgstr "توافق"
+msgstr "تسوية"
#. module: account
#: field:account.bank.statement.line,ref:0
@@ -193,7 +193,7 @@ msgstr "مصدر الحساب"
#. module: account
#: model:ir.actions.act_window,name:account.act_acc_analytic_acc_5_report_hr_timesheet_invoice_journal
msgid "All Analytic Entries"
-msgstr "كل السندات التحليلية"
+msgstr "كل القيود التحليلية"
#. module: account
#: model:ir.actions.act_window,name:account.action_view_created_invoice_dashboard
@@ -209,7 +209,7 @@ msgstr "سالب"
#: code:addons/account/wizard/account_move_journal.py:95
#, python-format
msgid "Journal: %s"
-msgstr "سجل : %s"
+msgstr "يومية: %s"
#. module: account
#: help:account.analytic.journal,type:0
@@ -230,7 +230,7 @@ msgstr "قوالب الضريبة"
#. module: account
#: model:ir.model,name:account.model_account_tax
msgid "account.tax"
-msgstr "حساب.ضريبة"
+msgstr "account.tax"
#. module: account
#: code:addons/account/account.py:901
@@ -607,6 +607,8 @@ msgid ""
"If you unreconciliate transactions, you must also verify all the actions "
"that are linked to those transactions because they will not be disable"
msgstr ""
+"إذا قمت إلغاء تسوية العمليات، عليك أيضاً التحقق من كل الإجراءات المتعلقة لكل "
+"هذه المعاملات لأنهم لن يتم إيقافها"
#. module: account
#: view:analytic.entries.report:0
@@ -631,12 +633,12 @@ msgstr "سجل مركزي"
#. module: account
#: sql_constraint:account.sequence.fiscalyear:0
msgid "Main Sequence must be different from current !"
-msgstr ""
+msgstr "المسلسل الرئيسي لابد أن يختلف من الحالي !"
#. module: account
#: field:account.invoice.tax,tax_amount:0
msgid "Tax Code Amount"
-msgstr ""
+msgstr "مبلغ رمز الضريبة"
#. module: account
#: code:addons/account/account.py:2779
@@ -648,7 +650,7 @@ msgstr ""
#. module: account
#: help:account.bank.statement,balance_end_real:0
msgid "closing balance entered by the cashbox verifier"
-msgstr ""
+msgstr "رصيد الإغلاق من محقق النقدية"
#. module: account
#: view:account.period:0
@@ -659,7 +661,7 @@ msgstr "اقفال الفترة"
#. module: account
#: model:ir.model,name:account.model_account_common_partner_report
msgid "Account Common Partner Report"
-msgstr ""
+msgstr "تقرير الحساب المشترك للشريك"
#. module: account
#: field:account.fiscalyear.close,period_id:0
@@ -688,7 +690,7 @@ msgstr "الشركة يجب ان تكون واحدة لجميع المدخلات
#: model:ir.actions.act_window,name:account.action_aged_receivable
#, python-format
msgid "Receivable Accounts"
-msgstr "حسابات القبض"
+msgstr "حسابات مدينة"
#. module: account
#: model:ir.model,name:account.model_account_report_general_ledger
@@ -756,7 +758,7 @@ msgstr "نوع"
#. module: account
#: model:ir.model,name:account.model_account_subscription_line
msgid "Account Subscription Line"
-msgstr ""
+msgstr "خط إشتراك الحساب"
#. module: account
#: help:account.invoice,reference:0
@@ -818,6 +820,8 @@ msgid ""
"Can not %s invoice which is already reconciled, invoice should be "
"unreconciled first. You can only Refund this invoice"
msgstr ""
+"لا يمكن لفاتورة %s حيث تمت تسويتها، يجب إلغاء التسوية أولاً. يمكنك رد "
+"الفاتورة فقط."
#. module: account
#: model:ir.actions.act_window,name:account.action_subscription_form_new
@@ -840,7 +844,7 @@ msgstr "الشريك التالي للموازنة"
msgid ""
"You can not do this modification on a confirmed entry ! Please note that you "
"can just change some non important fields !"
-msgstr ""
+msgstr "لا يمكنك التعديلات لقيد مؤكد ! يمكنك تحرير بعض الحقول غير المهمة فقط"
#. module: account
#: view:account.invoice.report:0
@@ -904,7 +908,7 @@ msgstr "مرشحات مفصلة..."
#. module: account
#: model:ir.ui.menu,name:account.menu_account_central_journal
msgid "Centralizing Journal"
-msgstr "مركزية السجل"
+msgstr "مركزية اليومية"
#. module: account
#: selection:account.journal,type:0
@@ -937,7 +941,7 @@ msgstr "مشتريات"
#. module: account
#: field:account.model,lines_id:0
msgid "Model Entries"
-msgstr ""
+msgstr "نموذج للقيود"
#. module: account
#: field:account.account,code:0
@@ -985,7 +989,7 @@ msgstr "اسم الحساب"
#: field:account.chart.template,property_reserve_and_surplus_account:0
#: field:res.company,property_reserve_and_surplus_account:0
msgid "Reserve and Profit/Loss Account"
-msgstr ""
+msgstr "حساب الإحتياطي و الربح و الخسارة"
#. module: account
#: field:report.account.receivable,name:0
@@ -1020,7 +1024,7 @@ msgstr ""
#. module: account
#: view:account.tax:0
msgid "Applicability Options"
-msgstr ""
+msgstr "خيارات التطابق"
#. module: account
#: report:account.partner.balance:0
@@ -1080,7 +1084,7 @@ msgstr ""
#. module: account
#: selection:account.move.line,centralisation:0
msgid "Credit Centralisation"
-msgstr ""
+msgstr "مركزية الدين"
#. module: account
#: model:ir.actions.act_window,help:account.action_invoice_tree2
@@ -1112,12 +1116,12 @@ msgstr "رمز الضرائب"
#. module: account
#: field:account.account,currency_mode:0
msgid "Outgoing Currencies Rate"
-msgstr ""
+msgstr "معدل العملات الصادرة"
#. module: account
#: help:account.move.line,move_id:0
msgid "The move of this entry line."
-msgstr ""
+msgstr "الحركة لخط هذا القيد"
#. module: account
#: field:account.move.line.reconcile,trans_nbr:0
@@ -1143,7 +1147,7 @@ msgstr "لا يمكنك تعديل/مسح يومية بقيود لهذه الفØ
#: help:account.invoice,origin:0
#: help:account.invoice.line,origin:0
msgid "Reference of the document that produced this invoice."
-msgstr ""
+msgstr "مرجع المستند لهذه الفاتورة"
#. module: account
#: view:account.analytic.line:0
@@ -1253,7 +1257,7 @@ msgstr "رصيد أول المدة"
#. module: account
#: view:account.invoice:0
msgid "Reset to Draft"
-msgstr ""
+msgstr "إعادة التعيين لمسودة"
#. module: account
#: view:wizard.multi.charts.accounts:0
@@ -1335,7 +1339,7 @@ msgstr "بحث الضرائب"
#. module: account
#: model:ir.model,name:account.model_account_analytic_cost_ledger
msgid "Account Analytic Cost Ledger"
-msgstr ""
+msgstr "حساب تحليل تكاليف الأستاذ"
#. module: account
#: view:account.model:0
@@ -1429,7 +1433,7 @@ msgstr "المحاسبة الإنجليزية"
#: selection:account.fiscalyear,state:0
#: selection:account.period,state:0
msgid "Closed"
-msgstr ""
+msgstr "مغلق"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_recurrent_entries
@@ -1485,7 +1489,7 @@ msgstr "ذهاب للشريك التالي"
#. module: account
#: view:account.bank.statement:0
msgid "Search Bank Statements"
-msgstr "بحث كشوف حسابات المصرف"
+msgstr "بحث كشوف حساب المصرف"
#. module: account
#: sql_constraint:account.model.line:0
@@ -1498,7 +1502,7 @@ msgstr ""
#: view:account.chart.template:0
#: field:account.chart.template,property_account_payable:0
msgid "Payable Account"
-msgstr "حساب الدائن"
+msgstr "حساب الدائنون"
#. module: account
#: field:account.tax,account_paid_id:0
@@ -1510,7 +1514,7 @@ msgstr ""
#: view:account.bank.statement:0
#: field:account.bank.statement,line_ids:0
msgid "Statement lines"
-msgstr ""
+msgstr "سطور القائمة"
#. module: account
#: model:ir.actions.act_window,help:account.action_bank_statement_tree
@@ -1554,7 +1558,7 @@ msgstr "فاتورة"
#: model:process.node,note:account.process_node_analytic0
#: model:process.node,note:account.process_node_analyticcost0
msgid "Analytic costs to invoice"
-msgstr "تحليل التكاليف للفاتورة"
+msgstr "تكاليف تحليلية للفاتورة"
#. module: account
#: view:ir.sequence:0
@@ -1564,7 +1568,7 @@ msgstr "مسلسل السنة المالية"
#. module: account
#: field:wizard.multi.charts.accounts,seq_journal:0
msgid "Separated Journal Sequences"
-msgstr ""
+msgstr "مسلسلات اليومية منفصلة"
#. module: account
#: field:account.bank.statement,user_id:0
@@ -1597,28 +1601,28 @@ msgstr "الفواتير"
#. module: account
#: field:account.chart.template,tax_code_root_id:0
msgid "Root Tax Code"
-msgstr ""
+msgstr "رمز الضريبة الرئيسي"
#. module: account
#: field:account.partner.ledger,initial_balance:0
#: field:account.report.general.ledger,initial_balance:0
msgid "Include initial balances"
-msgstr ""
+msgstr "ضم الأرصدة المبدئية"
#. module: account
#: field:account.tax.code,sum:0
msgid "Year Sum"
-msgstr ""
+msgstr "جمع السنة"
#. module: account
#: model:ir.actions.report.xml,name:account.report_account_voucher_new
msgid "Print Voucher"
-msgstr ""
+msgstr "طباعة الوثيقة"
#. module: account
#: view:account.change.currency:0
msgid "This wizard will change the currency of the invoice"
-msgstr ""
+msgstr "هذا المعالج لتغيير العملة للفاتورة"
#. module: account
#: model:ir.actions.act_window,help:account.action_account_chart
@@ -1631,13 +1635,13 @@ msgstr ""
#. module: account
#: constraint:account.fiscalyear:0
msgid "Error! You cannot define overlapping fiscal years"
-msgstr ""
+msgstr "خطأ! لا يمكنك تعريف سنوات مالية متداخلة"
#. module: account
#: code:addons/account/account_move_line.py:808
#, python-format
msgid "The account is not defined to be reconciled !"
-msgstr ""
+msgstr "لم يعرف الحساب لتسويته !"
#. module: account
#: field:account.cashbox.line,pieces:0
@@ -1649,17 +1653,17 @@ msgstr "قيم"
msgid ""
"If the active field is set to False, it will allow you to hide the journal "
"period without removing it."
-msgstr ""
+msgstr "إذا كان الحقل"
#. module: account
#: view:res.partner:0
msgid "Supplier Debit"
-msgstr ""
+msgstr "مورد مدين"
#. module: account
#: help:account.model.line,quantity:0
msgid "The optional quantity on entries"
-msgstr ""
+msgstr "الكمية الإختيارية علي القيود"
#. module: account
#: model:ir.actions.act_window,name:account.act_account_partner_account_move_all
@@ -1675,7 +1679,7 @@ msgstr "يجب إعطاء حساب لقيود الإعدام !"
#. module: account
#: model:ir.model,name:account.model_account_common_journal_report
msgid "Account Common Journal Report"
-msgstr ""
+msgstr "تقرير حساب اليومية المشترك"
#. module: account
#: selection:account.partner.balance,display_partner:0
@@ -1685,7 +1689,7 @@ msgstr "كل الشركاء"
#. module: account
#: report:account.move.voucher:0
msgid "Ref. :"
-msgstr ""
+msgstr "مرجع:"
#. module: account
#: view:account.analytic.chart:0
@@ -1706,7 +1710,7 @@ msgstr "مرجع العميل"
#: code:addons/account/account_cash_statement.py:328
#, python-format
msgid "User %s does not have rights to access %s journal !"
-msgstr ""
+msgstr "المستخدم %s ليس لديه صلاحيات الكتابة و التحرير ليومية %s!"
#. module: account
#: help:account.period,special:0
@@ -1716,18 +1720,18 @@ msgstr "هذه الفترات يمكن أن تتداخل."
#. module: account
#: model:process.node,name:account.process_node_draftstatement0
msgid "Draft statement"
-msgstr ""
+msgstr "قائمة مؤقتة"
#. module: account
#: view:account.tax:0
msgid "Tax Declaration: Credit Notes"
-msgstr ""
+msgstr "الإعلان الضريبي: الأوراق الدائنة"
#. module: account
#: code:addons/account/account.py:499
#, python-format
msgid "You cannot deactivate an account that contains account moves."
-msgstr ""
+msgstr "لا يمكنك إلغاء نشاط حساب إذا كان يحتوي علي حركات حساب."
#. module: account
#: field:account.move.line.reconcile,credit:0
@@ -1756,7 +1760,7 @@ msgstr "حساب الإحتياطي و الأرباح و الخسائر"
#. module: account
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
-msgstr ""
+msgstr "قيمة دائنة أو مدينة خاطئة في القيد المحاسبي !"
#. module: account
#: view:account.invoice.report:0
@@ -1794,7 +1798,7 @@ msgstr "قيد يومية"
#. module: account
#: view:account.tax:0
msgid "Tax Declaration: Invoices"
-msgstr ""
+msgstr "الإعلان الضريبي: الفواتير"
#. module: account
#: field:account.cashbox.line,subtotal:0
@@ -1852,7 +1856,7 @@ msgstr "حساب الإحتياطي و الأرباح و الخسائر"
#. module: account
#: help:account.bank.statement,balance_end:0
msgid "Closing balance based on Starting Balance and Cash Transactions"
-msgstr ""
+msgstr "رصيد الإغلاق بناءاً علي رصيد أول المدة و معاملات النقدية"
#. module: account
#: model:process.node,note:account.process_node_reconciliation0
@@ -1937,7 +1941,7 @@ msgstr "إلغاء تسوية القيود"
#. module: account
#: field:account.move.reconcile,line_partial_ids:0
msgid "Partial Entry lines"
-msgstr ""
+msgstr "سطور لقيود جزئية"
#. module: account
#: view:account.fiscalyear:0
@@ -2287,7 +2291,7 @@ msgstr "تمركز المدين"
#: view:account.invoice.confirm:0
#: model:ir.actions.act_window,name:account.action_account_invoice_confirm
msgid "Confirm Draft Invoices"
-msgstr ""
+msgstr "تأكيد الفواتير المسودة"
#. module: account
#: field:account.entries.report,day:0
@@ -2481,7 +2485,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_bank_statement_tree
#: model:ir.ui.menu,name:account.menu_bank_statement_tree
msgid "Bank Statements"
-msgstr "كشوف حسابات البنك"
+msgstr "كشوف حساب البنك"
#. module: account
#: selection:account.tax.template,applicable_type:0
@@ -2571,7 +2575,7 @@ msgstr ""
#: code:addons/account/wizard/account_use_model.py:81
#, python-format
msgid "You have to define an analytic journal on the '%s' journal!"
-msgstr ""
+msgstr "عليك بتعريف يومية تحليلية في يومية '%s' !"
#. module: account
#: view:account.invoice.tax:0
@@ -2618,7 +2622,7 @@ msgstr ""
#. module: account
#: report:account.move.voucher:0
msgid "Number:"
-msgstr ""
+msgstr "رقم:"
#. module: account
#: selection:account.print.journal,sort_selection:0
@@ -2672,7 +2676,7 @@ msgstr ""
#. module: account
#: field:account.invoice.tax,base_amount:0
msgid "Base Code Amount"
-msgstr ""
+msgstr "مبلغ الرمز الرئيسي"
#. module: account
#: field:wizard.multi.charts.accounts,sale_tax:0
@@ -2756,7 +2760,7 @@ msgstr ""
#. module: account
#: help:account.journal,user_id:0
msgid "The user responsible for this journal"
-msgstr ""
+msgstr "الشخص المسؤول لهذه اليومية"
#. module: account
#: view:account.period:0
@@ -2801,12 +2805,12 @@ msgstr ""
#. module: account
#: help:wizard.multi.charts.accounts,code_digits:0
msgid "No. of Digits to use for account code"
-msgstr ""
+msgstr "أعداد الوحدة لرمز الحساب"
#. module: account
#: field:account.payment.term.line,name:0
msgid "Line Name"
-msgstr ""
+msgstr "اسم الخط"
#. module: account
#: view:account.fiscalyear:0
@@ -2863,7 +2867,7 @@ msgstr ""
#. module: account
#: field:account.move.line,analytic_lines:0
msgid "Analytic lines"
-msgstr ""
+msgstr "سطور تحليلية"
#. module: account
#: model:process.node,name:account.process_node_electronicfile0
@@ -2873,12 +2877,12 @@ msgstr "ملف إالكتروني"
#. module: account
#: view:res.partner:0
msgid "Customer Credit"
-msgstr ""
+msgstr "دين العميل"
#. module: account
#: model:ir.model,name:account.model_account_tax_code_template
msgid "Tax Code Template"
-msgstr ""
+msgstr "قالب رمز الضريبة"
#. module: account
#: view:account.subscription:0
@@ -2898,7 +2902,7 @@ msgstr ""
#. module: account
#: view:account.tax.template:0
msgid "Tax Declaration"
-msgstr ""
+msgstr "الإعلان الضريبي"
#. module: account
#: help:account.account,currency_id:0
@@ -2928,7 +2932,7 @@ msgstr "إنشاء شجرة حسابات من قالب"
#. module: account
#: model:ir.model,name:account.model_account_unreconcile_reconcile
msgid "Account Unreconcile Reconcile"
-msgstr ""
+msgstr "حساب التسوية / إلغاءها"
#. module: account
#: help:account.account.type,close_method:0
@@ -3000,7 +3004,7 @@ msgstr "الشركاء الباقيين"
#: view:account.subscription:0
#: field:account.subscription,lines_id:0
msgid "Subscription Lines"
-msgstr ""
+msgstr "خطوط الإشتراك"
#. module: account
#: selection:account.analytic.journal,type:0
@@ -3019,7 +3023,7 @@ msgstr "شراء"
#: model:ir.actions.act_window,name:account.action_account_installer
#: view:wizard.multi.charts.accounts:0
msgid "Accounting Application Configuration"
-msgstr ""
+msgstr "إعداد برنامج المحاسبة"
#. module: account
#: model:ir.actions.act_window,name:account.open_board_account
@@ -3065,7 +3069,7 @@ msgstr ""
#. module: account
#: report:account.move.voucher:0
msgid "Journal:"
-msgstr ""
+msgstr "يومية:"
#. module: account
#: view:account.bank.statement:0
@@ -3117,7 +3121,7 @@ msgstr "سنة"
#. module: account
#: report:account.move.voucher:0
msgid "Authorised Signatory"
-msgstr ""
+msgstr "إمضاء المسؤول"
#. module: account
#: view:validate.account.move.lines:0
@@ -3147,7 +3151,7 @@ msgstr "تحويلات"
#. module: account
#: view:account.payment.term.line:0
msgid " value amount: n.a"
-msgstr ""
+msgstr " قيمة المبلغ: غير متاحة"
#. module: account
#: view:account.chart:0
@@ -3236,7 +3240,7 @@ msgstr "إنشاء حساب"
#. module: account
#: model:ir.model,name:account.model_report_account_type_sales
msgid "Report of the Sales by Account Type"
-msgstr ""
+msgstr "تقرير المبيعات حسب نوع الحساب"
#. module: account
#: selection:account.account.type,close_method:0
@@ -3274,7 +3278,7 @@ msgstr "شجرة الحسابات"
#. module: account
#: view:account.tax.chart:0
msgid "(If you do not select period it will take all open periods)"
-msgstr ""
+msgstr "( إذا لم تختار فترة فسيتم أخذ كل الفترات المفتوحة )"
#. module: account
#: field:account.journal,centralisation:0
@@ -3441,7 +3445,7 @@ msgstr "الكمية"
#. module: account
#: field:account.invoice.report,address_contact_id:0
msgid "Contact Address Name"
-msgstr ""
+msgstr "اسم عنوان جهة الإتصال"
#. module: account
#: field:account.move.line,blocked:0
@@ -3451,7 +3455,7 @@ msgstr "تقاضي"
#. module: account
#: view:account.analytic.line:0
msgid "Search Analytic Lines"
-msgstr ""
+msgstr "بحث الخطوط التحليلية"
#. module: account
#: field:res.partner,property_account_payable:0
@@ -3548,7 +3552,7 @@ msgstr "اسم"
#. module: account
#: model:ir.model,name:account.model_account_aged_trial_balance
msgid "Account Aged Trial balance Report"
-msgstr ""
+msgstr "ميزان المراجعة للحسابات المعمرة"
#. module: account
#: field:account.move.line,date:0
@@ -3990,7 +3994,7 @@ msgstr "إحصائيات الفواتير"
#. module: account
#: model:process.transition,note:account.process_transition_paymentorderreconcilation0
msgid "Bank statements are entered in the system."
-msgstr ""
+msgstr "كشوف حسابات البنك تم إدخالها في النظام."
#. module: account
#: code:addons/account/wizard/account_reconcile.py:133
@@ -4034,7 +4038,7 @@ msgstr "طباعة الفاتورة"
#. module: account
#: view:account.tax.template:0
msgid "Credit Notes"
-msgstr ""
+msgstr "أوراق دائنة"
#. module: account
#: code:addons/account/account.py:2067
@@ -4136,7 +4140,7 @@ msgstr ""
#. module: account
#: help:account.partner.ledger,reconcil:0
msgid "Consider reconciled entries"
-msgstr ""
+msgstr "نظر القيود المسواه"
#. module: account
#: model:ir.actions.act_window,name:account.action_validate_account_move_line
@@ -4162,7 +4166,7 @@ msgstr ""
#: constraint:account.account:0
#: constraint:account.tax.code:0
msgid "Error ! You can not create recursive accounts."
-msgstr ""
+msgstr "خطأ ! لا يمكن إنشاء حسابات تكرارية."
#. module: account
#: constraint:account.account:0
@@ -4213,7 +4217,7 @@ msgstr ""
#: code:addons/account/invoice.py:73
#, python-format
msgid "You must define an analytic journal of type '%s' !"
-msgstr ""
+msgstr "عليك بتعريف يومية تحليلية في يومية '%s' !"
#. module: account
#: code:addons/account/account.py:1397
@@ -4245,7 +4249,7 @@ msgstr ""
#. module: account
#: report:account.account.balance.landscape:0
msgid "Account Balance -"
-msgstr ""
+msgstr "رصيد الحساب -"
#. module: account
#: field:account.automatic.reconcile,date1:0
@@ -4344,7 +4348,7 @@ msgstr ""
#. module: account
#: model:process.transition,note:account.process_transition_suppliercustomerinvoice0
msgid "Draft invoices are validated. "
-msgstr ""
+msgstr "تم التحقق للفواتير المؤقتة. "
#. module: account
#: view:account.bank.statement:0
@@ -4385,7 +4389,7 @@ msgstr "عناصر اليومية"
#. module: account
#: selection:account.account.type,report_type:0
msgid "Balance Sheet (Asset Accounts)"
-msgstr ""
+msgstr "الميزانية العمومية (حسابات الأصول)"
#. module: account
#: report:account.tax.code.entries:0
@@ -4416,7 +4420,7 @@ msgstr ""
#: code:addons/account/wizard/account_report_common.py:126
#, python-format
msgid "Error"
-msgstr ""
+msgstr "خطأ"
#. module: account
#: field:account.analytic.Journal.report,date2:0
@@ -4510,7 +4514,7 @@ msgstr ""
#: code:addons/account/account.py:940
#, python-format
msgid "Start period should be smaller then End period"
-msgstr ""
+msgstr "بداية الفترة يجب أن تكون أقل من نهاية الفترة"
#. module: account
#: selection:account.automatic.reconcile,power:0
@@ -4629,7 +4633,7 @@ msgstr ""
#: code:addons/account/account.py:1167
#, python-format
msgid "Integrity Error !"
-msgstr ""
+msgstr "خطأ بالسلامة !"
#. module: account
#: field:account.tax.template,description:0
@@ -4815,18 +4819,18 @@ msgstr ""
#. module: account
#: view:account.move.line:0
msgid "Debit/Credit"
-msgstr ""
+msgstr "مدين / دائن"
#. module: account
#: view:report.hr.timesheet.invoice.journal:0
msgid "Analytic Entries Stats"
-msgstr ""
+msgstr "إحصائيات القيود التحليلية"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_tax_code_template_form
#: model:ir.ui.menu,name:account.menu_action_account_tax_code_template_form
msgid "Tax Code Templates"
-msgstr ""
+msgstr "قوالب رمز الضريبة"
#. module: account
#: model:ir.model,name:account.model_account_installer
@@ -4939,7 +4943,7 @@ msgstr ""
#: code:addons/account/wizard/account_move_journal.py:63
#, python-format
msgid "Configuration Error !"
-msgstr ""
+msgstr "خطأ في الإعدادات!"
#. module: account
#: help:account.partner.reconcile.process,to_reconcile:0
@@ -4952,12 +4956,12 @@ msgstr ""
#. module: account
#: view:account.subscription.line:0
msgid "Subscription lines"
-msgstr ""
+msgstr "خطوط الإشتراك"
#. module: account
#: field:account.entries.report,quantity:0
msgid "Products Quantity"
-msgstr ""
+msgstr "كمية المنتجات"
#. module: account
#: view:account.entries.report:0
@@ -4966,14 +4970,14 @@ msgstr ""
#: selection:account.move,state:0
#: view:account.move.line:0
msgid "Unposted"
-msgstr ""
+msgstr "غير مرحله"
#. module: account
#: view:account.change.currency:0
#: model:ir.actions.act_window,name:account.action_account_change_currency
#: model:ir.model,name:account.model_account_change_currency
msgid "Change Currency"
-msgstr ""
+msgstr "تغيير العملة"
#. module: account
#: model:process.node,note:account.process_node_accountingentries0
@@ -4984,7 +4988,7 @@ msgstr ""
#. module: account
#: view:account.invoice:0
msgid "Payment Date"
-msgstr ""
+msgstr "تاريخ الدفع"
#. module: account
#: selection:account.automatic.reconcile,power:0
@@ -4997,7 +5001,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_analytic_open
#: model:ir.ui.menu,name:account.account_analytic_def_account
msgid "Analytic Accounts"
-msgstr ""
+msgstr "حسابات تحليلية"
#. module: account
#: help:account.account.type,report_type:0
@@ -5024,7 +5028,7 @@ msgstr ""
#: field:account.model.line,amount_currency:0
#: field:account.move.line,amount_currency:0
msgid "Amount Currency"
-msgstr ""
+msgstr "مبلغ العملة"
#. module: account
#: code:addons/account/wizard/account_validate_account_move.py:39
@@ -5057,7 +5061,7 @@ msgstr ""
#. module: account
#: view:account.move.line:0
msgid "Number (Move)"
-msgstr ""
+msgstr "رقم (حركة)"
#. module: account
#: view:account.invoice.refund:0
@@ -5108,7 +5112,7 @@ msgstr ""
#: field:account.print.journal,amount_currency:0
#: field:account.report.general.ledger,amount_currency:0
msgid "With Currency"
-msgstr ""
+msgstr "مع العملة"
#. module: account
#: view:account.bank.statement:0
@@ -5134,7 +5138,7 @@ msgstr ""
#. module: account
#: view:board.board:0
msgid "Aged Receivables"
-msgstr ""
+msgstr "الديون المشكوك في تحصيلها"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_automatic_reconcile
@@ -5186,7 +5190,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_account_analytic_journal_form
#: model:ir.ui.menu,name:account.account_def_analytic_journal
msgid "Analytic Journals"
-msgstr ""
+msgstr "يوميات تحليلية"
#. module: account
#: field:account.account,child_id:0
@@ -5203,12 +5207,12 @@ msgstr ""
#. module: account
#: field:res.partner,debit:0
msgid "Total Payable"
-msgstr ""
+msgstr "إجمالي مستحق الدفع"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_analytic_account_line_extended_form
msgid "account.analytic.line.extended"
-msgstr ""
+msgstr "account.analytic.line.extended"
#. module: account
#: selection:account.bank.statement.line,type:0
@@ -5269,7 +5273,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_account_state_open
#: model:ir.model,name:account.model_account_state_open
msgid "Account State Open"
-msgstr ""
+msgstr "فتح حالة الحساب"
#. module: account
#: report:account.analytic.account.quantity_cost_ledger:0
@@ -5323,7 +5327,7 @@ msgstr ""
#: field:report.account.sales,period_id:0
#: field:report.account_type.sales,period_id:0
msgid "Force Period"
-msgstr ""
+msgstr "قوة الفترة"
#. module: account
#: view:account.invoice.report:0
@@ -5335,7 +5339,7 @@ msgstr ""
#: code:addons/account/wizard/account_change_currency.py:60
#, python-format
msgid "New currency is not confirured properly !"
-msgstr ""
+msgstr "العملة الجديدة لم يتم ضبطها بشكل صحيح !"
#. module: account
#: field:account.aged.trial.balance,filter:0
@@ -5354,7 +5358,7 @@ msgstr ""
#: field:account.report.general.ledger,filter:0
#: field:account.vat.declaration,filter:0
msgid "Filter by"
-msgstr ""
+msgstr "ترشيح بـ"
#. module: account
#: code:addons/account/account_move_line.py:1131
@@ -5379,7 +5383,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_account_general_journal
#: model:ir.model,name:account.model_account_general_journal
msgid "Account General Journal"
-msgstr ""
+msgstr "حساب اليومية العامة"
#. module: account
#: code:addons/account/report/common_report_header.py:100
@@ -5403,7 +5407,7 @@ msgstr ""
#. module: account
#: field:account.payment.term.line,days:0
msgid "Number of Days"
-msgstr ""
+msgstr "عدد الأيام"
#. module: account
#: selection:account.automatic.reconcile,power:0
@@ -5437,7 +5441,7 @@ msgstr ""
#: report:account.analytic.account.cost_ledger:0
#: report:account.analytic.account.quantity_cost_ledger:0
msgid "Printing date"
-msgstr ""
+msgstr "تاريخ الطباعة"
#. module: account
#: selection:account.account.type,close_method:0
@@ -5455,7 +5459,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_invoice_tree3
#: model:ir.ui.menu,name:account.menu_action_invoice_tree3
msgid "Customer Refunds"
-msgstr ""
+msgstr "رد للعملاء"
#. module: account
#: view:account.payment.term.line:0
@@ -5465,7 +5469,7 @@ msgstr ""
#. module: account
#: field:account.journal.period,name:0
msgid "Journal-Period Name"
-msgstr ""
+msgstr "اسم الفترة لليومية"
#. module: account
#: field:account.invoice.tax,factor_base:0
@@ -5501,7 +5505,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_analytic_entries_report
#: model:ir.ui.menu,name:account.menu_action_analytic_entries_report
msgid "Analytic Entries Analysis"
-msgstr ""
+msgstr "تحليل القيود التحليلية"
#. module: account
#: selection:account.aged.trial.balance,direction_selection:0
@@ -5511,7 +5515,7 @@ msgstr ""
#. module: account
#: view:account.analytic.line:0
msgid "Analytic Entry"
-msgstr ""
+msgstr "قيد تحليلي"
#. module: account
#: view:res.company:0
@@ -5738,7 +5742,7 @@ msgstr ""
#. module: account
#: field:account.journal,default_credit_account_id:0
msgid "Default Credit Account"
-msgstr ""
+msgstr "حساب الدائنون الإفتراضي"
#. module: account
#: view:account.installer:0
@@ -5748,7 +5752,7 @@ msgstr ""
#. module: account
#: view:account.payment.term.line:0
msgid " number of days: 30"
-msgstr ""
+msgstr " عدد الأيام: 30"
#. module: account
#: help:account.analytic.line,currency_id:0
@@ -5793,18 +5797,18 @@ msgstr ""
#. module: account
#: view:project.account.analytic.line:0
msgid "View Account Analytic Lines"
-msgstr ""
+msgstr "عرض خطوط الحساب التحليلي"
#. module: account
#: selection:account.account.type,report_type:0
msgid "Balance Sheet (Liability Accounts)"
-msgstr ""
+msgstr "الميزانية (لحسابات الأصول)"
#. module: account
#: field:account.invoice,internal_number:0
#: field:report.invoice.created,number:0
msgid "Invoice Number"
-msgstr ""
+msgstr "رقم الفاتورة"
#. module: account
#: help:account.tax,include_base_amount:0
@@ -5822,7 +5826,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_account_analytic_invert_balance
#: model:ir.actions.report.xml,name:account.account_analytic_account_inverted_balance
msgid "Inverted Analytic Balance"
-msgstr ""
+msgstr "الرصيد التحليلي المعكوس"
#. module: account
#: field:account.tax.template,applicable_type:0
@@ -5854,7 +5858,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_account_analytic_journal_open_form
#: model:ir.ui.menu,name:account.account_analytic_journal_entries
msgid "Analytic Journal Items"
-msgstr ""
+msgstr "عناصر اليومية التحليلية"
#. module: account
#: view:account.fiscalyear.close:0
@@ -5900,7 +5904,7 @@ msgstr ""
#: code:addons/account/wizard/account_report_aged_partner_balance.py:57
#, python-format
msgid "Enter a Start date !"
-msgstr ""
+msgstr "أدخل تاريخ البدء !"
#. module: account
#: report:account.invoice:0
@@ -5918,7 +5922,7 @@ msgstr ""
#. module: account
#: field:account.bank.statement,move_line_ids:0
msgid "Entry lines"
-msgstr ""
+msgstr "سطور القيود"
#. module: account
#: field:account.move.line,centralisation:0
@@ -5988,7 +5992,7 @@ msgstr ""
#: model:ir.actions.report.xml,name:account.analytic_journal_print
#: model:ir.model,name:account.model_account_analytic_journal
msgid "Analytic Journal"
-msgstr ""
+msgstr "يومية تحليلية"
#. module: account
#: view:account.entries.report:0
@@ -6037,7 +6041,7 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_analytic_entries_report
msgid "Analytic Entries Statistics"
-msgstr ""
+msgstr "إحصائيات القيود التحليلية"
#. module: account
#: code:addons/account/account_analytic_line.py:143
@@ -6049,7 +6053,7 @@ msgstr ""
#. module: account
#: view:account.use.model:0
msgid "Create manual recurring entries in a chosen journal."
-msgstr ""
+msgstr "إنشاء قيد يومية تكرارية يدوياً في يومية مختارة."
#. module: account
#: code:addons/account/account.py:1393
@@ -6087,7 +6091,7 @@ msgstr ""
#: code:addons/account/account_move_line.py:1003
#, python-format
msgid "Total debit"
-msgstr ""
+msgstr "إجمالي الخصم"
#. module: account
#: code:addons/account/account_move_line.py:781
@@ -6193,7 +6197,7 @@ msgstr ""
#. module: account
#: selection:account.journal.period,state:0
msgid "Printed"
-msgstr ""
+msgstr "مطبوع"
#. module: account
#: view:account.analytic.line:0
@@ -6290,7 +6294,7 @@ msgstr ""
#: code:addons/account/wizard/account_change_currency.py:65
#, python-format
msgid "Currnt currency is not confirured properly !"
-msgstr ""
+msgstr "العملة الجديدة لم يتم ضبطها بشكل صحيح !"
#. module: account
#: model:ir.model,name:account.model_account_move_reconcile
@@ -6310,7 +6314,7 @@ msgstr ""
#: model:ir.actions.report.xml,name:account.account_general_ledger
#: model:ir.ui.menu,name:account.menu_general_ledger
msgid "General Ledger"
-msgstr ""
+msgstr "الأستاذ العام"
#. module: account
#: model:process.transition,note:account.process_transition_paymentorderbank0
@@ -6358,7 +6362,7 @@ msgstr ""
#: report:account.invoice:0
#: report:account.partner.balance:0
msgid "Total:"
-msgstr ""
+msgstr "الإجمالي:"
#. module: account
#: code:addons/account/account.py:2050
@@ -6401,7 +6405,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_invoice_tree1
#: model:ir.ui.menu,name:account.menu_action_invoice_tree1
msgid "Customer Invoices"
-msgstr "فواتير العميل"
+msgstr "فواتير العملاء"
#. module: account
#: field:account.move.line.reconcile,writeoff:0
@@ -6411,7 +6415,7 @@ msgstr ""
#. module: account
#: view:account.analytic.line:0
msgid "Sales"
-msgstr ""
+msgstr "المبيعات"
#. module: account
#: view:account.journal.column:0
@@ -6430,7 +6434,7 @@ msgstr ""
#. module: account
#: model:process.transition,note:account.process_transition_invoicemanually0
msgid "A statement with manual entries becomes a draft statement."
-msgstr ""
+msgstr "القائمة ذات القيود اليدوية تصبح مؤقتة."
#. module: account
#: view:account.aged.trial.balance:0
@@ -6460,7 +6464,7 @@ msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.act_account_acount_move_line_open_unreconciled
msgid "Unreconciled Entries"
-msgstr ""
+msgstr "قيود غير مسواه"
#. module: account
#: model:ir.ui.menu,name:account.menu_menu_Bank_process
@@ -6491,7 +6495,7 @@ msgstr ""
#: view:analytic.entries.report:0
#: field:analytic.entries.report,product_uom_id:0
msgid "Product UOM"
-msgstr ""
+msgstr "وحدة قياس المنتج"
#. module: account
#: model:ir.actions.act_window,help:account.action_view_bank_statement_tree
@@ -6528,7 +6532,7 @@ msgstr ""
#: view:account.move:0
#: view:account.move.line:0
msgid "Analytic Lines"
-msgstr ""
+msgstr "سطور تحليلية"
#. module: account
#: model:ir.actions.act_window,help:account.action_account_analytic_account_tree2
@@ -6579,7 +6583,7 @@ msgstr ""
#. module: account
#: field:account.account.template,parent_id:0
msgid "Parent Account Template"
-msgstr ""
+msgstr "قالب حساب رئيسي"
#. module: account
#: view:account.bank.statement:0
@@ -6638,7 +6642,7 @@ msgstr ""
#. module: account
#: help:res.partner,credit:0
msgid "Total amount this customer owes you."
-msgstr ""
+msgstr "إجمالي المبلغ المدين لهذا العميل لك."
#. module: account
#: model:ir.model,name:account.model_ir_sequence
@@ -6660,12 +6664,12 @@ msgstr ""
#: code:addons/account/report/account_partner_balance.py:115
#, python-format
msgid "Unknown Partner"
-msgstr ""
+msgstr "شريك مجهول"
#. module: account
#: view:account.bank.statement:0
msgid "Opening Balance"
-msgstr ""
+msgstr "رصيد أول المدة"
#. module: account
#: help:account.journal,centralisation:0
@@ -6678,7 +6682,7 @@ msgstr ""
#. module: account
#: field:account.bank.statement,closing_date:0
msgid "Closed On"
-msgstr ""
+msgstr "إقفال يوم"
#. module: account
#: model:ir.model,name:account.model_account_bank_statement_line
@@ -6875,7 +6879,7 @@ msgstr ""
#. module: account
#: view:account.move.line:0
msgid "Optional Information"
-msgstr ""
+msgstr "معلومات خيارية"
#. module: account
#: view:account.analytic.line:0
@@ -6914,13 +6918,13 @@ msgstr ""
#: code:addons/account/installer.py:432
#, python-format
msgid "Sales Journal"
-msgstr ""
+msgstr "يومية المبيعات"
#. module: account
#: code:addons/account/wizard/account_move_journal.py:104
#, python-format
msgid "Open Journal Items !"
-msgstr ""
+msgstr "فتح عناصر اليومية !"
#. module: account
#: model:ir.model,name:account.model_account_invoice_tax
@@ -6937,7 +6941,7 @@ msgstr ""
#: view:product.product:0
#: view:product.template:0
msgid "Sales Properties"
-msgstr ""
+msgstr "خصائص المبيعات"
#. module: account
#: model:ir.ui.menu,name:account.menu_manual_reconcile
@@ -6947,7 +6951,7 @@ msgstr ""
#. module: account
#: report:account.overdue:0
msgid "Total amount due:"
-msgstr ""
+msgstr "إجمالي المبلغ المستحق:"
#. module: account
#: field:account.analytic.chart,to_date:0
@@ -6986,7 +6990,7 @@ msgstr ""
#: code:addons/account/report/account_partner_balance.py:304
#, python-format
msgid "Payable Accounts"
-msgstr ""
+msgstr "حسابات الدائنون"
#. module: account
#: model:ir.model,name:account.model_account_chart_template
@@ -7044,7 +7048,7 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_bs_report
msgid "Account Balance Sheet Report"
-msgstr ""
+msgstr "تقرير الميزانية للحسابات"
#. module: account
#: help:account.tax,price_include:0
@@ -7062,7 +7066,7 @@ msgstr ""
#. module: account
#: view:report.account_type.sales:0
msgid "Sales by Account type"
-msgstr ""
+msgstr "المبيعات حسب نوع الحساب"
#. module: account
#: help:account.invoice,move_id:0
@@ -7087,7 +7091,7 @@ msgstr ""
#. module: account
#: view:account.payment.term.line:0
msgid " number of days: 14"
-msgstr ""
+msgstr " عدد الأيام: 14"
#. module: account
#: view:analytic.entries.report:0
@@ -7108,7 +7112,7 @@ msgstr "أصل"
#. module: account
#: field:account.installer.modules,account_analytic_plans:0
msgid "Multiple Analytic Plans"
-msgstr ""
+msgstr "خطط تحليلية متعددة"
#. module: account
#: help:account.payment.term.line,days2:0
@@ -7178,7 +7182,7 @@ msgstr ""
#: code:addons/account/invoice.py:720
#, python-format
msgid "Warning !"
-msgstr ""
+msgstr "تحذير !"
#. module: account
#: field:account.entries.report,move_line_state:0
@@ -7195,7 +7199,7 @@ msgstr ""
#: view:account.subscription.generate:0
#: model:ir.model,name:account.model_account_subscription_generate
msgid "Subscription Compute"
-msgstr ""
+msgstr "حساب الإشتراك"
#. module: account
#: report:account.move.voucher:0
@@ -7229,7 +7233,7 @@ msgstr ""
#. module: account
#: help:account.change.currency,currency_id:0
msgid "Select a currency to apply on the invoice"
-msgstr ""
+msgstr "اختر عملة للفاتورة"
#. module: account
#: code:addons/account/wizard/account_invoice_refund.py:100
@@ -7241,7 +7245,7 @@ msgstr ""
#: code:addons/account/invoice.py:787
#, python-format
msgid "No Invoice Lines !"
-msgstr ""
+msgstr "لا سطور للفاتورة !"
#. module: account
#: view:account.bank.statement:0
@@ -7261,7 +7265,7 @@ msgstr ""
#: field:account.subscription,state:0
#: field:report.invoice.created,state:0
msgid "State"
-msgstr ""
+msgstr "الحالة"
#. module: account
#: help:account.open.closed.fiscalyear,fyear_id:0
@@ -7324,7 +7328,7 @@ msgstr ""
#. module: account
#: report:account.analytic.account.inverted.balance:0
msgid "Inverted Analytic Balance -"
-msgstr ""
+msgstr "رصيد تحليلي معكوس -"
#. module: account
#: view:account.move.bank.reconcile:0
@@ -7357,7 +7361,7 @@ msgstr ""
#: view:account.invoice:0
#: field:account.invoice,comment:0
msgid "Additional Information"
-msgstr ""
+msgstr "معلومات أضافية"
#. module: account
#: view:account.installer:0
@@ -7368,7 +7372,7 @@ msgstr ""
#: view:account.invoice.report:0
#: field:account.invoice.report,residual:0
msgid "Total Residual"
-msgstr ""
+msgstr "إجمالي المتبقي"
#. module: account
#: model:process.node,note:account.process_node_invoiceinvoice0
@@ -7480,7 +7484,7 @@ msgstr ""
#. module: account
#: report:account.invoice:0
msgid "Net Total:"
-msgstr ""
+msgstr "صافي الإجمالي:"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_generic_reporting
@@ -7553,7 +7557,7 @@ msgstr ""
#. module: account
#: field:account.account,company_currency_id:0
msgid "Company Currency"
-msgstr ""
+msgstr "عملة الشركة"
#. module: account
#: model:process.node,name:account.process_node_paymententries0
@@ -7585,12 +7589,12 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_analytic_inverted_balance
msgid "Account Analytic Inverted Balance"
-msgstr ""
+msgstr "رصيد للحساب التحليلي المعكوس"
#. module: account
#: model:ir.model,name:account.model_account_common_report
msgid "Account Common Report"
-msgstr ""
+msgstr "تقرير مشترك للحساب"
#. module: account
#: model:process.transition,name:account.process_transition_filestatement0
@@ -7612,13 +7616,13 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_account_type_form
#: model:ir.ui.menu,name:account.menu_action_account_type_form
msgid "Account Types"
-msgstr ""
+msgstr "أنواع الحساب"
#. module: account
#: code:addons/account/invoice.py:897
#, python-format
msgid "Cannot create invoice move on centralised journal"
-msgstr ""
+msgstr "لا يمكن إنشاء حركة فاتورة حيث اليومية مركزية"
#. module: account
#: field:account.account.type,report_type:0
@@ -7643,17 +7647,17 @@ msgstr ""
#: view:account.chart.template:0
#: field:account.chart.template,property_account_receivable:0
msgid "Receivable Account"
-msgstr ""
+msgstr "حساب المدينون"
#. module: account
#: view:account.bank.statement:0
msgid "CashBox Balance"
-msgstr ""
+msgstr "رصيد صندوق النقدية"
#. module: account
#: model:ir.model,name:account.model_account_fiscalyear_close_state
msgid "Fiscalyear Close state"
-msgstr ""
+msgstr "حالة إغلاق السنة المالية"
#. module: account
#: field:account.invoice.refund,journal_id:0
@@ -7673,7 +7677,7 @@ msgstr ""
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Filter By"
-msgstr ""
+msgstr "ترشيح بـ"
#. module: account
#: model:ir.actions.act_window,help:account.action_invoice_tree1
@@ -7689,7 +7693,7 @@ msgstr ""
#: view:board.board:0
#: model:ir.actions.act_window,name:account.action_company_analysis_tree
msgid "Company Analysis"
-msgstr ""
+msgstr "تحليل الشركة"
#. module: account
#: help:account.invoice,account_id:0
@@ -7706,14 +7710,14 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_payment_term_line
msgid "Payment Term Line"
-msgstr ""
+msgstr "سطر شروط السداد"
#. module: account
#: code:addons/account/account.py:2794
#: code:addons/account/installer.py:452
#, python-format
msgid "Purchase Journal"
-msgstr ""
+msgstr "يومية المشتريات"
#. module: account
#: view:account.invoice.refund:0
@@ -7723,17 +7727,17 @@ msgstr ""
#. module: account
#: field:account.invoice.line,price_subtotal:0
msgid "Subtotal"
-msgstr ""
+msgstr "المجموع الفرعي"
#. module: account
#: view:account.vat.declaration:0
msgid "Print Tax Statement"
-msgstr ""
+msgstr "طباعة كشف الضريبة"
#. module: account
#: view:account.model.line:0
msgid "Journal Entry Model Line"
-msgstr ""
+msgstr "خط نموذج قيد اليومية"
#. module: account
#: view:account.invoice:0
@@ -7742,7 +7746,7 @@ msgstr ""
#: field:account.invoice.report,date_due:0
#: field:report.invoice.created,date_due:0
msgid "Due Date"
-msgstr ""
+msgstr "تاريخ الإستحقاق"
#. module: account
#: model:ir.ui.menu,name:account.menu_account_supplier
@@ -7759,12 +7763,12 @@ msgstr ""
#. module: account
#: view:account.journal:0
msgid "Accounts Type Allowed (empty for no control)"
-msgstr ""
+msgstr "أنواع الحسابات المسموحة (فارغ للغير رقابية)"
#. module: account
#: view:res.partner:0
msgid "Supplier Accounting Properties"
-msgstr ""
+msgstr "خصائص محاسبة المورد"
#. module: account
#: help:account.move.line,amount_residual:0
@@ -7776,23 +7780,23 @@ msgstr ""
#. module: account
#: view:account.payment.term.line:0
msgid " valuation: balance"
-msgstr ""
+msgstr " التقييم: رصيد"
#. module: account
#: view:account.tax.code:0
msgid "Statistics"
-msgstr ""
+msgstr "إحصائيات"
#. module: account
#: field:account.analytic.chart,from_date:0
#: field:project.account.analytic.line,from_date:0
msgid "From"
-msgstr ""
+msgstr "من"
#. module: account
#: model:ir.model,name:account.model_account_fiscalyear_close
msgid "Fiscalyear Close"
-msgstr ""
+msgstr "إغلاق السنة المالية"
#. module: account
#: sql_constraint:account.account:0
@@ -7802,18 +7806,18 @@ msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.act_account_journal_2_account_invoice_opened
msgid "Unpaid Invoices"
-msgstr ""
+msgstr "فواتير غير مدفوعة"
#. module: account
#: field:account.move.line.reconcile,debit:0
msgid "Debit amount"
-msgstr ""
+msgstr "المبلغ المدين"
#. module: account
#: view:board.board:0
#: model:ir.actions.act_window,name:account.action_treasory_graph
msgid "Treasury"
-msgstr ""
+msgstr "الخزينة"
#. module: account
#: view:account.aged.trial.balance:0
@@ -7824,7 +7828,7 @@ msgstr ""
#: view:account.analytic.inverted.balance:0
#: view:account.common.report:0
msgid "Print"
-msgstr ""
+msgstr "طباعة"
#. module: account
#: view:account.journal:0
@@ -7836,30 +7840,30 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_account_analytic_chart
#: model:ir.ui.menu,name:account.menu_action_analytic_account_tree2
msgid "Chart of Analytic Accounts"
-msgstr ""
+msgstr "شجرة الحسابات التحليلية"
#. module: account
#: model:ir.ui.menu,name:account.menu_configuration_misc
msgid "Miscellaneous"
-msgstr ""
+msgstr "متفرقات"
#. module: account
#: help:res.partner,debit:0
msgid "Total amount you have to pay to this supplier."
-msgstr ""
+msgstr "إجمالي المبلغ الواجب دفعه لهذا المورد."
#. module: account
#: model:process.node,name:account.process_node_analytic0
#: model:process.node,name:account.process_node_analyticcost0
msgid "Analytic Costs"
-msgstr ""
+msgstr "تكاليف تحليلية"
#. module: account
#: field:account.analytic.journal,name:0
#: report:account.general.journal:0
#: field:account.journal,name:0
msgid "Journal Name"
-msgstr ""
+msgstr "اسم اليومية"
#. module: account
#: help:account.invoice,internal_number:0
@@ -7880,12 +7884,12 @@ msgstr ""
#: code:addons/account/account_move_line.py:1214
#, python-format
msgid "Bad account!"
-msgstr ""
+msgstr "حساب سئ!"
#. module: account
#: help:account.chart,fiscalyear:0
msgid "Keep empty for all open fiscal years"
-msgstr ""
+msgstr "اتركه فارغ لكل السنوات المالية المفتوحة"
#. module: account
#: code:addons/account/account_move_line.py:1056
@@ -7926,13 +7930,13 @@ msgstr ""
#: field:report.account_type.sales,currency_id:0
#: field:report.invoice.created,currency_id:0
msgid "Currency"
-msgstr ""
+msgstr "عملة"
#. module: account
#: help:account.bank.statement.line,sequence:0
msgid ""
"Gives the sequence order when displaying a list of bank statement lines."
-msgstr ""
+msgstr "يعطيك ترتيب المسلسل حين يعرض قائمة لسطور كشف حساب البنك"
#. module: account
#: model:process.transition,note:account.process_transition_validentries0
@@ -7954,12 +7958,12 @@ msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.act_account_acount_move_line_reconcile_open
msgid "Reconciled entries"
-msgstr ""
+msgstr "قيود مسواه"
#. module: account
#: field:account.invoice,address_contact_id:0
msgid "Contact Address"
-msgstr ""
+msgstr "عنوان جهة الإتصال"
#. module: account
#: help:account.invoice,state:0
@@ -7977,34 +7981,34 @@ msgstr ""
#. module: account
#: field:account.invoice.refund,period:0
msgid "Force period"
-msgstr ""
+msgstr "قوة الفترة"
#. module: account
#: model:ir.model,name:account.model_account_partner_balance
msgid "Print Account Partner Balance"
-msgstr ""
+msgstr "طباعة رصيد حساب الشريك"
#. module: account
#: field:res.partner,contract_ids:0
msgid "Contracts"
-msgstr ""
+msgstr "عقود"
#. module: account
#: field:account.cashbox.line,ending_id:0
#: field:account.cashbox.line,starting_id:0
#: field:account.entries.report,reconcile_id:0
msgid "unknown"
-msgstr ""
+msgstr "مجهول"
#. module: account
#: field:account.fiscalyear.close,journal_id:0
msgid "Opening Entries Journal"
-msgstr ""
+msgstr "يومية القيود الإفتتاحية"
#. module: account
#: model:process.transition,note:account.process_transition_customerinvoice0
msgid "Draft invoices are checked, validated and printed."
-msgstr ""
+msgstr "تم التعليم و التحقق و طباعة الفواتير المؤقتة"
#. module: account
#: help:account.chart.template,property_reserve_and_surplus_account:0
@@ -8017,12 +8021,12 @@ msgstr ""
#. module: account
#: field:account.invoice,reference_type:0
msgid "Reference Type"
-msgstr ""
+msgstr "نوع المرجع"
#. module: account
#: view:account.analytic.cost.ledger.journal.report:0
msgid "Cost Ledger for period"
-msgstr ""
+msgstr "أستاذ التكاليف لفترة"
#. module: account
#: help:account.tax,child_depend:0
@@ -8035,12 +8039,12 @@ msgstr ""
#. module: account
#: selection:account.tax,applicable_type:0
msgid "Given by Python Code"
-msgstr ""
+msgstr "معطي بلغة البايثون"
#. module: account
#: field:account.analytic.journal,code:0
msgid "Journal Code"
-msgstr ""
+msgstr "رمز اليومية"
#. module: account
#: help:account.tax.code,sign:0
@@ -8055,19 +8059,19 @@ msgstr ""
#: field:account.move.line,amount_residual:0
#: field:account.move.line,amount_residual_currency:0
msgid "Residual Amount"
-msgstr ""
+msgstr "المبلغ المتبقي"
#. module: account
#: field:account.invoice,move_lines:0
#: field:account.move.reconcile,line_id:0
msgid "Entry Lines"
-msgstr ""
+msgstr "سطور القيود"
#. module: account
#: model:ir.actions.act_window,name:account.action_open_journal_button
#: model:ir.actions.act_window,name:account.action_validate_account_move
msgid "Open Journal"
-msgstr ""
+msgstr "فتح اليومية"
#. module: account
#: report:account.analytic.account.journal:0
@@ -8079,14 +8083,14 @@ msgstr ""
#: report:account.analytic.account.journal:0
#: report:account.analytic.account.quantity_cost_ledger:0
msgid "Period from"
-msgstr ""
+msgstr "من الفترة"
#. module: account
#: code:addons/account/account.py:2817
#: code:addons/account/installer.py:476
#, python-format
msgid "Sales Refund Journal"
-msgstr ""
+msgstr "يومية رد المبيعات"
#. module: account
#: code:addons/account/account.py:927
@@ -8101,12 +8105,12 @@ msgstr ""
#: view:account.move.line:0
#: view:account.payment.term:0
msgid "Information"
-msgstr ""
+msgstr "معلومات"
#. module: account
#: model:process.node,note:account.process_node_bankstatement0
msgid "Registered payment"
-msgstr ""
+msgstr "دفع مسجل"
#. module: account
#: view:account.fiscalyear.close.state:0
@@ -8116,7 +8120,7 @@ msgstr ""
#. module: account
#: view:account.analytic.line:0
msgid "Product Information"
-msgstr ""
+msgstr "معلومات المنتج"
#. module: account
#: report:account.analytic.account.journal:0
@@ -8124,34 +8128,34 @@ msgstr ""
#: view:account.move.line:0
#: model:ir.ui.menu,name:account.next_id_40
msgid "Analytic"
-msgstr ""
+msgstr "تحليلي"
#. module: account
#: model:process.node,name:account.process_node_invoiceinvoice0
#: model:process.node,name:account.process_node_supplierinvoiceinvoice0
msgid "Create Invoice"
-msgstr ""
+msgstr "إنشاء فاتورة"
#. module: account
#: field:account.installer,purchase_tax:0
msgid "Purchase Tax(%)"
-msgstr ""
+msgstr "ضريبة المشتريات (%)"
#. module: account
#: code:addons/account/invoice.py:787
#, python-format
msgid "Please create some invoice lines."
-msgstr ""
+msgstr "قم بإنشاء سطور للفاتورة."
#. module: account
#: report:account.overdue:0
msgid "Dear Sir/Madam,"
-msgstr ""
+msgstr "عزيزي سيدي / سيدتي،"
#. module: account
#: view:account.installer.modules:0
msgid "Configure Your Accounting Application"
-msgstr ""
+msgstr "إعداد التطبيق المحاسبي الخاص بك"
#. module: account
#: code:addons/account/account.py:2820
@@ -8180,12 +8184,12 @@ msgstr ""
#: field:account.period,date_stop:0
#: model:ir.ui.menu,name:account.menu_account_end_year_treatments
msgid "End of Period"
-msgstr ""
+msgstr "نهاية الفترة"
#. module: account
#: field:account.installer.modules,account_followup:0
msgid "Followups Management"
-msgstr ""
+msgstr "إدارة المتابعة"
#. module: account
#: report:account.account.balance:0
@@ -8203,7 +8207,7 @@ msgstr ""
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Start Period"
-msgstr ""
+msgstr "بداية الفترة"
#. module: account
#: code:addons/account/account.py:2333
@@ -8214,12 +8218,12 @@ msgstr ""
#. module: account
#: field:account.aged.trial.balance,direction_selection:0
msgid "Analysis Direction"
-msgstr ""
+msgstr "إتجاه التحليل"
#. module: account
#: field:res.partner,ref_companies:0
msgid "Companies that refers to partner"
-msgstr ""
+msgstr "شركات تشير إلي شركاء"
#. module: account
#: view:account.journal:0
@@ -8228,14 +8232,14 @@ msgstr ""
#: field:account.journal.view,name:0
#: model:ir.model,name:account.model_account_journal_view
msgid "Journal View"
-msgstr ""
+msgstr "عرض اليومية"
#. module: account
#: view:account.move.line:0
#: code:addons/account/account_move_line.py:1006
#, python-format
msgid "Total credit"
-msgstr ""
+msgstr "إجمالي الإئتمان"
#. module: account
#: model:process.transition,note:account.process_transition_suppliervalidentries0
@@ -8253,17 +8257,17 @@ msgstr ""
#. module: account
#: report:account.overdue:0
msgid "Best regards."
-msgstr ""
+msgstr "مع خالص التحيات."
#. module: account
#: view:account.invoice:0
msgid "Unpaid"
-msgstr ""
+msgstr "غير مدفوعة"
#. module: account
#: report:account.overdue:0
msgid "Document: Customer account statement"
-msgstr ""
+msgstr "مستند: كشف حساب عميل"
#. module: account
#: constraint:account.move.line:0
@@ -8274,7 +8278,7 @@ msgstr ""
#: code:addons/account/wizard/account_change_currency.py:71
#, python-format
msgid "Current currency is not confirured properly !"
-msgstr ""
+msgstr "العملة الجديدة لم يتم ضبطها بشكل صحيح !"
#. module: account
#: model:ir.actions.act_window,help:account.action_invoice_tree4
@@ -8288,23 +8292,23 @@ msgstr ""
#. module: account
#: view:account.account.template:0
msgid "Receivale Accounts"
-msgstr ""
+msgstr "حسابات المدينون"
#. module: account
#: report:account.move.voucher:0
msgid "Particulars"
-msgstr ""
+msgstr "أفراد"
#. module: account
#: selection:account.account.type,report_type:0
msgid "Profit & Loss (Income Accounts)"
-msgstr ""
+msgstr "الأرباح و الخسائر (حسابات الدخل)"
#. module: account
#: view:account.tax:0
#: view:account.tax.template:0
msgid "Keep empty to use the income account"
-msgstr ""
+msgstr "لإستخدام حساب الدخل اتركه فارغ"
#. module: account
#: field:account.account,balance:0
@@ -8334,12 +8338,12 @@ msgstr ""
#: field:report.account.receivable,balance:0
#: field:report.aged.receivable,balance:0
msgid "Balance"
-msgstr ""
+msgstr "الرصيد"
#. module: account
#: model:process.node,note:account.process_node_supplierbankstatement0
msgid "Manually or automatically entered in the system"
-msgstr ""
+msgstr "تم إدخاله يدوي أو تلقائي في النظام"
#. module: account
#: report:account.account.balance:0
@@ -8353,22 +8357,22 @@ msgstr ""
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Display Account"
-msgstr ""
+msgstr "عرض الحساب"
#. module: account
#: report:account.tax.code.entries:0
msgid "("
-msgstr ""
+msgstr "("
#. module: account
#: selection:account.invoice.refund,filter_refund:0
msgid "Modify"
-msgstr ""
+msgstr "تعديل"
#. module: account
#: view:account.account.type:0
msgid "Closing Method"
-msgstr ""
+msgstr "إسلوب الإغلاق"
#. module: account
#: model:ir.actions.act_window,help:account.action_account_partner_balance
@@ -8382,25 +8386,25 @@ msgstr ""
#: selection:account.account.template,type:0
#: selection:account.entries.report,type:0
msgid "Payable"
-msgstr ""
+msgstr "مدفوعات"
#. module: account
#: view:report.account.sales:0
#: view:report.account_type.sales:0
#: view:report.hr.timesheet.invoice.journal:0
msgid "This Year"
-msgstr ""
+msgstr "هذا العام"
#. module: account
#: view:board.board:0
msgid "Account Board"
-msgstr ""
+msgstr "لوحة الحسابات"
#. module: account
#: view:account.model:0
#: field:account.model,legend:0
msgid "Legend"
-msgstr ""
+msgstr "الدليل"
#. module: account
#: model:ir.actions.act_window,help:account.action_account_moves_sale
@@ -8416,23 +8420,23 @@ msgstr ""
#: code:addons/account/account_bank_statement.py:391
#, python-format
msgid "Cannot delete bank statement(s) which are already confirmed !"
-msgstr ""
+msgstr "لا يمكن حذف هذا كشف / كشوف حساب البنك التي تم تأكيدها"
#. module: account
#: code:addons/account/wizard/account_automatic_reconcile.py:152
#, python-format
msgid "You must select accounts to reconcile"
-msgstr ""
+msgstr "يجب إختيار الحسابات للتسوية"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_receivable_graph
msgid "Balance by Type of Account"
-msgstr ""
+msgstr "الرصيد حسب نوع الحساب"
#. module: account
#: model:process.transition,note:account.process_transition_entriesreconcile0
msgid "Accounting entries are the first input of the reconciliation."
-msgstr ""
+msgstr "قيود المحاسبة هي أول المدخلات للتسوية."
#. module: account
#: model:ir.actions.act_window,help:account.action_account_period_form
@@ -8448,7 +8452,7 @@ msgstr ""
#. module: account
#: report:account.move.voucher:0
msgid "Receiver's Signature"
-msgstr ""
+msgstr "إمضاء المستلم"
#. module: account
#: report:account.general.ledger:0
@@ -8456,13 +8460,13 @@ msgstr ""
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
msgid "Filters By"
-msgstr ""
+msgstr "ترشيح بـ"
#. module: account
#: model:process.node,note:account.process_node_manually0
#: model:process.transition,name:account.process_transition_invoicemanually0
msgid "Manual entry"
-msgstr ""
+msgstr "قيد يدوي"
#. module: account
#: report:account.general.ledger:0
@@ -8470,7 +8474,7 @@ msgstr ""
#: field:account.move.line,move_id:0
#: field:analytic.entries.report,move_id:0
msgid "Move"
-msgstr ""
+msgstr "نقل"
#. module: account
#: code:addons/account/account_move_line.py:1128
@@ -8486,7 +8490,7 @@ msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.act_account_journal_2_account_bank_statement
msgid "Bank statements"
-msgstr ""
+msgstr "كشوف حساب البنك"
#. module: account
#: help:account.addtmpl.wizard,cparent_id:0
@@ -8497,7 +8501,7 @@ msgstr ""
#. module: account
#: selection:account.model.line,date_maturity:0
msgid "Date of the day"
-msgstr ""
+msgstr "تاريخ اليوم"
#. module: account
#: code:addons/account/wizard/account_move_bank_reconcile.py:49
@@ -8510,18 +8514,18 @@ msgstr ""
#. module: account
#: view:account.move.line.reconcile:0
msgid "Reconciliation transactions"
-msgstr ""
+msgstr "معاملات التسوية"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_common_menu
msgid "Common Report"
-msgstr ""
+msgstr "تقرير مشترك"
#. module: account
#: view:account.account:0
#: field:account.account,child_consol_ids:0
msgid "Consolidated Children"
-msgstr ""
+msgstr "فرعي موحد"
#. module: account
#: code:addons/account/wizard/account_fiscalyear_close.py:82
@@ -8536,7 +8540,7 @@ msgstr ""
#: model:process.transition,name:account.process_transition_paymentorderbank0
#: model:process.transition,name:account.process_transition_paymentreconcile0
msgid "Payment entries"
-msgstr ""
+msgstr "قيود المدفوعات"
#. module: account
#: selection:account.entries.report,month:0
@@ -8545,22 +8549,22 @@ msgstr ""
#: selection:report.account.sales,month:0
#: selection:report.account_type.sales,month:0
msgid "July"
-msgstr ""
+msgstr "يوليو/تموز"
#. module: account
#: view:account.account:0
msgid "Chart of accounts"
-msgstr ""
+msgstr "شجرة الحسابات"
#. module: account
#: field:account.subscription.line,subscription_id:0
msgid "Subscription"
-msgstr ""
+msgstr "الإشتراك"
#. module: account
#: model:ir.model,name:account.model_account_analytic_balance
msgid "Account Analytic Balance"
-msgstr ""
+msgstr "رصيد الحساب التحليلي"
#. module: account
#: report:account.account.balance:0
@@ -8578,7 +8582,7 @@ msgstr ""
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "End Period"
-msgstr ""
+msgstr "نهاية الفترة"
#. module: account
#: field:account.aged.trial.balance,chart_account_id:0
@@ -8597,22 +8601,22 @@ msgstr ""
#: field:account.report.general.ledger,chart_account_id:0
#: field:account.vat.declaration,chart_account_id:0
msgid "Chart of account"
-msgstr ""
+msgstr "شجرة الحساب"
#. module: account
#: field:account.move.line,date_maturity:0
msgid "Due date"
-msgstr ""
+msgstr "تاريخ الإستحقاق"
#. module: account
#: view:account.move.journal:0
msgid "Standard entries"
-msgstr ""
+msgstr "القيود المعيارية"
#. module: account
#: model:ir.model,name:account.model_account_subscription
msgid "Account Subscription"
-msgstr ""
+msgstr "إشتراك الحساب"
#. module: account
#: code:addons/account/invoice.py:717
@@ -8625,7 +8629,7 @@ msgstr ""
#. module: account
#: view:account.subscription:0
msgid "Entry Subscription"
-msgstr ""
+msgstr "إشتراك القيد"
#. module: account
#: report:account.account.balance:0
@@ -8655,30 +8659,30 @@ msgstr ""
#: report:account.third_party_ledger_other:0
#: field:account.vat.declaration,date_from:0
msgid "Start Date"
-msgstr ""
+msgstr "تاريخ البدء"
#. module: account
#: model:process.node,name:account.process_node_supplierdraftinvoices0
msgid "Draft Invoices"
-msgstr ""
+msgstr "فواتير مؤقتة"
#. module: account
#: selection:account.account.type,close_method:0
#: view:account.entries.report:0
#: view:account.move.line:0
msgid "Unreconciled"
-msgstr ""
+msgstr "غير مسوي"
#. module: account
#: code:addons/account/invoice.py:804
#, python-format
msgid "Bad total !"
-msgstr ""
+msgstr "إجمالي سئ!"
#. module: account
#: field:account.journal,sequence_id:0
msgid "Entry Sequence"
-msgstr ""
+msgstr "مسلسل القيد"
#. module: account
#: model:ir.actions.act_window,help:account.action_account_period_tree
@@ -8695,28 +8699,28 @@ msgstr ""
#. module: account
#: view:account.analytic.account:0
msgid "Pending"
-msgstr ""
+msgstr "معلّق"
#. module: account
#: model:process.transition,name:account.process_transition_analyticinvoice0
#: model:process.transition,name:account.process_transition_supplieranalyticcost0
msgid "From analytic accounts"
-msgstr ""
+msgstr "من الحسابات التحليلية"
#. module: account
#: field:account.installer.modules,account_payment:0
msgid "Suppliers Payment Management"
-msgstr ""
+msgstr "إدارة مدفوعات الموردين"
#. module: account
#: field:account.period,name:0
msgid "Period Name"
-msgstr ""
+msgstr "اسم الفترة"
#. module: account
#: report:account.analytic.account.quantity_cost_ledger:0
msgid "Code/Date"
-msgstr ""
+msgstr "رمز / تاريخ"
#. module: account
#: field:account.account,active:0
@@ -8725,13 +8729,13 @@ msgstr ""
#: field:account.payment.term,active:0
#: field:account.tax,active:0
msgid "Active"
-msgstr ""
+msgstr "نشِط"
#. module: account
#: code:addons/account/invoice.py:354
#, python-format
msgid "Unknown Error"
-msgstr ""
+msgstr "خطأ غير معروف"
#. module: account
#: code:addons/account/account.py:1167
@@ -8752,19 +8756,19 @@ msgstr ""
#. module: account
#: field:account.period,special:0
msgid "Opening/Closing Period"
-msgstr ""
+msgstr "فتح / إغلاق الفترة"
#. module: account
#: field:account.account,currency_id:0
#: field:account.account.template,currency_id:0
#: field:account.bank.accounts.wizard,currency_id:0
msgid "Secondary Currency"
-msgstr ""
+msgstr "عملة ثانية"
#. module: account
#: model:ir.model,name:account.model_validate_account_move
msgid "Validate Account Move"
-msgstr ""
+msgstr "التحقق من حركة الحساب"
#. module: account
#: field:account.account,credit:0
@@ -8789,7 +8793,7 @@ msgstr ""
#: report:account.vat.declaration:0
#: field:report.account.receivable,credit:0
msgid "Credit"
-msgstr ""
+msgstr "دائن"
#. module: account
#: help:account.invoice.refund,journal_id:0
@@ -8802,18 +8806,18 @@ msgstr ""
#. module: account
#: report:account.move.voucher:0
msgid "Through :"
-msgstr ""
+msgstr "خلال :"
#. module: account
#: view:account.general.journal:0
#: model:ir.ui.menu,name:account.menu_account_general_journal
msgid "General Journals"
-msgstr ""
+msgstr "اليوميات العامة"
#. module: account
#: view:account.model:0
msgid "Journal Entry Model"
-msgstr ""
+msgstr "نموذج قيد اليومية"
#. module: account
#: code:addons/account/wizard/account_use_model.py:44
@@ -8829,7 +8833,7 @@ msgstr ""
#: field:account.invoice,number:0
#: field:account.move,name:0
msgid "Number"
-msgstr ""
+msgstr "رقم"
#. module: account
#: report:account.analytic.account.journal:0
@@ -8837,7 +8841,7 @@ msgstr ""
#: selection:account.bank.statement.line,type:0
#: selection:account.journal,type:0
msgid "General"
-msgstr ""
+msgstr "عام"
#. module: account
#: selection:account.aged.trial.balance,filter:0
@@ -8880,12 +8884,12 @@ msgstr ""
#: model:ir.ui.menu,name:account.next_id_23
#, python-format
msgid "Periods"
-msgstr ""
+msgstr "فترات"
#. module: account
#: field:account.invoice.report,currency_rate:0
msgid "Currency Rate"
-msgstr ""
+msgstr "معدل العملة"
#. module: account
#: help:account.payment.term.line,value_amount:0
@@ -8899,12 +8903,12 @@ msgstr ""
#: selection:report.account.sales,month:0
#: selection:report.account_type.sales,month:0
msgid "April"
-msgstr ""
+msgstr "أبريل/ نيسان"
#. module: account
#: view:account.move.line.reconcile.select:0
msgid "Open for Reconciliation"
-msgstr ""
+msgstr "مفتوح للتسوية"
#. module: account
#: field:account.account,parent_left:0
@@ -8927,13 +8931,13 @@ msgstr ""
#. module: account
#: field:account.installer,sale_tax:0
msgid "Sale Tax(%)"
-msgstr ""
+msgstr "ضريبة المبيعات (%)"
#. module: account
#: model:ir.actions.act_window,name:account.action_invoice_tree2
#: model:ir.ui.menu,name:account.menu_action_invoice_tree2
msgid "Supplier Invoices"
-msgstr "فواتير الموردون"
+msgstr "فواتير الموردين"
#. module: account
#: view:account.analytic.line:0
@@ -8949,7 +8953,7 @@ msgstr "فواتير الموردون"
#: field:report.account.sales,product_id:0
#: field:report.account_type.sales,product_id:0
msgid "Product"
-msgstr ""
+msgstr "منتج"
#. module: account
#: model:ir.actions.act_window,help:account.action_validate_account_move
@@ -8962,17 +8966,17 @@ msgstr ""
#. module: account
#: report:account.tax.code.entries:0
msgid ")"
-msgstr ""
+msgstr ")"
#. module: account
#: model:ir.model,name:account.model_account_period
msgid "Account period"
-msgstr ""
+msgstr "فترة الحساب"
#. module: account
#: view:account.subscription:0
msgid "Remove Lines"
-msgstr ""
+msgstr "إزالة الخطوط"
#. module: account
#: view:account.report.general.ledger:0
@@ -8986,7 +8990,7 @@ msgstr ""
#: selection:account.account.template,type:0
#: selection:account.entries.report,type:0
msgid "Regular"
-msgstr ""
+msgstr "عادي"
#. module: account
#: view:account.account:0
@@ -8995,7 +8999,7 @@ msgstr ""
#: field:account.account.template,type:0
#: field:account.entries.report,type:0
msgid "Internal Type"
-msgstr ""
+msgstr "النوع الداخلي"
#. module: account
#: report:account.move.voucher:0
@@ -9005,14 +9009,14 @@ msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.action_subscription_form_running
msgid "Running Subscriptions"
-msgstr ""
+msgstr "إدارة الإشتراكات"
#. module: account
#: view:report.account.sales:0
#: view:report.account_type.sales:0
#: view:report.hr.timesheet.invoice.journal:0
msgid "This Month"
-msgstr ""
+msgstr "هذا الشهر"
#. module: account
#: view:account.analytic.Journal.report:0
@@ -9021,7 +9025,7 @@ msgstr ""
#: view:account.analytic.inverted.balance:0
#: model:ir.actions.act_window,name:account.action_account_partner_ledger
msgid "Select Period"
-msgstr ""
+msgstr "اختر فترة"
#. module: account
#: view:account.entries.report:0
@@ -9031,7 +9035,7 @@ msgstr ""
#: view:account.move.line:0
#: report:account.move.voucher:0
msgid "Posted"
-msgstr ""
+msgstr "مرحَلة"
#. module: account
#: report:account.account.balance:0
@@ -9060,24 +9064,24 @@ msgstr ""
#: report:account.third_party_ledger_other:0
#: field:account.vat.declaration,date_to:0
msgid "End Date"
-msgstr ""
+msgstr "تاريخ الإنتهاء"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_open_closed_fiscalyear
#: model:ir.ui.menu,name:account.menu_wizard_account_open_closed_fiscalyear
msgid "Cancel Opening Entries"
-msgstr ""
+msgstr "إلغاء القيود المفتوحة"
#. module: account
#: field:account.payment.term.line,days2:0
msgid "Day of the Month"
-msgstr ""
+msgstr "يوم من الشهر"
#. module: account
#: field:account.fiscal.position.tax,tax_src_id:0
#: field:account.fiscal.position.tax.template,tax_src_id:0
msgid "Tax Source"
-msgstr ""
+msgstr "مصدر الضريبة"
#. module: account
#: report:account.balancesheet:0
@@ -9085,23 +9089,23 @@ msgstr ""
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Net Profit"
-msgstr ""
+msgstr "صافي الربح"
#. module: account
#: view:ir.sequence:0
msgid "Fiscal Year Sequences"
-msgstr ""
+msgstr "مسلسل السنوات المالية"
#. module: account
#: help:account.model,name:0
msgid "This is a model for recurring accounting entries"
-msgstr ""
+msgstr "هذا نموذج لقيود حسابات تكرارية"
#. module: account
#: code:addons/account/account_analytic_line.py:100
#, python-format
msgid "There is no income account defined for this product: \"%s\" (id:%d)"
-msgstr ""
+msgstr "لا يوجد حساب دخل معرّف لهذا المنتج: \"%s\" (id:%d)"
#. module: account
#: report:account.general.ledger:0
@@ -9113,7 +9117,7 @@ msgstr ""
#. module: account
#: view:account.payment.term.line:0
msgid " value amount: 0.02"
-msgstr ""
+msgstr " قيمة المبلغ: 0.02"
#. module: account
#: view:account.fiscalyear:0
@@ -9135,13 +9139,13 @@ msgstr ""
#: field:report.account_type.sales,amount_total:0
#: field:report.invoice.created,amount_total:0
msgid "Total"
-msgstr ""
+msgstr "الإجمالي"
#. module: account
#: code:addons/account/wizard/account_move_journal.py:97
#, python-format
msgid "Journal: All"
-msgstr ""
+msgstr "اليومية: الكل"
#. module: account
#: field:account.account,company_id:0
@@ -9171,22 +9175,22 @@ msgstr ""
#: field:analytic.entries.report,company_id:0
#: field:wizard.multi.charts.accounts,company_id:0
msgid "Company"
-msgstr ""
+msgstr "شركة"
#. module: account
#: model:ir.ui.menu,name:account.menu_action_subscription_form
msgid "Define Recurring Entries"
-msgstr ""
+msgstr "تعريف قيود تكرارية"
#. module: account
#: field:account.entries.report,date_maturity:0
msgid "Date Maturity"
-msgstr ""
+msgstr "تاريخ الإستحقاق"
#. module: account
#: help:account.bank.statement,total_entry_encoding:0
msgid "Total cash transactions"
-msgstr ""
+msgstr "إجمالي معاملات النقدية"
#. module: account
#: help:account.partner.reconcile.process,today_reconciled:0
@@ -9199,7 +9203,7 @@ msgstr ""
#. module: account
#: view:account.fiscalyear:0
msgid "Create Monthly Periods"
-msgstr ""
+msgstr "إنشاء فترات شهرية"
#. module: account
#: field:account.tax.code.template,sign:0
@@ -9209,12 +9213,12 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_balance_report
msgid "Trial Balance Report"
-msgstr ""
+msgstr "تقرير ميزان المراجعة"
#. module: account
#: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree
msgid "Draft statements"
-msgstr ""
+msgstr "قوائم مؤقتة"
#. module: account
#: model:process.transition,note:account.process_transition_statemententries0
@@ -9225,7 +9229,7 @@ msgstr ""
#. module: account
#: view:account.invoice:0
msgid "Invoice lines"
-msgstr ""
+msgstr "سطور الفاتورة"
#. module: account
#: field:account.aged.trial.balance,period_to:0
@@ -9245,7 +9249,7 @@ msgstr ""
#: field:account.report.general.ledger,period_to:0
#: field:account.vat.declaration,period_to:0
msgid "End period"
-msgstr ""
+msgstr "نهاية الفترة"
#. module: account
#: code:addons/account/account_move_line.py:738
@@ -9258,7 +9262,7 @@ msgstr ""
#: code:addons/account/wizard/account_validate_account_move.py:61
#, python-format
msgid "Warning"
-msgstr ""
+msgstr "تحذير"
#. module: account
#: help:product.category,property_account_expense_categ:0
@@ -9271,7 +9275,7 @@ msgstr ""
#. module: account
#: report:account.move.voucher:0
msgid "On Account of :"
-msgstr ""
+msgstr "علي حساب الـ"
#. module: account
#: view:account.automatic.reconcile:0
@@ -9282,17 +9286,17 @@ msgstr "حركة الإعدام"
#. module: account
#: model:process.node,note:account.process_node_paidinvoice0
msgid "Invoice's state is Done"
-msgstr ""
+msgstr "حالة الفاتورة تمت"
#. module: account
#: model:ir.model,name:account.model_report_account_sales
msgid "Report of the Sales by Account"
-msgstr ""
+msgstr "تقرير المبيعات بالحساب"
#. module: account
#: model:ir.model,name:account.model_account_fiscal_position_account
msgid "Accounts Fiscal Position"
-msgstr ""
+msgstr "المركز السنوي للحسابات"
#. module: account
#: report:account.invoice:0
@@ -9302,7 +9306,7 @@ msgstr ""
#: model:process.process,name:account.process_process_supplierinvoiceprocess0
#: selection:report.invoice.created,type:0
msgid "Supplier Invoice"
-msgstr ""
+msgstr "فاتورة المورد"
#. module: account
#: field:account.account,debit:0
@@ -9327,12 +9331,12 @@ msgstr ""
#: report:account.vat.declaration:0
#: field:report.account.receivable,debit:0
msgid "Debit"
-msgstr ""
+msgstr "مدين"
#. module: account
#: field:account.invoice,invoice_line:0
msgid "Invoice Lines"
-msgstr ""
+msgstr "سطور الفاتورة"
#. module: account
#: constraint:account.account.template:0
@@ -9350,28 +9354,28 @@ msgstr ""
#. module: account
#: view:account.subscription:0
msgid "Recurring"
-msgstr ""
+msgstr "متكرّر"
#. module: account
#: code:addons/account/account_move_line.py:805
#, python-format
msgid "Entry is already reconciled"
-msgstr ""
+msgstr "قيد اليومية مسوي بالفعل"
#. module: account
#: model:ir.model,name:account.model_report_account_receivable
msgid "Receivable accounts"
-msgstr ""
+msgstr "حسابات مدينة"
#. module: account
#: selection:account.model.line,date_maturity:0
msgid "Partner Payment Term"
-msgstr ""
+msgstr "شروط السداد للشريك"
#. module: account
#: field:temp.range,name:0
msgid "Range"
-msgstr ""
+msgstr "مدى"
#. module: account
#: code:addons/account/account_move_line.py:1246
@@ -9400,22 +9404,22 @@ msgstr ""
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "With movements"
-msgstr ""
+msgstr "مع حركات"
#. module: account
#: view:account.analytic.account:0
msgid "Account Data"
-msgstr ""
+msgstr "بيانات الحساب"
#. module: account
#: view:account.tax.code.template:0
msgid "Account Tax Code Template"
-msgstr ""
+msgstr "قالب حساب رمز الضريبة"
#. module: account
#: model:process.node,name:account.process_node_manually0
msgid "Manually"
-msgstr ""
+msgstr "يدوي"
#. module: account
#: selection:account.entries.report,month:0
@@ -9424,13 +9428,13 @@ msgstr ""
#: selection:report.account.sales,month:0
#: selection:report.account_type.sales,month:0
msgid "December"
-msgstr ""
+msgstr "ديسمبر/ كانون الأول"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.account_analytic_journal_print
msgid "Print Analytic Journals"
-msgstr ""
+msgstr "طباعة اليوميات التحليلية"
#. module: account
#: view:account.analytic.line:0
@@ -9441,18 +9445,18 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_aged_receivable_graph
#: view:report.aged.receivable:0
msgid "Aged Receivable"
-msgstr ""
+msgstr "الدين المشكوك في تحصيله"
#. module: account
#: field:account.tax,applicable_type:0
msgid "Applicability"
-msgstr ""
+msgstr "تطابق"
#. module: account
#: code:addons/account/wizard/account_move_journal.py:165
#, python-format
msgid "This period is already closed !"
-msgstr ""
+msgstr "هذه الفترة مغلقة !"
#. module: account
#: help:account.move.line,currency_id:0
@@ -9468,12 +9472,12 @@ msgstr ""
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_periodical_processing_billing
msgid "Billing"
-msgstr ""
+msgstr "عمليات الفواتير"
#. module: account
#: view:account.account:0
msgid "Parent Account"
-msgstr ""
+msgstr "حساب رئيسي"
#. module: account
#: model:ir.actions.act_window,help:account.action_account_journal_form
@@ -9489,24 +9493,24 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_analytic_chart
msgid "Account Analytic Chart"
-msgstr ""
+msgstr "حساب مخطط تحليلي"
#. module: account
#: help:account.invoice,residual:0
msgid "Remaining amount due."
-msgstr ""
+msgstr "المبلغ المتبقي المستحق"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_statistic_report_statement
msgid "Statistic Reports"
-msgstr ""
+msgstr "تقارير إحصائية"
#. module: account
#: field:account.installer,progress:0
#: field:account.installer.modules,progress:0
#: field:wizard.multi.charts.accounts,progress:0
msgid "Configuration Progress"
-msgstr ""
+msgstr "سير الإعدادات"
#. module: account
#: view:account.fiscal.position.template:0
@@ -9517,7 +9521,7 @@ msgstr ""
#: code:addons/account/invoice.py:346
#, python-format
msgid "Invoice '%s' is waiting for validation."
-msgstr ""
+msgstr "الفاتورة '%s' منتظرة للتحقق."
#. module: account
#: selection:account.entries.report,month:0
@@ -9526,12 +9530,12 @@ msgstr ""
#: selection:report.account.sales,month:0
#: selection:report.account_type.sales,month:0
msgid "November"
-msgstr ""
+msgstr "نوفمبر/تشرين الثاني"
#. module: account
#: model:ir.model,name:account.model_account_installer_modules
msgid "account.installer.modules"
-msgstr ""
+msgstr "account.installer.modules"
#. module: account
#: help:account.invoice.line,account_id:0
@@ -9542,23 +9546,23 @@ msgstr ""
#: code:addons/account/account_move_line.py:1117
#, python-format
msgid "The date of your Journal Entry is not in the defined period!"
-msgstr ""
+msgstr "تاريخ قيد اليومية غير موجود بالفترة المعرفة!"
#. module: account
#: field:account.subscription,period_total:0
msgid "Number of Periods"
-msgstr ""
+msgstr "عدد الفترات"
#. module: account
#: report:account.general.journal:0
#: model:ir.actions.report.xml,name:account.account_general_journal
msgid "General Journal"
-msgstr ""
+msgstr "اليومية العامة"
#. module: account
#: view:account.invoice:0
msgid "Search Invoice"
-msgstr ""
+msgstr "بحث الفواتير"
#. module: account
#: report:account.invoice:0
@@ -9597,7 +9601,7 @@ msgstr "مستندات المحاسبة"
#. module: account
#: model:ir.model,name:account.model_validate_account_move_lines
msgid "Validate Account Move Lines"
-msgstr ""
+msgstr "خطوط التحقق من حركة الحساب"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_analytic_cost_ledger_journal
@@ -9857,10 +9861,6 @@ msgstr "خصوم"
#~ msgid "Move line select"
#~ msgstr "تحريك السطر المختار"
-#, python-format
-#~ msgid "The statement balance is incorrect !\n"
-#~ msgstr "رصيد الكشف خطأ\n"
-
#~ msgid "Balance:"
#~ msgstr "الرصيد:"
@@ -9870,3 +9870,10 @@ msgstr "خصوم"
#~ msgid "Balance Sheet (Assets Accounts)"
#~ msgstr "الميزانية العمومية (حسابات الأصول)"
+
+#, python-format
+#~ msgid "The statement balance is incorrect !\n"
+#~ msgstr "رصيد الكشف خاطئ !\n"
+
+#~ msgid "Chart of Account"
+#~ msgstr "شجرة الحساب"
diff --git a/addons/account/i18n/hr.po b/addons/account/i18n/hr.po
index 9ff165ef150..5f6c47d7d0b 100644
--- a/addons/account/i18n/hr.po
+++ b/addons/account/i18n/hr.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2011-11-07 12:52+0000\n"
+"PO-Revision-Date: 2011-12-08 15:12+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-08 05:45+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
msgid "System payment"
-msgstr "Poredak plaćanja"
+msgstr "System payment"
#. module: account
#: view:account.journal:0
@@ -39,12 +39,13 @@ msgid ""
"You cannot remove/deactivate an account which is set as a property to any "
"Partner."
msgstr ""
-"Ne možete obrisati/deaktivirati konto koji se koristi kao obilježje partnera."
+"Konto se koristi kao obilježje partnera, te se ne može brisati ili "
+"deaktivirati."
#. module: account
#: view:account.move.reconcile:0
msgid "Journal Entry Reconcile"
-msgstr "Zatvaranje stavke dnevnika"
+msgstr "Zatvaranje stavke dnevnika(IOS)"
#. module: account
#: field:account.installer.modules,account_voucher:0
@@ -69,7 +70,7 @@ msgstr "Ostatak"
#: code:addons/account/invoice.py:785
#, python-format
msgid "Please define sequence on invoice journal"
-msgstr "Definirajte brojač na dnevniku računa"
+msgstr "Definirajte brojčanu seriju na dnevniku računa"
#. module: account
#: constraint:account.period:0
@@ -126,6 +127,8 @@ msgid ""
"If you unreconciliate transactions, you must also verify all the actions "
"that are linked to those transactions because they will not be disabled"
msgstr ""
+"Ako otvarate stavke, morate provjeriti/provesti i sve ostale vezane akcije i "
+"stanja."
#. module: account
#: report:account.tax.code.entries:0
@@ -152,7 +155,7 @@ msgstr "Izvor"
#: view:account.move.line.reconcile:0
#: view:account.move.line.reconcile.writeoff:0
msgid "Reconcile"
-msgstr "Zatvaranje"
+msgstr "Zatvaranje IOS-a"
#. module: account
#: field:account.bank.statement.line,ref:0
@@ -216,8 +219,8 @@ msgid ""
"invoice) to create analytic entries, OpenERP will look for a matching "
"journal of the same type."
msgstr ""
-"Tip analitičkog dnevnika. Kada je potrebno kreirati analitičke stavke "
-"koristit će se dnevnik odgovarajućeg tipa."
+"Tip analitičkog dnevnika. Kod kreiranja analitičkih knjiženja koristi se "
+"ovdje definirani analitički dnevnik odgovarajućeg tipa."
#. module: account
#: model:ir.actions.act_window,name:account.action_account_tax_template_form
@@ -269,12 +272,12 @@ msgstr "Račun '%s' je djelomično plaćen: %s%s od %s%s (%s%s preostalo)"
#. module: account
#: model:process.transition,note:account.process_transition_supplierentriesreconcile0
msgid "Accounting entries are an input of the reconciliation."
-msgstr ""
+msgstr "Accounting entries are an input of the reconciliation."
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_management_belgian_reports
msgid "Belgian Reports"
-msgstr ""
+msgstr "Belgian Reports"
#. module: account
#: code:addons/account/account_move_line.py:1176
@@ -307,7 +310,7 @@ msgstr "Dozvoli otpis"
#. module: account
#: view:account.analytic.chart:0
msgid "Select the Period for Analysis"
-msgstr "Odaberite period analize"
+msgstr "Odaberite razdoblje analize"
#. module: account
#: view:account.move.line:0
@@ -318,7 +321,7 @@ msgstr "St."
#: code:addons/account/invoice.py:529
#, python-format
msgid "Invoice line account company does not match with invoice company."
-msgstr "Konto na retku računa ne pripada tvrtci sa zaglavlja računa."
+msgstr "Konto na stavci računa ne pripada organizaciji sa zaglavlja računa."
#. module: account
#: field:account.journal.column,field:0
@@ -330,7 +333,8 @@ msgstr "Naziv polja"
msgid ""
"Installs localized accounting charts to match as closely as possible the "
"accounting needs of your company based on your country."
-msgstr "Instalira lokalizirani kontni plan prema potrebama vaše kompanije."
+msgstr ""
+"Instalira lokalizirani kontni plan prema potrebama vaše organizacije."
#. module: account
#: code:addons/account/wizard/account_move_journal.py:63
@@ -341,17 +345,21 @@ msgid ""
"You can create one in the menu: \n"
"Configuration/Financial Accounting/Accounts/Journals."
msgstr ""
+"Can't find any account journal of %s type for this company.\n"
+"\n"
+"You can create one in the menu: \n"
+"Configuration/Financial Accounting/Accounts/Journals."
#. module: account
#: model:ir.model,name:account.model_account_unreconcile
msgid "Account Unreconcile"
-msgstr ""
+msgstr "Account Unreconcile"
#. module: account
#: view:product.product:0
#: view:product.template:0
msgid "Purchase Properties"
-msgstr "Nabava"
+msgstr "Svojstva nabave"
#. module: account
#: view:account.installer:0
@@ -375,11 +383,14 @@ msgid ""
"OpenERP. Journal items are created by OpenERP if you use Bank Statements, "
"Cash Registers, or Customer/Supplier payments."
msgstr ""
+"This view is used by accountants in order to record entries massively in "
+"OpenERP. Journal items are created by OpenERP if you use Bank Statements, "
+"Cash Registers, or Customer/Supplier payments."
#. module: account
#: model:ir.model,name:account.model_account_tax_template
msgid "account.tax.template"
-msgstr "account.tax.template"
+msgstr "račun.porez.predložak"
#. module: account
#: model:ir.model,name:account.model_account_bank_accounts_wizard
@@ -395,7 +406,7 @@ msgstr "Datum kreiranja"
#. module: account
#: selection:account.journal,type:0
msgid "Purchase Refund"
-msgstr "Povrat nabave"
+msgstr "Odobrenja nabave"
#. module: account
#: selection:account.journal,type:0
@@ -418,6 +429,8 @@ msgid ""
"This field contains the informatin related to the numbering of the journal "
"entries of this journal."
msgstr ""
+"Brojčana serija koja će se koristiti za odbrojavanje dokumenata ovog "
+"dnevnika."
#. module: account
#: field:account.journal,default_debit_account_id:0
@@ -437,7 +450,7 @@ msgstr "Pozitivan"
#. module: account
#: view:account.move.line.unreconcile.select:0
msgid "Open For Unreconciliation"
-msgstr "Otvoreno za otvaranje"
+msgstr "Otvori za otvaranje IOS-a"
#. module: account
#: field:account.fiscal.position.template,chart_template_id:0
@@ -449,7 +462,7 @@ msgstr "Predložak kontnog plana"
#. module: account
#: help:account.model.line,amount_currency:0
msgid "The amount expressed in an optional other currency."
-msgstr "Iznos je predstavljen opciono u drugoj valuti"
+msgstr "Iznos u drugoj valuti"
#. module: account
#: help:account.journal.period,state:0
@@ -458,6 +471,9 @@ msgid ""
"it comes to 'Printed' state. When all transactions are done, it comes in "
"'Done' state."
msgstr ""
+"When journal period is created. The state is 'Draft'. If a report is printed "
+"it comes to 'Printed' state. When all transactions are done, it comes in "
+"'Done' state."
#. module: account
#: model:ir.actions.act_window,help:account.action_account_tax_chart
@@ -467,6 +483,10 @@ msgid ""
"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."
msgstr ""
+"Stablo poreza prikazuje strukturu poreznih grupa sa vrijednostima osnovica i "
+"poreza. Jedno stablo sadrži strukturu osnovica i poreza za prijavu PDV-a, a "
+"druga možete prilagođavati vašim potrebama i prikazivati druge poreze, "
+"trošarine ili npr. ugovorene provizije prodavačima."
#. module: account
#: view:account.analytic.line:0
@@ -503,7 +523,7 @@ msgstr "Dnevnik"
#. module: account
#: model:ir.model,name:account.model_account_invoice_confirm
msgid "Confirm the selected invoices"
-msgstr "Potvrda odabranih računa"
+msgstr "Potvrdi odabrane račune"
#. module: account
#: field:account.addtmpl.wizard,cparent_id:0
@@ -542,12 +562,12 @@ msgstr "Porezi nabave"
#. module: account
#: model:ir.model,name:account.model_account_invoice_refund
msgid "Invoice Refund"
-msgstr "Povrat računa"
+msgstr "Računi odobrenja"
#. module: account
#: report:account.overdue:0
msgid "Li."
-msgstr ""
+msgstr "Li."
#. module: account
#: field:account.automatic.reconcile,unreconciled:0
@@ -616,7 +636,7 @@ msgstr " 30 Dana "
#. module: account
#: field:ir.sequence,fiscal_ids:0
msgid "Sequences"
-msgstr "Sekvence"
+msgstr "Brojčane serije"
#. module: account
#: view:account.fiscal.position.template:0
@@ -626,17 +646,17 @@ msgstr "Mapiranje poreza"
#. module: account
#: report:account.central.journal:0
msgid "Centralized Journal"
-msgstr ""
+msgstr "Centralized Journal"
#. module: account
#: sql_constraint:account.sequence.fiscalyear:0
msgid "Main Sequence must be different from current !"
-msgstr ""
+msgstr "Glavna serija mora biti različita od trenutne !"
#. module: account
#: field:account.invoice.tax,tax_amount:0
msgid "Tax Code Amount"
-msgstr "Iznos poreza"
+msgstr "Iznos porezne grupe"
#. module: account
#: code:addons/account/account.py:2779
@@ -648,18 +668,18 @@ msgstr "IRA"
#. module: account
#: help:account.bank.statement,balance_end_real:0
msgid "closing balance entered by the cashbox verifier"
-msgstr ""
+msgstr "closing balance entered by the cashbox verifier"
#. module: account
#: view:account.period:0
#: view:account.period.close:0
msgid "Close Period"
-msgstr "Zatvori period"
+msgstr "Zatvori razdoblje"
#. module: account
#: model:ir.model,name:account.model_account_common_partner_report
msgid "Account Common Partner Report"
-msgstr ""
+msgstr "Račun Zajednički Partner Izvješće"
#. module: account
#: field:account.fiscalyear.close,period_id:0
@@ -676,7 +696,7 @@ msgstr "Period dnevnika"
#: code:addons/account/account_move_line.py:776
#, python-format
msgid "To reconcile the entries company should be the same for all entries"
-msgstr "Sve stavke zatvaranja moraju biti iz iste trvtke"
+msgstr "Sve stavke zatvaranja moraju biti iz iste organizacije"
#. module: account
#: view:account.account:0
@@ -713,7 +733,7 @@ msgstr "Čekovi"
#. module: account
#: field:account.partner.reconcile.process,today_reconciled:0
msgid "Partners Reconciled Today"
-msgstr "Danas zatvoreni partneri"
+msgstr "Danas zatvoreni partneri (IOS-i)"
#. module: account
#: selection:account.payment.term.line,value:0
@@ -737,7 +757,7 @@ msgstr "Analitičke stavke"
#: code:addons/account/wizard/account_change_currency.py:39
#, python-format
msgid "You can only change currency for Draft Invoice !"
-msgstr ""
+msgstr "Valuta se može mijenjati samo na računima u stanju 'Nacrt'!"
#. module: account
#: view:account.analytic.journal:0
@@ -751,7 +771,7 @@ msgstr ""
#: field:account.move.reconcile,type:0
#: field:report.invoice.created,type:0
msgid "Type"
-msgstr "Tip"
+msgstr "Vrsta"
#. module: account
#: model:ir.model,name:account.model_account_subscription_line
@@ -761,7 +781,7 @@ msgstr "Retci knjiženja pretplate"
#. module: account
#: help:account.invoice,reference:0
msgid "The partner reference of this invoice."
-msgstr "Vezna oznaka partnera za ovaj račun(poziv na broj)."
+msgstr "Poziv na broj."
#. module: account
#: view:account.move.line.unreconcile.select:0
@@ -769,7 +789,7 @@ msgstr "Vezna oznaka partnera za ovaj račun(poziv na broj)."
#: view:account.unreconcile.reconcile:0
#: model:ir.model,name:account.model_account_move_line_unreconcile_select
msgid "Unreconciliation"
-msgstr "Poništavanje zatvaranja"
+msgstr "Poništavanje zatvaranja IOS-a"
#. module: account
#: model:ir.model,name:account.model_account_analytic_Journal_report
@@ -789,7 +809,7 @@ msgstr "Izračun valute plaćanja"
#. module: account
#: report:account.analytic.account.quantity_cost_ledger:0
msgid "J.C./Move name"
-msgstr ""
+msgstr "J.C./Move name"
#. module: account
#: selection:account.entries.report,month:0
@@ -809,7 +829,7 @@ msgstr "dana"
#: help:account.account.template,nocreate:0
msgid ""
"If checked, the new chart of accounts will not contain this by default."
-msgstr ""
+msgstr "Ako je označeno, novi računski plan neće sadržavati ove po defaultu."
#. module: account
#: code:addons/account/wizard/account_invoice_refund.py:102
@@ -908,12 +928,12 @@ msgstr "Prošireni filtri..."
#. module: account
#: model:ir.ui.menu,name:account.menu_account_central_journal
msgid "Centralizing Journal"
-msgstr ""
+msgstr "Centralizirani dnevnik"
#. module: account
#: selection:account.journal,type:0
msgid "Sale Refund"
-msgstr "Povrat prodaje"
+msgstr "Odobrenje kupcu"
#. module: account
#: model:process.node,note:account.process_node_accountingstatemententries0
@@ -936,7 +956,7 @@ msgstr "Porez ili osnovica poreza ovisno o poreznoj grupi."
#. module: account
#: view:account.analytic.line:0
msgid "Purchases"
-msgstr "Nabave"
+msgstr "Nabava"
#. module: account
#: field:account.model,lines_id:0
@@ -1001,7 +1021,7 @@ msgstr "Tjedan"
#: field:account.pl.report,display_type:0
#: field:account.report.general.ledger,landscape:0
msgid "Landscape Mode"
-msgstr "Prosireni način"
+msgstr "Položeno (Landscape)"
#. module: account
#: view:board.board:0
@@ -1020,6 +1040,8 @@ msgid ""
"These types are defined according to your country. The type contains more "
"information about the account and its specificities."
msgstr ""
+"These types are defined according to your country. The type contains more "
+"information about the account and its specificities."
#. module: account
#: view:account.tax:0
@@ -1079,7 +1101,7 @@ msgstr "Potvrdi izvod"
#: field:account.fiscal.position.tax,tax_dest_id:0
#: field:account.fiscal.position.tax.template,tax_dest_id:0
msgid "Replacement Tax"
-msgstr "Promenljiv porez"
+msgstr "Zamjenski porez"
#. module: account
#: selection:account.move.line,centralisation:0
@@ -1094,11 +1116,15 @@ msgid ""
"purchase orders or receipts. This way, you can control the invoice from your "
"supplier according to what you purchased or received."
msgstr ""
+"With Supplier Invoices you can enter and manage invoices issued by your "
+"suppliers. OpenERP can also generate draft invoices automatically from "
+"purchase orders or receipts. This way, you can control the invoice from your "
+"supplier according to what you purchased or received."
#. module: account
#: view:account.invoice.cancel:0
msgid "Cancel Invoices"
-msgstr ""
+msgstr "Otkaži račune"
#. module: account
#: view:account.unreconcile.reconcile:0
@@ -1111,7 +1137,7 @@ msgstr "Transakcije poništavanja zatvaranja"
#: field:account.tax.template,tax_code_id:0
#: model:ir.model,name:account.model_account_tax_code
msgid "Tax Code"
-msgstr "Šifra poreza"
+msgstr "Porezna grupa"
#. module: account
#: field:account.account,currency_mode:0
@@ -1126,7 +1152,7 @@ msgstr "Temeljnica"
#. module: account
#: field:account.move.line.reconcile,trans_nbr:0
msgid "# of Transaction"
-msgstr "Broj transakcija"
+msgstr "# transakcija"
#. module: account
#: report:account.general.ledger:0
@@ -1147,7 +1173,7 @@ msgstr "Ne možete mjenjati/brisati dnevnike sa stavkama za ovo razdoblje!"
#: help:account.invoice,origin:0
#: help:account.invoice.line,origin:0
msgid "Reference of the document that produced this invoice."
-msgstr "Vezna oznaka dokumenta koji je stvorio ovaj račun."
+msgstr "Oznaka izvornog dokumenta koji je kreirao ovaj račun."
#. module: account
#: view:account.analytic.line:0
@@ -1185,7 +1211,7 @@ msgstr "Konto"
#. module: account
#: field:account.tax,include_base_amount:0
msgid "Included in base amount"
-msgstr "Uključeno u iznos osnovice"
+msgstr "Uključeno u osnovicu"
#. module: account
#: view:account.entries.report:0
@@ -1257,7 +1283,7 @@ msgstr "Početni saldo"
#. module: account
#: view:account.invoice:0
msgid "Reset to Draft"
-msgstr "Vrati u pripremu"
+msgstr "Vrati u nacrt"
#. module: account
#: view:wizard.multi.charts.accounts:0
@@ -1309,7 +1335,7 @@ msgstr "Glavni dnevnik"
#: code:addons/account/account_move_line.py:1271
#, python-format
msgid "You can not use this general account in this journal !"
-msgstr "Ne možete koristiti odabrani opći konto u ovon dnevniku!"
+msgstr "Ne možete koristiti odabrani opći konto u ovom dnevniku!"
#. module: account
#: selection:account.balance.report,display_account:0
@@ -1339,7 +1365,7 @@ msgstr "Traži poreze"
#. module: account
#: model:ir.model,name:account.model_account_analytic_cost_ledger
msgid "Account Analytic Cost Ledger"
-msgstr ""
+msgstr "Account Analytic Cost Ledger"
#. module: account
#: view:account.model:0
@@ -1359,7 +1385,7 @@ msgstr "Maksimalni iznos otpisa"
#. module: account
#: view:account.invoice:0
msgid "Compute Taxes"
-msgstr "Izračunaj poreze"
+msgstr "Iz_računaj poreze"
#. module: account
#: field:wizard.multi.charts.accounts,code_digits:0
@@ -1369,7 +1395,7 @@ msgstr "Broj znamenki"
#. module: account
#: field:account.journal,entry_posted:0
msgid "Skip 'Draft' State for Manual Entries"
-msgstr "Preskoči stanje 'Priprema' za ručni upis"
+msgstr "Preskoči stanje 'Nacrt' za ručni upis"
#. module: account
#: view:account.invoice.report:0
@@ -1385,6 +1411,9 @@ msgid ""
"entry per accounting document: invoice, refund, supplier payment, bank "
"statements, etc."
msgstr ""
+"Temeljnica sadrži više knjigovodstvenih stavaka od kojih je svaka dugovna "
+"ili potražna transakcija. OpenERP automatski kreira jednu temeljnicu za "
+"jedan knjigovodstveni dokument: račun, plaćanje, izvod, itd."
#. module: account
#: view:account.entries.report:0
@@ -1406,7 +1435,7 @@ msgstr "Povrat dobavljaču"
#: view:account.payment.term.line:0
msgid ""
"Example: at 14 net days 2 percents, remaining amount at 30 days end of month."
-msgstr ""
+msgstr "Primjer: za 14 dana 2%, ostatak za 30 dana ili do kraja mjeseca."
#. module: account
#: code:addons/account/invoice.py:815
@@ -1416,6 +1445,8 @@ msgid ""
"The payment term defined gives a computed amount greater than the total "
"invoiced amount."
msgstr ""
+"Račun nije kreiran !\n"
+"Uvjeti plaćanja daju iznos veći od ukupnog iznosa računa."
#. module: account
#: field:account.installer.modules,account_anglo_saxon:0
@@ -1477,7 +1508,7 @@ msgstr "Grupe"
#: field:account.invoice,amount_untaxed:0
#: field:report.invoice.created,amount_untaxed:0
msgid "Untaxed"
-msgstr "Bez poreza"
+msgstr "Osnovica"
#. module: account
#: view:account.partner.reconcile.process:0
@@ -1494,6 +1525,8 @@ msgstr "Traži izvode banke"
msgid ""
"Wrong credit or debit value in model (Credit + Debit Must Be greater \"0\")!"
msgstr ""
+"Pogrešno kreditna ili debitna vrijednost u modelu (Kreditna + debitna mora "
+"biti veći \"0 \")!"
#. module: account
#: view:account.chart.template:0
@@ -1505,7 +1538,7 @@ msgstr "Konto obveza"
#: field:account.tax,account_paid_id:0
#: field:account.tax.template,account_paid_id:0
msgid "Refund Tax Account"
-msgstr "Konto povrata poreza"
+msgstr "Konto poreza za odobrenja"
#. module: account
#: view:account.bank.statement:0
@@ -1523,6 +1556,12 @@ msgid ""
"the Payment column of a line, you can press F1 to open the reconciliation "
"form."
msgstr ""
+"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."
#. module: account
#: report:account.analytic.account.cost_ledger:0
@@ -1565,7 +1604,7 @@ msgstr "Brojač fiskalne godine"
#. module: account
#: field:wizard.multi.charts.accounts,seq_journal:0
msgid "Separated Journal Sequences"
-msgstr "Odvojene sekvence dnevnika"
+msgstr "Odvojeni brojači dnevnika"
#. module: account
#: field:account.bank.statement,user_id:0
@@ -1589,6 +1628,8 @@ msgid ""
"Cancel Invoice: Creates the refund invoice, validate and reconcile it to "
"cancel the current invoice."
msgstr ""
+"Storniraj račun: Kreira storno računa, potvrđuje ga i zatvara sa ovim "
+"računom."
#. module: account
#: model:ir.ui.menu,name:account.periodical_processing_invoicing
@@ -1598,7 +1639,7 @@ msgstr "Fakturiranje"
#. module: account
#: field:account.chart.template,tax_code_root_id:0
msgid "Root Tax Code"
-msgstr "Šifra korijenskog poreza"
+msgstr "Korijenska porezna grupa"
#. module: account
#: field:account.partner.ledger,initial_balance:0
@@ -1619,7 +1660,7 @@ msgstr "Ispiši potvrdu"
#. module: account
#: view:account.change.currency:0
msgid "This wizard will change the currency of the invoice"
-msgstr "Čarobnjak za promjenu valute računa"
+msgstr "Asistent za promjenu valute računa"
#. module: account
#: model:ir.actions.act_window,help:account.action_account_chart
@@ -1628,6 +1669,8 @@ msgid ""
"Have a complete tree view of all journal items per account code by clicking "
"on an account."
msgstr ""
+"Prikaži kontni plan poduzeća za fiskalnu godinu sa filterom razdoblja. "
+"Mogućnost podpregleda stavaka temeljnice po broju konta, kliknuti na konto."
#. module: account
#: constraint:account.fiscalyear:0
@@ -1638,7 +1681,7 @@ msgstr "Greška! Fiskalne godine se ne smiju preklapati"
#: code:addons/account/account_move_line.py:808
#, python-format
msgid "The account is not defined to be reconciled !"
-msgstr ""
+msgstr "Nije zadano zatvaranje IOS-a na ovom kontu !"
#. module: account
#: field:account.cashbox.line,pieces:0
@@ -1651,6 +1694,8 @@ msgid ""
"If the active field is set to False, it will allow you to hide the journal "
"period without removing it."
msgstr ""
+"If the active field is set to False, it will allow you to hide the journal "
+"period without removing it."
#. module: account
#: view:res.partner:0
@@ -1660,7 +1705,7 @@ msgstr "Dugovanje dobavljaču"
#. module: account
#: help:account.model.line,quantity:0
msgid "The optional quantity on entries"
-msgstr ""
+msgstr "The optional quantity on entries"
#. module: account
#: model:ir.actions.act_window,name:account.act_account_partner_account_move_all
@@ -1676,7 +1721,7 @@ msgstr "Morate navesti konto za stavku otpisa!"
#. module: account
#: model:ir.model,name:account.model_account_common_journal_report
msgid "Account Common Journal Report"
-msgstr ""
+msgstr "Izvješče konta opće temeljnice"
#. module: account
#: selection:account.partner.balance,display_partner:0
@@ -1722,13 +1767,13 @@ msgstr "Izvod u pripremi"
#. module: account
#: view:account.tax:0
msgid "Tax Declaration: Credit Notes"
-msgstr ""
+msgstr "Porezna prijava: Odobrenja"
#. module: account
#: code:addons/account/account.py:499
#, python-format
msgid "You cannot deactivate an account that contains account moves."
-msgstr ""
+msgstr "Ne možete deaktivirati račun koji sadrži stavke prometa."
#. module: account
#: field:account.move.line.reconcile,credit:0
@@ -1738,7 +1783,7 @@ msgstr "Potražni iznos"
#. module: account
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
-msgstr ""
+msgstr "Ne možete kreirati stavke prometa za zatvoreni račun."
#. module: account
#: code:addons/account/account.py:519
@@ -1747,6 +1792,8 @@ msgid ""
"You cannot change the type of account from 'Closed' to any other type which "
"contains account entries!"
msgstr ""
+"You cannot change the type of account from 'Closed' to any other type which "
+"contains account entries!"
#. module: account
#: view:res.company:0
@@ -1756,14 +1803,14 @@ msgstr "Konto dobiti/gubitka i rezerve"
#. module: account
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
-msgstr ""
+msgstr "Pogrešno kreditna ili debitnom vrijednost unešene stavke!"
#. module: account
#: view:account.invoice.report:0
#: model:ir.actions.act_window,name:account.action_account_invoice_report_all
#: model:ir.ui.menu,name:account.menu_action_account_invoice_report_all
msgid "Invoices Analysis"
-msgstr "analiza računa"
+msgstr "Analiza računa"
#. module: account
#: model:ir.model,name:account.model_account_period_close
@@ -1783,7 +1830,7 @@ msgstr "Stavke"
#. module: account
#: report:account.tax.code.entries:0
msgid "A/c Code"
-msgstr ""
+msgstr "A/c Code"
#. module: account
#: field:account.invoice,move_id:0
@@ -1794,7 +1841,7 @@ msgstr "Temeljnica"
#. module: account
#: view:account.tax:0
msgid "Tax Declaration: Invoices"
-msgstr "Porezna prijava"
+msgstr "Porezne grupe računa"
#. module: account
#: field:account.cashbox.line,subtotal:0
@@ -1809,7 +1856,7 @@ msgstr "Analiza blagajne"
#. module: account
#: constraint:res.company:0
msgid "Error! You can not create recursive companies."
-msgstr "Greška! Ne možete stvoriti rekurzivne tvrtke."
+msgstr "Pogreška! Ne možete kreirati rekurzivne organizacije."
#. module: account
#: view:account.analytic.account:0
@@ -1858,7 +1905,7 @@ msgstr "Završni saldo na temelju početnog stanja i transakcija"
#: model:process.node,note:account.process_node_reconciliation0
#: model:process.node,note:account.process_node_supplierreconciliation0
msgid "Comparison between accounting and payment entries"
-msgstr "Usporedba Cesti Cesti između knjiženja i plaćanja"
+msgstr "Usporedba stavki knjiženja i plaćanja"
#. module: account
#: view:account.tax:0
@@ -1882,6 +1929,8 @@ msgid ""
"It adds the currency column if the currency is different then the company "
"currency"
msgstr ""
+"It adds the currency column if the currency is different then the company "
+"currency"
#. module: account
#: help:account.journal,allow_date:0
@@ -1911,7 +1960,7 @@ msgstr "Otkazan"
#: view:account.invoice:0
#: view:report.invoice.created:0
msgid "Untaxed Amount"
-msgstr "Iznos bez poreza"
+msgstr "Osnovica"
#. module: account
#: help:account.tax,active:0
@@ -1927,13 +1976,16 @@ msgid ""
"be with same name as statement name. This allows the statement entries to "
"have the same references than the statement itself"
msgstr ""
+"if you give the Name other then /, its created Accounting Entries Move will "
+"be with same name as statement name. This allows the statement entries to "
+"have the same references than the statement itself"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_unreconcile
#: model:ir.actions.act_window,name:account.action_account_unreconcile_reconcile
#: model:ir.actions.act_window,name:account.action_account_unreconcile_select
msgid "Unreconcile Entries"
-msgstr "Poništi zatvaranje stavki"
+msgstr "Otvori stavke"
#. module: account
#: field:account.move.reconcile,line_partial_ids:0
@@ -1949,7 +2001,7 @@ msgstr "Fiskalna godina"
#: view:account.journal.select:0
#: view:project.account.analytic.line:0
msgid "Open Entries"
-msgstr "Otvori stavke"
+msgstr "Prikaži stavke"
#. module: account
#: field:account.automatic.reconcile,account_ids:0
@@ -1996,6 +2048,8 @@ msgid ""
"Invalid period ! Some periods overlap or the date period is not in the scope "
"of the fiscal year. "
msgstr ""
+"Neispravano razdoblje! Neki od razdoblja se preklapaju ili datum razdoblja "
+"nije u okviru fiskalne godine. "
#. module: account
#: selection:account.invoice,state:0
@@ -2018,8 +2072,8 @@ msgid ""
"There is no default default debit account defined \n"
"on journal \"%s\""
msgstr ""
-"Nije definiran zadani dugovni konto \n"
-"za dnevnikl \"%s\""
+"Nije definiran uobičajeni dugovni konto \n"
+"za dnevnik \"%s\""
#. module: account
#: help:account.account,type:0
@@ -2032,10 +2086,15 @@ msgid ""
"partners accounts (for debit/credit computations), closed for depreciated "
"accounts."
msgstr ""
+"This type is used to differentiate types with special effects in OpenERP: "
+"view can not have entries, consolidation are accounts that can have children "
+"accounts for multi-company consolidations, payable/receivable are for "
+"partners accounts (for debit/credit computations), closed for depreciated "
+"accounts."
#. module: account
#: view:account.chart.template:0
-msgid "Search Chart of Accounts Templates"
+msgid "Search Chart of Account Templates"
msgstr "Traži predloške kontnog plana"
#. module: account
@@ -2045,6 +2104,9 @@ msgid ""
"certified Chart of Accounts exists for your specified country, a generic one "
"can be installed and will be selected by default."
msgstr ""
+"The default Chart of Accounts is matching your country selection. If no "
+"certified Chart of Accounts exists for your specified country, a generic one "
+"can be installed and will be selected by default."
#. module: account
#: view:account.account.type:0
@@ -2070,7 +2132,7 @@ msgstr "Opis"
#: code:addons/account/installer.py:498
#, python-format
msgid "ECNJ"
-msgstr ""
+msgstr "ECNJ"
#. module: account
#: view:account.subscription:0
@@ -2089,7 +2151,7 @@ msgstr "Konto prihoda"
#: code:addons/account/invoice.py:352
#, python-format
msgid "There is no Accounting Journal of type Sale/Purchase defined!"
-msgstr ""
+msgstr "Nije definiran dnevnik tipa Prodaja/Nabava!"
#. module: account
#: view:product.category:0
@@ -2102,7 +2164,7 @@ msgstr "Računovodstveni podaci"
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
msgid "Entries Sorted By"
-msgstr "Stavke poredane po"
+msgstr "Entries Sorted By"
#. module: account
#: field:account.change.currency,currency_id:0
@@ -2112,7 +2174,7 @@ msgstr "Promjeni u"
#. module: account
#: view:account.entries.report:0
msgid "# of Products Qty "
-msgstr ""
+msgstr "# količine proizvoda "
#. module: account
#: model:ir.model,name:account.model_product_template
@@ -2166,12 +2228,12 @@ msgstr "Ostavite prazno za sve otvorene fiskalne godine"
#. module: account
#: model:ir.model,name:account.model_account_move
msgid "Account Entry"
-msgstr "Stavka knjiženja"
+msgstr "Temeljnica"
#. module: account
#: field:account.sequence.fiscalyear,sequence_main_id:0
msgid "Main Sequence"
-msgstr "Glavna sekvenca"
+msgstr "Glavna br. serija"
#. module: account
#: field:account.invoice,payment_term:0
@@ -2220,7 +2282,7 @@ msgstr "Otvoreno"
#: model:process.node,note:account.process_node_draftinvoices0
#: model:process.node,note:account.process_node_supplierdraftinvoices0
msgid "Draft state of an invoice"
-msgstr "Stanje računa 'U pripremi'"
+msgstr "Stanje računa 'Nacrt'"
#. module: account
#: help:account.account,reconcile:0
@@ -2238,7 +2300,7 @@ msgstr "Zatvaranje salda konti"
#: field:account.tax,tax_code_id:0
#: view:account.tax.code:0
msgid "Account Tax Code"
-msgstr "Šifra PDV obrasca"
+msgstr "Porezna grupa za porez"
#. module: account
#: code:addons/account/invoice.py:545
@@ -2249,12 +2311,16 @@ msgid ""
"You can create one in the menu: \n"
"Configuration\\Financial Accounting\\Accounts\\Journals."
msgstr ""
+"Can't find any account journal of %s type for this company.\n"
+"\n"
+"You can create one in the menu: \n"
+"Configuration\\Financial Accounting\\Accounts\\Journals."
#. module: account
#: field:account.invoice.tax,base_code_id:0
#: field:account.tax.template,base_code_id:0
msgid "Base Code"
-msgstr "Osnovna Šifra"
+msgstr "Grupa osnovice"
#. module: account
#: help:account.invoice.tax,sequence:0
@@ -2267,7 +2333,7 @@ msgstr "Određuje poredak u popisu poreza na računu."
#: field:account.tax.template,base_sign:0
#: field:account.tax.template,ref_base_sign:0
msgid "Base Code Sign"
-msgstr "Predznak šifre osnovice"
+msgstr "Koef. osnovice"
#. module: account
#: view:account.vat.declaration:0
@@ -2279,6 +2345,12 @@ msgid ""
"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."
msgstr ""
+"This menu prints a VAT declaration based on invoices or payments. Select one "
+"or several periods of the fiscal year. The 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."
#. module: account
#: selection:account.move.line,centralisation:0
@@ -2289,7 +2361,7 @@ msgstr "Centralizacija Dugovanja"
#: view:account.invoice.confirm:0
#: model:ir.actions.act_window,name:account.action_account_invoice_confirm
msgid "Confirm Draft Invoices"
-msgstr "Porvrdite pripremljene račune"
+msgstr "Potvrdi nacrte račune"
#. module: account
#: field:account.entries.report,day:0
@@ -2356,18 +2428,21 @@ msgstr "Opis knjiženja"
msgid ""
"The fiscal position will determine taxes and the accounts used for the "
"partner."
-msgstr "Fiskalna pozicija određuje poreze i konta za partnera."
+msgstr ""
+"Fiskalna pozicija određuje/mjenja poreze i konta za partnera kad se "
+"razlikuju od zadanih poreza i konta proizvoda."
#. module: account
#: view:account.print.journal:0
msgid ""
"This report gives you an overview of the situation of a specific journal"
msgstr ""
+"This report gives you an overview of the situation of a specific journal"
#. module: account
#: constraint:product.category:0
msgid "Error ! You can not create recursive categories."
-msgstr "Greška! Ne možete stvoriti rekurzivne kategorije."
+msgstr "Greška ! Ne možete stvoriti rekurzivne grupe."
#. module: account
#: report:account.invoice:0
@@ -2423,6 +2498,8 @@ msgid ""
"You cannot modify company of this journal as its related record exist in "
"Entry Lines"
msgstr ""
+"You cannot modify company of this journal as its related record exist in "
+"Entry Lines"
#. module: account
#: report:account.journal.period.print:0
@@ -2469,7 +2546,7 @@ msgstr "Odaberite ili poreznu grupu poreza ili poreznu grupu osnovice."
#. module: account
#: model:ir.ui.menu,name:account.menu_automatic_reconcile
msgid "Automatic Reconciliation"
-msgstr "Automatsko zatvaranje"
+msgstr "Automatsko zatvaranje IOS-a"
#. module: account
#: field:account.invoice,reconciled:0
@@ -2480,7 +2557,7 @@ msgstr "Plaćeno/Usklađeno"
#: field:account.tax,ref_base_code_id:0
#: field:account.tax.template,ref_base_code_id:0
msgid "Refund Base Code"
-msgstr "Šifra osnovice povrata"
+msgstr "Porezna grupa za osnovicu"
#. module: account
#: model:ir.actions.act_window,name:account.action_bank_statement_periodic_tree
@@ -2514,13 +2591,15 @@ msgid ""
"Automatically generate entries based on what has been entered in the system "
"before a specific date."
msgstr ""
+"Automatically generate entries based on what has been entered in the system "
+"before a specific date."
#. module: account
#: view:account.aged.trial.balance:0
#: model:ir.actions.act_window,name:account.action_account_aged_balance_view
#: model:ir.ui.menu,name:account.menu_aged_trial_balance
msgid "Aged Partner Balance"
-msgstr "Struktura potraživanja/obveza partnera"
+msgstr "Struktura IOS-a partnera"
#. module: account
#: model:process.transition,name:account.process_transition_entriesreconcile0
@@ -2542,12 +2621,17 @@ msgid ""
"Note that journal entries that are automatically created by the system are "
"always skipping that state."
msgstr ""
+"Check this box if you don't want new journal entries to pass through the "
+"'draft' state and instead goes directly to the 'posted state' without any "
+"manual validation. \n"
+"Note that journal entries that are automatically created by the system are "
+"always skipping that state."
#. module: account
#: model:ir.actions.server,name:account.ir_actions_server_action_wizard_multi_chart
#: model:ir.ui.menu,name:account.menu_act_ir_actions_bleble
msgid "New Company Financial Setting"
-msgstr ""
+msgstr "Financijske postavke nove organizacije"
#. module: account
#: model:ir.actions.act_window,name:account.action_report_account_sales_tree_all
@@ -2559,7 +2643,7 @@ msgstr "Prodaje po kontu"
#. module: account
#: view:account.use.model:0
msgid "This wizard will create recurring accounting entries"
-msgstr ""
+msgstr "Asistent za kreiranje ponavljajućih temeljnica"
#. module: account
#: code:addons/account/account.py:1181
@@ -2582,7 +2666,7 @@ msgstr "Morate definirati analitički dnevnik na dnevniku '%s' !"
#: 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 "Šifre poreza"
+msgstr "Porezne grupe"
#. module: account
#: model:ir.ui.menu,name:account.menu_account_customer
@@ -2617,7 +2701,7 @@ msgstr ""
#. module: account
#: model:process.transition,note:account.process_transition_paymentreconcile0
msgid "Payment entries are the second input of the reconciliation."
-msgstr ""
+msgstr "Payment entries are the second input of the reconciliation."
#. module: account
#: report:account.move.voucher:0
@@ -2644,6 +2728,8 @@ msgid ""
"The optional quantity expressed by this line, eg: number of product sold. "
"The quantity is not a legal requirement but is very useful for some reports."
msgstr ""
+"The optional quantity expressed by this line, eg: number of product sold. "
+"The quantity is not a legal requirement but is very useful for some reports."
#. module: account
#: view:account.payment.term.line:0
@@ -2660,28 +2746,29 @@ msgstr "Obavezno"
#: field:product.category,property_account_expense_categ:0
#: field:product.template,property_account_expense:0
msgid "Expense Account"
-msgstr "Konto rashoda"
+msgstr "Konto troška"
#. module: account
#: help:account.invoice,period_id:0
msgid "Keep empty to use the period of the validation(invoice) date."
-msgstr "Ostavite prazno"
+msgstr "Prazno za datum potvrde."
#. module: account
#: help:account.bank.statement,account_id:0
msgid ""
"used in statement reconciliation domain, but shouldn't be used elswhere."
msgstr ""
+"used in statement reconciliation domain, but shouldn't be used elswhere."
#. module: account
#: field:account.invoice.tax,base_amount:0
msgid "Base Code Amount"
-msgstr "Iznos osnvice"
+msgstr "Iznos osnovice"
#. module: account
#: field:wizard.multi.charts.accounts,sale_tax:0
msgid "Default Sale Tax"
-msgstr "Zadani porez prodaje"
+msgstr "Uobičajeni porezi prodaje"
#. module: account
#: help:account.model.line,date_maturity:0
@@ -2690,6 +2777,8 @@ msgid ""
"between the creation date or the creation date of the entries plus the "
"partner payment terms."
msgstr ""
+"Datum dospijeća generiranih stavaka modelal. Možete birati između datuma "
+"izrade ili datum izrade/unosa plus uvjeta plaćanja partnera."
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_accounting
@@ -2725,6 +2814,8 @@ msgid ""
"It adds initial balance row on report which display previous sum amount of "
"debit/credit/balance"
msgstr ""
+"It adds initial balance row on report which display previous sum amount of "
+"debit/credit/balance"
#. module: account
#: view:account.analytic.line:0
@@ -2785,7 +2876,7 @@ msgstr "Uk. transakcije"
#. module: account
#: view:res.partner:0
msgid "Bank account"
-msgstr "Konto banke"
+msgstr "Bankovni račun"
#. module: account
#: field:account.chart.template,tax_template_ids:0
@@ -2801,6 +2892,11 @@ msgid ""
"software system you may have to use the rate at date. Incoming transactions "
"always use the rate at date."
msgstr ""
+"This will select how the current currency rate for outgoing transactions is "
+"computed. In most countries the legal method is \"average\" but only a few "
+"software systems are able to manage this. So if you import from another "
+"software system you may have to use the rate at date. Incoming transactions "
+"always use the rate at date."
#. module: account
#: help:wizard.multi.charts.accounts,code_digits:0
@@ -2810,7 +2906,7 @@ msgstr "Broj znamenki za upotrebu u šifri konta"
#. module: account
#: field:account.payment.term.line,name:0
msgid "Line Name"
-msgstr "Naziv redka"
+msgstr "Naziv stavke"
#. module: account
#: view:account.fiscalyear:0
@@ -2877,7 +2973,7 @@ msgstr "Elektronska datoteka"
#. module: account
#: view:res.partner:0
msgid "Customer Credit"
-msgstr "Potraživanja kupca"
+msgstr "Potraživanja od kupca"
#. module: account
#: model:ir.model,name:account.model_account_tax_code_template
@@ -2897,7 +2993,7 @@ msgstr "Saldo konti partnera"
#. module: account
#: help:account.journal.column,sequence:0
msgid "Gives the sequence order to journal column."
-msgstr ""
+msgstr "Gives the sequence order to journal column."
#. module: account
#: view:account.tax.template:0
@@ -2909,7 +3005,7 @@ msgstr "Prijava poreza"
#: help:account.account.template,currency_id:0
#: help:account.bank.accounts.wizard,currency_id:0
msgid "Forces all moves for this account to have this secondary currency."
-msgstr ""
+msgstr "Forces all moves for this account to have this secondary currency."
#. module: account
#: model:ir.actions.act_window,help:account.action_validate_account_move_line
@@ -2917,6 +3013,8 @@ msgid ""
"This wizard will validate all journal entries of a particular journal and "
"period. Once journal entries are validated, you can not update them anymore."
msgstr ""
+"Ovaj asistent će knjižiti sve neknjižene stavke odabranog dnevnika za "
+"odabrani period."
#. module: account
#: model:ir.actions.act_window,name:account.action_account_chart_template_form
@@ -2932,7 +3030,7 @@ msgstr "Generiraj kontni plan iz predloška"
#. module: account
#: model:ir.model,name:account.model_account_unreconcile_reconcile
msgid "Account Unreconcile Reconcile"
-msgstr ""
+msgstr "Račun Neusklađen Usklađen"
#. module: account
#: help:account.account.type,close_method:0
@@ -2947,6 +3045,13 @@ msgid ""
" 'Unreconciled' will copy only the journal items that were unreconciled on "
"the first day of the new fiscal year."
msgstr ""
+"Postavite metodu knjiženja kod zatvaranja konta na kraju godine.\n"
+"Sva konta ovog tipa će se zatvarati prema odabranoj metodi.\n"
+"\n"
+" 'Ništa' - neće generirati stavke.\n"
+" 'Saldo' - koristi se uglavnom za konta banke i blagajne.\n"
+" 'Stavke' - sve stavke se prenose u novu godinu(i zatvorene).\n"
+" 'Otvorene stavke' - prenose se otvorene stavke (konta kupaca i dobavljača)."
#. module: account
#: view:account.tax:0
@@ -3023,7 +3128,7 @@ msgstr "Nabava"
#: model:ir.actions.act_window,name:account.action_account_installer
#: view:wizard.multi.charts.accounts:0
msgid "Accounting Application Configuration"
-msgstr ""
+msgstr "Accounting Application Configuration"
#. module: account
#: model:ir.actions.act_window,name:account.open_board_account
@@ -3065,6 +3170,8 @@ msgid ""
"The amount expressed in the related account currency if not equal to the "
"company one."
msgstr ""
+"The amount expressed in the related account currency if not equal to the "
+"company one."
#. module: account
#: report:account.move.voucher:0
@@ -3111,12 +3218,12 @@ msgstr "Traži dnevnik"
#. module: account
#: model:ir.actions.act_window,name:account.action_invoice_tree_pending_invoice
msgid "Pending Invoice"
-msgstr ""
+msgstr "Pending Invoice"
#. module: account
#: selection:account.subscription,period_type:0
msgid "year"
-msgstr "godina"
+msgstr "year"
#. module: account
#: report:account.move.voucher:0
@@ -3129,6 +3236,8 @@ msgid ""
"All selected journal entries will be validated and posted. It means you "
"won't be able to modify their accounting fields anymore."
msgstr ""
+"Sve odabrane stavke dnevnika će biti potvrđena i objavljena. To znači da "
+"nećete moći modificirati svoje računovodstvene polja više."
#. module: account
#: code:addons/account/invoice.py:370
@@ -3149,7 +3258,7 @@ msgstr "Prijenosi"
#. module: account
#: view:account.payment.term.line:0
msgid " value amount: n.a"
-msgstr ""
+msgstr " vrijednost iznos: n.a"
#. module: account
#: view:account.chart:0
@@ -3181,7 +3290,7 @@ msgstr "Naziv pozicije PDV obrasca"
#: report:account.invoice:0
#: model:process.node,name:account.process_node_draftinvoices0
msgid "Draft Invoice"
-msgstr "Neodobreni računi"
+msgstr "Nacrt računa"
#. module: account
#: code:addons/account/wizard/account_invoice_state.py:68
@@ -3190,6 +3299,8 @@ msgid ""
"Selected Invoice(s) cannot be cancelled as they are already in 'Cancelled' "
"or 'Done' state!"
msgstr ""
+"Odabrani račun(i) se ne mogu otkazati jer su u stanju 'Otkazan' ili "
+"'Izvršen'!"
#. module: account
#: code:addons/account/account.py:522
@@ -3198,6 +3309,8 @@ msgid ""
"You cannot change the type of account from '%s' to '%s' type as it contains "
"account entries!"
msgstr ""
+"You cannot change the type of account from '%s' to '%s' type as it contains "
+"account entries!"
#. module: account
#: report:account.general.ledger:0
@@ -3213,13 +3326,13 @@ msgstr "Podaci računa"
#. module: account
#: field:account.invoice.report,state:0
msgid "Invoice State"
-msgstr "Stanje fakture"
+msgstr "Stanje računa"
#. module: account
#: view:account.invoice.report:0
#: field:account.invoice.report,categ_id:0
msgid "Category of Product"
-msgstr "Kategorija proizvoda"
+msgstr "Grupa proizvoda"
#. module: account
#: view:account.move:0
@@ -3238,7 +3351,7 @@ msgstr "Kreiraj konto"
#. module: account
#: model:ir.model,name:account.model_report_account_type_sales
msgid "Report of the Sales by Account Type"
-msgstr ""
+msgstr "Izvještaj o prodaji po vrsti konta"
#. module: account
#: selection:account.account.type,close_method:0
@@ -3248,7 +3361,7 @@ msgstr "Detalji"
#. module: account
#: field:account.installer,bank_accounts_id:0
msgid "Your Bank and Cash Accounts"
-msgstr ""
+msgstr "Your Bank and Cash Accounts"
#. module: account
#: report:account.invoice:0
@@ -3271,12 +3384,12 @@ msgstr "PDV :"
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Chart of Accounts"
-msgstr "Kontni plan"
+msgstr "Chart of Accounts"
#. module: account
#: view:account.tax.chart:0
msgid "(If you do not select period it will take all open periods)"
-msgstr ""
+msgstr "(prazno - sva otvorena razdoblja)"
#. module: account
#: field:account.journal,centralisation:0
@@ -3286,7 +3399,7 @@ msgstr "Centralizirana stavka zatvaranja"
#. module: account
#: model:ir.model,name:account.model_account_partner_reconcile_process
msgid "Reconcilation Process partner by partner"
-msgstr ""
+msgstr "Reconcilation Process partner by partner"
#. module: account
#: selection:account.automatic.reconcile,power:0
@@ -3343,13 +3456,14 @@ msgstr "Datum"
#: view:account.unreconcile:0
#: view:account.unreconcile.reconcile:0
msgid "Unreconcile"
-msgstr "Poništi zatvaranje"
+msgstr "Otvori stavke"
#. module: account
#: code:addons/account/wizard/account_fiscalyear_close.py:79
#, python-format
msgid "The journal must have default credit and debit account"
-msgstr "Dnevnik mora imati zadani potražni i dugovni konto."
+msgstr ""
+"Dnevnik mora imati zadani dugovni i potražni konto radi protu knjiženja."
#. module: account
#: view:account.chart.template:0
@@ -3364,6 +3478,9 @@ msgid ""
"based on partner payment term!\n"
"Please define partner on it!"
msgstr ""
+"Maturity date of entry line generated by model line '%s' of model '%s' is "
+"based on partner payment term!\n"
+"Please define partner on it!"
#. module: account
#: code:addons/account/account_move_line.py:810
@@ -3378,6 +3495,8 @@ msgid ""
"You cannot validate a Journal Entry unless all journal items are in same "
"chart of accounts !"
msgstr ""
+"Nije dozvoljeno potvrđivanje temeljnice na kojoj stavke pripadaju različitim "
+"kontnim planovima!"
#. module: account
#: view:account.tax:0
@@ -3432,7 +3551,7 @@ msgstr ""
#: view:account.tax:0
#: view:account.tax.template:0
msgid "Applicable Code (if type=code)"
-msgstr "Primjenjeni kod (ako je tip=Python kod)"
+msgstr "Primjenjeni kod (ako je Python kod)"
#. module: account
#: view:account.invoice.report:0
@@ -3477,12 +3596,12 @@ msgstr "Nalog za plaćanje"
msgid ""
"Check this option if you want the user to reconcile entries in this account."
msgstr ""
-"Cekirajte ovde da omogućuite korisniku zatvaranje stavaka za ovaj konto."
+"Odaberite ako želite omogućiti zatvaranje stavaka (IOS) za ovaj konto."
#. module: account
#: model:ir.actions.report.xml,name:account.account_account_balance_landscape
msgid "Account balance"
-msgstr "Saldo računa"
+msgstr "Saldo konta"
#. module: account
#: report:account.invoice:0
@@ -3519,17 +3638,17 @@ msgstr "Odabrali ste jedinicu mjere koja nije kompatibilna s proizvodom."
msgid ""
"The Payment Term of Supplier does not have Payment Term Lines(Computation) "
"defined !"
-msgstr ""
+msgstr "Uvjet plaćanja dobavljača nema definirane stavke plaćanja!"
#. module: account
#: view:account.state.open:0
msgid "Open Invoice"
-msgstr "otvoreni računi"
+msgstr "Otvori račun"
#. module: account
#: field:account.invoice.tax,factor_tax:0
msgid "Multipication factor Tax code"
-msgstr ""
+msgstr "Koeficijent porezne grupe"
#. module: account
#: view:account.fiscal.position:0
@@ -3552,7 +3671,7 @@ msgstr "Naziv"
#. module: account
#: model:ir.model,name:account.model_account_aged_trial_balance
msgid "Account Aged Trial balance Report"
-msgstr ""
+msgstr "Bruto bilanca (Aged Trial balance)"
#. module: account
#: field:account.move.line,date:0
@@ -3589,11 +3708,13 @@ msgid ""
"Print Report with the currency column if the currency is different then the "
"company currency"
msgstr ""
+"Print Report with the currency column if the currency is different then the "
+"company currency"
#. module: account
#: view:account.analytic.line:0
msgid "General Accounting"
-msgstr ""
+msgstr "Glavna knjiga"
#. module: account
#: report:account.overdue:0
@@ -3608,6 +3729,10 @@ msgid ""
"debit/credit accounts, of type 'situation' and with a centralized "
"counterpart."
msgstr ""
+"Najbolja praksa je definirati dnevnik(e) na kojima se knjiže početna stanja "
+"svih poslovnih godina. Za ove dnevnike treba definirati dugovni i potražni "
+"konto protustavki, a vrsta dnevnika mora biti 'Početno stanje' sa "
+"centraliziranom(jednom) protustavkom."
#. module: account
#: view:account.installer:0
@@ -3621,12 +3746,12 @@ msgstr "naslov"
#: view:account.period:0
#: view:account.subscription:0
msgid "Set to Draft"
-msgstr "Postavi na neodobreno"
+msgstr "Postavi na nacrt"
#. module: account
#: model:ir.actions.act_window,name:account.action_subscription_form
msgid "Recurring Lines"
-msgstr "Ponavljajuće linije"
+msgstr "Ponavljajuće stavke"
#. module: account
#: field:account.partner.balance,display_partner:0
@@ -3642,6 +3767,7 @@ msgstr "Potvrdi"
#: sql_constraint:account.model.line:0
msgid "Wrong credit or debit value in model (Credit Or Debit Must Be \"0\")!"
msgstr ""
+"Wrong credit or debit value in model (Credit Or Debit Must Be \"0\")!"
#. module: account
#: model:ir.actions.act_window,help:account.action_account_invoice_report_all
@@ -3650,6 +3776,8 @@ msgid ""
"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."
msgstr ""
+"Pregled fakturiranih iznosa i kašnjenja plaćanja. Za prilagodbu izvještaja "
+"vašim potrebama koristite funkcionalnosti traženja i grupiranja."
#. module: account
#: view:account.invoice.confirm:0
@@ -3734,7 +3862,7 @@ msgstr "Traži predloške poreza"
#. module: account
#: model:ir.ui.menu,name:account.periodical_processing_journal_entries_validation
msgid "Draft Entries"
-msgstr "U pripremi"
+msgstr "Stavke u stanju \"Nacrt\""
#. module: account
#: field:account.account,shortcut:0
@@ -3768,7 +3896,7 @@ msgstr "Bilanca"
#. module: account
#: model:ir.model,name:account.model_account_invoice_cancel
msgid "Cancel the Selected Invoices"
-msgstr ""
+msgstr "Otkaži odabrane račune"
#. module: account
#: help:product.category,property_account_income_categ:0
@@ -3789,6 +3917,8 @@ msgid ""
"Analytic costs (timesheets, some purchased products, ...) come from analytic "
"accounts. These generate draft supplier invoices."
msgstr ""
+"Analitički troškovi (ev. rada, nabava, ...) dolaze sa analitičkih konta. Oni "
+"mogu kreirati nacrte ulaznih računa."
#. module: account
#: view:account.bank.statement:0
@@ -3810,7 +3940,7 @@ msgstr "Tip konta"
#: code:addons/account/invoice.py:714
#, python-format
msgid "Global taxes defined, but are not in invoice lines !"
-msgstr ""
+msgstr "Na stavkama računa nema definiranih poreza!"
#. module: account
#: field:account.entries.report,month:0
@@ -3837,7 +3967,7 @@ msgstr "Bilješka"
#. module: account
#: view:account.analytic.account:0
msgid "Overdue Account"
-msgstr ""
+msgstr "Konto duga"
#. module: account
#: selection:account.invoice,state:0
@@ -3864,6 +3994,9 @@ msgid ""
"the system on document validation (invoices, bank statements...) and will be "
"created in 'Posted' state."
msgstr ""
+"Ručno upisane temeljnice su obično u stanju \"Neažurno\". Ovdje možete "
+"zadati opciju preskakanja ovog stanja za pojedini dnevnik. Tada će upisane "
+"stavke odmah biti u stanju \"Ažurno\"."
#. module: account
#: code:addons/account/account_analytic_line.py:91
@@ -3924,7 +4057,7 @@ msgstr "Raspon Mjeseci"
#. module: account
#: help:account.analytic.balance,empty_acc:0
msgid "Check if you want to display Accounts with 0 balance too."
-msgstr ""
+msgstr "Check if you want to display Accounts with 0 balance too."
#. module: account
#: view:account.tax:0
@@ -3934,7 +4067,7 @@ msgstr "Kod izračuna"
#. module: account
#: view:account.account.template:0
msgid "Default taxes"
-msgstr "Zadani porezi"
+msgstr "Uobičajeni porezi"
#. module: account
#: code:addons/account/invoice.py:88
@@ -3953,6 +4086,8 @@ msgid ""
"When new move line is created the state will be 'Draft'.\n"
"* When all the payments are done it will be in 'Valid' state."
msgstr ""
+"Nakon upisa stanje stavke je 'Nacrt'.\n"
+"* Nakon plaćanja stanje postaje 'Ispravan'."
#. module: account
#: field:account.journal,view_id:0
@@ -3962,7 +4097,7 @@ msgstr "Način prikaza"
#. module: account
#: model:process.node,note:account.process_node_importinvoice0
msgid "Statement from invoice or payment"
-msgstr ""
+msgstr "Izvod iz računa ili plaćanja"
#. module: account
#: view:account.payment.term.line:0
@@ -3984,7 +4119,7 @@ msgstr "Naziv konta"
#. module: account
#: help:account.fiscalyear.close,report_name:0
msgid "Give name of the new entries"
-msgstr ""
+msgstr "Give name of the new entries"
#. module: account
#: model:ir.model,name:account.model_account_invoice_report
@@ -3994,13 +4129,13 @@ msgstr "Statistike računa"
#. module: account
#: model:process.transition,note:account.process_transition_paymentorderreconcilation0
msgid "Bank statements are entered in the system."
-msgstr ""
+msgstr "Bank statements are entered in the system."
#. module: account
#: code:addons/account/wizard/account_reconcile.py:133
#, python-format
msgid "Reconcile Writeoff"
-msgstr ""
+msgstr "Otpis"
#. module: account
#: field:account.model.line,date_maturity:0
@@ -4038,7 +4173,7 @@ msgstr "Ispiši račun"
#. module: account
#: view:account.tax.template:0
msgid "Credit Notes"
-msgstr "Knjižna odobrenja"
+msgstr "Odobrenja"
#. module: account
#: code:addons/account/account.py:2067
@@ -4050,7 +4185,7 @@ msgstr "Nema odgovarajućih perioda."
#. module: account
#: report:account.tax.code.entries:0
msgid "Voucher No"
-msgstr "Potvrda br."
+msgstr "Vaučer br."
#. module: account
#: view:wizard.multi.charts.accounts:0
@@ -4060,7 +4195,7 @@ msgstr "res_config_contents"
#. module: account
#: view:account.unreconcile:0
msgid "Unreconciliate transactions"
-msgstr ""
+msgstr "Unreconciliate transactions"
#. module: account
#: view:account.use.model:0
@@ -4070,7 +4205,7 @@ msgstr "Stvori stavke iz modela"
#. module: account
#: field:account.account.template,reconcile:0
msgid "Allow Reconciliation"
-msgstr "Dozvoli zatvaranje"
+msgstr "Allow Reconciliation"
#. module: account
#: view:account.analytic.account:0
@@ -4095,7 +4230,7 @@ msgstr "Porez uključen u cijenu"
#. module: account
#: model:ir.model,name:account.model_account_analytic_cost_ledger_journal_report
msgid "Account Analytic Cost Ledger For Journal Report"
-msgstr ""
+msgstr "Account Analytic Cost Ledger For Journal Report"
#. module: account
#: model:ir.actions.act_window,name:account.action_model_form
@@ -4137,12 +4272,12 @@ msgstr "Kontrola po vrsti kona"
#. module: account
#: help:account.journal,default_credit_account_id:0
msgid "It acts as a default account for credit amount"
-msgstr "Zadani konto za potražni iznos"
+msgstr "Uobičajeni potražni konto"
#. module: account
#: help:account.partner.ledger,reconcil:0
msgid "Consider reconciled entries"
-msgstr ""
+msgstr "Consider reconciled entries"
#. module: account
#: model:ir.actions.act_window,name:account.action_validate_account_move_line
@@ -4150,19 +4285,19 @@ msgstr ""
#: view:validate.account.move:0
#: view:validate.account.move.lines:0
msgid "Post Journal Entries"
-msgstr "Proknjiži stavke"
+msgstr "Knjiži temeljnicu"
#. module: account
#: selection:account.invoice,state:0
#: selection:account.invoice.report,state:0
#: selection:report.invoice.created,state:0
msgid "Cancelled"
-msgstr "Poništeno"
+msgstr "Otkazani"
#. module: account
#: help:account.bank.statement,balance_end_cash:0
msgid "Closing balance based on cashBox"
-msgstr ""
+msgstr "Završno stanje blagajne"
#. module: account
#: constraint:account.account:0
@@ -4213,7 +4348,7 @@ msgstr "Potvrđeno"
#. module: account
#: report:account.invoice:0
msgid "Cancelled Invoice"
-msgstr "Poništeni račun"
+msgstr "Otkazani račun"
#. module: account
#: code:addons/account/invoice.py:73
@@ -4229,6 +4364,9 @@ msgid ""
"the account \"%s - %s\". Clear the secondary currency field of the account "
"definition if you want to accept all currencies."
msgstr ""
+"Couldn't create move with currency different from the secondary currency of "
+"the account \"%s - %s\". Clear the secondary currency field of the account "
+"definition if you want to accept all currencies."
#. module: account
#: field:account.invoice.refund,date:0
@@ -4239,14 +4377,14 @@ msgstr "Datum postupka"
#: field:account.tax,ref_tax_code_id:0
#: field:account.tax.template,ref_tax_code_id:0
msgid "Refund Tax Code"
-msgstr "Porezna grupa povrata"
+msgstr "Porezna grupa odobrenja"
#. module: account
#: view:validate.account.move:0
msgid ""
"All draft account entries in this journal and period will be validated. It "
"means you won't be able to modify their accounting fields anymore."
-msgstr ""
+msgstr "Potvrđivanje svih nacrta knjiženja za odabrani dnevnik i period."
#. module: account
#: report:account.account.balance.landscape:0
@@ -4293,8 +4431,8 @@ msgid ""
"Please verify the price of the invoice !\n"
"The real total does not match the computed total."
msgstr ""
-"Molimo provjerite cijene na računu!\n"
-"Stvarna ukupna vrijednost se ne slaže sa izračunatom vrijednošću."
+"Molimo provjerite iznose na računu!\n"
+"Ukupna vrijednost se ne slaže sa izračunatom vrijednošću."
#. module: account
#: view:account.invoice:0
@@ -4322,7 +4460,7 @@ msgstr "Ne"
#. module: account
#: help:account.invoice.tax,tax_code_id:0
msgid "The tax basis of the tax declaration."
-msgstr ""
+msgstr "Osnovica za poreznu prijavu."
#. module: account
#: view:account.addtmpl.wizard:0
@@ -4352,7 +4490,7 @@ msgstr "Bankovni izvod korišten za zatvaranje banke"
#. module: account
#: model:process.transition,note:account.process_transition_suppliercustomerinvoice0
msgid "Draft invoices are validated. "
-msgstr ""
+msgstr "Nacrti računa su potvrđeni. "
#. module: account
#: view:account.bank.statement:0
@@ -4388,7 +4526,7 @@ msgstr "Porez se primjenjuje"
#: model:ir.ui.menu,name:account.menu_eaction_account_moves_sale
#, python-format
msgid "Journal Items"
-msgstr "Stavke dnevnika"
+msgstr "Stavke glavne knjige"
#. module: account
#: selection:account.account.type,report_type:0
@@ -4398,7 +4536,7 @@ msgstr "Bilanca (konta imovine)"
#. module: account
#: report:account.tax.code.entries:0
msgid "Third Party (Country)"
-msgstr ""
+msgstr "Third Party (Country)"
#. module: account
#: code:addons/account/account.py:938
@@ -4452,11 +4590,13 @@ msgid ""
"To print an analytics (or costs) journal for a given period. The report give "
"code, move name, account number, general amount and analytic amount."
msgstr ""
+"Ispis analitičkog dnevnika za razdoblje. Ispisuje se šifra, naziv stavke, "
+"konto, iznos glavne knjige i analitički iznos."
#. module: account
#: help:account.journal,refund_journal:0
msgid "Fill this if the journal is to be used for refunds of invoices."
-msgstr ""
+msgstr "Fill this if the journal is to be used for refunds of invoices."
#. module: account
#: view:account.fiscalyear.close:0
@@ -4503,6 +4643,8 @@ msgid ""
"You should set the journal to allow cancelling entries if you want to do "
"that."
msgstr ""
+"Nije dozvoljeno mijenjati knjižene stavke ovog dnevnikal !\n"
+"Ako to ipak želite dozvoliti promijenite postavke ovog dnevnika."
#. module: account
#: model:ir.ui.menu,name:account.account_template_folder
@@ -4518,7 +4660,7 @@ msgstr "Podređeni porezi"
#: code:addons/account/account.py:940
#, python-format
msgid "Start period should be smaller then End period"
-msgstr ""
+msgstr "Start period should be smaller then End period"
#. module: account
#: selection:account.automatic.reconcile,power:0
@@ -4610,7 +4752,7 @@ msgstr "Naziv stupca"
#: view:account.general.journal:0
msgid ""
"This report gives you an overview of the situation of your general journals"
-msgstr ""
+msgstr "Ovo izvješće daje pregled stanja vaše opće temeljnice"
#. module: account
#: field:account.entries.report,year:0
@@ -4688,7 +4830,7 @@ msgstr "Bilanca stanja"
#. module: account
#: model:ir.ui.menu,name:account.final_accounting_reports
msgid "Accounting Reports"
-msgstr "Izvješća"
+msgstr "Računovodstvena izvješća"
#. module: account
#: field:account.move,line_id:0
@@ -4713,7 +4855,7 @@ msgstr "JM"
#: code:addons/account/wizard/account_invoice_refund.py:138
#, python-format
msgid "No Period found on Invoice!"
-msgstr ""
+msgstr "Nije pronađeno razdoblje na računu!"
#. module: account
#: view:account.tax.template:0
@@ -4750,7 +4892,7 @@ msgstr "Iznos"
#: code:addons/account/wizard/account_fiscalyear_close.py:41
#, python-format
msgid "End of Fiscal Year Entry"
-msgstr "Knjiženja zatvaranja fiskalne godine"
+msgstr "Temeljnice zatvaranja fiskalne godine"
#. module: account
#: model:process.transition,name:account.process_transition_customerinvoice0
@@ -4768,6 +4910,8 @@ msgid ""
"The Journal Entry of the invoice have been totally reconciled with one or "
"several Journal Entries of payment."
msgstr ""
+"Stavka računa (potraživanje ili dugovanje) je kompletno zatvorena s jednom "
+"ili više stavaka plaćanja."
#. module: account
#: field:account.tax,child_depend:0
@@ -4791,7 +4935,7 @@ msgstr "Nije nađen period"
#. module: account
#: field:account.journal,update_posted:0
msgid "Allow Cancelling Entries"
-msgstr "Dozvoli storniranje stavki"
+msgstr "Dozvoli odažuriranje knjiženja"
#. module: account
#: field:account.tax.code,sign:0
@@ -4872,7 +5016,7 @@ msgstr "Kontrole unosa"
#: view:account.analytic.chart:0
#: view:project.account.analytic.line:0
msgid "(Keep empty to open the current situation)"
-msgstr "(Zadržite prazno da biste otvorili trenutno stanje)"
+msgstr "(prazno za trenutno stanje)"
#. module: account
#: field:account.analytic.Journal.report,date1:0
@@ -4896,7 +5040,7 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_common_account_report
msgid "Account Common Account Report"
-msgstr ""
+msgstr "Account Common Account Report"
#. module: account
#: field:account.bank.statement.line,name:0
@@ -4913,14 +5057,14 @@ msgstr "Analitičko računovodstvo"
#: selection:account.invoice.report,type:0
#: selection:report.invoice.created,type:0
msgid "Customer Refund"
-msgstr "Povrat novca kupcu"
+msgstr "Odobrenje kupcu"
#. module: account
#: view:account.account:0
#: field:account.account,tax_ids:0
#: field:account.account.template,tax_ids:0
msgid "Default Taxes"
-msgstr "Zadani porezi"
+msgstr "Uobičajeni porezi"
#. module: account
#: field:account.tax,ref_tax_sign:0
@@ -4928,7 +5072,7 @@ msgstr "Zadani porezi"
#: field:account.tax.template,ref_tax_sign:0
#: field:account.tax.template,tax_sign:0
msgid "Tax Code Sign"
-msgstr "Predznak u PDV obrascu"
+msgstr "Koef. poreza"
#. module: account
#: model:ir.model,name:account.model_report_invoice_created
@@ -4960,6 +5104,9 @@ msgid ""
"something to reconcile or not. This figure already count the current partner "
"as reconciled."
msgstr ""
+"This is the remaining partners for who you should check if there is "
+"something to reconcile or not. This figure already count the current partner "
+"as reconciled."
#. module: account
#: view:account.subscription.line:0
@@ -4991,7 +5138,7 @@ msgstr "Promjeni valutu"
#: model:process.node,note:account.process_node_accountingentries0
#: model:process.node,note:account.process_node_supplieraccountingentries0
msgid "Accounting entries."
-msgstr ""
+msgstr "Accounting entries."
#. module: account
#: view:account.invoice:0
@@ -5017,6 +5164,8 @@ msgid ""
"According value related accounts will be display on respective reports "
"(Balance Sheet Profit & Loss Account)"
msgstr ""
+"Prema iznosu na koji se račun odnosi biti će prikazan na odgovarajućim "
+"izvješćima (Bilanca, Račun dobiti i gubitka)"
#. module: account
#: field:account.report.general.ledger,sortby:0
@@ -5030,6 +5179,8 @@ msgid ""
"There is no default default credit account defined \n"
"on journal \"%s\""
msgstr ""
+"Nije definiran uobičajeni potražni konto za\n"
+"dnevnik \"%s\""
#. module: account
#: field:account.entries.report,amount_currency:0
@@ -5045,7 +5196,7 @@ msgid ""
"Specified Journal does not have any account move entries in draft state for "
"this period"
msgstr ""
-"Navedeni dnevnik nema niti jednu stavku u stanju pripreme za ovo razdoblje"
+"Navedeni dnevnik nema niti jednu stavku u stanju \"Nacrt\" za ovo razdoblje"
#. module: account
#: model:ir.actions.act_window,name:account.action_view_move_line
@@ -5083,6 +5234,8 @@ msgid ""
"Number of partial amounts that can be combined to find a balance point can "
"be chosen as the power of the automatic reconciliation"
msgstr ""
+"Višekratnik automatskog zatvaranja je broj pojedinačnih iznosa koji će se "
+"kombinirati kod traženja odgovarajućeg iznosa"
#. module: account
#: help:account.payment.term.line,sequence:0
@@ -5114,6 +5267,9 @@ msgid ""
"impossible any new entry record. Close a fiscal year when you need to "
"finalize your end of year results definitive "
msgstr ""
+"Nakon knjiženja svih transakcije jedne poslovne godine, ovdje možete "
+"zatvoriti i zaključati poslovnu godinu. Zatvaranje će zatvoriti sve "
+"eventualno otvorene periode te godine i onemogućiti upis podataka. "
#. module: account
#: field:account.central.journal,amount_currency:0
@@ -5154,7 +5310,7 @@ msgstr "Dospjela potraživanja"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_automatic_reconcile
msgid "Account Automatic Reconcile"
-msgstr "Automatsko zatvaranje"
+msgstr "Automatsko zatvaranje IOS-a"
#. module: account
#: view:account.move:0
@@ -5190,6 +5346,8 @@ msgid ""
"This module will support the Anglo-Saxons accounting methodology by changing "
"the accounting logic with stock transactions."
msgstr ""
+"This module will support the Anglo-Saxons accounting methodology by changing "
+"the accounting logic with stock transactions."
#. module: account
#: field:report.invoice.created,create_date:0
@@ -5259,6 +5417,8 @@ msgid ""
"Streamlines invoice payment and creates hooks to plug automated payment "
"systems in."
msgstr ""
+"Streamlines invoice payment and creates hooks to plug automated payment "
+"systems in."
#. module: account
#: field:account.payment.term.line,value:0
@@ -5308,6 +5468,9 @@ msgid ""
"document shows your debit and credit taking in consideration some criteria "
"you can choose by using the search tool."
msgstr ""
+"From this view, have an analysis of your different financial accounts. The "
+"document shows your debit and credit taking in consideration some criteria "
+"you can choose by using the search tool."
#. module: account
#: model:ir.actions.act_window,help:account.action_tax_code_list
@@ -5316,6 +5479,11 @@ msgid ""
"OpenERP allows you to define the tax structure and manage it from this menu. "
"You can define both numeric and alphanumeric tax codes."
msgstr ""
+"Definicija poreznih grupa ovisi o poreznim prijavama i poreznim izvještajima "
+"pojedine zemlje. Za svako polje porezne prijave potrebno je definirati jednu "
+"poreznu grupu, te dodatne grupe za stupce u knjigama URA/IRA kojih nema u "
+"poreznoj prijavi. Osim PDV-a porezne grupe je uputno kreirati i za ostale "
+"poreze npr. Porez na potrošnju ili razne trošarine koje ste obavezni plaćati."
#. module: account
#: help:account.partner.reconcile.process,progress:0
@@ -5323,6 +5491,8 @@ msgid ""
"Shows you the progress made today on the reconciliation process. Given by \n"
"Partners Reconciled Today \\ (Remaining Partners + Partners Reconciled Today)"
msgstr ""
+"Shows you the progress made today on the reconciliation process. Given by \n"
+"Partners Reconciled Today \\ (Remaining Partners + Partners Reconciled Today)"
#. module: account
#: help:account.payment.term.line,value:0
@@ -5331,6 +5501,8 @@ msgid ""
"that you should have your last line with the type 'Balance' to ensure that "
"the whole amount will be threated."
msgstr ""
+"Odaberite način izračuna ove stavke plaćanja. Dobra je praksa navesti "
+"posljednji redak tipa 'Saldo' kako bi se izračunao kompletan iznos."
#. module: account
#: field:account.invoice,period_id:0
@@ -5350,7 +5522,7 @@ msgstr "# linija"
#: code:addons/account/wizard/account_change_currency.py:60
#, python-format
msgid "New currency is not confirured properly !"
-msgstr ""
+msgstr "New currency is not confirured properly !"
#. module: account
#: field:account.aged.trial.balance,filter:0
@@ -5382,7 +5554,7 @@ msgstr "Ne mozete koristiti neaktivan konto!"
#: code:addons/account/account_move_line.py:803
#, python-format
msgid "Entries are not of the same account or already reconciled ! "
-msgstr "Stavke nisu istog konta ili su već usklađene ! "
+msgstr "Stavke nisu istog konta ili su već zatvorene! "
#. module: account
#: field:account.tax,account_collected_id:0
@@ -5470,7 +5642,7 @@ msgstr " 365 dana "
#: model:ir.actions.act_window,name:account.action_invoice_tree3
#: model:ir.ui.menu,name:account.menu_action_invoice_tree3
msgid "Customer Refunds"
-msgstr "Povrati od kupca"
+msgstr "Odobrenja kupcima"
#. module: account
#: view:account.payment.term.line:0
@@ -5496,7 +5668,7 @@ msgstr "nije implementirano"
#. module: account
#: help:account.journal,company_id:0
msgid "Company related to this journal"
-msgstr "Tvrtka za koju se vodi ovaj dnevnik"
+msgstr "Organizacija za koju se vodi ovaj dnevnik"
#. module: account
#: code:addons/account/wizard/account_invoice_state.py:44
@@ -5505,6 +5677,8 @@ msgid ""
"Selected Invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-"
"Forma' state!"
msgstr ""
+"Ne mogu se potvrditi odabrani računi jer nisu svi u stanju 'Nacrt' ili 'Pro-"
+"Forma'!"
#. module: account
#: report:account.invoice:0
@@ -5542,6 +5716,11 @@ msgid ""
"line of the expense account. OpenERP will propose to you automatically the "
"Tax related to this account and the counterpart \"Account Payable\"."
msgstr ""
+"Ovu karticu koriste knjigovođe za ručni upis knjiženja u OpenERP. Ako želite "
+"upisati ulazni račun dobavljača, najprije upišite stavku troška, a program "
+"će automatski ponuditi slijedeću stavku(e) poreza prema definiranim porezima "
+"na kontu troška, a zatim i stavku ukupnog potraživanja dobavljača na kontu "
+"potraživanja partnera."
#. module: account
#: field:account.entries.report,date_created:0
@@ -5559,11 +5738,12 @@ msgid ""
"The code will be used to generate the numbers of the journal entries of this "
"journal."
msgstr ""
+"Ova šifra će se koristiti kao prefiks opisa/broja u stavkama knjiženja."
#. module: account
#: view:account.invoice:0
msgid "(keep empty to use the current period)"
-msgstr "(ostaviti prazno ako želite koristiti tekuće razdoblje)"
+msgstr "(ostaviti prazno za trenutno razdoblje)"
#. module: account
#: model:process.transition,note:account.process_transition_supplierreconcilepaid0
@@ -5571,6 +5751,7 @@ msgid ""
"As soon as the reconciliation is done, the invoice's state turns to “done” "
"(i.e. paid) in the system."
msgstr ""
+"Čim je obavljeno zatvaranje, stanje računa prelazi u \"izvršen\" (plaćen)."
#. module: account
#: code:addons/account/invoice.py:997
@@ -5587,7 +5768,7 @@ msgstr "Korijensko konto"
#. module: account
#: field:res.partner,last_reconciliation_date:0
msgid "Latest Reconciliation Date"
-msgstr ""
+msgstr "Zadnje zatvaranje IOS-a"
#. module: account
#: model:ir.model,name:account.model_account_analytic_line
@@ -5613,7 +5794,7 @@ msgstr "Postavke izvještaja"
#. module: account
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
-msgstr ""
+msgstr "Company must be same for its related account and period."
#. module: account
#: field:account.tax,type:0
@@ -5635,7 +5816,7 @@ msgstr "Prijava poreza"
#. module: account
#: model:ir.model,name:account.model_res_company
msgid "Companies"
-msgstr "Tvrtke"
+msgstr "Organizacije"
#. module: account
#: code:addons/account/account.py:532
@@ -5644,6 +5825,8 @@ msgid ""
"You cannot modify Company of account as its related record exist in Entry "
"Lines"
msgstr ""
+"You cannot modify Company of account as its related record exist in Entry "
+"Lines"
#. module: account
#: help:account.fiscalyear.close.state,fy_id:0
@@ -5653,7 +5836,7 @@ msgstr "Odaberite fiskalnu godinu za zatvaranje"
#. module: account
#: help:account.chart.template,tax_template_ids:0
msgid "List of all the taxes that have to be installed by the wizard"
-msgstr "Popis svih poreza koji trebaju biti instalirani od strane čarobnjaka"
+msgstr "Popis svih poreza koje asistent treba instalirati"
#. module: account
#: model:ir.actions.report.xml,name:account.account_intracom
@@ -5768,7 +5951,7 @@ msgstr " broj dana: 30"
#. module: account
#: help:account.analytic.line,currency_id:0
msgid "The related account currency if not equal to the company one."
-msgstr ""
+msgstr "The related account currency if not equal to the company one."
#. module: account
#: view:account.analytic.account:0
@@ -5849,7 +6032,7 @@ msgstr "Primjenjivi tip"
#: field:account.invoice,reference:0
#: field:account.invoice.line,invoice_id:0
msgid "Invoice Reference"
-msgstr "Vezna oznaka računa"
+msgstr "Poziv na br."
#. module: account
#: help:account.tax.template,sequence:0
@@ -5874,7 +6057,7 @@ msgstr "Likvidnost"
#: model:ir.actions.act_window,name:account.action_account_analytic_journal_open_form
#: model:ir.ui.menu,name:account.account_analytic_journal_entries
msgid "Analytic Journal Items"
-msgstr ""
+msgstr "Stavke analitičkog dnevnika"
#. module: account
#: view:account.fiscalyear.close:0
@@ -5883,6 +6066,8 @@ msgid ""
"year. Note that you can run this wizard many times for the same fiscal year: "
"it will simply replace the old opening entries with the new ones."
msgstr ""
+"Ovaj asistent će kreirati temeljnicu početnog stanja u novoj godini. "
+"Najprije će obrisati postojeće knjiženje početnog stanja i kreirati novo."
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_bank_and_cash
@@ -5897,16 +6082,20 @@ msgid ""
"the tool search to analyse information about analytic entries generated in "
"the system."
msgstr ""
+"From this view, have an analysis of your different analytic entries "
+"following the analytic account you defined matching your business need. Use "
+"the tool search to analyse information about analytic entries generated in "
+"the system."
#. module: account
#: sql_constraint:account.journal:0
msgid "The name of the journal must be unique per company !"
-msgstr ""
+msgstr "Naziv dnevnika mora biti jedinstven za jednu organizaciju!"
#. module: account
#: field:account.account.template,nocreate:0
msgid "Optional create"
-msgstr ""
+msgstr "Opcionalno kreiranje"
#. module: account
#: code:addons/account/invoice.py:406
@@ -5914,7 +6103,7 @@ msgstr ""
#: code:addons/account/invoice.py:1348
#, python-format
msgid "Can not find account chart for this company, Please Create account."
-msgstr ""
+msgstr "Can not find account chart for this company, Please Create account."
#. module: account
#: code:addons/account/wizard/account_report_aged_partner_balance.py:57
@@ -5933,7 +6122,7 @@ msgstr "Povrat URA"
#. module: account
#: model:ir.ui.menu,name:account.menu_dashboard_acc
msgid "Dashboard"
-msgstr "Kontrolna ploča"
+msgstr "Kokpit"
#. module: account
#: field:account.bank.statement,move_line_ids:0
@@ -6031,7 +6220,7 @@ msgstr "Naziv modela"
#. module: account
#: field:account.chart.template,property_account_expense_categ:0
msgid "Expense Category Account"
-msgstr "Konto kategorije troška"
+msgstr "Konto troška"
#. module: account
#: view:account.bank.statement:0
@@ -6071,7 +6260,7 @@ msgstr "Stavke: "
#. module: account
#: view:account.use.model:0
msgid "Create manual recurring entries in a chosen journal."
-msgstr ""
+msgstr "Ručno kreiraj ponavljajuće temeljnice za odabrani dnevnik."
#. module: account
#: code:addons/account/account.py:1393
@@ -6090,6 +6279,13 @@ msgid ""
"account. From this view, you can create and manage the account types you "
"need for your company."
msgstr ""
+"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."
#. module: account
#: model:ir.actions.act_window,help:account.action_account_bank_reconcile_tree
@@ -6098,11 +6294,14 @@ msgid ""
"corresponds with the entries (or records) of that account in your accounting "
"system."
msgstr ""
+"Bank Reconciliation consists of verifying that your bank statement "
+"corresponds with the entries (or records) of that account in your accounting "
+"system."
#. module: account
#: model:process.node,note:account.process_node_draftstatement0
msgid "State is draft"
-msgstr "Stanje je 'U pripremi'"
+msgstr "Stanje je 'Nacrt'"
#. module: account
#: view:account.move.line:0
@@ -6134,6 +6333,8 @@ msgid ""
"This account will be used instead of the default one as the receivable "
"account for the current partner"
msgstr ""
+"Konto potraživanja od kupaca za ovog partnera, ako je različit od "
+"uobičajenog (12...)"
#. module: account
#: field:account.tax,python_applicable:0
@@ -6152,6 +6353,7 @@ msgstr "Python kod"
msgid ""
"Please define the Reserve and Profit/Loss account for current user company !"
msgstr ""
+"Please define the Reserve and Profit/Loss account for current user company !"
#. module: account
#: help:account.journal,update_posted:0
@@ -6159,6 +6361,8 @@ msgid ""
"Check this box if you want to allow the cancellation the entries related to "
"this journal or of the invoice related to this journal"
msgstr ""
+"Označite ako želite dopustiti naknadno otkazivanje proknjiženih (potvrđenih) "
+"temeljnica ili računa ovog dnevnika."
#. module: account
#: view:account.fiscalyear.close:0
@@ -6236,6 +6440,10 @@ msgid ""
"reconcile in a series of accounts. It finds entries for each partner where "
"the amounts correspond."
msgstr ""
+"Račun je plaćen kada su sve njegove stavke dugovanja kupca (ili potraživanja "
+"dobavljača) zatvorene kontra stavkama, najčešće plaćanjima banke, blagajne "
+"ili sl. Funkcija automatskog zatvaranja za svakog partnera pronalazi stavke "
+"odgovarajućeg iznosa."
#. module: account
#: view:account.move:0
@@ -6250,7 +6458,7 @@ msgstr "Za provjeru"
#: model:ir.ui.menu,name:account.menu_action_move_journal_line_form
#: model:ir.ui.menu,name:account.menu_finance_entries
msgid "Journal Entries"
-msgstr "Stavke dnevnika"
+msgstr "Stavke"
#. module: account
#: help:account.partner.ledger,page_split:0
@@ -6264,6 +6472,8 @@ msgid ""
"This report is an analysis done by a partner. It is a PDF report containing "
"one line per partner representing the cumulative credit balance"
msgstr ""
+"This report is an analysis done by a partner. It is a PDF report containing "
+"one line per partner representing the cumulative credit balance"
#. module: account
#: code:addons/account/wizard/account_validate_account_move.py:61
@@ -6271,6 +6481,7 @@ msgstr ""
msgid ""
"Selected Entry Lines does not have any account move enties in draft state"
msgstr ""
+"Selected Entry Lines does not have any account move enties in draft state"
#. module: account
#: selection:account.aged.trial.balance,target_move:0
@@ -6302,8 +6513,8 @@ msgstr "Sve stavke"
msgid ""
"Error: The default UOM and the purchase UOM must be in the same category."
msgstr ""
-"Greška: Zadana jedinica mjere i kupovna jedinica mjere moraju biti u istoj "
-"kategoriji."
+"Greška: Zadana jedinica mjere i jedinica mjere nabave moraju biti iz iste "
+"kategorije jedinica mjera."
#. module: account
#: view:account.journal.select:0
@@ -6314,7 +6525,7 @@ msgstr "Odabir dnevnika"
#: code:addons/account/wizard/account_change_currency.py:65
#, python-format
msgid "Currnt currency is not confirured properly !"
-msgstr ""
+msgstr "Currnt currency is not confirured properly !"
#. module: account
#: model:ir.model,name:account.model_account_move_reconcile
@@ -6339,7 +6550,7 @@ msgstr "Glavna knjiga"
#. module: account
#: model:process.transition,note:account.process_transition_paymentorderbank0
msgid "The payment order is sent to the bank."
-msgstr ""
+msgstr "Nalog za plaćanje je poslan u banku."
#. module: account
#: view:account.balance.report:0
@@ -6349,6 +6560,9 @@ msgid ""
"allowing you to quickly check the balance of each of your accounts in a "
"single report"
msgstr ""
+"This report allows you to print or generate a pdf of your trial balance "
+"allowing you to quickly check the balance of each of your accounts in a "
+"single report"
#. module: account
#: help:account.move,to_check:0
@@ -6356,6 +6570,8 @@ msgid ""
"Check this box if you are unsure of that journal entry and if you want to "
"note it as 'to be reviewed' by an accounting expert."
msgstr ""
+"Označite \"za provjeru\" kada niste sigurni da li je knjiženje ispravno i "
+"kada je potrebno ekspertno mišljenje."
#. module: account
#: help:account.installer.modules,account_voucher:0
@@ -6363,6 +6579,8 @@ msgid ""
"Account Voucher module includes all the basic requirements of Voucher "
"Entries for Bank, Cash, Sales, Purchase, Expenses, Contra, etc... "
msgstr ""
+"Account Voucher module includes all the basic requirements of Voucher "
+"Entries for Bank, Cash, Sales, Purchase, Expenses, Contra, etc... "
#. module: account
#: view:account.chart.template:0
@@ -6397,6 +6615,13 @@ msgid ""
"\n"
"e.g. My model on %(date)s"
msgstr ""
+"Možete navesti godinu, mjesec i dan u nazivu modela pomoću ovih oznaka:\n"
+"\n"
+"%(year)s: za godinu \n"
+"%(month)s: za mjesec \n"
+"%(date)s: tenutni datum\n"
+"\n"
+"npr. Knjiženje troškova plaće za %(month)s"
#. module: account
#: model:ir.actions.act_window,name:account.action_aged_income
@@ -6406,7 +6631,7 @@ msgstr "Konta prihoda"
#. module: account
#: help:report.invoice.created,origin:0
msgid "Reference of the document that generated this invoice report."
-msgstr ""
+msgstr "Oznaka dokumenta koji je kreirao ovaj račun."
#. module: account
#: field:account.tax.code,child_ids:0
@@ -6425,7 +6650,7 @@ msgstr "Nedovoljni Podaci!"
#: model:ir.actions.act_window,name:account.action_invoice_tree1
#: model:ir.ui.menu,name:account.menu_action_invoice_tree1
msgid "Customer Invoices"
-msgstr "Računi kupca"
+msgstr "Izlazni računi"
#. module: account
#: field:account.move.line.reconcile,writeoff:0
@@ -6435,7 +6660,7 @@ msgstr "Iznos otpisa"
#. module: account
#: view:account.analytic.line:0
msgid "Sales"
-msgstr "Prodaje"
+msgstr "Prodaja"
#. module: account
#: view:account.journal.column:0
@@ -6449,12 +6674,12 @@ msgstr "Stupac dnevnika"
#: selection:account.subscription,state:0
#: selection:report.invoice.created,state:0
msgid "Done"
-msgstr "Gotovo"
+msgstr "Izvršeno"
#. module: account
#: model:process.transition,note:account.process_transition_invoicemanually0
msgid "A statement with manual entries becomes a draft statement."
-msgstr ""
+msgstr "A statement with manual entries becomes a draft statement."
#. module: account
#: view:account.aged.trial.balance:0
@@ -6466,6 +6691,11 @@ msgid ""
"you request an interval of 30 days OpenERP generates an analysis of "
"creditors for the past month, past two months, and so on. "
msgstr ""
+"Struktura dospjelih dugovanja/potraživanja partnera je detaljniji izvještaj "
+"o dugovanjima/potraživanjima u intervalima. Za zadani period i broj dana "
+"intervala analize OpenERP izračunava tablicu dugovanja po intervalu. Ako "
+"zadate interval od 30 dana analiza će pokazati dugovanja do 30, 30 do 60, 60 "
+"do 90 dana i tako dalje. "
#. module: account
#: field:account.invoice,origin:0
@@ -6480,11 +6710,13 @@ msgid ""
"reports, so that you can see positive figures instead of negative ones in "
"expenses accounts."
msgstr ""
+"Omogućuje promjenu predznaka salda u izvještajima tako da se mogu prikazati "
+"pozitivni iznosi umjesto negativnih (duguje-potražuje)*predznak."
#. module: account
#: model:ir.actions.act_window,name:account.act_account_acount_move_line_open_unreconciled
msgid "Unreconciled Entries"
-msgstr "Otvorene stavke"
+msgstr "Otvorene stavke IOS-i"
#. module: account
#: model:ir.ui.menu,name:account.menu_menu_Bank_process
@@ -6511,6 +6743,10 @@ msgid ""
"an agreement with a customer or a supplier. With Define Recurring Entries, "
"you can create such entries to automate the postings in the system."
msgstr ""
+"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."
#. module: account
#: field:account.entries.report,product_uom_id:0
@@ -6527,6 +6763,10 @@ msgid ""
"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."
msgstr ""
+"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."
#. module: account
#: selection:account.automatic.reconcile,power:0
@@ -6539,6 +6779,7 @@ msgid ""
"This date will be used as the invoice date for Refund Invoice and Period "
"will be chosen accordingly!"
msgstr ""
+"Datum računa za odobrenje, a fiskalni period će se odrediti automatski!"
#. module: account
#: field:account.aged.trial.balance,period_length:0
@@ -6560,18 +6801,26 @@ msgstr "Retci analitike"
#: model:ir.actions.act_window,help:account.action_account_analytic_account_tree2
msgid ""
"The normal chart of accounts has a structure defined by the legal "
-"requirement of the country. The analytic chart of accounts structure should "
+"requirement of the country. The analytic chart of account 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."
msgstr ""
+"Struktura kontnog plana glavne knjige zadana je zakonskim odredbama države u "
+"kojoj poslujemo.\n"
+"Struktura analitičkih kontnih planova bi trebala odražavati specifičnosti "
+"Vašeg poslovanja u pogledu izvještavanja o troškovima i prihodima. \n"
+"Uobičajeno je otvaranje troškovnih/upravljačkih analitičkih planova po "
+"odjelima, projektima, ugovorima, linijama proizvoda i slično.Većina "
+"aktivnosti u OpenERP-u (računi, ev.rada, troškovi radnika, itd) usput "
+"generiraju analitička knjiženja na relevantna analitička konta."
#. module: account
#: field:account.analytic.journal,line_ids:0
#: field:account.tax.code,line_ids:0
msgid "Lines"
-msgstr "Retci"
+msgstr "Stavke"
#. module: account
#: code:addons/account/invoice.py:521
@@ -6579,7 +6828,7 @@ msgstr "Retci"
msgid ""
"Can not find account chart for this company in invoice line account, Please "
"Create account."
-msgstr ""
+msgstr "Nedostaje kontni plan za ovu organizaciju. Kreirajte konta."
#. module: account
#: view:account.tax.template:0
@@ -6589,7 +6838,7 @@ msgstr "Predlošci poreza"
#. module: account
#: view:account.journal.select:0
msgid "Are you sure you want to open Journal Entries?"
-msgstr ""
+msgstr "Potvrdite otvaranje stavki."
#. module: account
#: view:account.state.open:0
@@ -6618,7 +6867,7 @@ msgstr "Izvod"
#. module: account
#: help:account.journal,default_debit_account_id:0
msgid "It acts as a default account for debit amount"
-msgstr ""
+msgstr "Uobičajeni konto za dugovni iznos"
#. module: account
#: model:ir.module.module,description:account.module_meta_information
@@ -6644,6 +6893,33 @@ msgid ""
"module named account_voucher.\n"
" "
msgstr ""
+"Accounting and Financial Management.\n"
+"====================================\n"
+"\n"
+"Financial and accounting module that covers:\n"
+"--------------------------------------------\n"
+"General accountings\n"
+"Cost / Analytic accounting\n"
+"Third party accounting\n"
+"Taxes management\n"
+"Budgets\n"
+"Customer and Supplier Invoices\n"
+"Bank statements\n"
+"Reconciliation process by partner\n"
+"\n"
+"Creates a dashboard for accountants that includes:\n"
+"--------------------------------------------------\n"
+"* List of Customer Invoice to Approve\n"
+"* Company Analysis\n"
+"* Graph of Aged Receivables\n"
+"* Graph of Treasury\n"
+"\n"
+"The processes like maintaining of general ledger is done through the defined "
+"financial Journals (entry move line or\n"
+"grouping is maintained through journal) for a particular financial year and "
+"for preparation of vouchers there is a\n"
+"module named account_voucher.\n"
+" "
#. module: account
#: model:ir.actions.act_window,help:account.action_account_journal_period_tree
@@ -6651,6 +6927,8 @@ msgid ""
"You can search for individual account entries through useful information. To "
"search for account entries, open a journal, then select a record line."
msgstr ""
+"You can search for individual account entries through useful information. To "
+"search for account entries, open a journal, then select a record line."
#. module: account
#: report:account.invoice:0
@@ -6669,7 +6947,7 @@ msgstr "Ukupan iznos dugovanja kupca"
#. module: account
#: model:ir.model,name:account.model_ir_sequence
msgid "ir.sequence"
-msgstr "ir.sequence"
+msgstr "ir.slijed"
#. module: account
#: field:account.journal.period,icon:0
@@ -6700,6 +6978,9 @@ msgid ""
"new counterpart but will share the same counterpart. This is used in fiscal "
"year closing."
msgstr ""
+"Označite ako ne želite da se kod knjiženja ovog dnevnika za svaku stavku "
+"stvara protustavka, već se kreira jedna protustavka za cijelu temeljnicu. "
+"Primjer: završna knjiženja kod zatvaranja poslovne godine."
#. module: account
#: field:account.bank.statement,closing_date:0
@@ -6732,6 +7013,8 @@ msgid ""
"Bank Account Number, Company bank account if Invoice is customer or supplier "
"refund, otherwise Partner bank account number."
msgstr ""
+"Broj računa banke, naš žiro rn. ako se radi o izlaznom računu ili odobrenju "
+"dobavljača, inače broj računa partnera."
#. module: account
#: help:account.tax,domain:0
@@ -6747,7 +7030,7 @@ msgstr ""
#: code:addons/account/account.py:938
#, python-format
msgid "You should have chosen periods that belongs to the same company"
-msgstr ""
+msgstr "You should have chosen periods that belongs to the same company"
#. module: account
#: field:account.fiscalyear.close,report_name:0
@@ -6767,7 +7050,7 @@ msgstr "Izvještavanje"
#. module: account
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
-msgstr ""
+msgstr "Šifra dnevnika mora biti jedinstvena (za organizaciju) !"
#. module: account
#: field:account.bank.statement,ending_details_ids:0
@@ -6792,6 +7075,8 @@ msgid ""
"the system to go through the reconciliation process, based on the latest day "
"it have been reconciled."
msgstr ""
+"Pokazuje slijedećeg partnera u procesu zatvaranja IOS-a, a prema zadnjem "
+"danu zatvaranja IOS-a."
#. module: account
#: field:account.move.line.reconcile.writeoff,comment:0
@@ -6817,6 +7102,10 @@ msgid ""
"line of the expense account, OpenERP will propose to you automatically the "
"Tax related to this account and the counter-part \"Account Payable\"."
msgstr ""
+"Kartica za ručni upis knjiženja u OpenERP. Ako želite upisati ulazni račun, "
+"najprije upišite stavku troška, a program će automatski ponuditi slijedeću "
+"stavku(e) poreza prema definiranim porezima na kontu troška, a zatim i "
+"stavku ukupnog potraživanja dobavljača na kontu potraživanja partnera."
#. module: account
#: help:res.company,property_reserve_and_surplus_account:0
@@ -6825,13 +7114,16 @@ msgid ""
"will be added, Loss : Amount will be deducted.), Which is calculated from "
"Profit & Loss Report"
msgstr ""
+"This Account is used for transferring Profit/Loss(If It is Profit: Amount "
+"will be added, Loss : Amount will be deducted.), Which is calculated from "
+"Profit & Loss Report"
#. module: account
#: view:account.invoice.line:0
#: field:account.invoice.tax,invoice_id:0
#: model:ir.model,name:account.model_account_invoice_line
msgid "Invoice Line"
-msgstr "Redak računa"
+msgstr "Stavka računa"
#. module: account
#: field:account.balance.report,display_account:0
@@ -6861,7 +7153,7 @@ msgstr " dan u mjesecu= -1"
#. module: account
#: constraint:res.partner:0
msgid "Error ! You can not create recursive associated members."
-msgstr "Greška ! Ne možete kreirati rekurzivno pridružene članove."
+msgstr "Greška ! Ne možete kreirati rekurzivne pridružene članove."
#. module: account
#: help:account.journal,type:0
@@ -6873,13 +7165,19 @@ msgid ""
"Situation' to be used at the time of new fiscal year creation or end of year "
"entries generation."
msgstr ""
+"Select 'Sale' for Sale journal to be used at the time of making invoice. "
+"Select 'Purchase' for Purchase Journal to be used at the time of approving "
+"purchase order. Select 'Cash' to be used at the time of making payment. "
+"Select 'General' for miscellaneous operations. Select 'Opening/Closing "
+"Situation' to be used at the time of new fiscal year creation or end of year "
+"entries generation."
#. module: account
#: report:account.invoice:0
#: view:account.invoice:0
#: report:account.move.voucher:0
msgid "PRO-FORMA"
-msgstr "Predračun"
+msgstr "Pro-forma"
#. module: account
#: help:account.installer.modules,account_followup:0
@@ -6887,6 +7185,8 @@ msgid ""
"Helps you generate reminder letters for unpaid invoices, including multiple "
"levels of reminding and customized per-partner policies."
msgstr ""
+"Helps you generate reminder letters for unpaid invoices, including multiple "
+"levels of reminding and customized per-partner policies."
#. module: account
#: selection:account.entries.report,move_line_state:0
@@ -6930,6 +7230,7 @@ msgid ""
"This field is used for payable and receivable journal entries. You can put "
"the limit date for the payment of this line."
msgstr ""
+"Koristi se za salda konti kupaca i dobavljača. Upišite datum valute plaćanja."
#. module: account
#: code:addons/account/account_move_line.py:1271
@@ -6948,12 +7249,12 @@ msgstr "Dnevnik prodaje"
#: code:addons/account/wizard/account_move_journal.py:104
#, python-format
msgid "Open Journal Items !"
-msgstr "Otvori stavke dnevnika"
+msgstr "Prikaži stavke!"
#. module: account
#: model:ir.model,name:account.model_account_invoice_tax
msgid "Invoice Tax"
-msgstr "Porezi tačuna"
+msgstr "Porezi računa"
#. module: account
#: code:addons/account/account_move_line.py:1246
@@ -6993,7 +7294,7 @@ msgstr "Fiskalna godina za zatvaranje"
#: view:account.invoice.cancel:0
#: model:ir.actions.act_window,name:account.action_account_invoice_cancel
msgid "Cancel Selected Invoices"
-msgstr "Poništi odabrane račune"
+msgstr "Otkaži odabrane račune"
#. module: account
#: selection:account.entries.report,month:0
@@ -7030,7 +7331,7 @@ msgstr "Šifra"
#. module: account
#: view:validate.account.move:0
msgid "Post Journal Entries of a Journal"
-msgstr "Proknjiži"
+msgstr "Knjiženje temeljnica dnevnika"
#. module: account
#: view:product.product:0
@@ -7049,7 +7350,7 @@ msgstr "Gotovina"
#: field:account.fiscal.position.account,account_dest_id:0
#: field:account.fiscal.position.account.template,account_dest_id:0
msgid "Account Destination"
-msgstr "Ciljni račun"
+msgstr "Ciljni konto"
#. module: account
#: model:process.node,note:account.process_node_supplierpaymentorder0
@@ -7080,7 +7381,7 @@ msgstr "Bilanca"
msgid ""
"Check this if the price you use on the product and invoices includes this "
"tax."
-msgstr "Označite ovu kućicu ako cena proizvoda i racuna sadrze ovaj porez"
+msgstr "Cijena na proizvodu i računu sadrži ovaj porez."
#. module: account
#: view:account.state.open:0
@@ -7111,6 +7412,11 @@ msgid ""
"in which they will appear. Then you can create a new journal and link your "
"view to it."
msgstr ""
+"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."
#. module: account
#: view:account.payment.term.line:0
@@ -7166,6 +7472,9 @@ msgid ""
"to the higher ones. The order is important if you have a tax with several "
"tax children. In this case, the evaluation order is important."
msgstr ""
+"The sequence field is used to order the tax lines from the lowest sequences "
+"to the higher ones. The order is important if you have a tax with several "
+"tax children. In this case, the evaluation order is important."
#. module: account
#: model:ir.model,name:account.model_account_cashbox_line
@@ -7217,7 +7526,7 @@ msgstr "Stanje stavke"
#: model:ir.model,name:account.model_account_move_line_reconcile
#: model:ir.model,name:account.model_account_move_line_reconcile_writeoff
msgid "Account move line reconcile"
-msgstr ""
+msgstr "Account move line reconcile"
#. module: account
#: view:account.subscription.generate:0
@@ -7257,13 +7566,13 @@ msgstr "Partner"
#. module: account
#: help:account.change.currency,currency_id:0
msgid "Select a currency to apply on the invoice"
-msgstr ""
+msgstr "Odaberite valutu računa"
#. module: account
#: code:addons/account/wizard/account_invoice_refund.py:100
#, python-format
msgid "Can not %s draft/proforma/cancel invoice."
-msgstr ""
+msgstr "Nije moguće %s račun u stanju nacrt/proforma/otkazan."
#. module: account
#: code:addons/account/invoice.py:787
@@ -7297,6 +7606,8 @@ msgid ""
"Select Fiscal Year which you want to remove entries for its End of year "
"entries journal"
msgstr ""
+"Select Fiscal Year which you want to remove entries for its End of year "
+"entries journal"
#. module: account
#: field:account.tax.template,type_tax_use:0
@@ -7307,7 +7618,7 @@ msgstr "Primjena poreza za"
#: code:addons/account/account_bank_statement.py:346
#, python-format
msgid "The account entries lines are not in valid state."
-msgstr ""
+msgstr "The account entries lines are not in valid state."
#. module: account
#: field:account.account.type,close_method:0
@@ -7323,7 +7634,7 @@ msgstr "Račun '%s' je plaćen."
#. module: account
#: model:process.node,note:account.process_node_electronicfile0
msgid "Automatic entry"
-msgstr ""
+msgstr "Automatski upis"
#. module: account
#: constraint:account.tax.code.template:0
@@ -7341,8 +7652,8 @@ msgid ""
"If this box is checked, the system will try to group the accounting lines "
"when generating them from invoices."
msgstr ""
-"Ako je cekirano, sistem ce probati da grupise konta prilikom generisanja iz "
-"racuna."
+"Grupiranje istovrsnih redova računa u jednu stavku knjiženja (ako je isti "
+"konto, strana, porez ...)"
#. module: account
#: help:account.period,state:0
@@ -7350,6 +7661,8 @@ msgid ""
"When monthly periods are created. The state is 'Draft'. At the end of "
"monthly period it is in 'Done' state."
msgstr ""
+"When monthly periods are created. The state is 'Draft'. At the end of "
+"monthly period it is in 'Done' state."
#. module: account
#: report:account.analytic.account.inverted.balance:0
@@ -7413,11 +7726,14 @@ msgid ""
"will see the taxes with codes related to your legal statement according to "
"your country."
msgstr ""
+"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."
#. module: account
#: view:account.installer.modules:0
msgid "Add extra Accounting functionalities to the ones already installed."
-msgstr ""
+msgstr "Add extra Accounting functionalities to the ones already installed."
#. module: account
#: report:account.analytic.account.cost_ledger:0
@@ -7447,7 +7763,7 @@ msgstr "Izaberite fiskalnu godinu"
#: code:addons/account/installer.py:495
#, python-format
msgid "Purchase Refund Journal"
-msgstr "Dnevnik povrata nabave"
+msgstr "Dnevnik odobrenja dobavljača"
#. module: account
#: help:account.tax.template,amount:0
@@ -7466,6 +7782,8 @@ msgid ""
"Modify Invoice: Cancels the current invoice and creates a new copy of it "
"ready for editing."
msgstr ""
+"Promjeni račun: Kreira storno/odobrenje cijelog računa, zatvara ga i kreira "
+"novu kopiju spremnu za izmjene."
#. module: account
#: model:ir.module.module,shortdesc:account.module_meta_information
@@ -7528,7 +7846,7 @@ msgstr "Dnevnik otpisa"
msgid ""
"This payment term will be used instead of the default one for the current "
"partner"
-msgstr "Ovi uvjeti plaćanja će se koristiti za ovog partnera."
+msgstr "Ovaj uvjet plaćanja će se koristiti kao uobičajeni za ovog partnera."
#. module: account
#: view:account.tax.template:0
@@ -7538,7 +7856,7 @@ msgstr "Kod za izračun cijena sa uključenim porezima"
#. module: account
#: field:account.chart.template,property_account_income_categ:0
msgid "Income Category Account"
-msgstr "Konto prihoda"
+msgstr "Zadani konto prihoda za grupu proizvoda"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_fiscal_position_template_form
@@ -7564,6 +7882,10 @@ msgid ""
"can easily generate refunds and reconcile them directly from the invoice "
"form."
msgstr ""
+"With Customer Refunds you can manage the credit notes for your customers. A "
+"refund is a document that credits an invoice completely or partially. You "
+"can easily generate refunds and reconcile them directly from the invoice "
+"form."
#. module: account
#: model:ir.actions.act_window,help:account.action_account_vat_declaration
@@ -7575,6 +7897,12 @@ msgid ""
"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."
msgstr ""
+"This menu print a VAT 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."
#. module: account
#: report:account.invoice:0
@@ -7584,7 +7912,7 @@ msgstr "Tel.:"
#. module: account
#: field:account.account,company_currency_id:0
msgid "Company Currency"
-msgstr "Valuta tvrtke"
+msgstr "Valuta organizacije"
#. module: account
#: model:process.node,name:account.process_node_paymententries0
@@ -7599,6 +7927,9 @@ msgid ""
"added, Loss: Amount will be duducted), which is calculated from Profilt & "
"Loss Report"
msgstr ""
+"This Account is used for transfering Profit/Loss (Profit: Amount will be "
+"added, Loss: Amount will be duducted), which is calculated from Profilt & "
+"Loss Report"
#. module: account
#: help:account.move.line,blocked:0
@@ -7606,6 +7937,8 @@ msgid ""
"You can check this box to mark this journal item as a litigation with the "
"associated partner"
msgstr ""
+"Možete provjeriti ovaj okvir kako bi obilježili stavku temeljnice kao "
+"poveznicu s pripadajućim partnerom."
#. module: account
#: field:account.move.line,reconcile_partial_id:0
@@ -7616,17 +7949,17 @@ msgstr "Djelomično zatvaranje"
#. module: account
#: model:ir.model,name:account.model_account_analytic_inverted_balance
msgid "Account Analytic Inverted Balance"
-msgstr ""
+msgstr "Account Analytic Inverted Balance"
#. module: account
#: model:ir.model,name:account.model_account_common_report
msgid "Account Common Report"
-msgstr ""
+msgstr "Računovodstveni izvještaji"
#. module: account
#: model:process.transition,name:account.process_transition_filestatement0
msgid "Automatic import of the bank sta"
-msgstr ""
+msgstr "Automatski uvoz bankovnih izvoda"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_journal_view
@@ -7637,19 +7970,19 @@ msgstr "Pogledi dnevnika"
#. module: account
#: model:ir.model,name:account.model_account_move_bank_reconcile
msgid "Move bank reconcile"
-msgstr ""
+msgstr "Move bank reconcile"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_type_form
#: model:ir.ui.menu,name:account.menu_action_account_type_form
msgid "Account Types"
-msgstr "Tipovi konta"
+msgstr "Account Types"
#. module: account
#: code:addons/account/invoice.py:897
#, python-format
msgid "Cannot create invoice move on centralised journal"
-msgstr ""
+msgstr "Cannot create invoice move on centralised journal"
#. module: account
#: field:account.account.type,report_type:0
@@ -7684,7 +8017,7 @@ msgstr "Saldo blagajne"
#. module: account
#: model:ir.model,name:account.model_account_fiscalyear_close_state
msgid "Fiscalyear Close state"
-msgstr ""
+msgstr "Fiscalyear Close state"
#. module: account
#: field:account.invoice.refund,journal_id:0
@@ -7714,18 +8047,22 @@ msgid ""
"sales orders or deliveries. You should only confirm them before sending them "
"to your customers."
msgstr ""
+"Izlazni računi koje izdajete Vašim kupcima. OpenERP obično kreira račune "
+"automatski iz prodajnih naloga ili otpremnica. Vi ih trebate provjeriti i "
+"potvrditi prije slanja kupcima. Potvrdom se generira broj računa i "
+"automatsko knjiženje dokumenta."
#. module: account
#: view:account.entries.report:0
#: view:board.board:0
#: model:ir.actions.act_window,name:account.action_company_analysis_tree
msgid "Company Analysis"
-msgstr "Analiza tvrtke"
+msgstr "Analiza organizacije"
#. module: account
#: help:account.invoice,account_id:0
msgid "The partner account used for this invoice."
-msgstr "Konto partnera za ovu fakturu"
+msgstr "Konto partnera za ovaj račun"
#. module: account
#: field:account.tax.code,parent_id:0
@@ -7750,6 +8087,7 @@ msgstr "Dnevnik URA"
#: view:account.invoice.refund:0
msgid "Refund Invoice: Creates the refund invoice, ready for editing."
msgstr ""
+"Račun odobrenja: Kreira nacrt računa odobrenja, spremnog za promjene."
#. module: account
#: field:account.invoice.line,price_subtotal:0
@@ -7759,12 +8097,12 @@ msgstr "Podzbroj"
#. module: account
#: view:account.vat.declaration:0
msgid "Print Tax Statement"
-msgstr ""
+msgstr "Ispis porezne izjave"
#. module: account
#: view:account.model.line:0
msgid "Journal Entry Model Line"
-msgstr ""
+msgstr "Stavka modela temeljnice"
#. module: account
#: view:account.invoice:0
@@ -7786,6 +8124,7 @@ msgstr "Dobavljači"
msgid ""
"You cannot create more than one move per period on centralized journal"
msgstr ""
+"You cannot create more than one move per period on centralized journal"
#. module: account
#: view:account.journal:0
@@ -7795,14 +8134,14 @@ msgstr "Dozvoljene vrste konta (prazno za bez kontrole)"
#. module: account
#: view:res.partner:0
msgid "Supplier Accounting Properties"
-msgstr "Svojstva računovodstva dobavljača"
+msgstr "SK Dobavljača"
#. module: account
#: help:account.move.line,amount_residual:0
msgid ""
"The residual amount on a receivable or payable of a journal entry expressed "
"in the company currency."
-msgstr ""
+msgstr "Ostatak iznosa dugovanja ili potraživanja u valuti organizacije."
#. module: account
#: view:account.payment.term.line:0
@@ -7828,7 +8167,7 @@ msgstr "Fiskalna godina zatvorena"
#. module: account
#: sql_constraint:account.account:0
msgid "The code of the account must be unique per company !"
-msgstr ""
+msgstr "Šifra konta mora biti jedinstvena za jednu organizaciju !"
#. module: account
#: model:ir.actions.act_window,name:account.act_account_journal_2_account_invoice_opened
@@ -7905,7 +8244,7 @@ msgstr ""
msgid ""
"The amount of the voucher must be the same amount as the one on the "
"statement line"
-msgstr ""
+msgstr "Iznos vaučera mora biti jednak iznosu stavke izvoda banke/blagajne."
#. module: account
#: code:addons/account/account_move_line.py:1131
@@ -7923,14 +8262,14 @@ msgstr "Prazno za sve otvorene fiskalne godine"
#: code:addons/account/account_move_line.py:1056
#, python-format
msgid "The account move (%s) for centralisation has been confirmed!"
-msgstr ""
+msgstr "The account move (%s) for centralisation has been confirmed!"
#. module: account
#: help:account.move.line,amount_currency:0
msgid ""
"The amount expressed in an optional other currency if it is a multi-currency "
"entry."
-msgstr ""
+msgstr "Iznos u drugoj valuti ."
#. module: account
#: view:account.account:0
@@ -7965,11 +8304,12 @@ msgstr "Valuta"
msgid ""
"Gives the sequence order when displaying a list of bank statement lines."
msgstr ""
+"Gives the sequence order when displaying a list of bank statement lines."
#. module: account
#: model:process.transition,note:account.process_transition_validentries0
msgid "Accountant validates the accounting entries coming from the invoice."
-msgstr ""
+msgstr "Knjigovođa potvrđuje temeljnicu nastalu potvrdom računa."
#. module: account
#: model:ir.actions.act_window,help:account.action_account_fiscalyear_form
@@ -7982,6 +8322,13 @@ msgid ""
"would be referred to as FY 2011. You are not obliged to follow the actual "
"calendar year."
msgstr ""
+"Definirajte financijsku godinu poduzeća u skladu s vašim potrebama. "
+"Financijska godina je razdoblje na temelju kojeg su postavljeni računi "
+"poduzeća (najčešće 12 mjeseci) .Financijska godina obično nazivaju prema "
+"datum u kojem ista završava. Na primjer, ako tvrtka je financijskoj godini "
+"završava 30. studenoga 2011, sve između 1 prosinca 2010 i 30. studeni 2011 "
+"odnositi će se kao FG 2011. Niste dužni slijediti stvarei kalendarske "
+"godine."
#. module: account
#: model:ir.actions.act_window,name:account.act_account_acount_move_line_reconcile_open
@@ -8005,6 +8352,15 @@ msgid ""
"* The 'Paid' state is set automatically when invoice is paid. \n"
"* The 'Cancelled' state is used when user cancel invoice."
msgstr ""
+" * 'Nacrt' - upis računa je u tijeku, račun još nije potvrđen. \n"
+"* 'Pro-forma' - račun još nije pravovaljan - nije mu dodijeljen broj računa. "
+" \n"
+"* 'Otvoren' - broj računa je dodijeljen, račun je s tim brojem knjižen i "
+"ostaje otvoren dok se ne plati. \n"
+"* 'Plaćen' - stanje se automatski postavlja zatvaranjem svih IOS-a ovog "
+"računa. \n"
+"* 'Otkazan' - račun je iz nekog razloga otkazan i ostaje u sistemu radi "
+"evidencije."
#. module: account
#: field:account.invoice.refund,period:0
@@ -8014,7 +8370,7 @@ msgstr "Forsiraj period"
#. module: account
#: model:ir.model,name:account.model_account_partner_balance
msgid "Print Account Partner Balance"
-msgstr ""
+msgstr "Print Account Partner Balance"
#. module: account
#: field:res.partner,contract_ids:0
@@ -8036,7 +8392,7 @@ msgstr "Dnevnik početnog stanja"
#. module: account
#: model:process.transition,note:account.process_transition_customerinvoice0
msgid "Draft invoices are checked, validated and printed."
-msgstr ""
+msgstr "Nacrti računa se provjeravaju, potvrđuju i ispisuju."
#. module: account
#: help:account.chart.template,property_reserve_and_surplus_account:0
@@ -8045,6 +8401,9 @@ msgid ""
"will be added, Loss: Amount will be deducted.), Which is calculated from "
"Profilt & Loss Report"
msgstr ""
+"Ovaj račun se koristi za prijenos Dobiti / gubitka (ako je Profit: Iznos će "
+"biti dodan, gubitak: Iznos će biti odbijen.),Izračunava se iz Izvješća o "
+"dobiti / gubitku"
#. module: account
#: field:account.invoice,reference_type:0
@@ -8083,6 +8442,8 @@ msgid ""
"the amount of this case into its parent. For example, set 1/-1 if you want "
"to add/substract it."
msgstr ""
+"Koeficijent zbrajanja na nadređenu grupu. Npr. 1/-1 za zbrajanje/oduzimanje "
+"ili 0 za izostavljanje."
#. module: account
#: view:account.invoice:0
@@ -8106,7 +8467,7 @@ msgstr "Otvori dnevnik"
#. module: account
#: report:account.analytic.account.journal:0
msgid "KI"
-msgstr ""
+msgstr "KI"
#. module: account
#: report:account.analytic.account.cost_ledger:0
@@ -8120,7 +8481,7 @@ msgstr "Od perioda"
#: code:addons/account/installer.py:476
#, python-format
msgid "Sales Refund Journal"
-msgstr "Dnevnik povrata IRA"
+msgstr "Dnevnik odobrenja kupcima"
#. module: account
#: code:addons/account/account.py:927
@@ -8129,6 +8490,8 @@ msgid ""
"You cannot modify company of this period as its related record exist in "
"Entry Lines"
msgstr ""
+"You cannot modify company of this period as its related record exist in "
+"Entry Lines"
#. module: account
#: view:account.move:0
@@ -8145,7 +8508,7 @@ msgstr "Registrirana plaćanja"
#. module: account
#: view:account.fiscalyear.close.state:0
msgid "Close states of Fiscal year and periods"
-msgstr ""
+msgstr "Close states of Fiscal year and periods"
#. module: account
#: view:account.analytic.line:0
@@ -8164,7 +8527,7 @@ msgstr "Analitika"
#: model:process.node,name:account.process_node_invoiceinvoice0
#: model:process.node,name:account.process_node_supplierinvoiceinvoice0
msgid "Create Invoice"
-msgstr "Stvori račun"
+msgstr "Kreiraj račun"
#. module: account
#: field:account.installer,purchase_tax:0
@@ -8192,7 +8555,7 @@ msgstr "Postavke Vaše računovodstvene aplikacije"
#: code:addons/account/installer.py:479
#, python-format
msgid "SCNJ"
-msgstr ""
+msgstr "SCNJ"
#. module: account
#: model:process.transition,note:account.process_transition_analyticinvoice0
@@ -8200,6 +8563,8 @@ msgid ""
"Analytic costs (timesheets, some purchased products, ...) come from analytic "
"accounts. These generate draft invoices."
msgstr ""
+"Analitički troškovi (ev. rada, nabava, ...) dolaze sa analitičkih "
+"konta(računa). Oni mogu kreirati nacrte računa."
#. module: account
#: help:account.journal,view_id:0
@@ -8209,6 +8574,10 @@ msgid ""
"in which order. You can create your own view for a faster encoding in each "
"journal."
msgstr ""
+"Gives the view used when writing or browsing entries in this journal. The "
+"view tells OpenERP which fields should be visible, required or readonly and "
+"in which order. You can create your own view for a faster encoding in each "
+"journal."
#. module: account
#: field:account.period,date_stop:0
@@ -8243,7 +8612,7 @@ msgstr "Od perioda"
#: code:addons/account/account.py:2333
#, python-format
msgid "Cannot locate parent code for template account!"
-msgstr ""
+msgstr "Cannot locate parent code for template account!"
#. module: account
#: field:account.aged.trial.balance,direction_selection:0
@@ -8274,7 +8643,7 @@ msgstr "Ukupno potražuje"
#. module: account
#: model:process.transition,note:account.process_transition_suppliervalidentries0
msgid "Accountant validates the accounting entries coming from the invoice. "
-msgstr ""
+msgstr "Knjigovođa potvrđuje temeljnicu nastalu potvrdom računa. "
#. module: account
#: code:addons/account/invoice.py:1008
@@ -8283,6 +8652,7 @@ msgid ""
"You cannot cancel the Invoice which is Partially Paid! You need to "
"unreconcile concerned payment entries!"
msgstr ""
+"Ne možete otkazati račun koji je djelomično plaćen, dok ne otvorite stavke!"
#. module: account
#: report:account.overdue:0
@@ -8308,7 +8678,7 @@ msgstr "Ne može se knjižiti na sintetički konto."
#: code:addons/account/wizard/account_change_currency.py:71
#, python-format
msgid "Current currency is not confirured properly !"
-msgstr ""
+msgstr "Current currency is not confirured properly !"
#. module: account
#: model:ir.actions.act_window,help:account.action_invoice_tree4
@@ -8318,6 +8688,10 @@ msgid ""
"partially. You can easily generate refunds and reconcile them directly from "
"the invoice form."
msgstr ""
+"With Supplier Refunds you can manage the credit notes you receive from your "
+"suppliers. A refund is a document that credits an invoice completely or "
+"partially. You can easily generate refunds and reconcile them directly from "
+"the invoice form."
#. module: account
#: view:account.account.template:0
@@ -8338,7 +8712,7 @@ msgstr "RDG (konta prihoda)"
#: view:account.tax:0
#: view:account.tax.template:0
msgid "Keep empty to use the income account"
-msgstr "Ostavite prazno za koto prihoda"
+msgstr "Ostavite prazno za konto prihoda"
#. module: account
#: field:account.account,balance:0
@@ -8373,7 +8747,7 @@ msgstr "Saldo"
#. module: account
#: model:process.node,note:account.process_node_supplierbankstatement0
msgid "Manually or automatically entered in the system"
-msgstr ""
+msgstr "Manually or automatically entered in the system"
#. module: account
#: report:account.account.balance:0
@@ -8410,6 +8784,8 @@ msgid ""
"This report is analysis by partner. It is a PDF report containing one line "
"per partner representing the cumulative credit balance."
msgstr ""
+"This report is analysis by partner. It is a PDF report containing one line "
+"per partner representing the cumulative credit balance."
#. module: account
#: selection:account.account,type:0
@@ -8445,18 +8821,24 @@ msgid ""
"the income account. OpenERP will propose to you automatically the Tax "
"related to this account and the counter-part \"Account receivable\"."
msgstr ""
+"Kartica za ručni upis knjiženja u OpenERP. Ako želite knjižiti izlazni račun "
+"kupcu, odaberite dnevnik (vrsta dnevnika - izlazni računi) i fiskalni "
+"period. Najprije upišite stavku prihoda, a program će automatski ponuditi "
+"slijedeću stavku(e) poreza prema definiranim porezima na kontu troška, a "
+"zatim i stavku ukupnog dugovanja kupca na konto dugovanja sa kartice "
+"partnera."
#. module: account
#: code:addons/account/account_bank_statement.py:391
#, python-format
msgid "Cannot delete bank statement(s) which are already confirmed !"
-msgstr ""
+msgstr "Ne možete obrisati bankovni izvod koji je prethodno potvrđen !"
#. module: account
#: code:addons/account/wizard/account_automatic_reconcile.py:152
#, python-format
msgid "You must select accounts to reconcile"
-msgstr ""
+msgstr "Morate odabrati konta za zatvaranje"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_receivable_graph
@@ -8466,7 +8848,7 @@ msgstr "Saldo po vrsti konta"
#. module: account
#: model:process.transition,note:account.process_transition_entriesreconcile0
msgid "Accounting entries are the first input of the reconciliation."
-msgstr ""
+msgstr "Accounting entries are the first input of the reconciliation."
#. module: account
#: model:ir.actions.act_window,help:account.action_account_period_form
@@ -8478,6 +8860,11 @@ msgid ""
"closed or left open depending on your company's activities over a specific "
"period."
msgstr ""
+"Ovdje se definiraju fiskalni periodi. Ovi knjigovodstveni periodi bi trebali "
+"odgovarati periodima po kojima vaša organizacija ima obvezu prijave poreza "
+"na dodanu vrijednost. Najčešće se radi o mjesečnim ili tromjesečnim "
+"razdobljima. Zatvaranje perioda zabranjuje daljnja knjiženja za taj period. "
+"Preporuča se zatvaranje perioda nakon predaje porezne prijave."
#. module: account
#: report:account.move.voucher:0
@@ -8510,12 +8897,12 @@ msgstr "Temeljnica"
#: code:addons/account/account_move_line.py:1128
#, python-format
msgid "You can not change the tax, you should remove and recreate lines !"
-msgstr ""
+msgstr "You can not change the tax, you should remove and recreate lines !"
#. module: account
#: report:account.central.journal:0
msgid "A/C No."
-msgstr ""
+msgstr "A/C No."
#. module: account
#: model:ir.actions.act_window,name:account.act_account_journal_2_account_bank_statement
@@ -8527,11 +8914,12 @@ msgstr "Bankovni izvodi"
msgid ""
"Creates an account with the selected template under this existing parent."
msgstr ""
+"Creates an account with the selected template under this existing parent."
#. module: account
#: selection:account.model.line,date_maturity:0
msgid "Date of the day"
-msgstr ""
+msgstr "Date of the day"
#. module: account
#: code:addons/account/wizard/account_move_bank_reconcile.py:49
@@ -8551,7 +8939,7 @@ msgstr "Transakcije zatvaranja"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_common_menu
msgid "Common Report"
-msgstr ""
+msgstr "Izvještaji"
#. module: account
#: view:account.account:0
@@ -8566,6 +8954,8 @@ msgid ""
"The journal must have centralised counterpart without the Skipping draft "
"state option checked!"
msgstr ""
+"The journal must have centralised counterpart without the Skipping draft "
+"state option checked!"
#. module: account
#: model:process.node,note:account.process_node_paymententries0
@@ -8585,7 +8975,7 @@ msgstr "Srpanj"
#. module: account
#: view:account.account:0
-msgid "Chart of Accounts"
+msgid "Chart of accounts"
msgstr "Kontni plan"
#. module: account
@@ -8632,7 +9022,7 @@ msgstr "Do perioda"
#: field:account.print.journal,chart_account_id:0
#: field:account.report.general.ledger,chart_account_id:0
#: field:account.vat.declaration,chart_account_id:0
-msgid "Chart of Accounts"
+msgid "Chart of account"
msgstr "Kontni plan"
#. module: account
@@ -8648,7 +9038,7 @@ msgstr "Standardne stavke"
#. module: account
#: model:ir.model,name:account.model_account_subscription
msgid "Account Subscription"
-msgstr ""
+msgstr "Pretplata"
#. module: account
#: code:addons/account/invoice.py:717
@@ -8698,7 +9088,7 @@ msgstr "Početni datum"
#. module: account
#: model:process.node,name:account.process_node_supplierdraftinvoices0
msgid "Draft Invoices"
-msgstr "Neodobreni računi"
+msgstr "Nacrti računa"
#. module: account
#: selection:account.account.type,close_method:0
@@ -8716,7 +9106,7 @@ msgstr "Pogrešan ukupni iznos !"
#. module: account
#: field:account.journal,sequence_id:0
msgid "Entry Sequence"
-msgstr "Redoslijed unosa"
+msgstr "Brojčana serija"
#. module: account
#: model:ir.actions.act_window,help:account.action_account_period_tree
@@ -8729,6 +9119,13 @@ msgid ""
"open period. Close a period when you do not want to record new entries and "
"want to lock this period for tax related calculation."
msgstr ""
+"A period is a fiscal period of time during which accounting entries should "
+"be recorded for accounting related activities. Monthly period is the norm "
+"but depending on your countries or company needs, you could also have "
+"quarterly periods. Closing a period will make it impossible to record new "
+"accounting entries, all new entries should then be made on the following "
+"open period. Close a period when you do not want to record new entries and "
+"want to lock this period for tax related calculation."
#. module: account
#: view:account.analytic.account:0
@@ -8739,7 +9136,7 @@ msgstr "Na čekanju"
#: model:process.transition,name:account.process_transition_analyticinvoice0
#: model:process.transition,name:account.process_transition_supplieranalyticcost0
msgid "From analytic accounts"
-msgstr ""
+msgstr "Iz analitičkog računa"
#. module: account
#: field:account.installer.modules,account_payment:0
@@ -8779,6 +9176,9 @@ msgid ""
"Make sure you have configured Payment Term properly !\n"
"It should contain atleast one Payment Term Line with type \"Balance\" !"
msgstr ""
+"You cannot validate a non-balanced entry !\n"
+"Make sure you have configured Payment Term properly !\n"
+"It should contain atleast one Payment Term Line with type \"Balance\" !"
#. module: account
#: help:res.partner,property_account_payable:0
@@ -8786,6 +9186,8 @@ msgid ""
"This account will be used instead of the default one as the payable account "
"for the current partner"
msgstr ""
+"Konto obveza prema dobavljačima za ovog partnera, ako je različit od "
+"uobičajenog (22...)"
#. module: account
#: field:account.period,special:0
@@ -8802,7 +9204,7 @@ msgstr "Sekundarna valuta"
#. module: account
#: model:ir.model,name:account.model_validate_account_move
msgid "Validate Account Move"
-msgstr ""
+msgstr "Validate Account Move"
#. module: account
#: field:account.account,credit:0
@@ -8836,6 +9238,8 @@ msgid ""
"created. If you leave that field empty, it will use the same journal as the "
"current invoice."
msgstr ""
+"Odaberite dnevnik za račun odobrenja/storna. Ako ostavite prazno, koristiti "
+"će se dnevnik ovog računa (isti dnevnik)."
#. module: account
#: report:account.move.voucher:0
@@ -8846,12 +9250,12 @@ msgstr ""
#: view:account.general.journal:0
#: model:ir.ui.menu,name:account.menu_account_general_journal
msgid "General Journals"
-msgstr ""
+msgstr "General Journals"
#. module: account
#: view:account.model:0
msgid "Journal Entry Model"
-msgstr ""
+msgstr "Model temeljnice"
#. module: account
#: code:addons/account/wizard/account_use_model.py:44
@@ -8861,6 +9265,8 @@ msgid ""
"payment term!\n"
"Please define partner on it!"
msgstr ""
+"Datum dospijeća stavke unosa generira se od strane modela linije '%s', te se "
+"temelji se na roku plaćanja partnera! NMolimo definirati partnera!"
#. module: account
#: field:account.cashbox.line,number:0
@@ -8942,7 +9348,7 @@ msgstr "Travanj"
#. module: account
#: view:account.move.line.reconcile.select:0
msgid "Open for Reconciliation"
-msgstr ""
+msgstr "Open for Reconciliation"
#. module: account
#: field:account.account,parent_left:0
@@ -8955,12 +9361,15 @@ msgid ""
"Refund invoice base on this type. You can not Modify and Cancel if the "
"invoice is already reconciled"
msgstr ""
+"Kreiraj račun odobrenja. Zatvorene (plaćene) račune ne možete mijenjati ili "
+"otkazati."
#. module: account
#: help:account.installer.modules,account_analytic_plans:0
msgid ""
"Allows invoice lines to impact multiple analytic accounts simultaneously."
msgstr ""
+"Allows invoice lines to impact multiple analytic accounts simultaneously."
#. module: account
#: field:account.installer,sale_tax:0
@@ -8971,7 +9380,7 @@ msgstr "Porez prodaje(%)"
#: model:ir.actions.act_window,name:account.action_invoice_tree2
#: model:ir.ui.menu,name:account.menu_action_invoice_tree2
msgid "Supplier Invoices"
-msgstr "Računi dobavljača"
+msgstr "Ulazni računi"
#. module: account
#: view:account.analytic.line:0
@@ -8996,6 +9405,9 @@ msgid ""
"and is the process of transferring debit and credit amounts from a journal "
"of original entry to a ledger book."
msgstr ""
+"Ažuriranje temeljnice \"knjiženje u gl. knjigu\" je proces prijenosa iznosa "
+"duguje i potražuje iz dnevnika u glavnu knjigu. Kod nekih izvještaja možete "
+"birati između ažuriranih stavaka ili svih evidentiranih stavaka."
#. module: account
#: report:account.tax.code.entries:0
@@ -9018,6 +9430,8 @@ msgid ""
"This report allows you to print or generate a pdf of your general ledger "
"with details of all your account journals"
msgstr ""
+"This report allows you to print or generate a pdf of your general ledger "
+"with details of all your account journals"
#. module: account
#: selection:account.account,type:0
@@ -9115,7 +9529,7 @@ msgstr "Dan u mjesecu"
#: field:account.fiscal.position.tax,tax_src_id:0
#: field:account.fiscal.position.tax.template,tax_src_id:0
msgid "Tax Source"
-msgstr "Porez"
+msgstr "Iz poreza"
#. module: account
#: report:account.balancesheet:0
@@ -9133,7 +9547,7 @@ msgstr "Brojači poslovne godine"
#. module: account
#: help:account.model,name:0
msgid "This is a model for recurring accounting entries"
-msgstr "Ovo je model za ponavljajuće računovodstvene unose"
+msgstr "Ovo je predložak za ponavljajuće temeljnice"
#. module: account
#: code:addons/account/account_analytic_line.py:100
@@ -9146,7 +9560,7 @@ msgstr "Ne postoji konto prihoda za ovaj proizvod: \"%s\" (id:%d)"
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
msgid "JRNL"
-msgstr ""
+msgstr "JRNL"
#. module: account
#: view:account.payment.term.line:0
@@ -9209,22 +9623,22 @@ msgstr "Dnevnik: Svi"
#: field:analytic.entries.report,company_id:0
#: field:wizard.multi.charts.accounts,company_id:0
msgid "Company"
-msgstr "Tvrtka"
+msgstr "Organizacija"
#. module: account
#: model:ir.ui.menu,name:account.menu_action_subscription_form
msgid "Define Recurring Entries"
-msgstr ""
+msgstr "Postava ponavljajućih dok."
#. module: account
#: field:account.entries.report,date_maturity:0
msgid "Date Maturity"
-msgstr ""
+msgstr "Datum valute"
#. module: account
#: help:account.bank.statement,total_entry_encoding:0
msgid "Total cash transactions"
-msgstr ""
+msgstr "Ukupno transakcije blagajne"
#. module: account
#: help:account.partner.reconcile.process,today_reconciled:0
@@ -9233,6 +9647,9 @@ msgid ""
"reconciliation process today. The current partner is counted as already "
"processed."
msgstr ""
+"This figure depicts the total number of partners that have gone throught the "
+"reconciliation process today. The current partner is counted as already "
+"processed."
#. module: account
#: view:account.fiscalyear:0
@@ -9242,12 +9659,12 @@ msgstr "Stvori mjesečna razdoblja"
#. module: account
#: field:account.tax.code.template,sign:0
msgid "Sign For Parent"
-msgstr "Predznak za nadređeni"
+msgstr "Predznak za nadređenog"
#. module: account
#: model:ir.model,name:account.model_account_balance_report
msgid "Trial Balance Report"
-msgstr ""
+msgstr "Izvješće stanja bilance"
#. module: account
#: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree
@@ -9258,12 +9675,12 @@ msgstr "Nepotvrđeni izvodi"
#: model:process.transition,note:account.process_transition_statemententries0
msgid ""
"Manual or automatic creation of payment entries according to the statements"
-msgstr ""
+msgstr "Ručno ili automatsko kreiranje stavki plaćanja prema izvodima"
#. module: account
#: view:account.invoice:0
msgid "Invoice lines"
-msgstr "Retci računa"
+msgstr "Stavke računa"
#. module: account
#: field:account.aged.trial.balance,period_to:0
@@ -9320,17 +9737,17 @@ msgstr "Knjiženje otpisa"
#. module: account
#: model:process.node,note:account.process_node_paidinvoice0
msgid "Invoice's state is Done"
-msgstr ""
+msgstr "Stanje računa je zatvoreno/plaćeno"
#. module: account
#: model:ir.model,name:account.model_report_account_sales
msgid "Report of the Sales by Account"
-msgstr ""
+msgstr "Izvještaj o prodaji po kontu"
#. module: account
#: model:ir.model,name:account.model_account_fiscal_position_account
msgid "Accounts Fiscal Position"
-msgstr ""
+msgstr "Fiskalna pozicija"
#. module: account
#: report:account.invoice:0
@@ -9340,7 +9757,7 @@ msgstr ""
#: model:process.process,name:account.process_process_supplierinvoiceprocess0
#: selection:report.invoice.created,type:0
msgid "Supplier Invoice"
-msgstr "Račun Dobavljača"
+msgstr "Ulazni račun"
#. module: account
#: field:account.account,debit:0
@@ -9370,7 +9787,7 @@ msgstr "Duguje"
#. module: account
#: field:account.invoice,invoice_line:0
msgid "Invoice Lines"
-msgstr "Retci računa"
+msgstr "Stavke računa"
#. module: account
#: constraint:account.account.template:0
@@ -9399,7 +9816,7 @@ msgstr "Stavka je već zatvorena"
#. module: account
#: model:ir.model,name:account.model_report_account_receivable
msgid "Receivable accounts"
-msgstr "Konta Potraživanja"
+msgstr "Konta potraživanja"
#. module: account
#: selection:account.model.line,date_maturity:0
@@ -9451,7 +9868,7 @@ msgstr "Podatci analitičkog konta"
#. module: account
#: view:account.tax.code.template:0
msgid "Account Tax Code Template"
-msgstr "Predložak šifre poreza"
+msgstr "Predložak porezne grupe"
#. module: account
#: model:process.node,name:account.process_node_manually0
@@ -9476,7 +9893,7 @@ msgstr "Ispiši analitičke dnevnike"
#. module: account
#: view:account.analytic.line:0
msgid "Fin.Account"
-msgstr ""
+msgstr "Fin.konto"
#. module: account
#: model:ir.actions.act_window,name:account.action_aged_receivable_graph
@@ -9487,7 +9904,7 @@ msgstr "Stara potraživanja"
#. module: account
#: field:account.tax,applicable_type:0
msgid "Applicability"
-msgstr ""
+msgstr "Primjenjivost"
#. module: account
#: code:addons/account/wizard/account_move_journal.py:165
@@ -9498,18 +9915,18 @@ msgstr "Ovo razdoblje je već zatvoreno !"
#. module: account
#: help:account.move.line,currency_id:0
msgid "The optional other currency if it is a multi-currency entry."
-msgstr ""
+msgstr "The optional other currency if it is a multi-currency entry."
#. module: account
#: model:process.transition,note:account.process_transition_invoiceimport0
msgid ""
"Import of the statement in the system from a supplier or customer invoice"
-msgstr ""
+msgstr "Uvoz naloga u sistem iz ulaznog ili izlaznog računa"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_periodical_processing_billing
msgid "Billing"
-msgstr "Fakturiranje"
+msgstr "Billing"
#. module: account
#: view:account.account:0
@@ -9526,6 +9943,12 @@ msgid ""
"may keep several types of specialized journals such as a cash journal, "
"purchase journal, sales journal..."
msgstr ""
+"Upravljanje dnevnicima Vaše organizacije. Dnevnik se koristi za "
+"evidentiranje svih knjigovodstvenih transakcija koristeći dvojno "
+"knjigovodstvo. Prema naravi aktivnosti i broju transakcija organizacije "
+"koristite više tipova specijaliziranih dnevnika kao što su banka, blagajna, "
+"ulazni računi, izlazni računi i sl. Možete voditi neograničen broj dnevnika, "
+"već prema potrebama."
#. module: account
#: model:ir.model,name:account.model_account_analytic_chart
@@ -9535,7 +9958,7 @@ msgstr "Analitički kontni plan"
#. module: account
#: help:account.invoice,residual:0
msgid "Remaining amount due."
-msgstr "Ostatak dugovnog iznosa."
+msgstr "Ostatak dugovanja."
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_statistic_report_statement
@@ -9558,7 +9981,7 @@ msgstr "Mapiranje konta"
#: code:addons/account/invoice.py:346
#, python-format
msgid "Invoice '%s' is waiting for validation."
-msgstr ""
+msgstr "Račun '%s' čeka potvrdu."
#. module: account
#: selection:account.entries.report,month:0
@@ -9583,7 +10006,7 @@ msgstr "Konto prihoda ili troškova vezan za odabrani proizvod."
#: code:addons/account/account_move_line.py:1117
#, python-format
msgid "The date of your Journal Entry is not in the defined period!"
-msgstr ""
+msgstr "The date of your Journal Entry is not in the defined period!"
#. module: account
#: field:account.subscription,period_total:0
@@ -9594,7 +10017,7 @@ msgstr "Broj perioda"
#: report:account.general.journal:0
#: model:ir.actions.report.xml,name:account.account_general_journal
msgid "General Journal"
-msgstr "Glavni dnevnik"
+msgstr "Opći dnevnik"
#. module: account
#: view:account.invoice:0
@@ -9638,7 +10061,7 @@ msgstr "Dokumenti računovodstva"
#. module: account
#: model:ir.model,name:account.model_validate_account_move_lines
msgid "Validate Account Move Lines"
-msgstr ""
+msgstr "Ažuriraj stavke"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_analytic_cost_ledger_journal
@@ -9649,12 +10072,12 @@ msgstr "Knjiga troškova (Samo količine)"
#. module: account
#: model:process.node,note:account.process_node_supplierpaidinvoice0
msgid "Invoice's state is Done."
-msgstr ""
+msgstr "Stanje računa je zatvoreno/plaćeno."
#. module: account
#: model:process.transition,note:account.process_transition_reconcilepaid0
msgid "As soon as the reconciliation is done, the invoice can be paid."
-msgstr ""
+msgstr "Čim je obavljeno zatvaranje, račun može biti plaćen."
#. module: account
#: view:account.account.template:0
@@ -9685,7 +10108,7 @@ msgstr "account.addtmpl.wizard"
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
msgid "Partner's"
-msgstr "partneri"
+msgstr "Partneri"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_fiscalyear_form
@@ -9700,6 +10123,8 @@ msgid ""
"If the active field is set to False, it will allow you to hide the analytic "
"journal without removing it."
msgstr ""
+"Ako aktivno polje postavljeno na False, to će vam omogućiti da sakrijete "
+"analitiku temeljnice bez da ju uklonite."
#. module: account
#: field:account.analytic.line,ref:0
@@ -9734,7 +10159,7 @@ msgstr "Bankovni račun"
#: model:ir.actions.act_window,name:account.action_account_central_journal
#: model:ir.model,name:account.model_account_central_journal
msgid "Account Central Journal"
-msgstr ""
+msgstr "Account Central Journal"
#. module: account
#: report:account.overdue:0
@@ -9749,7 +10174,7 @@ msgstr "Budućnost"
#. module: account
#: view:account.move.line:0
msgid "Search Journal Items"
-msgstr "Traži stavke dnevnika"
+msgstr "Traži stavke glavne knjige"
#. module: account
#: help:account.tax,base_sign:0
@@ -9771,7 +10196,7 @@ msgstr "Predlozak mapiranja konta"
#. module: account
#: field:account.chart.template,property_account_expense:0
msgid "Expense Account on Product Template"
-msgstr "Konto troškova na predlošku proizvoda"
+msgstr "Zadani konto troška za proizvode"
#. module: account
#: field:account.analytic.line,amount_currency:0
@@ -9801,6 +10226,9 @@ msgid ""
"certain amount of information. They have to be certified by an external "
"auditor annually."
msgstr ""
+"Kreirajte i upravljajte strukturom kontnih planova i kontima koje će te "
+"koristiti za evidenciju knjigovodstvenih dokumenata. Konto je dio glavne "
+"knjige koja omogućuje bilježenje poslovnih transakcija."
#. module: account
#: help:account.move.line,amount_residual_currency:0
@@ -9808,6 +10236,8 @@ msgid ""
"The residual amount on a receivable or payable of a journal entry expressed "
"in its currency (maybe different of the company currency)."
msgstr ""
+"Ostatak iznosa dugovanja ili potraživanja u svojoj valuti (ne nužno valuti "
+"organizacije)."
#. module: account
#: report:account.balancesheet:0
@@ -9887,9 +10317,6 @@ msgstr ""
#~ msgid "Bank Receipt"
#~ msgstr "Bankovni primitak"
-#~ msgid "Ending Balance"
-#~ msgstr "Završni saldo"
-
#, python-format
#~ msgid ""
#~ "The expected balance (%.2f) is different than the computed one. (%.2f)"
@@ -10211,6 +10638,9 @@ msgstr ""
#~ msgid "Credit Trans."
#~ msgstr "Dugovna transakcija"
+#~ msgid "JNRL"
+#~ msgstr "JNRL"
+
#~ msgid "Subscription Entries"
#~ msgstr "Stavke pretplate"
@@ -10339,9 +10769,6 @@ msgstr ""
#~ msgid "Invalid model name in the action definition."
#~ msgstr "Pogrešno ime modela u definiciji akcije."
-#~ msgid "Unreconciled entries"
-#~ msgstr "Otvorene stavke"
-
#~ msgid "Move line select"
#~ msgstr "Odabir stavke knjiženja"
@@ -10905,5 +11332,15 @@ msgstr ""
#~ msgid "Balance Sheet (Assets Accounts)"
#~ msgstr "Bilanca (konta imovine)"
-#~ msgid "Chart of Accounts"
+#~ msgid "Chart of Account"
#~ msgstr "Kontni plan"
+
+#, python-format
+#~ msgid "is validated."
+#~ msgstr "is validated."
+
+#~ msgid "Unreconciled entries"
+#~ msgstr "Unreconciled entries"
+
+#~ msgid "Ending Balance"
+#~ msgstr "Ending Balance"
diff --git a/addons/account/installer.py b/addons/account/installer.py
index a0157e51c8e..cfd434833ae 100644
--- a/addons/account/installer.py
+++ b/addons/account/installer.py
@@ -23,7 +23,6 @@ import logging
import time
import datetime
from dateutil.relativedelta import relativedelta
-from os.path import join as opj
from operator import itemgetter
from tools.translate import _
@@ -58,8 +57,6 @@ class account_installer(osv.osv_memory):
'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_tax': fields.float('Sale Tax(%)'),
- 'purchase_tax': fields.float('Purchase Tax(%)'),
'company_id': fields.many2one('res.company', 'Company', required=True),
'has_default_company' : fields.boolean('Has Default Company', readonly=True),
}
@@ -76,8 +73,6 @@ class account_installer(osv.osv_memory):
'date_start': lambda *a: time.strftime('%Y-01-01'),
'date_stop': lambda *a: time.strftime('%Y-12-31'),
'period': 'month',
- 'sale_tax': 0.0,
- 'purchase_tax': 0.0,
'company_id': _default_company,
'has_default_company': _default_has_default_company,
'charts': 'configurable'
@@ -100,9 +95,6 @@ class account_installer(osv.osv_memory):
res['fields'][field]['selection'] = cmp_select
return res
- def on_change_tax(self, cr, uid, id, tax):
- return {'value': {'purchase_tax': tax}}
-
def on_change_start_date(self, cr, uid, id, start_date=False):
if start_date:
start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d")
@@ -118,92 +110,7 @@ class account_installer(osv.osv_memory):
if context is None:
context = {}
fy_obj = self.pool.get('account.fiscalyear')
- mod_obj = self.pool.get('ir.model.data')
- obj_acc_temp = self.pool.get('account.account.template')
- obj_tax_code_temp = self.pool.get('account.tax.code.template')
- obj_tax_temp = self.pool.get('account.tax.template')
- obj_acc_chart_temp = self.pool.get('account.chart.template')
- record = self.browse(cr, uid, ids, context=context)[0]
for res in self.read(cr, uid, ids, context=context):
- if record.charts == 'configurable':
- fp = tools.file_open(opj('account', 'configurable_account_chart.xml'))
- tools.convert_xml_import(cr, 'account', fp, {}, 'init', True, None)
- fp.close()
- s_tax = (res.get('sale_tax', 0.0))/100
- p_tax = (res.get('purchase_tax', 0.0))/100
- pur_temp_tax = mod_obj.get_object_reference(cr, uid, 'account', 'tax_code_base_purchases')
- pur_temp_tax_id = pur_temp_tax and pur_temp_tax[1] or False
-
- pur_temp_tax_paid = mod_obj.get_object_reference(cr, uid, 'account', 'tax_code_output')
- pur_temp_tax_paid_id = pur_temp_tax_paid and pur_temp_tax_paid[1] or False
-
- sale_temp_tax = mod_obj.get_object_reference(cr, uid, 'account', 'tax_code_base_sales')
- sale_temp_tax_id = sale_temp_tax and sale_temp_tax[1] or False
-
- sale_temp_tax_paid = mod_obj.get_object_reference(cr, uid, 'account', 'tax_code_input')
- sale_temp_tax_paid_id = sale_temp_tax_paid and sale_temp_tax_paid[1] or False
-
- chart_temp_ids = obj_acc_chart_temp.search(cr, uid, [('name','=','Configurable Account Chart Template')], context=context)
- chart_temp_id = chart_temp_ids and chart_temp_ids[0] or False
- if s_tax * 100 > 0.0:
- tax_account_ids = obj_acc_temp.search(cr, uid, [('name', '=', 'Tax Received')], context=context)
- sales_tax_account_id = tax_account_ids and tax_account_ids[0] or False
- vals_tax_code_temp = {
- 'name': _('TAX %s%%') % (s_tax*100),
- 'code': _('TAX %s%%') % (s_tax*100),
- 'parent_id': sale_temp_tax_id
- }
- new_tax_code_temp = obj_tax_code_temp.create(cr, uid, vals_tax_code_temp, context=context)
- vals_paid_tax_code_temp = {
- 'name': _('TAX Received %s%%') % (s_tax*100),
- 'code': _('TAX Received %s%%') % (s_tax*100),
- 'parent_id': sale_temp_tax_paid_id
- }
- new_paid_tax_code_temp = obj_tax_code_temp.create(cr, uid, vals_paid_tax_code_temp, context=context)
- sales_tax_temp = obj_tax_temp.create(cr, uid, {
- 'name': _('Sale TAX %s%%') % (s_tax*100),
- 'amount': s_tax,
- 'base_code_id': new_tax_code_temp,
- 'tax_code_id': new_paid_tax_code_temp,
- 'ref_base_code_id': new_tax_code_temp,
- 'ref_tax_code_id': new_paid_tax_code_temp,
- 'type_tax_use': 'sale',
- 'type': 'percent',
- 'sequence': 0,
- 'account_collected_id': sales_tax_account_id,
- 'account_paid_id': sales_tax_account_id,
- 'chart_template_id': chart_temp_id,
- }, context=context)
- if p_tax * 100 > 0.0:
- tax_account_ids = obj_acc_temp.search(cr, uid, [('name', '=', 'Tax Paid')], context=context)
- purchase_tax_account_id = tax_account_ids and tax_account_ids[0] or False
- vals_tax_code_temp = {
- 'name': _('TAX %s%%') % (p_tax*100),
- 'code': _('TAX %s%%') % (p_tax*100),
- 'parent_id': pur_temp_tax_id
- }
- new_tax_code_temp = obj_tax_code_temp.create(cr, uid, vals_tax_code_temp, context=context)
- vals_paid_tax_code_temp = {
- 'name': _('TAX Paid %s%%') % (p_tax*100),
- 'code': _('TAX Paid %s%%') % (p_tax*100),
- 'parent_id': pur_temp_tax_paid_id
- }
- new_paid_tax_code_temp = obj_tax_code_temp.create(cr, uid, vals_paid_tax_code_temp, context=context)
- purchase_tax_temp = obj_tax_temp.create(cr, uid, {
- 'name': _('Purchase TAX %s%%') % (p_tax*100),
- 'amount': p_tax,
- 'base_code_id': new_tax_code_temp,
- 'tax_code_id': new_paid_tax_code_temp,
- 'ref_base_code_id': new_tax_code_temp,
- 'ref_tax_code_id': new_paid_tax_code_temp,
- 'type_tax_use': 'purchase',
- 'type': 'percent',
- 'sequence': 0,
- 'account_collected_id': purchase_tax_account_id,
- 'account_paid_id': purchase_tax_account_id,
- 'chart_template_id': chart_temp_id,
- }, context=context)
-
if 'date_start' in res and 'date_stop' in res:
f_ids = fy_obj.search(cr, uid, [('date_start', '<=', res['date_start']), ('date_stop', '>=', res['date_stop']), ('company_id', '=', res['company_id'][0])], context=context)
if not f_ids:
diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml
index b495bc1dbca..d6df834f4e8 100644
--- a/addons/account/project/project_view.xml
+++ b/addons/account/project/project_view.xml
@@ -8,15 +8,16 @@
<field name="type">tree</field>
<field eval="8" name="priority"/>
<field name="arch" type="xml">
- <tree toolbar="1" colors="red:state=='pending';grey:state=='done';blue:type=='view'" string="Analytic Accounts">
- <field name="code"/>
+ <tree toolbar="1" colors="red:state=='pending';grey:state in ('cancelled','close');blue:type=='view'" string="Analytic Accounts">
<field name="complete_name"/>
+ <field name="code"/>
<field name="quantity"/>
<field name="date"/>
<field name="user_id" invisible="1"/>
<field name="parent_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
<field name="state" invisible="1"/>
+ <field name="type" invisible="1"/>
</tree>
</field>
</record>
@@ -56,7 +57,7 @@
<field name="type">tree</field>
<field name="field_parent">child_complete_ids</field>
<field name="arch" type="xml">
- <tree colors="red:state=='pending';grey:state=='done';blue:type=='view'" string="Analytic account" toolbar="1">
+ <tree colors="red:state=='pending';grey:state in ('close','cancelled');blue:type=='view'" string="Analytic account" toolbar="1">
<field name="name"/>
<field name="code"/>
<field name="quantity"/>
diff --git a/addons/account/report/account_print_invoice.rml b/addons/account/report/account_print_invoice.rml
index 9d4f2dbe174..ff2a8e525be 100644
--- a/addons/account/report/account_print_invoice.rml
+++ b/addons/account/report/account_print_invoice.rml
@@ -194,7 +194,7 @@
<para style="terp_tblheader_General_Centre">Origin</para>
</td>
<td>
- <para style="terp_tblheader_General_Centre">Your Reference</para>
+ <para style="terp_tblheader_General_Centre">Customer Code</para>
</td>
</tr>
</blockTable>
diff --git a/addons/account/wizard/__init__.py b/addons/account/wizard/__init__.py
index 88ae17f3c7b..d82eff62142 100644
--- a/addons/account/wizard/__init__.py
+++ b/addons/account/wizard/__init__.py
@@ -66,7 +66,6 @@ import account_change_currency
import account_report_balance_sheet
import account_report_profit_loss
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_accountant/__openerp__.py b/addons/account_accountant/__openerp__.py
index d808a38fa18..c1086285f93 100644
--- a/addons/account_accountant/__openerp__.py
+++ b/addons/account_accountant/__openerp__.py
@@ -19,10 +19,10 @@
#
##############################################################################
{
- "name" : "Accountant Access",
+ "name" : "Accounting and Finance",
"version" : "1.1",
"author" : "OpenERP SA",
- "category": 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "normal",
"description": """
Accounting Access Rights.
@@ -45,6 +45,7 @@ user rights to Demo user.
'test': [],
'installable': True,
'active': False,
+ 'application': True,
'certificate': '00395091383933390541',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_accountant/i18n/az.po b/addons/account_accountant/i18n/az.po
new file mode 100644
index 00000000000..ede1216401d
--- /dev/null
+++ b/addons/account_accountant/i18n/az.po
@@ -0,0 +1,37 @@
+# Azerbaijani translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:14+0000\n"
+"PO-Revision-Date: 2011-12-06 05:22+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Azerbaijani <az@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: 2011-12-07 04:52+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
+
+#. module: account_accountant
+#: model:ir.module.module,description:account_accountant.module_meta_information
+msgid ""
+"\n"
+"This module gives the admin user the access to all the accounting features "
+"like the journal\n"
+"items and the chart of accounts.\n"
+" "
+msgstr ""
+"\n"
+"Bu modul jurnal yazıları, hesab qrafikləri kimi mühasibat uçotu "
+"funksiyalarına idarəçilik imkanı verir.\n"
+" "
+
+#. module: account_accountant
+#: model:ir.module.module,shortdesc:account_accountant.module_meta_information
+msgid "Accountant"
+msgstr "Mühasib"
diff --git a/addons/account_accountant/static/src/img/icon.png b/addons/account_accountant/static/src/img/icon.png
new file mode 100644
index 00000000000..611053684cc
--- /dev/null
+++ b/addons/account_accountant/static/src/img/icon.png
Binary files differ
diff --git a/addons/account_analytic_analysis/__openerp__.py b/addons/account_analytic_analysis/__openerp__.py
index 32642caf49c..01ef6a3cb81 100644
--- a/addons/account_analytic_analysis/__openerp__.py
+++ b/addons/account_analytic_analysis/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name' : 'Sales Contract Management',
+ 'name' : 'Contracts Management',
'version' : '1.1',
'category' : 'Sales Management',
'complexity': "normal",
diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py
index 2043c054420..3fe60e449cd 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis.py
+++ b/addons/account_analytic_analysis/account_analytic_analysis.py
@@ -406,7 +406,7 @@ class account_analytic_account(osv.osv):
'ca_theorical': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Theoretical Revenue',
help="Based on the costs you had on the project, what would have been the revenue if all these costs have been invoiced at the normal sale price provided by the pricelist.",
digits_compute=dp.get_precision('Account')),
- 'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Total Duration',
+ 'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Total Time',
help="Number of time you spent on the analytic account (from timesheet). It computes quantities on all journal of type 'general'."),
'last_invoice_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Last Invoice Date',
help="If invoice from the costs, this is the date of the latest invoiced."),
@@ -419,12 +419,12 @@ class account_analytic_account(osv.osv):
'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, type='float', string='Invoiced Time',
help="Number of time (hours/days) that can be invoiced plus those that already have been invoiced."),
'remaining_hours': fields.function(_remaining_hours_calc, type='float', string='Remaining Time',
- help="Computed using the formula: Maximum Duration - Total Time"),
+ help="Computed using the formula: Maximum Time - Total Time"),
'remaining_ca': fields.function(_remaining_ca_calc, type='float', string='Remaining Revenue',
help="Computed using the formula: Max Invoice Price - Invoiced Amount.",
digits_compute=dp.get_precision('Account')),
'revenue_per_hour': fields.function(_revenue_per_hour_calc, type='float', string='Revenue per Time (real)',
- help="Computed using the formula: Invoiced Amount / Total Duration",
+ help="Computed using the formula: Invoiced Amount / Total Time",
digits_compute=dp.get_precision('Account')),
'real_margin': fields.function(_real_margin_calc, type='float', string='Real Margin',
help="Computed using the formula: Invoiced Amount - Total Costs.",
diff --git a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
index 19271cb4af2..1f6444c7351 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
@@ -8,6 +8,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('invoice_id','=',False)]</field>
+ <field name="context">{'search_default_to_invoice': 1}</field>
<field name="search_view_id" ref="account.view_account_analytic_line_filter"/>
</record>
<menuitem action="action_hr_tree_invoiced_all" id="menu_action_hr_tree_invoiced_all" parent="base.menu_invoiced"/>
@@ -70,18 +71,6 @@
</record>
<menuitem action="action_account_analytic_overdue" id="menu_action_account_analytic_overdue" sequence="50" parent="base.menu_invoiced"/>
- <record id="action_account_analytic_overdue" model="ir.actions.act_window">
- <field name="name">Contracts to Renew</field>
- <field name="res_model">account.analytic.account</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form,graph</field>
- <field name="context">{'search_default_has_partner':1, 'search_default_my_accounts':1, 'search_default_draft':1, 'search_default_pending':1, 'search_default_open':1, 'search_default_renew':1}</field>
- <field name="domain">[('type','=','normal')]</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>
- </record>
- <menuitem action="action_account_analytic_overdue" id="menu_action_account_analytic_overdue" sequence="50" parent="base.menu_invoiced"/>
-
<record id="action_account_analytic_overdue_all" model="ir.actions.act_window">
<field name="name">Contracts</field>
<field name="res_model">account.analytic.account</field>
diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
index bae5a8b770c..9bf66c18344 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
@@ -110,22 +110,5 @@
</field>
</record>
- <record id="view_account_analytic_simplified" model="ir.ui.view">
- <field name="name">account.analytic.account.simplified.tree</field>
- <field name="model">account.analytic.account</field>
- <field name="type">tree</field>
- <field eval="20" name="priority"/>
- <field name="arch" type="xml">
- <tree string="Analytic accounts">
- <field name="complete_name"/>
- <field name="code"/>
- <field name="hours_qtt_non_invoiced"/>
- <field name="remaining_hours"/>
- <field name="ca_to_invoice"/>
- <field name="last_invoice_date"/>
- </tree>
- </field>
- </record>
-
</data>
</openerp>
diff --git a/addons/account_analytic_analysis/i18n/hr.po b/addons/account_analytic_analysis/i18n/hr.po
index 7467f5c21c1..6e47a09d215 100644
--- a/addons/account_analytic_analysis/i18n/hr.po
+++ b/addons/account_analytic_analysis/i18n/hr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2010-08-02 20:32+0000\n"
-"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 16:13+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:20+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_invoiced:0
@@ -27,7 +27,7 @@ msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
msgid "Computed using the formula: Max Invoice Price - Invoiced Amount."
-msgstr "Izračunato pomoću formule: Max Cijena Iznos - Iznos dostavnice."
+msgstr "Izračun: Max. cijena računa - Fakturirani iznos."
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours:0
@@ -61,7 +61,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,last_invoice_date:0
msgid "Last Invoice Date"
-msgstr "Zadnji Datum fakture"
+msgstr "Zadnji datum računa"
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
@@ -71,12 +71,12 @@ msgstr "Izračunato pomoću formule: Prihodi Teorijski - Ukupni troškovi"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin_rate:0
msgid "Real Margin Rate (%)"
-msgstr "Realna margina Stopa (%)"
+msgstr "Realna marža(%)"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
msgid "Theoretical Revenue"
-msgstr ""
+msgstr "Teoretski prihod"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_invoiced_date:0
@@ -84,8 +84,8 @@ msgid ""
"If invoice from the costs, this is the date of the latest work or cost that "
"have been invoiced."
msgstr ""
-"Ako račun od troškova, to je datum najnoviji rad ili cijene koje su "
-"fakturirane."
+"Ako je račun iz troškova, to je datum najnovijeg rada ili ulaznog troška "
+"koji je fakturiran."
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_invoicing
@@ -95,12 +95,12 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_date:0
msgid "Date of Last Cost/Work"
-msgstr "Datum Zadnja cijena / Posao"
+msgstr "Datum zadnjeg troška/rada"
#. module: account_analytic_analysis
#: field:account.analytic.account,total_cost:0
msgid "Total Costs"
-msgstr ""
+msgstr "Ukupni troškovi"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_quantity:0
@@ -119,7 +119,7 @@ msgstr "Preostalo vrijeme"
#. module: account_analytic_analysis
#: field:account.analytic.account,theorical_margin:0
msgid "Theoretical Margin"
-msgstr ""
+msgstr "Teoretski iznos"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_theorical:0
@@ -128,25 +128,24 @@ msgid ""
"if all these costs have been invoiced at the normal sale price provided by "
"the pricelist."
msgstr ""
-"Na temelju troškova koje ste imali na projektu, što bi bio prihod ako svi "
-"ovi troškovi su obračunati po normalnoj prodajnoj cijeni proistekli iz "
-"cjenika."
+"Na temelju troškova koje ste imali na projektu, što bi bio prihod da su svi "
+"ovi troškovi obračunati po normalnoj prodajnoj cijeni iz cjenika."
#. module: account_analytic_analysis
#: field:account.analytic.account,user_ids:0
#: field:account_analytic_analysis.summary.user,user:0
msgid "User"
-msgstr ""
+msgstr "Korisnik"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_to_invoice:0
msgid "Uninvoiced Amount"
-msgstr ""
+msgstr "Nefakturirani iznos"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
msgid "Computed using the formula: Invoiced Amount - Total Costs."
-msgstr ""
+msgstr "Izračun: Iznos računa - Ukupni troškovi."
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_non_invoiced:0
@@ -166,12 +165,12 @@ msgstr ""
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
msgid "Hours Summary by User"
-msgstr ""
+msgstr "Uk. sati po korisniku"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
msgid "Invoiced Amount"
-msgstr ""
+msgstr "Iznos na računu"
#. module: account_analytic_analysis
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:533
@@ -183,7 +182,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_invoiced_date:0
msgid "Date of Last Invoiced Cost"
-msgstr ""
+msgstr "Zadnje fakturiranje troška"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_invoiced:0
@@ -193,7 +192,7 @@ msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin:0
msgid "Real Margin"
-msgstr "Reanal margina"
+msgstr "Realna marža"
#. module: account_analytic_analysis
#: constraint:account.analytic.account:0
@@ -205,17 +204,17 @@ msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_invoiced:0
msgid "Total customer invoiced amount for this account."
-msgstr ""
+msgstr "Ukupno fakturirani iznos."
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month
msgid "Hours summary by month"
-msgstr ""
+msgstr "Uk. sati po mjesecima"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin_rate:0
msgid "Computes using the formula: (Real Margin / Total Costs) * 100."
-msgstr ""
+msgstr "Computes using the formula: (Real Margin / Total Costs) * 100."
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_non_invoiced:0
@@ -227,12 +226,12 @@ msgstr ""
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Analytic accounts"
-msgstr ""
+msgstr "Analitička konta"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0
msgid "Remaining Revenue"
-msgstr ""
+msgstr "Preostali prihod"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_to_invoice:0
@@ -240,6 +239,8 @@ msgid ""
"If invoice from analytic account, the remaining amount you can invoice to "
"the customer based on the total costs."
msgstr ""
+"Ako fakturirate sa analitičkog konta, preostali iznos kojeg možete "
+"fakturirati kupcu prema ukupnim troškovima."
#. module: account_analytic_analysis
#: help:account.analytic.account,revenue_per_hour:0
@@ -255,20 +256,20 @@ msgstr ""
#: field:account_analytic_analysis.summary.month,unit_amount:0
#: field:account_analytic_analysis.summary.user,unit_amount:0
msgid "Total Time"
-msgstr ""
+msgstr "Ukupno vrijeme"
#. module: account_analytic_analysis
#: field:account.analytic.account,month_ids:0
#: field:account_analytic_analysis.summary.month,month:0
msgid "Month"
-msgstr ""
+msgstr "Mjesec"
#. module: account_analytic_analysis
#: field:account_analytic_analysis.summary.month,account_id:0
#: field:account_analytic_analysis.summary.user,account_id:0
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_account
msgid "Analytic Account"
-msgstr ""
+msgstr "Konto analitike"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_overpassed
@@ -280,7 +281,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
msgid "All Uninvoiced Entries"
-msgstr ""
+msgstr "Sve nefakturirane stavke"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_quantity:0
@@ -290,7 +291,7 @@ msgstr ""
#. module: account_analytic_analysis
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
-msgstr ""
+msgstr "Error! You can not create recursive analytic accounts."
#. module: account_analytic_analysis
#: help:account.analytic.account,total_cost:0
@@ -298,6 +299,8 @@ msgid ""
"Total of costs for this account. It includes real costs (from invoices) and "
"indirect costs, like time spent on timesheets."
msgstr ""
+"Ukupni troškovi ovog konta. Uključuje stvarne troškove (iz računa) i "
+"indirektne troškove kao što je vrijeme utrošeno po evidencijama rada"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "Neispravan XML za arhitekturu prikaza!"
@@ -330,3 +333,6 @@ msgstr ""
#~ "Promijeni račun analitički prikaz \n"
#~ "za važne podatke za projekt menadžer od usluznih tvrtki.\n"
#~ "Dodaj izbornik za prikaz relevantne informacije za svakog menadžera."
+
+#~ msgid "My Accounts"
+#~ msgstr "My Accounts"
diff --git a/addons/account_analytic_default/__openerp__.py b/addons/account_analytic_default/__openerp__.py
index e46f285d9c6..a842275cdee 100644
--- a/addons/account_analytic_default/__openerp__.py
+++ b/addons/account_analytic_default/__openerp__.py
@@ -22,7 +22,7 @@
{
'name' : 'Account Analytic Defaults',
'version' : '1.0',
- 'category' : 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "normal",
'description': """Set default values for your analytic accounts
Allows to automatically select analytic accounts based on criterions:
diff --git a/addons/account_analytic_default/i18n/hr.po b/addons/account_analytic_default/i18n/hr.po
index 88376676f6d..9fb8cc18a77 100644
--- a/addons/account_analytic_default/i18n/hr.po
+++ b/addons/account_analytic_default/i18n/hr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2010-08-02 20:44+0000\n"
-"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 16:13+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:25+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_analytic_default
#: model:ir.module.module,shortdesc:account_analytic_default.module_meta_information
@@ -28,6 +28,9 @@ msgid ""
"default (eg. create new cutomer invoice or Sale order if we select this "
"partner, it will automatically take this as an analytical account)"
msgstr ""
+"select a partner which will use analytical account specified in analytic "
+"default (eg. create new cutomer invoice or Sale order if we select this "
+"partner, it will automatically take this as an analytical account)"
#. module: account_analytic_default
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner
@@ -39,27 +42,27 @@ msgstr "Pravila analitike"
#. module: account_analytic_default
#: help:account.analytic.default,analytic_id:0
msgid "Analytical Account"
-msgstr ""
+msgstr "Analitički konto"
#. module: account_analytic_default
#: view:account.analytic.default:0
msgid "Current"
-msgstr ""
+msgstr "Trenutno"
#. module: account_analytic_default
#: view:account.analytic.default:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupiraj po..."
#. module: account_analytic_default
#: help:account.analytic.default,date_stop:0
msgid "Default end date for this Analytical Account"
-msgstr ""
+msgstr "Zadani krajnji datum za ovaj analitički konto"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_stock_picking
msgid "Picking List"
-msgstr ""
+msgstr "Skladišni dokument"
#. module: account_analytic_default
#: view:account.analytic.default:0
@@ -73,11 +76,14 @@ msgid ""
"default (eg. create new cutomer invoice or Sale order if we select this "
"company, it will automatically take this as an analytical account)"
msgstr ""
+"select a company which will use analytical account specified in analytic "
+"default (eg. create new cutomer invoice or Sale order if we select this "
+"company, it will automatically take this as an analytical account)"
#. module: account_analytic_default
#: help:account.analytic.default,date_start:0
msgid "Default start date for this Analytical Account"
-msgstr ""
+msgstr "Zadani početni datum za ovaj analitički konto"
#. module: account_analytic_default
#: view:account.analytic.default:0
@@ -88,13 +94,13 @@ msgstr "Proizvod"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_account_analytic_default
msgid "Analytic Distribution"
-msgstr ""
+msgstr "Analytic Distribution"
#. module: account_analytic_default
#: view:account.analytic.default:0
#: field:account.analytic.default,company_id:0
msgid "Company"
-msgstr "Tvrtka"
+msgstr "Organizacija"
#. module: account_analytic_default
#: view:account.analytic.default:0
@@ -110,13 +116,14 @@ msgstr "Stavke"
#. module: account_analytic_default
#: field:account.analytic.default,date_stop:0
msgid "End Date"
-msgstr "Završni datum"
+msgstr "Završni Datum"
#. module: account_analytic_default
#: help:account.analytic.default,user_id:0
msgid ""
"select a user which will use analytical account specified in analytic default"
msgstr ""
+"select a user which will use analytical account specified in analytic default"
#. module: account_analytic_default
#: view:account.analytic.default:0
@@ -145,33 +152,36 @@ msgid ""
"default (eg. create new cutomer invoice or Sale order if we select this "
"product, it will automatically take this as an analytical account)"
msgstr ""
+"odaberite proizvod koji će koristiti analitički račun naveden u analitičkim "
+"zadanim računima (npr. stvaranje novih računa kupaca ili prodajnih naloga "
+"ukoliko smo odabrali ovaj proizvod, automatski će se uzeti analitički račun)"
#. module: account_analytic_default
#: field:account.analytic.default,sequence:0
msgid "Sequence"
-msgstr "Redoslijed"
+msgstr "Sekvenca"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_account_invoice_line
msgid "Invoice Line"
-msgstr ""
+msgstr "Stavka računa"
#. module: account_analytic_default
#: view:account.analytic.default:0
#: field:account.analytic.default,analytic_id:0
msgid "Analytic Account"
-msgstr "Analitički račun"
+msgstr "Konto analitike"
#. module: account_analytic_default
#: view:account.analytic.default:0
msgid "Accounts"
-msgstr ""
+msgstr "Konta"
#. module: account_analytic_default
#: view:account.analytic.default:0
#: field:account.analytic.default,partner_id:0
msgid "Partner"
-msgstr "Stranka"
+msgstr "Partner"
#. module: account_analytic_default
#: field:account.analytic.default,date_start:0
@@ -183,11 +193,12 @@ msgstr "Početni datum"
msgid ""
"Gives the sequence order when displaying a list of analytic distribution"
msgstr ""
+"Gives the sequence order when displaying a list of analytic distribution"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_sale_order_line
msgid "Sales Order Line"
-msgstr ""
+msgstr "Stavka prodajnog naloga"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "Neispravan XML za arhitekturu prikaza!"
diff --git a/addons/account_analytic_plans/i18n/hr.po b/addons/account_analytic_plans/i18n/hr.po
index f34ae4e36d3..8a203825445 100644
--- a/addons/account_analytic_plans/i18n/hr.po
+++ b/addons/account_analytic_plans/i18n/hr.po
@@ -7,20 +7,21 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
-"PO-Revision-Date: 2011-10-17 21:05+0000\n"
-"Last-Translator: Ivan Marijanović <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 16:14+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:21+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_analytic_plans
#: view:analytic.plan.create.model:0
msgid ""
"This distribution model has been saved.You will be able to reuse it later."
msgstr ""
+"This distribution model has been saved.You will be able to reuse it later."
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,plan_id:0
@@ -30,7 +31,7 @@ msgstr "Šifra plana"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "From Date"
-msgstr ""
+msgstr "From Date"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@@ -60,7 +61,7 @@ msgstr ""
#: view:account.crossovered.analytic:0
#: field:account.crossovered.analytic,journal_ids:0
msgid "Analytic Journal"
-msgstr "Analitički Dnevnik"
+msgstr "Dnevnik analitike"
#. module: account_analytic_plans
#: view:account.analytic.plan.line:0
@@ -82,12 +83,12 @@ msgstr "Instanca analitičkog plana"
#. module: account_analytic_plans
#: view:analytic.plan.create.model:0
msgid "Ok"
-msgstr ""
+msgstr "U redu"
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
-msgstr ""
+msgstr "Ne možete kreirati stavke prometa za zatvoreni račun."
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,plan_id:0
@@ -97,12 +98,12 @@ msgstr "Plan modela"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account2_ids:0
msgid "Account2 Id"
-msgstr "Šifra računa 2"
+msgstr "Konto2 Id"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account_ids:0
msgid "Account Id"
-msgstr "Šifra računa"
+msgstr "Account Id"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@@ -117,37 +118,37 @@ msgstr "Šifra"
#. module: account_analytic_plans
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
-msgstr ""
+msgstr "Pogrešno kreditna ili debitnom vrijednost unešene stavke!"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account6_ids:0
msgid "Account6 Id"
-msgstr "Šifra računa 6"
+msgstr "Konto6 Id"
#. module: account_analytic_plans
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_multi_plan_action
msgid "Multi Plans"
-msgstr ""
+msgstr "Višestruki planovi"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_bank_statement_line
msgid "Bank Statement Line"
-msgstr ""
+msgstr "Redak bankovnog izvoda"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,analytic_account_id:0
msgid "Analytic Account"
-msgstr "Račun analitike"
+msgstr "Konto analitike"
#. module: account_analytic_plans
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
-msgstr ""
+msgstr "Šifra dnevnika mora biti jedinstvena (za organizaciju) !"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,ref:0
msgid "Analytic Account Reference"
-msgstr ""
+msgstr "Analytic Account Reference"
#. module: account_analytic_plans
#: constraint:account.move.line:0
@@ -158,7 +159,7 @@ msgstr ""
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_sale_order_line
msgid "Sales Order Line"
-msgstr ""
+msgstr "Stavka prodajnog naloga"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/wizard/analytic_plan_create_model.py:47
@@ -209,7 +210,7 @@ msgstr "Analitički planovi"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Perc(%)"
-msgstr ""
+msgstr "Perc(%)"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,max_required:0
@@ -231,17 +232,17 @@ msgstr "Retci analitičkog plana"
msgid ""
"The amount of the voucher must be the same amount as the one on the "
"statement line"
-msgstr ""
+msgstr "Iznos vaučera mora biti jednak iznosu stavke izvoda banke/blagajne."
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_invoice_line
msgid "Invoice Line"
-msgstr ""
+msgstr "Stavka računa"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Currency"
-msgstr ""
+msgstr "Valuta"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,date1:0
@@ -251,12 +252,12 @@ msgstr "Početni datum"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Company"
-msgstr ""
+msgstr "Organizacija"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account5_ids:0
msgid "Account5 Id"
-msgstr "Šifra računa 5"
+msgstr "Konto5 Id"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance_line
@@ -271,7 +272,7 @@ msgstr "Korijensko konto"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "To Date"
-msgstr ""
+msgstr "To Date"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:321
@@ -288,12 +289,12 @@ msgstr "Ne prikazuj prazne retke"
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.action_analytic_plan_create_model
msgid "analytic.plan.create.model.action"
-msgstr ""
+msgstr "analytic.plan.create.model.action"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account :"
-msgstr ""
+msgstr "Konto analitike :"
#. module: account_analytic_plans
#: model:ir.module.module,description:account_analytic_plans.module_meta_information
@@ -336,7 +337,7 @@ msgstr ""
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account Reference:"
-msgstr "Veza analitičkog računa:"
+msgstr "Analytic Account Reference:"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,name:0
@@ -346,22 +347,22 @@ msgstr "Naziv plana"
#. module: account_analytic_plans
#: field:account.analytic.plan,default_instance_id:0
msgid "Default Entries"
-msgstr "Zadani unosi"
+msgstr "Uobičajene stavke"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_move_line
msgid "Journal Items"
-msgstr ""
+msgstr "Stavke glavne knjige"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account1_ids:0
msgid "Account1 Id"
-msgstr "Šifra računa 1"
+msgstr "Konto1 Id"
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
-msgstr ""
+msgstr "Company must be same for its related account and period."
#. module: account_analytic_plans
#: field:account.analytic.plan.line,min_required:0
@@ -371,7 +372,7 @@ msgstr "Minimalno dozvoljeno (%)"
#. module: account_analytic_plans
#: help:account.analytic.plan.line,root_analytic_id:0
msgid "Root account of this plan."
-msgstr "Korijenski račun ovog plana."
+msgstr "Root account of this plan."
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:201
@@ -384,7 +385,7 @@ msgstr ""
#. module: account_analytic_plans
#: view:analytic.plan.create.model:0
msgid "Save This Distribution as a Model"
-msgstr ""
+msgstr "Save This Distribution as a Model"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@@ -400,7 +401,7 @@ msgstr ""
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_crossovered_analytic
msgid "Print Crossovered Analytic"
-msgstr ""
+msgstr "Print Crossovered Analytic"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:321
@@ -412,28 +413,28 @@ msgstr ""
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_bank_statement
msgid "Bank Statement"
-msgstr ""
+msgstr "Izvod banke"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account3_ids:0
msgid "Account3 Id"
-msgstr "Šifra računa 3"
+msgstr "Konto3 Id"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_invoice
msgid "Invoice"
-msgstr ""
+msgstr "Račun"
#. module: account_analytic_plans
#: view:account.crossovered.analytic:0
#: view:analytic.plan.create.model:0
msgid "Cancel"
-msgstr "Poništi"
+msgstr "Odustani"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account4_ids:0
msgid "Account4 Id"
-msgstr "Šifra računa 4"
+msgstr "Konto4 Id"
#. module: account_analytic_plans
#: view:account.analytic.plan.instance.line:0
@@ -454,7 +455,7 @@ msgstr "na"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "Account Name"
-msgstr "Naziv računa"
+msgstr "Naziv konta"
#. module: account_analytic_plans
#: view:account.analytic.plan.instance.line:0
@@ -469,7 +470,7 @@ msgstr "Šifra raspodjele"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
msgid "%"
-msgstr ""
+msgstr "%"
#. module: account_analytic_plans
#: report:account.analytic.account.crossovered.analytic:0
@@ -485,22 +486,22 @@ msgstr "100.00%"
#: field:account.move.line,analytics_id:0
#: model:ir.model,name:account_analytic_plans.model_account_analytic_default
msgid "Analytic Distribution"
-msgstr "Analitička raspodjela"
+msgstr "Analytic Distribution"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_journal
msgid "Journal"
-msgstr ""
+msgstr "Dnevnik"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_analytic_plan_create_model
msgid "analytic.plan.create.model"
-msgstr ""
+msgstr "analytic.plan.create.model"
#. module: account_analytic_plans
#: field:account.crossovered.analytic,date2:0
msgid "End Date"
-msgstr "Završni datum"
+msgstr "Završni Datum"
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_instance_model_open
@@ -515,7 +516,7 @@ msgstr "Sekvenca"
#. module: account_analytic_plans
#: sql_constraint:account.journal:0
msgid "The name of the journal must be unique per company !"
-msgstr ""
+msgstr "Naziv dnevnika mora biti jedinstven za jednu organizaciju!"
#. module: account_analytic_plans
#: code:addons/account_analytic_plans/account_analytic_plans.py:214
@@ -526,7 +527,7 @@ msgstr ""
#. module: account_analytic_plans
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
-msgstr ""
+msgstr "Ne može se knjižiti na sintetički konto."
#~ msgid "Select Information"
#~ msgstr "Odaberi informacije"
diff --git a/addons/account_asset/__openerp__.py b/addons/account_asset/__openerp__.py
index f3d00b08893..5ae0629c4eb 100644
--- a/addons/account_asset/__openerp__.py
+++ b/addons/account_asset/__openerp__.py
@@ -49,6 +49,7 @@
],
"active": False,
"installable": True,
+ "application": True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml
index d28579a6c1a..e986ef4bf0d 100644
--- a/addons/account_asset/account_asset_view.xml
+++ b/addons/account_asset/account_asset_view.xml
@@ -32,11 +32,11 @@
<field name="prorata"/>
<field name="open_asset"/>
</group>
- <group col="2" colspan="2" groups="analytic.group_analytic_accounting">
- <separator string="Analytic information" colspan="4"/>
- <newline/>
- <field name="account_analytic_id"/>
- </group>
+ <group col="2" colspan="2" groups="analytic.group_analytic_accounting">
+ <separator string="Analytic information" colspan="4"/>
+ <newline/>
+ <field name="account_analytic_id"/>
+ </group>
<separator string="Notes" colspan="4"/>
<field name="note" colspan="4" nolabel="1"/>
</form>
@@ -317,7 +317,7 @@
<field name="name">Review Asset Categories</field>
<field name="res_model">account.asset.category</field>
<field name="view_type">form</field>
- <field name="view_mode">form</field>
+ <field name="view_mode">tree,form</field>
</record>
<record id="asset_category_form_view_todo" model="ir.actions.todo">
diff --git a/addons/account_asset/i18n/hr.po b/addons/account_asset/i18n/hr.po
index 28b856aa75f..6bdd13d286c 100644
--- a/addons/account_asset/i18n/hr.po
+++ b/addons/account_asset/i18n/hr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-24 12:54+0000\n"
-"PO-Revision-Date: 2011-10-17 21:09+0000\n"
-"Last-Translator: Ivan Marijanović <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 16:13+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: Croatian <hr@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: 2011-11-05 05:57+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
@@ -27,12 +27,12 @@ msgstr ""
#: field:account.asset.property,method_end:0
#: field:account.asset.property.history,method_end:0
msgid "Ending date"
-msgstr ""
+msgstr "Završni datum"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation board"
-msgstr ""
+msgstr "Depreciation board"
#. module: account_asset
#: view:account.asset.asset:0
@@ -45,7 +45,7 @@ msgstr ""
#: model:ir.model,name:account_asset.model_account_asset_asset
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
msgid "Asset"
-msgstr "Imovina"
+msgstr "Osnovno sredstvo"
#. module: account_asset
#: constraint:ir.actions.act_window:0
@@ -55,7 +55,7 @@ msgstr "Pogrešan naziv modela u definiciji akcije."
#. module: account_asset
#: selection:account.asset.property,method:0
msgid "Linear"
-msgstr "Linearno"
+msgstr "Linear"
#. module: account_asset
#: view:account.asset.asset:0
@@ -108,7 +108,7 @@ msgstr "Otvorene stavke"
#: model:ir.ui.menu,name:account_asset.menu_finance_Assets
#: model:ir.ui.menu,name:account_asset.menu_finance_config_Assets
msgid "Assets"
-msgstr "Imovina"
+msgstr "Osnovna sredstva"
#. module: account_asset
#: selection:account.asset.property,method:0
@@ -151,7 +151,7 @@ msgstr ""
#. module: account_asset
#: field:account.asset.asset,partner_id:0
msgid "Partner"
-msgstr ""
+msgstr "Partner"
#. module: account_asset
#: wizard_field:account.asset.modify,init,method_period:0
@@ -168,12 +168,12 @@ msgstr ""
#. module: account_asset
#: field:account.asset.property,account_analytic_id:0
msgid "Analytic account"
-msgstr ""
+msgstr "Analitički konto"
#. module: account_asset
#: field:account.asset.property,state:0
msgid "State"
-msgstr ""
+msgstr "Stanje"
#. module: account_asset
#: view:account.asset.asset:0
@@ -212,14 +212,14 @@ msgstr ""
#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
#: model:ir.ui.menu,name:account_asset.menu_wizard_asset_compute
msgid "Compute assets"
-msgstr ""
+msgstr "Izračunaj amortizaciju"
#. module: account_asset
#: wizard_view:account.asset.modify,init:0
#: wizard_button:account.asset.modify,init,asset_modify:0
#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
msgid "Modify asset"
-msgstr ""
+msgstr "Promjeni sredstvo"
#. module: account_asset
#: view:account.asset.asset:0
@@ -230,7 +230,7 @@ msgstr ""
#: view:account.asset.property.history:0
#: model:ir.model,name:account_asset.model_account_asset_property_history
msgid "Asset history"
-msgstr ""
+msgstr "Povijest osnovnog sredstva"
#. module: account_asset
#: field:account.asset.property,date:0
@@ -274,13 +274,13 @@ msgstr ""
#: field:account.asset.category,note:0
#: field:account.asset.property.history,note:0
msgid "Note"
-msgstr ""
+msgstr "Bilješka"
#. module: account_asset
#: selection:account.asset.asset,state:0
#: selection:account.asset.property,state:0
msgid "Draft"
-msgstr ""
+msgstr "Nacrt"
#. module: account_asset
#: field:account.asset.property,type:0
@@ -325,12 +325,12 @@ msgstr ""
#. module: account_asset
#: field:account.asset.asset,active:0
msgid "Active"
-msgstr ""
+msgstr "Aktivan"
#. module: account_asset
#: field:account.asset.property.history,user_id:0
msgid "User"
-msgstr ""
+msgstr "Korisnik"
#. module: account_asset
#: field:account.asset.asset,property_ids:0
@@ -341,7 +341,7 @@ msgstr ""
#: field:account.asset.asset,date:0
#: field:account.asset.property.history,date:0
msgid "Date"
-msgstr ""
+msgstr "Datum"
#. module: account_asset
#: field:account.asset.board,value_net:0
@@ -352,12 +352,12 @@ msgstr ""
#: wizard_view:account.asset.close,init:0
#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
msgid "Close asset"
-msgstr ""
+msgstr "Zatvori sredstvo"
#. module: account_asset
#: field:account.asset.property,history_ids:0
msgid "History"
-msgstr ""
+msgstr "Povijest"
#. module: account_asset
#: field:account.asset.property,account_actif_id:0
@@ -368,27 +368,27 @@ msgstr ""
#: field:account.asset.asset,period_id:0
#: wizard_field:account.asset.compute,init,period_id:0
msgid "Period"
-msgstr ""
+msgstr "Period"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_category_form
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_category_form
msgid "Asset Category"
-msgstr ""
+msgstr "Grupa o.sredstva"
#. module: account_asset
#: wizard_button:account.asset.close,init,end:0
#: wizard_button:account.asset.compute,init,end:0
#: wizard_button:account.asset.modify,init,end:0
msgid "Cancel"
-msgstr ""
+msgstr "Odustani"
#. module: account_asset
#: selection:account.asset.asset,state:0
#: wizard_button:account.asset.compute,asset_compute,end:0
#: selection:account.asset.property,state:0
msgid "Close"
-msgstr ""
+msgstr "Zatvori"
#. module: account_asset
#: selection:account.asset.property,state:0
@@ -441,12 +441,12 @@ msgstr ""
#. module: account_asset
#: field:account.asset.property,journal_id:0
msgid "Journal"
-msgstr ""
+msgstr "Dnevnik"
#. module: account_asset
#: field:account.asset.property.history,name:0
msgid "History name"
-msgstr ""
+msgstr "Naziv"
#. module: account_asset
#: view:account.asset.asset:0
@@ -464,7 +464,7 @@ msgstr ""
#: field:account.asset.category,name:0
#: model:ir.model,name:account_asset.model_account_asset_category
msgid "Asset category"
-msgstr ""
+msgstr "Asset category"
#. module: account_asset
#: view:account.asset.asset:0
@@ -526,4 +526,4 @@ msgstr ""
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
msgid "Asset Hierarchy"
-msgstr ""
+msgstr "hijerarhija imovine"
diff --git a/addons/account_asset/i18n/pt.po b/addons/account_asset/i18n/pt.po
index 126515e07a9..6683b7227db 100755
--- a/addons/account_asset/i18n/pt.po
+++ b/addons/account_asset/i18n/pt.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-11-24 12:54+0000\n"
-"PO-Revision-Date: 2011-07-12 12:04+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2011-12-10 11:58+0000\n"
+"Last-Translator: Paulino Ascenção <Unknown>\n"
"Language-Team: Portuguese <pt@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: 2011-11-05 05:57+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-11 05:36+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
@@ -27,12 +27,12 @@ msgstr "Activos em Aberto"
#: field:account.asset.property,method_end:0
#: field:account.asset.property.history,method_end:0
msgid "Ending date"
-msgstr ""
+msgstr "Data final"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation board"
-msgstr ""
+msgstr "Painel de amortização"
#. module: account_asset
#: view:account.asset.asset:0
@@ -60,7 +60,7 @@ msgstr "Linear"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Change duration"
-msgstr ""
+msgstr "Alterar a duração"
#. module: account_asset
#: field:account.asset.asset,child_ids:0
@@ -70,12 +70,12 @@ msgstr "Activos filho"
#. module: account_asset
#: field:account.asset.board,value_asset:0
msgid "Asset Value"
-msgstr "Valor do Imobilizado"
+msgstr "Valor do Ativo"
#. module: account_asset
#: wizard_field:account.asset.modify,init,name:0
msgid "Reason"
-msgstr ""
+msgstr "Motivo"
#. module: account_asset
#: view:account.asset.asset:0
@@ -94,7 +94,7 @@ msgstr "Movimentos gerados"
#: field:account.asset.property,method_delay:0
#: field:account.asset.property.history,method_delay:0
msgid "Number of interval"
-msgstr ""
+msgstr "Número de intervalo"
#. module: account_asset
#: wizard_button:account.asset.compute,asset_compute,asset_open:0
@@ -136,7 +136,7 @@ msgstr "Histórico de alterações"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation entries"
-msgstr ""
+msgstr "Lançamentos de amortização"
#. module: account_asset
#: view:account.asset.asset:0
@@ -158,12 +158,12 @@ msgstr "Terceiro"
#: field:account.asset.property,method_period:0
#: field:account.asset.property.history,method_period:0
msgid "Period per interval"
-msgstr ""
+msgstr "Período por intervalo"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation duration"
-msgstr ""
+msgstr "Duração da amortização"
#. module: account_asset
#: field:account.asset.property,account_analytic_id:0
@@ -178,7 +178,7 @@ msgstr "Estado"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation methods"
-msgstr ""
+msgstr "Métodos de amortização"
#. module: account_asset
#: view:account.asset.asset:0
@@ -188,12 +188,12 @@ msgstr "Outra informação"
#. module: account_asset
#: field:account.asset.board,value_asset_cumul:0
msgid "Cumul. value"
-msgstr ""
+msgstr "Valor acumulado"
#. module: account_asset
#: view:account.asset.property:0
msgid "Assets methods"
-msgstr ""
+msgstr "Métodos de imobilizado"
#. module: account_asset
#: constraint:ir.ui.view:0
@@ -203,7 +203,7 @@ msgstr "XML Inválido para a Arquitectura de Vista!"
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_asset_property
msgid "Asset property"
-msgstr ""
+msgstr "Propriedade do ativo"
#. module: account_asset
#: wizard_view:account.asset.compute,asset_compute:0
@@ -273,7 +273,7 @@ msgstr "Nome do activo"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Accounts information"
-msgstr ""
+msgstr "Informação das contas"
#. module: account_asset
#: field:account.asset.asset,note:0
@@ -291,7 +291,7 @@ msgstr "Rascunho"
#. module: account_asset
#: field:account.asset.property,type:0
msgid "Depr. method type"
-msgstr ""
+msgstr "Tipo de método de amotiz."
#. module: account_asset
#: field:account.asset.property,account_asset_id:0
@@ -311,7 +311,7 @@ msgstr "Normal"
#. module: account_asset
#: field:account.asset.property,method_progress_factor:0
msgid "Progressif factor"
-msgstr ""
+msgstr "Fator de progressividade"
#. module: account_asset
#: field:account.asset.asset,localisation:0
@@ -326,7 +326,7 @@ msgstr "Método de cálculo"
#. module: account_asset
#: field:account.asset.property,method_time:0
msgid "Time method"
-msgstr ""
+msgstr "Método temporal"
#. module: account_asset
#: field:account.asset.asset,active:0
@@ -341,7 +341,7 @@ msgstr "Utilizador"
#. module: account_asset
#: field:account.asset.asset,property_ids:0
msgid "Asset method name"
-msgstr ""
+msgstr "Nome do método de ativo"
#. module: account_asset
#: field:account.asset.asset,date:0
@@ -368,7 +368,7 @@ msgstr "Histórico"
#. module: account_asset
#: field:account.asset.property,account_actif_id:0
msgid "Depreciation account"
-msgstr ""
+msgstr "Conta de amortização"
#. module: account_asset
#: field:account.asset.asset,period_id:0
@@ -412,24 +412,24 @@ msgstr ""
#. module: account_asset
#: model:ir.module.module,shortdesc:account_asset.module_meta_information
msgid "Asset management"
-msgstr "Gestão de Activo"
+msgstr "Gestão do Imobilizado"
#. module: account_asset
#: view:account.asset.board:0
#: field:account.asset.property,board_ids:0
#: model:ir.model,name:account_asset.model_account_asset_board
msgid "Asset board"
-msgstr ""
+msgstr "Painel do imobilizado"
#. module: account_asset
#: field:account.asset.asset,state:0
msgid "Global state"
-msgstr ""
+msgstr "Estado global"
#. module: account_asset
#: selection:account.asset.property,method_time:0
msgid "Delay"
-msgstr ""
+msgstr "Demora"
#. module: account_asset
#: wizard_view:account.asset.close,init:0
@@ -439,7 +439,7 @@ msgstr "Informação geral"
#. module: account_asset
#: field:account.asset.property,journal_analytic_id:0
msgid "Analytic journal"
-msgstr ""
+msgstr "Diário analítico"
#. module: account_asset
#: field:account.asset.property,name:0
@@ -454,7 +454,7 @@ msgstr "Diário"
#. module: account_asset
#: field:account.asset.property.history,name:0
msgid "History name"
-msgstr "Nome de História"
+msgstr "Nome de histórico"
#. module: account_asset
#: view:account.asset.asset:0
@@ -477,13 +477,13 @@ msgstr "Categoria de activos"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation"
-msgstr ""
+msgstr "Amortização"
#. module: account_asset
#: field:account.asset.asset,code:0
#: field:account.asset.category,code:0
msgid "Asset code"
-msgstr "Código de imobilizado"
+msgstr "Código do ativo"
#. module: account_asset
#: field:account.asset.asset,value_total:0
diff --git a/addons/account_cancel/__openerp__.py b/addons/account_cancel/__openerp__.py
index ac73a2b8c31..647146f98fb 100644
--- a/addons/account_cancel/__openerp__.py
+++ b/addons/account_cancel/__openerp__.py
@@ -23,7 +23,7 @@
"name" : "Cancel Entries",
"version" : "1.1",
"author" : "OpenERP SA",
- "category": 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "normal",
"description": """
Allows cancelling accounting entries.
diff --git a/addons/account_cancel/i18n/hr.po b/addons/account_cancel/i18n/hr.po
index e64a2743ae6..91a5c4c300f 100644
--- a/addons/account_cancel/i18n/hr.po
+++ b/addons/account_cancel/i18n/hr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2010-09-10 16:28+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2011-12-08 15:10+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Croatian <hr@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: 2011-11-05 05:46+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_cancel
#: model:ir.module.module,description:account_cancel.module_meta_information
@@ -25,8 +25,12 @@ msgid ""
"journal. If set to true it allows user to cancel entries & invoices.\n"
" "
msgstr ""
+"\n"
+" Modul dodaje polje \"Dozvoli otkazivanje\" na formi dnevnika. Knjiženja "
+"i računi označenih dnevnika će se moći otkazivati.\n"
+" "
#. module: account_cancel
#: model:ir.module.module,shortdesc:account_cancel.module_meta_information
msgid "Account Cancel"
-msgstr ""
+msgstr "Dozvoli otkazivanje"
diff --git a/addons/account_chart/__openerp__.py b/addons/account_chart/__openerp__.py
index 948f13b5dcb..d476eb1f443 100644
--- a/addons/account_chart/__openerp__.py
+++ b/addons/account_chart/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Charts of Accounts',
+ 'name': 'Template of Charts of Accounts',
'version': '1.1',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'description': """
Remove minimal account chart.
=============================
diff --git a/addons/account_coda/__openerp__.py b/addons/account_coda/__openerp__.py
index dd604e41aca..a51a9a1ede7 100644
--- a/addons/account_coda/__openerp__.py
+++ b/addons/account_coda/__openerp__.py
@@ -20,10 +20,10 @@
##############################################################################
{
- "name" : "Account CODA - import bank statements from coda file",
+ "name" : "CODA Bank Statements",
"version" : "1.0",
"author" : "OpenERP SA",
- "category" : "Hidden",
+ "category": 'Accounting & Finance',
'complexity': "normal",
"description": """
Module provides functionality to import bank statements from coda files.
diff --git a/addons/account_coda/i18n/hr.po b/addons/account_coda/i18n/hr.po
index f18ad9a000f..688d9a3383b 100644
--- a/addons/account_coda/i18n/hr.po
+++ b/addons/account_coda/i18n/hr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2010-10-15 09:33+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 16:14+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Croatian <hr@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: 2011-11-05 05:42+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_coda
#: help:account.coda,journal_id:0
@@ -32,37 +32,37 @@ msgstr "Zapisnik"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda_import
msgid "Account Coda Import"
-msgstr ""
+msgstr "Account Coda Import"
#. module: account_coda
#: field:account.coda,name:0
msgid "Coda file"
-msgstr ""
+msgstr "Coda file"
#. module: account_coda
#: view:account.coda:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupiraj po..."
#. module: account_coda
#: field:account.coda.import,awaiting_account:0
msgid "Default Account for Unrecognized Movement"
-msgstr ""
+msgstr "Konto za nepoznate (konto nep. kupaca)"
#. module: account_coda
#: help:account.coda,date:0
msgid "Import Date"
-msgstr ""
+msgstr "Datum uvoza"
#. module: account_coda
#: field:account.coda,note:0
msgid "Import log"
-msgstr ""
+msgstr "Import log"
#. module: account_coda
#: view:account.coda.import:0
msgid "Import"
-msgstr ""
+msgstr "Uvoz"
#. module: account_coda
#: view:account.coda:0
@@ -81,12 +81,14 @@ msgid ""
"Set here the default account that will be used, if the partner is found but "
"does not have the bank account, or if he is domiciled"
msgstr ""
+"Zadajte uobičajeni konto za slučaj da je partner pronađen, ali nema upisan "
+"bankovni račun."
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,company_id:0
msgid "Company"
-msgstr ""
+msgstr "Organizacija"
#. module: account_coda
#: help:account.coda.import,def_payable:0
@@ -94,11 +96,13 @@ msgid ""
"Set here the payable account that will be used, by default, if the partner "
"is not found"
msgstr ""
+"Postavite ovdje račun plaćanja koji će se koristiti po defaultu ukoliko "
+"partner nije pronađen"
#. module: account_coda
#: view:account.coda:0
msgid "Search Coda"
-msgstr ""
+msgstr "Traži Coda"
#. module: account_coda
#: view:account.coda:0
@@ -110,12 +114,12 @@ msgstr "Korisnik"
#: view:account.coda:0
#: field:account.coda,date:0
msgid "Date"
-msgstr ""
+msgstr "Datum"
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_statement
msgid "Coda Import Logs"
-msgstr ""
+msgstr "Coda Import Logs"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_coda
@@ -125,22 +129,22 @@ msgstr "coda za jedan nalog"
#. module: account_coda
#: field:account.coda.import,def_payable:0
msgid "Default Payable Account"
-msgstr "Osnovni platni konto"
+msgstr "Uobičajeni konto obveza"
#. module: account_coda
#: help:account.coda,name:0
msgid "Store the detail of bank statements"
-msgstr ""
+msgstr "Store the detail of bank statements"
#. module: account_coda
#: view:account.coda.import:0
msgid "Cancel"
-msgstr ""
+msgstr "Odustani"
#. module: account_coda
#: view:account.coda.import:0
msgid "Open Statements"
-msgstr ""
+msgstr "Open Statements"
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:167
@@ -151,13 +155,13 @@ msgstr ""
#. module: account_coda
#: model:ir.ui.menu,name:account_coda.menu_account_coda_import
msgid "Import Coda Statements"
-msgstr ""
+msgstr "Uvoz Coda izjave"
#. module: account_coda
#: view:account.coda.import:0
#: model:ir.actions.act_window,name:account_coda.action_account_coda_import
msgid "Import Coda Statement"
-msgstr ""
+msgstr "Import Coda Statement"
#. module: account_coda
#: model:ir.module.module,description:account_coda.module_meta_information
@@ -171,22 +175,22 @@ msgstr ""
#. module: account_coda
#: view:account.coda:0
msgid "Statements"
-msgstr ""
+msgstr "Izvodi"
#. module: account_coda
#: field:account.bank.statement,coda_id:0
msgid "Coda"
-msgstr ""
+msgstr "Coda"
#. module: account_coda
#: view:account.coda.import:0
msgid "Results :"
-msgstr ""
+msgstr "Rezultat :"
#. module: account_coda
#: view:account.coda.import:0
msgid "Result of Imported Coda Statements"
-msgstr ""
+msgstr "Rezultat uveženih Coda izvoda"
#. module: account_coda
#: help:account.coda.import,def_receivable:0
@@ -194,22 +198,24 @@ msgid ""
"Set here the receivable account that will be used, by default, if the "
"partner is not found"
msgstr ""
+"Zadajte uobičajeni konto potraživanja od kupaca kada partner nije "
+"pronađen/prepoznat sa izvoda."
#. module: account_coda
#: field:account.coda.import,coda:0
#: model:ir.actions.act_window,name:account_coda.act_account_payment_account_bank_statement
msgid "Coda File"
-msgstr ""
+msgstr "Coda File"
#. module: account_coda
#: model:ir.model,name:account_coda.model_account_bank_statement
msgid "Bank Statement"
-msgstr ""
+msgstr "Izvod banke"
#. module: account_coda
#: model:ir.actions.act_window,name:account_coda.action_account_coda
msgid "Coda Logs"
-msgstr ""
+msgstr "Coda Evidencije"
#. module: account_coda
#: code:addons/account_coda/wizard/account_coda_import.py:311
@@ -220,22 +226,22 @@ msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Click on 'New' to select your file :"
-msgstr ""
+msgstr "Kliknite na \"Novo\" kako bi odabrali svoj file :"
#. module: account_coda
#: field:account.coda.import,def_receivable:0
msgid "Default Receivable Account"
-msgstr ""
+msgstr "Uobičajeni konto potraživanja"
#. module: account_coda
#: view:account.coda.import:0
msgid "Close"
-msgstr ""
+msgstr "Zatvori"
#. module: account_coda
#: field:account.coda,statement_ids:0
msgid "Generated Bank Statements"
-msgstr ""
+msgstr "Generirani bankovni izvodi"
#. module: account_coda
#: model:ir.module.module,shortdesc:account_coda.module_meta_information
@@ -245,18 +251,18 @@ msgstr ""
#. module: account_coda
#: view:account.coda.import:0
msgid "Configure Your Journal and Account :"
-msgstr ""
+msgstr "konfigurirajte temeljnicu i račun :"
#. module: account_coda
#: view:account.coda:0
msgid "Coda Import"
-msgstr ""
+msgstr "Coda Import"
#. module: account_coda
#: view:account.coda:0
#: field:account.coda,journal_id:0
msgid "Journal"
-msgstr ""
+msgstr "Dnevnik"
#~ msgid "Clic on 'New' to select your file :"
#~ msgstr "Kliknite na \"Novi\" za odabir datoteke"
diff --git a/addons/account_followup/i18n/hr.po b/addons/account_followup/i18n/hr.po
index 949e2a81f10..3dca6a73c32 100644
--- a/addons/account_followup/i18n/hr.po
+++ b/addons/account_followup/i18n/hr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2010-09-04 09:03+0000\n"
+"PO-Revision-Date: 2011-12-08 16:15+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-12 04:52+0000\n"
-"X-Generator: Launchpad (build 14277)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:295
@@ -25,7 +25,7 @@ msgstr ""
#. module: account_followup
#: view:account_followup.followup:0
msgid "Search Followup"
-msgstr ""
+msgstr "Traži IOS-e"
#. module: account_followup
#: model:ir.module.module,description:account_followup.module_meta_information
@@ -55,7 +55,7 @@ msgstr ""
#. module: account_followup
#: view:account_followup.stat:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupiraj po..."
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:290
@@ -72,7 +72,7 @@ msgstr ""
#: view:account_followup.followup:0
#: field:account_followup.followup,followup_line:0
msgid "Follow-Up"
-msgstr ""
+msgstr "Follow-Up"
#. module: account_followup
#: field:account_followup.followup,company_id:0
@@ -80,12 +80,12 @@ msgstr ""
#: field:account_followup.stat,company_id:0
#: field:account_followup.stat.by.partner,company_id:0
msgid "Company"
-msgstr "Tvrtka"
+msgstr "Organizacija"
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Invoice Date"
-msgstr "Datum Računa"
+msgstr "Datum računa"
#. module: account_followup
#: field:account.followup.print.all,email_subject:0
@@ -96,87 +96,87 @@ msgstr "Predmet email-a"
#: model:ir.actions.act_window,help:account_followup.action_followup_stat
msgid ""
"Follow up on the reminders sent over to your partners for unpaid invoices."
-msgstr ""
+msgstr "Izvodi otvorenih stavaka sa neplaćenim računima poslani partnerima."
#. module: account_followup
#: view:account.followup.print.all:0
#: view:account_followup.followup.line:0
msgid "Legend"
-msgstr ""
+msgstr "Legenda"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Ok"
-msgstr "Ok"
+msgstr "U redu"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Select Partners to Remind"
-msgstr ""
+msgstr "Select Partners to Remind"
#. module: account_followup
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
-msgstr ""
+msgstr "Ne možete kreirati stavke prometa za zatvoreni račun."
#. module: account_followup
#: field:account.followup.print,date:0
msgid "Follow-up Sending Date"
-msgstr ""
+msgstr "Datum slanja IOS-a"
#. module: account_followup
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
-msgstr ""
+msgstr "Pogrešno kreditna ili debitnom vrijednost unešene stavke!"
#. module: account_followup
#: selection:account_followup.followup.line,start:0
msgid "Net Days"
-msgstr ""
+msgstr "Neto dana"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.action_account_followup_definition_form
#: model:ir.ui.menu,name:account_followup.account_followup_menu
msgid "Follow-Ups"
-msgstr ""
+msgstr "IOS-i"
#. module: account_followup
#: view:account_followup.stat.by.partner:0
msgid "Balance > 0"
-msgstr ""
+msgstr "Balance > 0"
#. module: account_followup
#: view:account.move.line:0
msgid "Total debit"
-msgstr "Ukupni dug"
+msgstr "Ukupno duguje"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "%(heading)s: Move line header"
-msgstr ""
+msgstr "%(heading)s: Zaglavlje stavke"
#. module: account_followup
#: view:res.company:0
#: field:res.company,follow_up_msg:0
msgid "Follow-up Message"
-msgstr ""
+msgstr "Poruka IOS-a"
#. module: account_followup
#: field:account.followup.print,followup_id:0
msgid "Follow-up"
-msgstr ""
+msgstr "Pratiti"
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "VAT:"
-msgstr "VAT:"
+msgstr "PDV:"
#. module: account_followup
#: view:account_followup.stat:0
#: field:account_followup.stat,partner_id:0
#: field:account_followup.stat.by.partner,partner_id:0
msgid "Partner"
-msgstr ""
+msgstr "Partner"
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -197,7 +197,7 @@ msgstr ""
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_followup
msgid "Account Follow Up"
-msgstr ""
+msgstr "Upravljanje IOS-ima"
#. module: account_followup
#: selection:account_followup.followup.line,start:0
@@ -207,7 +207,7 @@ msgstr "Kraj Mjeseca"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Not Litigation"
-msgstr ""
+msgstr "Not Litigation"
#. module: account_followup
#: view:account.followup.print.all:0
@@ -217,7 +217,7 @@ msgstr "%(user_signature)s: Korisničko ime"
#. module: account_followup
#: field:account_followup.stat,debit:0
msgid "Debit"
-msgstr "Dug"
+msgstr "Duguje"
#. module: account_followup
#: view:account.followup.print:0
@@ -226,33 +226,36 @@ msgid ""
"You can send them the default message for unpaid invoices or manually enter "
"a message should you need to remind them of a specific information."
msgstr ""
+"This feature allows you to send reminders to partners with pending invoices. "
+"You can send them the default message for unpaid invoices or manually enter "
+"a message should you need to remind them of a specific information."
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Ref"
-msgstr ""
+msgstr "Vezna oznaka"
#. module: account_followup
#: help:account_followup.followup.line,sequence:0
msgid "Gives the sequence order when displaying a list of follow-up lines."
-msgstr ""
+msgstr "Gives the sequence order when displaying a list of follow-up lines."
#. module: account_followup
#: view:account.followup.print.all:0
#: field:account.followup.print.all,email_body:0
msgid "Email body"
-msgstr ""
+msgstr "Email sadržaj"
#. module: account_followup
#: field:account.move.line,followup_line_id:0
msgid "Follow-up Level"
-msgstr ""
+msgstr "Nivo IOSa"
#. module: account_followup
#: field:account_followup.stat,date_followup:0
#: field:account_followup.stat.by.partner,date_followup:0
msgid "Latest followup"
-msgstr ""
+msgstr "Zadnji IOS"
#. module: account_followup
#: model:account_followup.followup.line,description:account_followup.demo_followup_line2
@@ -281,7 +284,7 @@ msgstr ""
#. module: account_followup
#: field:account.followup.print.all,partner_lang:0
msgid "Send Email in Partner Language"
-msgstr ""
+msgstr "Send Email in Partner Language"
#. module: account_followup
#: constraint:account.move.line:0
@@ -306,18 +309,18 @@ msgstr "Ispisana Poruka"
#: model:ir.actions.act_window,name:account_followup.action_account_followup_print_all
#: model:ir.ui.menu,name:account_followup.account_followup_print_menu
msgid "Send followups"
-msgstr ""
+msgstr "Pošalji IOS-e"
#. module: account_followup
#: view:account_followup.stat.by.partner:0
msgid "Partner to Remind"
-msgstr ""
+msgstr "Partner to Remind"
#. module: account_followup
#: field:account_followup.followup.line,followup_id:0
#: field:account_followup.stat,followup_id:0
msgid "Follow Ups"
-msgstr ""
+msgstr "IOS-i"
#. module: account_followup
#: model:account_followup.followup.line,description:account_followup.demo_followup_line1
@@ -359,7 +362,7 @@ msgstr ""
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Send Mails"
-msgstr ""
+msgstr "Send Mails"
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -369,7 +372,7 @@ msgstr ""
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_stat_by_partner
msgid "Followup Statistics by Partner"
-msgstr ""
+msgstr "Statistika IOS-a po partneru"
#. module: account_followup
#: model:ir.module.module,shortdesc:account_followup.module_meta_information
@@ -379,13 +382,13 @@ msgstr ""
#. module: account_followup
#: field:account_followup.stat,blocked:0
msgid "Blocked"
-msgstr ""
+msgstr "Blocked"
#. module: account_followup
#: help:account.followup.print,date:0
msgid ""
"This field allow you to select a forecast date to plan your follow-ups"
-msgstr ""
+msgstr "Upišite planirani dan kreiranja IOS-a"
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -406,12 +409,12 @@ msgstr "Email Postavke"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Print Follow Ups"
-msgstr ""
+msgstr "Ispiši sve IOS-e"
#. module: account_followup
#: field:account.move.line,followup_date:0
msgid "Latest Follow-up"
-msgstr ""
+msgstr "Zadnji IOS-i"
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -426,7 +429,7 @@ msgstr "Saldo:"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_stat
msgid "Followup Statistics"
-msgstr ""
+msgstr "Statistika IOS-a"
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -436,22 +439,22 @@ msgstr "Plaćeno"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "%(user_signature)s: User Name"
-msgstr ""
+msgstr "%(user_signature)s: User Name"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_move_line
msgid "Journal Items"
-msgstr ""
+msgstr "Stavke glavne knjige"
#. module: account_followup
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
-msgstr ""
+msgstr "Company must be same for its related account and period."
#. module: account_followup
#: field:account.followup.print.all,email_conf:0
msgid "Send email confirmation"
-msgstr ""
+msgstr "Send email confirmation"
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:287
@@ -465,17 +468,17 @@ msgstr ""
#. module: account_followup
#: constraint:res.company:0
msgid "Error! You can not create recursive companies."
-msgstr ""
+msgstr "Pogreška! Ne možete kreirati rekurzivne organizacije."
#. module: account_followup
#: view:account.followup.print.all:0
msgid "%(company_name)s: User's Company name"
-msgstr ""
+msgstr "%(poduzeće_naziv)s: User's Company name"
#. module: account_followup
#: model:ir.model,name:account_followup.model_res_company
msgid "Companies"
-msgstr ""
+msgstr "Organizacije"
#. module: account_followup
#: view:account_followup.followup:0
@@ -485,34 +488,34 @@ msgstr ""
#. module: account_followup
#: field:account_followup.stat,credit:0
msgid "Credit"
-msgstr ""
+msgstr "Potražuje"
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Maturity Date"
-msgstr ""
+msgstr "Maturity Date"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "%(partner_name)s: Partner Name"
-msgstr ""
+msgstr "%(partner_name)s: Partner Name"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Follow-Up lines"
-msgstr ""
+msgstr "Stavke IOS-a"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "%(company_currency)s: User's Company Currency"
-msgstr ""
+msgstr "%(company_currency)s: Valuta organizacije"
#. module: account_followup
#: view:account_followup.stat:0
#: field:account_followup.stat,balance:0
#: field:account_followup.stat.by.partner,balance:0
msgid "Balance"
-msgstr ""
+msgstr "Saldo"
#. module: account_followup
#: field:account_followup.followup.line,start:0
@@ -523,29 +526,29 @@ msgstr "Tip Uvjeta"
#: model:ir.model,name:account_followup.model_account_followup_print
#: model:ir.model,name:account_followup.model_account_followup_print_all
msgid "Print Followup & Send Mail to Customers"
-msgstr ""
+msgstr "Print Followup & Send Mail to Customers"
#. module: account_followup
#: field:account_followup.stat,date_move_last:0
#: field:account_followup.stat.by.partner,date_move_last:0
msgid "Last move"
-msgstr ""
+msgstr "Zadnja transakcija"
#. module: account_followup
#: model:ir.actions.report.xml,name:account_followup.account_followup_followup_report
msgid "Followup Report"
-msgstr ""
+msgstr "Izvještaj IOS-a"
#. module: account_followup
#: field:account_followup.stat,period_id:0
msgid "Period"
-msgstr ""
+msgstr "Period"
#. module: account_followup
#: view:account.followup.print:0
#: view:account.followup.print.all:0
msgid "Cancel"
-msgstr ""
+msgstr "Odustani"
#. module: account_followup
#: view:account_followup.followup.line:0
@@ -555,22 +558,22 @@ msgstr ""
#. module: account_followup
#: view:account_followup.stat:0
msgid "Litigation"
-msgstr ""
+msgstr "Sporno"
#. module: account_followup
#: field:account_followup.stat.by.partner,max_followup_id:0
msgid "Max Follow Up Level"
-msgstr ""
+msgstr "Max Follow Up Level"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.act_account_partner_account_move_payable_all
msgid "Payable Items"
-msgstr ""
+msgstr "Payable Items"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "%(followup_amount)s: Total Amount Due"
-msgstr ""
+msgstr "%(followup_amount)s: Ukupni iznos duga"
#. module: account_followup
#: view:account.followup.print.all:0
@@ -581,7 +584,7 @@ msgstr "%(date)s: Trenutni Datum"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Followup Level"
-msgstr ""
+msgstr "Nivo IOS-a"
#. module: account_followup
#: view:account_followup.followup:0
@@ -593,12 +596,12 @@ msgstr "Opis"
#. module: account_followup
#: view:account_followup.stat:0
msgid "This Fiscal year"
-msgstr ""
+msgstr "This Fiscal year"
#. module: account_followup
#: view:account.move.line:0
msgid "Partner entries"
-msgstr ""
+msgstr "Partner entries"
#. module: account_followup
#: help:account.followup.print.all,partner_lang:0
@@ -606,24 +609,26 @@ msgid ""
"Do not change message text, if you want to send email in partner language, "
"or configure from company"
msgstr ""
+"Ne mijenjajte tekstualne poruke, ako želite poslati e-mail u partnerskom "
+"jeziku, ili konfigurirati iz tvrtke"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.act_account_partner_account_move_all
msgid "Receivable Items"
-msgstr ""
+msgstr "Receivable Items"
#. module: account_followup
#: view:account_followup.stat:0
#: model:ir.actions.act_window,name:account_followup.action_followup_stat
#: model:ir.ui.menu,name:account_followup.menu_action_followup_stat_follow
msgid "Follow-ups Sent"
-msgstr ""
+msgstr "Poslani IOS-i"
#. module: account_followup
#: field:account_followup.followup,name:0
#: field:account_followup.followup.line,name:0
msgid "Name"
-msgstr "Ime"
+msgstr "Naziv"
#. module: account_followup
#: field:account_followup.stat,date_move:0
@@ -653,43 +658,43 @@ msgstr ""
#. module: account_followup
#: view:account.followup.print:0
msgid "Continue"
-msgstr ""
+msgstr "Continue"
#. module: account_followup
#: field:account_followup.followup.line,delay:0
msgid "Days of delay"
-msgstr ""
+msgstr "Dana kašnjenja"
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Document : Customer account statement"
-msgstr ""
+msgstr "Document : Customer account statement"
#. module: account_followup
#: view:account.followup.print.all:0
#: field:account.followup.print.all,summary:0
msgid "Summary"
-msgstr ""
+msgstr "Sažetak"
#. module: account_followup
#: view:account.move.line:0
msgid "Total credit"
-msgstr ""
+msgstr "Ukupno potražuje"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "%(line)s: Ledger Posting lines"
-msgstr ""
+msgstr "%(line)s: Ledger Posting lines"
#. module: account_followup
#: field:account_followup.followup.line,sequence:0
msgid "Sequence"
-msgstr ""
+msgstr "Sekvenca"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "%(company_name)s: User's Company Name"
-msgstr ""
+msgstr "%(company_name)s: Naziv korisnikove organizacije"
#. module: account_followup
#: report:account_followup.followup.print:0
@@ -699,22 +704,22 @@ msgstr "Poziv na broj"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "%(partner_name)s: Partner name"
-msgstr ""
+msgstr "%(partner_name)s: Ime/naziv partnera"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Latest Followup Date"
-msgstr ""
+msgstr "Datum zadnjeg IOS-a"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_followup_line
msgid "Follow-Up Criteria"
-msgstr ""
+msgstr "Kriterij IOS-a"
#. module: account_followup
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
-msgstr ""
+msgstr "Ne može se knjižiti na sintetički konto."
#~ msgid "Select partners"
#~ msgstr "Odaberi partnere"
diff --git a/addons/account_followup/report/account_followup_print.py b/addons/account_followup/report/account_followup_print.py
index f2cf476e674..56004cebde3 100644
--- a/addons/account_followup/report/account_followup_print.py
+++ b/addons/account_followup/report/account_followup_print.py
@@ -64,9 +64,9 @@ class report_rappel(report_sxw.rml_parse):
line_cur = {base_currency.id: {'line': []}}
for line in movelines:
- if line.account_id.currency_id and (not line.account_id.currency_id.id in line_cur):
- line_cur[line.account_id.currency_id.id] = {'line': []}
- currency = line.account_id.currency_id or line.company_id.currency_id
+ if line.currency_id and (not line.currency_id.id in line_cur):
+ line_cur[line.currency_id.id] = {'line': []}
+ currency = line.currency_id or line.company_id.currency_id
line_data = {
'name': line.move_id.name,
'ref': line.ref,
diff --git a/addons/account_invoice_layout/__openerp__.py b/addons/account_invoice_layout/__openerp__.py
index 557f3c2e02c..cff01fa768b 100644
--- a/addons/account_invoice_layout/__openerp__.py
+++ b/addons/account_invoice_layout/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Improve Invoice Layout',
+ 'name': 'Invoice Layouts',
'version': '1.0',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "easy",
'description': """
This module provides some features to improve the layout of the invoices.
diff --git a/addons/account_invoice_layout/i18n/hr.po b/addons/account_invoice_layout/i18n/hr.po
index 8c006706eaa..93e3154792a 100644
--- a/addons/account_invoice_layout/i18n/hr.po
+++ b/addons/account_invoice_layout/i18n/hr.po
@@ -7,37 +7,37 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2009-09-08 14:10+0000\n"
+"PO-Revision-Date: 2011-12-08 17:04+0000\n"
"Last-Translator: Ivica Perić <ivica.peric@ipsoft-tg.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:22+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Sub Total"
-msgstr "Međuzbroj"
+msgstr "Podzbroj"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Note:"
-msgstr "Bilješka:"
+msgstr "Napomena:"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Cancelled Invoice"
-msgstr "Poništeni račun"
+msgstr "Otkazani račun"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
#: field:notify.message,name:0
msgid "Title"
-msgstr ""
+msgstr "Naslov"
#. module: account_invoice_layout
#: model:ir.actions.act_window,name:account_invoice_layout.action_account_invoice_special_msg
@@ -49,7 +49,7 @@ msgstr "Fakure sa izgledom i porukom"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Disc. (%)"
-msgstr "Popust (%)"
+msgstr "Pop.(%)"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
@@ -59,13 +59,13 @@ msgstr "Bilješka"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_notify_message
msgid "Notify By Messages"
-msgstr ""
+msgstr "Obavijesti po porukama"
#. module: account_invoice_layout
#: help:notify.message,msg:0
msgid ""
"This notification will appear at the bottom of the Invoices when printed."
-msgstr "Ova poruka će se pojaviti na dnu ispisanih faktura."
+msgstr "Ova poruka će se ispisati na podnožju računa."
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@@ -97,132 +97,132 @@ msgstr ""
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "VAT :"
-msgstr ""
+msgstr "PDV :"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Tel. :"
-msgstr ""
+msgstr "Tel.:"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "PRO-FORMA"
-msgstr ""
+msgstr "Pro-forma"
#. module: account_invoice_layout
#: field:account.invoice,abstract_line_ids:0
msgid "Invoice Lines"
-msgstr ""
+msgstr "Stavke računa"
#. module: account_invoice_layout
#: view:account.invoice.line:0
msgid "Seq."
-msgstr ""
+msgstr "R.br."
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_finan_config_notify_message
msgid "Notification Message"
-msgstr ""
+msgstr "Notification Message"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Product"
-msgstr ""
+msgstr "Proizvod"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Description"
-msgstr ""
+msgstr "Opis"
#. module: account_invoice_layout
#: help:account.invoice.line,sequence:0
msgid "Gives the sequence order when displaying a list of invoice lines."
-msgstr ""
+msgstr "Gives the sequence order when displaying a list of invoice lines."
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Price"
-msgstr ""
+msgstr "Cijena"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Invoice Date"
-msgstr ""
+msgstr "Datum računa"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
msgid "Taxes:"
-msgstr ""
+msgstr "Porezi:"
#. module: account_invoice_layout
#: field:account.invoice.line,functional_field:0
msgid "Source Account"
-msgstr ""
+msgstr "Konto"
#. module: account_invoice_layout
#: model:ir.actions.act_window,name:account_invoice_layout.notify_mesage_tree_form
msgid "Write Messages"
-msgstr ""
+msgstr "Write Messages"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Base"
-msgstr ""
+msgstr "Osnovica"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Page Break"
-msgstr ""
+msgstr "Page Break"
#. module: account_invoice_layout
#: view:notify.message:0
#: field:notify.message,msg:0
msgid "Special Message"
-msgstr ""
+msgstr "Posebna poruka"
#. module: account_invoice_layout
#: help:account.invoice.special.msg,message:0
msgid "Message to Print at the bottom of report"
-msgstr ""
+msgstr "Poruka na kraju ispisa"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Quantity"
-msgstr ""
+msgstr "Količina"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Refund"
-msgstr ""
+msgstr "Povrat novca"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Fax :"
-msgstr ""
+msgstr "Fax:"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
msgid "Total:"
-msgstr ""
+msgstr "Ukupno:"
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
msgid "Select Message"
-msgstr ""
+msgstr "Select Message"
#. module: account_invoice_layout
#: view:notify.message:0
msgid "Messages"
-msgstr ""
+msgstr "Messages"
#. module: account_invoice_layout
#: model:ir.actions.report.xml,name:account_invoice_layout.account_invoices_1
@@ -233,66 +233,66 @@ msgstr ""
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Description / Taxes"
-msgstr ""
+msgstr "Opis/Porezi"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Amount"
-msgstr ""
+msgstr "Iznos"
#. module: account_invoice_layout
#: model:notify.message,msg:account_invoice_layout.demo_message1
msgid "ERP & CRM Solutions..."
-msgstr ""
+msgstr "ERP & CRM Solutions..."
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Net Total :"
-msgstr ""
+msgstr "Net Total :"
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Total :"
-msgstr ""
+msgstr "Ukupno :"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Draft Invoice"
-msgstr ""
+msgstr "Nacrt računa"
#. module: account_invoice_layout
#: field:account.invoice.line,sequence:0
msgid "Sequence Number"
-msgstr ""
+msgstr "Redni br."
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_special_msg
msgid "Account Invoice Special Message"
-msgstr ""
+msgstr "Posebna poruka na računu"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Origin"
-msgstr ""
+msgstr "Izvor"
#. module: account_invoice_layout
#: field:account.invoice.line,state:0
msgid "Type"
-msgstr ""
+msgstr "Vrsta"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Separator Line"
-msgstr ""
+msgstr "Separator Line"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Your Reference"
-msgstr ""
+msgstr "Vaša oznaka"
#. module: account_invoice_layout
#: model:ir.module.module,shortdesc:account_invoice_layout.module_meta_information
@@ -303,63 +303,63 @@ msgstr ""
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Supplier Invoice"
-msgstr ""
+msgstr "Ulazni račun"
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
msgid "Print"
-msgstr ""
+msgstr "Ispis"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Tax"
-msgstr ""
+msgstr "Porez"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_line
msgid "Invoice Line"
-msgstr ""
+msgstr "Stavka računa"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
msgid "Net Total:"
-msgstr ""
+msgstr "Ukupno netto:"
#. module: account_invoice_layout
#: view:notify.message:0
msgid "Write a notification or a wishful message."
-msgstr ""
+msgstr "Write a notification or a wishful message."
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: model:ir.model,name:account_invoice_layout.model_account_invoice
#: report:notify_account.invoice:0
msgid "Invoice"
-msgstr ""
+msgstr "Račun"
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
msgid "Cancel"
-msgstr ""
+msgstr "Odustani"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Supplier Refund"
-msgstr ""
+msgstr "Povrat URA"
#. module: account_invoice_layout
#: field:account.invoice.special.msg,message:0
msgid "Message"
-msgstr ""
+msgstr "Poruka"
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Taxes :"
-msgstr ""
+msgstr "Taxes :"
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_notify_mesage_tree_form
msgid "All Notification Messages"
-msgstr ""
+msgstr "Sve poruke"
diff --git a/addons/account_invoice_layout/report/report_account_invoice_layout.rml b/addons/account_invoice_layout/report/report_account_invoice_layout.rml
index 1c31c4376c5..6a8a286b66c 100644
--- a/addons/account_invoice_layout/report/report_account_invoice_layout.rml
+++ b/addons/account_invoice_layout/report/report_account_invoice_layout.rml
@@ -231,7 +231,7 @@
<para style="terp_tblheader_General_Centre">Origin</para>
</td>
<td>
- <para style="terp_tblheader_General_Centre">Your Reference</para>
+ <para style="terp_tblheader_General_Centre">Customer Code</para>
</td>
</tr>
</blockTable>
diff --git a/addons/account_payment/i18n/hr.po b/addons/account_payment/i18n/hr.po
index fbb8a4251ac..02d1ade77aa 100644
--- a/addons/account_payment/i18n/hr.po
+++ b/addons/account_payment/i18n/hr.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2011-01-17 01:09+0000\n"
+"PO-Revision-Date: 2011-12-08 17:06+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:21+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_payment
#: field:payment.order,date_scheduled:0
msgid "Scheduled date if fixed"
-msgstr "Zakazani datum ako je fiskno"
+msgstr "Zakazani datum ako je fiksno"
#. module: account_payment
#: field:payment.line,currency:0
@@ -29,7 +29,7 @@ msgstr "Valuta partnera"
#. module: account_payment
#: view:payment.order:0
msgid "Set to draft"
-msgstr "Stavi u pripremu"
+msgstr "Postavi na nacrt"
#. module: account_payment
#: help:payment.order,mode:0
@@ -55,7 +55,7 @@ msgstr ""
#. module: account_payment
#: field:payment.order,line_ids:0
msgid "Payment lines"
-msgstr "Retci plaćanja"
+msgstr "Redci plaćanja"
#. module: account_payment
#: view:payment.line:0
@@ -71,6 +71,9 @@ msgid ""
" Once the bank is confirmed the state is set to 'Confirmed'.\n"
" Then the order is paid the state is 'Done'."
msgstr ""
+"When an order is placed the state is 'Draft'.\n"
+" Once the bank is confirmed the state is set to 'Confirmed'.\n"
+" Then the order is paid the state is 'Done'."
#. module: account_payment
#: help:account.invoice,amount_to_pay:0
@@ -84,7 +87,7 @@ msgstr ""
#. module: account_payment
#: field:payment.mode,company_id:0
msgid "Company"
-msgstr "Tvrtka"
+msgstr "Organizacija"
#. module: account_payment
#: field:payment.order,date_prefered:0
@@ -104,7 +107,7 @@ msgstr "Stavke"
#. module: account_payment
#: report:payment.order:0
msgid "Used Account"
-msgstr ""
+msgstr "Used Account"
#. module: account_payment
#: field:payment.line,ml_maturity_date:0
@@ -115,23 +118,23 @@ msgstr "Datum dospijeća"
#. module: account_payment
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
-msgstr ""
+msgstr "Ne možete kreirati stavke prometa za zatvoreni račun."
#. module: account_payment
#: view:account.move.line:0
msgid "Account Entry Line"
-msgstr "Stavke knjiženja"
+msgstr "Stavke"
#. module: account_payment
#: view:payment.order.create:0
msgid "_Add to payment order"
-msgstr ""
+msgstr "_Dodaj na nalog za plaćanje"
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_account_payment_populate_statement
#: model:ir.actions.act_window,name:account_payment.action_account_populate_statement_confirm
msgid "Payment Populate statement"
-msgstr ""
+msgstr "Popuni nalog za plaćanje"
#. module: account_payment
#: report:payment.order:0
@@ -142,17 +145,17 @@ msgstr "Iznos"
#. module: account_payment
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
-msgstr ""
+msgstr "Pogrešno kreditna ili debitnom vrijednost unešene stavke!"
#. module: account_payment
#: view:payment.order:0
msgid "Total in Company Currency"
-msgstr "Ukupno u valuti tvrtke"
+msgstr "Ukupno u valuti organizacije"
#. module: account_payment
#: selection:payment.order,state:0
msgid "Cancelled"
-msgstr "Poništeno"
+msgstr "Otkazani"
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree_new
@@ -163,12 +166,12 @@ msgstr "Novi nalog za plaćanje"
#: report:payment.order:0
#: field:payment.order,reference:0
msgid "Reference"
-msgstr "Veza"
+msgstr "Vezna oznaka"
#. module: account_payment
#: sql_constraint:payment.line:0
msgid "The payment line name must be unique!"
-msgstr ""
+msgstr "Naziv stavke plaćanja mora biti jedinstven!"
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_payment_order_tree
@@ -225,7 +228,7 @@ msgstr "Stanje"
#: view:payment.line:0
#: view:payment.order:0
msgid "Transaction Information"
-msgstr "Podatci o transakciji"
+msgstr "Podaci o transakciji"
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_payment_mode_form
@@ -244,7 +247,7 @@ msgstr "Efektivni datum"
#. module: account_payment
#: field:payment.line,ml_inv_ref:0
msgid "Invoice Ref."
-msgstr ""
+msgstr "Poziv na br."
#. module: account_payment
#: help:payment.order,date_prefered:0
@@ -276,7 +279,7 @@ msgstr "Datum izvršenja"
#. module: account_payment
#: help:payment.mode,journal:0
msgid "Bank or Cash Journal for the Payment Mode"
-msgstr ""
+msgstr "Dnevnik banke ili blagajne za način plaćanja"
#. module: account_payment
#: selection:payment.order,date_prefered:0
@@ -297,7 +300,7 @@ msgstr "Ciljni konto"
#. module: account_payment
#: view:payment.order:0
msgid "Search Payment Orders"
-msgstr ""
+msgstr "Traži naloge za plaćanje"
#. module: account_payment
#: constraint:account.move.line:0
@@ -323,12 +326,12 @@ msgstr "Ukupni iznos u valuti"
#. module: account_payment
#: view:payment.order:0
msgid "Make Payments"
-msgstr "Napravite plaćanja"
+msgstr "Kreiraj plaćanja"
#. module: account_payment
#: field:payment.line,state:0
msgid "Communication Type"
-msgstr "Vrsta veze"
+msgstr "Vrsta komunikacije"
#. module: account_payment
#: model:ir.module.module,shortdesc:account_payment.module_meta_information
@@ -338,32 +341,32 @@ msgstr ""
#. module: account_payment
#: field:payment.line,bank_statement_line_id:0
msgid "Bank statement line"
-msgstr ""
+msgstr "Redak bankovnog izvoda"
#. module: account_payment
#: selection:payment.order,date_prefered:0
msgid "Due date"
-msgstr ""
+msgstr "Datum dospijeća"
#. module: account_payment
#: field:account.invoice,amount_to_pay:0
msgid "Amount to be paid"
-msgstr ""
+msgstr "Za uplatu"
#. module: account_payment
#: report:payment.order:0
msgid "Currency"
-msgstr ""
+msgstr "Valuta"
#. module: account_payment
#: view:account.payment.make.payment:0
msgid "Yes"
-msgstr ""
+msgstr "Da"
#. module: account_payment
#: help:payment.line,info_owner:0
msgid "Address of the Main Partner"
-msgstr ""
+msgstr "Address of the Main Partner"
#. module: account_payment
#: help:payment.line,date:0
@@ -371,42 +374,44 @@ msgid ""
"If no payment date is specified, the bank will treat this payment line "
"directly"
msgstr ""
+"If no payment date is specified, the bank will treat this payment line "
+"directly"
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_payment_populate_statement
msgid "Account Payment Populate Statement"
-msgstr ""
+msgstr "Popuni izvod plaćanja"
#. module: account_payment
#: help:payment.mode,name:0
msgid "Mode of Payment"
-msgstr ""
+msgstr "Način plaćanja"
#. module: account_payment
#: report:payment.order:0
msgid "Value Date"
-msgstr ""
+msgstr "Value Date"
#. module: account_payment
#: report:payment.order:0
msgid "Payment Type"
-msgstr ""
+msgstr "Uvjet plaćanja"
#. module: account_payment
#: help:payment.line,amount_currency:0
msgid "Payment amount in the partner currency"
-msgstr ""
+msgstr "Iznos plaćanja u partnerovoj valuti"
#. module: account_payment
#: view:payment.order:0
#: selection:payment.order,state:0
msgid "Draft"
-msgstr ""
+msgstr "Nacrt"
#. module: account_payment
#: help:payment.line,communication2:0
msgid "The successor message of Communication."
-msgstr ""
+msgstr "The successor message of Communication."
#. module: account_payment
#: code:addons/account_payment/account_move_line.py:110
@@ -417,43 +422,43 @@ msgstr ""
#. module: account_payment
#: help:payment.line,info_partner:0
msgid "Address of the Ordering Customer."
-msgstr ""
+msgstr "Adresa Uplatitelja"
#. module: account_payment
#: view:account.payment.populate.statement:0
msgid "Populate Statement:"
-msgstr ""
+msgstr "Populate Statement:"
#. module: account_payment
#: view:account.move.line:0
msgid "Total credit"
-msgstr ""
+msgstr "Ukupno potražuje"
#. module: account_payment
#: help:payment.order,date_scheduled:0
msgid "Select a date if you have chosen Preferred Date to be fixed."
-msgstr ""
+msgstr "Select a date if you have chosen Preferred Date to be fixed."
#. module: account_payment
#: field:payment.order,user_id:0
msgid "User"
-msgstr ""
+msgstr "Korisnik"
#. module: account_payment
#: field:account.payment.populate.statement,lines:0
#: model:ir.actions.act_window,name:account_payment.act_account_invoice_2_payment_line
msgid "Payment Lines"
-msgstr ""
+msgstr "Stavke plaćanja"
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_move_line
msgid "Journal Items"
-msgstr ""
+msgstr "Stavke glavne knjige"
#. module: account_payment
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
-msgstr ""
+msgstr "Company must be same for its related account and period."
#. module: account_payment
#: help:payment.line,move_line_id:0
@@ -461,104 +466,106 @@ msgid ""
"This Entry Line will be referred for the information of the ordering "
"customer."
msgstr ""
+"This Entry Line will be referred for the information of the ordering "
+"customer."
#. module: account_payment
#: view:payment.order.create:0
msgid "Search"
-msgstr ""
+msgstr "Search"
#. module: account_payment
#: model:ir.actions.report.xml,name:account_payment.payment_order1
#: model:ir.model,name:account_payment.model_payment_order
msgid "Payment Order"
-msgstr ""
+msgstr "Nalog za plaćanje"
#. module: account_payment
#: field:payment.line,date:0
msgid "Payment Date"
-msgstr ""
+msgstr "Datum plaćanja"
#. module: account_payment
#: report:payment.order:0
msgid "Total:"
-msgstr ""
+msgstr "Ukupno:"
#. module: account_payment
#: field:payment.order,date_created:0
msgid "Creation date"
-msgstr ""
+msgstr "Datum kreiranja"
#. module: account_payment
#: view:account.payment.populate.statement:0
msgid "ADD"
-msgstr ""
+msgstr "ADD"
#. module: account_payment
#: view:account.bank.statement:0
msgid "Import payment lines"
-msgstr ""
+msgstr "Uvezi linije plaćanja"
#. module: account_payment
#: field:account.move.line,amount_to_pay:0
msgid "Amount to pay"
-msgstr ""
+msgstr "Iznos za platiti"
#. module: account_payment
#: field:payment.line,amount:0
msgid "Amount in Company Currency"
-msgstr ""
+msgstr "Iznos u valuti organizacije"
#. module: account_payment
#: help:payment.line,partner_id:0
msgid "The Ordering Customer"
-msgstr ""
+msgstr "The Ordering Customer"
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_payment_make_payment
msgid "Account make payment"
-msgstr ""
+msgstr "Plaćanje"
#. module: account_payment
#: report:payment.order:0
msgid "Invoice Ref"
-msgstr ""
+msgstr "Poziv na br."
#. module: account_payment
#: field:payment.line,name:0
msgid "Your Reference"
-msgstr ""
+msgstr "Vaša oznaka"
#. module: account_payment
#: field:payment.order,mode:0
msgid "Payment mode"
-msgstr ""
+msgstr "Vrsta plaćanja"
#. module: account_payment
#: view:payment.order:0
msgid "Payment order"
-msgstr ""
+msgstr "Nalog za plaćanje"
#. module: account_payment
#: view:payment.line:0
#: view:payment.order:0
msgid "General Information"
-msgstr ""
+msgstr "Opći podaci"
#. module: account_payment
#: view:payment.order:0
#: selection:payment.order,state:0
msgid "Done"
-msgstr ""
+msgstr "Izvršeno"
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_invoice
msgid "Invoice"
-msgstr ""
+msgstr "Račun"
#. module: account_payment
#: field:payment.line,communication:0
msgid "Communication"
-msgstr ""
+msgstr "Veza"
#. module: account_payment
#: view:account.payment.make.payment:0
@@ -566,13 +573,13 @@ msgstr ""
#: view:payment.order:0
#: view:payment.order.create:0
msgid "Cancel"
-msgstr ""
+msgstr "Odustani"
#. module: account_payment
#: view:payment.line:0
#: view:payment.order:0
msgid "Information"
-msgstr ""
+msgstr "Informacija"
#. module: account_payment
#: model:ir.actions.act_window,help:account_payment.action_payment_order_tree
@@ -582,26 +589,30 @@ msgid ""
"that should be done, keep track of all payment orders and mention the "
"invoice reference and the partner the payment should be done for."
msgstr ""
+"Nalog za plaćanje je zahtjev za plaćanjem za plaćanjem računa dobavljaču ili "
+"odobrenje kupca. Ovdje se mogu prijaviti svi nalozi za plaćanje koje je "
+"potrebno izvršiti, omogućuje također praćenje naloga za plaćanje i "
+"spomenutih računa i partnera koje je potrebno platiti."
#. module: account_payment
#: help:payment.line,amount:0
msgid "Payment amount in the company currency"
-msgstr ""
+msgstr "Iznos plaćanja u valuti organizacije"
#. module: account_payment
#: view:payment.order.create:0
msgid "Search Payment lines"
-msgstr ""
+msgstr "Traži stavke naloga za plaćanje"
#. module: account_payment
#: field:payment.line,amount_currency:0
msgid "Amount in Partner Currency"
-msgstr ""
+msgstr "Iznos u valuti partnera"
#. module: account_payment
#: field:payment.line,communication2:0
msgid "Communication 2"
-msgstr ""
+msgstr "Komunikacija 2"
#. module: account_payment
#: field:payment.line,bank_id:0
@@ -611,46 +622,46 @@ msgstr ""
#. module: account_payment
#: view:account.payment.make.payment:0
msgid "Are you sure you want to make payment?"
-msgstr ""
+msgstr "Želite dodati plaćanje?"
#. module: account_payment
#: view:payment.mode:0
#: field:payment.mode,journal:0
msgid "Journal"
-msgstr ""
+msgstr "Dnevnik"
#. module: account_payment
#: field:payment.mode,bank_id:0
msgid "Bank account"
-msgstr ""
+msgstr "Bankovni račun"
#. module: account_payment
#: view:payment.order:0
msgid "Confirm Payments"
-msgstr ""
+msgstr "Potvrdi plaćanja"
#. module: account_payment
#: field:payment.line,company_currency:0
#: report:payment.order:0
msgid "Company Currency"
-msgstr ""
+msgstr "Valuta organizacije"
#. module: account_payment
#: model:ir.ui.menu,name:account_payment.menu_main_payment
#: view:payment.line:0
#: view:payment.order:0
msgid "Payment"
-msgstr ""
+msgstr "Plaćanje"
#. module: account_payment
#: report:payment.order:0
msgid "Payment Order / Payment"
-msgstr ""
+msgstr "Nalog za plaćanje / plaćanje"
#. module: account_payment
#: field:payment.line,move_line_id:0
msgid "Entry line"
-msgstr ""
+msgstr "Redak"
#. module: account_payment
#: help:payment.line,communication:0
@@ -658,61 +669,63 @@ msgid ""
"Used as the message between ordering customer and current company. Depicts "
"'What do you want to say to the recipient about this order ?'"
msgstr ""
+"Used as the message between ordering customer and current company. Depicts "
+"'What do you want to say to the recipient about this order ?'"
#. module: account_payment
#: field:payment.mode,name:0
msgid "Name"
-msgstr ""
+msgstr "Naziv"
#. module: account_payment
#: report:payment.order:0
msgid "Bank Account"
-msgstr ""
+msgstr "Bankovni račun"
#. module: account_payment
#: view:payment.line:0
#: view:payment.order:0
msgid "Entry Information"
-msgstr ""
+msgstr "Informacije"
#. module: account_payment
#: model:ir.model,name:account_payment.model_payment_order_create
msgid "payment.order.create"
-msgstr ""
+msgstr "payment.order.create"
#. module: account_payment
#: field:payment.line,order_id:0
msgid "Order"
-msgstr ""
+msgstr "Order"
#. module: account_payment
#: field:payment.order,total:0
msgid "Total"
-msgstr ""
+msgstr "Ukupno"
#. module: account_payment
#: view:account.payment.make.payment:0
#: model:ir.actions.act_window,name:account_payment.action_account_payment_make_payment
msgid "Make Payment"
-msgstr ""
+msgstr "Plaćanje"
#. module: account_payment
#: field:payment.line,partner_id:0
#: report:payment.order:0
msgid "Partner"
-msgstr ""
+msgstr "Partner"
#. module: account_payment
#: model:ir.actions.act_window,name:account_payment.action_create_payment_order
msgid "Populate Payment"
-msgstr ""
+msgstr "Popuni plaćanje"
#. module: account_payment
#: help:payment.mode,bank_id:0
msgid "Bank Account for the Payment Mode"
-msgstr ""
+msgstr "Račun banke za vrstu plaćanja"
#. module: account_payment
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
-msgstr ""
+msgstr "Ne može se knjižiti na sintetički konto."
diff --git a/addons/account_sequence/__openerp__.py b/addons/account_sequence/__openerp__.py
index 31d4f373e2f..7ad66a5b428 100644
--- a/addons/account_sequence/__openerp__.py
+++ b/addons/account_sequence/__openerp__.py
@@ -22,7 +22,7 @@
{
'name': 'Entries Sequence Numbering',
'version': '1.1',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "easy",
'description': """
This module maintains internal sequence number for accounting entries.
diff --git a/addons/account_sequence/i18n/hr.po b/addons/account_sequence/i18n/hr.po
new file mode 100644
index 00000000000..14005991bb8
--- /dev/null
+++ b/addons/account_sequence/i18n/hr.po
@@ -0,0 +1,222 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:14+0000\n"
+"PO-Revision-Date: 2011-12-08 15:33+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
+"Language-Team: Croatian <hr@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: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: account_sequence
+#: view:account.sequence.installer:0
+#: model:ir.actions.act_window,name:account_sequence.action_account_seq_installer
+msgid "Account Sequence Application Configuration"
+msgstr "Postave brojčanih serija"
+
+#. module: account_sequence
+#: constraint:account.move:0
+msgid ""
+"You cannot create entries on different periods/journals in the same move"
+msgstr ""
+"Sva knjiženja na jednoj temeljnici moraju imati isti period i dnevnik."
+
+#. module: account_sequence
+#: help:account.move,internal_sequence_number:0
+#: help:account.move.line,internal_sequence_number:0
+msgid "Internal Sequence Number"
+msgstr "Interni broj"
+
+#. module: account_sequence
+#: help:account.sequence.installer,number_next:0
+msgid "Next number of this sequence"
+msgstr "Slijedeći broj ove brojčane serije"
+
+#. module: account_sequence
+#: field:account.sequence.installer,number_next:0
+msgid "Next Number"
+msgstr "Sljedeći broj"
+
+#. module: account_sequence
+#: field:account.sequence.installer,number_increment:0
+msgid "Increment Number"
+msgstr "Povećati za broj"
+
+#. module: account_sequence
+#: model:ir.module.module,description:account_sequence.module_meta_information
+msgid ""
+"\n"
+" This module maintains internal sequence number for accounting entries.\n"
+" "
+msgstr ""
+
+#. module: account_sequence
+#: model:ir.module.module,shortdesc:account_sequence.module_meta_information
+msgid "Entries Sequence Numbering"
+msgstr ""
+
+#. module: account_sequence
+#: help:account.sequence.installer,number_increment:0
+msgid "The next number of the sequence will be incremented by this number"
+msgstr "Korak uvećanja brojača. 1 će uvećavati brojač za jedan, 10 za 10."
+
+#. module: account_sequence
+#: view:account.sequence.installer:0
+msgid "Configure Your Account Sequence Application"
+msgstr "Postavite vaše brojčane serije"
+
+#. module: account_sequence
+#: field:account.sequence.installer,progress:0
+msgid "Configuration Progress"
+msgstr "Napredak konfiguracije"
+
+#. module: account_sequence
+#: help:account.sequence.installer,suffix:0
+msgid "Suffix value of the record for the sequence"
+msgstr "Sufiks (poslije brojača) za ovu brojčanu seriju"
+
+#. module: account_sequence
+#: field:account.sequence.installer,company_id:0
+msgid "Company"
+msgstr "Organizacija"
+
+#. module: account_sequence
+#: help:account.journal,internal_sequence_id:0
+msgid ""
+"This sequence will be used to maintain the internal number for the journal "
+"entries related to this journal."
+msgstr ""
+
+#. module: account_sequence
+#: field:account.sequence.installer,padding:0
+msgid "Number padding"
+msgstr "Dopunjavanje na duljinu"
+
+#. module: account_sequence
+#: model:ir.model,name:account_sequence.model_account_move_line
+msgid "Journal Items"
+msgstr "Stavke glavne knjige"
+
+#. module: account_sequence
+#: field:account.move,internal_sequence_number:0
+#: field:account.move.line,internal_sequence_number:0
+msgid "Internal Number"
+msgstr "Interni broj"
+
+#. module: account_sequence
+#: constraint:account.move.line:0
+msgid "Company must be same for its related account and period."
+msgstr ""
+
+#. module: account_sequence
+#: help:account.sequence.installer,padding:0
+msgid ""
+"OpenERP will automatically adds some '0' on the left of the 'Next Number' to "
+"get the required padding size."
+msgstr "Potreban broj vodećih \"0\" će se automatski dodati."
+
+#. module: account_sequence
+#: field:account.sequence.installer,name:0
+msgid "Name"
+msgstr "Naziv"
+
+#. module: account_sequence
+#: constraint:account.move.line:0
+msgid "You can not create move line on closed account."
+msgstr "Ne možete kreirati stavke prometa za zatvoreni račun."
+
+#. module: account_sequence
+#: constraint:account.move:0
+msgid ""
+"You cannot create more than one move per period on centralized journal"
+msgstr ""
+
+#. module: account_sequence
+#: sql_constraint:account.move.line:0
+msgid "Wrong credit or debit value in accounting entry !"
+msgstr "Pogrešna dugovna ili potražna vrijednost upisane stavke!"
+
+#. module: account_sequence
+#: field:account.journal,internal_sequence_id:0
+msgid "Internal Sequence"
+msgstr "Interna brojčana serija"
+
+#. module: account_sequence
+#: model:ir.model,name:account_sequence.model_account_sequence_installer
+msgid "account.sequence.installer"
+msgstr ""
+
+#. module: account_sequence
+#: view:account.sequence.installer:0
+msgid "Configure"
+msgstr "Postavke"
+
+#. module: account_sequence
+#: help:account.sequence.installer,prefix:0
+msgid "Prefix value of the record for the sequence"
+msgstr "Prefiks za brojčanu seriju"
+
+#. module: account_sequence
+#: model:ir.model,name:account_sequence.model_account_move
+msgid "Account Entry"
+msgstr "Temeljnica"
+
+#. module: account_sequence
+#: field:account.sequence.installer,suffix:0
+msgid "Suffix"
+msgstr "Sufiks"
+
+#. module: account_sequence
+#: field:account.sequence.installer,config_logo:0
+msgid "Image"
+msgstr "Slika"
+
+#. module: account_sequence
+#: view:account.sequence.installer:0
+msgid "title"
+msgstr "naslov"
+
+#. module: account_sequence
+#: sql_constraint:account.journal:0
+msgid "The name of the journal must be unique per company !"
+msgstr "Naziv dnevnika mora biti jedinstven za jednu organizaciju!"
+
+#. module: account_sequence
+#: field:account.sequence.installer,prefix:0
+msgid "Prefix"
+msgstr "Prefiks"
+
+#. module: account_sequence
+#: sql_constraint:account.journal:0
+msgid "The code of the journal must be unique per company !"
+msgstr "Šifra dnevnika mora biti jedinstvena (za organizaciju) !"
+
+#. module: account_sequence
+#: constraint:account.move.line:0
+msgid ""
+"You can not create move line on receivable/payable account without partner"
+msgstr ""
+
+#. module: account_sequence
+#: model:ir.model,name:account_sequence.model_account_journal
+msgid "Journal"
+msgstr "Dnevnik"
+
+#. module: account_sequence
+#: view:account.sequence.installer:0
+msgid "You can enhance the Account Sequence Application by installing ."
+msgstr ""
+
+#. module: account_sequence
+#: constraint:account.move.line:0
+msgid "You can not create move line on view account."
+msgstr "Ne može se knjižiti na sintetički konto."
diff --git a/addons/account_sequence/i18n/pt.po b/addons/account_sequence/i18n/pt.po
index 84c22715b25..e2e827d4e57 100644
--- a/addons/account_sequence/i18n/pt.po
+++ b/addons/account_sequence/i18n/pt.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2011-04-24 03:28+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2011-12-09 10:09+0000\n"
+"Last-Translator: Paulino Ascenção <Unknown>\n"
"Language-Team: Portuguese <pt@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: 2011-11-05 05:56+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-10 04:56+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_sequence
#: view:account.sequence.installer:0
@@ -28,12 +28,13 @@ msgstr ""
msgid ""
"You cannot create entries on different periods/journals in the same move"
msgstr ""
+"Não pode criar registos em períodos ou diários diferentes no mesmo movimento"
#. module: account_sequence
#: help:account.move,internal_sequence_number:0
#: help:account.move.line,internal_sequence_number:0
msgid "Internal Sequence Number"
-msgstr ""
+msgstr "Número interno de sequência"
#. module: account_sequence
#: help:account.sequence.installer,number_next:0
@@ -43,12 +44,12 @@ msgstr ""
#. module: account_sequence
#: field:account.sequence.installer,number_next:0
msgid "Next Number"
-msgstr ""
+msgstr "Próximo número"
#. module: account_sequence
#: field:account.sequence.installer,number_increment:0
msgid "Increment Number"
-msgstr ""
+msgstr "Incremento"
#. module: account_sequence
#: model:ir.module.module,description:account_sequence.module_meta_information
@@ -57,6 +58,10 @@ msgid ""
" This module maintains internal sequence number for accounting entries.\n"
" "
msgstr ""
+"\n"
+" Esse módulo gere os números de sequência internos dos lançamentos "
+"contabilísticos.\n"
+" "
#. module: account_sequence
#: model:ir.module.module,shortdesc:account_sequence.module_meta_information
diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py
index 5e6e6ab0513..74e9097b57c 100644
--- a/addons/account_voucher/__openerp__.py
+++ b/addons/account_voucher/__openerp__.py
@@ -20,7 +20,7 @@
##############################################################################
{
- "name" : "Accounting Voucher Entries",
+ "name" : "eInvoicing & Payments",
"version" : "1.0",
"author" : 'OpenERP SA',
'complexity': "normal",
@@ -32,7 +32,7 @@ Account Voucher module includes all the basic requirements of Voucher Entries fo
* Voucher Receipt
* Cheque Register
""",
- "category" : "Hidden",
+ "category": 'Accounting & Finance',
"website" : "http://tinyerp.com",
"images" : ["images/customer_payment.jpeg","images/journal_voucher.jpeg","images/sales_receipt.jpeg","images/supplier_voucher.jpeg"],
"depends" : ["account"],
@@ -68,6 +68,7 @@ Account Voucher module includes all the basic requirements of Voucher Entries fo
],
'certificate': '0037580727101',
"active": False,
+ "application": True,
"installable": True,
}
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index 0de84a82ce0..535f76b8d64 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -90,6 +90,21 @@ class account_voucher(osv.osv):
return tax_id
return False
+ def _get_payment_rate_currency(self, cr, uid, context=None):
+ '''
+ Return the default value for field payment_rate_currency_id: the currency of the journal
+ if there is one, otherwise the currency of the user's company
+ '''
+ if context is None: context = {}
+ journal_pool = self.pool.get('account.journal')
+ journal_id = context.get('journal_id', False)
+ if journal_id:
+ journal = journal_pool.browse(cr, uid, journal_id, context=context)
+ if journal.currency:
+ return journal.currency.id
+ #no journal given in the context, use company currency as default
+ return self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id.id
+
def _get_currency(self, cr, uid, context=None):
if context is None: context = {}
journal_pool = self.pool.get('account.journal')
@@ -143,11 +158,12 @@ class account_voucher(osv.osv):
res = super(account_voucher, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
doc = etree.XML(res['arch'])
- nodes = doc.xpath("//field[@name='partner_id']")
+
if context.get('type', 'sale') in ('purchase', 'payment'):
+ nodes = doc.xpath("//field[@name='partner_id']")
for node in nodes:
node.set('domain', "[('supplier', '=', True)]")
- res['arch'] = etree.tostring(doc)
+ res['arch'] = etree.tostring(doc)
return res
def _compute_writeoff_amount(self, cr, uid, line_dr_ids, line_cr_ids, amount):
@@ -158,17 +174,25 @@ class account_voucher(osv.osv):
credit += l['amount']
return abs(amount - abs(credit - debit))
- def onchange_line_ids(self, cr, uid, ids, line_dr_ids, line_cr_ids, amount, context=None):
+ def onchange_line_ids(self, cr, uid, ids, line_dr_ids, line_cr_ids, amount, voucher_currency, context=None):
context = context or {}
if not line_dr_ids and not line_cr_ids:
return {'value':{}}
line_osv = self.pool.get("account.voucher.line")
line_dr_ids = resolve_o2m_operations(cr, uid, line_osv, line_dr_ids, ['amount'], context)
line_cr_ids = resolve_o2m_operations(cr, uid, line_osv, line_cr_ids, ['amount'], context)
- return {'value': {'writeoff_amount': self._compute_writeoff_amount(cr, uid, line_dr_ids, line_cr_ids, amount)}}
+
+ #loop into the lines to see if there is an amount allocated on a voucher line with a currency different than the voucher currency
+ is_multi_currency = False
+ for voucher_line in line_dr_ids+line_cr_ids:
+ if voucher_line.get('currency_id',False) != voucher_currency:
+ is_multi_currency = True
+ break
+ return {'value': {'writeoff_amount': self._compute_writeoff_amount(cr, uid, line_dr_ids, line_cr_ids, amount), 'is_multi_currency': is_multi_currency}}
def _get_writeoff_amount(self, cr, uid, ids, name, args, context=None):
if not ids: return {}
+ currency_obj = self.pool.get('res.currency')
res = {}
debit = credit = 0.0
for voucher in self.browse(cr, uid, ids, context=context):
@@ -176,15 +200,24 @@ class account_voucher(osv.osv):
debit += l.amount
for l in voucher.line_cr_ids:
credit += l.amount
- res[voucher.id] = abs(voucher.amount - abs(credit - debit))
+ currency = voucher.currency_id or voucher.company_id.currency_id
+ res[voucher.id] = currency_obj.round(cr, uid, currency, abs(voucher.amount - abs(credit - debit)))
return res
def _paid_amount_in_company_currency(self, cr, uid, ids, name, args, context=None):
if not ids: return {}
res = {}
- debit = credit = 0.0
+ voucher_rate = company_currency_rate = 1.0
for voucher in self.browse(cr, uid, ids, context=context):
- res[voucher.id] = voucher.amount / voucher.payment_rate
+ if voucher.currency_id:
+ ctx = context.copy()
+ ctx.update({'date': voucher.date})
+ voucher_rate = self.browse(cr, uid, voucher.id, context=ctx).currency_id.rate
+ if voucher.company_id.currency_id.id == voucher.payment_rate_currency_id.id:
+ company_currency_rate = voucher.payment_rate
+ else:
+ company_currency_rate = voucher.company_id.currency_id.rate
+ res[voucher.id] = voucher.amount / voucher_rate * company_currency_rate
return res
_name = 'account.voucher'
@@ -241,15 +274,16 @@ class account_voucher(osv.osv):
'payment_option':fields.selection([
('without_writeoff', 'Keep Open'),
('with_writeoff', 'Reconcile Payment Balance'),
- ], 'Payment Difference', required=True, readonly=True, states={'draft': [('readonly', False)]}),
- 'exchange_acc_id': fields.many2one('account.account', 'Exchange Diff. Account', readonly=True, states={'draft': [('readonly', False)]}),
+ ], 'Payment Difference', required=True, readonly=True, states={'draft': [('readonly', False)]}, help="This field helps you to choose what you want to do with the eventual difference between the paid amount and the sum of allocated amounts. You can either choose to keep open this difference on the partner's account, or reconcile it with the payment(s)"),
'writeoff_acc_id': fields.many2one('account.account', 'Counterpart Account', readonly=True, states={'draft': [('readonly', False)]}),
'comment': fields.char('Counterpart Comment', size=64, required=True, readonly=True, states={'draft': [('readonly', False)]}),
'analytic_id': fields.many2one('account.analytic.account','Write-Off Analytic Account', readonly=True, states={'draft': [('readonly', False)]}),
- 'writeoff_amount': fields.function(_get_writeoff_amount, string='Reconcile Amount', type='float', readonly=True),
- 'payment_rate': fields.float('Payment Rate', digits=(12,6), required=True, readonly=True, states={'draft': [('readonly', False)]},
- help='The rate between the journal currency and the company currency for this particular payment.'),
+ 'writeoff_amount': fields.function(_get_writeoff_amount, string='Difference Amount', type='float', readonly=True, help="Computed as the difference between the amount stated in the voucher and the sum of allocation on the voucher lines."),
+ 'payment_rate_currency_id': fields.many2one('res.currency', 'Payment Rate Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+ 'payment_rate': fields.float('Exchange Rate', digits=(12,6), required=True, readonly=True, states={'draft': [('readonly', False)]},
+ help='The specific rate that will be used, in this voucher, between the selected currency (in \'Payment Rate Currency\' field) and the voucher currency.'),
'paid_amount_in_company_currency': fields.function(_paid_amount_in_company_currency, string='Paid Amount in Company Currency', type='float', readonly=True),
+ 'is_multi_currency': fields.boolean('Multi Currency Voucher', help='Fields with internal purpose only that depicts if the voucher is a multi currency one or not'),
}
_defaults = {
'period_id': _get_period,
@@ -269,6 +303,7 @@ class account_voucher(osv.osv):
'payment_option': 'without_writeoff',
'comment': _('Write-Off'),
'payment_rate': 1.0,
+ 'payment_rate_currency_id': _get_payment_rate_currency,
}
def compute_tax(self, cr, uid, ids, context=None):
@@ -374,7 +409,7 @@ class account_voucher(osv.osv):
})
return {'value':default}
- def onchange_journal_voucher(self, cr, uid, ids, line_ids=False, tax_id=False, price=0.0, partner_id=False, journal_id=False, ttype=False, context=None):
+ def onchange_journal_voucher(self, cr, uid, ids, line_ids=False, tax_id=False, price=0.0, partner_id=False, journal_id=False, ttype=False, company_id=False, context=None):
"""price
Returns a dict that contains new values and context
@@ -413,25 +448,78 @@ class account_voucher(osv.osv):
default['value']['account_id'] = account_id
default['value']['type'] = ttype or tr_type
- vals = self.onchange_journal(cr, uid, ids, journal_id, line_ids, tax_id, partner_id, context)
+ vals = self.onchange_journal(cr, uid, ids, journal_id, line_ids, tax_id, partner_id, company_id, context)
default['value'].update(vals.get('value'))
return default
- def onchange_rate(self, cr, uid, ids, rate, amount, context=None):
- res = {'value': {'paid_amount_in_company_currency': 0.0}}
- if rate and amount:
- res['value']['paid_amount_in_company_currency'] = amount / rate
+ def onchange_rate(self, cr, uid, ids, rate, amount, currency_id, payment_rate_currency_id, company_id, context=None):
+ res = {'value': {'paid_amount_in_company_currency': amount}}
+ company_currency = self.pool.get('res.company').browse(cr, uid, company_id, context=context).currency_id
+ if rate and amount and currency_id:# and currency_id == payment_rate_currency_id:
+ voucher_rate = self.pool.get('res.currency').browse(cr, uid, currency_id, context).rate
+ if company_currency.id == payment_rate_currency_id:
+ company_rate = rate
+ else:
+ company_rate = self.pool.get('res.company').browse(cr, uid, company_id, context=context).currency_id.rate
+ res['value']['paid_amount_in_company_currency'] = amount / voucher_rate * company_rate
return res
- def onchange_amount(self, cr, uid, ids, amount, rate, partner_id, journal_id, currency_id, ttype, date, context=None):
- res = self.onchange_partner_id(cr, uid, ids, partner_id, journal_id, amount, currency_id, ttype, date, context=context)
- vals = self.onchange_rate(cr, uid, ids, rate, amount, context=context)
+ def onchange_amount(self, cr, uid, ids, amount, rate, partner_id, journal_id, currency_id, ttype, date, payment_rate_currency_id, company_id, context=None):
+ if context is None:
+ context = {}
+ res = self.recompute_voucher_lines(cr, uid, ids, partner_id, journal_id, amount, currency_id, ttype, date, context=context)
+ ctx = context.copy()
+ ctx.update({'date': date})
+ vals = self.onchange_rate(cr, uid, ids, rate, amount, currency_id, payment_rate_currency_id, company_id, context=ctx)
for key in vals.keys():
res[key].update(vals[key])
return res
- def onchange_partner_id(self, cr, uid, ids, partner_id, journal_id, price, currency_id, ttype, date, context=None):
+ def recompute_payment_rate(self, cr, uid, ids, vals, currency_id, date, ttype, journal_id, amount, context=None):
+ if context is None:
+ context = {}
+ #on change of the journal, we need to set also the default value for payment_rate and payment_rate_currency_id
+ currency_obj = self.pool.get('res.currency')
+ journal = self.pool.get('account.journal').browse(cr, uid, journal_id, context=context)
+ company_id = journal.company_id.id
+ payment_rate = 1.0
+ payment_rate_currency_id = currency_id
+ ctx = context.copy()
+ ctx.update({'date': date})
+ o2m_to_loop = False
+ if ttype == 'receipt':
+ o2m_to_loop = 'line_cr_ids'
+ elif ttype == 'payment':
+ o2m_to_loop = 'line_dr_ids'
+ if o2m_to_loop and 'value' in vals and o2m_to_loop in vals['value']:
+ for voucher_line in vals['value'][o2m_to_loop]:
+ if voucher_line['currency_id'] != currency_id:
+ # we take as default value for the payment_rate_currency_id, the currency of the first invoice that
+ # is not in the voucher currency
+ payment_rate_currency_id = voucher_line['currency_id']
+ tmp = currency_obj.browse(cr, uid, payment_rate_currency_id, context=ctx).rate
+ voucher_currency_id = currency_id or journal.company_id.currency_id.id
+ payment_rate = tmp / currency_obj.browse(cr, uid, voucher_currency_id, context=ctx).rate
+ break
+ res = self.onchange_rate(cr, uid, ids, payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context=ctx)
+ for key in res.keys():
+ vals[key].update(res[key])
+ vals['value'].update({'payment_rate': payment_rate})
+ if payment_rate_currency_id:
+ vals['value'].update({'payment_rate_currency_id': payment_rate_currency_id})
+ return vals
+
+ def onchange_partner_id(self, cr, uid, ids, partner_id, journal_id, amount, currency_id, ttype, date, context=None):
+ if not journal_id:
+ return {}
+ res = self.recompute_voucher_lines(cr, uid, ids, partner_id, journal_id, amount, currency_id, ttype, date, context=context)
+ vals = self.recompute_payment_rate(cr, uid, ids, res, currency_id, date, ttype, journal_id, amount, context=context)
+ for key in vals.keys():
+ res[key].update(vals[key])
+ return res
+
+ def recompute_voucher_lines(self, cr, uid, ids, partner_id, journal_id, price, currency_id, ttype, date, context=None):
"""
Returns a dict that contains new values and context
@@ -502,9 +590,9 @@ class account_voucher(osv.osv):
#order the lines by most old first
ids.reverse()
- moves = move_line_pool.browse(cr, uid, ids, context=context)
+ account_move_lines = move_line_pool.browse(cr, uid, ids, context=context)
- for line in moves:
+ for line in account_move_lines:
if line.credit and line.reconcile_partial_id and ttype == 'receipt':
continue
if line.debit and line.reconcile_partial_id and ttype == 'payment':
@@ -533,7 +621,7 @@ class account_voucher(osv.osv):
total_debit += line.debit and line.amount_currency or 0.0
#voucher line creation
- for line in moves:
+ for line in account_move_lines:
if line.credit and line.reconcile_partial_id and ttype == 'receipt':
continue
if line.debit and line.reconcile_partial_id and ttype == 'payment':
@@ -544,6 +632,7 @@ class account_voucher(osv.osv):
else:
amount_original = currency_pool.compute(cr, uid, company_currency, currency_id, line.credit or line.debit or 0.0)
amount_unreconciled = currency_pool.compute(cr, uid, company_currency, currency_id, abs(line.amount_residual))
+ line_currency_id = line.currency_id and line.currency_id.id or company_currency
rs = {
'name':line.move_id.name,
'type': line.credit and 'dr' or 'cr',
@@ -554,11 +643,11 @@ class account_voucher(osv.osv):
'date_original':line.date,
'date_due':line.date_maturity,
'amount_unreconciled': amount_unreconciled,
+ 'currency_id': line_currency_id,
}
#split voucher amount by most old first, but only for lines in the same currency
if not move_line_found:
- line_currency_id = line.currency_id and line.currency_id.id or company_currency
if currency_id == line_currency_id:
if line.credit:
amount = min(amount_unreconciled, abs(total_debit))
@@ -569,7 +658,9 @@ class account_voucher(osv.osv):
rs['amount'] = amount
total_credit -= amount
- default['value']['line_ids'].append(rs)
+ if rs['amount_unreconciled'] == rs['amount']:
+ rs['reconcile'] = True
+
if rs['type'] == 'cr':
default['value']['line_cr_ids'].append(rs)
else:
@@ -582,30 +673,51 @@ class account_voucher(osv.osv):
default['value']['writeoff_amount'] = self._compute_writeoff_amount(cr, uid, default['value']['line_dr_ids'], default['value']['line_cr_ids'], price)
return default
- def onchange_date(self, cr, uid, ids, date, currency_id, amount, context=None):
+ def onchange_payment_rate_currency(self, cr, uid, ids, currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context=None):
+ if context is None:
+ context = {}
+ res = {'value': {}}
+ #set the default payment rate of the voucher and compute the paid amount in company currency
+ if currency_id and currency_id == payment_rate_currency_id:
+ ctx = context.copy()
+ ctx.update({'date': date})
+ vals = self.onchange_rate(cr, uid, ids, payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context=ctx)
+ for key in vals.keys():
+ res[key].update(vals[key])
+ return res
+
+ def onchange_date(self, cr, uid, ids, date, currency_id, payment_rate_currency_id, amount, company_id, context=None):
"""
@param date: latest value from user input for field date
@param args: other arguments
@param context: context arguments, like lang, time zone
@return: Returns a dict which contains new values, and context
"""
+ if context is None:
+ context ={}
res = {'value': {}}
#set the period of the voucher
period_pool = self.pool.get('account.period')
- pids = period_pool.search(cr, uid, [('date_start', '<=', date), ('date_stop', '>=', date)])
+ currency_obj = self.pool.get('res.currency')
+ ctx = context.copy()
+ ctx.update({'company_id': company_id})
+ pids = period_pool.find(cr, uid, date, context=ctx)
if pids:
res['value'].update({'period_id':pids[0]})
- #set the default payment rate of the voucher and compute the paid amount in company currency
- payment_rate = 1.0
- if currency_id:
- payment_rate = self.pool.get('res.currency').browse(cr, uid, currency_id, context={'date': date}).rate
- res['value'].update({'payment_rate': payment_rate})
- vals = self.onchange_rate(cr, uid, ids, payment_rate, amount, context=context)
- for key in vals.keys():
- res[key].update(vals[key])
+ if payment_rate_currency_id:
+ ctx.update({'date': date})
+ payment_rate = 1.0
+ if payment_rate_currency_id != currency_id:
+ tmp = currency_obj.browse(cr, uid, payment_rate_currency_id, context=ctx).rate
+ voucher_currency_id = currency_id or self.pool.get('res.company').browse(cr, uid, company_id, context=ctx).currency_id.id
+ payment_rate = tmp / currency_obj.browse(cr, uid, voucher_currency_id, context=ctx).rate
+ vals = self.onchange_payment_rate_currency(cr, uid, ids, currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context=context)
+ vals['value'].update({'payment_rate': payment_rate})
+ for key in vals.keys():
+ res[key].update(vals[key])
return res
- def onchange_journal(self, cr, uid, ids, journal_id, line_ids, tax_id, partner_id, date, amount, ttype, context=None):
+ def onchange_journal(self, cr, uid, ids, journal_id, line_ids, tax_id, partner_id, date, amount, ttype, company_id, context=None):
if not journal_id:
return False
journal_pool = self.pool.get('account.journal')
@@ -620,11 +732,6 @@ class account_voucher(osv.osv):
currency_id = False
if journal.currency:
currency_id = journal.currency.id
- payment_rate = self.pool.get('res.currency').browse(cr, uid, currency_id, context={'date': date}).rate
- vals['value'].update({'payment_rate': payment_rate})
- res = self.onchange_rate(cr, uid, ids, payment_rate, amount, context=context)
- for key in res.keys():
- vals[key].update(res[key])
vals['value'].update({'currency_id': currency_id})
res = self.onchange_partner_id(cr, uid, ids, partner_id, journal_id, amount, currency_id, ttype, date, context)
for key in res.keys():
@@ -730,9 +837,9 @@ class account_voucher(osv.osv):
# TODO: Make this logic available.
# -for sale, purchase we have but for the payment and receipt we do not have as based on the bank/cash journal we can not know its payment or receipt
if voucher_brw.type in ('purchase', 'payment'):
- credit = voucher_brw.amount / voucher_brw.payment_rate
+ credit = voucher_brw.paid_amount_in_company_currency
elif voucher_brw.type in ('sale', 'receipt'):
- debit = voucher_brw.amount / voucher_brw.payment_rate
+ debit = voucher_brw.paid_amount_in_company_currency
if debit < 0: credit = -debit; debit = 0.0
if credit < 0: debit = -credit; credit = 0.0
sign = debit - credit < 0 and -1 or 1
@@ -788,9 +895,10 @@ class account_voucher(osv.osv):
def _get_exchange_lines(self, cr, uid, line, move_id, amount_residual, company_currency, current_currency, context=None):
'''
- Prepare the two lines due to currency rate difference.
+ Prepare the two lines in company currency due to currency rate difference.
- :param line: browse record of the voucher.line for which we want to create currency rate difference accounting entries
+ :param line: browse record of the voucher.line for which we want to create currency rate difference accounting
+ entries
:param move_id: Account move wher the move lines will be.
:param amount_residual: Amount to be posted.
:param company_currency: id of currency of the company to which the voucher belong
@@ -798,9 +906,17 @@ class account_voucher(osv.osv):
:return: the account move line and its counterpart to create, depicted as mapping between fieldname and value
:rtype: tuple of dict
'''
- if not line.voucher_id.exchange_acc_id.id:
- raise osv.except_osv(_('Error!'), _('You must provide an account for the exchange difference.'))
-
+ if amount_residual > 0:
+ account_id = line.voucher_id.company_id.expense_currency_exchange_account_id
+ if not account_id:
+ raise osv.except_osv(_('Warning'),_("Unable to create accounting entry for currency rate difference. You have to configure the field 'Income Currency Rate' on the company! "))
+ else:
+ account_id = line.voucher_id.company_id.income_currency_exchange_account_id
+ if not account_id:
+ raise osv.except_osv(_('Warning'),_("Unable to create accounting entry for currency rate difference. You have to configure the field 'Expense Currency Rate' on the company! "))
+ # Even if the amount_currency is never filled, we need to pass the foreign currency because otherwise
+ # the receivable/payable account may have a secondary currency, which render this field mandatory
+ account_currency_id = company_currency <> current_currency and current_currency or False
move_line = {
'journal_id': line.voucher_id.journal_id.id,
'period_id': line.voucher_id.period_id.id,
@@ -808,7 +924,7 @@ class account_voucher(osv.osv):
'account_id': line.account_id.id,
'move_id': move_id,
'partner_id': line.voucher_id.partner_id.id,
- 'currency_id': company_currency <> current_currency and current_currency or False,
+ 'currency_id': account_currency_id,
'amount_currency': 0.0,
'quantity': 1,
'credit': amount_residual > 0 and amount_residual or 0.0,
@@ -819,11 +935,11 @@ class account_voucher(osv.osv):
'journal_id': line.voucher_id.journal_id.id,
'period_id': line.voucher_id.period_id.id,
'name': _('change')+': '+(line.name or '/'),
- 'account_id': line.voucher_id.exchange_acc_id.id,
+ 'account_id': account_id.id,
'move_id': move_id,
'amount_currency': 0.0,
'partner_id': line.voucher_id.partner_id.id,
- 'currency_id': company_currency <> current_currency and current_currency or False,
+ 'currency_id': account_currency_id,
'quantity': 1,
'debit': amount_residual > 0 and amount_residual or 0.0,
'credit': amount_residual < 0 and -amount_residual or 0.0,
@@ -831,6 +947,31 @@ class account_voucher(osv.osv):
}
return (move_line, move_line_counterpart)
+ def _convert_amount(self, cr, uid, amount, voucher_id, context=None):
+ '''
+ This function convert the amount given in company currency. It takes either the rate in the voucher (if the
+ payment_rate_currency_id is relevant) either the rate encoded in the system.
+
+ :param amount: float. The amount to convert
+ :param voucher: id of the voucher on which we want the conversion
+ :param context: to context to use for the conversion. It may contain the key 'date' set to the voucher date
+ field in order to select the good rate to use.
+ :return: the amount in the currency of the voucher's company
+ :rtype: float
+ '''
+ currency_obj = self.pool.get('res.currency')
+ voucher = self.browse(cr, uid, voucher_id, context=context)
+ res = amount
+ if voucher.payment_rate_currency_id.id == voucher.company_id.currency_id.id:
+ # the rate specified on the voucher is for the company currency
+ rate_between_voucher_and_base = voucher.currency_id.rate or 1.0
+ rate_between_base_and_company = voucher.payment_rate or 1.0
+ res = currency_obj.round(cr, uid, voucher.company_id.currency_id, (amount / rate_between_voucher_and_base * rate_between_base_and_company))
+ else:
+ # the rate specified on the voucher is not relevant, we use all the rates in the system
+ res = currency_obj.compute(cr, uid, voucher.currency_id.id, voucher.company_id.currency_id.id, amount, context=context)
+ return res
+
def voucher_move_line_create(self, cr, uid, voucher_id, line_total, move_id, company_currency, current_currency, context=None):
'''
Create one account move line, on the given account move, per voucher line where amount is not 0.0.
@@ -843,25 +984,30 @@ class account_voucher(osv.osv):
:param company_currency: id of currency of the company to which the voucher belong
:param current_currency: id of currency of the voucher
:return: Tuple build as (remaining amount not allocated on voucher lines, list of account_move_line created in this method)
- :rtype: tuple(int, list of int)
+ :rtype: tuple(float, list of int)
'''
+ if context is None:
+ context = {}
move_line_obj = self.pool.get('account.move.line')
currency_obj = self.pool.get('res.currency')
tot_line = line_total
rec_lst_ids = []
- voucher_brw = self.pool.get('account.voucher').browse(cr,uid,voucher_id,context)
+ voucher_brw = self.pool.get('account.voucher').browse(cr, uid, voucher_id, context)
+ ctx = context.copy()
+ ctx.update({'date': voucher_brw.date})
for line in voucher_brw.line_ids:
#create one move line per voucher line where amount is not 0.0
if not line.amount:
continue
- #we check if the voucher line is fully paid or not and create a move line to balance the payment and initial invoice if needed
+ # convert the amount set on the voucher line into the currency of the voucher's company
+ amount = self._convert_amount(cr, uid, line.untax_amount or line.amount, voucher_brw.id, context=ctx)
+ # if the amount encoded in voucher is equal to the amount unreconciled, we need to compute the
+ # currency rate difference
if line.amount == line.amount_unreconciled:
- amount = (line.untax_amount or line.amount) / voucher_brw.payment_rate
- amount_residual = line.move_line_id.amount_residual - amount #residual amount in company currency
+ currency_rate_difference = line.move_line_id.amount_residual - amount
else:
- amount = (line.untax_amount or line.amount) / voucher_brw.payment_rate
- amount_residual = 0.0
+ currency_rate_difference = 0.0
move_line = {
'journal_id': voucher_brw.journal_id.id,
'period_id': voucher_brw.period_id.id,
@@ -869,7 +1015,7 @@ class account_voucher(osv.osv):
'account_id': line.account_id.id,
'move_id': move_id,
'partner_id': voucher_brw.partner_id.id,
- 'currency_id': company_currency <> current_currency and current_currency or False,
+ 'currency_id': line.move_line_id and (company_currency <> line.move_line_id.currency_id.id and line.move_line_id.currency_id.id) or False,
'analytic_account_id': line.account_analytic_id and line.account_analytic_id.id or False,
'quantity': 1,
'credit': 0.0,
@@ -900,18 +1046,58 @@ class account_voucher(osv.osv):
if not (tax_data.base_code_id and tax_data.tax_code_id):
raise osv.except_osv(_('No Account Base Code and Account Tax Code!'),_("You have to configure account base code and account tax code on the '%s' tax!") % (tax_data.name))
- sign = (move_line['debit'] - move_line['credit']) < 0 and -1 or 1
- move_line['amount_currency'] = company_currency <> current_currency and sign * line.amount or False
+ # compute the amount in foreign currency
+ foreign_currency_diff = 0.0
+ amount_currency = False
+ if line.move_line_id:
+ voucher_currency = voucher_brw.currency_id and voucher_brw.currency_id.id or voucher_brw.journal_id.company_id.currency_id.id
+ # We want to set it on the account move line as soon as the original line had a foreign currency
+ if line.move_line_id.currency_id and line.move_line_id.currency_id.id != company_currency:
+ # we compute the amount in that foreign currency.
+ if line.move_line_id.currency_id.id == current_currency:
+ # if the voucher and the voucher line share the same currency, there is no computation to do
+ sign = (move_line['debit'] - move_line['credit']) < 0 and -1 or 1
+ amount_currency = sign * (line.amount)
+ elif line.move_line_id.currency_id.id == voucher_brw.payment_rate_currency_id.id:
+ # if the rate is specified on the voucher, we must use it
+ voucher_rate = currency_obj.browse(cr, uid, voucher_currency, context=ctx).rate
+ amount_currency = (move_line['debit'] - move_line['credit']) * voucher_brw.payment_rate * voucher_rate
+ else:
+ # otherwise we use the rates of the system (giving the voucher date in the context)
+ amount_currency = currency_obj.compute(cr, uid, company_currency, line.move_line_id.currency_id.id, move_line['debit']-move_line['credit'], context=ctx)
+ if line.amount == line.amount_unreconciled and line.move_line_id.currency_id.id == voucher_currency:
+ foreign_currency_diff = line.move_line_id.amount_residual_currency + amount_currency
+
+ move_line['amount_currency'] = amount_currency
voucher_line = move_line_obj.create(cr, uid, move_line)
rec_ids = [voucher_line, line.move_line_id.id]
- if amount_residual:
- # Change difference entry
- exch_lines = self._get_exchange_lines(cr, uid, line, move_id, amount_residual, company_currency, current_currency, context=context)
+ if not currency_obj.is_zero(cr, uid, voucher_brw.company_id.currency_id, currency_rate_difference):
+ # Change difference entry in company currency
+ exch_lines = self._get_exchange_lines(cr, uid, line, move_id, currency_rate_difference, company_currency, current_currency, context=context)
new_id = move_line_obj.create(cr, uid, exch_lines[0],context)
move_line_obj.create(cr, uid, exch_lines[1], context)
rec_ids.append(new_id)
+ if line.move_line_id and line.move_line_id.currency_id and not currency_obj.is_zero(cr, uid, line.move_line_id.currency_id, foreign_currency_diff):
+ # Change difference entry in voucher currency
+ move_line_foreign_currency = {
+ 'journal_id': line.voucher_id.journal_id.id,
+ 'period_id': line.voucher_id.period_id.id,
+ 'name': _('change')+': '+(line.name or '/'),
+ 'account_id': line.account_id.id,
+ 'move_id': move_id,
+ 'partner_id': line.voucher_id.partner_id.id,
+ 'currency_id': line.move_line_id.currency_id.id,
+ 'amount_currency': -1 * foreign_currency_diff,
+ 'quantity': 1,
+ 'credit': 0.0,
+ 'debit': 0.0,
+ 'date': line.voucher_id.date,
+ }
+ new_id = move_line_obj.create(cr, uid, move_line_foreign_currency, context=context)
+ rec_ids.append(new_id)
+
if line.move_line_id.id:
rec_lst_ids.append(rec_ids)
@@ -1000,28 +1186,32 @@ class account_voucher(osv.osv):
continue
company_currency = self._get_company_currency(cr, uid, voucher.id, context)
current_currency = self._get_current_currency(cr, uid, voucher.id, context)
+ # we select the context to use accordingly if it's a multicurrency case or not
context = self._sel_context(cr, uid, voucher.id, context)
- #Create the account move record.
+ # But for the operations made by _convert_amount, we always need to give the date in the context
+ ctx = context.copy()
+ ctx.update({'date': voucher.date})
+ # Create the account move record.
move_id = move_pool.create(cr, uid, self.account_move_get(cr, uid, voucher.id, context=context), context=context)
# Get the name of the account_move just created
name = move_pool.browse(cr, uid, move_id, context=context).name
- #Create the first line of the voucher
+ # Create the first line of the voucher
move_line_id = move_line_pool.create(cr, uid, self.first_move_line_get(cr,uid,voucher.id, move_id, company_currency, current_currency, context), context)
move_line_brw = move_line_pool.browse(cr, uid, move_line_id, context=context)
line_total = move_line_brw.debit - move_line_brw.credit
rec_list_ids = []
if voucher.type == 'sale':
- line_total = line_total - (voucher.tax_amount / voucher.payment_rate)
+ line_total = line_total - self._convert_amount(cr, uid, voucher.tax_amount, voucher.id, context=ctx)
elif voucher.type == 'purchase':
- line_total = line_total + (voucher.tax_amount / voucher.payment_rate)
- #create one move line per voucher line where amount is not 0.0
+ line_total = line_total + self._convert_amount(cr, uid, voucher.tax_amount, voucher.id, context=ctx)
+ # Create one move line per voucher line where amount is not 0.0
line_total, rec_list_ids = self.voucher_move_line_create(cr, uid, voucher.id, line_total, move_id, company_currency, current_currency, context)
- #create the writeoff line if needed
+ # Create the writeoff line if needed
ml_writeoff = self.writeoff_move_line_get(cr, uid, voucher.id, line_total, move_id, name, company_currency, current_currency, context)
if ml_writeoff:
ml_writeoff_id = move_line_pool.create(cr, uid, ml_writeoff, context)
- #We post the voucher.
+ # We post the voucher.
self.write(cr, uid, [voucher.id], {
'move_id': move_id,
'state': 'posted',
@@ -1029,10 +1219,10 @@ class account_voucher(osv.osv):
})
if voucher.journal_id.entry_posted:
move_pool.post(cr, uid, [move_id], context={})
- #We automatically reconcile the account move lines.
+ # We automatically reconcile the account move lines.
for rec_ids in rec_list_ids:
if len(rec_ids) >= 2:
- move_line_pool.reconcile_partial(cr, uid, rec_ids, writeoff_acc_id=voucher.exchange_acc_id.id, writeoff_period_id=voucher.period_id.id, writeoff_journal_id=voucher.journal_id.id)
+ move_line_pool.reconcile_partial(cr, uid, rec_ids, writeoff_acc_id=voucher.writeoff_acc_id.id, writeoff_period_id=voucher.period_id.id, writeoff_journal_id=voucher.journal_id.id)
return True
def copy(self, cr, uid, id, default={}, context=None):
@@ -1084,13 +1274,28 @@ class account_voucher_line(osv.osv):
rs_data[line.id] = res
return rs_data
+ def _currency_id(self, cr, uid, ids, name, args, context=None):
+ '''
+ This function returns the currency id of a voucher line. It's either the currency of the
+ associated move line (if any) or the currency of the voucher or the company currency.
+ '''
+ res = {}
+ for line in self.browse(cr, uid, ids, context=context):
+ move_line = line.move_line_id
+ if move_line:
+ res[line.id] = move_line.currency_id and move_line.currency_id.id or move_line.company_id.currency_id.id
+ else:
+ res[line.id] = line.voucher_id.currency_id and line.voucher_id.currency_id.id or line.voucher_id.company_id.currency_id.id
+ return res
+
_columns = {
'voucher_id':fields.many2one('account.voucher', 'Voucher', required=1, ondelete='cascade'),
'name':fields.char('Description', size=256),
'account_id':fields.many2one('account.account','Account', required=True),
'partner_id':fields.related('voucher_id', 'partner_id', type='many2one', relation='res.partner', string='Partner'),
'untax_amount':fields.float('Untax Amount'),
- 'amount':fields.float('Amount', digits_compute=dp.get_precision('Account')),
+ 'amount':fields.float('Allocation', digits_compute=dp.get_precision('Account')),
+ 'reconcile': fields.boolean('Full Reconcile'),
'type':fields.selection([('dr','Debit'),('cr','Credit')], 'Dr/Cr'),
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account'),
'move_line_id': fields.many2one('account.move.line', 'Journal Item'),
@@ -1099,11 +1304,24 @@ class account_voucher_line(osv.osv):
'amount_original': fields.function(_compute_balance, multi='dc', type='float', string='Original Amount', store=True),
'amount_unreconciled': fields.function(_compute_balance, multi='dc', type='float', string='Open Balance', store=True),
'company_id': fields.related('voucher_id','company_id', relation='res.company', type='many2one', string='Company', store=True, readonly=True),
+ 'currency_id': fields.function(_currency_id, string='Currency', type='many2one', relation='res.currency', readonly=True),
}
_defaults = {
- 'name': ''
+ 'name': '',
}
+ def onchange_reconcile(self, cr, uid, ids, reconcile, amount, amount_unreconciled, context=None):
+ vals = { 'amount': 0.0}
+ if reconcile:
+ vals = { 'amount': amount_unreconciled}
+ return {'value': vals}
+
+ def onchange_amount(self, cr, uid, ids, amount, amount_unreconciled, context=None):
+ vals = {}
+ if amount:
+ vals['reconcile'] = (amount == amount_unreconciled)
+ return {'value': vals}
+
def onchange_move_line_id(self, cr, user, ids, move_line_id, context=None):
"""
Returns a dict that contains new values and context
@@ -1122,10 +1340,10 @@ class account_voucher_line(osv.osv):
ttype = 'dr'
else:
ttype = 'cr'
- account_id = move_line.account_id.id
res.update({
- 'account_id':account_id,
- 'type': ttype
+ 'account_id': move_line.account_id.id,
+ 'type': ttype,
+ 'currency_id': move_line.currency_id and move_line.currency_id.id or move_line.company_id.currency_id.id,
})
return {
'value':res,
@@ -1262,6 +1480,7 @@ def resolve_o2m_operations(cr, uid, target_osv, operations, fields, context):
result = operation[2]
elif operation[0] == 1:
result = target_osv.read(cr, uid, operation[1], fields, context=context)
+ if not result: result = {}
result.update(operation[2])
elif operation[0] == 4:
result = target_osv.read(cr, uid, operation[1], fields, context=context)
@@ -1269,4 +1488,19 @@ def resolve_o2m_operations(cr, uid, target_osv, operations, fields, context):
results.append(result)
return results
+class res_company(osv.osv):
+ _inherit = "res.company"
+ _columns = {
+ 'income_currency_exchange_account_id': fields.many2one(
+ 'account.account',
+ string="Income Currency Rate",
+ domain="[('type', '=', 'other')]",),
+ 'expense_currency_exchange_account_id': fields.many2one(
+ 'account.account',
+ string="Expense Currency Rate",
+ domain="[('type', '=', 'other')]",),
+ }
+
+res_company()
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_voucher/account_voucher_report.xml b/addons/account_voucher/account_voucher_report.xml
index 8af204efbbe..97de2b89f3a 100644
--- a/addons/account_voucher/account_voucher_report.xml
+++ b/addons/account_voucher/account_voucher_report.xml
@@ -11,13 +11,14 @@
header = "False"
menu="True"/> -->
- <report id="report_account_voucher_print"
+<!-- This report is awfull so it's better to hide it -->
+<!-- <report id="report_account_voucher_print"
string="Voucher Print"
model="account.voucher"
name="voucher.print"
rml="account_voucher/report/account_voucher_print.rml"
auto="False"
header = "False"
- menu="True"/>
+ menu="True"/>-->
</data>
</openerp>
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index 4e218e04714..cbe35b5fc5f 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -259,5 +259,19 @@
</field>
</record>
+ <!-- res.company form view -->
+ <record model="ir.ui.view" id="view_company_inherit_currency_xchange_form">
+ <field name="name">res.company.form.inherit</field>
+ <field name="inherit_id" ref="base.view_company_form"/>
+ <field name="model">res.company</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <field name="currency_id" position="after">
+ <field name="income_currency_exchange_account_id" colspan="2"/>
+ <field name="expense_currency_exchange_account_id" colspan="2"/>
+ </field>
+ </field>
+ </record>
+
</data>
</openerp>
diff --git a/addons/account_voucher/i18n/hr.po b/addons/account_voucher/i18n/hr.po
index 3b1a5db220d..5904967f99a 100644
--- a/addons/account_voucher/i18n/hr.po
+++ b/addons/account_voucher/i18n/hr.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2011-03-03 13:20+0000\n"
+"PO-Revision-Date: 2011-12-08 17:08+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:33+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: account_voucher
#: view:account.voucher.unreconcile:0
msgid "Unreconciliation transactions"
-msgstr ""
+msgstr "Transakcije poništavanja zatvaranja"
#. module: account_voucher
#: code:addons/account_voucher/account_voucher.py:247
@@ -30,12 +30,12 @@ msgstr "Otpis"
#. module: account_voucher
#: view:account.voucher:0
msgid "Payment Ref"
-msgstr ""
+msgstr "Oznaka plaćanja"
#. module: account_voucher
#: view:account.voucher:0
msgid "Open Customer Journal Entries"
-msgstr ""
+msgstr "Otvori temeljnice kupaca"
#. module: account_voucher
#: view:sale.receipt.report:0
@@ -85,7 +85,7 @@ msgstr ""
#: view:account.voucher:0
#: model:ir.actions.act_window,name:account_voucher.act_pay_bills
msgid "Bill Payment"
-msgstr ""
+msgstr "Plaćanje računa"
#. module: account_voucher
#: code:addons/account_voucher/account_voucher.py:746
@@ -105,7 +105,7 @@ msgstr "Uvoz stavki"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_voucher_unreconcile
msgid "Account voucher unreconcile"
-msgstr "Poništi zatvaranja plaćanja"
+msgstr "Poništi zatvaranja"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
@@ -120,11 +120,14 @@ msgid ""
"automatically and you can record the customer payment related to this sales "
"receipt."
msgstr ""
+"Kada prodate proizvod kupci dužni ste mu izdati račun. Potvrdom računa "
+"kreiraju se knjigovodstvene stavke dugovanja kupca i tada možete "
+"evidentirati plaćanje kupca vezano na ovu prodaju."
#. module: account_voucher
#: view:account.voucher:0
msgid "Pay Bill"
-msgstr ""
+msgstr "Plati račun"
#. module: account_voucher
#: field:account.voucher,company_id:0
@@ -132,66 +135,66 @@ msgstr ""
#: view:sale.receipt.report:0
#: field:sale.receipt.report,company_id:0
msgid "Company"
-msgstr "Tvrtka"
+msgstr "Organizacija"
#. module: account_voucher
#: view:account.voucher:0
msgid "Set to Draft"
-msgstr ""
+msgstr "Postavi na nacrt"
#. module: account_voucher
#: help:account.voucher,reference:0
msgid "Transaction reference number."
-msgstr ""
+msgstr "Transaction reference number."
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_view_account_voucher_unreconcile
msgid "Unreconcile entries"
-msgstr ""
+msgstr "Otvori stavke"
#. module: account_voucher
#: view:account.voucher:0
msgid "Voucher Statistics"
-msgstr ""
+msgstr "Statistike vaučera"
#. module: account_voucher
#: view:account.voucher:0
msgid "Validate"
-msgstr ""
+msgstr "Potvrdi"
#. module: account_voucher
#: view:sale.receipt.report:0
#: field:sale.receipt.report,day:0
msgid "Day"
-msgstr ""
+msgstr "Dan"
#. module: account_voucher
#: view:account.voucher:0
msgid "Search Vouchers"
-msgstr ""
+msgstr "Traži vaučere"
#. module: account_voucher
#: selection:account.voucher,type:0
#: selection:sale.receipt.report,type:0
msgid "Purchase"
-msgstr ""
+msgstr "Nabava"
#. module: account_voucher
#: field:account.voucher,account_id:0
#: field:account.voucher.line,account_id:0
#: field:sale.receipt.report,account_id:0
msgid "Account"
-msgstr ""
+msgstr "Konto"
#. module: account_voucher
#: field:account.voucher,line_dr_ids:0
msgid "Debits"
-msgstr ""
+msgstr "Dugovanja"
#. module: account_voucher
#: view:account.statement.from.invoice.lines:0
msgid "Ok"
-msgstr ""
+msgstr "U redu"
#. module: account_voucher
#: model:ir.actions.act_window,help:account_voucher.action_sale_receipt_report_all
@@ -200,6 +203,8 @@ msgid ""
"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."
msgstr ""
+"Pregled fakturiranih iznosa i kašnjenja plaćanja. Za prilagodbu izvještaja "
+"vašim potrebama koristite funkcionalnosti traženja i grupiranja."
#. module: account_voucher
#: field:account.voucher,date_due:0
@@ -207,12 +212,12 @@ msgstr ""
#: view:sale.receipt.report:0
#: field:sale.receipt.report,date_due:0
msgid "Due Date"
-msgstr ""
+msgstr "Datum dospijeća"
#. module: account_voucher
#: field:account.voucher,narration:0
msgid "Notes"
-msgstr ""
+msgstr "Bilješke"
#. module: account_voucher
#: model:ir.actions.act_window,help:account_voucher.action_vendor_receipt
@@ -223,22 +228,25 @@ msgid ""
"to you automatically the reconciliation of this payment with the open "
"invoices or sales receipts."
msgstr ""
+"Uplate kupaca evidentiraju primljena plaćanja kupaca. Upišite kupca, način "
+"plaćanja=dnevnik i iznos plaćanja. OpenERP će predložiti zatvaranje plaćanja "
+"s otvorenim računom(ima) ili drugim otvorenim stavkama tog partnera."
#. module: account_voucher
#: selection:account.voucher,type:0
#: selection:sale.receipt.report,type:0
msgid "Sale"
-msgstr ""
+msgstr "Prodaja"
#. module: account_voucher
#: field:account.voucher.line,move_line_id:0
msgid "Journal Item"
-msgstr ""
+msgstr "Stavka dnevnika"
#. module: account_voucher
#: field:account.voucher,reference:0
msgid "Ref #"
-msgstr ""
+msgstr "Ref #"
#. module: account_voucher
#: field:account.voucher.line,amount:0
@@ -249,28 +257,28 @@ msgstr ""
#. module: account_voucher
#: view:account.voucher:0
msgid "Payment Options"
-msgstr ""
+msgstr "Opcije plaćanja"
#. module: account_voucher
#: view:account.voucher:0
msgid "Other Information"
-msgstr ""
+msgstr "Ostali podaci"
#. module: account_voucher
#: selection:account.voucher,state:0
#: selection:sale.receipt.report,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "Otkazani"
#. module: account_voucher
#: field:account.statement.from.invoice,date:0
msgid "Date payment"
-msgstr ""
+msgstr "Datum plaćanja"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_bank_statement_line
msgid "Bank Statement Line"
-msgstr ""
+msgstr "Redak bankovnog izvoda"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_purchase_receipt
@@ -282,12 +290,12 @@ msgstr ""
#: view:account.voucher:0
#: view:account.voucher.unreconcile:0
msgid "Unreconcile"
-msgstr ""
+msgstr "Otvori stavke"
#. module: account_voucher
#: field:account.voucher,tax_id:0
msgid "Tax"
-msgstr ""
+msgstr "Porez"
#. module: account_voucher
#: report:voucher.print:0
@@ -298,32 +306,32 @@ msgstr ""
#: view:sale.receipt.report:0
#: field:sale.receipt.report,nbr:0
msgid "# of Voucher Lines"
-msgstr ""
+msgstr "# linija vaučera"
#. module: account_voucher
#: field:account.voucher.line,account_analytic_id:0
msgid "Analytic Account"
-msgstr ""
+msgstr "Konto analitike"
#. module: account_voucher
#: view:account.voucher:0
msgid "Payment Information"
-msgstr ""
+msgstr "Informacije uplate"
#. module: account_voucher
#: view:account.statement.from.invoice:0
msgid "Go"
-msgstr ""
+msgstr "Go"
#. module: account_voucher
#: view:account.voucher:0
msgid "Paid Amount"
-msgstr ""
+msgstr "Plaćeni iznos"
#. module: account_voucher
#: view:account.bank.statement:0
msgid "Import Invoices"
-msgstr ""
+msgstr "Uvoz računa"
#. module: account_voucher
#: report:voucher.print:0
@@ -334,7 +342,7 @@ msgstr ""
#: selection:account.voucher,type:0
#: selection:sale.receipt.report,type:0
msgid "Receipt"
-msgstr ""
+msgstr "Receipt"
#. module: account_voucher
#: report:voucher.print:0
@@ -349,7 +357,7 @@ msgstr ""
#. module: account_voucher
#: view:account.voucher:0
msgid "Sales Lines"
-msgstr ""
+msgstr "Stavke prodaje"
#. module: account_voucher
#: report:voucher.print:0
@@ -360,14 +368,14 @@ msgstr ""
#: view:account.voucher:0
#: field:account.voucher,period_id:0
msgid "Period"
-msgstr ""
+msgstr "Period"
#. module: account_voucher
#: view:account.voucher:0
#: field:account.voucher,state:0
#: view:sale.receipt.report:0
msgid "State"
-msgstr ""
+msgstr "Stanje"
#. module: account_voucher
#: model:ir.module.module,shortdesc:account_voucher.module_meta_information
@@ -378,18 +386,18 @@ msgstr ""
#: view:sale.receipt.report:0
#: field:sale.receipt.report,type:0
msgid "Type"
-msgstr ""
+msgstr "Vrsta"
#. module: account_voucher
#: field:account.voucher.unreconcile,remove:0
msgid "Want to remove accounting entries too ?"
-msgstr ""
+msgstr "Želite li ukloniti i knjigovodstvene unose?"
#. module: account_voucher
#: view:account.voucher:0
#: model:ir.actions.act_window,name:account_voucher.act_journal_voucher_open
msgid "Voucher Entries"
-msgstr ""
+msgstr "Stavke vaučera"
#. module: account_voucher
#: code:addons/account_voucher/account_voucher.py:645
@@ -400,24 +408,24 @@ msgstr ""
#. module: account_voucher
#: view:account.voucher:0
msgid "Supplier Voucher"
-msgstr ""
+msgstr "Vaučer dobavljača"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_review_voucher_list
msgid "Vouchers Entries"
-msgstr ""
+msgstr "Stavke vaučera"
#. module: account_voucher
#: field:account.voucher,name:0
msgid "Memo"
-msgstr ""
+msgstr "Memo"
#. module: account_voucher
#: view:account.voucher:0
#: model:ir.actions.act_window,name:account_voucher.action_sale_receipt
#: model:ir.ui.menu,name:account_voucher.menu_action_sale_receipt
msgid "Sales Receipt"
-msgstr ""
+msgstr "Izdani vaučeri"
#. module: account_voucher
#: code:addons/account_voucher/account_voucher.py:596
@@ -428,30 +436,30 @@ msgstr ""
#. module: account_voucher
#: view:account.voucher:0
msgid "Bill Information"
-msgstr ""
+msgstr "Bill Information"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "July"
-msgstr ""
+msgstr "Srpanj"
#. module: account_voucher
#: view:account.voucher.unreconcile:0
msgid "Unreconciliation"
-msgstr ""
+msgstr "Poništavanje zatvaranja IOS-a"
#. module: account_voucher
#: view:sale.receipt.report:0
#: field:sale.receipt.report,due_delay:0
msgid "Avg. Due Delay"
-msgstr ""
+msgstr "Pros. dugovanje"
#. module: account_voucher
#: view:account.invoice:0
#: code:addons/account_voucher/invoice.py:32
#, python-format
msgid "Pay Invoice"
-msgstr ""
+msgstr "Plaćanje"
#. module: account_voucher
#: code:addons/account_voucher/account_voucher.py:746
@@ -462,12 +470,12 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,tax_amount:0
msgid "Tax Amount"
-msgstr ""
+msgstr "Iznos poreza"
#. module: account_voucher
#: view:account.voucher:0
msgid "Voucher Entry"
-msgstr ""
+msgstr "Stavka vaučera"
#. module: account_voucher
#: view:account.voucher:0
@@ -476,82 +484,82 @@ msgstr ""
#: view:sale.receipt.report:0
#: field:sale.receipt.report,partner_id:0
msgid "Partner"
-msgstr ""
+msgstr "Partner"
#. module: account_voucher
#: field:account.voucher,payment_option:0
msgid "Payment Difference"
-msgstr ""
+msgstr "Razlika plaćanja"
#. module: account_voucher
#: 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 ""
+msgstr "Iznos vaučera mora biti jednak iznosu stavke izvoda banke/blagajne."
#. module: account_voucher
#: view:account.voucher:0
msgid "To Review"
-msgstr ""
+msgstr "Za provjeru"
#. module: account_voucher
#: view:account.voucher:0
msgid "Expense Lines"
-msgstr ""
+msgstr "Redak troška"
#. module: account_voucher
#: field:account.statement.from.invoice,line_ids:0
#: field:account.statement.from.invoice.lines,line_ids:0
msgid "Invoices"
-msgstr ""
+msgstr "Računi"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "December"
-msgstr ""
+msgstr "Prosinac"
#. module: account_voucher
#: field:account.voucher,line_ids:0
#: view:account.voucher.line:0
#: model:ir.model,name:account_voucher.model_account_voucher_line
msgid "Voucher Lines"
-msgstr ""
+msgstr "Linije vaučera"
#. module: account_voucher
#: view:sale.receipt.report:0
#: field:sale.receipt.report,month:0
msgid "Month"
-msgstr ""
+msgstr "Mjesec"
#. module: account_voucher
#: field:account.voucher,currency_id:0
#: field:sale.receipt.report,currency_id:0
msgid "Currency"
-msgstr ""
+msgstr "Valuta"
#. module: account_voucher
#: view:account.statement.from.invoice.lines:0
msgid "Payable and Receivables"
-msgstr ""
+msgstr "Payable and Receivables"
#. module: account_voucher
#: selection:account.voucher,pay_now:0
#: selection:sale.receipt.report,pay_now:0
msgid "Pay Later or Group Funds"
-msgstr ""
+msgstr "Pay Later or Group Funds"
#. module: account_voucher
#: view:sale.receipt.report:0
#: field:sale.receipt.report,user_id:0
msgid "Salesman"
-msgstr ""
+msgstr "Prodavač"
#. module: account_voucher
#: view:sale.receipt.report:0
#: field:sale.receipt.report,delay_to_pay:0
msgid "Avg. Delay To Pay"
-msgstr ""
+msgstr "Pros. kašnjenje"
#. module: account_voucher
#: view:account.voucher:0
@@ -560,7 +568,7 @@ msgstr ""
#: selection:sale.receipt.report,state:0
#: report:voucher.print:0
msgid "Draft"
-msgstr ""
+msgstr "Nacrt"
#. module: account_voucher
#: field:account.voucher,writeoff_acc_id:0
@@ -576,7 +584,7 @@ msgstr ""
#: view:sale.receipt.report:0
#: field:sale.receipt.report,price_total_tax:0
msgid "Total With Tax"
-msgstr ""
+msgstr "Ukupno s porezom"
#. module: account_voucher
#: report:voucher.print:0
@@ -586,7 +594,7 @@ msgstr ""
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "August"
-msgstr ""
+msgstr "Kolovoz"
#. module: account_voucher
#: model:ir.actions.act_window,help:account_voucher.action_vendor_payment
@@ -596,16 +604,19 @@ msgid ""
"the payment, OpenERP will propose to reconcile your payment with the open "
"supplier invoices or bills."
msgstr ""
+"Nalozi za plaćanje omogućuju upravljanje plaćanjima obveza. Nakon odabira "
+"dobavljača, načina plaćanja i iznosa OpenERP će ponuditi zatvaranje "
+"otvorenih računa dobavljača, odnosno svih otvorenih stavki (IOS-a) partnera."
#. module: account_voucher
#: view:account.voucher:0
msgid "Total Amount"
-msgstr ""
+msgstr "Ukupni iznos"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "June"
-msgstr ""
+msgstr "Lipanj"
#. module: account_voucher
#: field:account.voucher.line,type:0
@@ -620,30 +631,30 @@ msgstr ""
#. module: account_voucher
#: view:account.voucher:0
msgid "Payment Terms"
-msgstr ""
+msgstr "Uvjeti plaćanja"
#. module: account_voucher
#: view:account.voucher:0
msgid "Are you sure to unreconcile this record ?"
-msgstr ""
+msgstr "Sigurno želite otvoriti ovaj zapis?"
#. module: account_voucher
#: field:account.voucher,date:0
#: field:account.voucher.line,date_original:0
#: field:sale.receipt.report,date:0
msgid "Date"
-msgstr ""
+msgstr "Datum"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "November"
-msgstr ""
+msgstr "Studeni"
#. module: account_voucher
#: view:account.voucher:0
#: view:sale.receipt.report:0
msgid "Extended Filters..."
-msgstr ""
+msgstr "Prošireni filtri..."
#. module: account_voucher
#: report:voucher.print:0
@@ -653,49 +664,49 @@ msgstr ""
#. module: account_voucher
#: field:account.bank.statement.line,amount_reconciled:0
msgid "Amount reconciled"
-msgstr ""
+msgstr "Zatvoreni iznos"
#. module: account_voucher
#: field:account.voucher,analytic_id:0
msgid "Write-Off Analytic Account"
-msgstr ""
+msgstr "Write-Off Analytic Account"
#. module: account_voucher
#: selection:account.voucher,pay_now:0
#: selection:sale.receipt.report,pay_now:0
msgid "Pay Directly"
-msgstr ""
+msgstr "Pay Directly"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "October"
-msgstr ""
+msgstr "Listopad"
#. module: account_voucher
#: field:account.voucher,pre_line:0
msgid "Previous Payments ?"
-msgstr ""
+msgstr "Predhodna plaćanja ?"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "January"
-msgstr ""
+msgstr "Siječanj"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_voucher_list
#: model:ir.ui.menu,name:account_voucher.menu_encode_entries_by_voucher
msgid "Journal Vouchers"
-msgstr ""
+msgstr "Dnevnik vaučera"
#. module: account_voucher
#: view:account.voucher:0
msgid "Compute Tax"
-msgstr ""
+msgstr "Izračunaj porez"
#. module: account_voucher
#: selection:account.voucher.line,type:0
msgid "Credit"
-msgstr ""
+msgstr "Potražuje"
#. module: account_voucher
#: code:addons/account_voucher/account_voucher.py:645
@@ -706,7 +717,7 @@ msgstr ""
#. module: account_voucher
#: view:account.voucher:0
msgid "Open Supplier Journal Entries"
-msgstr ""
+msgstr "Otvori temeljnice dobavljača"
#. module: account_voucher
#: report:voucher.print:0
@@ -717,28 +728,28 @@ msgstr ""
#: model:ir.actions.act_window,name:account_voucher.action_vendor_payment
#: model:ir.ui.menu,name:account_voucher.menu_action_vendor_payment
msgid "Supplier Payment"
-msgstr ""
+msgstr "Plaćanja dobavljačima"
#. module: account_voucher
#: view:account.voucher:0
msgid "Post"
-msgstr ""
+msgstr "Post"
#. module: account_voucher
#: view:account.voucher:0
msgid "Invoices and outstanding transactions"
-msgstr ""
+msgstr "Računi i otvorene stavke"
#. module: account_voucher
#: view:sale.receipt.report:0
#: field:sale.receipt.report,price_total:0
msgid "Total Without Tax"
-msgstr ""
+msgstr "Uk. prije poreza"
#. module: account_voucher
#: view:account.voucher:0
msgid "Bill Date"
-msgstr ""
+msgstr "Datum računa"
#. module: account_voucher
#: help:account.voucher,state:0
@@ -752,55 +763,61 @@ msgid ""
"\n"
"* The 'Cancelled' state is used when user cancel voucher."
msgstr ""
+" * Vaučer je u stanju \"Nacrt\" za vrijeme upisa podataka i stavki vaučera "
+"dok se ne potvrdi ili otkaže. \n"
+" * U 'Pro-forma' stanju vaučeru još uvijek nije dodijeljen broj. \n"
+" * Stanje 'Knjižen' označava vaučer koji je dobio broj i za koji je izrađena "
+"temeljnica \n"
+" * U stanju 'Otkazan' su nevažeći vaučeri"
#. module: account_voucher
#: view:account.voucher:0
#: model:ir.model,name:account_voucher.model_account_voucher
msgid "Accounting Voucher"
-msgstr ""
+msgstr "Knjigovodstveni vaučer"
#. module: account_voucher
#: field:account.voucher,number:0
msgid "Number"
-msgstr ""
+msgstr "Broj"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_bank_statement
msgid "Bank Statement"
-msgstr ""
+msgstr "Izvod banke"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "September"
-msgstr ""
+msgstr "Rujan"
#. module: account_voucher
#: view:account.voucher:0
msgid "Sales Information"
-msgstr ""
+msgstr "Informacije o prodaji"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_sale_receipt_report_all
#: model:ir.ui.menu,name:account_voucher.menu_action_sale_receipt_report_all
#: view:sale.receipt.report:0
msgid "Sales Receipt Analysis"
-msgstr ""
+msgstr "Analiza izdanih vaučera"
#. module: account_voucher
#: field:account.voucher.line,voucher_id:0
#: model:res.request.link,name:account_voucher.req_link_voucher
msgid "Voucher"
-msgstr ""
+msgstr "Vaučer"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_invoice
msgid "Invoice"
-msgstr ""
+msgstr "Račun"
#. module: account_voucher
#: view:account.voucher:0
msgid "Voucher Items"
-msgstr ""
+msgstr "Sadržaj vaučera"
#. module: account_voucher
#: view:account.statement.from.invoice:0
@@ -808,20 +825,20 @@ msgstr ""
#: view:account.voucher:0
#: view:account.voucher.unreconcile:0
msgid "Cancel"
-msgstr ""
+msgstr "Odustani"
#. module: account_voucher
#: selection:account.voucher,state:0
#: view:sale.receipt.report:0
#: selection:sale.receipt.report,state:0
msgid "Pro-forma"
-msgstr ""
+msgstr "Pro-forma"
#. module: account_voucher
#: view:account.voucher:0
#: field:account.voucher,move_ids:0
msgid "Journal Items"
-msgstr ""
+msgstr "Stavke glavne knjige"
#. module: account_voucher
#: view:account.voucher:0
@@ -829,28 +846,28 @@ msgstr ""
#: model:ir.actions.act_window,name:account_voucher.action_vendor_receipt
#: model:ir.ui.menu,name:account_voucher.menu_action_vendor_receipt
msgid "Customer Payment"
-msgstr ""
+msgstr "Plaćanja kupaca"
#. module: account_voucher
#: view:account.statement.from.invoice:0
#: model:ir.actions.act_window,name:account_voucher.action_view_account_statement_from_invoice
msgid "Import Invoices in Statement"
-msgstr ""
+msgstr "Uvezi račune na nalog"
#. module: account_voucher
#: view:account.voucher:0
msgid "Pay"
-msgstr ""
+msgstr "Pay"
#. module: account_voucher
#: selection:account.voucher.line,type:0
msgid "Debit"
-msgstr ""
+msgstr "Duguje"
#. module: account_voucher
#: view:account.voucher:0
msgid "Are you sure to confirm this record ?"
-msgstr ""
+msgstr "Are you sure to confirm this record ?"
#. module: account_voucher
#: selection:account.voucher,payment_option:0
@@ -860,12 +877,12 @@ msgstr ""
#. module: account_voucher
#: view:account.voucher:0
msgid "Payment Method"
-msgstr ""
+msgstr "Način plaćanja"
#. module: account_voucher
#: field:account.voucher.line,name:0
msgid "Description"
-msgstr ""
+msgstr "Opis"
#. module: account_voucher
#: report:voucher.print:0
@@ -875,7 +892,7 @@ msgstr ""
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "May"
-msgstr ""
+msgstr "Svibanj"
#. module: account_voucher
#: field:account.statement.from.invoice,journal_ids:0
@@ -884,23 +901,23 @@ msgstr ""
#: view:sale.receipt.report:0
#: field:sale.receipt.report,journal_id:0
msgid "Journal"
-msgstr ""
+msgstr "Dnevnik"
#. module: account_voucher
#: view:account.voucher:0
msgid "Internal Notes"
-msgstr ""
+msgstr "Interne bilješke"
#. module: account_voucher
#: view:account.voucher:0
#: field:account.voucher,line_cr_ids:0
msgid "Credits"
-msgstr ""
+msgstr "Potraživanja"
#. module: account_voucher
#: field:account.voucher.line,amount_original:0
msgid "Original Amount"
-msgstr ""
+msgstr "Originalni iznos"
#. module: account_voucher
#: report:voucher.print:0
@@ -916,7 +933,7 @@ msgstr ""
#: field:sale.receipt.report,pay_now:0
#: selection:sale.receipt.report,type:0
msgid "Payment"
-msgstr ""
+msgstr "Plaćanje"
#. module: account_voucher
#: view:account.voucher:0
@@ -925,22 +942,22 @@ msgstr ""
#: selection:sale.receipt.report,state:0
#: report:voucher.print:0
msgid "Posted"
-msgstr ""
+msgstr "Proknjiženo"
#. module: account_voucher
#: view:account.voucher:0
msgid "Customer"
-msgstr ""
+msgstr "Kupac"
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "February"
-msgstr ""
+msgstr "Veljača"
#. module: account_voucher
#: view:account.voucher:0
msgid "Supplier Invoices and Outstanding transactions"
-msgstr ""
+msgstr "Ulazni računi i otvorene stavke"
#. module: account_voucher
#: field:account.voucher,comment:0
@@ -950,38 +967,38 @@ msgstr ""
#. module: account_voucher
#: selection:sale.receipt.report,month:0
msgid "April"
-msgstr ""
+msgstr "Travanj"
#. module: account_voucher
#: field:account.voucher,type:0
msgid "Default Type"
-msgstr ""
+msgstr "Uobičajeni tip"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_statement_from_invoice
#: model:ir.model,name:account_voucher.model_account_statement_from_invoice_lines
msgid "Entries by Statement from Invoices"
-msgstr ""
+msgstr "Stavke po izvodu iz računa"
#. module: account_voucher
#: field:account.voucher,move_id:0
msgid "Account Entry"
-msgstr ""
+msgstr "Temeljnica"
#. module: account_voucher
#: field:sale.receipt.report,state:0
msgid "Voucher State"
-msgstr ""
+msgstr "Stanje vaučera"
#. module: account_voucher
#: help:account.voucher,date:0
msgid "Effective date for accounting entries"
-msgstr ""
+msgstr "Effective date for accounting entries"
#. module: account_voucher
#: selection:account.voucher,payment_option:0
msgid "Keep Open"
-msgstr ""
+msgstr "Ostavi otvoreno"
#. module: account_voucher
#: view:account.voucher.unreconcile:0
@@ -989,31 +1006,36 @@ msgid ""
"If you unreconciliate transactions, you must also verify all the actions "
"that are linked to those transactions because they will not be disable"
msgstr ""
+"Ako želite poništiti zatvaranja transakcija, morate također provjeriti sve "
+"radnje koje su povezane sa tim transakcijama jer neće biti onemogućene"
#. module: account_voucher
#: field:account.voucher.line,untax_amount:0
msgid "Untax Amount"
-msgstr ""
+msgstr "Osnovica"
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_sale_receipt_report
msgid "Sales Receipt Statistics"
-msgstr ""
+msgstr "Statistika izdanih vaučera"
#. module: account_voucher
#: view:sale.receipt.report:0
#: field:sale.receipt.report,year:0
msgid "Year"
-msgstr ""
+msgstr "Godina"
#. module: account_voucher
#: view:account.voucher:0
#: field:account.voucher.line,amount_unreconciled:0
msgid "Open Balance"
-msgstr ""
+msgstr "Otvoreni saldo"
#. module: account_voucher
#: view:account.voucher:0
#: field:account.voucher,amount:0
msgid "Total"
-msgstr ""
+msgstr "Ukupno"
+
+#~ msgid "Dr/Cr"
+#~ msgstr "Dr/Cr"
diff --git a/addons/account_voucher/static/src/img/icon.png b/addons/account_voucher/static/src/img/icon.png
new file mode 100644
index 00000000000..afad1331e2e
--- /dev/null
+++ b/addons/account_voucher/static/src/img/icon.png
Binary files differ
diff --git a/addons/account_voucher/test/account_voucher.yml b/addons/account_voucher/test/account_voucher.yml
index 33ae609e3f3..7e5482aa931 100644
--- a/addons/account_voucher/test/account_voucher.yml
+++ b/addons/account_voucher/test/account_voucher.yml
@@ -5,7 +5,6 @@
account_id: account.cash
amount: 1000.0
company_id: base.main_company
- currency_id: base.EUR
journal_id: account.bank_journal
name: Voucher for Axelor
narration: Basic Pc
diff --git a/addons/account_voucher/test/account_voucher_report.yml b/addons/account_voucher/test/account_voucher_report.yml
index b41c33e4470..85432f747aa 100644
--- a/addons/account_voucher/test/account_voucher_report.yml
+++ b/addons/account_voucher/test/account_voucher_report.yml
@@ -1,7 +1,7 @@
-
Demo for Account Voucher
-
- !record {model: account.voucher, id: account_voucher_voucheraxelor0}:
+ !record {model: account.voucher, id: account_voucher_voucheraxelor0again}:
account_id: account.cash
company_id: base.main_company
journal_id: account.bank_journal
@@ -19,6 +19,6 @@
-
!python {model: account.voucher}: |
import netsvc, tools, os
- (data, format) = netsvc.LocalService('report.voucher.cash_receipt.drcr').create(cr, uid, [ref("account_voucher_voucheraxelor0")], {}, {})
+ (data, format) = netsvc.LocalService('report.voucher.cash_receipt.drcr').create(cr, uid, [ref("account_voucher_voucheraxelor0again")], {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'account_voucher-report.'+format), 'wb+').write(data)
diff --git a/addons/account_voucher/test/case1_usd_usd.yml b/addons/account_voucher/test/case1_usd_usd.yml
index e19e7e3ee46..3432d3cf27b 100644
--- a/addons/account_voucher/test/case1_usd_usd.yml
+++ b/addons/account_voucher/test/case1_usd_usd.yml
@@ -2,6 +2,15 @@
In order to check the Account_voucher module with multi-currency in OpenERP,
I create 2 Invoices in USD and make 2 Payments in USD based on the currency rating on that particular date
-
+ I set the income and expense currency accounts on the main company
+-
+ !python {model: res.company}: |
+ from datetime import datetime
+ vals = {
+ 'income_currency_exchange_account_id': ref('account.o_expense'),
+ 'expense_currency_exchange_account_id': ref('account.o_expense')}
+ self.write(cr, uid, ref('base.main_company'), vals)
+-
I create currency USD in OpenERP for January of 1.333333 Rate
-
!python {model: res.currency.rate}: |
@@ -131,39 +140,41 @@
assert (move_line.debit - move_line.credit == 80), "Invoice move is not correct for debtors account"
-
- I create the first voucher of payment
- <create with values 240 USD, journal USD, and fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$>
+ I set the context that will be used for the encoding of all the vouchers of this file
+-
+ !context
+ 'type': 'receipt'
+-
+ I create the first voucher of payment with values 240 USD, journal USD,
+-
+ !record {model: account.voucher, id: account_voucher_1_case1, view: view_vendor_receipt_form}:
+ account_id: account.cash
+ amount: 240.0
+ company_id: base.main_company
+ journal_id: bank_journal_USD
+ name: 'First payment: Case 1 USD/USD'
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-03-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+
+-
+ I fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_USD'), 240.00, 2, ttype='receipt', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 240.00,
- 'company_id': ref('base.main_company'),
- 'currency_id': ref('base.USD'),
- 'journal_id': ref('bank_journal_USD'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'receipt',
- 'date': time.strftime("%Y-%m-%d"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'comment': 'Write Off',
- 'name': 'First payment: Case 1 USD/USD',
- }
- vals.update(self.onchange_date(cr, uid, [], time.strftime('%Y-03-01'), ref('base.USD'), 240)['value'])
- if not res['value']['line_cr_ids']:
- res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
- for item in res['value']['line_cr_ids']:
- if item['amount_unreconciled'] == 200.00:
- item['amount'] = 180.00
+ voucher_id = self.browse(cr, uid, ref('account_voucher_1_case1'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 200.00:
+ data += [(item.id, 180.0)]
else:
- item['amount'] = 70.00
- vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ data += [(item.id, 70.0)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 10.0
@@ -228,41 +239,35 @@
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 30.0) , "Residual amount is not correct for first Invoice"
-
- I create the second voucher of payment
- <create with values 45 USD, journal USD, and fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$>
-
+ I create the second voucher of payment with values 45 USD, journal USD,
+-
+ !record {model: account.voucher, id: account_voucher_2_case1}:
+ account_id: account.cash
+ amount: 45.0
+ company_id: base.main_company
+ journal_id: bank_journal_USD
+ name: 'Second payment: Case 1'
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-04-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+-
+ I fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_USD'), 45.00, 2, ttype='receipt', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 45.00,
- 'exchange_acc_id': ref('account.o_expense'),
- 'company_id': ref('base.main_company'),
- 'currency_id': ref('base.USD'),
- 'journal_id': ref('bank_journal_USD'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'receipt',
- 'date': time.strftime("%Y-%m-%d"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'comment': 'Write Off',
- 'name': 'Second payment: Case 1',
- }
- vals.update(self.onchange_date(cr, uid, [], time.strftime('%Y-04-01'), ref('base.USD'), 45.0)['value'])
- if not res['value']['line_cr_ids']:
- res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
- for item in res['value']['line_cr_ids']:
- if item['amount_unreconciled'] == 20.00:
- item['amount'] = 20.00
+ voucher_id = self.browse(cr, uid, ref('account_voucher_2_case1'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 20.00:
+ data += [(item.id, 20.0)]
else:
- item['amount'] = 30.00
- vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ data += [(item.id, 30.0)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 5.0
diff --git a/addons/account_voucher/test/case2_suppl_usd_eur.yml b/addons/account_voucher/test/case2_suppl_usd_eur.yml
index 23f11d28803..0ad523b8004 100644
--- a/addons/account_voucher/test/case2_suppl_usd_eur.yml
+++ b/addons/account_voucher/test/case2_suppl_usd_eur.yml
@@ -2,6 +2,15 @@
In order to check the Account_voucher module with multi-currency in OpenERP,
I create 2 Invoices in USD and make 2 Payments one in USD and another in EUR, based on the currency rating on that particular date
-
+ I set the income and expense currency accounts on the main company
+-
+ !python {model: res.company}: |
+ from datetime import datetime
+ vals = {
+ 'income_currency_exchange_account_id': ref('account.o_expense'),
+ 'expense_currency_exchange_account_id': ref('account.o_expense')}
+ self.write(cr, uid, ref('base.main_company'), vals)
+-
I create a bank journal with EUR as currency
-
!record {model: account.journal, id: bank_journal_EUR}:
@@ -104,38 +113,41 @@
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == -80), "Invoice move is incorrect for debtors account"
-
- I create the first voucher of payment
- <create with values 240 EUR, journal EUR, and fills amount 180 for the invoice of 200$ and 70 for the invoice of 100$>
+ I set the context that will be used for the encoding of all the vouchers of this file
+-
+ !context
+ 'type': 'payment'
+-
+ I create the first voucher of payment with values 240 EUR, journal EUR
+-
+ !record {model: account.voucher, id: account_voucher_1_case2_suppl, view: view_vendor_payment_form}:
+ account_id: account.cash
+ amount: 240.0
+ company_id: base.main_company
+ journal_id: bank_journal_EUR
+ name: 'First payment: Case 2 SUPPL USD/EUR',
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-03-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+
+-
+ I fill amounts 180 for the invoice of 200$ and 70 for the invoice of 100$
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_EUR'), 240.0, 2, ttype='payment', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 240.0,
- 'company_id': ref('base.main_company'),
- 'currency_id': ref('base.EUR'),
- 'journal_id': ref('bank_journal_EUR'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'payment',
- 'date': time.strftime("%Y-03-01"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'comment': 'Write Off',
- 'name': 'First payment: Case 2 SUPPL USD/EUR',
- }
- if not res['value']['line_dr_ids']:
- res['value']['line_dr_ids'] = [{'type': 'dr', 'account_id': ref('account.a_pay'),}]
- for item in res['value']['line_dr_ids']:
- if item['amount_unreconciled'] == 200.00:
- item['amount'] = 180.00
+ voucher_id = self.browse(cr, uid, ref('account_voucher_1_case2_suppl'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 200.00:
+ data += [(item.id, 180.0)]
else:
- item['amount'] = 70.00
- vals['line_dr_ids'] = [(0,0,i) for i in res['value']['line_dr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ data += [(item.id, 70.0)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is -15.0
@@ -201,7 +213,7 @@
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 20.0 and move_line.amount_residual == 15) , "Residual amount is not correct for first Invoice"
--
+-
I check the residual amuont of Invoice2, should be 30 in residual currency and 24 in amount_residual
-
!python {model: account.invoice}: |
@@ -210,40 +222,37 @@
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 30 and move_line.amount_residual == 24) , "Residual amount is not correct for second Invoice"
--
- I create the second voucher of payment
- <create with values 45 USD, journal USD, and fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$>
+-
+ I create the second voucher of payment with values 45 USD, journal USD,
+-
+ !record {model: account.voucher, id: account_voucher_2_case2_suppl, view: view_vendor_payment_form}:
+ account_id: account.cash
+ amount: 45.0
+ company_id: base.main_company
+ journal_id: bank_journal_USD
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-04-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+ name: 'Second payment: Case 2 SUPPL USD/EUR'
+
+-
+ I fill amounts 20 for the invoice of 200$ and 30 for the invoice of 100$>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_EUR'), 45.0, 2, ttype='payment', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 45.0,
- 'company_id': ref('base.main_company'),
- 'currency_id': ref('base.USD'),
- 'journal_id': ref('bank_journal_USD'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'payment',
- 'date': time.strftime("%Y-%m-%d"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'comment': 'Write Off',
- 'name': 'Second payment: Case 2 SUPPL USD/EUR',
- }
- vals.update(self.onchange_date(cr, uid, [], time.strftime('%Y-04-01'), ref('base.USD'), 45.0)['value'])
- if not res['value']['line_dr_ids']:
- res['value']['line_dr_ids'] = [{'type': 'dr', 'account_id': ref('account.a_pay'),}]
- for item in res['value']['line_dr_ids']:
- if item['amount_unreconciled'] == 20.00:
- item['amount'] = 20.00
+ voucher_id = self.browse(cr, uid, ref('account_voucher_2_case2_suppl'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 20.00:
+ data += [(item.id, 20.0)]
else:
- item['amount'] = 30.00
- vals['line_dr_ids'] = [(0,0,i) for i in res['value']['line_dr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ data += [(item.id, 30.0)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is -5.0
diff --git a/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml b/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml
index 67287591778..ac77aef622d 100644
--- a/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml
+++ b/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml
@@ -2,6 +2,15 @@
In order to check the Account_voucher module with multi-currency in OpenERP,
I create 2 Invoices in USD and make 2 Payments one in USD and another in EUR, based on the currency rating on that particular date
-
+ I set the income and expense currency accounts on the main company
+-
+ !python {model: res.company}: |
+ from datetime import datetime
+ vals = {
+ 'income_currency_exchange_account_id': ref('account.o_expense'),
+ 'expense_currency_exchange_account_id': ref('account.o_expense')}
+ self.write(cr, uid, ref('base.main_company'), vals)
+-
I modify the debtor account in order to make sure there is no currency_id linked
-
!python {model: account.account}: |
@@ -136,38 +145,41 @@
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 80), "Invoice move is incorrect for debtors account"
-
- I create the first voucher of payment
- <create with values 200 EUR, journal EUR, and fills amount 130 EUR for the invoice of 200 USD and 70 EUR for the invoice of 100 USD>
+ I set the context that will be used for the encoding of all the vouchers of this file
+-
+ !context
+ 'type': 'receipt'
+-
+ I create the first voucher of payment with values 200 EUR, journal EUR
+-
+ !record {model: account.voucher, id: account_voucher_1_case2a, view: view_vendor_receipt_form}:
+ account_id: account.cash
+ amount: 200.0
+ company_id: base.main_company
+ journal_id: bank_journal_EUR
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-03-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+ name: 'First payment: Case 2 USD/EUR DR EUR'
+
+-
+ I fill amounts 130 for the invoice of 200$ and 70 for the invoice of 100$
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_EUR'), 240.0, False, ttype='receipt', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 200.0,
- 'company_id': ref('base.main_company'),
- 'currency_id': False,
- 'journal_id': ref('bank_journal_EUR'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'receipt',
- 'date': time.strftime("%Y-03-01"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'comment': 'Write Off',
- 'name': 'First payment: Case 2 USD/EUR DR EUR',
- }
- if not res['value']['line_cr_ids']:
- res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
- for item in res['value']['line_cr_ids']:
- if item['amount_unreconciled'] == 150.00:
- item['amount'] = 130.00
+ voucher_id = self.browse(cr, uid, ref('account_voucher_1_case2a'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 150.00:
+ data += [(item.id, 130.0)]
else:
- item['amount'] = 70.00
- vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ data += [(item.id, 70.0)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I confirm the voucher
@@ -188,18 +200,6 @@
for move_line in move_line_obj.browse(cr, uid, move_lines):
assert move_line.state == 'valid', "Voucher move is not valid"
-
- I check that my debtor account is correct
--
- I check that the debtor account has 2 new lines with 0 in amount_currency columns and their credit columns are 130 and 70
--
- !python {model: account.voucher}: |
- voucher = self.search(cr, uid, [('name', '=', 'First payment: Case 2 USD/EUR DR EUR'), ('partner_id', '=', ref('base.res_partner_seagate'))])
- voucher_id = self.browse(cr, uid, voucher[0])
- move_line_obj = self.pool.get('account.move.line')
- move_lines = move_line_obj.search(cr, uid, [('move_id', '=', voucher_id.move_id.id)])
- for move_line in move_line_obj.browse(cr, uid, move_lines):
- assert move_line.amount_currency == 0.00, "A line has the 'amount_currency' column filled"
--
I check the residual amount of Invoice1, should be 55.56 in residual currency and 20 in amount_residual
-
!python {model: account.invoice}: |
@@ -217,41 +217,37 @@
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 22.22 and move_line.amount_residual == 10) , "Residual amount is not correct for second Invoice"
--
- I create the second voucher of payment
- <create with values 80 USD, journal USD, and fully reconcile the 2 invoices>
+-
+ I create the second voucher of payment with values 80 USD, journal USD
+-
+ !record {model: account.voucher, id: account_voucher_2_case2a, view: view_vendor_receipt_form}:
+ account_id: account.cash
+ amount: 80
+ company_id: base.main_company
+ journal_id: bank_journal_USD
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-04-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+ name: 'Second payment: Case 2 SUPPL USD/EUR DR EUR'
+
+-
+ and I fully reconcile the 2 previous invoices
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_USD'), 80.0, 2, ttype='receipt', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 80.0,
- 'company_id': ref('base.main_company'),
- 'currency_id': ref('base.USD'),
- 'journal_id': ref('bank_journal_USD'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'receipt',
- 'date': time.strftime("%Y-%m-%d"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'exchange_acc_id': ref('account.o_expense'),
- 'comment': 'Write Off',
- 'name': 'Second payment: Case 2 SUPPL USD/EUR DR EUR',
- }
- vals.update(self.onchange_date(cr, uid, [], time.strftime('%Y-04-01'), ref('base.USD'), 80.0)['value'])
- if not res['value']['line_cr_ids']:
- res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
- for item in res['value']['line_cr_ids']:
- if item['amount_unreconciled'] == 55.56:
- item['amount'] = 55.56
+ voucher_id = self.browse(cr, uid, ref('account_voucher_2_case2a'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 55.56:
+ data += [(item.id, 55.56)]
else:
- item['amount'] = 22.22
- vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ data += [(item.id, 22.22)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 2.22
diff --git a/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml b/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml
index ec4d653c8ab..a3a32a32082 100644
--- a/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml
+++ b/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml
@@ -2,6 +2,15 @@
In order to check the Account_voucher module with multi-currency in OpenERP,
I create 2 Invoices in USD and make 2 Payments one in USD and another in EUR, based on the currency rating on that particular date
-
+ I set the income and expense currency accounts on the main company
+-
+ !python {model: res.company}: |
+ from datetime import datetime
+ vals = {
+ 'income_currency_exchange_account_id': ref('account.o_expense'),
+ 'expense_currency_exchange_account_id': ref('account.o_expense')}
+ self.write(cr, uid, ref('base.main_company'), vals)
+-
I modify the debtor account in order to set the currency_id = USD
-
!python {model: account.account}: |
@@ -136,38 +145,41 @@
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 80), "Invoice move is incorrect for debtors account"
-
- I create the first voucher of payment
- <create with values 200 EUR (€), journal EUR, and fills amount 130€ for the invoice of 200$ and 70€ for the invoice of 100$>
+ I set the context that will be used for the encoding of all the vouchers of this file
+-
+ !context
+ 'type': 'receipt'
+-
+ I create the first voucher of payment with values 200 EUR, journal EUR
+-
+ !record {model: account.voucher, id: account_voucher_1_case2b, view: view_vendor_receipt_form}:
+ account_id: account.cash
+ amount: 200.0
+ company_id: base.main_company
+ journal_id: bank_journal_EUR
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-03-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+ name: 'First payment: Case 2 USD/EUR DR USD'
+
+-
+ I fill amounts 130 for the invoice of 200$ and 70 for the invoice of 100$>
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_EUR'), 200.0, False, ttype='receipt', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 200.0,
- 'company_id': ref('base.main_company'),
- 'currency_id': ref('base.EUR'),
- 'journal_id': ref('bank_journal_EUR'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'receipt',
- 'date': time.strftime("%Y-03-01"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'comment': 'Write Off',
- 'name': 'First payment: Case 2 USD/EUR DR USD',
- }
- if not res['value']['line_cr_ids']:
- res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
- for item in res['value']['line_cr_ids']:
- if item['amount_unreconciled'] == 150.00:
- item['amount'] = 130.00
+ voucher_id = self.browse(cr, uid, ref('account_voucher_1_case2b'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 150.00:
+ data += [(item.id, 130.0)]
else:
- item['amount'] = 70.00
- vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ data += [(item.id, 70.0)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I confirm the voucher
@@ -211,8 +223,8 @@
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 55.56 and move_line.amount_residual == 20) , "Residual amount is not correct for first Invoice"
-- toto
- I check the residual amuont of Invoice2, should be 22.22 in residual currency and 10 in amount_residual
+-
+ I check the residual amount of Invoice2, should be 22.22 in residual currency and 10 in amount_residual
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb_michal"))
@@ -220,41 +232,37 @@
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 22.22 and move_line.amount_residual == 10) , "Residual amount is not correct for second Invoice"
--
- I create the second voucher of payment
- <create with values 80 USD, journal USD, and fully reconcile the 2 invoices>
+-
+ I create the second voucher of payment with values 80 USD, journal USD
+-
+ !record {model: account.voucher, id: account_voucher_2_case2b, view: view_vendor_receipt_form}:
+ account_id: account.cash
+ amount: 80.0
+ company_id: base.main_company
+ journal_id: bank_journal_USD
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-04-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+ name: 'Second payment: Case 2 SUPPL USD/EUR DR USD'
+
+-
+ and I fully reconcil the 2 previous invoices
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_USD'), 80.0, ref('base.USD'), ttype='receipt', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 80.0,
- 'company_id': ref('base.main_company'),
- 'currency_id': ref('base.USD'),
- 'journal_id': ref('bank_journal_USD'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'receipt',
- 'date': time.strftime("%Y-%m-%d"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'exchange_acc_id': ref('account.o_expense'),
- 'comment': 'Write Off',
- 'name': 'Second payment: Case 2 SUPPL USD/EUR DR USD',
- }
- vals.update(self.onchange_date(cr, uid, [], time.strftime('%Y-04-01'), ref('base.USD'), 80.0)['value'])
- if not res['value']['line_cr_ids']:
- res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
- for item in res['value']['line_cr_ids']:
- if item['amount_unreconciled'] == 55.56:
- item['amount'] = 55.56
+ voucher_id = self.browse(cr, uid, ref('account_voucher_2_case2b'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 55.56:
+ data += [(item.id, 55.56)]
else:
- item['amount'] = 22.22
- vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ data += [(item.id, 22.22)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 2.22
@@ -320,8 +328,8 @@
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 0.0 and move_line.amount_residual == 0.0 and invoice_id.state == 'paid') , "Residual amount is not correct for first Invoice"
--
- I check the residual amuont of invoice 2, should be 0 in residual currency and 0 in amount_residual and paid
+-
+ I check the residual amount of invoice 2, should be 0 in residual currency and 0 in amount_residual and paid
-
!python {model: account.invoice}: |
invoice_id = self.browse(cr, uid, ref("account_second_invoice_feb_michal"))
diff --git a/addons/account_voucher/test/case3_eur_eur.yml b/addons/account_voucher/test/case3_eur_eur.yml
index 09034fadf51..a2fc39e1844 100644
--- a/addons/account_voucher/test/case3_eur_eur.yml
+++ b/addons/account_voucher/test/case3_eur_eur.yml
@@ -99,38 +99,41 @@
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 80.00), "Invoice move is incorrect for debtors account"
-
- I create the first voucher of payment
- <create with values 120 EUR, journal EUR, and fill amounts 100 for the invoice of 150 EUR and 20 for the invoice of 80 EUR>
+ I set the context that will be used for the encoding of all the vouchers of this file
+-
+ !context
+ 'type': 'receipt'
+-
+ I create the first voucher of payment with values 120 EUR, journal EUR
+-
+ !record {model: account.voucher, id: account_voucher_1_case3, view: view_vendor_receipt_form}:
+ account_id: account.cash
+ amount: 120.0
+ company_id: base.main_company
+ journal_id: bank_journal_EUR
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-03-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+ name: 'First payment: Case 3'
+
+-
+ I fill amounts 100 for the invoice of 150€ and 20 for the invoice of 80€
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_EUR'), 120.00, False, ttype='receipt', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 120.00,
- 'company_id': ref('base.main_company'),
- 'currency_id': ref('base.EUR'),
- 'journal_id': ref('bank_journal_EUR'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'receipt',
- 'date': time.strftime("%Y-03-01"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'comment': 'Write Off',
- 'name': 'First payment: Case 3',
- }
- if not res['value']['line_cr_ids']:
- res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
- for item in res['value']['line_cr_ids']:
- if item['amount_unreconciled'] == 150.00:
- item['amount'] = 100.00
+ voucher_id = self.browse(cr, uid, ref('account_voucher_1_case3'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 150.00:
+ data += [(item.id, 100.0)]
else:
- item['amount'] = 20.00
- vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ data += [(item.id, 20.0)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 0.00
@@ -181,7 +184,7 @@
move_lines = move_line_obj.search(cr, uid, [('move_id', '=', invoice_id.move_id.id), ('invoice', '=', invoice_id.id), ('account_id', '=', invoice_id.account_id.id)])
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 50.0 and move_line.amount_residual == 50.0) , "Residual amount is not correct for first Invoice"
--
+-
I check the residual amuont of Invoice2 is 60
-
!python {model: account.invoice}: |
@@ -191,38 +194,36 @@
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.amount_residual_currency == 60.0 and move_line.amount_residual == 60.0) , "Residual amount is not correct for second Invoice"
-
- I create the second voucher of payment and check to let open the debtor overpaid amount.
- <create with values 120 EUR, journal EUR, and fill amounts 50 for the invoice of 150 EUR and 70 for the invoice of 80 EUR>
+ I create the second voucher of payment with values 120€, journal EUR, and check to let open the debtor overpaid amount
+-
+ !record {model: account.voucher, id: account_voucher_2_case3, view: view_vendor_receipt_form}:
+ account_id: account.cash
+ amount: 120.0
+ company_id: base.main_company
+ journal_id: bank_journal_EUR
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-04-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+ name: 'Second payment: Case 3'
+
+-
+ I fill amounts 50 for the invoice of 150€ and 70 for the invoice of 80€
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_EUR'), 120.00, False, ttype='receipt', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 120.00,
- 'company_id': ref('base.main_company'),
- 'currency_id': ref('base.EUR'),
- 'journal_id': ref('bank_journal_EUR'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'receipt',
- 'date': time.strftime("%Y-04-01"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'comment': 'Write Off',
- 'name': 'Second payment: Case 3',
- }
- if not res['value']['line_cr_ids']:
- res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
- for item in res['value']['line_cr_ids']:
- if item['amount_unreconciled'] == 50.00:
- item['amount'] = 50.00
- elif item['amount_unreconciled'] == 60.00:
- item['amount'] = 70.00
- vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ voucher_id = self.browse(cr, uid, ref('account_voucher_2_case3'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 50.00:
+ data += [(item.id, 50.0)]
+ elif item.amount_unreconciled == 60.00:
+ data += [(item.id, 70.00)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 0.00
diff --git a/addons/account_voucher/test/case4_cad_chf.yml b/addons/account_voucher/test/case4_cad_chf.yml
index b3abbb25e01..f31a7393a8e 100644
--- a/addons/account_voucher/test/case4_cad_chf.yml
+++ b/addons/account_voucher/test/case4_cad_chf.yml
@@ -2,6 +2,15 @@
In order to check the Account_voucher module with multi-currency in OpenERP,
I create an invoice in CAD and make its Payment in CHF based on the currency rating on that particular date.
-
+ I set the income and expense currency accounts on the main company
+-
+ !python {model: res.company}: |
+ from datetime import datetime
+ vals = {
+ 'income_currency_exchange_account_id': ref('account.o_expense'),
+ 'expense_currency_exchange_account_id': ref('account.o_expense')}
+ self.write(cr, uid, ref('base.main_company'), vals)
+-
I create currency CAD in OpenERP for January of 1.338800 Rate
-
!record {model: res.currency.rate, id: jan_cad}:
@@ -89,38 +98,40 @@
move_line = move_line_obj.browse(cr, uid, move_lines[0])
assert (move_line.debit - move_line.credit == 149.39), "Invoice move is incorrect for debtors account"
-
- I create the first voucher of payment
- <create with values 200 CHF, journal CHF, and completly pat the invoice of 200 CAD>
+ I set the context that will be used for the encoding of all the vouchers of this file
+-
+ !context
+ 'type': 'receipt'
+-
+ I create the first voucher of payment with values 200 CHF, journal CHF
+-
+ !record {model: account.voucher, id: account_voucher_1_case4, view: view_vendor_receipt_form}:
+ account_id: account.cash
+ amount: 200
+ company_id: base.main_company
+ journal_id: bank_journal_CHF
+ partner_id: base.res_partner_seagate
+ period_id: account.period_3
+ date: !eval time.strftime("%Y-03-01")
+ payment_option: 'with_writeoff'
+ writeoff_acc_id: account.a_expense
+ comment: 'Write Off'
+ name: 'First payment: Case 4'
+-
+ I completly pay the invoice of 200 CAD
-
!python {model: account.voucher}: |
import netsvc, time
vals = {}
- res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_seagate"), ref('bank_journal_CHF'), 200.00, ref('base.CHF'), ttype='receipt', date=False)
- vals = {
- 'account_id': ref('account.cash'),
- 'amount': 200.00,
- 'company_id': ref('base.main_company'),
- 'currency_id': ref('base.CHF'),
- 'journal_id': ref('bank_journal_CHF'),
- 'partner_id': ref('base.res_partner_seagate'),
- 'period_id': ref('account.period_3'),
- 'type': 'receipt',
- 'date': time.strftime("%Y-%m-%d"),
- 'payment_option': 'with_writeoff',
- 'writeoff_acc_id': ref('account.a_expense'),
- 'exchange_acc_id': ref('account.o_expense'),
- 'comment': 'Write Off',
- 'name': 'First payment: Case 4',
- }
- vals.update(self.onchange_date(cr, uid, [], time.strftime('%Y-03-01'), ref('base.CHF'), 200.0)['value'])
- if not res['value']['line_cr_ids']:
- res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
- for item in res['value']['line_cr_ids']:
- if item['amount_unreconciled'] == 186.74:
- item['amount'] = 186.74
- vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
- id = self.create(cr, uid, vals)
- voucher_id = self.browse(cr, uid, id)
+ voucher_id = self.browse(cr, uid, ref('account_voucher_1_case4'))
+ data = []
+ for item in voucher_id.line_cr_ids:
+ if item.amount_unreconciled == 186.74:
+ data += [(item.id, 186.74)]
+ else:
+ data += [(item.id, 0.0)]
+ for line_id, amount in data:
+ self.pool.get('account.voucher.line').write(cr, uid, [line_id], {'amount': amount})
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
-
I check that writeoff amount computed is 13.26
@@ -151,7 +162,7 @@
-
I check that my debtor account is correct
-
- I check that the debtor account has 1 new line with -186.74 as amount_currency columns and 149.39 of credit and currency is CHF.
+ I check that the debtor account has 1 new line with -298.78 as amount_currency columns and 149.39 of credit and currency is CAD.
-
I check that my currency rate difference is correct. 0 in debit with no amount_currency
-
@@ -165,7 +176,7 @@
for move_line in move_line_obj.browse(cr, uid, move_lines):
if move_line.amount_currency == 200:
assert move_line.debit == 160.00, "Bank account has wrong entry."
- elif move_line.amount_currency == -186.74:
+ elif move_line.amount_currency == -298.78:
assert move_line.credit == 149.39, "Debtor account has wrong entry."
elif move_line.debit == 0.00 and move_line.credit == 0.00:
assert move_line.amount_currency == 0.00, "Incorrect Currency Difference."
diff --git a/addons/account_voucher/test/sales_receipt.yml b/addons/account_voucher/test/sales_receipt.yml
index d3fd720ec6d..7ea4f7d1c55 100644
--- a/addons/account_voucher/test/sales_receipt.yml
+++ b/addons/account_voucher/test/sales_receipt.yml
@@ -5,7 +5,6 @@
account_id: account.a_recv
amount: 30000.0
company_id: base.main_company
- currency_id: base.EUR
journal_id: account.sales_journal
line_cr_ids:
- account_id: account.a_sale
diff --git a/addons/account_voucher/voucher_payment_receipt_view.xml b/addons/account_voucher/voucher_payment_receipt_view.xml
index 46720b2732c..5cf9b42be0b 100644
--- a/addons/account_voucher/voucher_payment_receipt_view.xml
+++ b/addons/account_voucher/voucher_payment_receipt_view.xml
@@ -75,13 +75,13 @@
<form string="Bill Payment">
<group col="6" colspan="4">
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'invoice_currency':currency_id}" string="Supplier"/>
- <field name="amount" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, context)"/>
+ <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'])]"
widget="selection" select="1"
- on_change="onchange_journal(journal_id, line_dr_ids, False, partner_id, date, amount, type, context)"
+ on_change="onchange_journal(journal_id, line_dr_ids, False, partner_id, date, amount, type, company_id, context)"
string="Payment Method"/>
- <field name="date" select="1" on_change="onchange_date(date, currency_id, amount, context)"/>
+ <field name="date" select="1" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id, context)"/>
<field name="reference" select="1" string="Payment Ref"/>
<field name="name" colspan="2"/>
<field name="account_id"
@@ -92,7 +92,7 @@
</group>
<notebook colspan="4">
<page string="Payment Information">
- <field name="line_dr_ids" attrs="{'invisible': [('type', '=', 'receipt')]}" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, context)">
+ <field name="line_dr_ids" attrs="{'invisible': [('type', '=', 'receipt')]}" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, currency_id, context)">
<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)"
@@ -102,29 +102,35 @@
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
<field name="amount_original" readonly="1"/>
- <field name="amount_unreconciled" sum="Open Balance" readonly="1"/>
- <field name="amount" sum="Payment"/>
+ <field name="amount_unreconciled" readonly="1"/>
+ <field name="amount" sum="Total Allocation"/>
</tree>
</field>
- <field name="line_cr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('type', '=', 'payment')]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, context)">
+ <field name="line_cr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('type', '=', 'payment')]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, currency_id, context)">
<tree string="Open Customer Journal Entries" editable="bottom" colors="gray:amount==0">
- <field name="move_line_id"/>
- <field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]"/>
- <field name="date_original"/>
- <field name="amount_original"/>
- <field name="amount" sum="Payment"/>
+ <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)]"
+ />
+ <field name="account_id" groups="base.group_extended" domain="[('type','=','payable')]"/>
+ <field name="date_original" readonly="1"/>
+ <field name="date_due" readonly="1"/>
+ <field name="amount_original" readonly="1"/>
+ <field name="amount_unreconciled" readonly="1"/>
+ <field name="amount" sum="Total Allocation"/>
</tree>
</field>
<group col="2" colspan="3">
<separator string="Internal Notes" colspan="2"/>
<field name="narration" colspan="2" nolabel="1"/>
</group>
- <group col="2" colspan="1">
- <separator string="Other Information" colspan="2"/>
- <field name="currency_id"/>
- <field name="payment_rate" required="1" on_change="onchange_rate(payment_rate, amount, context)" groups='base.group_extended'/>
- <field name="paid_amount_in_company_currency" groups='base.group_extended'/>
- <field name="number"/>
+ <group col="4" colspan="1">
+ <separator string="Other Information" colspan="4"/>
+ <field name="currency_id" colspan="4"/>
+ <field name="payment_rate" required="1" on_change="onchange_rate(payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context)" groups='base.group_extended' colspan="3"/>
+ <field name="payment_rate_currency_id" groups='base.group_extended' colspan="1" nolabel="1" on_change="onchange_payment_rate_currency(currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context)"/>
+ <field name="paid_amount_in_company_currency" groups='base.group_extended' colspan="4" invisible="1"/>
+ <field name="number" colspan="4"/>
</group>
</page>
</notebook>
@@ -140,14 +146,14 @@
<form string="Bill Payment">
<group col="6" colspan="4">
<field name="partner_id" domain="[('supplier','=',True)]" 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}" string="Supplier"/>
- <field name="amount" invisible="context.get('line_type', False)" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, context)"/>
+ <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)"/>
<field name="journal_id"
domain="[('type','in',['bank', 'cash'])]"
invisible="context.get('line_type', False)"
widget="selection" select="1"
- on_change="onchange_journal(journal_id, line_dr_ids, False, partner_id, date, amount, type, context)"
+ on_change="onchange_journal(journal_id, line_dr_ids, False, partner_id, date, amount, type, company_id, context)"
string="Payment Method"/>
- <field name="date" select="1" invisible="context.get('line_type', False)" on_change="onchange_date(date, currency_id, amount, context)"/>
+ <field name="date" select="1" invisible="context.get('line_type', False)" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id, context)"/>
<field name="reference" select="1" invisible="context.get('line_type', False)" string="Payment Ref"/>
<field name="name" colspan="2" invisible="context.get('line_type', False)"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
@@ -156,6 +162,7 @@
invisible="True"/>
<field name="pre_line" invisible="1"/>
<field name="type" invisible="True"/>
+ <field name="currency_id" invisible="1" colspan="4"/>
</group>
<notebook colspan="4">
<page string="Payment Information">
@@ -170,17 +177,25 @@
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
<field name="amount_original" readonly="1"/>
- <field name="amount_unreconciled" sum="Open Balance" readonly="1"/>
- <field name="amount" sum="Payment"/>
+ <field name="amount_unreconciled" readonly="1"/>
+ <field name="reconcile" on_change="onchange_reconcile(reconcile, amount, amount_unreconciled, context)"/>
+ <field name="amount" sum="Total Allocation" on_change="onchange_amount(amount, amount_unreconciled, context)"/>
</tree>
</field>
<field name="line_cr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('pre_line','=',False)]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}">
<tree string="Credits" editable="bottom" colors="gray:amount==0">
- <field name="move_line_id"/>
- <field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]"/>
- <field name="date_original"/>
- <field name="amount_original"/>
- <field name="amount" sum="Payment"/>
+ <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"
+ />
+ <field name="account_id" groups="base.group_no_one" domain="[('type','=','payable')]"/>
+ <field name="date_original" readonly="1"/>
+ <field name="date_due" readonly="1"/>
+ <field name="amount_original" readonly="1"/>
+ <field name="amount_unreconciled" readonly="1"/>
+ <field name="reconcile" on_change="onchange_reconcile(reconcile, amount, amount_unreconciled, context)"/>
+ <field name="amount" sum="Total Allocation" on_change="onchange_amount(amount, amount_unreconciled, context)"/>
</tree>
</field>
<group col="2" colspan="3">
@@ -188,18 +203,16 @@
<field name="narration" colspan="2" nolabel="1"/>
</group>
<group col="2" colspan="1">
- <group col="2" colspan="1" attrs="{'invisible':[('currency_id','=',False)]}">
- <separator string="Currency Options" colspan="2"/>
- <field name="exchange_acc_id"
- domain="[('type','=','other')]"/>
- <field name="payment_rate" required="1" on_change="onchange_rate(payment_rate, amount, context)" groups='base.group_extended'/>
- <field name="paid_amount_in_company_currency" groups='base.group_extended'/>
+ <group col="4" colspan="1" attrs="{'invisible':[('currency_id','=',False),('is_multi_currency','=',False)]}">
+ <separator string="Currency Options" colspan="4"/>
+ <field name="payment_rate" required="1" on_change="onchange_rate(payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context)" groups='base.group_extended' colspan="3"/>
+ <field name="payment_rate_currency_id" groups='base.group_extended' colspan="1" nolabel="1" on_change="onchange_payment_rate_currency(currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context)"/>
+ <field name="paid_amount_in_company_currency" groups='base.group_extended' colspan="4" invisible="1"/>
</group>
<group col="2" colspan="1">
<separator string="Payment Options" colspan="2"/>
+ <field name="writeoff_amount"/>
<field name="payment_option" required="1"/>
- <field name="writeoff_amount"
- attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"/>
<field name="writeoff_acc_id"
attrs="{'invisible':[('payment_option','!=','with_writeoff')], 'required':[('payment_option','=','with_writeoff')]}"
domain="[('type','=','other')]"/>
@@ -208,11 +221,6 @@
<field name="analytic_id"
groups="analytic.group_analytic_accounting"/>
</group>
- <group col="4" colspan="2">
- <separator string="Other Information" colspan="4"/>
- <field name="number" colspan="4"/>
- <field name="currency_id" invisible="1" colspan="4"/>
- </group>
</group>
</page>
<page string="Journal Items" groups="base.group_extended" attrs="{'invisible': [('state','!=','posted')]}">
@@ -220,6 +228,7 @@
<field name="period_id"/>
<field name="audit"/>
</group>
+ <field name="number" colspan="4"/>
<field name="move_ids" colspan="4" nolabel="1" readonly="1">
<tree string="Journal Items">
<field name="move_id"/>
@@ -242,7 +251,7 @@
<group col="10" colspan="4">
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel" invisible="context.get('line_type', False)"/>
- <button name="cancel_voucher" string="Unreconcile" type="object" states="posted" icon="terp-stock_effects-object-colorize" invisible="context.get('line_type', False)" confirm="Are you sure to unreconcile this record ?"/>
+ <button name="cancel_voucher" string="Unreconcile" type="object" states="posted" icon="terp-stock_effects-object-colorize" invisible="context.get('line_type', False)" confirm="Are you sure to unreconcile and cancel this record ?"/>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize" invisible="context.get('line_type', False)"/>
<button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward" invisible="context.get('line_type', False)"/>
</group>
@@ -289,14 +298,14 @@
<field name="amount"
invisible="context.get('line_type', False)"
string="Paid Amount"
- on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, context)"/>
+ 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'])]"
invisible="context.get('line_type', False)"
widget="selection" select="1"
- on_change="onchange_journal(journal_id, line_cr_ids, False, partner_id, date, amount, type, context)"
+ on_change="onchange_journal(journal_id, line_cr_ids, False, partner_id, date, amount, type, company_id, context)"
string="Payment Method"/>
- <field name="date" select="1" invisible="context.get('line_type', False)" on_change="onchange_date(date, currency_id, amount, context)"/>
+ <field name="date" select="1" invisible="context.get('line_type', False)" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id, context)"/>
<field name="reference" select="1" invisible="context.get('line_type', False)" string="Payment Ref"/>
<field name="name" colspan="2" invisible="context.get('line_type', False)"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
@@ -308,7 +317,7 @@
</group>
<notebook colspan="4">
<page string="Payment Information">
- <field name="line_cr_ids" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, context)">
+ <field name="line_cr_ids" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140" 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}"
on_change="onchange_move_line_id(move_line_id)"
@@ -319,17 +328,25 @@
<field name="date_original" readonly="1"/>
<field name="date_due" readonly="1"/>
<field name="amount_original" readonly="1"/>
- <field name="amount_unreconciled" sum="Open Balance" readonly="1"/>
- <field name="amount" sum="Payment"/>
+ <field name="amount_unreconciled" readonly="1"/>
+ <field name="reconcile" on_change="onchange_reconcile(reconcile, amount, amount_unreconciled, context)"/>
+ <field name="amount" sum="Total Allocation" on_change="onchange_amount(amount, amount_unreconciled, context)"/>
</tree>
</field>
- <field name="line_dr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('pre_line','=',False)]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, context)">
+ <field name="line_dr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('pre_line','=',False)]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, currency_id, context)">
<tree string="Credits" editable="bottom" colors="gray:amount==0">
- <field name="move_line_id"/>
- <field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]"/>
- <field name="date_original"/>
- <field name="amount_original"/>
- <field name="amount" sum="Payment"/>
+ <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"
+ />
+ <field name="account_id" groups="base.group_no_one" domain="[('type','=','receivable')]"/>
+ <field name="date_original" readonly="1"/>
+ <field name="date_due" readonly="1"/>
+ <field name="amount_original" readonly="1"/>
+ <field name="amount_unreconciled" readonly="1"/>
+ <field name="reconcile" on_change="onchange_reconcile(reconcile, amount, amount_unreconciled, context)"/>
+ <field name="amount" sum="Total Allocation" on_change="onchange_amount(amount, amount_unreconciled, context)"/>
</tree>
</field>
<group col="2" colspan="3">
@@ -337,18 +354,16 @@
<field name="narration" colspan="2" nolabel="1"/>
</group>
<group col="2" colspan="1">
- <group col="2" colspan="1" attrs="{'invisible':[('currency_id','=',False)]}">
- <separator string="Currency Options" colspan="2"/>
- <field name="exchange_acc_id"
- domain="[('type','=','other')]"/>
- <field name="payment_rate" required="1" on_change="onchange_rate(payment_rate, amount, context)" groups='base.group_extended'/>
- <field name="paid_amount_in_company_currency" groups='base.group_extended'/>
+ <group col="4" colspan="1" attrs="{'invisible':[('currency_id','=',False),('is_multi_currency','=',False)]}">
+ <separator string="Currency Options" colspan="4"/>
+ <field name="payment_rate" required="1" on_change="onchange_rate(payment_rate, amount, currency_id, payment_rate_currency_id, company_id, context)" groups='base.group_extended' colspan="3"/>
+ <field name="payment_rate_currency_id" groups='base.group_extended' colspan="1" nolabel="1" on_change="onchange_payment_rate_currency(currency_id, payment_rate, payment_rate_currency_id, date, amount, company_id, context)"/>
+ <field name="paid_amount_in_company_currency" groups='base.group_extended' colspan="4" invisible="1"/>
</group>
<group col="2" colspan="1">
<separator string="Payment Options" colspan="2"/>
+ <field name="writeoff_amount"/>
<field name="payment_option" required="1"/>
- <field name="writeoff_amount"
- attrs="{'invisible':[('payment_option','!=','with_writeoff')]}"/>
<field name="writeoff_acc_id"
attrs="{'invisible':[('payment_option','!=','with_writeoff')], 'required':[('payment_option','=','with_writeoff')]}"
domain="[('type','=','other')]"/>
@@ -357,10 +372,6 @@
<field name="analytic_id"
groups="analytic.group_analytic_accounting"/>
</group>
- <group col="4" colspan="2">
- <separator string="Other Information" colspan="4"/>
- <field name="number" colspan="4"/>
- </group>
</group>
</page>
<page string="Journal Items" groups="base.group_extended" attrs="{'invisible': [('state','!=','posted')]}">
@@ -368,6 +379,7 @@
<field name="period_id"/>
<field name="audit"/>
</group>
+ <field name="number" colspan="4"/>
<field name="move_ids" colspan="4" nolabel="1" readonly="1">
<tree string="Journal Items">
<field name="move_id"/>
@@ -390,7 +402,7 @@
<group col="10" colspan="4">
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel" invisible="context.get('line_type', False)"/>
- <button name="cancel_voucher" string="Unreconcile" type="object" states="posted" invisible="context.get('line_type', False)" icon="terp-stock_effects-object-colorize" confirm="Are you sure to unreconcile this record ?"/>
+ <button name="cancel_voucher" string="Unreconcile" type="object" states="posted" invisible="context.get('line_type', False)" icon="terp-stock_effects-object-colorize" confirm="Are you sure to unreconcile and cancel this record ?"/>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize" invisible="context.get('line_type', False)"/>
<button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward" invisible="context.get('line_type', False)"/>
</group>
diff --git a/addons/account_voucher/voucher_sales_purchase_view.xml b/addons/account_voucher/voucher_sales_purchase_view.xml
index dfd535f29bc..f016e008bc0 100644
--- a/addons/account_voucher/voucher_sales_purchase_view.xml
+++ b/addons/account_voucher/voucher_sales_purchase_view.xml
@@ -83,8 +83,8 @@
<form string="Sales Receipt">
<group col="6" colspan="4">
<field name="partner_id" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer"/>
- <field name="date" on_change="onchange_date(date, currency_id, amount, context)"/>
- <field name="journal_id" domain="[('type','in',['sale','sale_refund'])]" widget="selection" on_change="onchange_journal(journal_id, line_cr_ids, tax_id, partner_id, date, amount, type, context)"/>
+ <field name="date" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/>
+ <field name="journal_id" domain="[('type','in',['sale','sale_refund'])]" widget="selection" on_change="onchange_journal(journal_id, line_cr_ids, tax_id, partner_id, date, amount, type, company_id, context)"/>
<field name="number"/>
<field name="name" colspan="2"/>
<field name="company_id" select="1" widget="selection" groups="base.group_multi_company"/>
@@ -210,8 +210,8 @@
<form string="Supplier Voucher">
<group col="6" colspan="4">
<field name="partner_id" domain="[('supplier','=',True)]" required="1" string="Supplier" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)"/>
- <field name="date" string="Bill Date" select="1" on_change="onchange_date(date, currency_id, amount, context)"/>
- <field name="journal_id" domain="[('type','in',['purchase','purchase_refund'])]" widget="selection" select="1" on_change="onchange_journal(journal_id, line_dr_ids, tax_id, partner_id, date, amount, type, context)"/>
+ <field name="date" string="Bill Date" select="1" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/>
+ <field name="journal_id" domain="[('type','in',['purchase','purchase_refund'])]" widget="selection" select="1" on_change="onchange_journal(journal_id, line_dr_ids, tax_id, partner_id, date, amount, type, company_id, context)"/>
<field name="number"/>
<field name="name" colspan="2"/>
<field name="reference" select="1"/>
diff --git a/addons/analytic/__openerp__.py b/addons/analytic/__openerp__.py
index 65f6588a1e3..4e10e243d61 100644
--- a/addons/analytic/__openerp__.py
+++ b/addons/analytic/__openerp__.py
@@ -24,7 +24,7 @@
"version": "1.1",
"author" : "OpenERP SA",
"website" : "http://www.openerp.com",
- "category" : "Hidden",
+ "category": 'Accounting & Finance',
"depends" : ["base", "decimal_precision"],
"description": """
Module for defining analytic accounting object.
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index 3ea5cec848a..2ecaeee0f15 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -161,7 +161,7 @@ class account_analytic_account(osv.osv):
'debit': fields.function(_debit_credit_bal_qtty, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
'credit': fields.function(_debit_credit_bal_qtty, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
'quantity': fields.function(_debit_credit_bal_qtty, type='float', string='Quantity', multi='debit_credit_bal_qtty'),
- 'quantity_max': fields.float('Maximum Time', help='Sets the higher limit of quantity of hours.'),
+ 'quantity_max': fields.float('Maximum Time', help='Sets the higher limit of time to work on the contract.'),
'partner_id': fields.many2one('res.partner', 'Partner'),
'contact_id': fields.many2one('res.partner.address', 'Contact'),
'user_id': fields.many2one('res.users', 'Account Manager'),
diff --git a/addons/analytic/i18n/hr.po b/addons/analytic/i18n/hr.po
new file mode 100644
index 00000000000..2ff7a50e37b
--- /dev/null
+++ b/addons/analytic/i18n/hr.po
@@ -0,0 +1,255 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:14+0000\n"
+"PO-Revision-Date: 2011-12-08 15:42+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
+"Language-Team: Croatian <hr@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: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: analytic
+#: field:account.analytic.account,child_ids:0
+msgid "Child Accounts"
+msgstr "Podređena konta"
+
+#. module: analytic
+#: field:account.analytic.account,name:0
+msgid "Account Name"
+msgstr "Naziv konta"
+
+#. module: analytic
+#: help:account.analytic.line,unit_amount:0
+msgid "Specifies the amount of quantity to count."
+msgstr ""
+
+#. module: analytic
+#: model:ir.module.module,description:analytic.module_meta_information
+msgid ""
+"Module for defining analytic accounting object.\n"
+" "
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,state:0
+msgid "State"
+msgstr "Stanje"
+
+#. module: analytic
+#: field:account.analytic.account,user_id:0
+msgid "Account Manager"
+msgstr "Voditelj računovodstva"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Draft"
+msgstr "Nacrt"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Closed"
+msgstr "Zatvoren"
+
+#. module: analytic
+#: field:account.analytic.account,debit:0
+msgid "Debit"
+msgstr "Duguje"
+
+#. module: analytic
+#: help:account.analytic.account,state:0
+msgid ""
+"* When an account is created its in 'Draft' state. "
+" \n"
+"* If any associated partner is there, it can be in 'Open' state. "
+" \n"
+"* If any pending balance is there it can be in 'Pending'. "
+" \n"
+"* And finally when all the transactions are over, it can be in 'Close' "
+"state. \n"
+"* The project can be in either if the states 'Template' and 'Running'.\n"
+" If it is template then we can make projects based on the template projects. "
+"If its in 'Running' state it is a normal project. "
+" \n"
+" If it is to be reviewed then the state is 'Pending'.\n"
+" When the project is completed the state is set to 'Done'."
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,type:0
+msgid "Account Type"
+msgstr "Vrsta konta"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Template"
+msgstr "Predložak"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Pending"
+msgstr "U toku"
+
+#. module: analytic
+#: model:ir.model,name:analytic.model_account_analytic_line
+msgid "Analytic Line"
+msgstr "Analitičke stavke"
+
+#. module: analytic
+#: field:account.analytic.account,description:0
+#: field:account.analytic.line,name:0
+msgid "Description"
+msgstr "Opis"
+
+#. module: analytic
+#: selection:account.analytic.account,type:0
+msgid "Normal"
+msgstr "Običan"
+
+#. module: analytic
+#: field:account.analytic.account,company_id:0
+#: field:account.analytic.line,company_id:0
+msgid "Company"
+msgstr "Organizacija"
+
+#. module: analytic
+#: field:account.analytic.account,quantity_max:0
+msgid "Maximum Quantity"
+msgstr "Maksimalna količina"
+
+#. module: analytic
+#: field:account.analytic.line,user_id:0
+msgid "User"
+msgstr "Korisnik"
+
+#. module: analytic
+#: field:account.analytic.account,parent_id:0
+msgid "Parent Analytic Account"
+msgstr "Nadređeni analitički konto"
+
+#. module: analytic
+#: field:account.analytic.line,date:0
+msgid "Date"
+msgstr "Datum"
+
+#. module: analytic
+#: field:account.analytic.account,currency_id:0
+msgid "Account currency"
+msgstr "Valuta konta"
+
+#. module: analytic
+#: field:account.analytic.account,quantity:0
+#: field:account.analytic.line,unit_amount:0
+msgid "Quantity"
+msgstr "Količina"
+
+#. module: analytic
+#: help:account.analytic.line,amount:0
+msgid ""
+"Calculated by multiplying the quantity and the price given in the Product's "
+"cost price. Always expressed in the company main currency."
+msgstr ""
+
+#. module: analytic
+#: help:account.analytic.account,quantity_max:0
+msgid "Sets the higher limit of quantity of hours."
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,credit:0
+msgid "Credit"
+msgstr "Potražuje"
+
+#. module: analytic
+#: field:account.analytic.line,amount:0
+msgid "Amount"
+msgstr "Iznos"
+
+#. module: analytic
+#: field:account.analytic.account,contact_id:0
+msgid "Contact"
+msgstr "Kontakt"
+
+#. module: analytic
+#: constraint:account.analytic.account:0
+msgid ""
+"Error! The currency has to be the same as the currency of the selected "
+"company"
+msgstr "Greška! Valuta ne odgovara valuti organizacije."
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Cancelled"
+msgstr "Otkazano"
+
+#. module: analytic
+#: field:account.analytic.account,balance:0
+msgid "Balance"
+msgstr "Saldo"
+
+#. module: analytic
+#: constraint:account.analytic.account:0
+msgid "Error! You can not create recursive analytic accounts."
+msgstr "Greška! Ne možete kreirati rekurzivna analitička konta."
+
+#. module: analytic
+#: help:account.analytic.account,type:0
+msgid ""
+"If you select the View Type, it means you won't allow to create journal "
+"entries using that account."
+msgstr ""
+
+#. module: analytic
+#: field:account.analytic.account,date:0
+msgid "Date End"
+msgstr "Završni datum"
+
+#. module: analytic
+#: field:account.analytic.account,code:0
+msgid "Account Code"
+msgstr "Šifra konta"
+
+#. module: analytic
+#: field:account.analytic.account,complete_name:0
+msgid "Full Account Name"
+msgstr "Puni naziv konta"
+
+#. module: analytic
+#: field:account.analytic.line,account_id:0
+#: model:ir.model,name:analytic.model_account_analytic_account
+#: model:ir.module.module,shortdesc:analytic.module_meta_information
+msgid "Analytic Account"
+msgstr "Analitički konto"
+
+#. module: analytic
+#: selection:account.analytic.account,type:0
+msgid "View"
+msgstr "Pogled"
+
+#. module: analytic
+#: field:account.analytic.account,partner_id:0
+msgid "Partner"
+msgstr "Partner"
+
+#. module: analytic
+#: field:account.analytic.account,date_start:0
+msgid "Date Start"
+msgstr "Početni datum"
+
+#. module: analytic
+#: selection:account.analytic.account,state:0
+msgid "Open"
+msgstr "Otvoren"
+
+#. module: analytic
+#: field:account.analytic.account,line_ids:0
+msgid "Analytic Entries"
+msgstr "Stavke analitike"
diff --git a/addons/analytic_journal_billing_rate/__openerp__.py b/addons/analytic_journal_billing_rate/__openerp__.py
index 059e85d9367..f29e19147d1 100644
--- a/addons/analytic_journal_billing_rate/__openerp__.py
+++ b/addons/analytic_journal_billing_rate/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Analytic Journal Billing Rate, Define the default invoicing rate for a specific journal',
+ 'name': 'Billing Rates on Contracts',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'description': """
This module allows you to define what is the default invoicing rate for a specific journal on a given account.
==============================================================================================================
diff --git a/addons/analytic_journal_billing_rate/i18n/hr.po b/addons/analytic_journal_billing_rate/i18n/hr.po
index f4074f5bcf3..e7aa86189c2 100644
--- a/addons/analytic_journal_billing_rate/i18n/hr.po
+++ b/addons/analytic_journal_billing_rate/i18n/hr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
-"PO-Revision-Date: 2009-09-08 15:52+0000\n"
-"Last-Translator: Ivica Perić <ivica.peric@ipsoft-tg.com>\n"
+"PO-Revision-Date: 2011-12-08 15:46+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:34+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: analytic_journal_billing_rate
#: model:ir.module.module,description:analytic_journal_billing_rate.module_meta_information
@@ -36,28 +36,28 @@ msgstr ""
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,journal_id:0
msgid "Analytic Journal"
-msgstr ""
+msgstr "Dnevnik analitike"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
msgid "Invoice"
-msgstr ""
+msgstr "Račun"
#. module: analytic_journal_billing_rate
#: view:analytic_journal_rate_grid:0
msgid "Billing Rate per Journal for this Analytic Account"
-msgstr ""
+msgstr "Stupanj naplate po temeljnici za ovaj analitički račun"
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,account_id:0
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
msgid "Analytic Account"
-msgstr ""
+msgstr "Analitički konto"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
msgid "Relation table between journals and billing rates"
-msgstr ""
+msgstr "Relacijska tablica između temeljnica i stupnjeva naplate"
#. module: analytic_journal_billing_rate
#: field:account.analytic.account,journal_rate_ids:0
@@ -76,7 +76,7 @@ msgstr ""
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
-msgstr ""
+msgstr "Greška! Valuta ne odgovara valuti organizacije."
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,rate_id:0
@@ -86,7 +86,7 @@ msgstr ""
#. module: analytic_journal_billing_rate
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
-msgstr ""
+msgstr "Greška! Ne možete kreirati rekurzivna analitička konta."
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
diff --git a/addons/analytic_user_function/__openerp__.py b/addons/analytic_user_function/__openerp__.py
index bb3ca084be7..d7f97c1b158 100644
--- a/addons/analytic_user_function/__openerp__.py
+++ b/addons/analytic_user_function/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Human Resources',
+ 'name': 'Jobs on Contracts',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'description': """
This module allows you to define what is the default function of a specific user on a given account.
====================================================================================================
diff --git a/addons/analytic_user_function/i18n/hr.po b/addons/analytic_user_function/i18n/hr.po
index 8f795e66fcc..fc425f5a69f 100644
--- a/addons/analytic_user_function/i18n/hr.po
+++ b/addons/analytic_user_function/i18n/hr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-03 16:56+0000\n"
-"PO-Revision-Date: 2010-08-03 02:55+0000\n"
-"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 15:51+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Vinteh\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:36+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
"Language: hr\n"
#. module: analytic_user_function
@@ -27,7 +27,7 @@ msgstr "Proizvod"
#: code:addons/analytic_user_function/analytic_user_function.py:131
#, python-format
msgid "Error !"
-msgstr ""
+msgstr "Greška !"
#. module: analytic_user_function
#: model:ir.model,name:analytic_user_function.model_hr_analytic_timesheet
@@ -56,19 +56,19 @@ msgstr "Korisnik"
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
-msgstr ""
+msgstr "Greška! Valuta ne odgovara valuti organizacije."
#. module: analytic_user_function
#: code:addons/analytic_user_function/analytic_user_function.py:97
#: code:addons/analytic_user_function/analytic_user_function.py:132
#, python-format
msgid "There is no expense account define for this product: \"%s\" (id:%d)"
-msgstr ""
+msgstr "nije definiran konto troška za ovaj proizvod: \"%s\" (id:%d)"
#. module: analytic_user_function
#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid
msgid "Relation table between users and products on a analytic account"
-msgstr "Vza između korisnika i proizvoda kod Analitičkog konta."
+msgstr "Veza između korisnika i proizvoda na analitičkom kontu."
#. module: analytic_user_function
#: model:ir.module.module,description:analytic_user_function.module_meta_information
@@ -95,12 +95,12 @@ msgstr "Funkcija Analitičkog Korisnika"
#. module: analytic_user_function
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
-msgstr ""
+msgstr "Greška! Ne možete kreirati rekurzivna analitička konta."
#. module: analytic_user_function
#: view:analytic_user_funct_grid:0
msgid "User's Product for this Analytic Account"
-msgstr "Korisnikov Proizvod za ovaj Analitički konto."
+msgstr "Proizvod rada"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "Nepravilan XML format za View Architecture!"
diff --git a/addons/anonymization/__openerp__.py b/addons/anonymization/__openerp__.py
index ed22530c6bc..91b6686c621 100644
--- a/addons/anonymization/__openerp__.py
+++ b/addons/anonymization/__openerp__.py
@@ -24,7 +24,7 @@
{
'name': 'Database Anonymization',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
This module allows you to anonymize a database.
diff --git a/addons/anonymization/i18n/hr.po b/addons/anonymization/i18n/hr.po
new file mode 100644
index 00000000000..24208ceb18c
--- /dev/null
+++ b/addons/anonymization/i18n/hr.po
@@ -0,0 +1,226 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:14+0000\n"
+"PO-Revision-Date: 2011-12-08 15:53+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
+"Language-Team: Croatian <hr@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: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\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 "Naziv polja"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization,field_id:0
+msgid "Field"
+msgstr "Polje"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization.history,state:0
+#: field:ir.model.fields.anonymize.wizard,state:0
+msgid "State"
+msgstr "Stanje"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymize.wizard,file_import:0
+msgid "Import"
+msgstr "Uvoz"
+
+#. module: anonymization
+#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization
+msgid "ir.model.fields.anonymization"
+msgstr ""
+
+#. module: anonymization
+#: model:ir.module.module,shortdesc:anonymization.module_meta_information
+msgid "Database anonymization module"
+msgstr ""
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization.history,direction:0
+msgid "Direction"
+msgstr "Smjer"
+
+#. 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
+#: code:addons/anonymization/anonymization.py:55
+#: sql_constraint:ir.model.fields.anonymization:0
+#, python-format
+msgid "You cannot have two records having the same model and the same field"
+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 "nepoznato"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization,model_id:0
+msgid "Object"
+msgstr "Objekt"
+
+#. module: anonymization
+#: field:ir.model.fields.anonymization.history,filepath:0
+msgid "File path"
+msgstr "Putanja datoteke"
+
+#. 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 "Izvoz"
+
+#. 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 "Polja"
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization,state:0
+#: selection:ir.model.fields.anonymize.wizard,state:0
+msgid "Clear"
+msgstr "Očisti"
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization.history,direction:0
+msgid "clear -> anonymized"
+msgstr ""
+
+#. module: anonymization
+#: view:ir.model.fields.anonymize.wizard:0
+#: field:ir.model.fields.anonymize.wizard,summary:0
+msgid "Summary"
+msgstr "Sažetak"
+
+#. module: anonymization
+#: view:ir.model.fields.anonymization:0
+msgid "Anonymized Field"
+msgstr ""
+
+#. module: anonymization
+#: model:ir.module.module,description:anonymization.module_meta_information
+msgid ""
+"\n"
+"This module allows you to anonymize a database.\n"
+" "
+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 "Naziv objekta"
+
+#. 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 ""
+
+#. 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 ""
+
+#. module: anonymization
+#: selection:ir.model.fields.anonymization.history,state:0
+msgid "Done"
+msgstr ""
+
+#. 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 ""
diff --git a/addons/anonymization/security/ir.model.access.csv b/addons/anonymization/security/ir.model.access.csv
index b558227df24..5531738338b 100644
--- a/addons/anonymization/security/ir.model.access.csv
+++ b/addons/anonymization/security/ir.model.access.csv
@@ -3,5 +3,3 @@
"access_ir_model_fields_anonymization_user","ir_model_fields_anonymization user","model_ir_model_fields_anonymization",,1,0,0,0
"access_ir_model_fields_anonymization_history_group_system","ir_model_fields_anonymization_history group_user","model_ir_model_fields_anonymization_history","base.group_system",1,1,1,1
"access_ir_model_fields_anonymization_history_user","ir_model_fields_anonymization_history user","model_ir_model_fields_anonymization_history",,1,0,0,0
-"access_ir_model_fields_anonymize_wizard_group_system","ir_model_fields_anonymize_wizard group_user","model_ir_model_fields_anonymize_wizard","base.group_system",1,1,1,1
-"access_ir_model_fields_anonymize_wizard_user","ir_model_fields_anonymize_wizard user","model_ir_model_fields_anonymize_wizard",,1,0,0,0
diff --git a/addons/association/__openerp__.py b/addons/association/__openerp__.py
index 3dc6c03f94e..36622a5750d 100644
--- a/addons/association/__openerp__.py
+++ b/addons/association/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'Association profile',
+ 'name': 'Associations Management',
'version': '0.1',
'category': 'Specific Industry Applications',
'complexity': "normal",
diff --git a/addons/association/i18n/hr.po b/addons/association/i18n/hr.po
index 9951ce3dd25..080d41d3e30 100644
--- a/addons/association/i18n/hr.po
+++ b/addons/association/i18n/hr.po
@@ -7,29 +7,29 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2010-11-12 11:37+0000\n"
-"Last-Translator: <>\n"
+"PO-Revision-Date: 2011-12-08 15:58+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:52+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: association
#: field:profile.association.config.install_modules_wizard,wiki:0
msgid "Wiki"
-msgstr ""
+msgstr "Wiki"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "Event Management"
-msgstr ""
+msgstr "Upravljanje eventima"
#. module: association
#: field:profile.association.config.install_modules_wizard,project_gtd:0
msgid "Getting Things Done"
-msgstr ""
+msgstr "Getting Things Done"
#. module: association
#: model:ir.module.module,description:association.module_meta_information
@@ -39,7 +39,7 @@ msgstr ""
#. module: association
#: field:profile.association.config.install_modules_wizard,progress:0
msgid "Configuration Progress"
-msgstr ""
+msgstr "Napredak konfiguracije"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
@@ -51,7 +51,7 @@ msgstr ""
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "title"
-msgstr ""
+msgstr "naslov"
#. module: association
#: help:profile.association.config.install_modules_wizard,event_project:0
@@ -61,7 +61,7 @@ msgstr ""
#. module: association
#: field:profile.association.config.install_modules_wizard,config_logo:0
msgid "Image"
-msgstr ""
+msgstr "Slika"
#. module: association
#: help:profile.association.config.install_modules_wizard,hr_expense:0
@@ -69,6 +69,8 @@ msgid ""
"Tracks and manages employee expenses, and can automatically re-invoice "
"clients if the expenses are project-related."
msgstr ""
+"Prati i upravlja troškove djelatnika , moguće je automatski ponovno "
+"fakturirati klijente ako su troškovi povezani sa projektom."
#. module: association
#: help:profile.association.config.install_modules_wizard,project_gtd:0
@@ -80,7 +82,7 @@ msgstr ""
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "Resources Management"
-msgstr ""
+msgstr "Upravljanje resursima"
#. module: association
#: model:ir.module.module,shortdesc:association.module_meta_information
@@ -90,7 +92,7 @@ msgstr ""
#. module: association
#: field:profile.association.config.install_modules_wizard,hr_expense:0
msgid "Expenses Tracking"
-msgstr ""
+msgstr "Praćenje troškova"
#. module: association
#: model:ir.actions.act_window,name:association.action_config_install_module
@@ -120,15 +122,15 @@ msgstr ""
#. module: association
#: field:profile.association.config.install_modules_wizard,event_project:0
msgid "Events"
-msgstr ""
+msgstr "Eventi"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
#: field:profile.association.config.install_modules_wizard,project:0
msgid "Project Management"
-msgstr ""
+msgstr "Upravljanje Projektima"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "Configure"
-msgstr ""
+msgstr "Postavke"
diff --git a/addons/association/profile_association.xml b/addons/association/profile_association.xml
index 8ce97cb2e43..5f81769eb1a 100644
--- a/addons/association/profile_association.xml
+++ b/addons/association/profile_association.xml
@@ -6,7 +6,6 @@
id="base.menu_association"
icon="terp-calendar"
sequence="9"
- groups="base.group_extended"
web_icon="images/association.png"
web_icon_hover="images/association-hover.png"/>
<menuitem name="Configuration" id="base.menu_event_config" parent="base.menu_association" sequence="30" groups="base.group_extended"/>
diff --git a/addons/auction/__openerp__.py b/addons/auction/__openerp__.py
index 3f6c6c35e31..0475890e1e9 100644
--- a/addons/auction/__openerp__.py
+++ b/addons/auction/__openerp__.py
@@ -68,6 +68,7 @@ The dashboard for auction includes:
],
'installable': True,
+ 'auction': True,
'active': False,
'certificate': '0039333102717',
'images': ['images/auction1.jpeg','images/auction2.jpeg','images/auction3.jpeg'],
diff --git a/addons/audittrail/__openerp__.py b/addons/audittrail/__openerp__.py
index 7d2a5955ac0..5bfd023ac39 100644
--- a/addons/audittrail/__openerp__.py
+++ b/addons/audittrail/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Audit Trail',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
This module lets administrator track every user operation on all the objects of the system.
===========================================================================================
diff --git a/addons/audittrail/i18n/hr.po b/addons/audittrail/i18n/hr.po
index ce60dcea9cc..9d9a378c7fe 100644
--- a/addons/audittrail/i18n/hr.po
+++ b/addons/audittrail/i18n/hr.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2009-09-08 13:23+0000\n"
+"PO-Revision-Date: 2011-12-08 17:09+0000\n"
"Last-Translator: Ivica Perić <ivica.peric@ipsoft-tg.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:32+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: audittrail
#: model:ir.module.module,shortdesc:audittrail.module_meta_information
msgid "Audit Trail"
-msgstr ""
+msgstr "Audit Trail"
#. module: audittrail
#: code:addons/audittrail/audittrail.py:81
@@ -30,18 +30,18 @@ msgstr ""
#. module: audittrail
#: field:audittrail.log.line,log_id:0
msgid "Log"
-msgstr "Dnevnik izmjena"
+msgstr "Zapisnik"
#. module: audittrail
#: view:audittrail.rule:0
#: selection:audittrail.rule,state:0
msgid "Subscribed"
-msgstr "Pretplaćeno"
+msgstr "Pretplaćen"
#. module: audittrail
#: model:ir.model,name:audittrail.model_audittrail_rule
msgid "Audittrail Rule"
-msgstr ""
+msgstr "Audittrail Pravila"
#. module: audittrail
#: view:audittrail.view.log:0
@@ -54,7 +54,7 @@ msgstr "Dnevnik izmjena"
#: view:audittrail.log:0
#: view:audittrail.rule:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupiraj po..."
#. module: audittrail
#: view:audittrail.rule:0
@@ -65,7 +65,7 @@ msgstr "Stanje"
#. module: audittrail
#: view:audittrail.rule:0
msgid "_Subscribe"
-msgstr ""
+msgstr "_Pretplati"
#. module: audittrail
#: view:audittrail.rule:0
@@ -89,6 +89,8 @@ msgid ""
"Select this if you want to keep track of read/open on any record of the "
"object of this rule"
msgstr ""
+"Select this if you want to keep track of read/open on any record of the "
+"object of this rule"
#. module: audittrail
#: field:audittrail.log,method:0
@@ -98,22 +100,22 @@ msgstr "Metoda"
#. module: audittrail
#: field:audittrail.view.log,from:0
msgid "Log From"
-msgstr ""
+msgstr "Logiraj od"
#. module: audittrail
#: field:audittrail.log.line,log:0
msgid "Log ID"
-msgstr ""
+msgstr "Log ID"
#. module: audittrail
#: field:audittrail.log,res_id:0
msgid "Resource Id"
-msgstr ""
+msgstr "Id resursa"
#. module: audittrail
#: help:audittrail.rule,user_id:0
msgid "if User is not added then it will applicable for all users"
-msgstr ""
+msgstr "if User is not added then it will applicable for all users"
#. module: audittrail
#: help:audittrail.rule,log_workflow:0
@@ -121,6 +123,8 @@ msgid ""
"Select this if you want to keep track of workflow on any record of the "
"object of this rule"
msgstr ""
+"Odaberite ovu opciju ukoliko želite pratiti tijek rada na bilo koji zapis "
+"predmeta iz ovog pravila"
#. module: audittrail
#: field:audittrail.rule,user_id:0
@@ -130,14 +134,14 @@ msgstr "Korisnici"
#. module: audittrail
#: view:audittrail.log:0
msgid "Log Lines"
-msgstr ""
+msgstr "Log Lines"
#. module: audittrail
#: view:audittrail.log:0
#: field:audittrail.log,object_id:0
#: field:audittrail.rule,object_id:0
msgid "Object"
-msgstr "Objekt"
+msgstr "Object"
#. module: audittrail
#: view:audittrail.rule:0
@@ -147,7 +151,7 @@ msgstr "Pravilo praćenja promjena"
#. module: audittrail
#: field:audittrail.view.log,to:0
msgid "Log To"
-msgstr ""
+msgstr "Log To"
#. module: audittrail
#: view:audittrail.log:0
@@ -157,13 +161,13 @@ msgstr "Tekst nove vrijednosti: "
#. module: audittrail
#: view:audittrail.rule:0
msgid "Search Audittrail Rule"
-msgstr ""
+msgstr "Search Audittrail Rule"
#. module: audittrail
#: model:ir.actions.act_window,name:audittrail.action_audittrail_rule_tree
#: model:ir.ui.menu,name:audittrail.menu_action_audittrail_rule_tree
msgid "Audit Rules"
-msgstr ""
+msgstr "Pravila revizije"
#. module: audittrail
#: view:audittrail.log:0
@@ -173,7 +177,7 @@ msgstr "Stara vrijednost : "
#. module: audittrail
#: field:audittrail.log,name:0
msgid "Resource Name"
-msgstr ""
+msgstr "Resource Name"
#. module: audittrail
#: view:audittrail.log:0
@@ -187,16 +191,18 @@ msgid ""
"Select this if you want to keep track of modification on any record of the "
"object of this rule"
msgstr ""
+"Select this if you want to keep track of modification on any record of the "
+"object of this rule"
#. module: audittrail
#: field:audittrail.rule,log_create:0
msgid "Log Creates"
-msgstr ""
+msgstr "Log Creates"
#. module: audittrail
#: help:audittrail.rule,object_id:0
msgid "Select object for which you want to generate log."
-msgstr ""
+msgstr "Select object for which you want to generate log."
#. module: audittrail
#: view:audittrail.log:0
@@ -206,7 +212,7 @@ msgstr "Tekst stare vrijednosti : "
#. module: audittrail
#: field:audittrail.rule,log_workflow:0
msgid "Log Workflow"
-msgstr ""
+msgstr "Log Workflow"
#. module: audittrail
#: model:ir.module.module,description:audittrail.module_meta_information
@@ -224,7 +230,7 @@ msgstr ""
#. module: audittrail
#: field:audittrail.rule,log_read:0
msgid "Log Reads"
-msgstr ""
+msgstr "Log Reads"
#. module: audittrail
#: code:addons/audittrail/audittrail.py:82
@@ -235,7 +241,7 @@ msgstr ""
#. module: audittrail
#: field:audittrail.log,line_ids:0
msgid "Log lines"
-msgstr "Retci dnevnika"
+msgstr "Reci dnevnika"
#. module: audittrail
#: field:audittrail.log.line,field_id:0
@@ -253,6 +259,8 @@ msgid ""
"Select this if you want to keep track of deletion on any record of the "
"object of this rule"
msgstr ""
+"Select this if you want to keep track of deletion on any record of the "
+"object of this rule"
#. module: audittrail
#: view:audittrail.log:0
@@ -263,47 +271,47 @@ msgstr "Korisnik"
#. module: audittrail
#: field:audittrail.rule,action_id:0
msgid "Action ID"
-msgstr ""
+msgstr "Action ID"
#. module: audittrail
#: view:audittrail.rule:0
msgid "Users (if User is not added then it will applicable for all users)"
-msgstr ""
+msgstr "Korisnici (ako se ne upišu - vrijedi za sve korisnike)"
#. module: audittrail
#: view:audittrail.rule:0
msgid "UnSubscribe"
-msgstr ""
+msgstr "UnSubscribe"
#. module: audittrail
#: field:audittrail.rule,log_unlink:0
msgid "Log Deletes"
-msgstr ""
+msgstr "Log Deletes"
#. module: audittrail
#: field:audittrail.log.line,field_description:0
msgid "Field Description"
-msgstr ""
+msgstr "Field Description"
#. module: audittrail
#: view:audittrail.log:0
msgid "Search Audittrail Log"
-msgstr ""
+msgstr "Search Audittrail Log"
#. module: audittrail
#: field:audittrail.rule,log_write:0
msgid "Log Writes"
-msgstr ""
+msgstr "Log Writes"
#. module: audittrail
#: view:audittrail.view.log:0
msgid "Open Logs"
-msgstr ""
+msgstr "Open Logs"
#. module: audittrail
#: field:audittrail.log.line,new_value_text:0
msgid "New value Text"
-msgstr ""
+msgstr "New value Text"
#. module: audittrail
#: field:audittrail.rule,name:0
@@ -313,28 +321,29 @@ msgstr "Naziv pravila"
#. module: audittrail
#: field:audittrail.log.line,new_value:0
msgid "New Value"
-msgstr ""
+msgstr "New Value"
#. module: audittrail
#: view:audittrail.log:0
msgid "AuditTrail Logs"
-msgstr ""
+msgstr "AuditTrail Logs"
#. module: audittrail
#: model:ir.model,name:audittrail.model_audittrail_log
msgid "Audittrail Log"
-msgstr ""
+msgstr "Audittrail Log"
#. module: audittrail
#: help:audittrail.rule,log_action:0
msgid ""
"Select this if you want to keep track of actions on the object of this rule"
msgstr ""
+"Select this if you want to keep track of actions on the object of this rule"
#. module: audittrail
#: view:audittrail.log:0
msgid "New Value : "
-msgstr ""
+msgstr "Nova vrijednost : "
#. module: audittrail
#: sql_constraint:audittrail.rule:0
@@ -351,22 +360,22 @@ msgstr "Tekst stare vrijednosti"
#. module: audittrail
#: view:audittrail.view.log:0
msgid "Cancel"
-msgstr "Otkaži"
+msgstr "Odustani"
#. module: audittrail
#: model:ir.model,name:audittrail.model_audittrail_view_log
msgid "View Log"
-msgstr ""
+msgstr "Pogledaj Log"
#. module: audittrail
#: model:ir.model,name:audittrail.model_audittrail_log_line
msgid "Log Line"
-msgstr ""
+msgstr "Redak Prijave"
#. module: audittrail
#: field:audittrail.rule,log_action:0
msgid "Log Action"
-msgstr ""
+msgstr "Log Action"
#. module: audittrail
#: help:audittrail.rule,log_create:0
@@ -374,6 +383,8 @@ msgid ""
"Select this if you want to keep track of creation on any record of the "
"object of this rule"
msgstr ""
+"Select this if you want to keep track of creation on any record of the "
+"object of this rule"
#~ msgid "Name"
#~ msgstr "Naziv"
diff --git a/addons/auth_openid/__openerp__.py b/addons/auth_openid/__openerp__.py
index 040a96a3995..6fa802b94e3 100644
--- a/addons/auth_openid/__openerp__.py
+++ b/addons/auth_openid/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'OpenID',
+ 'name': 'OpenID Authentification',
'version': '2.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """Allow users to login through OpenID.""",
'author': 'OpenERP s.a.',
'maintainer': 'OpenERP s.a.',
diff --git a/addons/base_action_rule/__openerp__.py b/addons/base_action_rule/__openerp__.py
index 18af8d09459..a8788bdddcb 100644
--- a/addons/base_action_rule/__openerp__.py
+++ b/addons/base_action_rule/__openerp__.py
@@ -22,7 +22,7 @@
{
'name': 'Action Rule',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'description': """
This module allows to implement action rules for any object.
============================================================
diff --git a/addons/base_calendar/__openerp__.py b/addons/base_calendar/__openerp__.py
index 0dd72a17038..6edb978301f 100644
--- a/addons/base_calendar/__openerp__.py
+++ b/addons/base_calendar/__openerp__.py
@@ -34,7 +34,7 @@ It supports:
- Recurring events
- Invitations to people""",
"author" : "OpenERP SA",
- 'category': 'Hidden',
+ 'category': 'Tools',
'website': 'http://www.openerp.com',
"init_xml" : [
'base_calendar_data.xml'
diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py
index 45624a280f1..9ce32429e5b 100644
--- a/addons/base_calendar/base_calendar.py
+++ b/addons/base_calendar/base_calendar.py
@@ -1009,10 +1009,19 @@ class calendar_event(osv.osv):
else:
result[event] = ""
return result
-
-
-
-
+
+ def _rrule_write(self, obj, cr, uid, ids, field_name, field_value, args, context=None):
+ data = self._get_empty_rrule_data()
+ if field_value:
+ data['recurrency'] = True
+ for event in self.browse(cr, uid, ids, context=context):
+ rdate = rule_date or event.date
+ update_data = self._parse_rrule(field_value, dict(data), rdate)
+ data.update(update_data)
+ super(calendar_event, obj).write(cr, uid, ids, data, context=context)
+ return True
+
+
_columns = {
'id': fields.integer('ID', readonly=True),
'sequence': fields.integer('Sequence'),
@@ -1023,7 +1032,7 @@ class calendar_event(osv.osv):
'duration': fields.float('Duration', states={'done': [('readonly', True)]}),
'description': fields.text('Description', states={'done': [('readonly', True)]}),
'class': fields.selection([('public', 'Public'), ('private', 'Private'), \
- ('confidential', 'Confidential')], 'Mark as', states={'done': [('readonly', True)]}),
+ ('confidential', 'Public for Employees')], 'Mark as', states={'done': [('readonly', True)]}),
'location': fields.char('Location', size=264, help="Location of Event", states={'done': [('readonly', True)]}),
'show_as': fields.selection([('free', 'Free'), ('busy', 'Busy')], \
'Show as', states={'done': [('readonly', True)]}),
@@ -1036,7 +1045,7 @@ defines the list of date/time exceptions for a recurring calendar component."),
'exrule': fields.char('Exception Rule', size=352, help="Defines a \
rule or repeating pattern of time to exclude from the recurring rule."),
'rrule': fields.function(_get_rulestring, type='char', size=124, \
- store=True, string='Recurrent Rule'),
+ fnct_inv=_rrule_write, store=True, string='Recurrent Rule'),
'rrule_type': fields.selection([('none', ''), ('daily', 'Daily'), \
('weekly', 'Weekly'), ('monthly', 'Monthly'), \
('yearly', 'Yearly'),],
@@ -1079,7 +1088,6 @@ rule or repeating pattern of time to exclude from the recurring rule."),
'active': fields.boolean('Active', help="If the active field is set to \
true, it will allow you to hide the event alarm information without removing it."),
'recurrency': fields.boolean('Recurrent', help="Recurrent Meeting"),
- 'edit_all': fields.boolean('Edit All', help="Edit all Occurrences of recurrent Meeting."),
}
def default_organizer(self, cr, uid, context=None):
@@ -1102,83 +1110,68 @@ rule or repeating pattern of time to exclude from the recurring rule."),
'active': 1,
'user_id': lambda self, cr, uid, ctx: uid,
'organizer': default_organizer,
- 'edit_all' : False,
}
- def get_recurrent_ids(self, cr, uid, select, base_start_date, base_until_date, limit=100, context=None):
+ def get_recurrent_ids(self, cr, uid, select, domain, limit=100, context=None):
"""Gives virtual event ids for recurring events based on value of Recurrence Rule
This method gives ids of dates that comes between start date and end date of calendar views
@param self: The object pointer
@param cr: the current row, from the database cursor,
@param uid: the current user’s ID for security checks,
- @param base_start_date: Get Start Date
- @param base_until_date: Get End Date
@param limit: The Number of Results to Return """
if not context:
context = {}
- virtual_id = context and context.get('virtual_id', False) or False
-
- if isinstance(select, (str, int, long)):
- ids = [select]
- else:
- ids = select
result = []
- if ids and virtual_id:
- for data in super(calendar_event, self).read(cr, uid, ids, context=context):
- start_date = base_start_date and datetime.strptime(base_start_date[:10]+ ' 00:00:00' , "%Y-%m-%d %H:%M:%S") or False
- until_date = base_until_date and datetime.strptime(base_until_date[:10]+ ' 23:59:59', "%Y-%m-%d %H:%M:%S") or False
- event_date = datetime.strptime(data['date'], "%Y-%m-%d %H:%M:%S")
+ for data in super(calendar_event, self).read(cr, uid, select, context=context):
+ if not data['rrule']:
+ result.append(data['id'])
+ continue
+ event_date = datetime.strptime(data['date'], "%Y-%m-%d %H:%M:%S")
# To check: If the start date is replace by event date .. the event date will be changed by that of calendar code
-
- if not data['rrule']:
- if start_date and (event_date < start_date):
- continue
- if until_date and (event_date > until_date):
- continue
- idval = data['id']
- result.append(idval)
- else:
- start_date = event_date
- exdate = data['exdate'] and data['exdate'].split(',') or []
- rrule_str = data['rrule']
- new_rrule_str = []
- rrule_until_date = False
- is_until = False
- for rule in rrule_str.split(';'):
- name, value = rule.split('=')
- if name == "UNTIL":
- is_until = True
- value = parser.parse(value)
- rrule_until_date = parser.parse(value.strftime("%Y-%m-%d %H:%M:%S"))
- if until_date and until_date >= rrule_until_date:
- until_date = rrule_until_date
- if until_date:
- value = until_date.strftime("%Y%m%d%H%M%S")
- else:
- value = value.strftime("%Y%m%d%H%M%S")
- new_rule = '%s=%s' % (name, value)
- new_rrule_str.append(new_rule)
- if not is_until and until_date:
- value = until_date.strftime("%Y%m%d%H%M%S")
- name = "UNTIL"
- new_rule = '%s=%s' % (name, value)
- new_rrule_str.append(new_rule)
- new_rrule_str = ';'.join(new_rrule_str)
- rdates = get_recurrent_dates(str(new_rrule_str), exdate, start_date, data['exrule'])
-
- for r_date in rdates:
- if start_date and r_date < start_date:
- continue
- if until_date and r_date > until_date:
- continue
- idval = real_id2base_calendar_id(data['id'], r_date.strftime("%Y-%m-%d %H:%M:%S"))
- result.append(idval)
-
- if result:
- ids = list(set(result))
+
+ if not data['rrule']:
+ continue
+
+ exdate = data['exdate'] and data['exdate'].split(',') or []
+ rrule_str = data['rrule']
+ new_rrule_str = []
+ rrule_until_date = False
+ is_until = False
+ for rule in rrule_str.split(';'):
+ name, value = rule.split('=')
+ if name == "UNTIL":
+ is_until = True
+ value = parser.parse(value)
+ rrule_until_date = parser.parse(value.strftime("%Y-%m-%d %H:%M:%S"))
+ value = value.strftime("%Y%m%d%H%M%S")
+ new_rule = '%s=%s' % (name, value)
+ new_rrule_str.append(new_rule)
+ new_rrule_str = ';'.join(new_rrule_str)
+ rdates = get_recurrent_dates(str(new_rrule_str), exdate, event_date, data['exrule'])
+ for r_date in rdates:
+ ok = True
+ for arg in domain:
+ if arg[0] in ('date', 'date_deadline'):
+ if (arg[1]=='='):
+ ok = ok and r_date.strftime('%Y-%m-%d')==arg[2]
+ if (arg[1]=='>'):
+ ok = ok and r_date.strftime('%Y-%m-%d')>arg[2]
+ if (arg[1]=='<'):
+ ok = ok and r_date.strftime('%Y-%m-%d')<arg[2]
+ if (arg[1]=='>='):
+ ok = ok and r_date.strftime('%Y-%m-%d')>=arg[2]
+ if (arg[1]=='<='):
+ ok = ok and r_date.strftime('%Y-%m-%d')<=arg[2]
+ if not ok:
+ continue
+ idval = real_id2base_calendar_id(data['id'], r_date.strftime("%Y-%m-%d %H:%M:%S"))
+ result.append(idval)
+
if isinstance(select, (str, int, long)):
return ids and ids[0] or False
+ else:
+ ids = list(set(result))
return ids
def compute_rule_string(self, datas):
@@ -1243,17 +1236,17 @@ rule or repeating pattern of time to exclude from the recurring rule."),
'week_list' : False
}
- def _write_rrule(self, cr, uid, ids, field_value, rule_date=False, context=None):
- data = self._get_empty_rrule_data()
-
- if field_value:
- data['recurrency'] = True
- for event in self.browse(cr, uid, ids, context=context):
- rdate = rule_date or event.date
- update_data = self._parse_rrule(field_value, dict(data), rdate)
- data.update(update_data)
- #parse_rrule
- self.write(cr, uid, event.id, data, context=context)
+ #def _write_rrule(self, cr, uid, ids, field_value, rule_date=False, context=None):
+ # data = self._get_empty_rrule_data()
+ #
+ # if field_value:
+ # data['recurrency'] = True
+ # for event in self.browse(cr, uid, ids, context=context):
+ # rdate = rule_date or event.date
+ # update_data = self._parse_rrule(field_value, dict(data), rdate)
+ # data.update(update_data)
+ # #parse_rrule
+ # self.write(cr, uid, event.id, data, context=context)
def _parse_rrule(self, rule, data, date_start):
@@ -1311,9 +1304,9 @@ rule or repeating pattern of time to exclude from the recurring rule."),
return res
def search(self, cr, uid, args, offset=0, limit=0, order=None, context=None, count=False):
+ context = context or {}
args_without_date = []
- start_date = False
- until_date = False
+ filter_date = []
for arg in args:
if arg[0] == "id":
@@ -1323,17 +1316,18 @@ rule or repeating pattern of time to exclude from the recurring rule."),
elif arg[0] not in ('date', unicode('date'), 'date_deadline', unicode('date_deadline')):
args_without_date.append(arg)
else:
- if arg[1] in ('>', '>='):
- if start_date:
- continue
- start_date = arg[2]
- elif arg[1] in ('<', '<='):
- if until_date:
- continue
- until_date = arg[2]
+ if context.get('virtual_id', True):
+ args_without_date.append('|')
+ args_without_date.append(arg)
+ if context.get('virtual_id', True):
+ args_without_date.append(('recurrency','=',1))
+ filter_date.append(arg)
+
res = super(calendar_event, self).search(cr, uid, args_without_date, \
0, 0, order, context, count=False)
- res = self.get_recurrent_ids(cr, uid, res, start_date, until_date, limit, context=context)
+ if context.get('virtual_id', True):
+ res = self.get_recurrent_ids(cr, uid, res, args, limit, context=context)
+
if count:
return len(res)
elif limit:
@@ -1341,17 +1335,6 @@ rule or repeating pattern of time to exclude from the recurring rule."),
else:
return res
- def get_edit_all(self, cr, uid, id, vals=None):
- """
- return true if we have to edit all meeting from the same recurrent
- or only on occurency
- """
- meeting = self.read(cr,uid, id, ['edit_all', 'recurrency'] )
- if(vals and 'edit_all' in vals): #we jsut check edit_all
- return vals['edit_all']
- else: #it's a recurrent event and edit_all is already check
- return meeting['recurrency'] and meeting['edit_all']
-
def _get_data(self, cr, uid, id, context=None):
res = self.read(cr, uid, [id],['date', 'date_deadline'])
return res[0]
@@ -1370,101 +1353,63 @@ rule or repeating pattern of time to exclude from the recurring rule."),
def write(self, cr, uid, ids, vals, context=None, check=True, update_check=True):
- if context is None:
- context = {}
+ context = context or {}
if isinstance(ids, (str, int, long)):
- select = [ids]
- else:
- select = ids
-
-
-
- new_ids = []
+ ids = [ids]
res = False
- for event_id in select:
+
+ # Special write of complex IDS
+ for event_id in ids[:]:
+ if len(str(event_id).split('-')) == 1:
+ continue
+ ids.remove(event_id)
real_event_id = base_calendar_id2real_id(event_id)
- edit_all = self.get_edit_all(cr, uid, event_id, vals=vals)
- if edit_all:
- if self.need_to_update(event_id, vals):
- res = self._get_data(cr, uid, real_event_id, context=context)
- vals.update(res)
- event_id = real_event_id
+ if not vals.get('recurrency', True):
+ ids.append(real_event_id)
+ continue
#if edit one instance of a reccurrent id
- if len(str(event_id).split('-')) > 1 and not edit_all:
- data = self.read(cr, uid, event_id, ['date', 'date_deadline', \
- 'rrule', 'duration', 'exdate'])
- if data.get('rrule'):
- data.update(vals)
- data.update({
- 'recurrent_uid': real_event_id,
- 'recurrent_id': data.get('date'),
- 'rrule_type': 'none',
- 'rrule': '',
- 'edit_all': False,
- 'recurrency' : False,
- })
-
- new_id = self.copy(cr, uid, real_event_id, default=data, context=context)
-
- date_new = event_id.split('-')[1]
- date_new = time.strftime("%Y%m%dT%H%M%S", \
- time.strptime(date_new, "%Y%m%d%H%M%S"))
- exdate = (data['exdate'] and (data['exdate'] + ',') or '') + date_new
- res = self.write(cr, uid, [real_event_id], {'exdate': exdate})
-
- context.update({'active_id': new_id, 'active_ids': [new_id]})
- continue
- if not real_event_id in new_ids:
- new_ids.append(real_event_id)
+ data = self.read(cr, uid, event_id, ['date', 'date_deadline', \
+ 'rrule', 'duration', 'exdate'])
+ if data.get('rrule'):
+ data.update(vals)
+ data.update({
+ 'recurrent_uid': real_event_id,
+ 'recurrent_id': data.get('date'),
+ 'rrule_type': 'none',
+ 'rrule': '',
+ 'recurrency' : False,
+ })
+
+ new_id = self.copy(cr, uid, real_event_id, default=data, context=context)
+
+ date_new = event_id.split('-')[1]
+ date_new = time.strftime("%Y%m%dT%H%M%S", \
+ time.strptime(date_new, "%Y%m%d%H%M%S"))
+ exdate = (data['exdate'] and (data['exdate'] + ',') or '') + date_new
+ res = self.write(cr, uid, [real_event_id], {'exdate': exdate})
+
+ context.update({'active_id': new_id, 'active_ids': [new_id]})
+ continue
if vals.get('vtimezone', '') and vals.get('vtimezone', '').startswith('/freeassociation.sourceforge.net/tzfile/'):
vals['vtimezone'] = vals['vtimezone'][40:]
- updated_vals = self.onchange_dates(cr, uid, new_ids,
- vals.get('date', False),
- vals.get('duration', False),
- vals.get('date_deadline', False),
- vals.get('allday', False),
- context=context)
- vals.update(updated_vals.get('value', {}))
- if new_ids:
- if 'rrule' in vals.keys():
- if 'date' in vals.keys():
- date_to_write = vals['date']
- else:
- date_to_write = False
- self._write_rrule(cr, uid, new_ids, vals['rrule'], date_to_write, context)
-
- res = super(calendar_event, self).write(cr, uid, new_ids, vals, context=context)
+ res = super(calendar_event, self).write(cr, uid, ids, vals, context=context)
if ('alarm_id' in vals or 'base_calendar_alarm_id' in vals)\
or ('date' in vals or 'duration' in vals or 'date_deadline' in vals):
- # change alarm details
alarm_obj = self.pool.get('res.alarm')
- alarm_obj.do_alarm_create(cr, uid, new_ids, self._name, 'date', context=context)
+ alarm_obj.do_alarm_create(cr, uid, ids, self._name, 'date', context=context)
return res or True and False
- def browse(self, cr, uid, ids, context=None, list_class=None, fields_process=None):
- if isinstance(ids, (str, int, long)):
- select = [ids]
- else:
- select = ids
- select = map(lambda x: base_calendar_id2real_id(x), select)
- res = super(calendar_event, self).browse(cr, uid, select, context, \
- list_class, fields_process)
- if isinstance(ids, (str, int, long)):
- return res and res[0] or False
-
- return res
-
def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False):
if not context:
context = {}
if 'date' in groupby:
raise osv.except_osv(_('Warning !'), _('Group by date not supported, use the calendar view instead'))
- virtual_id = context.get('virtual_id', False)
+ virtual_id = context.get('virtual_id', True)
context.update({'virtual_id': False})
res = super(calendar_event, self).read_group(cr, uid, domain, fields, groupby, offset=offset, limit=limit, context=context, orderby=orderby)
for re in res:
@@ -1479,8 +1424,12 @@ rule or repeating pattern of time to exclude from the recurring rule."),
# FIXME This whole id mangling has to go!
if context is None:
context = {}
-
+ fields2 = fields and fields[:] or None
+ EXTRAFIELDS = ('class','user_id','date','duration')
+ for f in EXTRAFIELDS:
+ if fields and (f not in fields):
+ fields2.append(f)
if isinstance(ids, (str, int, long)):
select = [ids]
@@ -1488,17 +1437,13 @@ rule or repeating pattern of time to exclude from the recurring rule."),
select = ids
select = map(lambda x: (x, base_calendar_id2real_id(x)), select)
result = []
- if fields and 'date' not in fields:
- fields.append('date')
- if fields and 'duration' not in fields:
- fields.append('duration')
real_data = super(calendar_event, self).read(cr, uid,
[real_id for base_calendar_id, real_id in select],
- fields=fields, context=context, load=load)
+ fields=fields2, context=context, load=load)
real_data = dict(zip([x['id'] for x in real_data], real_data))
- for base_calendar_id, real_id in select:
+ for base_calendar_id, real_id in select:
res = real_data[real_id].copy()
ls = base_calendar_id2real_id(base_calendar_id, with_date=res and res.get('duration', 0) or 0)
if not isinstance(ls, (str, int, long)) and len(ls) >= 2:
@@ -1507,9 +1452,25 @@ rule or repeating pattern of time to exclude from the recurring rule."),
res['id'] = base_calendar_id
result.append(res)
+
+ for r in result:
+ if r['user_id']:
+ user_id = type(r['user_id']) in (tuple,list) and r['user_id'][0] or r['user_id']
+ if user_id==uid:
+ continue
+ if r['class']=='private':
+ for f in r.keys():
+ if f not in ('id','date','date_deadline','duration','user_id','state'):
+ r[f] = False
+ if f=='name':
+ r[f] = _('Busy')
+
+ for r in result:
+ for k in EXTRAFIELDS:
+ if (k in r) and ((not fields) or (k not in fields)):
+ del r[k]
if isinstance(ids, (str, int, long)):
return result and result[0] or False
-
return result
def copy(self, cr, uid, id, default=None, context=None):
@@ -1520,68 +1481,49 @@ rule or repeating pattern of time to exclude from the recurring rule."),
alarm_obj = self.pool.get('res.alarm')
alarm_obj.do_alarm_create(cr, uid, [res], self._name, 'date', context=context)
return res
-
-
+
def unlink(self, cr, uid, ids, context=None):
if not isinstance(ids, list):
ids = [ids]
-
res = False
- for id in ids:
- data_list = self.read(cr, uid, [id], ['date', 'rrule', 'exdate'], context=context)
- if len(data_list) < 1:
+ for event_id in ids[:]:
+ if len(str(event_id).split('-')) == 1:
continue
- event_data = data_list[0]
- event_id = event_data['id']
- if self.get_edit_all(cr, uid, event_id, vals=None):
- event_id = base_calendar_id2real_id(event_id)
-
- if isinstance(event_id, (int, long)):
- res = super(calendar_event, self).unlink(cr, uid, event_id, context=context)
- self.pool.get('res.alarm').do_alarm_unlink(cr, uid, [event_id], self._name)
- self.unlink_events(cr, uid, [event_id], context=context)
- else:
- str_event, date_new = event_id.split('-')
- event_id = int(str_event)
- if event_data['rrule']:
- # Remove one of the recurrent event
- date_new = time.strftime("%Y%m%dT%H%M%S", \
- time.strptime(date_new, "%Y%m%d%H%M%S"))
- exdate = (event_data['exdate'] and (event_data['exdate'] + ',') or '') + date_new
- res = self.write(cr, uid, [event_id], {'exdate': exdate})
- else:
- res = super(calendar_event, self).unlink(cr, uid, [event_id], context=context)
- self.pool.get('res.alarm').do_alarm_unlink(cr, uid, [event_id], self._name)
- self.unlink_events(cr, uid, [event_id], context=context)
+ real_event_id = base_calendar_id2real_id(event_id)
+ data = self.read(cr, uid, real_event_id, ['exdate'], context=context)
+ date_new = event_id.split('-')[1]
+ date_new = time.strftime("%Y%m%dT%H%M%S", \
+ time.strptime(date_new, "%Y%m%d%H%M%S"))
+ exdate = (data['exdate'] and (data['exdate'] + ',') or '') + date_new
+ self.write(cr, uid, [real_event_id], {'exdate': exdate})
+ ids.remove(event_id)
+
+ res = super(calendar_event, self).unlink(cr, uid, ids, context=context)
+ self.pool.get('res.alarm').do_alarm_unlink(cr, uid, ids, self._name)
+ self.unlink_events(cr, uid, ids, context=context)
return res
+
def create(self, cr, uid, vals, context=None):
if context is None:
context = {}
if vals.get('vtimezone', '') and vals.get('vtimezone', '').startswith('/freeassociation.sourceforge.net/tzfile/'):
vals['vtimezone'] = vals['vtimezone'][40:]
-
- if 'date' in vals and 'rrule' in vals and vals['rrule']:
- update_datas = self._parse_rrule(vals['rrule'], self._get_empty_rrule_data(), vals['date'])
- update_datas['recurrency'] = True
- vals.update(update_datas)
-
- updated_vals = self.onchange_dates(cr, uid, [],
- vals.get('date', False),
- vals.get('duration', False),
- vals.get('date_deadline', False),
- vals.get('allday', False),
- context=context)
- vals.update(updated_vals.get('value', {}))
+
+ #updated_vals = self.onchange_dates(cr, uid, [],
+ # vals.get('date', False),
+ # vals.get('duration', False),
+ # vals.get('date_deadline', False),
+ # vals.get('allday', False),
+ # context=context)
+ #vals.update(updated_vals.get('value', {}))
+
res = super(calendar_event, self).create(cr, uid, vals, context)
alarm_obj = self.pool.get('res.alarm')
alarm_obj.do_alarm_create(cr, uid, [res], self._name, 'date', context=context)
-
return res
-
-
def do_tentative(self, cr, uid, ids, context=None, *args):
""" Makes event invitation as Tentative
diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml
index 3ce934b4ded..16064762f9b 100644
--- a/addons/base_calendar/base_calendar_view.xml
+++ b/addons/base_calendar/base_calendar_view.xml
@@ -242,8 +242,7 @@
<field name="alarm_id" string="Reminder"
widget="selection" />
<group colspan="2" col="4" attrs="{'readonly': [('state','=','done')]}">
- <field name="recurrency"/>
- <field name="edit_all" attrs="{'invisible':[('recurrency','=', False)]}" />
+ <field name="recurrency"/>
</group>
</group>
<notebook colspan="4">
diff --git a/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml b/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml
index b6afeb6906e..693f0d81c6b 100644
--- a/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml
+++ b/addons/base_calendar/test/test_crm_recurrent_meeting_case2.yml
@@ -72,7 +72,7 @@
!python {model: crm.meeting}: |
from base_calendar import base_calendar
base_cal_id = base_calendar.real_id2base_calendar_id(ref('crm_meeting_sprintreview0'), '2011-09-01 13:01:00')
- self.write(cr, uid, [base_cal_id], {'name': 'Sprint Review for google modules', 'edit_all': True})
+ self.write(cr, uid, [base_cal_id], {'name': 'Sprint Review for google modules'})
-
I check whether all the records are edited or not.
-
diff --git a/addons/base_contact/__openerp__.py b/addons/base_contact/__openerp__.py
index 5537d6f91eb..f5969b6e309 100644
--- a/addons/base_contact/__openerp__.py
+++ b/addons/base_contact/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Base Contact',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'complexity': "expert",
'description': """
This module allows you to manage your contacts entirely.
diff --git a/addons/base_contact/i18n/ar.po b/addons/base_contact/i18n/ar.po
index 6264b1aa32d..e5610421181 100644
--- a/addons/base_contact/i18n/ar.po
+++ b/addons/base_contact/i18n/ar.po
@@ -7,104 +7,104 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2009-02-03 06:25+0000\n"
-"Last-Translator: <>\n"
+"PO-Revision-Date: 2011-12-03 15:19+0000\n"
+"Last-Translator: kifcaliph <kifcaliph@hotmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:04+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-04 04:43+0000\n"
+"X-Generator: Launchpad (build 14418)\n"
#. module: base_contact
#: field:res.partner.contact,title:0
msgid "Title"
-msgstr ""
+msgstr "اللقب"
#. module: base_contact
#: view:res.partner.address:0
msgid "# of Contacts"
-msgstr ""
+msgstr "عدد جهات الاتصال"
#. module: base_contact
#: field:res.partner.job,fax:0
msgid "Fax"
-msgstr ""
+msgstr "فاكس"
#. module: base_contact
#: view:base.contact.installer:0
msgid "title"
-msgstr ""
+msgstr "الاسم"
#. module: base_contact
#: help:res.partner.job,date_start:0
msgid "Start date of job(Joining Date)"
-msgstr ""
+msgstr "تاريخ الالتحاق بالوظيفة"
#. module: base_contact
#: view:base.contact.installer:0
msgid "Select the Option for Addresses Migration"
-msgstr ""
+msgstr "حدد الخيار لنقل العناوين"
#. module: base_contact
#: help:res.partner.job,function:0
msgid "Function of this contact with this partner"
-msgstr ""
+msgstr "مهمة جهة الاتصال هذه عند هذا الشريك"
#. module: base_contact
#: help:res.partner.job,state:0
msgid "Status of Address"
-msgstr ""
+msgstr "حالة العنوان"
#. module: base_contact
#: help:res.partner.job,name:0
msgid ""
"You may enter Address first,Partner will be linked "
"automatically if any."
-msgstr ""
+msgstr "يمكنك إدخال العنوان أولاً، وسيتمّ ربط الشريك تلقائياً إن وُجِد."
#. module: base_contact
#: help:res.partner.job,fax:0
msgid "Job FAX no."
-msgstr ""
+msgstr "فاكس العمل"
#. module: base_contact
#: field:res.partner.contact,mobile:0
msgid "Mobile"
-msgstr ""
+msgstr "الجوال"
#. module: base_contact
#: view:res.partner.contact:0
#: field:res.partner.contact,comment:0
msgid "Notes"
-msgstr ""
+msgstr "ملاحظات"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_contacts0
msgid "People you work with."
-msgstr ""
+msgstr "أشخاص تعمل معهم."
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_functiontoaddress0
msgid "Define functions and address."
-msgstr ""
+msgstr "تعريف المهام والعنوان"
#. module: base_contact
#: help:res.partner.job,date_stop:0
msgid "Last date of job"
-msgstr ""
+msgstr "تاريخ ترك الوظيفة"
#. module: base_contact
#: view:base.contact.installer:0
#: field:base.contact.installer,migrate:0
msgid "Migrate"
-msgstr ""
+msgstr "نقل"
#. module: base_contact
#: view:res.partner.contact:0
#: field:res.partner.job,name:0
msgid "Partner"
-msgstr ""
+msgstr "الشريك"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_function0
@@ -114,12 +114,12 @@ msgstr ""
#. module: base_contact
#: model:process.node,name:base_contact.process_node_partners0
msgid "Partners"
-msgstr ""
+msgstr "الشركاء"
#. module: base_contact
#: field:res.partner.job,state:0
msgid "State"
-msgstr ""
+msgstr "المحافظة"
#. module: base_contact
#: help:res.partner.contact,active:0
@@ -151,27 +151,42 @@ msgid ""
"an other object.\n"
" "
msgstr ""
+"\n"
+" تمكنك هذه الوحدة البرمجية من إدارة جهات الاتصال بشكل كامل.\n"
+" فهي تسمح لك بـتعرف:\n"
+" * جهات اتصال غير ذات صلة بشريك،\n"
+" * جهات اتصال ذات عناوين عمل متعددة (ربما لارتباطها بشركاء مختلفين)،\n"
+" * جهات اتصال ذات مهام مختلفة لكل عنوان من عناوين وظائفها\n"
+"\n"
+" كذلك تضيف هذه الوحدة البرمجية عناصر جديدة إلى القائمة تحت\n"
+" الشركاء / جهات الاتصال\n"
+" الشركاء / المهام\n"
+"\n"
+" تنبه إلى أن هذه الوحدة البرمجية تقوم بتحويل العناوين الموجودة مسبقاً إلى "
+"\"عناوين\" و \"جهات اتصال\"، مما يعني أن بعض حقول العناوين سيتم حذفها (مثل "
+"اسم جهة الاتصال) لأنه من المفترض أن يتم تعريفها في كائن آخر.\n"
+" "
#. module: base_contact
#: model:ir.module.module,shortdesc:base_contact.module_meta_information
#: model:process.process,name:base_contact.process_process_basecontactprocess0
msgid "Base Contact"
-msgstr ""
+msgstr "جهة الاتصال الأساسية"
#. module: base_contact
#: field:res.partner.job,date_stop:0
msgid "Date Stop"
-msgstr ""
+msgstr "تاريخ التوقف"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_res_partner_job
msgid "Contact's Jobs"
-msgstr ""
+msgstr "الوظائف"
#. module: base_contact
#: view:res.partner:0
msgid "Categories"
-msgstr ""
+msgstr "الفئات"
#. module: base_contact
#: help:res.partner.job,sequence_partner:0
@@ -179,70 +194,72 @@ msgid ""
"Order of importance of this job title in the list of job "
"title of the linked partner"
msgstr ""
+"ترتيب المسمى الوظيفي هذا حسب الأهمية بين المسميات الوظيغية المستخدمة لدى "
+"الشريك"
#. module: base_contact
#: field:res.partner.job,extension:0
msgid "Extension"
-msgstr ""
+msgstr "الامتداد"
#. module: base_contact
#: help:res.partner.job,extension:0
msgid "Internal/External extension phone number"
-msgstr ""
+msgstr "امتداد رقم الهاتف الداخلي/الخارجي"
#. module: base_contact
#: help:res.partner.job,phone:0
msgid "Job Phone no."
-msgstr ""
+msgstr "هاتف العمل"
#. module: base_contact
#: view:res.partner.contact:0
#: field:res.partner.contact,job_ids:0
msgid "Functions and Addresses"
-msgstr ""
+msgstr "المهام والعناوين"
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_contact
#: field:res.partner.job,contact_id:0
msgid "Contact"
-msgstr ""
+msgstr "جهة الاتصال"
#. module: base_contact
#: help:res.partner.job,email:0
msgid "Job E-Mail"
-msgstr ""
+msgstr "البريد الإلكتروني للعمل"
#. module: base_contact
#: field:res.partner.job,sequence_partner:0
msgid "Partner Seq."
-msgstr ""
+msgstr "رقم الشريك"
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_functiontoaddress0
msgid "Function to address"
-msgstr ""
+msgstr "مهمة إلى عنوان"
#. module: base_contact
#: field:base.contact.installer,progress:0
msgid "Configuration Progress"
-msgstr ""
+msgstr "سير الإعدادات"
#. module: base_contact
#: field:res.partner.contact,name:0
msgid "Last Name"
-msgstr ""
+msgstr "اسم العائلة"
#. module: base_contact
#: view:res.partner:0
#: view:res.partner.contact:0
msgid "Communication"
-msgstr ""
+msgstr "التواصل"
#. module: base_contact
#: field:base.contact.installer,config_logo:0
#: field:res.partner.contact,photo:0
msgid "Image"
-msgstr ""
+msgstr "صورة"
#. module: base_contact
#: selection:res.partner.job,state:0
@@ -252,7 +269,7 @@ msgstr ""
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_address
msgid "Partner Addresses"
-msgstr ""
+msgstr "عناوين الشريك"
#. module: base_contact
#: view:base.contact.installer:0
@@ -262,12 +279,12 @@ msgstr ""
#. module: base_contact
#: field:res.partner.job,sequence_contact:0
msgid "Contact Seq."
-msgstr ""
+msgstr "رقم جهة الاتصال"
#. module: base_contact
#: view:res.partner.address:0
msgid "Search Contact"
-msgstr ""
+msgstr "بحث جهة الإتصال"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form
@@ -277,7 +294,7 @@ msgstr ""
#: view:res.partner:0
#: field:res.partner.address,job_ids:0
msgid "Contacts"
-msgstr ""
+msgstr "جهات الاتصال"
#. module: base_contact
#: view:base.contact.installer:0
@@ -289,58 +306,58 @@ msgstr ""
#. module: base_contact
#: model:process.node,note:base_contact.process_node_addresses0
msgid "Working and private addresses."
-msgstr ""
+msgstr "عناوين العمل والعناوين الخاصة"
#. module: base_contact
#: help:res.partner.job,address_id:0
msgid "Address which is linked to the Partner"
-msgstr ""
+msgstr "العنوان المرتبط بالشريك"
#. module: base_contact
#: field:res.partner.job,function:0
msgid "Partner Function"
-msgstr ""
+msgstr "مهمة الشريك"
#. module: base_contact
#: help:res.partner.job,other:0
msgid "Additional phone field"
-msgstr ""
+msgstr "حقل هاتف إضافي"
#. module: base_contact
#: field:res.partner.contact,website:0
msgid "Website"
-msgstr ""
+msgstr "الموقع الإلكتروني"
#. module: base_contact
#: view:base.contact.installer:0
msgid "Otherwise these details will not be visible from address/contact."
-msgstr ""
+msgstr "وإلا فلن تظهر هذه التفاصيل في العنوان/جهة الاتصال."
#. module: base_contact
#: view:base.contact.installer:0
msgid "Configure"
-msgstr ""
+msgstr "ضبط الإعدادات"
#. module: base_contact
#: field:res.partner.contact,email:0
#: field:res.partner.job,email:0
msgid "E-Mail"
-msgstr ""
+msgstr "البريد الإلكتروني"
#. module: base_contact
#: model:ir.model,name:base_contact.model_base_contact_installer
msgid "base.contact.installer"
-msgstr ""
+msgstr "base.contact.installer"
#. module: base_contact
#: view:res.partner.job:0
msgid "Contact Functions"
-msgstr ""
+msgstr "مهام جهة الاتصال"
#. module: base_contact
#: field:res.partner.job,phone:0
msgid "Phone"
-msgstr ""
+msgstr "هاتف"
#. module: base_contact
#: view:base.contact.installer:0
@@ -350,164 +367,164 @@ msgstr ""
#. module: base_contact
#: field:res.partner.contact,active:0
msgid "Active"
-msgstr ""
+msgstr "نشِط"
#. module: base_contact
#: field:res.partner.contact,function:0
msgid "Main Function"
-msgstr ""
+msgstr "المهمة الرئيسية"
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_partnertoaddress0
msgid "Define partners and their addresses."
-msgstr ""
+msgstr "تعريف الشركاء وعناوينهم"
#. module: base_contact
#: view:res.partner.contact:0
msgid "Seq."
-msgstr ""
+msgstr "رقم"
#. module: base_contact
#: field:res.partner.contact,lang_id:0
msgid "Language"
-msgstr ""
+msgstr "اللغة"
#. module: base_contact
#: view:res.partner.contact:0
msgid "Extra Information"
-msgstr ""
+msgstr "معلومات إضافية"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_partners0
msgid "Companies you work with."
-msgstr ""
+msgstr "الشركات التي تتعامل معها."
#. module: base_contact
#: view:res.partner.contact:0
msgid "Partner Contact"
-msgstr ""
+msgstr "جهة الاتصال بالشريك"
#. module: base_contact
#: view:res.partner.contact:0
msgid "General"
-msgstr ""
+msgstr "عام"
#. module: base_contact
#: view:res.partner.contact:0
msgid "Photo"
-msgstr ""
+msgstr "صورة"
#. module: base_contact
#: field:res.partner.contact,birthdate:0
msgid "Birth Date"
-msgstr ""
+msgstr "تاريخ الميلاد"
#. module: base_contact
#: help:base.contact.installer,migrate:0
msgid "If you select this, all addresses will be migrated."
-msgstr ""
+msgstr "إذا اخترت هذا الخيار، سيتم نقل جميع العناوين."
#. module: base_contact
#: selection:res.partner.job,state:0
msgid "Current"
-msgstr ""
+msgstr "الحالي"
#. module: base_contact
#: field:res.partner.contact,first_name:0
msgid "First Name"
-msgstr ""
+msgstr "الاسم الأول"
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_job
msgid "Contact Partner Function"
-msgstr ""
+msgstr "مهمة الشريك"
#. module: base_contact
#: field:res.partner.job,other:0
msgid "Other"
-msgstr ""
+msgstr "غير ذلك"
#. module: base_contact
#: model:process.node,name:base_contact.process_node_function0
msgid "Function"
-msgstr ""
+msgstr "المهمة"
#. module: base_contact
#: field:res.partner.address,job_id:0
#: field:res.partner.contact,job_id:0
msgid "Main Job"
-msgstr ""
+msgstr "الوظيفة الرئيسية"
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_contacttofunction0
msgid "Defines contacts and functions."
-msgstr ""
+msgstr "تعريف جهات الاتصال والمهام."
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_contacttofunction0
msgid "Contact to function"
-msgstr ""
+msgstr "جهة اتصال إلى مهمة"
#. module: base_contact
#: view:res.partner:0
#: field:res.partner.job,address_id:0
msgid "Address"
-msgstr ""
+msgstr "العنوان"
#. module: base_contact
#: field:res.partner.contact,country_id:0
msgid "Nationality"
-msgstr ""
+msgstr "الجنسية"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs
msgid "Open Jobs"
-msgstr ""
+msgstr "الوظائف المفتوحة"
#. module: base_contact
#: field:base.contact.installer,name:0
msgid "Name"
-msgstr ""
+msgstr "الاسم"
#. module: base_contact
#: view:base.contact.installer:0
msgid "You can migrate Partner's current addresses to the contact."
-msgstr ""
+msgstr "يمكنك نقل العناوين الحالية للشريك إلى جهة الاتصال"
#. module: base_contact
#: field:res.partner.contact,partner_id:0
msgid "Main Employer"
-msgstr ""
+msgstr "صاحب العمل الرئيسي"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_base_contact_installer
msgid "Address Migration"
-msgstr ""
+msgstr "نقل العنوان"
#. module: base_contact
#: view:res.partner:0
msgid "Postal Address"
-msgstr ""
+msgstr "العنوان البريدي"
#. module: base_contact
#: model:process.node,name:base_contact.process_node_addresses0
#: view:res.partner:0
msgid "Addresses"
-msgstr ""
+msgstr "العناوين"
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_partnertoaddress0
msgid "Partner to address"
-msgstr ""
+msgstr "شريك إلى عنوان"
#. module: base_contact
#: field:res.partner.job,date_start:0
msgid "Date Start"
-msgstr ""
+msgstr "تاريخ البدء"
#. module: base_contact
#: help:res.partner.job,sequence_contact:0
msgid ""
"Order of importance of this address in the list of "
"addresses of the linked contact"
-msgstr ""
+msgstr "ترتيب هذا العنوان حسب الأهمية بين عناوين جهة الاتصال"
diff --git a/addons/base_crypt/__openerp__.py b/addons/base_crypt/__openerp__.py
index 23e29420036..fc85100b41c 100644
--- a/addons/base_crypt/__openerp__.py
+++ b/addons/base_crypt/__openerp__.py
@@ -19,12 +19,12 @@
#
##############################################################################
{
- "name" : "Base - Password Encryption",
+ "name" : "DB Password Encryption",
"version" : "1.1",
"author" : ['OpenERP SA', "FS3"],
"maintainer" : "OpenERP SA",
"website" : "http://www.openerp.com",
- "category" : "Hidden",
+ "category" : "Tools",
'complexity': "easy",
"description": """
Replaces cleartext passwords in the database with a secure hash
diff --git a/addons/base_iban/__openerp__.py b/addons/base_iban/__openerp__.py
index c9bc3866b4f..2692e63e55d 100644
--- a/addons/base_iban/__openerp__.py
+++ b/addons/base_iban/__openerp__.py
@@ -19,9 +19,9 @@
#
##############################################################################
{
- 'name': 'Create IBAN bank accounts',
+ 'name': 'IBAN Bank Accounts',
'version': '1.0',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "easy",
'description': """
This module installs the base for IBAN (International Bank Account Number) bank accounts and checks for its validity.
diff --git a/addons/base_module_doc_rst/__openerp__.py b/addons/base_module_doc_rst/__openerp__.py
index 22a3b39028b..5e3674269d7 100644
--- a/addons/base_module_doc_rst/__openerp__.py
+++ b/addons/base_module_doc_rst/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Module Technical Guide in Restructured Text ',
+ 'name': 'Generate Docs of Modules',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
This module generates the Technical Guides of selected modules in Restructured Text format (RST).
=================================================================================================
diff --git a/addons/base_module_quality/__openerp__.py b/addons/base_module_quality/__openerp__.py
index 02d09e0919d..df57b88fcc2 100644
--- a/addons/base_module_quality/__openerp__.py
+++ b/addons/base_module_quality/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Base module quality - To check the quality of other modules' ,
+ 'name': 'Analyse Module Quality' ,
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
The aim of this module is to check the quality of other modules.
================================================================
diff --git a/addons/base_module_quality/i18n/pt.po b/addons/base_module_quality/i18n/pt.po
index 67eebfb18bb..cd1f263dc5d 100644
--- a/addons/base_module_quality/i18n/pt.po
+++ b/addons/base_module_quality/i18n/pt.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2010-12-15 10:44+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"PO-Revision-Date: 2011-12-10 12:08+0000\n"
+"Last-Translator: Paulino Ascenção <Unknown>\n"
"Language-Team: Portuguese <pt@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: 2011-11-05 05:39+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-11 05:36+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: base_module_quality
#: code:addons/base_module_quality/object_test/object_test.py:187
@@ -152,7 +152,7 @@ msgstr "Objecto de Teste"
#. module: base_module_quality
#: view:module.quality.detail:0
msgid "Save Report"
-msgstr "Gravar Relatório"
+msgstr "Guardar relatório"
#. module: base_module_quality
#: code:addons/base_module_quality/wizard/module_quality_check.py:46
diff --git a/addons/base_module_record/__openerp__.py b/addons/base_module_record/__openerp__.py
index 3e1cf79792a..fdb576e0ddd 100644
--- a/addons/base_module_record/__openerp__.py
+++ b/addons/base_module_record/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Module Record',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
This module allows you to create a new module without any development.
======================================================================
diff --git a/addons/base_report_creator/security/ir.model.access.csv b/addons/base_report_creator/security/ir.model.access.csv
index 24e5a1c4cee..c9e78315b67 100644
--- a/addons/base_report_creator/security/ir.model.access.csv
+++ b/addons/base_report_creator/security/ir.model.access.csv
@@ -2,3 +2,4 @@
"access_base_report_creator_report","base_report_creator.report","model_base_report_creator_report","base.group_system",1,1,1,1
"access_base_report_creator_report_fields","base_report_creator.report.fields","model_base_report_creator_report_fields","base.group_system",1,1,1,1
"access_base_report_creator_report_filter","base_report_creator.report.filter","model_base_report_creator_report_filter","base.group_system",1,1,1,1
+"access_base_report_creator_report_result","base_report_creator.report.result","model_base_report_creator_report_result","base.group_system",1,1,1,1
diff --git a/addons/base_setup/__openerp__.py b/addons/base_setup/__openerp__.py
index 4417ebf2439..bd62a097934 100644
--- a/addons/base_setup/__openerp__.py
+++ b/addons/base_setup/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Base Setup',
+ 'name': 'Initial Setup Tools',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
This module helps to configure the system at the installation of a new database.
diff --git a/addons/base_setup/base_setup.py b/addons/base_setup/base_setup.py
index ecb9b5bf3c4..c10dee7b14b 100644
--- a/addons/base_setup/base_setup.py
+++ b/addons/base_setup/base_setup.py
@@ -28,290 +28,6 @@ from osv import fields, osv
from tools.translate import _
from lxml import etree
-#Application and feature chooser, this could be done by introspecting ir.modules
-DEFAULT_MODULES = {
- 'Customer Relationship Management' : ['crm',],
- 'Sales Management' : ['sale',],
- 'Project Management' : ['project',],
- 'Knowledge Management' : ['document',],
- 'Warehouse Management' : ['stock',],
- 'Manufacturing' : ['mrp'],
- 'Accounting & Finance' : ['account'],
- 'Purchase Management' : ['purchase'],
- 'Human Resources' : ['hr',],
- 'Point of Sale' : ['point_of_sale',],
- 'Marketing' : ['marketing',],
-}
-
-class base_setup_installer(osv.osv_memory):
- _name = 'base.setup.installer'
- _inherit = 'res.config.installer'
-
- _columns = {
- 'selection' : fields.text('Selection'),
- }
-
- def fields_get(self, cr, uid, fields=None, context=None):
- if context is None:
- context = {}
- if fields is None:
- fields = {}
-
- fields = {}
- category_proxy = self.pool.get('ir.module.category')
- domain = [('parent_id', '=', False),
- ('name', '!=', 'Uncategorized'),
- ('visible', '=', True)]
- category_ids = category_proxy.search(cr, uid, domain, context=context)
- for category in category_proxy.browse(cr, uid, category_ids, context=context):
- category_name = 'category_%d' % (category.id,)
- fields[category_name] = {
- 'type' : 'boolean',
- 'string' : category.name,
- 'name' : category_name,
- 'help' : category.description,
- }
-
- module_proxy = self.pool.get('ir.module.module')
- module_ids = module_proxy.search(cr, uid, [], context=context)
- for module in module_proxy.browse(cr, uid, module_ids, context=context):
- module_name = 'module_%d' % (module.id,)
- module_is_installed = module.state == 'installed'
-
- fields[module_name] = {
- 'type' : 'boolean',
- 'string' : module.shortdesc,
- 'name' : module_name,
- 'help' : module.description,
- }
-
- return fields
-
- def default_get(self, cr, uid, fields=None, context=None):
- if context is None:
- context = {}
- if fields is None:
- fields = {}
-
- result = {}
-
- if 'dont_compute_virtual_attributes' not in context:
- module_proxy = self.pool.get('ir.module.module')
- module_ids = module_proxy.search(cr, uid, [], context=context)
- for module in module_proxy.browse(cr, uid, module_ids, context=context):
- result['module_%d' % (module.id,)] = module.state == 'installed'
-
- cat_proxy = self.pool.get('ir.module.category')
- cat_ids = cat_proxy.search(cr, uid, [], context=context)
- for cat in cat_proxy.browse(cr, uid, cat_ids, context=context):
- m = DEFAULT_MODULES.get(cat.name,[])
- r = module_proxy.search(cr, uid, [('state','=','installed'),('name','in',m)])
-
- result['category_%d' % (cat.id,)] = bool(r) and (len(r) == len(m))
-
- return result
-
- def fields_view_get(self, cr, uid, view_id=None, view_type='from', context=None, toolbar=False, submenu=False):
- def in_extended_view_group(cr, uid, context=None):
- try:
- model, group_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'group_extended')
- except ValueError:
- return False
- return group_id in self.pool.get('res.users').read(cr, uid, uid, ['groups_id'], context=context)['groups_id']
-
- result = super(base_setup_installer, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu)
-
- module_category_proxy = self.pool.get('ir.module.category')
- domain = [('parent_id', '=', False),
- ('name', '!=', 'Uncategorized'),
- ('visible', '=', True)]
- module_category_ids = module_category_proxy.search(cr, uid, domain, context=context, order='sequence asc')
-
- arch = ['<form string="%s">' % _('Automatic Base Setup')]
- arch.append('<separator string="%s" colspan="4" />' % _('Install Applications'))
- module_proxy = self.pool.get('ir.module.module')
-
- extended_view = in_extended_view_group(cr, uid, context=context)
-
- for module_category in module_category_proxy.browse(cr, uid, module_category_ids, context=context):
- domain = [('category_id', '=', module_category.id)]
- if not extended_view:
- domain.append(('complexity', '!=', 'expert'))
-
- modules = module_proxy.browse(cr, uid, module_proxy.search(cr, uid, domain, context=context), context=context)
- if not modules:
- continue
-
- m = DEFAULT_MODULES.get(module_category.name, [])
- r = module_proxy.search(cr, uid, [('state', '=', 'installed'),('name', 'in', m)], context=context)
- readonly = bool(r)
-
- attributes = {
- 'name' : 'category_%d' % (module_category.id,),
- 'on_change' : 'on_change_%s_%d(category_%d)' % ('category', module_category.id, module_category.id,),
- }
- if readonly:
- attributes['modifiers'] = simplejson.dumps({'readonly' : True})
-
- arch.append("""<field %s />""" % (" ".join(["%s='%s'" % (key, value,)
- for key, value in attributes.iteritems()]),))
-
- # Compute the modules to show
- for module_category in module_category_proxy.browse(cr, uid, module_category_ids, context=context):
- domain = [('category_id', '=', module_category.id)]
-
- if not extended_view:
- domain.append(('complexity', '!=', 'expert'))
-
- default_modules = DEFAULT_MODULES.get(module_category.name, False)
- if default_modules:
- domain.append(('name', 'not in', default_modules))
-
- modules = module_proxy.browse(cr, uid, module_proxy.search(cr, uid, domain, context=context), context=context)
-
- if not modules:
- continue
-
- modifiers = {
- 'invisible' : [('category_%d' % (module_category.id), '=', False)],
- }
- module_modifiers = dict(modifiers)
-
- arch.append("""<separator string="%s Features" colspan="4" modifiers='%s'/>""" % (
- cgi.escape(module_category.name),
- simplejson.dumps(modifiers))
- )
-
- for module in modules:
- #module_modifiers['readonly'] = module.state == 'installed'
-
- arch.append("""<field name="module_%d" modifiers='%s' />""" % (
- module.id,
- simplejson.dumps(module_modifiers))
- )
-
- arch.append(
- '<separator colspan="4" />'
- '<group colspan="4" col="2">'
- '<button special="cancel" string="Cancel" icon="gtk-cancel" />'
- '<button string="Install Modules" type="object" name="apply_cb" icon="gtk-apply" />'
- '</group>'
- )
-
- arch.append('</form>')
-
- result['arch'] = ''.join(arch)
- return result
-
- def __getattr__(self, name):
- if name.startswith('on_change_category_'):
- def proxy(cr, uid, ids, value, context=None):
- item = 'category_%s' % name[len('on_change_category_'):]
- return self._on_change_selection(cr, uid, ids, item, value, context=context)
- return proxy
- return getattr(super(base_setup_installer, self), name)
-
- def _on_change_selection(self, cr, uid, ids, item, value, context=None):
- if not isinstance(item, basestring) or not value:
- return {}
-
- if item.startswith('category_') or item.startswith('module_'):
- object_name, identifier = item.split('_')
- else:
- return {}
-
- values = {
- }
-
- #if object_name == 'category':
- # module_ids = self.pool.get('ir.module.module').search(cr, uid, [('category_id', '=', int(identifier))], context=context)
- # for module_id in module_ids:
- # values['module_%d' % module_id] = 1
-
- return {'value': values}
-
- def create(self, cr, uid, values, context=None):
- to_install = {'categories' : [], 'modules' : []}
-
- for key, value in values.iteritems():
- if value == 1 and (key.startswith('module_') or key.startswith('category_')):
- kind, identifier = key.split('_')
- if kind == 'category':
- to_install['categories'].append(long(identifier))
- if kind == 'module':
- to_install['modules'].append(long(identifier))
-
- values = {
- 'selection' : simplejson.dumps(to_install),
- }
- context.update(dont_compute_virtual_attributes=True)
- return super(base_setup_installer, self).create(cr, uid, values, context=context)
-
- def apply_cb(self, cr, uid, ids, context=None):
- category_proxy = self.pool.get('ir.module.category')
- for installer in self.browse(cr, uid, ids, context=context):
- to_install = simplejson.loads(installer.selection)
-
- proxy = self.pool.get('ir.module.module')
-
- module_ids = proxy.search(cr, uid, [('id', 'in', to_install['modules'])], context=context)
- modules = set(record['name']
- for record in proxy.read(cr, uid, module_ids, ['name'], context=context))
-
- category_ids = category_proxy.search(cr, uid, [('id', 'in', to_install['categories'])], context=context)
- selected_categories = set(record['name']
- for record in category_proxy.read(cr, uid, category_ids, ['name'], context=context))
-
- # FIXME: Use a workaround, but can do better
- for category_name, default_modules in DEFAULT_MODULES.iteritems():
- if category_name in selected_categories:
- modules.update(default_modules)
-
- # Special Cases:
- # * project_mrp: the dependencies are sale, project, procurement, mrp_jit
- if 'sale' in modules and 'project' in modules:
- modules.add('project_mrp')
-
- need_update = False
- module_ids = proxy.search(cr, uid, [('name', 'in', list(modules))], context=context)
- if module_ids:
- proxy.state_update(cr, uid, module_ids, 'to install', ['uninstalled'], context=context)
- need_update = True
-
- category_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'module_category_hidden_link')
- while True and category_id:
- cr.execute("select id, name from ir_module_module m where category_id = %s \
- and (select count(d.id) from ir_module_module_dependency d \
- where d.module_id = m.id) = (select count(d.id) from \
- ir_module_module_dependency d inner join ir_module_module m2 on d.name = m2.name \
- where d.module_id=m.id and m2.state in %s ) and state = %s",
- (category_id[1], ('installed', 'to install', 'to upgrade', ), 'uninstalled',))
- inner_modules = [name for _, name in cr.fetchall()]
-
- module_ids = proxy.search(cr, uid, [('name', 'in', inner_modules)], context=context)
- if not module_ids:
- break
-
- modules.update(inner_modules)
-
- proxy.state_update(cr, uid, module_ids, 'to install', ['uninstalled'], context=context)
- need_update = True
-
-
- domain = [('name', 'in', list(modules)),
- ('state', '=', 'installed')]
- for module in proxy.browse(cr, uid, proxy.search(cr, uid, domain, context=context), context):
- cr.execute("update ir_actions_todo set state='open' \
- from ir_model_data as data where data.res_id = ir_actions_todo.id \
- and ir_actions_todo.type='special'\
- and data.model = 'ir.actions.todo' and data.module=%s", (module.name, ))
-
- if need_update:
- cr.commit()
- self.pool = pooler.restart_pool(cr.dbname, update_module=True)[1]
-
- return self.pool.get('res.config').next(cr, uid, [], context=context)
-
#Migrate data from another application Conf wiz
class migrade_application_installer_modules(osv.osv_memory):
diff --git a/addons/base_setup/base_setup_views.xml b/addons/base_setup/base_setup_views.xml
index d3536b10cf1..9450057f53f 100644
--- a/addons/base_setup/base_setup_views.xml
+++ b/addons/base_setup/base_setup_views.xml
@@ -1,36 +1,6 @@
<openerp>
<data>
- <record model="ir.actions.act_window" id="action_base_setup_installer_beta">
- <field name="name">Install Applications</field>
- <field name="res_model">base.setup.installer</field>
- <field name="view_type">form</field>
- <field name="view_mode">form</field>
- <field name="target">new</field>
- </record>
-
-
- <record id="base_setup_installer_todo" model="ir.actions.todo">
- <field name="action_id" ref="action_base_setup_installer_beta" />
- <field name="category_id" ref="base.category_administration_config"/>
- <field name="sequence">2</field>
- </record>
-
- <record id="action_start_configurator" model="ir.actions.server">
- <field name="name">Start Configuration</field>
- <field name="model_id" ref="base.model_ir_actions_todo"/>
- <field name="state">code</field>
- <field name="code" eval="'# obj is a browse_record and will provide stupid ids to method\n' 'action = pool.get(\'ir.actions.todo\').action_launch(cr, uid, ' + str([ref('base_setup_installer_todo')]) + ', context=context)'"/>
- </record>
-
- <menuitem name="Add More Features" action="action_start_configurator" id="menu_view_base_module_configuration" parent="base.menu_config" type="server" icon="STOCK_EXECUTE" sequence="1"/>
- <record id="ir_ui_view_sc_configuration" model="ir.ui.view_sc">
- <field name="name">Add More Features</field>
- <field name="resource">ir.ui.menu</field>
- <field name="user_id" ref="base.user_root"/>
- <field name="res_id" ref="menu_view_base_module_configuration" />
- </record>
-
<!-- Import or create customers configartion view -->
<record id="action_import_create_installer" model="ir.actions.act_window">
<field name="name">Create or Import Customers</field>
@@ -162,6 +132,7 @@
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="context">{'res_id': user.company_id.id}</field>
+ <field name="help">Fill in your company data (address, logo, bank accounts) so that it's printed on your reports. You can click on the button 'Preview Header' in order to check the header/footer of PDF documents.</field>
</record>
<record id="base_setup_company_todo" model="ir.actions.todo">
<field name="action_id" ref="action_base_setup_company"/>
diff --git a/addons/base_synchro/__openerp__.py b/addons/base_synchro/__openerp__.py
index fba793e0473..a9fd08bccf6 100644
--- a/addons/base_synchro/__openerp__.py
+++ b/addons/base_synchro/__openerp__.py
@@ -20,10 +20,10 @@
##############################################################################
{
- "name":"Server Object Synchronization",
+ "name":"Multi-DB Synchronization",
"version":"0.1",
"author":"OpenERP SA",
- "category":"Hidden",
+ "category":"Tools",
"description": """
Synchronization with all objects.
=================================
diff --git a/addons/base_tools/__openerp__.py b/addons/base_tools/__openerp__.py
index 6fff6c3c207..d3c8a4716e0 100644
--- a/addons/base_tools/__openerp__.py
+++ b/addons/base_tools/__openerp__.py
@@ -4,7 +4,7 @@
"author": "OpenERP SA",
"version": "1.0",
"depends": ["base"],
- "category" : "Hidden",
+ "category" : "Tools",
'complexity': "easy",
'description': """
Common base for tools modules.
diff --git a/addons/base_tools/i18n/pt.po b/addons/base_tools/i18n/pt.po
index 69b6b9c4459..badfa6acc16 100644
--- a/addons/base_tools/i18n/pt.po
+++ b/addons/base_tools/i18n/pt.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
-"PO-Revision-Date: 2011-05-17 12:07+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2011-12-10 12:08+0000\n"
+"Last-Translator: Paulino Ascenção <Unknown>\n"
"Language-Team: Portuguese <pt@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: 2011-11-05 05:56+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-11 05:36+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: base_tools
#: model:ir.module.module,shortdesc:base_tools.module_meta_information
diff --git a/addons/base_vat/__openerp__.py b/addons/base_vat/__openerp__.py
index 147eb47b9e2..858b5c2c070 100644
--- a/addons/base_vat/__openerp__.py
+++ b/addons/base_vat/__openerp__.py
@@ -22,7 +22,7 @@
{
'name': 'VAT Number Validation',
'version': '1.0',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'complexity': "easy",
'description': """
VAT validation for Partners' VAT numbers
diff --git a/addons/board/__openerp__.py b/addons/board/__openerp__.py
index 6cb0e3ecce7..afb8cc42a95 100644
--- a/addons/board/__openerp__.py
+++ b/addons/board/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Dashboard Creator',
+ 'name': 'Dashboards',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "normal",
'description': """
Lets the user create a custom dashboard.
diff --git a/addons/caldav/__openerp__.py b/addons/caldav/__openerp__.py
index 53bee3d0e94..edf852e4d5e 100644
--- a/addons/caldav/__openerp__.py
+++ b/addons/caldav/__openerp__.py
@@ -49,7 +49,7 @@ To access OpenERP Calendar using WebCal to remote site use the URL like:
DATABASE_NAME: Name of database on which OpenERP Calendar is created
CALENDAR_NAME: Name of calendar to access
""",
- 'category': 'Hidden',
+ 'category': 'Tools',
"author" : "OpenERP SA",
'website': 'http://www.openerp.com',
"init_xml" : ["caldav_data.xml"],
diff --git a/addons/claim_from_delivery/__openerp__.py b/addons/claim_from_delivery/__openerp__.py
index c3eec37a229..178da7d1913 100644
--- a/addons/claim_from_delivery/__openerp__.py
+++ b/addons/claim_from_delivery/__openerp__.py
@@ -21,7 +21,7 @@
"name" : "Claim from Delivery",
"version" : "1.0",
"author" : "OpenERP SA",
- "category" : "Hidden",
+ 'category': 'Sales Management',
"depends" : ["base", "crm_claim", "stock"],
"init_xml" : [],
"demo_xml" : [],
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index a98a0cbc6a4..29a1f6107b3 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'Customer & Supplier Relationship Management',
+ 'name': 'Customer Relationship Management',
'version': '1.0',
'category': 'Customer Relationship Management',
'complexity': "easy",
@@ -61,7 +61,8 @@ Creates a dashboard for CRM that includes:
'mail',
'base_calendar',
'resource',
- 'board'
+ 'board',
+ 'fetchmail'
],
'init_xml': [
'crm_data.xml',
@@ -128,6 +129,7 @@ Creates a dashboard for CRM that includes:
'test/ui/delete_lead.yml'
],
'installable': True,
+ 'application': True,
'active': False,
'certificate': '0079056041421',
'images': ['images/sale_crm_crm_dashboard.png', 'images/crm_dashboard.jpeg','images/leads.jpeg','images/meetings.jpeg','images/opportunities.jpeg','images/outbound_calls.jpeg','images/stages.jpeg'],
diff --git a/addons/crm/board_crm_view.xml b/addons/crm/board_crm_view.xml
index 7b80feffd30..5d64bf20093 100644
--- a/addons/crm/board_crm_view.xml
+++ b/addons/crm/board_crm_view.xml
@@ -83,54 +83,30 @@
<field name="act_window_id" ref="act_my_oppor"/>
</record>
- <record model="ir.actions.act_window" id="act_my_meetings">
- <field name="name">My Meetings</field>
- <field name="res_model">crm.meeting</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="view_id" ref="crm.crm_case_tree_view_meet"/>
- <field name="domain">[('user_id','=',uid),('state','not in',('cancel','done'))]</field>
- <field name="context">{'default_user_id': uid}</field>
- </record>
-
<record model="ir.actions.act_window" id="act_my_oppor_stage">
<field name="name">Planned Revenue By Stage</field>
<field name="res_model">crm.lead.report</field>
<field name="view_type">form</field>
<field name="view_mode">graph,tree,form</field>
<field name="view_id" ref="view_report_crm_oppor_graph"/>
- <field name="domain">['&amp;', '&amp;', ('user_id','=',uid), ('type', '=', 'opportunity'), '!' , '&amp;', ('state', '=', 'done'), ('date_closed','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]</field>
+ <field name="domain">[('user_id','=',uid), ('type', '=', 'opportunity'), ('state','in',('draft','open','done','pending')), '!', '&amp;', ('state', '=', 'done'), ('date_closed','&gt;=',datetime.date.today().strftime('%Y-%m-01'))]</field>
<field name="context">{'search_default_Stage':1}</field>
</record>
- <record model="ir.actions.act_window" id="act_sales_pipeline">
- <field name="name">My Win/Lost Ratio for The Last Year</field>
- <field name="res_model">crm.lead.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">graph,tree,form</field>
- <field name="view_id" ref="view_crm_opportunity_user_graph1"/>
- <field name="domain">['&amp;', ('user_id', '=', uid),'&amp;', ('state', '=', 'done') , '&amp;', ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%Y-%m-%d')), ('type', '=', 'opportunity')]</field>
- </record>
-
<record model="ir.ui.view" id="board_crm_form">
<field name="name">Sales Dashboard Form</field>
<field name="model">board.board</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Sales Dashboard">
- <board style="1-1">
+ <board style="2-1">
<column>
- <action string="My Open Opportunities"
- name="%(act_my_oppor)d"/>
- <action
- string="My Meetings"
- name="%(act_my_meetings)d"/>
+ <action string="My Opportunities"
+ name="%(act_my_oppor)d" creatable="true"/>
</column>
<column>
<action string="My Planned Revenues by Stage"
name="%(act_my_oppor_stage)d"/>
- <action string="My Win/Lost Ratio"
- name="%(act_sales_pipeline)d"/>
</column>
</board>
</form>
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index 49272c97576..216a898bc88 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -748,10 +748,11 @@ class crm_lead(crm_case, osv.osv):
self.write(cr, uid, [res_id], vals, context)
return res_id
- def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None):
+ def message_update(self, cr, uid, ids, msg, vals=None, default_act='pending', context=None):
if isinstance(ids, (str, int, long)):
ids = [ids]
-
+ if vals == None:
+ vals = {}
super(crm_lead, self).message_update(cr, uid, ids, msg, context=context)
if msg.get('priority') in dict(crm.AVAILABLE_PRIORITIES):
diff --git a/addons/crm/crm_lead_menu.xml b/addons/crm/crm_lead_menu.xml
index 9b0581844a5..2ec2db18509 100644
--- a/addons/crm/crm_lead_menu.xml
+++ b/addons/crm/crm_lead_menu.xml
@@ -31,7 +31,6 @@
parent="base.menu_base_partner" sequence="1" />
<menuitem parent="base.menu_sales" name="Leads"
- groups="base.group_extended"
id="menu_crm_case_categ0_act_leads"
action="crm_case_category_act_leads_all" sequence="1" />
@@ -60,16 +59,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">tree,form,graph,calendar,kanban</field>
+ <field name="view_mode">kanban,tree,form,graph,calendar</field>
<field name="domain">[('type','=','opportunity')]</field>
<field name="context">{'search_default_user_id':uid,'search_default_new':1, 'search_default_open':1, 'search_default_section_id':section_id, 'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
- <field name="view_id" ref="crm_case_tree_view_oppor"/>
+ <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>
</record>
+ <record model="ir.actions.act_window.view" id="action_crm_tag_kanban_view_oppor11">
+ <field name="sequence" eval="0"/>
+ <field name="view_mode">kanban</field>
+ <field name="view_id" ref="crm_case_kanban_view_leads"/>
+ <field name="act_window_id" ref="crm_case_category_act_oppor11"/>
+ </record>
+
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_view_oppor11">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml
index 6527fa4cf25..e9c77b3bdc6 100644
--- a/addons/crm/crm_lead_view.xml
+++ b/addons/crm/crm_lead_view.xml
@@ -147,7 +147,7 @@
<group colspan="4">
<field colspan="4" name="email_cc" widget="char" size="512"/>
</group>
- <field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
+ <field name="message_ids" colspan="4" nolabel="1" mode="tree" readonly="1">
<tree string="History">
<field name="display_text" string="History Information"/>
<field name="email_from" invisible="1"/>
@@ -157,35 +157,6 @@
context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
</tree>
- <form string="History">
- <group col="4" colspan="4">
- <group col="2" colspan="2" attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="email_from"/>
- <field name="email_to" size="512"/>
- </group>
- <group col="2" colspan="2">
- <field name="date"/>
- <field name="email_cc" size="512" attrs="{'invisible': [('email_from', '=', False)]}"/>
- </group>
- <field name="subject" colspan="4" widget="char" attrs="{'invisible': [('email_from', '=', False)]}" size="512"/>
- <field name="display_text" colspan="4" attrs="{'invisible': [('email_from', '!=', False)]}"/>
- </group>
- <notebook colspan="4">
- <page string="Details" attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="body_text" colspan="4" nolabel="1"/>
- <group attrs="{'invisible': [('email_from', '=', False)]}">
- <button colspan="4" string="Reply"
- name="%(mail.action_email_compose_message_wizard)d"
- context="{'mail.compose.message.mode':'reply'}"
- icon="terp-mail-replied" type="action"/>
- </group>
-
- </page>
- <page string="Attachments" attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
- </page>
- </notebook>
- </form>
</field>
<button string="Add Internal Note"
name="%(crm.action_crm_add_note)d"
@@ -578,7 +549,7 @@
<group colspan="4">
<field colspan="4" name="email_cc" widget="char" size="512"/>
</group>
- <field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
+ <field name="message_ids" colspan="4" nolabel="1" mode="tree" readonly="1">
<tree string="History">
<field name="display_text" string="History Information"/>
<field name="email_from" invisible="1"/>
@@ -588,34 +559,6 @@
context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
</tree>
- <form string="History">
- <group col="4" colspan="4">
- <group col="2" colspan="2" attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="email_from"/>
- <field name="email_to" size="512"/>
- </group>
- <group col="2" colspan="2">
- <field name="date"/>
- <field name="email_cc" size="512" attrs="{'invisible': [('email_from', '=', False)]}"/>
- </group>
- <field name="subject" colspan="4" widget="char" attrs="{'invisible': [('email_from', '=', False)]}" size="512"/>
- <field name="display_text" colspan="4" attrs="{'invisible': [('email_from', '!=', False)]}"/>
- </group>
- <notebook colspan="4">
- <page string="Details" attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="body_text" colspan="4" nolabel="1"/>
- <group attrs="{'invisible': [('email_from', '=', False)]}">
- <button colspan="4" string="Reply"
- name="%(mail.action_email_compose_message_wizard)d"
- context="{'mail.compose.message.mode':'reply'}"
- icon="terp-mail-replied" type="action"/>
- </group>
- </page>
- <page string="Attachments" attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
- </page>
- </notebook>
- </form>
</field>
<button string="Add Internal Note"
name="%(crm.action_crm_add_note)d"
diff --git a/addons/crm/crm_meeting_menu.xml b/addons/crm/crm_meeting_menu.xml
index 19ca9266332..338579af88f 100644
--- a/addons/crm/crm_meeting_menu.xml
+++ b/addons/crm/crm_meeting_menu.xml
@@ -51,7 +51,7 @@
<field name="res_model">crm.meeting</field>
<field name="view_mode">calendar,tree,form,gantt</field>
<field name="view_id" ref="crm_case_calendar_view_meet"/>
- <field name="context">{"search_default_user_id":uid, 'search_default_section_id': section_id, 'virtual_id' : True}</field>
+ <field name="context">{"search_default_user_id":uid, 'search_default_section_id': section_id}</field>
<field name="search_view_id" ref="view_crm_case_meetings_filter"/>
<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>
diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml
index d35300b62b5..c04e00e5fcc 100644
--- a/addons/crm/crm_meeting_view.xml
+++ b/addons/crm/crm_meeting_view.xml
@@ -45,7 +45,6 @@
widget="selection" />
<group colspan="2" col="4" attrs="{'readonly': ['|', ('recurrent_uid','!=',False), ('state','=','done')]}">
<field name="recurrency"/>
- <field name="edit_all" attrs="{'invisible':[('recurrency','=', False)]}" />
</group>
</group>
<notebook colspan="4">
@@ -67,7 +66,7 @@
<field name="email_from"/>
</group><group col="2" colspan="2">
<separator colspan="2" string="Visibility"/>
- <field name="class" string="Privacy"/>
+ <field name="class" string="Privacy" groups="base.group_extended"/>
<field name="show_as" string="Show time as" groups="base.group_extended"/>
<field name="rrule" invisible="1" readonly="1"/>
<field name="recurrent_id" invisible="1"/>
@@ -231,24 +230,11 @@
<tree string="Meetings"
colors="red:state=='open';black:state in ('draft', 'cancel','done','pending')">
<field name="name" string="Subject" />
- <field name="date" string="Start Date" />
+ <field name="user_id"/>
+ <field name="date"/>
<field name="duration" />
<field name="partner_id" string="Partner" />
<field name="location" />
- <field name="categ_id" string="Meeting Type"/>
- <field name="class" string="Privacy"/>
- <field name="state" groups="base.group_extended"/>
- <field name="user_id" invisible="1"/>
- <field name="show_as" invisible="1" string="Show time as"/>
- <button name="case_reset" string="Reset to Unconfirmed"
- states="open,done" type="object"
- icon="gtk-convert" />
- <button name="case_open" string="Confirm"
- states="draft" type="object"
- icon="gtk-go-forward" />
- <button name="case_close" string="Done"
- states="open" type="object"
- icon="gtk-jump-to" />
</tree>
</field>
</record>
@@ -294,14 +280,18 @@
<field name="arch" type="xml">
<search string="Search Meetings">
<group>
- <field name="name" string="Subject"/>
- <field name="partner_id"/>
- <field name="section_id" widget="selection">
+ <field name="name" string="Meeting / Partner"
+ filter_domain="['|', ('name','ilike',self), ('partner_id','ilike', self)]"/>
+ <field name="user_id" groups="base.group_extended">
+ <filter icon="terp-personal" groups="base.group_extended"
+ domain="[('user_id','=',uid)]"
+ help="My Meetings" />
+ </field>
+ <field name="section_id" widget="selection" groups="base.group_extended">
<filter icon="terp-personal+" groups="base.group_extended"
- domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
+ domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="My Sales Team(s)" />
</field>
- <field name="user_id"/>
</group>
</search>
</field>
diff --git a/addons/crm/security/crm_security.xml b/addons/crm/security/crm_security.xml
index 8ac32086cfd..3ee9c9e242f 100644
--- a/addons/crm/security/crm_security.xml
+++ b/addons/crm/security/crm_security.xml
@@ -40,6 +40,13 @@
<record model="ir.ui.menu" id="base.menu_base_config">
<field eval="[(4, ref('base.group_sale_manager'))]" name="groups_id"/>
</record>
-
+
+ <record id="crm_meeting_global" model="ir.rule">
+ <field name="name">Hide Private Meetings</field>
+ <field ref="model_crm_meeting" name="model_id"/>
+ <field eval="1" name="global"/>
+ <field name="domain_force">['|',('user_id','=',user.id),('show_as','=','busy')]</field>
+ </record>
+
</data>
</openerp>
diff --git a/addons/crm/wizard/crm_opportunity_to_phonecall.py b/addons/crm/wizard/crm_opportunity_to_phonecall.py
index a45c87b1a6f..630f9a7e889 100644
--- a/addons/crm/wizard/crm_opportunity_to_phonecall.py
+++ b/addons/crm/wizard/crm_opportunity_to_phonecall.py
@@ -21,8 +21,6 @@
from osv import osv, fields
from tools.translate import _
-import pprint
-pp = pprint.PrettyPrinter(indent=4)
import time
diff --git a/addons/crm_caldav/i18n/ar.po b/addons/crm_caldav/i18n/ar.po
new file mode 100644
index 00000000000..7865b4a8797
--- /dev/null
+++ b/addons/crm_caldav/i18n/ar.po
@@ -0,0 +1,46 @@
+# Arabic translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-12-05 08:17+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Arabic <ar@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: 2011-12-06 05:28+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
+
+#. module: crm_caldav
+#: model:ir.actions.act_window,name:crm_caldav.action_caldav_browse
+msgid "Caldav Browse"
+msgstr ""
+
+#. module: crm_caldav
+#: model:ir.model,name:crm_caldav.model_crm_meeting
+msgid "Meeting"
+msgstr "إجتماعات"
+
+#. module: crm_caldav
+#: model:ir.module.module,shortdesc:crm_caldav.module_meta_information
+msgid "Extended Module to Add CalDav feature on Meeting"
+msgstr ""
+
+#. module: crm_caldav
+#: model:ir.module.module,description:crm_caldav.module_meta_information
+msgid ""
+"\n"
+" New Features in Meeting:\n"
+" * Share meeting with other calendar clients like sunbird\n"
+msgstr ""
+
+#. module: crm_caldav
+#: model:ir.ui.menu,name:crm_caldav.menu_caldav_browse
+msgid "Synchronyze this calendar"
+msgstr ""
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index 7ec18da18eb..08237d06094 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -151,7 +151,7 @@
<group colspan="4">
<field colspan="4" name="email_cc" string="Global CC" widget="char"/>
</group>
- <field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
+ <field name="message_ids" colspan="4" nolabel="1" mode="tree" readonly="1">
<tree string="History">
<field name="display_text" string="History Information"/>
<field name="email_from" invisible="1"/>
@@ -161,32 +161,6 @@
context="{'mail.compose.message.mode':'reply'}"
icon="terp-mail-replied" type="action" />
</tree>
- <form string="Communication &amp; History">
- <group col="4" colspan="4">
- <field name="email_from"/>
- <field name="date"/>
- <field name="email_to" widget="char" size="512"/>
- <field name="email_cc" widget="char" size="512"/>
- <field name="subject" colspan="4" widget="char" size="512"/>
- </group>
- <notebook colspan="4">
- <page string="Details">
- <group attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="body_text" colspan="4" nolabel="1" height="250"/>
- <button colspan="4" string="Reply"
- name="%(mail.action_email_compose_message_wizard)d"
- context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
- icon="terp-mail-replied" type="action"/>
- </group>
- <group attrs="{'invisible': [('email_from', '!=', False)]}">
- <field name="display_text" colspan="4" nolabel="1" height="250"/>
- </group>
- </page>
- <page string="Attachments">
- <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
- </page>
- </notebook>
- </form>
</field>
<button string="Add Internal Note"
name="%(crm.action_crm_add_note)d"
diff --git a/addons/crm_fundraising/crm_fundraising_view.xml b/addons/crm_fundraising/crm_fundraising_view.xml
index 67f82bddd22..cc58b793c17 100644
--- a/addons/crm_fundraising/crm_fundraising_view.xml
+++ b/addons/crm_fundraising/crm_fundraising_view.xml
@@ -136,7 +136,7 @@
<group colspan="4">
<field colspan="4" name="email_cc" string="Global CC" widget="char"/>
</group>
- <field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
+ <field name="message_ids" colspan="4" nolabel="1" mode="tree" readonly="1">
<tree string="History">
<field name="display_text" string="History Information"/>
<field name="email_from" invisible="1"/>
@@ -146,32 +146,6 @@
context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
</tree>
- <form string="History">
- <group col="4" colspan="4">
- <field name="email_from"/>
- <field name="date"/>
- <field name="email_to" widget="char" size="512"/>
- <field name="email_cc" widget="char" size="512"/>
- <field name="subject" colspan="4" widget="char" size="512"/>
- </group>
- <notebook colspan="4">
- <page string="Details">
- <group attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="body_text" colspan="4" nolabel="1" height="250"/>
- <button colspan="4" string="Reply"
- name="%(mail.action_email_compose_message_wizard)d"
- context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
- icon="terp-mail-replied" type="action"/>
- </group>
- <group attrs="{'invisible': [('email_from', '!=', False)]}">
- <field name="display_text" colspan="4" nolabel="1" height="250"/>
- </group>
- </page>
- <page string="Attachments">
- <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
- </page>
- </notebook>
- </form>
</field>
<button string="Add Internal Note"
name="%(crm.action_crm_add_note)d"
diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml
index 4b0ec72166b..3d48a3b88ac 100644
--- a/addons/crm_helpdesk/crm_helpdesk_view.xml
+++ b/addons/crm_helpdesk/crm_helpdesk_view.xml
@@ -96,7 +96,7 @@
<group colspan="4">
<field colspan="4" name="email_cc" string="Global CC" widget="char"/>
</group>
- <field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
+ <field name="message_ids" colspan="4" nolabel="1" mode="tree" readonly="1">
<tree string="History">
<field name="display_text" string="History Information"/>
<field name="email_from" invisible="1"/>
@@ -106,32 +106,6 @@
context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
</tree>
- <form string="History">
- <group col="4" colspan="4">
- <field name="email_from"/>
- <field name="date"/>
- <field name="email_to" widget="char" size="512"/>
- <field name="email_cc" widget="char" size="512"/>
- <field name="subject" colspan="4" widget="char" size="512"/>
- </group>
- <notebook colspan="4">
- <page string="Details">
- <group attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="body_text" colspan="4" nolabel="1" height="250"/>
- <button colspan="4" string="Reply"
- name="%(mail.action_email_compose_message_wizard)d"
- context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
- icon="terp-mail-replied" type="action"/>
- </group>
- <group attrs="{'invisible': [('email_from', '!=', False)]}">
- <field name="display_text" colspan="4" nolabel="1" height="250"/>
- </group>
- </page>
- <page string="Attachments">
- <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
- </page>
- </notebook>
- </form>
</field>
<button string="Add Internal Note"
name="%(crm.action_crm_add_note)d"
diff --git a/addons/crm_partner_assign/__openerp__.py b/addons/crm_partner_assign/__openerp__.py
index 555717899b1..60a51c1a0b9 100644
--- a/addons/crm_partner_assign/__openerp__.py
+++ b/addons/crm_partner_assign/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Partner Geo-Localization',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'complexity': "normal",
'description': """
This is the module used by OpenERP SA to redirect customers to its partners, based on geolocalization.
diff --git a/addons/crm_partner_assign/test/process/partner_assign.yml b/addons/crm_partner_assign/test/process/partner_assign.yml
index 1035f7e8862..18f03c9d41c 100644
--- a/addons/crm_partner_assign/test/process/partner_assign.yml
+++ b/addons/crm_partner_assign/test/process/partner_assign.yml
@@ -30,7 +30,7 @@
-
!python {model: crm.lead.forward.to.partner}: |
context.update({'active_model': 'crm.lead', 'active_id': ref('crm.crm_case_abcfuelcounits0'), 'active_ids': [ref('crm.crm_case_abcfuelcounits0')]})
- forward_id = self.create(cr, uid, {'send_to': 'partner'}, context=context)
+ forward_id = self.create(cr, uid, {'email_from': 'test@openerp.com', 'send_to': 'partner'}, context=context)
try:
self.action_forward(cr, uid, [forward_id], context=context)
except:
diff --git a/addons/crm_todo/__openerp__.py b/addons/crm_todo/__openerp__.py
index 3b870153347..01f66160b0b 100644
--- a/addons/crm_todo/__openerp__.py
+++ b/addons/crm_todo/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'To Do List',
+ 'name': 'CRM Todo Lists',
'version': '1.0',
- 'category': 'Customer Relationship Management',
+ "category": 'Hidden/Link',
'complexity': "easy",
'description': """
Todo list for CRM leads and opportunities.
diff --git a/addons/decimal_precision/__openerp__.py b/addons/decimal_precision/__openerp__.py
index 91e7ce57029..303d42558b3 100644
--- a/addons/decimal_precision/__openerp__.py
+++ b/addons/decimal_precision/__openerp__.py
@@ -30,7 +30,7 @@ The decimal precision is configured per company.
"author": "OpenERP SA",
"version": "0.1",
"depends": ["base"],
- "category" : "Hidden",
+ "category" : "Tools",
'complexity': "easy",
"init_xml": [],
"update_xml": [
diff --git a/addons/document/board_document_view.xml b/addons/document/board_document_view.xml
index 471b2966be5..e3b1b4c9c64 100644
--- a/addons/document/board_document_view.xml
+++ b/addons/document/board_document_view.xml
@@ -7,22 +7,15 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Document board">
- <board style="1-1" >
+ <board style="2-1" >
<column>
<action string="New Files"
name="%(document.action_view_all_document_tree1)d"
view_mode="tree,form"/>
- <action string="File Size by Month"
- name="%(document.action_view_size_month)d"
- view_mode="graph,tree"/>
</column>
<column>
- <action string="Files by Resource Type"
- name="%(document.action_view_document_by_resourcetype_graph)d"
- view_mode="graph,tree"/>
-
- <action string="Files by Partner"
- name="%(document.action_view_files_by_partner)d"
+ <action string="File Size by Month"
+ name="%(document.action_view_size_month)d"
view_mode="graph,tree"/>
</column>
</board>
@@ -65,7 +58,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Document board">
- <board style="1-1">
+ <board style="2-1">
<column>
<action string="Wall of Shame"
name="%(document.action_view_wall)d"
diff --git a/addons/document/document.py b/addons/document/document.py
index 36b10b34e4b..9ea7f97a321 100644
--- a/addons/document/document.py
+++ b/addons/document/document.py
@@ -132,7 +132,7 @@ class document_file(osv.osv):
# fields used for file storage
'store_fname': fields.char('Stored Filename', size=200),
}
- _order = "create_date desc"
+ _order = "id desc"
def __get_def_directory(self, cr, uid, context=None):
dirobj = self.pool.get('document.directory')
diff --git a/addons/document/report/document_report_view.xml b/addons/document/report/document_report_view.xml
index e7fa4efb5be..e6e1847cd56 100644
--- a/addons/document/report/document_report_view.xml
+++ b/addons/document/report/document_report_view.xml
@@ -120,14 +120,6 @@
</record>
- <record model="ir.actions.act_window" id="action_view_document_by_resourcetype_graph">
- <field name="name">Files by Resource Type</field>
- <field name="res_model">report.document.user</field>
- <field name="view_id" ref="view_document_by_resourcetype_graph"/>
- <field name="view_type">form</field>
- <field name="view_mode">graph,tree</field>
- </record>
-
<!--***************************************************************************************-->
<record model="ir.ui.view" id="view_size_month">
diff --git a/addons/document_ics/__openerp__.py b/addons/document_ics/__openerp__.py
index 7d718266d6a..679a6adabb6 100644
--- a/addons/document_ics/__openerp__.py
+++ b/addons/document_ics/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Support for iCal based on Document Management System',
+ 'name': 'iCal Support',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "normal",
'description': """
Allows to synchronise calendars with others applications.
diff --git a/addons/edi/__openerp__.py b/addons/edi/__openerp__.py
index 4d96780b10c..07b189e501d 100644
--- a/addons/edi/__openerp__.py
+++ b/addons/edi/__openerp__.py
@@ -37,6 +37,7 @@ technical OpenERP documentation at http://doc.openerp.com
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['base', 'email_template'],
+ 'icon': '/edi/static/src/img/knowledge.png',
'data': [
'security/ir.model.access.csv',
],
diff --git a/addons/edi/static/src/img/knowledge.png b/addons/edi/static/src/img/knowledge.png
new file mode 100644
index 00000000000..35c8d5706fd
--- /dev/null
+++ b/addons/edi/static/src/img/knowledge.png
Binary files differ
diff --git a/addons/email_template/security/ir.model.access.csv b/addons/email_template/security/ir.model.access.csv
index f5f61240a96..3903a95f9ce 100644
--- a/addons/email_template/security/ir.model.access.csv
+++ b/addons/email_template/security/ir.model.access.csv
@@ -2,3 +2,4 @@
"access_email_template","email.template","model_email_template",,1,0,0,0
"access_email_template_system","email.template system","model_email_template","base.group_system",1,1,1,1
"access_email_template_manager","email.template","model_email_template",,1,1,1,1
+"access_email_template_preview_system","email.template.preview system","model_email_template_preview","base.group_system",1,1,1,1
diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py
index 1890ed7bf84..465e01cdda3 100644
--- a/addons/event/__openerp__.py
+++ b/addons/event/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Event',
+ 'name': 'Events Organisation',
'version': '0.1',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
Organization and management of Events.
diff --git a/addons/event/board_association_view.xml b/addons/event/board_association_view.xml
index 47c5e65f196..02d45f03dc1 100644
--- a/addons/event/board_association_view.xml
+++ b/addons/event/board_association_view.xml
@@ -40,7 +40,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Association Dashboard">
- <board style="1-1">
+ <board style="2-1">
<column>
<action string="Next Events"
name="%(act_event_view)d"
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 6a057fe204d..31fb353c113 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -388,7 +388,7 @@
<group colspan="4">
<field colspan="4" name="email_cc" string="CC" widget="char" size="512"/>
</group>
- <field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
+ <field name="message_ids" colspan="4" nolabel="1" mode="tree">
<tree string="History">
<field name="display_text" string="History Information"/>
<field name="email_from" invisible="1"/>
@@ -398,32 +398,6 @@
context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
</tree>
- <form string="History">
- <group col="4" colspan="4">
- <field name="email_from"/>
- <field name="date"/>
- <field name="email_to" widget="char" size="512"/>
- <field name="email_cc" widget="char" size="512"/>
- <field name="subject" colspan="4" widget="char" size="512"/>
- </group>
- <notebook colspan="4">
- <page string="Details">
- <group attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="body_text" colspan="4" nolabel="1" height="250"/>
- <button colspan="4" string="Reply"
- name="%(mail.action_email_compose_message_wizard)d"
- context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
- icon="terp-mail-replied" type="action"/>
- </group>
- <group attrs="{'invisible': [('email_from', '!=', False)]}">
- <field name="display_text" colspan="4" nolabel="1" height="250"/>
- </group>
- </page>
- <page string="Attachments">
- <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
- </page>
- </notebook>
- </form>
</field>
<button string="Add Internal Note"
name="%(crm.action_crm_add_note)d"
diff --git a/addons/event_project/__openerp__.py b/addons/event_project/__openerp__.py
index e8d110bc4f8..359a5a70ae3 100644
--- a/addons/event_project/__openerp__.py
+++ b/addons/event_project/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Event Project - Create Retro-Planning to manage your Events',
+ 'name': 'Retro-Planning on Events',
'version': '0.1',
- 'category': 'Hidden/Link',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
Organization and management of events.
diff --git a/addons/fetchmail/fetchmail_installer_view.xml b/addons/fetchmail/fetchmail_installer_view.xml
index b5bd7df80ca..918b7ecd430 100644
--- a/addons/fetchmail/fetchmail_installer_view.xml
+++ b/addons/fetchmail/fetchmail_installer_view.xml
@@ -1,19 +1,5 @@
<openerp>
<data>
- <record model="ir.actions.act_window" id="view_email_server_form_installer">
- <field name="name">Setup Incoming Mail Servers</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">fetchmail.server</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="view_id" eval="False"/>
- <field name="help">You can connect OpenERP to your incoming mail server so that documents (leads, tasks, issues, etc) are synchronized automatically with your incoming emails.</field>
- </record>
- <record id="view_email_server_form_installer_todo" model="ir.actions.todo">
- <field name="action_id" ref="view_email_server_form_installer"/>
- <field name="category_id" ref="base.category_sales_management_config"/>
- <field name="sequence">4</field>
- </record>
</data>
</openerp>
diff --git a/addons/fetchmail/fetchmail_view.xml b/addons/fetchmail/fetchmail_view.xml
index 56b7165ac56..0b9720a7503 100644
--- a/addons/fetchmail/fetchmail_view.xml
+++ b/addons/fetchmail/fetchmail_view.xml
@@ -32,7 +32,7 @@
</group>
<notebook colspan="4">
<page string="Server &amp; Login">
- <group col="4" colspan="2" attrs="{'invisible' : [('type', '=', 'local')]}">
+ <group col="2" colspan="2" attrs="{'invisible' : [('type', '=', 'local')]}">
<separator string="Server Information" colspan="2"/>
<field name="server" colspan="4" attrs="{'required' : [('type', '!=', 'local')]}" />
<field name="port" required="1" attrs="{'required' : [('type', '!=', 'local')]}" />
diff --git a/addons/fetchmail_crm/__openerp__.py b/addons/fetchmail_crm/__openerp__.py
index 671aad4a871..24eddf235ab 100644
--- a/addons/fetchmail_crm/__openerp__.py
+++ b/addons/fetchmail_crm/__openerp__.py
@@ -20,11 +20,11 @@
##############################################################################
{
- "name" : "Fetchmail for CRM",
+ "name" : "eMail Gateway for Leads",
"version" : "1.0",
"depends" : ["fetchmail", "crm"],
"author" : "OpenERP SA",
- "category": 'Hidden/Link',
+ "category": 'Tools',
"description": """
""",
'website': 'http://www.openerp.com',
diff --git a/addons/fetchmail_crm_claim/__openerp__.py b/addons/fetchmail_crm_claim/__openerp__.py
index 6b4a346ed51..4fdd1671a28 100644
--- a/addons/fetchmail_crm_claim/__openerp__.py
+++ b/addons/fetchmail_crm_claim/__openerp__.py
@@ -20,11 +20,11 @@
##############################################################################
{
- "name" : "Fetchmail for CRM Claim",
+ "name" : "eMail Gateway for CRM Claim",
"version" : "1.0",
"depends" : ["fetchmail", "crm_claim"],
"author" : "OpenERP SA",
- "category": 'Hidden/Link',
+ 'category': 'Sales Management',
"description": """
""",
'website': 'http://www.openerp.com',
diff --git a/addons/fetchmail_hr_recruitment/__openerp__.py b/addons/fetchmail_hr_recruitment/__openerp__.py
index 0925f2cbcc9..77d5cb93585 100644
--- a/addons/fetchmail_hr_recruitment/__openerp__.py
+++ b/addons/fetchmail_hr_recruitment/__openerp__.py
@@ -20,11 +20,11 @@
##############################################################################
{
- "name" : "Fetchmail for Applicants",
+ "name" : "eMail Gateway for Applicants",
"version" : "1.0",
"depends" : ["fetchmail", "hr_recruitment"],
"author" : "OpenERP SA",
- "category": 'Hidden/Link',
+ "category": "Human Resources",
"description": """
""",
'website': 'http://www.openerp.com',
diff --git a/addons/fetchmail_project_issue/__openerp__.py b/addons/fetchmail_project_issue/__openerp__.py
index ca42ed6faaf..043a68def62 100644
--- a/addons/fetchmail_project_issue/__openerp__.py
+++ b/addons/fetchmail_project_issue/__openerp__.py
@@ -20,11 +20,11 @@
##############################################################################
{
- "name" : "Fetchmail for Project Issue",
+ "name" : "eMail Gateway for Project Issues",
"version" : "1.0",
"depends" : ["fetchmail", "project_issue"],
"author" : "OpenERP SA",
- "category": 'Hidden/Link',
+ "category": "Project Management",
"description": """
""",
'website': 'http://www.openerp.com',
diff --git a/addons/google_base_account/__openerp__.py b/addons/google_base_account/__openerp__.py
index 19afc18bf09..ec204f0f77c 100644
--- a/addons/google_base_account/__openerp__.py
+++ b/addons/google_base_account/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Google user',
+ 'name': 'Google Users',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """The module adds google user in res user""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
@@ -36,6 +36,5 @@
'demo_xml': [],
'installable': True,
'active': False,
- 'certificate': '',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/google_map/__openerp__.py b/addons/google_map/__openerp__.py
index 48c393409e4..f8001c918c6 100644
--- a/addons/google_map/__openerp__.py
+++ b/addons/google_map/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Google Map',
+ 'name': 'Google Maps on Customers',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
The module adds Google Map field in partner address.
====================================================
diff --git a/addons/hr/__openerp__.py b/addons/hr/__openerp__.py
index 900c689dfbf..4c99d0d5231 100644
--- a/addons/hr/__openerp__.py
+++ b/addons/hr/__openerp__.py
@@ -54,7 +54,10 @@ You can manage:
'hr_demo.xml',
'hr_department_demo.xml',
],
- 'test': ['test/test_hr.yml'],
+ 'test': [
+ 'test/open2recruit2close_job.yml',
+ 'test/hr_demo.yml',
+ ],
'installable': True,
'active': False,
'certificate': '0086710558965',
diff --git a/addons/hr/hr_board.xml b/addons/hr/hr_board.xml
index 07fa76bba16..977ca710e52 100644
--- a/addons/hr/hr_board.xml
+++ b/addons/hr/hr_board.xml
@@ -8,11 +8,9 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="My Board">
- <board style="1-2">
- <column>
- </column>
- <column>
- </column>
+ <board style="2-1">
+ <column/>
+ <column/>
</board>
</form>
</field>
@@ -39,10 +37,8 @@
<field name="arch" type="xml">
<form string="HR Manager Board">
<board style="2-1">
- <column>
- </column>
- <column>
- </column>
+ <column/>
+ <column/>
</board>
</form>
</field>
diff --git a/addons/hr/hr_department_view.xml b/addons/hr/hr_department_view.xml
index 9fdb64651f5..a48103ad2e0 100644
--- a/addons/hr/hr_department_view.xml
+++ b/addons/hr/hr_department_view.xml
@@ -19,14 +19,6 @@
<field name="manager_id" select="1"/>
<field name="company_id" select="1" widget="selection" groups="base.group_multi_company"/>
</group>
- <notebook colspan="4" >
- <page string="Members">
- <field colspan="4" name="member_ids" nolabel="1"/>
- </page>
- <page string="Notes">
- <field colspan="4" name="note" nolabel="1"/>
- </page>
- </notebook>
</form>
</field>
</record>
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml
index 08868f31bda..f51280f4465 100644
--- a/addons/hr/hr_view.xml
+++ b/addons/hr/hr_view.xml
@@ -131,7 +131,7 @@
<field name="model">hr.employee</field>
<field name="type">kanban</field>
<field name="arch" type="xml">
- <kanban default_group_by="job_id">
+ <kanban>
<field name="color"/>
<templates>
<t t-name="employee_details">
@@ -202,21 +202,26 @@
<field name="name">Employees</field>
<field name="res_model">hr.employee</field>
<field name="view_type">form</field>
- <field name="view_mode">tree,form,kanban</field>
+ <field name="view_mode">kanban,tree,form</field>
<field name="domain">[]</field>
<field name="context">{"search_default_department_id": department_id,"search_default_active":eval('True')}</field>
- <field name="view_id" ref="view_employee_tree"/>
+ <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>
</record>
-
+
+ <record id="open_view_employee_list_my_kanban" model="ir.actions.act_window.view">
+ <field name="sequence" eval="0"/>
+ <field name="view_mode">kanban</field>
+ <field name="act_window_id" ref="open_view_employee_list_my"/>
+ </record>
<record id="open_view_employee_list_my_tree2" model="ir.actions.act_window.view">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_employee_tree"/>
<field name="act_window_id" ref="open_view_employee_list_my"/>
</record>
-
+
<record id="open_view_employee_list_my_form2" model="ir.actions.act_window.view">
<field name="sequence" eval="2"/>
<field name="view_mode">form</field>
diff --git a/addons/hr/test/hr_demo.yml b/addons/hr/test/hr_demo.yml
new file mode 100644
index 00000000000..6dee06d5eb3
--- /dev/null
+++ b/addons/hr/test/hr_demo.yml
@@ -0,0 +1,10 @@
+-
+ !record {model: hr.job, id: job_jr_appli, view: False}:
+ no_of_employee: 0.0
+ no_of_recruitment: 5.0
+-
+ !record {model: hr.employee, id: employee1, view: False}:
+ address_id: base.main_address
+ company_id: base.main_company
+ department_id: dep_technical
+ user_id: base.user_demo
diff --git a/addons/hr/test/open2recruit2close_job.yml b/addons/hr/test/open2recruit2close_job.yml
new file mode 100644
index 00000000000..0e618f87a3d
--- /dev/null
+++ b/addons/hr/test/open2recruit2close_job.yml
@@ -0,0 +1,38 @@
+-
+ In order to test the process of Human Resource Management, I open Job Postion for "Jr. Application Engineer".
+-
+ !python {model: hr.job}: |
+ self.job_open(cr, uid, [ref('job_jr_appli')])
+-
+ I check state of Job Position after opening it.
+-
+ !assert {model: hr.job, id: job_jr_appli, string: Job position is in 'open' state and no_of_recruitment = 0}:
+ - state == 'open'
+ - no_of_recruitment == 0
+-
+ Now, Recruitement is started so I start recruitement of Job Postion of "Jr. Application Engineer" Profile.
+-
+ !python {model: hr.job}: |
+ self.job_recruitement(cr, uid, [ref('job_jr_appli')])
+-
+ I check 'state' and number of 'Expected in Recruitment' after initiating the recruitment
+-
+ !assert {model: hr.job, id: job_jr_appli, string: Job position is in 'recruit' state and no_of_recruitment = 1.0}:
+ - state == 'recruit'
+ - no_of_recruitment == 1.0
+-
+ I assign the job position to a newly hired employee
+-
+ !python {model: hr.employee}: |
+ self.write(cr, uid, [ref('employee1')], {'job_id':ref('job_jr_appli')})
+-
+ Now I don't want to recruit new employee for this position. so I mark it as Old.
+-
+ !python {model: hr.job}: |
+ self.job_old(cr, uid, [ref('job_jr_appli')])
+-
+ I check 'state' and number of 'Expected in Recruitment' after closing the Job position.
+-
+ !assert {model: hr.job, id: job_jr_appli, string: Job position is in 'old' state and no_of_recruitment = 0}:
+ - state == 'old'
+ - no_of_recruitment == 0
diff --git a/addons/hr/test/test_hr.yml b/addons/hr/test/test_hr.yml
deleted file mode 100644
index 0e5ae559416..00000000000
--- a/addons/hr/test/test_hr.yml
+++ /dev/null
@@ -1,140 +0,0 @@
--
- In order to test hr module in OpenERP, I will create new Employee, Department and Job Position.
--
- I create "RD Department" in Department form.
--
- !record {model: hr.department, id: hr_department_rd0}:
- manager_id: base.user_root
- name: 'R & D'
--
- Now, I create a new employee Mark Johnson, and select department as RD Department.
--
- !record {model: hr.employee, id: hr_employee_mark}:
- address_home_id: base.res_partner_address_1
- company_id: base.main_company
- gender: male
- marital: 'single'
- name: Mark Johnson
--
- I change the company of the employee.
--
- !python {model: hr.employee}: |
- res = self.onchange_company(cr, uid, [ref('hr_employee_mark')], ref('base.main_company'), None)
- values = dict([('company_id', ref('base.main_company'))] + res['value'].items())
- self.write(cr, uid, [ref('hr_employee_mark')], values, None)
--
- I assign department for employee Mark Johnson.
--
- !python {model: hr.employee}: |
- res = self.onchange_department_id(cr, uid, [ref('hr_employee_mark')], ref('hr_department_rd0'), None)
- assert res['value']['parent_id']
- values = dict([('department_id', ref('hr_department_rd0'))] + res['value'].items())
- self.write(cr, uid, [ref('hr_employee_mark')], values, None)
--
- Now I create a user for employee Mark Johnson.
--
- !record {model: res.users, id: hr_users_markjohnson0}:
- context_lang: en_US
- groups_id:
- - base.group_user
- login: markjohnson
- name: Mark Johnson
- password: markjohnson
--
- I assign user to employee Mark Johnson.
--
- !python {model: hr.employee}: |
- res = self.onchange_user(cr, uid, [ref('hr_employee_mark')], ref('hr_users_markjohnson0'), None)
- values = dict([('user_id', ref('hr_users_markjohnson0'))] + res['value'].items())
- self.write(cr, uid, [ref('hr_employee_mark')], values, None)
--
- In order to check the wizard Employee Hierarchy , I will create new employee Phil Graves and select Mark Johnson as
- Manager.
--
- !record {model: hr.employee, id: hr_employee_phil}:
- address_home_id: base.res_partner_address_3000
- company_id: base.main_company
- gender: male
- name: Phil Graves
- user_id: base.user_demo
- parent_id: 'hr_employee_mark'
--
- I fill the Working address for Employee.
--
- !python {model: hr.employee}: |
- res = self.onchange_address_id(cr, uid, ref('hr_employee_phil'), ref('base.res_partner_address_3000'), None)
- assert res['value']
- values = dict([('address_id', ref('base.res_partner_address_3000'))] + res['value'].items())
- self.write(cr, uid, [ref('hr_employee_phil')], values, None)
--
- I will open up form view of Mark Johnson and test the wizard Employee Hierarchy so it display the employee
- hierarchy starting from Mark Johnson.
-
--
- I will create new Job Position. I will check successful creation of new Job Position by adding the information.
--
- !record {model: hr.job, id: hr_job_jea0}:
- department_id: 'hr_department_rd0'
- description: 'Position of Junior Application Engineer'
- expected_employees: 5
- name: 'JAE'
--
- I check that Employee form is in "Open" state.
--
- !assert {model: hr.job, id: hr_job_jea0}:
- - state == 'open'
--
- I create Employee for job position.
--
- !record {model: hr.job, id: hr_job_jea0}:
- employee_ids:
- - address_home_id: base.res_partner_address_1
- name: Manuel Lehba
- department_id: 'hr_department_rd0'
- gender: male
- parent_id: 'hr_employee_mark'
--
- I check that "Number of Employees" field have some value.
--
- !assert {model: hr.job, id: hr_job_jea0}:
- - no_of_employee != False
--
- As more requirements on the said job position are come, I increase the number of expected employees.
--
- !python {model: hr.job}: |
- res = self.on_change_expected_employee(cr, uid, [ref('hr_job_jea0')], 6, 3, None)
- assert res['value']['expected_employees']
- values = dict([('expected_employees', ref('hr_job_jea0'))] + res['value'].items())
- self.write(cr, uid, [ref('hr_job_jea0')], values, None)
--
- I open the job position for recruitment.
--
- !python {model: hr.job}: |
- self.job_recruitement(cr, uid, [ref('hr_job_jea0')])
--
- I assign the job position to employee and mark the position.
--
- !python {model: hr.job}: |
- self.job_open(cr, uid, [ref('hr_job_jea0')])
--
- Now the process is over so I don't want to use this position. I mark it as Old.
--
- !python {model: hr.job}: |
- self.job_old(cr, uid, [ref('hr_job_jea0')])
--
- I create a parent category for the new recruited employees who are Freshers.
--
- !record {model: hr.employee.category, id: hr_employee_category_fresher0}:
- name: Fresher
--
- I create another category for Junior Level freshers.
--
- !record {model: hr.employee.category, id: hr_employee_category_juniorlevel0}:
- name: Junior Level
- parent_id: hr_employee_category_fresher0
--
- I open the tree view of Categories and see the categories in a hierarchical manner.
--
- !python {model: hr.employee.category}: |
- res = self.name_get(cr, uid, [ref('hr_employee_category_juniorlevel0')], None)
- assert res
diff --git a/addons/hr_evaluation/__openerp__.py b/addons/hr_evaluation/__openerp__.py
index a834b4020ec..4c1b32e1395 100644
--- a/addons/hr_evaluation/__openerp__.py
+++ b/addons/hr_evaluation/__openerp__.py
@@ -54,6 +54,7 @@ in the form of pdf file. Implements a dashboard for My Current Evaluations
"active": False,
"installable": True,
"certificate" : "00883207679172998429",
+ 'application': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_evaluation/board_hr_evaluation_view.xml b/addons/hr_evaluation/board_hr_evaluation_view.xml
index 7f6d3142db5..f25c669a973 100644
--- a/addons/hr_evaluation/board_hr_evaluation_view.xml
+++ b/addons/hr_evaluation/board_hr_evaluation_view.xml
@@ -1,14 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
- <record id="act_hr_evaluation_tree" model="ir.actions.act_window">
- <field name="name">My Evaluation Remaining</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">hr_evaluation.evaluation</field>
+ <record model="ir.actions.act_window" id="action_hr_evaluation_interview_board">
+ <field name="name">Interview Requests</field>
+ <field name="res_model">hr.evaluation.interview</field>
<field name="view_type">form</field>
<field name="view_id" eval="False"/>
- <field name="domain">[('state','in',('wait', 'progress')),('create_uid','=',uid)]</field>
- <field name="search_view_id" ref="hr_evaluation.view_hr_evaluation_tree"/>
+ <field name="domain">[('is_evaluation' ,'=', True), ('user_id', '=', uid),('state','=','waiting_answer')]</field>
+ <field name="search_view_id" ref="view_hr_evaluation_interview_search"/>
</record>
<record id="board_hr_evaluation_form" model="ir.ui.view">
@@ -17,8 +16,8 @@
<field name="inherit_id" ref="hr.board_hr_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
- <xpath expr="/form/board/column" position="inside">
- <action name="%(act_hr_evaluation_tree)d" string="My Evaluation Remaining"/>
+ <xpath expr="/form/board/column[1]" position="inside">
+ <action name="%(action_hr_evaluation_interview_board)d" string="Interview Requests"/>
</xpath>
</field>
</record>
diff --git a/addons/hr_evaluation/hr_evaluation_data.xml b/addons/hr_evaluation/hr_evaluation_data.xml
index ec82292dd84..ec4b46f8a62 100644
--- a/addons/hr_evaluation/hr_evaluation_data.xml
+++ b/addons/hr_evaluation/hr_evaluation_data.xml
@@ -2,7 +2,7 @@
<openerp>
<data noupdate="1">
<record id="survey_2" model="survey">
- <field name="title">Employee Evaluation</field>
+ <field name="title">Employee Appraisal</field>
<field name="max_response_limit">20</field>
<field eval="[(6,0,[])]" name="users"/>
<field name="type" ref="survey.survey_type1"/>
@@ -11,7 +11,7 @@
<field name="state">open</field>
</record>
<record id="survey_page_1" model="survey.page">
- <field name="title">Employee Evaluation Form</field>
+ <field name="title">Employee Appraisal Form</field>
<field name="survey_id" ref="survey_2"/>
<field eval="1" name="sequence"/>
</record>
@@ -128,7 +128,7 @@
<field eval="0" name="is_require_answer"/>
<field name="type">descriptive_text</field>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
- <field name="descriptive_text">* The employee will be responsible for completing a draft of the Appraisal Form as a tool for self-evaluation and a starting point for the supervisor’s evaluation. The employee can add examples of achievements for each criterion.
+ <field name="descriptive_text">* The employee will be responsible for completing a draft of the Appraisal Form as a tool for self-appraisal and a starting point for the supervisor’s evaluation. The employee can add examples of achievements for each criterion.
Once the form had been filled, the employee send it to his supervisor.
* It is the primary responsibility of the supervisor to gather the necessary input from the appropriate sources of feedback (internal and/or external customers, peers). In case of collaboration with OpenERP SA Belgium, the supervisor must receive completed evaluation form from the employee's Belgian project manager.
@@ -204,7 +204,7 @@ Once the form had been filled, the employee send it to his supervisor.
<field name="question">Subject</field>
<field eval="0" name="is_require_answer"/>
<field name="type">matrix_of_choices_only_one_ans</field>
- <field name="column_name">Recommendations / Evaluations</field>
+ <field name="column_name">Recommendations / Appraisals</field>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
<field eval="0" name="in_visible_menu_choice"/>
@@ -227,7 +227,7 @@ Once the form had been filled, the employee send it to his supervisor.
<field name="question">Supervisors only : </field>
<field eval="0" name="is_require_answer"/>
<field name="type">matrix_of_choices_only_one_ans</field>
- <field name="column_name">Recommendations / Evaluations</field>
+ <field name="column_name">Recommendations / Appraisals</field>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
<field eval="0" name="in_visible_menu_choice"/>
@@ -1150,7 +1150,7 @@ Once the form had been filled, the employee send it to his supervisor.
<record id="hr_evaluation_plan_managersevaluationplan0" model="hr_evaluation.plan">
<field eval="1" name="active"/>
<field eval="6" name="month_next"/>
- <field name="name">Manager's Evaluation Plan</field>
+ <field name="name">Manager's Appraisal Plan</field>
<field eval="3" name="month_first"/>
<field name="company_id" ref="base.main_company"/>
</record>
@@ -1219,7 +1219,7 @@ Once the form had been filled, the employee send it to his supervisor.
<data>
<record forcecreate="True" id="ir_cron_scheduler_evaluation" model="ir.cron">
- <field name="name">Run Employee Evaluation</field>
+ <field name="name">Run Employee Appraisal</field>
<field eval="True" name="active" />
<field name="user_id" ref="base.user_root" />
<field name="interval_number">1</field>
diff --git a/addons/hr_evaluation/hr_evaluation_installer.xml b/addons/hr_evaluation/hr_evaluation_installer.xml
index 842363559a9..10e7773bc62 100644
--- a/addons/hr_evaluation/hr_evaluation_installer.xml
+++ b/addons/hr_evaluation/hr_evaluation_installer.xml
@@ -2,11 +2,12 @@
<openerp>
<data>
<record model="ir.actions.act_window" id="action_evaluation_plans_installer">
- <field name="name">Review Evaluation Plans</field>
+ <field name="name">Review Appraisal Plans</field>
<field name="type">ir.actions.act_window</field>
<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>
</record>
<record id="todo_evaluation_plans_installer" model="ir.actions.todo">
diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml
index d8dfa7e40ca..18f5bc1a023 100644
--- a/addons/hr_evaluation/hr_evaluation_view.xml
+++ b/addons/hr_evaluation/hr_evaluation_view.xml
@@ -365,7 +365,7 @@
</record>
<record id="view_evaluation_calendar" model="ir.ui.view">
- <field name="name">Interview Request</field>
+ <field name="name">Interview Requests</field>
<field name="model">hr.evaluation.interview</field>
<field name="type">calendar</field>
<field name="arch" type="xml">
@@ -379,7 +379,7 @@
<field name="name">Interview Requests</field>
<field name="res_model">hr.evaluation.interview</field>
<field name="view_type">form</field>
- <field name="view_id" ref="view_hr_evaluation_interview_form"/>
+ <field name="view_id" eval="False"/>
<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"/>
diff --git a/addons/hr_expense/__openerp__.py b/addons/hr_expense/__openerp__.py
index 4a22f00e076..e0a8a002a6a 100644
--- a/addons/hr_expense/__openerp__.py
+++ b/addons/hr_expense/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'Expenses',
+ 'name': 'Expenses Management',
'version': '1.0',
'category': 'Human Resources',
'complexity': "easy",
@@ -68,5 +68,6 @@ re-invoice your customer's expenses if your work by project.
'installable': True,
'active': False,
'certificate': '0062479841789',
+ 'application': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_expense/board_hr_expense_view.xml b/addons/hr_expense/board_hr_expense_view.xml
index d9c80d6f755..3383f734f7d 100644
--- a/addons/hr_expense/board_hr_expense_view.xml
+++ b/addons/hr_expense/board_hr_expense_view.xml
@@ -17,7 +17,7 @@
<field name="inherit_id" ref="hr.board_hr_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
- <xpath expr="/form/board/column" position="inside">
+ <xpath expr="/form/board/column[1]" position="inside">
<action name="%(action_my_expense)d" string="My Expenses"/>
</xpath>
</field>
diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml
index 786dc6beee2..cf884af4250 100644
--- a/addons/hr_expense/hr_expense_view.xml
+++ b/addons/hr_expense/hr_expense_view.xml
@@ -30,8 +30,6 @@
<field name="employee_id"/>
<field name="date"/>
<field name="user_id" invisible="1"/>
- <field name="department_id" groups="base.group_extended"/>
- <field name="ref"/>
<field name="name"/>
<field name="amount"/>
<field name="state"/>
diff --git a/addons/hr_holidays/__openerp__.py b/addons/hr_holidays/__openerp__.py
index ec12b884201..61d613ad0c5 100644
--- a/addons/hr_holidays/__openerp__.py
+++ b/addons/hr_holidays/__openerp__.py
@@ -21,9 +21,9 @@
{
- "name": "Leave Management",
+ "name": "Leaves Management",
"version": "1.5",
- "author": ['OpenERP SA', 'Axelor'],
+ "author": "OpenERP SA",
"category": "Human Resources",
'complexity': "easy",
"website": "http://www.openerp.com",
@@ -72,6 +72,7 @@ Note that:
'test/hr_holidays_report.yml',
],
'installable': True,
+ 'application': True,
'active': False,
'certificate': '0086579209325',
}
diff --git a/addons/hr_holidays/board_hr_holidays_view.xml b/addons/hr_holidays/board_hr_holidays_view.xml
index f0a0ab0741a..178602725ae 100644
--- a/addons/hr_holidays/board_hr_holidays_view.xml
+++ b/addons/hr_holidays/board_hr_holidays_view.xml
@@ -16,7 +16,7 @@
<field name="type">form</field>
<field name="inherit_id" ref="hr.board_hr_form"/>
<field name="arch" type="xml">
- <xpath expr="/form/board/column" position="inside">
+ <xpath expr="/form/board/column[1]" position="inside">
<action name="%(action_hr_holidays_leaves_by_month)d" string="Leaves"/>
</xpath>
</field>
diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py
index d22c5b9f1bb..746c2764315 100644
--- a/addons/hr_holidays/hr_holidays.py
+++ b/addons/hr_holidays/hr_holidays.py
@@ -262,7 +262,7 @@ class hr_holidays(osv.osv):
'name': record.name,
'categ_id': record.holiday_status_id.categ_id.id,
'duration': record.number_of_days_temp * 8,
- 'note': record.notes,
+ 'description': record.notes,
'user_id': record.user_id.id,
'date': record.date_from,
'end_date': record.date_to,
diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml
index 8af2392f6e4..a989ea50222 100644
--- a/addons/hr_holidays/hr_holidays_view.xml
+++ b/addons/hr_holidays/hr_holidays_view.xml
@@ -397,7 +397,6 @@
<field name="max_leaves"/>
<field name="leaves_taken"/>
<field name="remaining_leaves"/>
- <field name="limit"/>
</tree>
</field>
</record>
diff --git a/addons/hr_payroll/__openerp__.py b/addons/hr_payroll/__openerp__.py
index 5c78b80f095..c659444551e 100644
--- a/addons/hr_payroll/__openerp__.py
+++ b/addons/hr_payroll/__openerp__.py
@@ -71,6 +71,7 @@ Generic Payroll system.
'installable': True,
'active': False,
'certificate' : '001046261404562128861',
+ 'application': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_payroll/hr_payroll_demo.xml b/addons/hr_payroll/hr_payroll_demo.xml
index e888ad6f133..7d670d6cafa 100644
--- a/addons/hr_payroll/hr_payroll_demo.xml
+++ b/addons/hr_payroll/hr_payroll_demo.xml
@@ -146,7 +146,7 @@
<field name="employee_id" ref="hr_employee_bonamy0"/>
<field name="notes">Default contract for marketing executives</field>
<field eval="4000.0" name="wage"/>
- <field eval="5" name="working_days_per_week"/>
+ <field name="working_hours" ref="resource.timesheet_group1"/>
</record>
<record id="hr_contract_quentin_paolino" model="hr.contract">
@@ -158,7 +158,6 @@
<field name="employee_id" ref="hr.employee2"/>
<field name="notes">This is Quentin Paolino's contract</field>
<field eval="5000.0" name="wage"/>
- <field eval="5" name="working_days_per_week"/>
<field name="working_hours" ref="resource.timesheet_group1"/>
</record>
diff --git a/addons/hr_recruitment/__openerp__.py b/addons/hr_recruitment/__openerp__.py
index 4797ef14044..0ce5ff66c0f 100644
--- a/addons/hr_recruitment/__openerp__.py
+++ b/addons/hr_recruitment/__openerp__.py
@@ -37,7 +37,7 @@ system to store and search in your CV base.
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'images': ['images/hr_recruitment_analysis.jpeg','images/hr_recruitment_applicants.jpeg'],
- 'depends': ['decimal_precision', 'hr', 'survey', 'crm'],
+ 'depends': ['decimal_precision', 'hr', 'survey', 'crm', 'fetchmail'],
'update_xml': [
'wizard/hr_recruitment_phonecall_view.xml',
'wizard/hr_recruitment_employee_hired.xml',
@@ -56,10 +56,13 @@ system to store and search in your CV base.
'demo_xml': [
'hr_recruitment_demo.yml',
],
- 'test':['test/test_hr_recruitment.yml'],
+ 'test':[
+ 'test/recruitment_process.yml',
+ ],
'installable': True,
'active': False,
'certificate' : '001073437025460275621',
+ 'application': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 8acb95e7088..2854ddf95a5 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -181,6 +181,7 @@ class hr_applicant(crm.crm_case, osv.osv):
'day_close': fields.function(_compute_day, string='Days to Close', \
multi='day_close', type="float", store=True),
'color': fields.integer('Color Index'),
+ 'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True),
}
def _get_stage(self, cr, uid, context=None):
@@ -364,10 +365,11 @@ class hr_applicant(crm.crm_case, osv.osv):
self.write(cr, uid, [res_id], vals, context)
return res_id
- def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None):
+ def message_update(self, cr, uid, ids, msg, vals=None, default_act='pending', context=None):
if isinstance(ids, (str, int, long)):
ids = [ids]
-
+ if vals is None:
+ vals = {}
msg_from = msg['from']
vals.update({
'description': msg['body_text']
@@ -411,14 +413,6 @@ class hr_applicant(crm.crm_case, osv.osv):
return res
def case_close(self, cr, uid, ids, *args):
- """
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of case's Ids
- @param *args: Give Tuple Value
- """
- employee_obj = self.pool.get('hr.employee')
res = super(hr_applicant, self).case_close(cr, uid, ids, *args)
for (id, name) in self.name_get(cr, uid, ids):
message = _("Applicant '%s' is being hired.") % name
@@ -426,40 +420,32 @@ class hr_applicant(crm.crm_case, osv.osv):
return res
def case_close_with_emp(self, cr, uid, ids, *args):
- """
- @param self: The object pointer
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: List of case's Ids
- @param *args: Give Tuple Value
- """
- employee_obj = self.pool.get('hr.employee')
- partner_obj = self.pool.get('res.partner')
- address_id = False
- applicant = self.browse(cr, uid, ids)[0]
- if applicant.partner_id:
- address_id = partner_obj.address_get(cr, uid, [applicant.partner_id.id], ['contact'])['contact']
- if applicant.job_id:
- self.pool.get('hr.job').write(cr, uid, [applicant.job_id.id], {'no_of_recruitment': applicant.job_id.no_of_recruitment - 1})
- emp_id = employee_obj.create(cr,uid,{'name': applicant.partner_name or applicant.name,
- 'job_id': applicant.job_id.id,
- 'address_home_id': address_id,
- 'department_id': applicant.department_id.id
- })
- else:
- raise osv.except_osv(_('Warning!'),_('You must define Applied Job for Applicant !'))
- self.case_close(cr, uid, ids, *args)
-
- mod_obj = self.pool.get('ir.model.data')
- act = mod_obj.get_object_reference(cr, uid, 'hr', 'open_view_employee_list')
-
- act_obj = self.pool.get('ir.actions.act_window')
- act_win = act_obj.read(cr, uid, act[1], [])
-
- act_win['domain'] = [('id','=',emp_id)]
- act_win['view_mode'] = 'form,tree'
- act_win['res_id'] = emp_id
- return act_win
+ hr_employee = self.pool.get('hr.employee')
+ model_data = self.pool.get('ir.model.data')
+ act_window = self.pool.get('ir.actions.act_window')
+ emp_id = False
+ for applicant in self.browse(cr, uid, ids):
+ address_id = False
+ if applicant.partner_id:
+ address_id = applicant.partner_id.address_get(['contact'])['contact']
+ if applicant.job_id:
+ applicant.job_id.write({'no_of_recruitment': applicant.job_id.no_of_recruitment - 1})
+ emp_id = hr_employee.create(cr,uid,{'name': applicant.partner_name or applicant.name,
+ 'job_id': applicant.job_id.id,
+ 'address_home_id': address_id,
+ 'department_id': applicant.department_id.id
+ })
+ self.case_close(cr, uid, [applicant.id], *args)
+ else:
+ raise osv.except_osv(_('Warning!'),_('You must define Applied Job for Applicant !'))
+
+
+ action_model, action_id = model_data.get_object_reference(cr, uid, 'hr', 'open_view_employee_list')
+ dict_act_window = act_window.read(cr, uid, action_id, [])
+ if emp_id:
+ dict_act_window['res_id'] = emp_id
+ dict_act_window['view_mode'] = 'form,tree'
+ return dict_act_window
def case_reset(self, cr, uid, ids, *args):
"""Resets case as draft
@@ -473,19 +459,19 @@ class hr_applicant(crm.crm_case, osv.osv):
res = super(hr_applicant, self).case_reset(cr, uid, ids, *args)
self.write(cr, uid, ids, {'date_open': False, 'date_closed': False})
return res
-
- def set_priority(self, cr, uid, ids, priority):
- """Set lead priority
+
+ def set_priority(self, cr, uid, ids, priority, *args):
+ """Set applicant priority
"""
return self.write(cr, uid, ids, {'priority' : priority})
def set_high_priority(self, cr, uid, ids, *args):
- """Set lead priority to high
+ """Set applicant priority to high
"""
return self.set_priority(cr, uid, ids, '1')
def set_normal_priority(self, cr, uid, ids, *args):
- """Set lead priority to normal
+ """Set applicant priority to normal
"""
return self.set_priority(cr, uid, ids, '3')
diff --git a/addons/hr_recruitment/hr_recruitment_menu.xml b/addons/hr_recruitment/hr_recruitment_menu.xml
index 7fe746f580b..04d73dcd2a8 100644
--- a/addons/hr_recruitment/hr_recruitment_menu.xml
+++ b/addons/hr_recruitment/hr_recruitment_menu.xml
@@ -6,13 +6,20 @@
<record model="ir.actions.act_window" id="crm_case_categ0_act_job">
<field name="name">Applicants</field>
<field name="res_model">hr.applicant</field>
- <field name="view_mode">tree,form,graph,calendar,kanban</field>
- <field name="view_id" ref="crm_case_tree_view_job"/>
+ <field name="view_mode">kanban,tree,form,graph,calendar</field>
+ <field name="view_id" eval="False"/>
<field name="context">{'search_default_filter_inprogress':1,'search_default_filter_new':1,"search_default_department_id": department_id}</field>
<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>
</record>
+ <record model="ir.actions.act_window.view" id="action_hr_sec_kanban_view_act_job">
+ <field name="sequence" eval="0"/>
+ <field name="view_mode">kanban</field>
+ <field name="view_id" ref="hr_kanban_view_applicant"/>
+ <field name="act_window_id" ref="crm_case_categ0_act_job"/>
+ </record>
+
<record model="ir.actions.act_window.view" id="action_hr_sec_tree_view_act_job">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index 2fd82910a6d..4bd68949bd5 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -145,7 +145,7 @@
<group colspan="4">
<field colspan="4" name="email_cc" string="Global CC" widget="char"/>
</group>
- <field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
+ <field name="message_ids" colspan="4" nolabel="1" mode="tree" readonly="1">
<tree string="History">
<field name="display_text" string="History Information"/>
<field name="email_from" invisible="1"/>
@@ -155,32 +155,6 @@
context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
</tree>
- <form string="History">
- <group col="4" colspan="4">
- <field name="email_from"/>
- <field name="date"/>
- <field name="email_to" widget="char" size="512"/>
- <field name="email_cc" widget="char" size="512"/>
- <field name="subject" colspan="4" widget="char" size="512"/>
- </group>
- <notebook colspan="4">
- <page string="Details">
- <group attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="body_text" colspan="4" nolabel="1" height="250"/>
- <button colspan="4" string="Reply"
- name="%(mail.action_email_compose_message_wizard)d"
- context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
- icon="terp-mail-replied" type="action"/>
- </group>
- <group attrs="{'invisible': [('email_from', '!=', False)]}">
- <field name="display_text" colspan="4" nolabel="1" height="250"/>
- </group>
- </page>
- <page string="Attachments">
- <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
- </page>
- </notebook>
- </form>
</field>
<button string="Add Internal Note"
name="%(crm.action_crm_add_note)d"
@@ -278,9 +252,9 @@
</field>
</record>
- <!-- hr Applicant Kanban View -->
+ <!-- hr Applicant Kanban View -->
- <record model="ir.ui.view" id="hr_kanban_view_applicant">
+ <record model="ir.ui.view" id="hr_kanban_view_applicant">
<field name="name">Hr Applicants kanban</field>
<field name="model">hr.applicant</field>
<field name="type">kanban</field>
@@ -290,32 +264,61 @@
<field name="state"/>
<field name="priority"/>
<field name="survey"/>
- <field name="email_from"/>
<field name="user_id"/>
+ <field name="user_email"/>
<templates>
+ <t t-name="partner-infos">
+ <div t-if="record.partner_phone.raw_value">
+ Phone: <field name="partner_phone"/>
+ </div>
+ <div t-if="record.partner_mobile.raw_value">
+ Mobile: <field name="partner_mobile"/>
+ </div>
+ </t>
<t t-name="kanban-box">
<t t-if="record.priority.raw_value == 1" t-set="border">oe_kanban_color_red</t>
<div t-attf-class="#{kanban_color(record.color.raw_value)} #{border || ''}">
<div class="oe_kanban_box oe_kanban_color_border">
<table class="oe_kanban_table oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
<tr>
- <td align="left" valign="middle" class="oe_kanban_title">
+ <td align="left" valign="middle" class="oe_kanban_title" tooltip="partner-infos">
<field name="partner_name"/>
+ <t t-if="!record.partner_name.raw_value">
+ <field name="email_from"/>
+ </t>
</td>
- <td valign="top" width="22"><img t-att-src="kanban_gravatar(record.email_from.value, 22)" class="oe_kanban_gravatar" t-att-title="record.user_id.value"/></td>
+ <td valign="top" width="22"><img t-att-src="kanban_gravatar(record.user_email.value, 22)" class="oe_kanban_gravatar" t-att-title="record.user_id.value"/></td>
</tr>
</table>
<div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
- <div t-if="record.priority.raw_value" t-att-title="record.priority.value">
- <t t-set="rating" t-value="6 - record.priority.raw_value"/>
- <img t-foreach="_.range(1, rating + 1)" src="/web/static/src/img/icons/star-on.png" width="16" height="16"
- /><img t-foreach="_.range(rating, 5)" src="/web/static/src/img/icons/star-off.png" width="16" height="16"/>
- </div>
- <div t-if="record.job_id.raw_value">
+ <div style="white-space: nowrap">
<field name="job_id"/>
+ <t t-if="!record.job_id.raw_value">
+ <field name="name"/>
+ </t>
+ <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">
+ <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">
+ <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']">
+ <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']">
+ <img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16"/>
+ </a>
+ </span>
</div>
- <div t-if="record.type_id.raw_value">
- <field name="type_id"/>
+ <div t-if="record.type_id.raw_value or record.source_id.raw_value">
+ <span t-if="record.type_id.raw_value" class="oe_kanban_highlight oe_kanban_button" style="font-size: 100%%">
+ <field name="type_id"/>
+ </span>
+ <span t-if="record.source_id.raw_value" class="oe_kanban_highlight oe_kanban_button" style="font-size: 100%%">
+ <field name="source_id"/>
+ </span>
</div>
<div t-if="record.date_action.raw_value or record.title_action.raw_value">
<i t-if="record.date_action.raw_value"><field name="date_action"/> :</i> <field name="title_action"/>
@@ -324,6 +327,7 @@
<div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
<div class="oe_kanban_left">
<a string="Edit" icon="gtk-edit" type="edit"/>
+ <a string="Delete" icon="gtk-close" type="delete"/>
<a string="Change Color" icon="color-picker" type="color" name="color"/>
<a string="Send New Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action"/>
<a string="Add Internal Note" name="%(crm.action_crm_add_note)d" context="{'model': 'crm.lead' }" icon="terp-document-new" type="action"/>
@@ -331,8 +335,8 @@
<a t-if="record.survey.raw_value" name="action_print_survey" type="object" string="Print Interview" icon="gtk-print" />
</div>
<div class="oe_kanban_right">
- <a name="case_open" string="Open" states="pending,draft" type="object" icon="kanban-apply" />
- <a name="case_pending" string="Pending" states="draft,open" type="object" icon="kanban-pause" />
+ <a name="case_open" string="In Progress" states="draft,pending" type="object" icon="kanban-apply"/>
+ <a name="case_pending" string="Pending" states="draft,open" type="object" icon="kanban-pause"/>
</div>
<br class="oe_kanban_clear"/>
</div>
diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml
new file mode 100644
index 00000000000..43575137a6e
--- /dev/null
+++ b/addons/hr_recruitment/test/recruitment_process.yml
@@ -0,0 +1,67 @@
+-
+ In Order to test process of Recruitment,
+-
+ Applicant interested in job position. so He send resume by email.
+-
+ !python {model: mail.thread}: |
+ import addons
+ request_file = open(addons.get_module_resource('hr_recruitment','test', 'resume.eml'),'rb')
+ request_message = request_file.read()
+ self.message_process(cr, uid, 'hr.applicant', request_message)
+-
+ After getting the mail, I check details of new applicant.
+-
+ !python {model: hr.applicant}: |
+ applicant_ids = self.search(cr, uid, [('email_from','=', 'Mr. Richard Anderson <Richard_Anderson@yahoo.com>')])
+ assert applicant_ids, "Applicant is not created after getting the mail"
+ applicant = self.browse(cr, uid, applicant_ids[0], context=context)
+ resume_ids = self.pool.get('ir.attachment').search(cr, uid, [('datas_fname','=','resume.doc'),('res_model','=',self._name),('res_id','=',applicant.id)])
+ assert applicant.name == "Application for the post of Jr.application Programmer.", "Subject does not match"
+ assert applicant.state == "draft"
+ assert len(resume_ids), "Resume does not attached."
+-
+ I assign the Job position to the applicant
+-
+ !python {model: hr.applicant}: |
+ self.write(cr, uid, [ref('hr_case_programmer')], {'job_id':ref('hr.job_jr_appli')})
+-
+ I open applicant for the Recruitment
+-
+
+ !python {model: hr.applicant}: |
+ self.case_open(cr, uid, [ref("hr_case_programmer")])
+-
+ I start communication with applicant, first schedule phonecall.
+-
+ !python {model: hr.recruitment.job2phonecall}: |
+ self.make_phonecall(cr, uid, [ref('hr_case_programmer')])
+-
+ I schedule meeting with applicant for interview.
+-
+ !python {model: hr.applicant}: |
+ self.action_makeMeeting(cr, uid, [ref('hr_case_programmer')])
+-
+ Applicant fillup the answer of the interview quetion.
+-
+ !python {model: survey.question.wiz}: |
+ ctx = context.copy()
+ ctx.update({'active_model': 'hr.applicant', 'active_id': ref("hr_case_programmer"), 'active_ids': [ref("hr_case_programmer")], 'survey_id': ref("survey_job_0")})
+ self.fields_view_get(cr, uid, ref("survey.view_survey_question_message"),"form", context=ctx)
+ vals = self.default_get(cr, uid , [], context=ctx)
+ self.create(cr, uid, vals, context=ctx)
+ self.action_new_page(cr, uid, [ref("survey_job_0")], context=ctx)
+-
+ I print Applicant fill up the interview quetion
+-
+ !python {model: hr.applicant}: |
+ self.action_print_survey(cr, uid, [ref('hr_case_programmer')])
+-
+ On a successful interview with the applicant, I hired employee.
+-
+ !python {model: hr.applicant}: |
+ self.case_close_with_emp(cr, uid, [ref('hr_case_programmer')])
+-
+ I check that applicant is "Hired".
+-
+ !assert {model: hr.applicant, id: hr_case_programmer}:
+ - state == 'done'
diff --git a/addons/hr_recruitment/test/resume.eml b/addons/hr_recruitment/test/resume.eml
new file mode 100644
index 00000000000..00cc5620563
--- /dev/null
+++ b/addons/hr_recruitment/test/resume.eml
@@ -0,0 +1,839 @@
+Return-Path: <Richard_Anderson@yahoo.com>
+X-Original-To: hr@mycompany.com
+Delivered-To: hr@mycompany.com
+Received: by mail1.mycompany.com (Postfix, from userid 10002)
+ id 7047CBFC94; Fri, 18 Nov 2011 10:28:16 +0100 (CET)
+X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail1.mycompany.com
+X-Spam-Level:
+X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
+ HTML_MESSAGE autolearn=ham version=3.3.1
+Received: from nm12-vm2.bullet.mail.ne1.yahoo.com (nm12-vm2.bullet.mail.ne1.yahoo.com [98.138.91.88])
+ by mail1.mycompany.com (Postfix) with SMTP id 0D04ABF53A
+ for <hr@mycompany.com>; Fri, 18 Nov 2011 10:27:50 +0100 (CET)
+Received: from [98.138.90.50] by nm12.bullet.mail.ne1.yahoo.com with NNFMP; 18 Nov 2011 09:26:49 -0000
+Received: from [98.138.226.126] by tm3.bullet.mail.ne1.yahoo.com with NNFMP; 18 Nov 2011 09:26:49 -0000
+Received: from [127.0.0.1] by smtp205.mail.ne1.yahoo.com with NNFMP; 18 Nov 2011 09:26:49 -0000
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.in; s=s1024; t=1321608409; bh=GGVn24b6ZH8Ojn91evBkrwuNFmAsLAPy4OeUvOqjgig=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:Content-Type; b=DFCOdjskDmdbkzvuxTqFWJOUHsT0nITWiQe5782VeyTrhymhIzNhwzdRq4wfTrzLu03rJhHadZTX0uweNCf0Jpr4OpEQevZa3aVPw44NNmhFeT2tjs9m3kNWyPnz5Nk1Yv8tiTRFSdssPfZAhwz8UXLCBFowa8DRnY2ZFIsATRE=
+X-Yahoo-Newman-Id: 644435.12111.bm@smtp205.mail.ne1.yahoo.com
+X-Yahoo-Newman-Property: ymail-3
+X-YMail-OSG: 09Al2uQVM1n5JcQepgua6wQsww7jiatAHXaSsMjP5Qvk9Ba
+ c65j0.ETzyjVh0vpjphFK3XqPtX0n17z9cUCfUhUDDXLUmUSFoZ.NjoiJ_mQ
+ vwd4S7.I4ObFZm5jgA0ML0cfTRAy_0msUfO3NKsh9LgBdUXztbVOwrTGQhzD
+ nu2v3TskGG9ZtRTiqM_Iad2qmMqveFdqUz5xBnwYYgBuLWRR7EUmU1qyOgss
+ LL33J2t9EOCUn2Kc9XQbSkPBBR7BYlIatTF.AAxLdsuOW6ovTGO.HM5ap0qo
+ LLM1_BE.EOvXdW38ZC_hHcrM4xYaYSR7c0WaOQsR8EZeXk_Vhio7HHUrdxZl
+ 1oZz7YWK9Q04M023JJoM4v6IrThy3BNepluEFFcavkyOnCw--
+X-Yahoo-SMTP: oNtzSBqswBAqJIGYOgyGesyleENrhUEtEgBkQ053
+Received: from [192.168.1.30] (test@180.211.100.2 with plain)
+ by smtp205.mail.ne1.yahoo.com with SMTP; 18 Nov 2011 01:26:47 -0800 PST
+Message-ID: <4EC624C7.6020000@yahoo.in>
+Date: Fri, 18 Nov 2011 14:56:31 +0530
+From: Mr. Richard Anderson <Richard_Anderson@yahoo.com>
+User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110424 Thunderbird/3.1.10
+MIME-Version: 1.0
+To: hr@mycompany.com
+Subject: Application for the post of Jr.application Programmer.
+Content-Type: multipart/mixed;
+ boundary="------------010903010402010104090709"
+
+This is a multi-part message in MIME format.
+--------------010903010402010104090709
+Content-Type: multipart/alternative;
+ boundary="------------010004020303010906010104"
+
+
+--------------010004020303010906010104
+Content-Type: text/plain; charset=ISO-8859-1; format=flowed
+Content-Transfer-Encoding: 7bit
+
+Hello Sir,
+
+ I am**Richard Anderson completed MCA from Mac Technological
+university, i send my resume for the your company job position, i
+attached my resume here
+
+Thank you
+Richard Anderson
+
+--------------010004020303010906010104
+Content-Type: text/html; charset=ISO-8859-1
+Content-Transfer-Encoding: 7bit
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+ </head>
+ <body text="#000000" bgcolor="#ffffff">
+ Hello Sir,<br>
+ <br>
+ &nbsp;I am<b> </b>Richard Anderson completed MCA from Mac Technological
+ university, i send my resume for the your company job position, i
+ attached my resume here<br>
+ <br>
+ Thank you<br>
+ Richard Anderson
+ </body>
+</html>
+
+--------------010004020303010906010104--
+
+--------------010903010402010104090709
+Content-Type: application/msword;
+ name="resume.doc"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+ filename="resume.doc"
+
+0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAOwADAP7/CQAGAAAAAAAAAAAAAAABAAAASwAAAAAA
+AAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+///////////////////////////////////9//////////7///9KAAAABQAAAAYAAAAHAAAA
+CAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUA
+AAD+////FwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAA
+IwAAACQAAAAlAAAAJgAAACcAAAAoAAAA/v///yoAAAArAAAALAAAAC0AAAAuAAAALwAAADAA
+AAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAA
+PgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAA/v////7/
+//9MAAAATQAAAP7/////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////1IA
+bwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAWAAUA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAA/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
+/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7///8AAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAA/v///wAAAAAAAAAAAQAAAP7////+////BAAAAAUAAAAGAAAABwAAAP7/
+//8JAAAA/v//////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////8BAP7/
+AwoAAP////8GCQIAAAAAAMAAAAAAAABGGAAAAE1pY3Jvc29mdCBXb3JkLURva3VtZW50AAoA
+AABNU1dvcmREb2MAEAAAAFdvcmQuRG9jdW1lbnQuOAD0ObJxAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/wAAAQACAAAAAAAAAAAAAAAAAAAAAAABAAAA
+4IWf8vlPaBCrkQgAKyez2TAAAADsAAAACgAAAAEAAABYAAAAAgAAAGAAAAAEAAAAeAAAAAcA
+AACUAAAACAAAAKQAAAAJAAAAsAAAAAoAAAC8AAAACwAAAMgAAAAMAAAA1AAAAA0AAADgAAAA
+AgAAAOn9AAAeAAAAEAAAAENhbmRpZGF0ZXMgTmFtZQAeAAAAFAAAAHNhZ2FyIHAgc3VyeWF3
+YW5zaGkAHgAAAAcAAABOb3JtYWwAAB4AAAAEAAAAc2FpAB4AAAAEAAAAMTY5AEAAAAAAyPid
+CgAAAEAAAAAAAAAAAAAAAEAAAAAAnpj/jovLAUAAAAAA1LJ/lhzMAQAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAZwAKAAEAWwAPAAIAAAAAAAAAYAAAEPH/AgBgAAAA
+BgBOAG8AcgBtAGEAbAAAABEAAAADJABhJAAxJAEqJAFBJAAALwBCKgBPSgAAUUoAAENKFABt
+SAkEc0gJBFBKAABuSAQIXkoAAGFKFABfSAEEdEgBBABcAAEQAQACAFwAAAAJAEgAZQBhAGQA
+aQBuAGcAIAAxAAAAJwABAAMkA2EkAw3GBQABOAQAXoQAAF2EoAVghAAAE6RkABSkZAAGJAEA
+DwBPSgIAUUoCAENKEgA1CAEAPgACEAEAAgA+AAAACQBIAGUAYQBkAGkAbgBnACAAMgAAAA0A
+AgATpGQAFKRkAAYkAQAMAE9KAgBRSgIAQ0oSADoAAxABAAIAOgAAAAkASABlAGEAZABpAG4A
+ZwAgADMAAAAFAAMABiQBAA8AT0oCAFFKAgBDShIANQgBAFYABBABAAIAVgAAAAkASABlAGEA
+ZABpAG4AZwAgADQAAAAfAAQAEmRoAQEADcYFAAFoAQBehGgBXYQAAGCEmP4GJAEAEgBPSgIA
+UUoCAENKEgA1CAFcCAEyAAUQAQBiBTIAAAAJAEgAZQBhAGQAaQBuAGcAIAA1AAAACgAFABOk
+ZAAUpGQAAwA1CAEAUAAGEAEAAgBQAAAACQBIAGUAYQBkAGkAbgBnACAANgAAABkABgANxgUA
+ATgEAF6EAABdhKAFYIQAAAYkAQASAE9KAgBRSgIAQ0oSAD4qAVwIAWAABxABAAIAYAAAAAkA
+SABlAGEAZABpAG4AZwAgADcAAAAwAAcAQCYGCiYGC0YBAAomBgtGAQAxJAANxgUAARwBADck
+AF6EHAFdhAAAYITk/gYkAQwAT0oCAFFKAgBDShIASAAIEAEAAgBIAAAACQBIAGUAYQBkAGkA
+bgBnACAAOAAAABcACAAxJAA3JABehBwBXYQAAGCE5P4GJAEADABPSgIAUUoCAENKEgAAAEIA
+QUDy/6EAQgAAABkAQQBiAHMAYQB0AHoALQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYA
+dABhAHIAdAAAAAAAAAAAAAAAAABCAP4f8v/xAEIAAAAZAEEAYgBzAGEAdAB6AC0AUwB0AGEA
+bgBkAGEAcgBkAHMAYwBoAHIAaQBmAHQAYQByAHQAAAAAAEgA/h/y/wEBSAAAABwAVwBXAC0A
+QQBiAHMAYQB0AHoALQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYAdABhAHIAdAAAAAAA
+SgD+H/L/EQFKAAAAHQBXAFcALQBBAGIAcwBhAHQAegAtAFMAdABhAG4AZABhAHIAZABzAGMA
+aAByAGkAZgB0AGEAcgB0ADEAAAAAAEwA/h/y/yEBTAAAAB4AVwBXAC0AQQBiAHMAYQB0AHoA
+LQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYAdABhAHIAdAAxADEAAAAAAE4A/h/y/zEB
+TgAAAB8AVwBXAC0AQQBiAHMAYQB0AHoALQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYA
+dABhAHIAdAAxADEAMQAAAAAAUAD+H/L/QQFQAAAAIABXAFcALQBBAGIAcwBhAHQAegAtAFMA
+dABhAG4AZABhAHIAZABzAGMAaAByAGkAZgB0AGEAcgB0ADEAMQAxADEAAAAAAFIA/h/y/1EB
+UgAAACEAVwBXAC0AQQBiAHMAYQB0AHoALQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYA
+dABhAHIAdAAxADEAMQAxADEAAAAAAFQA/h/y/2EBVAAAACIAVwBXAC0AQQBiAHMAYQB0AHoA
+LQBTAHQAYQBuAGQAYQByAGQAcwBjAGgAcgBpAGYAdABhAHIAdAAxADEAMQAxADEAMQAAAAAA
+KgD+H/L/cQEqAAAACQBXAFcAOABOAHUAbQAyAHoAMAAAAAgAT0oBAFFKAQAuAP4f8v+BAS4A
+AAAJAFcAVwA4AE4AdQBtADIAegAxAAAADABPSgcAUUoHAF5KBwAqAP4f8v+RASoAAAAJAFcA
+VwA4AE4AdQBtADIAegAzAAAACABPSgEAUUoBADYA/h/y/6EBNgAAAAkAVwBXADgATgB1AG0A
+MwB6ADAAAAATAE9KAABRSgAANQgBUEoAAF5KAAAAKgD+H/L/sQEqAAAACQBXAFcAOABOAHUA
+bQAzAHoAMQAAAAgAT0oHAFFKBwAqAP4f8v/BASoAAAAJAFcAVwA4AE4AdQBtADMAegAyAAAA
+CABPSggAUUoIACoA/h/y/9EBKgAAAAkAVwBXADgATgB1AG0ANAB6ADAAAAAIAE9KCABRSggA
+LgD+H/L/4QEuAAAACQBXAFcAOABOAHUAbQA0AHoAMQAAAAwAT0oHAFFKBwBeSgcAKgD+H/L/
+8QEqAAAACQBXAFcAOABOAHUAbQA0AHoAMwAAAAgAT0oBAFFKAQA8AP4f8v8BAjwAAAAWAEQA
+ZQBmAGEAdQBsAHQAIABQAGEAcgBhAGcAcgBhAHAAaAAgAEYAbwBuAHQAAAAAACoA/h/y/xEC
+KgAAAAkAVwBXADgATgB1AG0AMQB6ADAAAAAIAE9KAABRSgAAKgD+H/L/IQIqAAAACQBXAFcA
+OABOAHUAbQAzAHoAMwAAAAgAT0oBAFFKAQAqAP4f8v8xAioAAAAJAFcAVwA4AE4AdQBtADUA
+egAwAAAACABPSgEAUUoBACoA/h/y/0ECKgAAAAkAVwBXADgATgB1AG0ANQB6ADEAAAAIAE9K
+BwBRSgcAKgD+H/L/UQIqAAAACQBXAFcAOABOAHUAbQA1AHoAMgAAAAgAT0oIAFFKCAAqAP4f
+8v9hAioAAAAJAFcAVwA4AE4AdQBtADcAegAwAAAACABPSgEAUUoBADwA/h/y/3ECPAAAAAkA
+VwBXADgATgB1AG0AOAB6ADAAAAAZAEIqBnBo/wAAAE9KCABRSggAUEoAAF5KAAAALgD+H/L/
+gQIuAAAACQBXAFcAOABOAHUAbQA4AHoAMQAAAAwAT0oHAFFKBwBeSgcAKgD+H/L/kQIqAAAA
+CQBXAFcAOABOAHUAbQA4AHoAMgAAAAgAT0oIAFFKCAAqAP4f8v+hAioAAAAJAFcAVwA4AE4A
+dQBtADgAegAzAAAACABPSgEAUUoBACoA/h/y/7ECKgAAAAkAVwBXADgATgB1AG0AOQB6ADAA
+AAAIAE9KAQBRSgEALAD+H/L/wQIsAAAACgBXAFcAOABOAHUAbQAxADAAegAwAAAACABPSgEA
+UUoBACwA/h/y/9ECLAAAAAoAVwBXADgATgB1AG0AMQAxAHoAMAAAAAgAT0oBAFFKAQAsAP4f
+8v/hAiwAAAAKAFcAVwA4AE4AdQBtADEAMgB6ADAAAAAIAE9KAQBRSgEALAD+H/L/8QIsAAAA
+CgBXAFcAOABOAHUAbQAxADIAegAxAAAACABPSgcAUUoHACwA/h/y/wEDLAAAAAoAVwBXADgA
+TgB1AG0AMQAyAHoAMgAAAAgAT0oIAFFKCAA2AP4f8v8RAzYAAAAKAFcAVwA4AE4AdQBtADEA
+MwB6ADAAAAARAEIqBnBo/wAAAE9KAQBRSgEAADAA/h/y/yEDMAAAAAoAVwBXADgATgB1AG0A
+MQAzAHoAMQAAAAwAT0oHAFFKBwBeSgcALAD+H/L/MQMsAAAACgBXAFcAOABOAHUAbQAxADMA
+egAyAAAACABPSggAUUoIACwA/h/y/0EDLAAAAAoAVwBXADgATgB1AG0AMQAzAHoAMwAAAAgA
+T0oBAFFKAQA+AP4f8v9RAz4AAAAKAFcAVwA4AE4AdQBtADEANAB6ADAAAAAZAEIqBnBo/wAA
+AE9KCABRSggAUEoAAF5KAAAAMAD+H/L/YQMwAAAACgBXAFcAOABOAHUAbQAxADQAegAxAAAA
+DABPSgcAUUoHAF5KBwAsAP4f8v9xAywAAAAKAFcAVwA4AE4AdQBtADEANAB6ADIAAAAIAE9K
+CABRSggALAD+H/L/gQMsAAAACgBXAFcAOABOAHUAbQAxADQAegAzAAAACABPSgEAUUoBACwA
+/h/y/5EDLAAAAAoAVwBXADgATgB1AG0AMQA2AHoAMAAAAAgAT0oBAFFKAQAwAP4f8v+hAzAA
+AAAKAFcAVwA4AE4AdQBtADEANgB6ADEAAAAMAE9KBwBRSgcAXkoHACwA/h/y/7EDLAAAAAoA
+VwBXADgATgB1AG0AMQA2AHoAMgAAAAgAT0oIAFFKCAAsAP4f8v/BAywAAAAKAFcAVwA4AE4A
+dQBtADEAOAB6ADAAAAAIAE9KAQBRSgEALAD+H/L/0QMsAAAACgBXAFcAOABOAHUAbQAxADkA
+egAwAAAACABPSgEAUUoBACwA/h/y/+EDLAAAAAoAVwBXADgATgB1AG0AMgAwAHoAMAAAAAgA
+T0oAAFFKAAAsAP4f8v/xAywAAAAKAFcAVwA4AE4AdQBtADIAMgB6ADAAAAAIAE9KAQBRSgEA
+LAD+H/L/AQQsAAAACgBXAFcAOABOAHUAbQAyADIAegAxAAAACABPSgcAUUoHACwA/h/y/xEE
+LAAAAAoAVwBXADgATgB1AG0AMgAyAHoAMgAAAAgAT0oIAFFKCAAsAP4f8v8hBCwAAAAKAFcA
+VwA4AE4AdQBtADIAMwB6ADAAAAAIAE9KAQBRSgEALAD+H/L/MQQsAAAACgBXAFcAOABOAHUA
+bQAyADQAegAwAAAACABPSgEAUUoBACwA/h/y/0EELAAAAAoAVwBXADgATgB1AG0AMgA0AHoA
+MQAAAAgAT0oHAFFKBwAsAP4f8v9RBCwAAAAKAFcAVwA4AE4AdQBtADIANAB6ADIAAAAIAE9K
+CABRSggALAD+H/L/YQQsAAAACgBXAFcAOABOAHUAbQAyADYAegAwAAAACABPSgEAUUoBADAA
+/h/y/3EEMAAAAAoAVwBXADgATgB1AG0AMgA2AHoAMQAAAAwAT0oIAFFKCABDShAALAD+H/L/
+gQQsAAAACgBXAFcAOABOAHUAbQAyADYAegAyAAAACABPSggAUUoIACwA/h/y/5EELAAAAAoA
+VwBXADgATgB1AG0AMgA2AHoANAAAAAgAT0oHAFFKBwA0AP4f8v+hBDQAAAAKAFcAVwA4AE4A
+dQBtADIANwB6ADAAAAAQAE9KAQBRSgEAUEoAAF5KAgAsAP4f8v+xBCwAAAAKAFcAVwA4AE4A
+dQBtADIANwB6ADEAAAAIAE9KBwBRSgcALAD+H/L/wQQsAAAACgBXAFcAOABOAHUAbQAyADcA
+egAyAAAACABPSggAUUoIACwA/h/y/9EELAAAAAoAVwBXADgATgB1AG0AMgA3AHoAMwAAAAgA
+T0oBAFFKAQAsAP4f8v/hBCwAAAAKAFcAVwA4AE4AdQBtADIAOAB6ADAAAAAIAE9KAQBRSgEA
+QgD+H/L/8QRCAAAAGQBXAFcALQBEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgA
+IABGAG8AbgB0AAAAAAA0AFcQ8v8BBTQAAAAPAFMAdAByAG8AbgBnACAARQBtAHAAaABhAHMA
+aQBzAAAABgA1CAFcCAEmAFgQ8v8RBSYAAAAIAEUAbQBwAGgAYQBzAGkAcwAAAAYANggBXQgB
+NgBVEPL/IQU2AAAADQBJAG4AdABlAHIAbgBlAHQAIABMAGkAbgBrAAAADABCKgJwaAAA/wA+
+KgFGAFYQ8v8xBUYAAAAVAFYAaQBzAGkAdABlAGQAIABJAG4AdABlAHIAbgBlAHQAIABMAGkA
+bgBrAAAADABCKgxwaIAAgAA+KgFCAP4fAgJBBUIAAAAKACAAQwBoAGEAcgAgAEMAaABhAHIA
+AAAeAENKGABtSAkEc0gJBDUIAWFKGABfSAEEdEgBBFwIAUYA/h8BAGIFRgAAAAcASABlAGEA
+ZABpAG4AZwAAAA0AVQATpPAAFKR4AAYkAQAYAE9KCQBRSgkAQ0ocAFBKCgBeSgoAYUocADIA
+QhABAGIFMgAAAAkAVABlAHgAdAAgAGIAbwBkAHkAAAAKAFYAE6RkABSkZAAEAENKGAAcAC8Q
+YQVyBRwAAAAEAEwAaQBzAHQAAAACAFcAAAA8AP4fAQCCBTwAAAAHAEMAYQBwAHQAaQBvAG4A
+AAANAFgAE6R4ABSkeAAMJAEADgBDShgANggBYUoYAF0IASIA/h8BAJIFIgAAAAUASQBuAGQA
+ZQB4AAAABQBZAAwkAQAAADgA/h8BAKIFOAAAAAwATgBvAHIAbQBhAGwAIAAoAFcAZQBiACkA
+AAAKAFoAE6RkABSkZAAEAENKGAA2AP4fAQCyBTYAAAALAEIAbwBkAHkAIABUAGUAeAB0ACAA
+MwAAAAoAWwATpGQAFKRkAAQAQ0oYAHwA/h8BAMIFfAAAABEASABUAE0ATAAgAFAAcgBlAGYA
+bwByAG0AYQB0AHQAZQBkAAAANwBcAA3GMgAQlAMoB7wKUA7kEXgVDBmgHDQgyCNcJ/AqhC4Y
+Mqw1QDkAAAAAAAAAAAAAAAAAAAAAABAAT0oHAFFKBwBQSgcAXkoHAEAAQxABANIFQAAAABAA
+VABlAHgAdAAgAGIAbwBkAHkAIABpAG4AZABlAG4AdAAAAA4AXQBehNACXYQAAGCEAAAAADgA
+ShABAGIFOAAAAAgAUwB1AGIAdABpAHQAbABlAAAACABeAAMkAmEkAg4AQ0oYADUIAWFKGABc
+CAE4AP4fAQDyBTgAAAAIAGMAbwBtAHAAbwBzAGUAZgAAAAoAXwATpGQAFKRkAAwAT0oHAFFK
+BwBQSgsASgD+HwEAAgZKAAAADABIAFQATQBMACAAQQBkAGQAcgBlAHMAcwAAAAIAYAAeAE9K
+CwBRSgsAQ0oYADYIAVBKCwBeSgsAYUoYAF0IAS4AIBABABIGLgAAAAYARgBvAG8AdABlAHIA
+AAAQAGEAMSQADcYIAALgEMAhAQIAADoA/h8BACIGOgAAAAsAQgBvAGQAeQAgAFQAZQB4AHQA
+IAAyAAAAAgBiABAAT0oCAFFKAgBDShIAXkoCACwAHxABADIGLAAAAAYASABlAGEAZABlAHIA
+AAANAGMADcYIAALgEMAhAQIAAAAwAP4fYQVCBjAAAAAOAEYAcgBhAG0AZQAgAGMAbwBuAHQA
+ZQBuAHQAcwAAAAIAZAAAADQA/h8BAFIGNAAAAA4AVABhAGIAbABlACAAQwBvAG4AdABlAG4A
+dABzAAAABQBlAAwkAQAAAD4A/h9RBmIGPgAAAA0AVABhAGIAbABlACAASABlAGEAZABpAG4A
+ZwAAAAsAZgADJAFhJAEMJAEABgA1CAFcCAEAAAAADAEAAA0BAAABAAAAAAAAAAAA/////wIE
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAQAADQEAAAAAAAAACAAAAAAAAAAA
+AACABgAABAAAQAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAIAADCCwAARg8AAOASAAD+FAAACwAAAAwAAAANAAAADgAAAAAI
+AABQDAAAkgwAAP4MAABoDQAA1A0AAEIOAACuDgAAGA8AACIPAAAsDwAANg8AAEAPAAD2EAAA
+ahMAAO4TAACAFAAAABUAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgA
+AAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAADwAA8GwAAAAAAAbwGAAAAAYEAAACAAAA
+BQAAAAEAAAABAAAABgAAAB8AAfAsAAAAYgAH8CQAAAAGBiP0F3wAAAAANiQDkRECABAAAGoB
+AAABAAAAMkAAAAAAAABAAB7xEAAAAAQAAAgBAAAIAgAACPcAABAADwAC8BwDAAAQAAjwCAAA
+AAUAAAAFBAAADwAD8K4CAAAPAATwKAAAAAEACfAQAAAAAAAAAAAAAAABgP//AYD//wIACvAI
+AAAAAAQAAAUAAAAPAATwqgAAAKIMCvAIAAAAAgQAAAAKAADTAAvwTgAAAIAAAAABAIEAAAAA
+AIIAAAAAAIMAAAAAAIQAAAAAAIgAAAAAAIEB////AIIBAAAAAIMBAAAAAL8BEAAQAP8BAAAI
+AIQDAAAAAIYDfL4BAEMAIvEYAAAAjwMAAAAAkAMAAAAAkQMAAAAAkgMCAAAAAAAQ8AQAAAAA
+AAAAAAAR8AQAAAABAAAAAAAN8AQAAAAAAAEADwAE8G4AAABCAQrwCAAAAAMEAAAACgAAkwAL
+8DYAAABEAQQAAAB/AQEQAAC/AQAAEADAAQAAAADCAf///wDLATBXAADWAQEAAAD/AQgACAA/
+AgAAAgBDACLxGAAAAI8DAAAAAJADAgAAAJEDAAAAAJIDAgAAAA8ABPBuAAAAQgEK8AgAAAAE
+BAAAAAoAAJMAC/A2AAAARAEEAAAAfwEBEAAAvwEAABAAwAEAAAAAwgH///8AywEwVwAA1gEB
+AAAA/wEIAAgAPwIAAAIAQwAi8RgAAACPAwAAAACQAwIAAACRAwAAAACSAwIAAAAPAATw2AAA
+ALIECvAIAAAABQQAAAAKAADzAAvwiAAAAIEAAAAAAIIAAAAAAIMAAAAAAIQAAAAAAARBAQAA
+AAYBAAAAAD8BAAAAAIEB////AIMBAAAAAL8BEAAQAP8BAAAIAIODLgAAAIQD98ABAIYD98AB
+AL8DIAAgAAUABQAIAIkGAACvDgAAiQYAAOM6AADCPgAA4zoAANVCAACvDgAAiQYAAK8OAABD
+ACLxGAAAAI8DAAAAAJADAgAAAJEDAAAAAJIDAgAAAAAAEPAEAAAAAAAAAAAAEfAEAAAAAQAA
+AA8ABPBOAAAAEgAK8AgAAAABBAAAAA4AAHMAC/AqAAAAgQH///8AgwEAAAAAvwEQABAAwAEB
+AAAIywEAAAAA/wEIAAgAAQICAAAIAAAR8AQAAAABAAAAHAAAAGwAAADcAQAAQQIAAIAGAAAE
+BAAAAAAAAAYAAACsJgAABgAAAHQAAAAAAAMEAAAAAAAAmgAAAKwmAACaAAAAdAAAAAAAAgQA
+AI////9iAAAAOCYAABkHAABUBgAAAAAFBAAAbAAAAPf///+dAQAAKAEAAJRAAAAAAP//AQAA
+AA8AXwBQAGkAYwB0AHUAcgBlAEIAdQBsAGwAZQB0AHMAcAUAAH8GAAAAAAAAcQUAAH8GAAAB
+AAEAAAABAAAA/w//D/8P/w//D/8P/w//D/8PAAACAAAAAQABAAAAAAAAAAAAAAAAAAAAAAAA
+EAAAXoTQAmCEMP0VxgUAAdACBgIAAAApAAEAAAD/AAAAAAAAAAAAAAIAAAAAAAAAAAAQAABe
+hEACYITA/RXGBQABAAAGAAABAAAA/wAAAAAAAAAAAAACAAAAAAAAAAAAEAAAXoTQAmCEMP0V
+xgUAAQAABgAAAQAAAP8AAAAAAAAAAAAAAgAAAAAAAAAAABAAAF6EYANghKD8FcYFAAEAAAYA
+AAEAAAD/AAAAAAAAAAAAAAIAAAAAAAAAAAAQAABehPADYIQQ/BXGBQABAAAGAAABAAAA/wAA
+AAAAAAAAAAACAAAAAAAAAAAAEAAAXoSABGCEgPsVxgUAAQAABgAAAQAAAAAAAQAAAAAAAAAA
+AAAAAAAAAAAAABAAAF6EQAtghJj+FcYFAAFACwYCAAYALgABAAAA/wAAAAAAAAAAAAACAAAA
+AAAAAAAAEAAAXoSgBWCEYPoVxgUAAQAABgAAAQAAAP8AAAAAAAAAAAAAAgAAAAAAAAAAABAA
+AF6EMAZghND5FcYFAAEAAAYAAAEAAAABAAAAAAAAAAAAAAAAAAAA////////AQAAAAAA/0AA
+AAAAgAYAAAAAAAACEAAAAAAAAACABgAAUAAACAAAAAAMAAAARxaQAQAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAaQBtAGUAcwAgAE4AZQB3ACAAUgBvAG0AYQBuAAAA
+NRaQAQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFMAeQBtAGIAbwBsAAAA
+MyaQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAcgBpAGEAbAAAAEcW
+kAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAGkAbQBlAHMAIABOAGUA
+dwAgAFIAbwBtAGEAbgAAADUmkAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AABUAGEAaABvAG0AYQAAAD8WkAECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AABXAGkAbgBnAGQAaQBuAGcAcwAgADIAAAA3JpABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAVgBlAHIAZABhAG4AYQAAAD80kAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAABDAG8AdQByAGkAZQByACAATgBlAHcAAAA7BpABAgAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVwBpAG4AZwBkAGkAbgBnAHMAAABTJpABgBAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATABpAGIAZQByAGEAdABpAG8AbgAgAFMA
+YQBuAHMAAABBAHIAaQBhAGwAAAA/BpABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAARABlAGoAYQBWAHUAIABTAGEAbgBzAAAASSaQAYAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAEEAcgBpAGEAbAAgAFUAbgBpAGMAbwBkAGUAIABNAFMAAABCAAQA
+AQiNGAAA0AIAAGgBAAAAAHPC62bU3fWmAAAAAAEAAAAAAMkAAAASBgAAAgA/AAAABACDkD8A
+AADJAAAAEgYAAAIAPwAAAD8AAAAAAAAAJwMA8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAIAAAAAAAAAAAAAAAAAAPAQAN/f//0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+gAAAAAAAAAAAAAAA//8SAAAAAAAAAA8AQwBhAG4AZABpAGQAYQB0AGUAcwAgAE4AYQBtAGUA
+AAAAAAAAEwBzAGEAZwBhAHIAIABwACAAcwB1AHIAeQBhAHcAYQBuAHMAaABpAAMAcwBhAGkA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAJ4EAABEAGQA7gAjAQAAAAAAAAAAAAAAAAAAAACHAKUA6APoAwAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAADwAE8GYAAACyBArwCAAAAAEEAAAACgAAswAL8EIAAACBAAAA
+AACCAAAAAACDAAAAAACEAAAAAAAEQQEAAAAGAQAAAAA/AQAAAACBAf///wCDAQAAAAC/ARAA
+EAD/AQAACAAAABDwBAAAAAAAAIBiAAfw5AMAAAYGnRZ3tgAAAAB7OGUgEgIAEAAAwAMAAAEA
+AAAAAAAAAAAAAABuHvC4AwAAnRZ3tgAAAAB7OGUgEgIAEP+JUE5HDQoaCgAAAA1JSERSAAAA
+CQAAAAsIAwAAAJqHVykAAAMAUExURQAAAPf39///////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////88f9h0AAAADdFJOU///ANfKDUEA
+AAABYktHRACIBR1IAAAADGNtUFBKQ21wMDcxMgAAAANIAHO8AAAALklEQVQYV22MQQoAAAjC
+rP8/Ol10K8IJiuo7tbChbMtiRIMkMeT7m9B4e5RP2B4eJACOUomEagAAAABJRU5ErkJgggAA
+ngQAAEQAZADuACMBAAAAAAAAAAAAAAAAAAAAAIcApQDoA+gDAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAPAATwZgAAALIECvAIAAAAAQQAAAAKAACzAAvwQgAAAIEAAAAAAIIA
+AAAAAIMAAAAAAIQAAAAAAARBAQAAAAYBAAAAAD8BAAAAAIEB////AIMBAAAAAL8BEAAQAP8B
+AAAIAAAAEPAEAAAAAAAAgGIAB/DkAwAABgadFne2AAAAAHs4ZSASAgAQAADAAwAAAQAAAAAA
+AAAAAAAAAG4e8LgDAACdFne2AAAAAHs4ZSASAgAQ/4lQTkcNChoKAAAADUlIRFIAAAAJAAAA
+CwgDAAAAmodXKQAAAwBQTFRFAAAA9/f3////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////zx/2HQAAAAN0Uk5T//8A18oNQQAAAAFi
+S0dEAIgFHUgAAAAMY21QUEpDbXAwNzEyAAAAA0gAc7wAAAAuSURBVBhXbYxBCgAACMKs/z86
+XXQrwgmK6ju1sKFsy2JEgyQx5Pub0Hh7lE/YHh4kAI5SiYRqAAAAAElFTkSuQmCCAACeBAAA
+RABkAO4AIwEAAAAAAAAAAAAAAAAAAAAAhwClAOgD6AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAA8ABPBmAAAAsgQK8AgAAAABBAAAAAoAALMAC/BCAAAAgQAAAAAAggAAAAAA
+gwAAAAAAhAAAAAAABEEBAAAABgEAAAAAPwEAAAAAgQH///8AgwEAAAAAvwEQABAA/wEAAAgA
+AAAQ8AQAAAAAAACAYgAH8OQDAAAGBp0Wd7YAAAAAezhlIBICABAAAMADAAABAAAAAAAAAAAA
+AAAAbh7wuAMAAJ0Wd7YAAAAAezhlIBICABD/iVBORw0KGgoAAAANSUhEUgAAAAkAAAALCAMA
+AACah1cpAAADAFBMVEUAAAD39/f/////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+///////////////////////////////////PH/YdAAAAA3RSTlP//wDXyg1BAAAAAWJLR0QA
+iAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAAAC5JREFUGFdtjEEKAAAIwqz/PzpddCvC
+CYrqO7WwoWzLYkSDJDHk+5vQeHuUT9geHiQAjlKJhGoAAAAASUVORK5CYIIAAJ4EAABEAGQA
+7gAjAQAAAAAAAAAAAAAAAAAAAACHAKUA6APoAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAADwAE8GYAAACyBArwCAAAAAEEAAAACgAAswAL8EIAAACBAAAAAACCAAAAAACDAAAA
+AACEAAAAAAAEQQEAAAAGAQAAAAA/AQAAAACBAf///wCDAQAAAAC/ARAAEAD/AQAACAAAABDw
+BAAAAAAAAIBiAAfw5AMAAAYGnRZ3tgAAAAB7OGUgEgIAEAAAwAMAAAEAAAAAAAAAAAAAAABu
+HvC4AwAAnRZ3tgAAAAB7OGUgEgIAEP+JUE5HDQoaCgAAAA1JSERSAAAACQAAAAsIAwAAAJqH
+VykAAAMAUExURQAAAPf39///////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+/////////////////////////////88f9h0AAAADdFJOU///ANfKDUEAAAABYktHRACIBR1I
+AAAADGNtUFBKQ21wMDcxMgAAAANIAHO8AAAALklEQVQYV22MQQoAAAjCrP8/Ol10K8IJiuo7
+tbChbMtiRIMkMeT7m9B4e5RP2B4eJACOUomEagAAAABJRU5ErkJgggAAngQAAEQAZADuACMB
+AAAAAAAAAAAAAAAAAAAAAIcApQDoA+gDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAPAATwZgAAALIECvAIAAAAAQQAAAAKAACzAAvwQgAAAIEAAAAAAIIAAAAAAIMAAAAAAIQA
+AAAAAARBAQAAAAYBAAAAAD8BAAAAAIEB////AIMBAAAAAL8BEAAQAP8BAAAIAAAAEPAEAAAA
+AAAAgGIAB/DkAwAABgadFne2AAAAAHs4ZSASAgAQAADAAwAAAQAAAAAAAAAAAAAAAG4e8LgD
+AACdFne2AAAAAHs4ZSASAgAQ/4lQTkcNChoKAAAADUlIRFIAAAAJAAAACwgDAAAAmodXKQAA
+AwBQTFRFAAAA9/f3////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////zx/2HQAAAAN0Uk5T//8A18oNQQAAAAFiS0dEAIgFHUgAAAAM
+Y21QUEpDbXAwNzEyAAAAA0gAc7wAAAAuSURBVBhXbYxBCgAACMKs/z86XXQrwgmK6ju1sKFs
+y2JEgyQx5Pub0Hh7lE/YHh4kAI5SiYRqAAAAAElFTkSuQmCCAACeBAAARABkAO4AIwEAAAAA
+AAAAAAAAAAAAAAAAhwClAOgD6AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8A
+BPBmAAAAsgQK8AgAAAABBAAAAAoAALMAC/BCAAAAgQAAAAAAggAAAAAAgwAAAAAAhAAAAAAA
+BEEBAAAABgEAAAAAPwEAAAAAgQH///8AgwEAAAAAvwEQABAA/wEAAAgAAAAQ8AQAAAAAAACA
+YgAH8OQDAAAGBp0Wd7YAAAAAezhlIBICABAAAMADAAABAAAAAAAAAAAAAAAAbh7wuAMAAJ0W
+d7YAAAAAezhlIBICABD/iVBORw0KGgoAAAANSUhEUgAAAAkAAAALCAMAAACah1cpAAADAFBM
+VEUAAAD39/f/////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+///////////////////PH/YdAAAAA3RSTlP//wDXyg1BAAAAAWJLR0QAiAUdSAAAAAxjbVBQ
+SkNtcDA3MTIAAAADSABzvAAAAC5JREFUGFdtjEEKAAAIwqz/PzpddCvCCYrqO7WwoWzLYkSD
+JDHk+5vQeHuUT9geHiQAjlKJhGoAAAAASUVORK5CYIIAAJ4EAABEAGQA7gAjAQAAAAAAAAAA
+AAAAAAAAAACHAKUA6APoAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAE8GYA
+AACyBArwCAAAAAEEAAAACgAAswAL8EIAAACBAAAAAACCAAAAAACDAAAAAACEAAAAAAAEQQEA
+AAAGAQAAAAA/AQAAAACBAf///wCDAQAAAAC/ARAAEAD/AQAACAAAABDwBAAAAAAAAIBiAAfw
+5AMAAAYGnRZ3tgAAAAB7OGUgEgIAEAAAwAMAAAEAAAAAAAAAAAAAAABuHvC4AwAAnRZ3tgAA
+AAB7OGUgEgIAEP+JUE5HDQoaCgAAAA1JSERSAAAACQAAAAsIAwAAAJqHVykAAAMAUExURQAA
+APf39///////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+/////////////88f9h0AAAADdFJOU///ANfKDUEAAAABYktHRACIBR1IAAAADGNtUFBKQ21w
+MDcxMgAAAANIAHO8AAAALklEQVQYV22MQQoAAAjCrP8/Ol10K8IJiuo7tbChbMtiRIMkMeT7
+m9B4e5RP2B4eJACOUomEagAAAABJRU5ErkJgggAAngQAAEQAZADuACMBAAAAAAAAAAAAAAAA
+AAAAAIcApQDoA+gDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAATwZgAAALIE
+CvAIAAAAAQQAAAAKAACzAAvwQgAAAIEAAAAAAIIAAAAAAIMAAAAAAIQAAAAAAARBAQAAAAYB
+AAAAAD8BAAAAAIEB////AIMBAAAAAL8BEAAQAP8BAAAIAAAAEPAEAAAAAAAAgGIAB/DkAwAA
+BgadFne2AAAAAHs4ZSASAgAQAADAAwAAAQAAAAAAAAAAAAAAAG4e8LgDAACdFne2AAAAAHs4
+ZSASAgAQ/4lQTkcNChoKAAAADUlIRFIAAAAJAAAACwgDAAAAmodXKQAAAwBQTFRFAAAA9/f3
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
+////////zx/2HQAAAAN0Uk5T//8A18oNQQAAAAFiS0dEAIgFHUgAAAAMY21QUEpDbXAwNzEy
+AAAAA0gAc7wAAAAuSURBVBhXbYxBCgAACMKs/z86XXQrwgmK6ju1sKFsy2JEgyQx5Pub0Hh7
+lE/YHh4kAI5SiYRqAAAAAElFTkSuQmCCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAA7KUBAU0gCQQAAAgSvwAAAAAAADAAAAAAAAgAAAAVAAAOAENhb2xhbjgw
+AAAAAAAAAAAAAAAAAAAAAAAACQQWAJxBAAAAAAAAAAAAAHIFAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAA0BAAAAAAAA//8PAAsAAAAEAAAA//8PAA8AAAARAAAA//8PAAAAAAAAAAAAAAAAAAAA
+AACIAAAAAACIFQAAAAAAAIgVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgV
+AAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsFQAANAAAACAWAAAkAAAA
+RBYAAIwAAAAAAAAAAAAAACYdAAAGAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAOUaAAAmAAAACxsAAAwAAAAXGwAACAAAAAMdAAACAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCAAAGICAACOIgAAdAAAABEd
+AAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+aRoAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQFgAAmQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAACIFQAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHxsAAB4A
+AADjHAAAGAAAAMAVAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+xwAAAgAAAAAAAAAAAAAAAUdAAAMAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAIA2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAgACAAQwBVAFIAUgBJAEMAVQBMAFUATQAgAFYA
+SQBUAEEARQANAAgADQBSAGkAYwBoAGEAcgBkACAAQQBuAGQAZQByAHMAbwBuACAACwAxADIA
+MwA0ACwAIABXAGUAcwB0ACAANgA3ACAAUwB0AHIAZQBlAHQALAAgAAsAQwBhAHIAbABpAHMA
+bABlACwAIABNAEEAIAAwADEANwA0ADEALAAgAAsAKAAxADIAMwApAC0ANAA1ADYAIAA3ADgA
+OQAwAC4ADQAIAAsAAQAgAEMAYQByAGUAZQByACAATwBiAGoAZQBjAHQAaQB2AGUADQANAEQA
+ZQBzAGkAcgBlACAAYQAgAGMAaABhAGwAbABlAG4AZwBpAG4AZwAgAHAAbwBzAGkAdABpAG8A
+bgAgAGkAbgAgAHQAaABlACAAYQByAGUAYQAgAG8AZgAgAFMAbwBmAHQAdwBhAHIAZQAgAGQA
+ZQB2AGUAbABvAHAAbQBlAG4AdAAsACAAdwBoAGkAYwBoACAAdwBpAGwAbAAgAHUAdABpAGwA
+aQB6AGUAIABtAHkAIABpAG4AdABlAHIAZABpAHMAYwBpAHAAbABpAG4AYQByAHkALAAgAHQA
+ZQBjAGgAbgBpAGMAYQBsACwAIABhAG4AZAAgAHMAbwBmAHQAdwBhAHIAZQAgAGQAZQB2AGUA
+bABvAHAAbQBlAG4AdAAgAGwAaQBmAGUAIABjAHkAYwBsAGUAIABzAGsAaQBsAGwAcwAgAGkA
+bgAgAGEAIABwAHIAbwBkAHUAYwB0AGkAdgBlACwAIABlAG4AdABoAHUAcwBpAGEAcwB0AGkA
+YwAgAGEAbgBkACAAaQBuACAAYQAgAHQAZQBhAG0ALQBvAHIAaQBlAG4AdABlAGQAIABlAG4A
+dgBpAHIAbwBuAG0AZQBuAHQALgANAA0AAQAgAEUAZAB1AGMAYQB0AGkAbwBuAGEAbAAgAFMA
+dQBtAG0AYQByAHkADQBQ8CAAQwBvAG0AcABsAGUAdABlAGQAIABNAGEAcwB0AGUAcgBzACAA
+aQBuACAAQwBvAG0AcAB1AHQAZQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuACAAKABNAC4A
+QwAuAEEAKQAgAHcAaQB0AGgAIAA2ADMALgA3ADEAJQAgAA0AAQAgAFQAZQBjAGgAbgBpAGMA
+YQBsACAASwBuAG8AdwBsAGUAZABnAGUAIABTAHUAbQBtAGEAcgB5AA0ACAANAAEAIAAgAEQA
+ZQB0AGEAaQBsAGUAZAAgAEUAZAB1AGMAYQB0AGkAbwBuAGEAbAAgAEEAYwBhAGQAZQBtAGkA
+YwAgAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwANAEUAeABhAG0AaQBuAGEAdABpAG8AbgAHAEIA
+bwBhAHIAZAAvAFUAbgBpAHYAZQByAHMAaQB0AHkABwBQAGEAcwBzAGkAbgBnACAAWQBlAGEA
+cgAHAFAAZQByAGMAZQBuAHQAYQBnAGUABwAHAAgATQAuAEMALgBBACAABwAHACAAIAAgACAA
+IAAgACAAIAAgACAAUwBlAG0AZQBzAHQAZQByACAAVgBJAAcAQwBhAHIAbABpAHMAbABlACAA
+VQBuAGkAdgBlAHIAcwBpAHQAeQAHADIAMAAxADEABwA2ADMALgA3ADEABwAHACAAIAAgACAA
+IAAgACAAIAAgACAAUwBlAG0AZQBzAHQAZQByACAAVgAHAEMAYQByAGwAaQBzAGwAZQAgAFUA
+bgBpAHYAZQByAHMAaQB0AHkABwAyADAAMQAwAAcANgA3AC4AMQA3AAcABwAgACAAIAAgACAA
+IAAgACAAIAAgAFMAZQBtAGUAcwB0AGUAcgAgAEkAVgAHAEMAYQByAGwAaQBzAGwAZQAgAFUA
+bgBpAHYAZQByAHMAaQB0AHkABwAyADAAMQAwAAcANgAyAC4AOAAwAAcABwAgACAAIAAgACAA
+IAAgACAAIAAgAFMAZQBtAGUAcwB0AGUAcgAgAEkASQBJAAcAQwBhAHIAbABpAHMAbABlACAA
+VQBuAGkAdgBlAHIAcwBpAHQAeQAHADIAMAAxADAABwA2ADIALgAyADUABwAHACAAIAAgACAA
+IAAgACAAIAAgACAAUwBlAG0AZQBzAHQAZQByACAASQBJAAcAQwBhAHIAbABpAHMAbABlACAA
+VQBuAGkAdgBlAHIAcwBpAHQAeQAHADIAMAAwADkABwA2ADUALgA3ADUABwAHACAAIAAgACAA
+IAAgACAAIAAgACAAUwBlAG0AZQBzAHQAZQByACAASQAHAEMAYQByAGwAaQBzAGwAZQAgAFUA
+bgBpAHYAZQByAHMAaQB0AHkABwAyADAAMAA5AAcANgAzAC4AMwAzAAcABwAHAAcABwAHAAcA
+BwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAAQAgAFMAdQBiAGoAZQBjAHQAIAAgAEYA
+YQBtAGkAbABpAGEAcgBpAHQAeQA6AA0AUPAgAEQAYQB0AGEAYgBhAHMAZQAgAE0AYQBuAGEA
+ZwBlAG0AZQBuAHQAIABDAG8AbgBjAGUAcAB0AHMADQBQ8CAATwBiAGoAZQBjAHQAIABPAHIA
+aQBlAG4AdABlAGQAIABQAHIAbwBnAHIAYQBtAG0AaQBuAGcAIABDAG8AbgBjAGUAcAB0AA0A
+UPAgAFMAeQBzAHQAZQBtACAAQQBuAGEAbAB5AHMAaQBzACAAYQBuAGQAIABEAGUAcwBpAGcA
+bgANAFDwIABzAG8AZgB0AHcAYQByAGUAIABFAG4AZwBpAG4AZQBlAHIAaQBuAGcAIAANAFDw
+IABPAHAAZQByAGEAdABpAG4AZwAgAFMAeQBzAHQAZQBtACAAQwBvAG4AYwBlAHAAdAANAFDw
+IABVAG4AaQB4ACAAUwBoAGUAbABsACAAUAByAG8AZwByAGEAbQBtAGkAbgBnAA0AAQAgAEEA
+cgBlAGEAIABvAGYAIABJAG4AdABlAHIAZQBzAHQAOgANAFDwIABTAG8AZgB0AHcAYQByAGUA
+IABkAGUAdgBlAGwAbwBwAG0AZQBuAHQAIAAgAHUAcwBpAG4AZwAgAEoAYQB2AGEALwAuAE4A
+ZQB0ACAAdABlAGMAaABuAG8AbABvAGcAaQBlAHMADQBQ8CAATABlAGEAcgBuAGkAbgBnACAA
+bgBlAHcAIAB0AGUAYwBoAG4AbwBsAG8AZwBpAGUAcwAuAA0AAQAgAFAAZQByAHMAbwBuAGEA
+bAAgAEQAZQB0AGEAaQBsAHMADQBOAGEAbQBlADoAIAAgAAkACQBSAGkAYwBoAGEAcgBkACAA
+QQBuAGQAZQByAHMAbwBuAA0AQwB1AHIAcgBlAG4AdAAgAEEAZABkAHIAZQBzAHMACQAxADIA
+MwA0ACwAIABXAGUAcwB0ACAANgA3ACAAUwB0AHIAZQBlAHQALAAgAAsAQwBhAHIAbABpAHMA
+bABlACwAIABNAEEAIAAwADEANwA0ADEALAAgAAsAKAAxADIAMwApAC0ANAA1ADYAIAA3ADgA
+OQAwAC4ADQBEAGEAdABlACAAbwBmACAAQgBpAHIAdABoADoAIAAJADEAcwB0ACAAagB1AG4A
+ZQANAEcAZQBuAGQAZQByADoAIAAJAAkATQBhAGwAZQAJAA0ADQABAA0ATABhAG4AZwB1AGEA
+ZwBlAHMAIABLAG4AbwB3AG4AIAAHAEMALAAgAEMAKwArACwASgBBAFYAQQAsACAALgBOAEUA
+VAAgADMALgA1ACwAIABBAFMAUAAuAE4ARQBUACAAMwAuADUALABWAEIAIAAyADAAMAA4ACwA
+cAB5AHQAaABvAG4ABwAHAEQAQgBNAFMALwBSAEQAQgBNAFMAIAAHAE8AUgBBAEMATABFACwA
+TQBTACAAQQBjAGMAZQBzAHMALAAgAFMAUQBMACwAIABQAG8AcwB0AGcAcgBlAHMAcwAgAFMA
+UQBMAAcABwBXAGUAYgAgAFQAZQBjAGgAbgBvAGwAbwBnAHkABwBIAFQATQBMACwASgBBAFYA
+QQAgAFMAYwByAGkAcAB0AAcABwBPAHAAZQByAGEAdABpAG4AZwAgAFMAeQBzAHQAZQBtAAcA
+VwBpAG4AZABvAHcAcwAgACgAOQA4AC8AMgAwADAANwAvAFgAUAAgAC8AVgBJAFMAVABBACwA
+NwApACwAdQBiAHUAbgB0AHUABwAHAE8AdABoAGUAcgAHAE4AZQB0AHcAbwByAGsAIABQAHIA
+bwBnAHIAYQBtAG0AaQBuAGcAIABpAG4AIABKAGEAdgBhACwAIABVAG4AaQB4ACAAUwBoAGUA
+bABsACAAUAByAG8AZwByAGEAbQBtAGkAbgBnAAcABwAgAA0ADQANAA0AAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAWCAAAOAgAADoIAAA8CAAAXAgAANgI
+AADaCAAA3AgAAN4IAADgCAAAAgkAAAQJAADMCgAAzgoAANAKAADSCgAA+goAAPwKAAD+CgAA
+EgsAAGALAABiCwAAbAsAAHwLAAB+CwAAgAsAALgLAAC6CwAAvAsAAL4LAADACwAAwgsAAPn5
+9Ovh2PTMv7bMANisn7aVjoeHf3h4eGu2YfQAVLZhAAAAABlVCAEDauANAAAwSlAAXkoEAE9K
+BABRSgQAEj4qATUIAV5KBABPSgQAUUoEAAAZVQgBA2pACQAAMEpQAF5KBABPSgQAUUoEAAxe
+SgQAT0oEAFFKBAAADzUIAV5KBABPSgQAUUoEAAxDShIAT0oCAFFKAgAADENKEgBPSgUAUUoF
+AAATMEpQAD4qAV5KBABPSgQAUUoEABlVCAEDaqAEAAAwSlAAXkoEAE9KBABRSgQAEkNKEgA+
+KgE1CAFPSgIAUUoCAAAQMEpQAF5KBABPSgQAUUoEAAAZVQgBA2oAAAAAMEpQAF5KBABPSgQA
+UUoEABcwSlAAQ0oUAD4qAV5KBABPSgQAUUoEABBDShQAXkoEAE9KBABRSgQAABNDShQANQgB
+XkoEAE9KBABRSgQAEENKFABtSAAEc0gABG5IAAQACQNqAAAAAFUIAQxDShYAT0oCAFFKAgAg
+wgsAABYMAAAuDAAAUAwAAGoMAACADAAAggwAAIQMAACGDAAAkgwAAKgMAADADAAA0AwAAOgM
+AADyDAAA/gwAABQNAAAqDQAAOg0AAFINAABcDQAAaA0AAH4NAACWDQAApg0AAL4NAADIDQAA
+1A0AAOoNAAAEDgAAFA4AACwOAAA2DgAAQg4AAFgOAABwDgAAgA4AAJgOAACiDgAArg4AAMQO
+AADaDgAA6g4AAAIPAAAMDwAAGA8AABwPAAAeDwAAIA8AACIPAAAmDwAAKA8AACoPAAAsDwAA
+MA8AADIPAAA0DwAANg8AADoPAAA8DwAAPg8AAEAPAABCDwAARA8AAEYPAAD27Ozs7ADn39/Y
+2M/Y2NjY2M/Y2NjY2M/Y2MnY2M/Y2MnY2M/Y2MnY2M/Y2Mnf2NjYvdjY2N/Y2Njf2NjYALCn
+AAAAAAAAAAAAABAwSlAAXkoEAE9KBABRSgQAABlVCAEDaoASAAAwSlAAXkoEAE9KBABRSgQA
+FkNKEgA1CAFhShIAXAgBT0oGAFFKBgAAC1wIAU9KBgBRSgYAEENKFABeSgQAT0oEAFFKBAAA
+DF5KBABPSgQAUUoEAAAPNQgBXkoEAE9KBABRSgQACQNqAAAAAFUIARNDShIANQgBXkoEAE9K
+BABRSgQAEj4qATUIAV5KBABPSgQAUUoEAEBGDwAAbg8AAHIPAAB0DwAAdg8AALAPAACyDwAA
+tA8AAPwPAAD+DwAAABAAADYQAAA4EAAAOhAAAGYQAABoEAAAahAAAJwQAACeEAAAoBAAAM4Q
+AADQEAAA0hAAAPYQAAD4EAAA+hAAAGARAABiEQAAZBEAAJoRAACcEQAAnhEAAMARAADMEQAA
+0hEAAPQRAAASEgAAFBIAAIwSAACqEgAArhIAALISAAC+EgAA0hIAANoSAADeEgAA4BIAAPLm
+4dra4dra4dra4dra4dra4drazcS64dra4drarcS6pdqbpZaNpdqF2qXapQAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9IKgFeSgQAT0oEAFFKBAAQQ0oUAF5KBABPSgQAUUoE
+AAAIT0oGAFFKBgAAE0NKFAA1CAFeSgQAT0oEAFFKBAAPNQgBXkoEAE9KBABRSgQAGVUIAQNq
+wBsAADBKUABeSgQAT0oEAFFKBAASQ0oSAD4qATUIAU9KAgBRSgIAABAwSlAAXkoEAE9KBABR
+SgQAABlVCAEDaiAXAAAwSlAAXkoEAE9KBABRSgQADF5KBABPSgQAUUoEAAAIT0oFAFFKBQAA
+F0NKEgA1CAFeSgIAYUoSAE9KAgBRSgIAGkNKEgA+KgE1CAFeSgIAYUoSAE9KAgBRSgIALuAS
+AADiEgAAAhMAAAYTAABqEwAAhBMAAM4TAADuEwAAEBQAADQUAAB+FAAAjBQAAPQUAAD+FAAA
+8eri3erd193q3eLdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALXAgB
+T0oGAFFKBgAIT0oGAFFKBgAAD15KBABcCAFPSgQAUUoEAAxeSgQAT0oEAFFKBAAAHFUIAQNq
+YCAAADBKUABeSgQAPAgBT0oEAFFKBAANAAgAADgIAAA8CAAA2AgAAAIJAAAECQAAzAoAAM4K
+AAD6CgAAfAsAALgLAAC8CwAAFgwAAC4MAABQDAAA9wAAAAAAAAAAAAAAAPIAAAAAAAAAAAAA
+AADkAAAAAAAAAAAAAAAA1QAAAAAAAAAAAAAAAMYAAAAAAAAAAAAAAAC3AAAAAAAAAAAAAAAA
+sgAAAAAAAAAAAAAAAK0AAAAAAAAAAAAAAACoAAAAAAAAAAAAAAAAowAAAAAAAAAAAAAAAJ4A
+AAAAAAAAAAAAAACZAAAAAAAAAAAAAAAAiwAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAA
+AAAAAAANAAAWJAFJZgEAAAASZGgBAQADJAFhJAFHJAAADQAAFiQBSWYBAAAAEmRoAQEAAyQB
+YSQBRyQAAAQAABJkaAEBAAAEAAASZGgBAQAABAAAEmRoAQEAAAQAABJkaAEBAAAEAAASZGgB
+AQAABAAAEmRoAQEAAA5aAAMkA2EkA16EAABdhNACYIQAABOkAAAUpAAAAA5aAAMkA2EkA16E
+AABdhNACYIQAABOkAAAUpAAAAA5aAAMkA2EkA16EAABdhKAFYIQAABOkAAAUpAAADlYAAyQB
+YSQBDcYIAAJwCEALAAATpAAAFKQAAAAEXgADJANhJAMAB14AXoSAFl2EAABghNACAA5QDAAA
+agwAAIAMAACCDAAAkgwAAPEAAAAAAAAAAAAAAADjAAAAAAAAAAAAAAAAZgAAAAAAAAAAAAAA
+AFsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAKAAAWJAFJZgEAAAASZGgBAQBHJAAAfAAAFiQBFyQBSWYBAAAA
+CNZcAARi/8ILeBlyH8IkgAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEBAAQBAQAEAQEAAAAA
+AIAAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAQBAQAJ1ggAAQABAAEAARLW
+KAAAAP/l5eUAAAAAAAD/5eXlAAAAAAAA/+Xl5QAAAAAAAP/l5eUAAABw1igAAAD/5eXlAAAA
+AAAA/+Xl5QAAAAAAAP/l5eUAAAAAAAD/5eXlAAAANNYGAAEBAwAANNYGAAECA2wANNYGAAEE
+AwAANNYGAAEIA2wAAzQAZjQAAA0AABYkAUlmAQAAABJkaAEBAAMkAWEkAUckAAANAAAWJAFJ
+ZgEAAAASZGgBAQADJAFhJAFHJAAABJIMAACUDAAAwAwAAOgMAADyDAAA/gwAAMQAAAAAAAAA
+AAAAAAC5AAAAAAAAAAAAAAAArgAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACSAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAFiQBSWYB
+AAAAEmRoAQEAAyQBYSQBRyQAAA0AABYkAUlmAQAAABJkaAEBAAMkAWEkAUckAAAKAAAWJAFJ
+ZgEAAAASZGgBAQBHJAAACgAAFiQBSWYBAAAAEmRoAQEARyQAADoAABYkARckAUlmAQAAAAjW
+GgABYv/CJIAAAAAEAQEABAEBAAQBAQAEAQEACdYCAAAS1goAAAD/AAAA/wAAcNYKAAAA/wAA
+AP8AADTWBgABAQMAADTWBgABAgNsADTWBgABBAMAADTWBgABCANsAAM0AGY0AAAF/gwAAAAN
+AAAqDQAAUg0AAFwNAABoDQAAggAAAAAAAAAAAAAAAHcAAAAAAAAAAAAAAABsAAAAAAAAAAAA
+AAAAXgAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAWJAFJ
+ZgEAAAASZGgBAQADJAFhJAFHJAAADQAAFiQBSWYBAAAAEmRoAQEAAyQBYSQBRyQAAAoAABYk
+AUlmAQAAABJkaAEBAEckAAAKAAAWJAFJZgEAAAASZGgBAQBHJAAAfAAAFiQBFyQBSWYBAAAA
+CNZcAARi/8IL0hlyH8IkgAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEBAAQBAQAEAQEAAAAA
+AIAAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAQBAQAJ1ggAAAAAAAAAABLW
+KAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AABw1igAAAD/AAAA/wAA
+AAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAANNYGAAEBAwAANNYGAAECA2wANNYGAAEE
+AwAANNYGAAEIA2wAAzQAZjQAAAVoDQAAag0AAJYNAAC+DQAAyA0AANQNAACCAAAAAAAAAAAA
+AAAAdwAAAAAAAAAAAAAAAGwAAAAAAAAAAAAAAABeAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAA0AABYkAUlmAQAAABJkaAEBAAMkAWEkAUckAAANAAAWJAFJ
+ZgEAAAASZGgBAQADJAFhJAFHJAAACgAAFiQBSWYBAAAAEmRoAQEARyQAAAoAABYkAUlmAQAA
+ABJkaAEBAEckAAB8AAAWJAEXJAFJZgEAAAAI1lwABGL/wgvSGXIfwiSAAAAABAEBAAQBAQAE
+AQEAAAAAAIAAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEB
+AAQBAQAEAQEABAEBAAnWCAAAAAAAAAAAEtYoAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA
+/wAAAAAA/wAAAP8AAHDWKAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/
+AAA01gYAAQEDAAA01gYAAQIDbAA01gYAAQQDAAA01gYAAQgDbAADNABmNAAABdQNAADWDQAA
+BA4AACwOAAA2DgAAQg4AAIIAAAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAbAAAAAAAAAAAAAAA
+AF4AAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAFiQBSWYB
+AAAAEmRoAQEAAyQBYSQBRyQAAA0AABYkAUlmAQAAABJkaAEBAAMkAWEkAUckAAAKAAAWJAFJ
+ZgEAAAASZGgBAQBHJAAACgAAFiQBSWYBAAAAEmRoAQEARyQAAHwAABYkARckAUlmAQAAAAjW
+XAAEYv/CC9IZch/CJIAAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAAAAACA
+AAAABAEBAAQBAQAEAQEAAAAAAIAAAAAEAQEABAEBAAQBAQAEAQEACdYIAAAAAAAAAAAS1igA
+AAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAAcNYoAAAA/wAAAP8AAAAA
+AP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AADTWBgABAQMAADTWBgABAgNsADTWBgABBAMA
+ADTWBgABCANsAAM0AGY0AAAFQg4AAEQOAABwDgAAmA4AAKIOAACuDgAAggAAAAAAAAAAAAAA
+AHcAAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAAXgAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAANAAAWJAFJZgEAAAASZGgBAQADJAFhJAFHJAAADQAAFiQBSWYB
+AAAAEmRoAQEAAyQBYSQBRyQAAAoAABYkAUlmAQAAABJkaAEBAEckAAAKAAAWJAFJZgEAAAAS
+ZGgBAQBHJAAAfAAAFiQBFyQBSWYBAAAACNZcAARi/8IL0hlyH8IkgAAAAAQBAQAEAQEABAEB
+AAAAAACAAAAABAEBAAQBAQAEAQEAAAAAAIAAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAE
+AQEABAEBAAQBAQAJ1ggAAAAAAAAAABLWKAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8A
+AAAAAP8AAAD/AABw1igAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAA
+NNYGAAEBAwAANNYGAAECA2wANNYGAAEEAwAANNYGAAEIA2wAAzQAZjQAAAWuDgAAsA4AANoO
+AAACDwAADA8AABgPAACCAAAAAAAAAAAAAAAAdwAAAAAAAAAAAAAAAGwAAAAAAAAAAAAAAABe
+AAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AABYkAUlmAQAA
+ABJkaAEBAAMkAWEkAUckAAANAAAWJAFJZgEAAAASZGgBAQADJAFhJAFHJAAACgAAFiQBSWYB
+AAAAEmRoAQEARyQAAAoAABYkAUlmAQAAABJkaAEBAEckAAB8AAAWJAEXJAFJZgEAAAAI1lwA
+BGL/wgvSGXIfwiSAAAAABAEBAAQBAQAEAQEAAAAAAIAAAAAEAQEABAEBAAQBAQAAAAAAgAAA
+AAQBAQAEAQEABAEBAAAAAACAAAAABAEBAAQBAQAEAQEABAEBAAnWCAAAAAAAAAAAEtYoAAAA
+/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AAHDWKAAAAP8AAAD/AAAAAAD/
+AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AAA01gYAAQEDAAA01gYAAQIDbAA01gYAAQQDAAA0
+1gYAAQgDbAADNABmNAAABRgPAAAaDwAAHA8AAB4PAAAgDwAAIg8AAIIAAAAAAAAAAAAAAAB3
+AAAAAAAAAAAAAAAAbAAAAAAAAAAAAAAAAF4AAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAADQAAFiQBSWYBAAAAEmRoAQEAAyQBYSQBRyQAAA0AABYkAUlmAQAA
+ABJkaAEBAAMkAWEkAUckAAAKAAAWJAFJZgEAAAASZGgBAQBHJAAACgAAFiQBSWYBAAAAEmRo
+AQEARyQAAHwAABYkARckAUlmAQAAAAjWXAAEYv/CC9IZch/CJIAAAAAEAQEABAEBAAQBAQAA
+AAAAgAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEBAAQBAQAEAQEAAAAAAIAAAAAEAQEABAEB
+AAQBAQAEAQEACdYIAAAAAAAAAAAS1igAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AAAA
+AAD/AAAA/wAAcNYoAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AADTW
+BgABAQMAADTWBgABAgNsADTWBgABBAMAADTWBgABCANsAAM0AGY0AAAFIg8AACQPAAAmDwAA
+KA8AACoPAAAsDwAAggAAAAAAAAAAAAAAAHcAAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAAXgAA
+AAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAWJAFJZgEAAAAS
+ZGgBAQADJAFhJAFHJAAADQAAFiQBSWYBAAAAEmRoAQEAAyQBYSQBRyQAAAoAABYkAUlmAQAA
+ABJkaAEBAEckAAAKAAAWJAFJZgEAAAASZGgBAQBHJAAAfAAAFiQBFyQBSWYBAAAACNZcAARi
+/8IL0hlyH7gkgAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEBAAQBAQAEAQEAAAAAAIAAAAAE
+AQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAQBAQAJ1ggAAAAAAAAAABLWKAAAAP8A
+AAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AABw1igAAAD/AAAA/wAAAAAA/wAA
+AP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAANNYGAAEBAwAANNYGAAECA2wANNYGAAEEAwAANNYG
+AAEIA2wAAzQAZjQAAAUsDwAALg8AADAPAAAyDwAANA8AADYPAACCAAAAAAAAAAAAAAAAdwAA
+AAAAAAAAAAAAAGwAAAAAAAAAAAAAAABeAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAA0AABYkAUlmAQAAABJkaAEBAAMkAWEkAUckAAANAAAWJAFJZgEAAAAS
+ZGgBAQADJAFhJAFHJAAACgAAFiQBSWYBAAAAEmRoAQEARyQAAAoAABYkAUlmAQAAABJkaAEB
+AEckAAB8AAAWJAEXJAFJZgEAAAAI1lwABGL/wgvSGXIfuCSAAAAABAEBAAQBAQAEAQEAAAAA
+AIAAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEBAAQBAQAE
+AQEABAEBAAnWCAAAAAAAAAAAEtYoAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA
+/wAAAP8AAHDWKAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AAA01gYA
+AQEDAAA01gYAAQIDbAA01gYAAQQDAAA01gYAAQgDbAADNABmNAAABTYPAAA4DwAAOg8AADwP
+AAA+DwAAQA8AAIIAAAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAbAAAAAAAAAAAAAAAAF4AAAAA
+AAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAFiQBSWYBAAAAEmRo
+AQEAAyQBYSQBRyQAAA0AABYkAUlmAQAAABJkaAEBAAMkAWEkAUckAAAKAAAWJAFJZgEAAAAS
+ZGgBAQBHJAAACgAAFiQBSWYBAAAAEmRoAQEARyQAAHwAABYkARckAUlmAQAAAAjWXAAEYv/C
+C9IZch+4JIAAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEB
+AAQBAQAEAQEAAAAAAIAAAAAEAQEABAEBAAQBAQAEAQEACdYIAAAAAAAAAAAS1igAAAD/AAAA
+/wAAAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAAcNYoAAAA/wAAAP8AAAAAAP8AAAD/
+AAAAAAD/AAAA/wAAAAAA/wAAAP8AADTWBgABAQMAADTWBgABAgNsADTWBgABBAMAADTWBgAB
+CANsAAM0AGY0AAAFQA8AAEIPAAByDwAAsA8AAPwPAAA2EAAAZhAAAJwQAADOEAAA9hAAAIIA
+AAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAHMAAAAAAAAAAAAAAABuAAAA
+AAAAAAAAAAAAaQAAAAAAAAAAAAAAAGQAAAAAAAAAAAAAAABfAAAAAAAAAAAAAAAAWgAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAABJkaAEBAAAEAAASZGgBAQAABAAA
+EmRoAQEAAAQAABJkaAEBAAAEAAASZGgBAQAABAAAEmRoAQEAAAQAABJkaAEBAAAEAAASZGgB
+AQAAfAAAFiQBFyQBSWYBAAAACNZcAARi/8IL0hlyH7gkgAAAAAQBAQAEAQEABAEBAAAAAACA
+AAAABAEBAAQBAQAEAQEAAAAAAIAAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEB
+AAQBAQAJ1ggAAAAAAAAAABLWKAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8A
+AAD/AABw1igAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAANNYGAAEB
+AwAANNYGAAECA2wANNYGAAEEAwAANNYGAAEIA2wAAzQAZjQAAAn2EAAAYBEAAJoRAADAEQAA
+9BEAAIwSAAC+EgAA3hIAAOASAADkEgAABhMAAGoTAAD6AAAAAAAAAAAAAAAA9QAAAAAAAAAA
+AAAAAPAAAAAAAAAAAAAAAADoAAAAAAAAAAAAAAAA3QAAAAAAAAAAAAAAANUAAAAAAAAAAAAA
+AADNAAAAAAAAAAAAAAAAxQAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAC1AAAAAAAAAAAAAAAA
+qgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAoAABYkAUlmAQAAABJkaAEBAEckAAAKAAAWJAFJZgEAAAASZGgBAQBHJAAABF4AAyQAYSQA
+AAcAABJkaAEBAAMkA2EkAwAHAAASZGgBAQADJANhJAMABwAAEmRoAQEAAyQDYSQDAAoAABJk
+aAEBAF6EcAhdhAAAYISQ9wAHAAASZGgBAQADJANhJAMABAAAEmRoAQEAAAQAABJkaAEBAAAE
+AAASZGgBAQAAC2oTAABsEwAAhBMAAM4TAADQEwAA7hMAAKwAAAAAAAAAAAAAAAChAAAAAAAA
+AAAAAAAAmQAAAAAAAAAAAAAAAEYAAAAAAAAAAAAAAAA7AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAFiQBSWYBAAAAEmRoAQEARyQAAFIAABYkARckAUlm
+AQAAAAjWMAACAADeCgIngAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEBAAQBAQAEAQEABAEB
+AAeUSAEJ1gQAAAAAEtYUAAAA/wAAAP8AAAAAAP8AAAD/AABw1hQAAAD/AAAA/wAAAAAA/wAA
+AP8AADTWBgABAQMAADTWBgABAgNsADTWBgABBAMAADTWBgABCANsAAM0AGY0AAAHAAAWJAFJ
+ZgEAAABHJAAACgAAFiQBSWYBAAAAEmRoAQEARyQAAFIAABYkARckAUlmAQAAAAjWMAACAADe
+CgIngAAAAAQBAQAEAQEABAEBAAAAAACAAAAABAEBAAQBAQAEAQEABAEBAAeUOwEJ1gQAAAAA
+EtYUAAAA/wAAAP8AAAAAAP8AAAD/AABw1hQAAAD/AAAA/wAAAAAA/wAAAP8AADTWBgABAQMA
+ADTWBgABAgNsADTWBgABBAMAADTWBgABCANsAAM0AGY0AAAF7hMAABAUAAASFAAANBQAAH4U
+AACAFAAA9AAAAAAAAAAAAAAAAKEAAAAAAAAAAAAAAACWAAAAAAAAAAAAAAAAiwAAAAAAAAAA
+AAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSAAAWJAEXJAFJZgEA
+AAAI1jAAAgAA3goCJ4AAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAQBAQAH
+lFkBCdYEAAAAABLWFAAAAP8AAAD/AAAAAAD/AAAA/wAAcNYUAAAA/wAAAP8AAAAAAP8AAAD/
+AAA01gYAAQEDAAA01gYAAQIDbAA01gYAAQQDAAA01gYAAQgDbAADNABmNAAACgAAFiQBSWYB
+AAAAEmRoAQEARyQAAAoAABYkAUlmAQAAABJkaAEBAEckAABSAAAWJAEXJAFJZgEAAAAI1jAA
+AgAA3goCJ4AAAAAEAQEABAEBAAQBAQAAAAAAgAAAAAQBAQAEAQEABAEBAAQBAQAHlIEBCdYE
+AAAAABLWFAAAAP8AAAD/AAAAAAD/AAAA/wAAcNYUAAAA/wAAAP8AAAAAAP8AAAD/AAA01gYA
+AQEDAAA01gYAAQIDbAA01gYAAQQDAAA01gYAAQgDbAADNABmNAAACgAAFiQBSWYBAAAAEmRo
+AQEARyQAAAWAFAAAjBQAAPQUAAD2FAAA+hQAAPwUAAD+FAAAABUAAPcAAAAAAAAAAAAAAADv
+AAAAAAAAAAAAAAAAnAAAAAAAAAAAAAAAAJoAAAAAAAAAAAAAAACYAAAAAAAAAAAAAAAAlgAA
+AAAAAAAAAAAAAJEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEXgADJABhJAAAAQAAAAEAAAABAAAAUgAA
+FiQBFyQBSWYBAAAACNYwAAIAAN4KAieAAAAABAEBAAQBAQAEAQEAAAAAAIAAAAAEAQEABAEB
+AAQBAQAEAQEAB5RZAQnWBAAAAAAS1hQAAAD/AAAA/wAAAAAA/wAAAP8AAHDWFAAAAP8AAAD/
+AAAAAAD/AAAA/wAANNYGAAEBAwAANNYGAAECA2wANNYGAAEEAwAANNYGAAEIA2wAAzQAZjQA
+AAcAABYkAUlmAQAAAEckAAAHAAAWJAFJZgEAAABHJAAABzAAH7DQLyCw4D0hsKAFIrCgBSOQ
+0AIkkKAFMlAAADGQaAEwcAAAAAAzUAAAKDIADjAAAG4e8GIBAAAj9Bd8AAAAADYkA5ERAgAQ
+/4lQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAABaPTP9wAAAAlwSFlzAAALEgAACxIB0t1+
+/AAAAQNJREFUeJxjYYACFhDx/vXz/yxwke+f3//n5BVkBIv8BwIQzQgELDAGimZkgF3Lhw8v
+GN6/eI5QISgoidsMrGaCwPfv3//D2B/ePGeQlFViRFFw/8Yxhg+vPwBZP4CYA9MELUNnuL1Y
+rSDoBrwKqmdt/d+S6gUXrJm9jaE1zRvVkT9+/IAw/vzAYQVQAqTox4/v2BWcP70PovsPiCeA
+qgBkXytFvqAEoBiw9fC1/8eu38ep2EpTkcHbVgslRlAMAGlGDk9kAAqhlsX78LsAppCTkxND
+4b3b17AajGEAKKndu30OnKh+MMAiD5SqnxM2AOTHKduvY1UIk8drAHoAEQMojkYAJEdjeTsx
+JnYAAAAASUVORK5CYIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAA/v8AAAEAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAALVzdWcLhsQk5cIACss+a5EAAAA
+BdXN1ZwuGxCTlwgAKyz5rlwAAAAYAAAAAQAAAAEAAAAQAAAAAgAAAOn9AAAYAAAAAQAAAAEA
+AAAQAAAAAgAAAOn9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSAG8AbwB0ACAARQBuAHQAcgB5AAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAFAP//////////
+AQAAAAYJAgAAAAAAwAAAAAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAACAAgAAAAAAAAEA
+QwBvAG0AcABPAGIAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAASAAIAAgAAAAUAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAGoAAAAAAAAAAQBPAGwAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAgD/////AwAAAP////8AAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAFAAAAAAAAAAxAFQAYQBiAGwAZQAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgACAAQA
+AAD//////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACIwAA
+AAAAAEQAYQB0AGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAKAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAFgAAAP4kAAAAAAAABQBTAHUAbQBtAGEAcgB5AEkAbgBmAG8AcgBtAGEA
+dABpAG8AbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAGAAAACAAAAP////8AAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAHAEAAAAAAABXAG8AcgBkAEQA
+bwBjAHUAbQBlAG4AdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+GgACAAcAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkA
+AACcQQAAAAAAAE8AYgBqAGUAYwB0AFAAbwBvAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAWAAEA////////////////AAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAAAAAAAABQBEAG8AYwB1AG0AZQBuAHQAUwB1AG0A
+bQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAADgAAgD/////////////
+//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAdAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAP7///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////
+//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+////AAAAAAAA
+AAA=
+--------------010903010402010104090709--
diff --git a/addons/hr_recruitment/test/test_hr_recruitment.yml b/addons/hr_recruitment/test/test_hr_recruitment.yml
deleted file mode 100644
index b797353bde2..00000000000
--- a/addons/hr_recruitment/test/test_hr_recruitment.yml
+++ /dev/null
@@ -1,139 +0,0 @@
--
- In order to test hr_recruitment module for OpenERP, I will create applicants form, Manages job positions and the recruitment process.
--
-
- I create a department.
--
- !record {model: hr.department, id: hr_department_rd0}:
- manager_id: base.user_root
- name: 'R & D '
-
--
- I create new Job Position.
--
- !record {model: hr.job, id: hr_job_jea0}:
- department_id: 'hr_department_rd0'
- description: 'Position of Jr. Application Engineer'
- expected_employees: 5
- name: 'JAE '
--
- I create a recruitment stage "Initial Jobs Demand".
--
- !record {model: hr.recruitment.stage, id: hr_recrutiment_stage_first0}:
- name: 'Initial Jobs Demand'
- sequence: 1
--
- I create an applicant.
--
- !record {model: hr.applicant, id: hr_applicant_fresher0}:
- availability: 0.0
- department_id: hr.dep_it
- name: Fresher
- partner_address_id: base.res_partner_address_tang
- partner_id: base.res_partner_asus
- partner_name: Marion Jones
- partner_phone: '1111112223'
- response: 0.0
- job_id: hr.job_jr_developers
- salary_expected: 0.0
- salary_proposed: 0.0
- stage_id: hr_recrutiment_stage_first0
- type_id: hr_recruitment.degree_licenced
-
--
- I check that applicant is on "draft" state.
--
- !assert {model: hr.applicant, id: hr_applicant_fresher0}:
- - state == 'draft'
-
--
- I change the state by click on "In Progress" button.
--
- !python {model: hr.applicant}: |
- self.case_open(cr, uid, [ref("hr_applicant_fresher0")], {"active_ids": [ref("hr_recruitment.menu_crm_case_categ0_act_job")],
- })
--
- I change the stages by clicking on stage next and stage previous buttons.
--
- !python {model: hr.applicant}: |
- self.stage_next(cr, uid, [ref('hr_applicant_fresher0')], None)
- self.stage_previous(cr, uid, [ref('hr_applicant_fresher0')], None)
--
- I create a new case category.
--
- !record {model: crm.case.categ, id: crm_case_categ_employee0}:
- name: 'Employee'
-
--
- I schedule a phonecall for this applicant by click on "Schedule a Phone Call" button.
--
- !record {model: hr.recruitment.job2phonecall, id: hr_recruitment_forinterview0}:
- user_id: base.user_root
- deadline: !eval time.strftime('%Y-%m-%d 11:51:00')
- note: 'For interview.'
- category_id: 'crm_case_categ_employee0'
-
--
- I click on "Schedule phonecall" button of this wizard.
--
- !python {model: hr.recruitment.job2phonecall}: |
- self.make_phonecall(cr, uid, [ref('hr_recruitment_forinterview0')], {'active_ids': [ref('hr_applicant_fresher0')]})
-
--
- I schedule meeting for interview of this applicant by click on "Schedule Meeting" button.
--
- !python {model: hr.applicant}: |
- self.action_makeMeeting(cr, uid, [ref('hr_recruitment_forinterview0')])
--
- I create an entry for the meeting with the applicant.
--
- !record {model: crm.meeting, id: crm_meeting_fresher0}:
- alarm_id: base_calendar.alarm1
- count: 0.0
- date: !eval "(datetime.now() + timedelta(1)).strftime('%Y-%m-%d 00:00:00')"
- date_deadline: !eval "(datetime.now() + timedelta(1)).strftime('%Y-%m-%d 08:00:00')"
- day: 0.0
- duration: 8.0
- name: Fresher
- opportunity_id: crm.crm_case_construstazunits0
- partner_address_id: base.res_partner_address_tang
- partner_id: base.res_partner_asus
- recurrent_uid: 0.0
- rrule_type: none
- state: open
- user_id: base.user_root
--
- I print the survery filled up by the applicant.
--
- !python {model: hr.applicant}: |
- self.action_print_survey(cr, uid, [ref('hr_applicant_fresher0')], None)
--
- I assign the position to the applicant and its relevant department.
--
- !python {model: hr.applicant}: |
- res = self.onchange_job(cr, uid, [ref('hr_applicant_fresher0')], ref('hr.job_jr_developers'), None)
- values = dict([('job_id', ref('hr.job_jr_developers'))] + res['value'].items())
- res1 = self.onchange_department_id(cr, uid, [ref('hr_applicant_fresher0')], ref('hr.dep_it'), None)
- values.update(dict([('department_id', ref('hr.dep_it'))] + res1['value'].items()))
- self.write(cr, uid, [ref('hr_applicant_fresher0')], values, None)
--
- On a successful meeting with the applicant, I hired employee by click on "Hired" button.
--
- !python {model: hired.employee}: |
- self.case_close(cr, uid, [], context={'active_ids': [ref('hr_applicant_fresher0')]})
--
- I check that applicant state is "Hired".
--
- !assert {model: hr.applicant, id: hr_applicant_fresher0}:
- - state == 'done'
--
- I create partner for the hired applicant for accounting purpose.
--
- !record {model: hr.recruitment.partner.create, id: hr_recruitment_partner_create0}:
- close: False
--
- I click on Create Partner button to create a partner for applicant.
--
- !python {model: hr.recruitment.partner.create}: |
- self.make_order(cr, uid, [ref('hr_recruitment_partner_create0')], context={'active_ids': [ref('hr_applicant_fresher0')]})
-
diff --git a/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py b/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py
index cd9cbea52f7..0f7d30b215a 100644
--- a/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py
+++ b/addons/hr_recruitment/wizard/hr_recruitment_phonecall.py
@@ -88,7 +88,7 @@ class job2phonecall(osv.osv_memory):
id2 = data_obj.browse(cr, uid, id2, context=context).res_id
if id3:
id3 = data_obj.browse(cr, uid, id3, context=context).res_id
-
+ new_phonecall_id = []
for job in job_case_obj.browse(cr, uid, context.get('active_ids', []), context=context):
#TODO: Take other info from job
new_phonecall_id = phonecall_case_obj.create(cr, uid, {
diff --git a/addons/hr_timesheet/__openerp__.py b/addons/hr_timesheet/__openerp__.py
index 76886a45aaf..43f5e62e37c 100644
--- a/addons/hr_timesheet/__openerp__.py
+++ b/addons/hr_timesheet/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Human Resources (Timesheet encoding)',
'version': '1.0',
- 'category': 'Hidden',
+ "category": "Human Resources",
'complexity': "easy",
'description': """
This module implements a timesheet system.
diff --git a/addons/hr_timesheet_invoice/__openerp__.py b/addons/hr_timesheet_invoice/__openerp__.py
index d4237baf36c..bd5c58fde1b 100644
--- a/addons/hr_timesheet_invoice/__openerp__.py
+++ b/addons/hr_timesheet_invoice/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Invoice on analytic lines',
+ 'name': 'Invoice on Analytic Lines',
'version': '1.0',
- 'category': 'Hidden/Link',
+ 'category': 'Sales Management',
'description': """Generate your Invoices from Expenses, Timesheet Entries, ...
Module to generate invoices based on costs (human resources, expenses, ...).
============================================================================
diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py b/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py
index 7d5d7a36867..518bb981df9 100644
--- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py
+++ b/addons/hr_timesheet_invoice/wizard/hr_timesheet_analytic_profit.py
@@ -31,18 +31,18 @@ class account_analytic_profit(osv.osv_memory):
'date_to': fields.date('To', required=True),
'journal_ids': fields.many2many('account.analytic.journal', 'analytic_profit_journal_rel', 'analytic_id', 'journal_id', 'Journal', required=True),
'employee_ids': fields.many2many('res.users', 'analytic_profit_emp_rel', 'analytic_id', 'emp_id', 'User', required=True),
- }
+ }
def _date_from(*a):
- return datetime.datetime.today().strftime('%Y-%m-1')
+ return datetime.date.today().replace(day=1).strftime('%Y-%m-%d')
def _date_to(*a):
- return datetime.datetime.today().strftime('%Y-%m-%d')
+ return datetime.date.today().strftime('%Y-%m-%d')
_defaults = {
- 'date_from': _date_from,
- 'date_to': _date_to
- }
+ 'date_from': _date_from,
+ 'date_to': _date_to
+ }
def print_report(self, cr, uid, ids, context=None):
line_obj = self.pool.get('account.analytic.line')
@@ -72,4 +72,4 @@ class account_analytic_profit(osv.osv_memory):
account_analytic_profit()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create_final_view.xml b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create_final_view.xml
index d366e795c15..514996816cc 100644
--- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create_final_view.xml
+++ b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create_final_view.xml
@@ -13,7 +13,6 @@
<record model="ir.values" id="hr_timesheet_invoice_create_final_values">
<field name="model_id" ref="model_account_analytic_account" />
- <field name="object" eval="1" />
<field name="name">Invoice</field>
<field name="key2">client_action_multi</field>
<field name="value" eval="'ir.actions.act_window,' + str(ref('action_hr_timesheet_invoice_create_final'))" />
diff --git a/addons/hr_timesheet_sheet/__openerp__.py b/addons/hr_timesheet_sheet/__openerp__.py
index 403d435df71..3421083a1cc 100644
--- a/addons/hr_timesheet_sheet/__openerp__.py
+++ b/addons/hr_timesheet_sheet/__openerp__.py
@@ -69,5 +69,6 @@ The validation can be configured in the company:
'installable': True,
'active': False,
'certificate': '0073297700829',
+ 'application': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr_timesheet_sheet/board_hr_timesheet_view.xml b/addons/hr_timesheet_sheet/board_hr_timesheet_view.xml
index 88e56ec6639..74530b81859 100644
--- a/addons/hr_timesheet_sheet/board_hr_timesheet_view.xml
+++ b/addons/hr_timesheet_sheet/board_hr_timesheet_view.xml
@@ -40,10 +40,8 @@
<field name="inherit_id" ref="hr.board_hr_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
- <xpath expr="/form/board/column" position="inside">
- <column>
+ <xpath expr="/form/board/column[2]" position="inside">
<action name="%(action_week_attendance_graph)d" string="My Total Attendance By Week"/>
- </column>
</xpath>
</field>
</record>
diff --git a/addons/html_view/__openerp__.py b/addons/html_view/__openerp__.py
index 3deceff9d6f..c4a7f033993 100644
--- a/addons/html_view/__openerp__.py
+++ b/addons/html_view/__openerp__.py
@@ -2,7 +2,7 @@
"name" : "Html View",
"version" : "1.1",
"author" : "OpenERP SA",
- "category" : "Hidden",
+ "category" : "Tools",
"depends" : ['base'],
"init_xml" : ['html_view.xml'],
"demo_xml" : [],
diff --git a/addons/import_base/__openerp__.py b/addons/import_base/__openerp__.py
index 0f65cf166b6..78988d00fec 100644
--- a/addons/import_base/__openerp__.py
+++ b/addons/import_base/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Base framework for module that need to import complex data',
+ 'name': 'Framework for complex import',
'version': '0.9',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
This module provide a class import_framework to help importing
complex data from other software
diff --git a/addons/import_google/__openerp__.py b/addons/import_google/__openerp__.py
index a0a15756ec3..fe469c94504 100644
--- a/addons/import_google/__openerp__.py
+++ b/addons/import_google/__openerp__.py
@@ -42,6 +42,5 @@
],
'installable': True,
'active': False,
- 'certificate': '',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/import_sugarcrm/__openerp__.py b/addons/import_sugarcrm/__openerp__.py
index 927a4b542ed..c0ad1ba250b 100644
--- a/addons/import_sugarcrm/__openerp__.py
+++ b/addons/import_sugarcrm/__openerp__.py
@@ -28,10 +28,12 @@
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['import_base','crm', 'document'],
- 'init_xml': [],
- 'update_xml': ["wizard/import_message_view.xml",
- "import_sugarcrm_view.xml"],
- 'demo_xml': [],
+ 'data': [
+ "wizard/import_message_view.xml",
+ "import_sugarcrm_view.xml",
+ "security/ir.model.access.csv",
+ ],
+ 'demo': [],
'test': [],
'installable': True,
'active': False,
diff --git a/addons/import_sugarcrm/security/ir.model.access.csv b/addons/import_sugarcrm/security/ir.model.access.csv
new file mode 100644
index 00000000000..20e93035b6c
--- /dev/null
+++ b/addons/import_sugarcrm/security/ir.model.access.csv
@@ -0,0 +1,3 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_import_sugarcrm_system","import.sugarcrm system","model_import_sugarcrm","base.group_system",1,1,1,1
+"access_import_message_system","import.message system","model_import_message","base.group_system",1,1,1,1
diff --git a/addons/knowledge/__openerp__.py b/addons/knowledge/__openerp__.py
index 2ca58e9861f..27333f59c41 100644
--- a/addons/knowledge/__openerp__.py
+++ b/addons/knowledge/__openerp__.py
@@ -21,11 +21,11 @@
{
- "name" : "Knowledge Management System",
+ "name" : "Document Management System",
"version" : "1.0",
"depends" : ["base","base_setup"],
"author" : "OpenERP SA",
- "category": 'Hidden',
+ 'category': 'Knowledge Management',
'complexity': "easy",
"description": """
Installer for knowledge-based Hidden.
diff --git a/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_data.xml b/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_data.xml
index 799c544a0c8..5acb2729abb 100644
--- a/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_data.xml
+++ b/addons/l10n_be_hr_payroll/l10n_be_hr_payroll_data.xml
@@ -165,7 +165,7 @@
<field name="code">car</field>
<field name="amount_select">fix</field>
<field name="sequence">15</field>
- <field name="condtion_select">none</field>
+ <field name="condition_select">none</field>
<field name="appears_on_payslip" eval="False"/>
</record>
<record id="hr_payroll_rules_parent_company_car" model="hr.salary.rule">
@@ -266,7 +266,7 @@
<field name="sequence">165</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.insurance_employee_deduction)</field>
- <field name="amount_pyton_compute">result = -contract.insurance_employee_deduction</field>
+ <field name="amount_python_compute">result = -contract.insurance_employee_deduction</field>
</record>
<record id="hr_payroll_rules_advantage" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.ALW"/>
diff --git a/addons/l10n_br/data/account_tax_template.xml b/addons/l10n_br/data/account_tax_template.xml
index 58f860e0d90..fcdcb4d30e6 100644
--- a/addons/l10n_br/data/account_tax_template.xml
+++ b/addons/l10n_br/data/account_tax_template.xml
@@ -5,7 +5,6 @@
<record id="tax_template_1" model="account.tax.template">
<field name="description">IPI</field>
<field name="name">IPI</field>
- <field name="tax_group">vat</field>
<field name="amount">0.00</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -21,7 +20,6 @@
<record id="tax_template_3" model="account.tax.template">
<field name="description">IPI 2%</field>
<field name="name">IPI 2%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.02</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -37,7 +35,6 @@
<record id="tax_template_4" model="account.tax.template">
<field name="description">IPI 3%</field>
<field name="name">IPI 3%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.03</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -53,7 +50,6 @@
<record id="tax_template_5" model="account.tax.template">
<field name="description">IPI 4%</field>
<field name="name">IPI 4%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.04</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -69,7 +65,6 @@
<record id="tax_template_6" model="account.tax.template">
<field name="description">IPI 5%</field>
<field name="name">IPI 5%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.05</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -85,7 +80,6 @@
<record id="tax_template_7" model="account.tax.template">
<field name="description">IPI 7%</field>
<field name="name">IPI 7%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.07</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -101,7 +95,6 @@
<record id="tax_template_8" model="account.tax.template">
<field name="description">IPI 8%</field>
<field name="name">IPI 8%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.08</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -117,7 +110,6 @@
<record id="tax_template_9" model="account.tax.template">
<field name="description">IPI 10%</field>
<field name="name">IPI 10%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.10</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -133,7 +125,6 @@
<record id="tax_template_10" model="account.tax.template">
<field name="description">IPI 12%</field>
<field name="name">IPI 12%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.12</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -149,7 +140,6 @@
<record id="tax_template_11" model="account.tax.template">
<field name="description">IPI 13%</field>
<field name="name">IPI 13%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.13</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -165,7 +155,6 @@
<record id="tax_template_12" model="account.tax.template">
<field name="description">IPI 15%</field>
<field name="name">IPI 15%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.15</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -181,7 +170,6 @@
<record id="tax_template_13" model="account.tax.template">
<field name="description">IPI 16%</field>
<field name="name">IPI 16%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.16</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -197,7 +185,6 @@
<record id="tax_template_14" model="account.tax.template">
<field name="description">IPI 18%</field>
<field name="name">IPI 18%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.18</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -213,7 +200,6 @@
<record id="tax_template_15" model="account.tax.template">
<field name="description">IPI 20%</field>
<field name="name">IPI 20%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.20</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -229,7 +215,6 @@
<record id="tax_template_16" model="account.tax.template">
<field name="description">IPI 22%</field>
<field name="name">IPI 22%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.22</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -245,7 +230,6 @@
<record id="tax_template_17" model="account.tax.template">
<field name="description">IPI 25%</field>
<field name="name">IPI 25%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.25</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -261,7 +245,6 @@
<record id="tax_template_18" model="account.tax.template">
<field name="description">IPI 27%</field>
<field name="name">IPI 27%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.27</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -277,7 +260,6 @@
<record id="tax_template_19" model="account.tax.template">
<field name="description">IPI 30%</field>
<field name="name">IPI 30%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.30</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -293,7 +275,6 @@
<record id="tax_template_20" model="account.tax.template">
<field name="description">IPI 35%</field>
<field name="name">IPI 35%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.35</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -309,7 +290,6 @@
<record id="tax_template_21" model="account.tax.template">
<field name="description">IPI 40%</field>
<field name="name">IPI 40%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.40</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -325,7 +305,6 @@
<record id="tax_template_22" model="account.tax.template">
<field name="description">IPI 42%</field>
<field name="name">IPI 42%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.42</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -341,7 +320,6 @@
<record id="tax_template_23" model="account.tax.template">
<field name="description">IPI 45%</field>
<field name="name">IPI 45%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.45</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -357,7 +335,6 @@
<record id="tax_template_24" model="account.tax.template">
<field name="description">IPI 50%</field>
<field name="name">IPI 50%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.50</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -373,7 +350,6 @@
<record id="tax_template_25" model="account.tax.template">
<field name="description">IPI 60%</field>
<field name="name">IPI 60%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.60</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -389,7 +365,6 @@
<record id="tax_template_26" model="account.tax.template">
<field name="description">IPI 330%</field>
<field name="name">IPI 330%</field>
- <field name="tax_group">vat</field>
<field name="amount">3.30</field>
<field ref="account_template_244" name="account_collected_id"/>
<field ref="account_template_44" name="account_paid_id"/>
@@ -405,7 +380,6 @@
<record id="tax_template_27" model="account.tax.template">
<field name="description">ICMS Interno</field>
<field name="name">ICMS Interno</field>
- <field name="tax_group">vat</field>
<field name="amount">0.00</field>
<field ref="account_template_241" name="account_collected_id"/>
<field ref="account_template_42" name="account_paid_id"/>
@@ -421,7 +395,6 @@
<record id="tax_template_28" model="account.tax.template">
<field name="description">ICMS Externo</field>
<field name="name">ICMS Externo</field>
- <field name="tax_group">vat</field>
<field name="amount">0.00</field>
<field ref="account_template_241" name="account_collected_id"/>
<field ref="account_template_42" name="account_paid_id"/>
@@ -437,7 +410,6 @@
<record id="tax_template_29" model="account.tax.template">
<field name="description">ICMS Subist</field>
<field name="name">ICMS Subist</field>
- <field name="tax_group">vat</field>
<field name="amount">0.00</field>
<field eval="0" name="price_include"/>
<field eval="0" name="tax_discount"/>
@@ -451,7 +423,6 @@
<record id="tax_template_30" model="account.tax.template">
<field name="description">ICMS Externo 7%</field>
<field name="name">ICMS Externo 7%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.07</field>
<field ref="account_template_241" name="account_collected_id"/>
<field ref="account_template_42" name="account_paid_id"/>
@@ -467,7 +438,6 @@
<record id="tax_template_31" model="account.tax.template">
<field name="description">ICMS Externo 12%</field>
<field name="name">ICMS Externo 12%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.12</field>
<field ref="account_template_241" name="account_collected_id"/>
<field ref="account_template_42" name="account_paid_id"/>
@@ -483,7 +453,6 @@
<record id="tax_template_32" model="account.tax.template">
<field name="description">ICMS Interno 19%</field>
<field name="name">ICMS Interno 19%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.19</field>
<field ref="account_template_241" name="account_collected_id"/>
<field ref="account_template_42" name="account_paid_id"/>
@@ -499,7 +468,6 @@
<record id="tax_template_33" model="account.tax.template">
<field name="description">ICMS Interno 26%</field>
<field name="name">ICMS Interno 26%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.26</field>
<field ref="account_template_241" name="account_collected_id"/>
<field ref="account_template_42" name="account_paid_id"/>
@@ -515,7 +483,6 @@
<record id="tax_template_34" model="account.tax.template">
<field name="description">PIS</field>
<field name="name">PIS</field>
- <field name="tax_group">vat</field>
<field name="amount">0.00</field>
<field ref="account_template_243" name="account_collected_id"/>
<field ref="account_template_49" name="account_paid_id"/>
@@ -531,7 +498,6 @@
<record id="tax_template_35" model="account.tax.template">
<field name="description">PIS 0,65%</field>
<field name="name">PIS 0,65%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.0065</field>
<field ref="account_template_243" name="account_collected_id"/>
<field ref="account_template_49" name="account_paid_id"/>
@@ -547,7 +513,6 @@
<record id="tax_template_36" model="account.tax.template">
<field name="description">COFINS</field>
<field name="name">COFINS</field>
- <field name="tax_group">vat</field>
<field name="amount">0.00</field>
<field ref="account_template_242" name="account_collected_id"/>
<field ref="account_template_39" name="account_paid_id"/>
@@ -563,7 +528,6 @@
<record id="tax_template_37" model="account.tax.template">
<field name="description">COFINS 3%</field>
<field name="name">COFINS 3%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.03</field>
<field ref="account_template_242" name="account_collected_id"/>
<field ref="account_template_39" name="account_paid_id"/>
@@ -579,7 +543,6 @@
<record id="tax_template_38" model="account.tax.template">
<field name="description">IRPJ</field>
<field name="name">IRPJ</field>
- <field name="tax_group">vat</field>
<field name="amount">0.00</field>
<field eval="0" name="price_include"/>
<field eval="1" name="tax_discount"/>
@@ -593,7 +556,6 @@
<record id="tax_template_39" model="account.tax.template">
<field name="description">IR</field>
<field name="name">IR</field>
- <field name="tax_group">vat</field>
<field name="amount">0.00</field>
<field eval="0" name="price_include"/>
<field eval="1" name="tax_discount"/>
@@ -607,7 +569,6 @@
<record id="tax_template_40" model="account.tax.template">
<field name="description">ISS</field>
<field name="name">ISS</field>
- <field name="tax_group">vat</field>
<field name="amount">0.00</field>
<field eval="0" name="price_include"/>
<field eval="1" name="tax_discount"/>
@@ -621,7 +582,6 @@
<record id="tax_template_41" model="account.tax.template">
<field name="description">ISS 1%</field>
<field name="name">ISS 1%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.01</field>
<field eval="0" name="price_include"/>
<field eval="1" name="tax_discount"/>
@@ -635,7 +595,6 @@
<record id="tax_template_42" model="account.tax.template">
<field name="description">ISS 2%</field>
<field name="name">ISS 2%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.02</field>
<field eval="0" name="price_include"/>
<field eval="1" name="tax_discount"/>
@@ -649,7 +608,6 @@
<record id="tax_template_43" model="account.tax.template">
<field name="description">ISS 3%</field>
<field name="name">ISS 3%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.03</field>
<field eval="0" name="price_include"/>
<field eval="1" name="tax_discount"/>
@@ -663,7 +621,6 @@
<record id="tax_template_44" model="account.tax.template">
<field name="description">ISS 4%</field>
<field name="name">ISS 4%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.04</field>
<field eval="0" name="price_include"/>
<field eval="1" name="tax_discount"/>
@@ -677,7 +634,6 @@
<record id="tax_template_45" model="account.tax.template">
<field name="description">ISS 5%</field>
<field name="name">ISS 5%</field>
- <field name="tax_group">vat</field>
<field name="amount">0.05</field>
<field eval="0" name="price_include"/>
<field eval="1" name="tax_discount"/>
@@ -691,7 +647,6 @@
<record id="tax_template_46" model="account.tax.template">
<field name="description">CSLL</field>
<field name="name">CSLL</field>
- <field name="tax_group">vat</field>
<field name="amount">0.00</field>
<field eval="0" name="price_include"/>
<field eval="1" name="tax_discount"/>
@@ -703,4 +658,4 @@
</record>
</data>
-</openerp> \ No newline at end of file
+</openerp>
diff --git a/addons/l10n_br/data/l10n_br_account_chart_template.xml b/addons/l10n_br/data/l10n_br_account_chart_template.xml
index 9dbcb4d558f..89ccee11edc 100644
--- a/addons/l10n_br/data/l10n_br_account_chart_template.xml
+++ b/addons/l10n_br/data/l10n_br_account_chart_template.xml
@@ -19,7 +19,7 @@
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="state">open</field>
- <field name="restart">onskip</field>
+ <field name="type">once</field>
</record>
</data>
diff --git a/addons/l10n_ch/__openerp__.py b/addons/l10n_ch/__openerp__.py
index cabd15e42de..cde4d7d496d 100644
--- a/addons/l10n_ch/__openerp__.py
+++ b/addons/l10n_ch/__openerp__.py
@@ -99,8 +99,9 @@ TODO :
'test' : [
'test/l10n_ch_report.yml',
'test/l10n_ch_dta.yml',
- 'test/l10n_ch_v11.yml',
- 'test/l10n_ch_v11_part.yml',
+ #TODO: uncomment the 2 following tests once they are fixed
+ #'test/l10n_ch_v11.yml',
+ #'test/l10n_ch_v11_part.yml',
],
"active": False,
"installable": True,
diff --git a/addons/l10n_ch/bank_view.xml b/addons/l10n_ch/bank_view.xml
index 705e2d63ef4..e23be1bb6ac 100644
--- a/addons/l10n_ch/bank_view.xml
+++ b/addons/l10n_ch/bank_view.xml
@@ -6,7 +6,6 @@
<field name="name">res.bank.form</field>
<field name="model">res.bank</field>
<field name="type">form</field>
- <field name="sequence" eval="9" />
<field name="inherit_id" ref="base.view_res_bank_form"/>
<field name="arch" type="xml">
<field name="name" position="after">
@@ -23,7 +22,6 @@
<field name="name">res.bank.tree</field>
<field name="model">res.bank</field>
<field name="type">tree</field>
- <field name="sequence" eval="9" />
<field name="inherit_id" ref="base.view_res_bank_tree"/>
<field name="arch" type="xml">
<field name="name" position="after">
@@ -40,7 +38,6 @@
<field name="name">res.partner_bank.form.hide.f1</field>
<field name="model">res.partner</field>
<field name="type">form</field>
- <field name="sequence" eval="9" />
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="arch" type="xml">
<field name="acc_number" position="replace">
@@ -51,7 +48,6 @@
<field name="name">res.partner_bank.form.hide.f2</field>
<field name="model">res.partner</field>
<field name="type">form</field>
- <field name="sequence" eval="9" />
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="arch" type="xml">
<field name="bank" position="replace">
@@ -63,7 +59,6 @@
<field name="name">res.partner_bank.form.hide.f2</field>
<field name="model">res.partner</field>
<field name="type">form</field>
- <field name="sequence" eval="10" />
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="arch" type="xml">
<field name="state" position="after">
@@ -94,7 +89,6 @@
<field name="name">res.partner_bank.form.hide.acc_number.frominvoice</field>
<field name="model">res.partner.bank</field>
<field name="type">form</field>
- <field name="sequence" eval="9" />
<field name="inherit_id" ref="base.view_partner_bank_form"/>
<field name="arch" type="xml">
<field name="acc_number" position="replace">
@@ -106,7 +100,6 @@
<field name="name">res.partner_bank.form.hide.bank.frominvoice</field>
<field name="model">res.partner.bank</field>
<field name="type">form</field>
- <field name="sequence" eval="9" />
<field name="inherit_id" ref="base.view_partner_bank_form"/>
<field name="arch" type="xml">
<field name="bank" position="replace">
@@ -118,7 +111,6 @@
<field name="name">res.partner_bank.form.hide.frominvoice</field>
<field name="model">res.partner.bank</field>
<field name="type">form</field>
- <field name="sequence" eval="10"/>
<field name="inherit_id" ref="base.view_partner_bank_form"/>
<field name="arch" type="xml">
<field name="state" position="after">
diff --git a/addons/l10n_ch/sterchi_chart/account.xml b/addons/l10n_ch/sterchi_chart/account.xml
index ded5f542fe5..8fdd29fe8a8 100644
--- a/addons/l10n_ch/sterchi_chart/account.xml
+++ b/addons/l10n_ch/sterchi_chart/account.xml
@@ -177,14 +177,12 @@
<record model="account.account.type" id="account_type_receivable">
<field name="name">Bilan : Debiteurs</field>
<field name="code">receivable</field>
- <field name="partner_account">True</field>
<field name="close_method">unreconciled</field>
<field name="report_type">none</field>
</record>
<record model="account.account.type" id="account_type_payable">
<field name="name">Bilan : Fournisseurs</field>
<field name="code">payable</field>
- <field name="partner_account">True</field>
<field name="close_method">unreconciled</field>
<field name="report_type">none</field>
</record>
diff --git a/addons/l10n_ch/wizard/bvr_import.py b/addons/l10n_ch/wizard/bvr_import.py
index 31c1e9ab96f..e98053513cd 100644
--- a/addons/l10n_ch/wizard/bvr_import.py
+++ b/addons/l10n_ch/wizard/bvr_import.py
@@ -168,7 +168,7 @@ def _import(self, cursor, user, data, context=None):
# line2reconcile = line.id
account_id = line.account_id.id
break
- result = voucher_obj.onchange_partner_id(cursor, user, [], partner_id, journal_id=statement.journal_id.id, price=abs(record['amount']), currency_id= statement.currency.id, ttype='receipt', date=statement.date ,context=context)
+ result = voucher_obj.onchange_partner_id(cursor, user, [], partner_id, journal_id=statement.journal_id.id, amount=abs(record['amount']), currency_id= statement.currency.id, ttype='receipt', date=statement.date ,context=context)
voucher_res = { 'type': 'receipt' ,
'name': values['name'],
diff --git a/addons/l10n_cr/data/account_tax_template.xml b/addons/l10n_cr/data/account_tax_template.xml
index 7626b25b5ad..42b5ca03a13 100644
--- a/addons/l10n_cr/data/account_tax_template.xml
+++ b/addons/l10n_cr/data/account_tax_template.xml
@@ -11,7 +11,6 @@
<field name="sequence">10</field>
<field name="amount">13</field>
<field name="type">percent</field>
- <!-- <field name="tax_group">vat</field> -->
<field name="type_tax_use">all</field>
<field name="applicable_type">true</field>
<field name="child_depend" eval="False"/>
@@ -34,7 +33,6 @@
<field name="sequence">10</field>
<field name="amount">13</field>
<field name="type">percent</field>
- <!-- <field name="tax_group">vat</field> -->
<field name="type_tax_use">all</field>
<field name="applicable_type">true</field>
<field name="child_depend" eval="False"/>
diff --git a/addons/l10n_fr_rib/__openerp__.py b/addons/l10n_fr_rib/__openerp__.py
index 2ef63568a53..16d26995dc4 100644
--- a/addons/l10n_fr_rib/__openerp__.py
+++ b/addons/l10n_fr_rib/__openerp__.py
@@ -22,7 +22,7 @@
{
'name': 'French RIB Bank Details',
'version': '1.0',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'description': '''
This module lets users enter the banking details of Partners in the RIB format (French standard for bank accounts details).
RIB Bank Accounts can be entered in the "Accounting" tab of the Partner form by specifying the account type "RIB". The four standard RIB fields will then become mandatory:
diff --git a/addons/l10n_gt/l10n_gt_base.xml b/addons/l10n_gt/l10n_gt_base.xml
index c52e7e94532..5238d7b4f23 100644
--- a/addons/l10n_gt/l10n_gt_base.xml
+++ b/addons/l10n_gt/l10n_gt_base.xml
@@ -16,7 +16,6 @@
<record id="GTQ" model="res.currency">
<field name="name">GTQ</field>
- <field name="code">GTQ</field>
<field name="symbol">Q</field>
<field name="rounding">0.01</field>
<field name="accuracy">4</field>
diff --git a/addons/l10n_hn/__openerp__.py b/addons/l10n_hn/__openerp__.py
index 31d9344cb65..b590e65af67 100644
--- a/addons/l10n_hn/__openerp__.py
+++ b/addons/l10n_hn/__openerp__.py
@@ -49,6 +49,5 @@
],
'demo_xml': [],
'installable': True,
- 'certificate': '',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/l10n_multilang/__init__.py b/addons/l10n_multilang/__init__.py
new file mode 100644
index 00000000000..446f3beb668
--- /dev/null
+++ b/addons/l10n_multilang/__init__.py
@@ -0,0 +1,24 @@
+# -*- 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 account
+import l10n_multilang
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/l10n_multilang/__openerp__.py b/addons/l10n_multilang/__openerp__.py
new file mode 100644
index 00000000000..197a416cc44
--- /dev/null
+++ b/addons/l10n_multilang/__openerp__.py
@@ -0,0 +1,43 @@
+# -*- 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" : "Multi language Chart of Accounts",
+ "version" : "1.1",
+ "author" : "OpenERP SA",
+ "category": 'Localization/Account Charts',
+ "description": """
+ * Multi language support for Chart of Accounts, Taxes, Tax Codes , Journals, Accounting Templates,
+ Analytic Chart of Accounts and Analytic Journals.
+ * Setup wizard changes
+ - Copy translations for COA, Tax, Tax Code and Fiscal Position from templates to target objects.
+ """,
+ 'website': 'http://www.openerp.com',
+ 'init_xml': [],
+ "depends" : ['account_accountant'],
+ 'update_xml': [
+ ],
+ 'demo_xml': [
+ ],
+ 'installable': True,
+ 'active': False,
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/l10n_multilang/account.py b/addons/l10n_multilang/account.py
new file mode 100644
index 00000000000..162abb0447f
--- /dev/null
+++ b/addons/l10n_multilang/account.py
@@ -0,0 +1,107 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+
+from osv import fields, osv
+from tools.translate import _
+
+
+#in this file, we mostly add the tag translate=True on existing fields that we now want to be translated
+
+class account_account_template(osv.osv):
+ _inherit = 'account.account.template'
+ _columns = {
+ 'name': fields.char('Name', size=128, required=True, select=True, translate=True),
+ }
+account_account_template()
+
+class account_tax(osv.osv):
+ _inherit = 'account.tax'
+ _columns = {
+ 'name': fields.char('Tax Name', size=128, required=True, select=True, translate=True),
+ }
+account_tax()
+
+
+class account_tax_template(osv.osv):
+ _inherit = 'account.tax.template'
+ _columns = {
+ 'name': fields.char('Tax Name', size=128, required=True, select=True, translate=True),
+ }
+account_tax_template()
+
+
+class account_tax_code_template(osv.osv):
+ _inherit = 'account.tax.code.template'
+ _columns = {
+ 'name': fields.char('Tax Case Name', size=64, required=True, translate=True),
+ }
+account_tax_code_template()
+
+
+class account_chart_template(osv.osv):
+ _inherit = 'account.chart.template'
+ _columns={
+ 'name': fields.char('Name', size=64, required=True, translate=True),
+ 'spoken_languages': fields.char('Spoken Languages', size=64, help="State here the languages for which the translations of templates could be loaded at the time of installation of this localization module and copied in the final object when generating them from templates. You must provide the language codes separated by ';'"),
+ }
+ _order = 'name'
+account_chart_template()
+
+
+class account_fiscal_position(osv.osv):
+ _inherit = 'account.fiscal.position'
+ _columns = {
+ 'name': fields.char('Fiscal Position', size=64, required=True, translate=True),
+ }
+account_fiscal_position()
+
+
+class account_fiscal_position_template(osv.osv):
+ _inherit = 'account.fiscal.position.template'
+ _columns = {
+ 'name': fields.char('Fiscal Position Template', size=64, required=True, translate=True),
+ }
+account_fiscal_position_template()
+
+
+class account_journal(osv.osv):
+ _inherit = 'account.journal'
+ _columns = {
+ 'name': fields.char('Journal Name', size=64, required=True, translate=True),
+ }
+account_journal()
+
+
+class account_analytic_account(osv.osv):
+ _inherit = 'account.analytic.account'
+ _columns = {
+ 'name': fields.char('Account Name', size=128, required=True, translate=True),
+ }
+account_analytic_account()
+
+
+class account_analytic_journal(osv.osv):
+ _inherit = 'account.analytic.journal'
+ _columns = {
+ 'name': fields.char('Journal Name', size=64, required=True, translate=True),
+ }
+account_analytic_journal()
diff --git a/addons/l10n_multilang/l10n_multilang.py b/addons/l10n_multilang/l10n_multilang.py
new file mode 100644
index 00000000000..c4130f2761d
--- /dev/null
+++ b/addons/l10n_multilang/l10n_multilang.py
@@ -0,0 +1,156 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields, osv
+import os
+from tools.translate import _
+import netsvc
+logger=netsvc.Logger()
+
+class wizard_multi_charts_accounts(osv.osv_memory):
+ """
+ Change wizard that a new account chart for a company.
+ * Add option to install languages during the setup
+ * Copy translations for COA, Tax, Tax Code and Fiscal Position from templates to target objects.
+ """
+ _inherit = 'wizard.multi.charts.accounts'
+
+ def process_translations(self, cr, uid, langs, in_obj, in_field, in_ids, out_obj, out_ids, force_write=False, context=None):
+ """
+ This method copies translations values of templates into new Accounts/Taxes/Journals for languages selected
+
+ :param cr: A database cursor
+ :param uid: ID of the user currently logged in
+ :param langs: List of languages to load for new records
+ :param in_field: Name of the translatable field of source templates
+ :param in_obj: Name of source object of templates.
+ :param in_ids: List of ids of source object
+ :param out_obj: Destination object for which translation is to be copied
+ :param out_ids: List of ids of destination object
+ :param force_write: boolean that depicts if we need to create a translation OR simply replace the actual value
+ with the translation in the uid's language by doing a write (in case it's TRUE)
+ :param context: usual context information. May contain the key 'lang', which is the language of the user running
+ the wizard, that will be used if force_write is True
+
+ :return: True
+ """
+ if context is None:
+ context = {}
+ src = {}
+ xlat_obj = self.pool.get('ir.translation')
+ #find the source from Account Template
+ for x in in_obj.browse(cr, uid, in_ids):
+ src.update({x.id: x.name})
+ for lang in langs:
+ #find the value from Translation
+ value = xlat_obj._get_ids(cr, uid, in_obj._name + ',' + in_field, 'model', lang, in_ids)
+ for j in range(len(in_ids)):
+ in_id = in_ids[j]
+ if value[in_id]:
+ if not force_write:
+ #copy Translation from Source to Destination object
+ xlat_obj.create(cr, uid, {
+ 'name': out_obj._name + ',' + in_field,
+ 'type': 'model',
+ 'res_id': out_ids[j],
+ 'lang': lang,
+ 'src': src[in_id],
+ 'value': value[in_id],
+ })
+ else:
+ #replace the value in the destination object only if it's the user lang
+ if context.get('lang') == lang:
+ self.pool.get(out_obj._name).write(cr, uid, out_ids[j], {in_field: value[in_id]})
+ else:
+ logger.notifyChannel('addons.'+self._name, netsvc.LOG_WARNING,
+ 'Language: %s. Translation from template: there is no translation available for %s!' %(lang, src[in_id]))#out_obj._name))
+ return True
+
+ def execute(self, cr, uid, ids, context=None):
+ res = super(wizard_multi_charts_accounts, self).execute(cr, uid, ids, context=context)
+
+ obj_multi = self.browse(cr, uid, ids[0], context=context)
+ company_id = obj_multi.company_id.id
+
+ # load languages
+ langs = []
+ res_lang_obj = self.pool.get('res.lang')
+ installed_lang_ids = res_lang_obj.search(cr, uid, [])
+ installed_langs = [x.code for x in res_lang_obj.browse(cr, uid, installed_lang_ids, context=context)]
+ if obj_multi.chart_template_id.spoken_languages:
+ for lang in obj_multi.chart_template_id.spoken_languages.split(';'):
+ if lang not in installed_langs:
+ # the language is not installed, so we don't need to load its translations
+ continue
+ else:
+ # the language was already installed, so the po files have been loaded at the installation time
+ # and now we need to copy the translations of templates to the right objects
+ langs.append(lang)
+ if langs:
+ # write account.account translations in the real COA
+ self._process_accounts_translations(cr, uid, obj_multi, company_id, langs, 'name', context=context)
+
+ # copy account.tax.code translations
+ self._process_tax_codes_translations(cr, uid, obj_multi, company_id, langs, 'name', context=context)
+
+ # copy account.tax translations
+ self._process_taxes_translations(cr, uid, obj_multi, company_id, langs, 'name', context=context)
+
+ # copy account.fiscal.position translations
+ self._process_fiscal_pos_translations(cr, uid, obj_multi, company_id, langs, 'name', context=context)
+
+ return res
+
+ def _process_accounts_translations(self, cr, uid, obj_multi, company_id, langs, field, context=None):
+ obj_acc_template = self.pool.get('account.account.template')
+ obj_acc = self.pool.get('account.account')
+ acc_template_root_id = obj_multi.chart_template_id.account_root_id.id
+ acc_root_id = obj_acc.search(cr, uid, [('company_id', '=', company_id), ('parent_id', '=', None)])[0]
+ in_ids = obj_acc_template.search(cr, uid, [('id', 'child_of', [acc_template_root_id])], order='id')[1:]
+ out_ids = obj_acc.search(cr, uid, [('id', 'child_of', [acc_root_id])], order='id')[1:]
+ return self.process_translations(cr, uid, langs, obj_acc_template, field, in_ids, obj_acc, out_ids, force_write=True, context=context)
+
+ def _process_tax_codes_translations(self, cr, uid, obj_multi, company_id, langs, field, context=None):
+ obj_tax_code_template = self.pool.get('account.tax.code.template')
+ obj_tax_code = self.pool.get('account.tax.code')
+ tax_code_template_root_id = obj_multi.chart_template_id.tax_code_root_id.id
+ tax_code_root_id = obj_tax_code.search(cr, uid, [('company_id', '=', company_id), ('parent_id', '=', None)])[0]
+ in_ids = obj_tax_code_template.search(cr, uid, [('id', 'child_of', [tax_code_template_root_id])], order='id')[1:]
+ out_ids = obj_tax_code.search(cr, uid, [('id', 'child_of', [tax_code_root_id])], order='id')[1:]
+ return self.process_translations(cr, uid, langs, obj_tax_code_template, field, in_ids, obj_tax_code, out_ids, force_write=False, context=context)
+
+ def _process_taxes_translations(self, cr, uid, obj_multi, company_id, langs, field, context=None):
+ obj_tax_template = self.pool.get('account.tax.template')
+ obj_tax = self.pool.get('account.tax')
+ in_ids = sorted([x.id for x in obj_multi.chart_template_id.tax_template_ids])
+ out_ids = obj_tax.search(cr, uid, [('company_id', '=', company_id)], order='id')
+ return self.process_translations(cr, uid, langs, obj_tax_template, field, in_ids, obj_tax, out_ids, force_write=False, context=context)
+
+ def _process_fiscal_pos_translations(self, cr, uid, obj_multi, company_id, langs, field, context=None):
+ obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
+ obj_fiscal_position = self.pool.get('account.fiscal.position')
+ in_ids = obj_fiscal_position_template.search(cr, uid, [('chart_template_id', '=', obj_multi.chart_template_id.id)], order='id')
+ out_ids = obj_fiscal_position.search(cr, uid, [('company_id', '=', company_id)], order='id')
+ return self.process_translations(cr, uid, langs, obj_fiscal_position_template, field, in_ids, obj_fiscal_position, out_ids, force_write=False, context=context)
+
+wizard_multi_charts_accounts()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/l10n_uk/l10n_uk_wizard.xml b/addons/l10n_uk/l10n_uk_wizard.xml
index b7da2ee5c6b..b4f96afc700 100644
--- a/addons/l10n_uk/l10n_uk_wizard.xml
+++ b/addons/l10n_uk/l10n_uk_wizard.xml
@@ -34,7 +34,7 @@
<record id="l10n_uk_latest_wizard_id" model="ir.actions.todo">
<field name="action_id" ref="action_wizard_multi_chart_uk"/>
<field name="sequence">10</field>
- <field name="restart">onskip</field>
+ <field name="type">once</field>
<field name="state">open</field>
</record>
diff --git a/addons/lunch/__openerp__.py b/addons/lunch/__openerp__.py
index 6d5cd576912..ceed7eff110 100644
--- a/addons/lunch/__openerp__.py
+++ b/addons/lunch/__openerp__.py
@@ -20,7 +20,7 @@
##############################################################################
{
- "name": "Lunch",
+ "name": "Lunch Orders",
"author": "OpenERP SA",
'complexity': "easy",
"Description": """
diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py
index 1cb97ce182e..94f2361d05d 100644
--- a/addons/mail/__openerp__.py
+++ b/addons/mail/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Email Subsystem',
+ 'name': 'Emails Management',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
A generic email subsystem with message storage and queuing
diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py
index 159259f151d..fd00135816e 100644
--- a/addons/mail/mail_message.py
+++ b/addons/mail/mail_message.py
@@ -380,12 +380,16 @@ class mail_message(osv.osv):
if 'To' in fields:
msg['to'] = decode(msg_txt.get('To'))
+
if 'Delivered-To' in fields:
msg['to'] = decode(msg_txt.get('Delivered-To'))
if 'CC' in fields:
msg['cc'] = decode(msg_txt.get('CC'))
+ if 'Cc' in fields:
+ msg['cc'] = decode(msg_txt.get('Cc'))
+
if 'Reply-To' in fields:
msg['reply'] = decode(msg_txt.get('Reply-To'))
@@ -455,6 +459,7 @@ class mail_message(osv.osv):
msg['sub_type'] = msg['subtype'] or 'plain'
return msg
+
def send(self, cr, uid, ids, auto_commit=False, context=None):
"""Sends the selected emails immediately, ignoring their current
state (mails that have already been sent should not be passed
diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py
index c8f7da9a5bb..70b536296bf 100644
--- a/addons/mail/mail_thread.py
+++ b/addons/mail/mail_thread.py
@@ -58,6 +58,14 @@ class mail_thread(osv.osv):
'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', readonly=True),
}
+ def message_capable_models(self, cr, uid, context=None):
+ ret_dict = {}
+ for model_name in self.pool.obj_list():
+ model = self.pool.get(model_name)
+ if 'mail.thread' in getattr(model, '_inherit', []):
+ ret_dict[model_name] = model._description
+ return ret_dict
+
def message_thread_followers(self, cr, uid, ids, context=None):
"""Returns a list of email addresses of the people following
this thread, including the sender of each mail, and the
diff --git a/addons/mail/mail_thread_view.xml b/addons/mail/mail_thread_view.xml
index bd10a72faf2..3a7ed8f46fe 100644
--- a/addons/mail/mail_thread_view.xml
+++ b/addons/mail/mail_thread_view.xml
@@ -8,29 +8,10 @@
<field name="arch" type="xml">
<form string="Email Thread">
<separator string="Communication History" colspan="4"/>
- <field name="message_ids" nolabel="1" colspan="4" mode="tree,form">
+ <field name="message_ids" nolabel="1" colspan="4" mode="tree">
<tree string="Communication History">
<field name="display_text"/>
</tree>
- <form string="Message">
- <field name="subject" widget="char"/>
- <field name="date"/>
- <field name="user_id"/>
- <notebook colspan="4">
- <page string="Email Details">
- <group col="4" colspan="4">
- <separator string="Email Details" colspan="4"/>
- <field name="email_from"/>
- <field name="email_to"/>
- <field name="email_cc"/>
- <field name="email_bcc"/>
- </group>
- </page>
- <page string="Attachments">
- <field name="attachment_ids" nolabel="1" colspan="4" />
- </page>
- </notebook>
- </form>
</field>
</form>
</field>
diff --git a/addons/marketing_campaign_crm_demo/__openerp__.py b/addons/marketing_campaign_crm_demo/__openerp__.py
index 4841cc1a2e8..d394088aca5 100644
--- a/addons/marketing_campaign_crm_demo/__openerp__.py
+++ b/addons/marketing_campaign_crm_demo/__openerp__.py
@@ -21,13 +21,13 @@
{
- "name" : "Demo data for Marketing Campaign",
+ "name" : "Marketing Campaign, demo data",
"version" : "1.0",
"depends" : ["marketing_campaign",
"crm",
],
"author" : "OpenERP SA",
- "category": 'Hidden',
+ "category": 'Marketing',
"description": """
Demo data for the module marketing_campaign.
============================================
diff --git a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml
index ee11fbcdb75..abf29f2c011 100644
--- a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml
+++ b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml
@@ -34,137 +34,113 @@
<!-- Email tempalte -->
<record id="email_template_1" model="email.template">
- <field name="def_subject">Thanks for showing interest in OpenERP</field>
- <field name="def_to">info@tinyerp.com</field>
- <field eval="[(6,0,[])]" name="allowed_groups"/>
+ <field name="subject">Thanks for showing interest in OpenERP</field>
+ <field name="email_to">info@tinyerp.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="object_name" ref="crm.model_crm_lead"/>
- <field eval="0" name="use_sign"/>
- <field name="def_body_text">Hello,Thanks for generous interest you have shown in the openERP.Regards,OpenERP Team,</field>
- <field name="template_language">mako</field>
+ <field name="model_id" ref="crm.model_crm_lead"/>
+ <field eval="0" name="user_signature"/>
+ <field name="body_text">Hello,Thanks for generous interest you have shown in the openERP.Regards,OpenERP Team,</field>
<field name="name">For OpenERP OnDemand Free Trial 2010</field>
- <field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_2" model="email.template">
- <field name="def_subject">Propose to subscribe to the OpenERP Discovery Day on May 2010</field>
- <field name="def_to">info@tinyerp.com</field>
- <field eval="[(6,0,[])]" name="allowed_groups"/>
+ <field name="subject">Propose to subscribe to the OpenERP Discovery Day on May 2010</field>
+ <field name="email_to">info@tinyerp.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="object_name" ref="crm.model_crm_lead"/>
- <field eval="0" name="use_sign"/>
- <field name="def_body_text">Hello,We have very good offer that might suit you.
+ <field name="model_id" ref="crm.model_crm_lead"/>
+ <field eval="0" name="user_signature"/>
+ <field name="body_text">Hello,We have very good offer that might suit you.
We propose you to subscribe to the OpenERP Discovery Day on May 2010.
If any further information required kindly revert back.
We really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
- <field name="template_language">mako</field>
<field name="name">For OpenERP Discovery Day on May 2010</field>
- <field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_3" model="email.template">
- <field name="def_subject">Thanks for subscribing to the OpenERP Discovery Day</field>
- <field name="def_to">info@tinyerp.com</field>
- <field eval="[(6,0,[])]" name="allowed_groups"/>
+ <field name="subject">Thanks for subscribing to the OpenERP Discovery Day</field>
+ <field name="email_to">info@tinyerp.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="object_name" ref="crm.model_crm_lead"/>
- <field eval="0" name="use_sign"/>
- <field name="def_body_text">Hello,Thanks for showing intrest and for subscribing to the OpenERP Discovery Day.
+ <field name="model_id" ref="crm.model_crm_lead"/>
+ <field eval="0" name="user_signature"/>
+ <field name="body_text">Hello,Thanks for showing intrest and for subscribing to the OpenERP Discovery Day.
If any further information required kindly revert back.
I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
- <field name="template_language">mako</field>
<field name="name">For OpenERP Discovery Day</field>
- <field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_4" model="email.template">
- <field name="def_subject">Thanks for buying the OpenERP book</field>
- <field name="def_to">info@tinyerp.com</field>
- <field eval="[(6,0,[])]" name="allowed_groups"/>
+ <field name="subject">Thanks for buying the OpenERP book</field>
+ <field name="email_to">info@tinyerp.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="object_name" ref="crm.model_crm_lead"/>
- <field eval="0" name="use_sign"/>
- <field name="def_body_text">Hello,Thanks for showing intrest and buying the OpenERP book.
+ <field name="model_id" ref="crm.model_crm_lead"/>
+ <field eval="0" name="user_signature"/>
+ <field name="body_text">Hello,Thanks for showing intrest and buying the OpenERP book.
If any further information required kindly revert back.
I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
- <field name="template_language">mako</field>
<field name="name">For OpenERP book</field>
- <field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_5" model="email.template">
- <field name="def_subject">Propose a free technical training to Gold partners</field>
- <field name="def_to">info@tinyerp.com</field>
- <field eval="[(6,0,[])]" name="allowed_groups"/>
+ <field name="subject">Propose a free technical training to Gold partners</field>
+ <field name="email_to">info@tinyerp.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="object_name" ref="crm.model_crm_lead"/>
- <field eval="0" name="use_sign"/>
- <field name="def_body_text">Hello, We have very good offer that might suit you.
+ <field name="model_id" ref="crm.model_crm_lead"/>
+ <field eval="0" name="user_signature"/>
+ <field name="body_text">Hello, We have very good offer that might suit you.
For our gold partners,We are arranging free technical training on june,2010.
If any further information required kindly revert back.
I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
- <field name="template_language">mako</field>
<field name="name">For technical training to Gold partners</field>
- <field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_6" model="email.template">
- <field name="def_subject">Propose paid training to Silver partners</field>
- <field name="def_to">info@tinyerp.com</field>
- <field eval="[(6,0,[])]" name="allowed_groups"/>
+ <field name="subject">Propose paid training to Silver partners</field>
+ <field name="email_to">info@tinyerp.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="object_name" ref="crm.model_crm_lead"/>
- <field eval="0" name="use_sign"/>
- <field name="def_body_text">Hello, We have very good offer that might suit you.
+ <field name="model_id" ref="crm.model_crm_lead"/>
+ <field eval="0" name="user_signature"/>
+ <field name="body_text">Hello, We have very good offer that might suit you.
For our silver partners,We are paid technical training on june,2010.
If any further information required kindly revert back.
I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
- <field name="template_language">mako</field>
<field name="name">For training to Silver partners</field>
- <field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_7" model="email.template">
- <field name="def_subject">Propose gold partnership to silver partners</field>
- <field name="def_to">info@tinyerp.com</field>
- <field eval="[(6,0,[])]" name="allowed_groups"/>
+ <field name="subject">Propose gold partnership to silver partners</field>
+ <field name="email_to">info@tinyerp.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="object_name" ref="crm.model_crm_lead"/>
- <field eval="0" name="use_sign"/>
- <field name="def_body_text">Hello, We have very good offer that might suit you.
+ <field name="model_id" ref="crm.model_crm_lead"/>
+ <field eval="0" name="user_signature"/>
+ <field name="body_text">Hello, We have very good offer that might suit you.
For our silver partners,We are offering Gold partnership.
If any further information required kindly revert back.
I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
- <field name="template_language">mako</field>
<field name="name">For gold partnership to silver partners</field>
- <field name="model_int_name">crm.lead</field>
</record>
<record id="email_template_8" model="email.template">
- <field name="def_subject">Thanks for subscribing to technical training</field>
- <field name="def_to">info@tinyerp.com</field>
- <field eval="[(6,0,[])]" name="allowed_groups"/>
+ <field name="subject">Thanks for subscribing to technical training</field>
+ <field name="email_to">info@tinyerp.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="object_name" ref="crm.model_crm_lead"/>
- <field eval="0" name="use_sign"/>
- <field name="def_body_text">Hello, Thanks for showing intrest and for subscribing to technical training.If any further information required kindly revert back.I really appreciate your co-operation on this.
+ <field name="model_id" ref="crm.model_crm_lead"/>
+ <field eval="0" name="user_signature"/>
+ <field name="body_text">Hello, Thanks for showing intrest and for subscribing to technical training.If any further information required kindly revert back.I really appreciate your co-operation on this.
Regards,OpenERP Team,</field>
- <field name="template_language">mako</field>
<field name="name">For subscribing to technical training</field>
- <field name="model_int_name">crm.lead</field>
</record>
<!-- Report -->
diff --git a/addons/membership/__openerp__.py b/addons/membership/__openerp__.py
index 20d01b6a60e..3e78b4775ab 100644
--- a/addons/membership/__openerp__.py
+++ b/addons/membership/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Membership',
'version': '0.1',
- 'category': 'Hidden',
+ 'category': 'Association',
'description': """
This module allows you to manage all operations for managing memberships.
=========================================================================
diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py
index 38c5fa9a9d1..588ba103f04 100644
--- a/addons/mrp/__openerp__.py
+++ b/addons/mrp/__openerp__.py
@@ -21,7 +21,7 @@
{
- "name" : "Manufacturing Resource Planning",
+ "name" : "MRP",
"version" : "1.1",
"author" : "OpenERP SA",
"website" : "http://www.openerp.com",
@@ -101,6 +101,7 @@ Dashboard provided by this module:
],
'installable': True,
+ 'application': True,
'active': False,
'certificate': '0032052481373',
}
diff --git a/addons/mrp/board_manufacturing_view.xml b/addons/mrp/board_manufacturing_view.xml
index 55deb48a83d..9956aae4ffe 100644
--- a/addons/mrp/board_manufacturing_view.xml
+++ b/addons/mrp/board_manufacturing_view.xml
@@ -9,11 +9,10 @@
<form string="Manufacturing board">
<board style="2-1">
<column>
- <action name="%(mrp.mrp_production_action2)d" string="Next Production Orders"/>
<action name="%(procurement.procurement_exceptions)d" string="Procurements in Exception" domain="[('state','=','exception')]"/>
+ <action name="%(mrp.mrp_production_action2)d" string="Next Production Orders" creatable="true"/>
</column>
<column>
- <action name="%(mrp.action_report_workcenter_load_tree)d" string="Work Center Future Load"/> <!--groups="base.group_extended"-->
<action name="%(mrp.action_report_in_out_picking_tree)d" string="Stock Value Variation"/>
</column>
</board>
diff --git a/addons/mrp/i18n/ar.po b/addons/mrp/i18n/ar.po
index c8a56267090..0a13682d76e 100644
--- a/addons/mrp/i18n/ar.po
+++ b/addons/mrp/i18n/ar.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/bg.po b/addons/mrp/i18n/bg.po
index cc97c80360f..2dbb5ea5340 100644
--- a/addons/mrp/i18n/bg.po
+++ b/addons/mrp/i18n/bg.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -748,7 +748,7 @@ msgid "Per month"
msgstr "За месец"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -761,7 +761,7 @@ msgid "Product Name"
msgstr "Име на продукт"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Невалидно действие !"
@@ -1273,7 +1273,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1327,7 +1327,7 @@ msgid "Month -1"
msgstr "Месец -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1338,7 +1338,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1567,7 +1567,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1657,7 +1657,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Копиране"
@@ -2146,7 +2146,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/bs.po b/addons/mrp/i18n/bs.po
index f5106281e27..9a78c360f43 100644
--- a/addons/mrp/i18n/bs.po
+++ b/addons/mrp/i18n/bs.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/ca.po b/addons/mrp/i18n/ca.po
index c6d359150ec..a81bfdc6da6 100644
--- a/addons/mrp/i18n/ca.po
+++ b/addons/mrp/i18n/ca.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-08-17 22:02+0000\n"
-"Last-Translator: mgaja (GrupoIsep.com) <Unknown>\n"
+"PO-Revision-Date: 2011-12-06 11:07+0000\n"
+"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -758,7 +758,7 @@ msgid "Per month"
msgstr "Per mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -771,7 +771,7 @@ msgid "Product Name"
msgstr "Nom producte"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Acció no vàlida!"
@@ -1320,7 +1320,7 @@ msgstr "Ubicació on el sistema emmagatzemarà els productes finalitzats."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Aquest és l'albarà intern que porta el producte acabat cap al pla de "
@@ -1380,7 +1380,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Ordre de producció '%s' planificada pel '%s'"
@@ -1391,7 +1391,7 @@ msgid "Production Order N° :"
msgstr "Núm. ordre producció :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Ordre de fabricació '%s' està preparada per produir"
@@ -1635,7 +1635,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Ordres de producció a iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "No es pot eliminar ordre/s de producció que estan en estat %s!"
@@ -1728,7 +1728,7 @@ msgid "Production Analysis"
msgstr "Anàlisi de producció"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copieu"
@@ -2254,7 +2254,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipus de producte és emmagatzemable o consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3322,6 +3322,13 @@ msgstr "Any"
#~ msgstr "Us del centre de producció"
#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Aquest és l'albarà intern que porta el producte acabat cap al pla de "
+#~ "producció."
+
+#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
#~ "will be automatically pre-completed."
diff --git a/addons/mrp/i18n/cs.po b/addons/mrp/i18n/cs.po
index 5244b3928c6..57c6e3b019b 100644
--- a/addons/mrp/i18n/cs.po
+++ b/addons/mrp/i18n/cs.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
"X-Poedit-Language: Czech\n"
#. module: mrp
@@ -727,7 +727,7 @@ msgid "Per month"
msgstr "Za měsíc"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -740,7 +740,7 @@ msgid "Product Name"
msgstr "Jméno výrobku"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Neplatná akce !"
@@ -1257,7 +1257,7 @@ msgstr "Umístění kde systém naskladní hotové výrobky."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1311,7 +1311,7 @@ msgid "Month -1"
msgstr "Měsíc -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Výrobní příkaz '%s' je naplánován pro %s."
@@ -1322,7 +1322,7 @@ msgid "Production Order N° :"
msgstr "Výrobní příkaz N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Výrobní příkaz '%s' je připraven k výrobě."
@@ -1551,7 +1551,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Výrobní příkazy pro spuštění"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1641,7 +1641,7 @@ msgid "Production Analysis"
msgstr "Analýza výroby"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Kopírovat"
@@ -2136,7 +2136,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Typ výrobku je Skladový nebo Spotřební."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/da.po b/addons/mrp/i18n/da.po
index 17a13380616..59fe0907efe 100644
--- a/addons/mrp/i18n/da.po
+++ b/addons/mrp/i18n/da.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: 2011-11-10 04:57+0000\n"
-"X-Generator: Launchpad (build 14263)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr "Pr. måned"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/de.po b/addons/mrp/i18n/de.po
index 73f62cd257d..99e1b5f1f59 100644
--- a/addons/mrp/i18n/de.po
+++ b/addons/mrp/i18n/de.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-04-03 09:21+0000\n"
-"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
+"PO-Revision-Date: 2011-12-06 11:05+0000\n"
+"Last-Translator: Ferdinand-camptocamp <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -758,7 +758,7 @@ msgid "Per month"
msgstr "Pro Monat"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -771,7 +771,7 @@ msgid "Product Name"
msgstr "Produkt Bezeichnung"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Fehlerhafte Aktion !"
@@ -1323,7 +1323,7 @@ msgstr "Ort, an dem das System die Fertigprodukte einlagern wird."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Dies ist ein interner Lieferauftrag, der die gefertigten Produkte in den "
@@ -1382,7 +1382,7 @@ msgid "Month -1"
msgstr "Monat -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Fertigungsauftrag '%s' ist geplant für %s."
@@ -1393,7 +1393,7 @@ msgid "Production Order N° :"
msgstr "Fertigungsauftragsnr."
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Fertigungsauftrag '%s' ist Startbereit."
@@ -1635,7 +1635,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Fertigungsaufträge (Startbereit)"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "Fertigungsaufträge im Status %s können nicht gelöscht werden"
@@ -1728,7 +1728,7 @@ msgid "Production Analysis"
msgstr "Statistik Fertigungsaufträge"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Duplizieren"
@@ -2257,7 +2257,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Produkttyp ist 'Lagerprodukt' oder 'Verbrauchsmaterial'."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3351,6 +3351,13 @@ msgstr "Jahr"
#~ "Kapazität pro Zyklus bei 5."
#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Dies ist ein interner Lieferauftrag, der die gefertigten Produkte in den "
+#~ "Fertigungsplan eintragen wird"
+
+#~ msgid ""
#~ "Description of the work center. Explain here what's a cycle according to "
#~ "this work center."
#~ msgstr ""
diff --git a/addons/mrp/i18n/el.po b/addons/mrp/i18n/el.po
index 8120ac8bb2f..7d85bf2de57 100644
--- a/addons/mrp/i18n/el.po
+++ b/addons/mrp/i18n/el.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 12:17+0000\n"
+"PO-Revision-Date: 2011-12-06 11:08+0000\n"
"Last-Translator: qdp (OpenERP) <qdp-launchpad@tinyerp.com>\n"
"Language-Team: l10n_chart_gr <l10n_chart_gr>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
"X-Poedit-SourceCharset: utf-8\n"
@@ -724,7 +724,7 @@ msgid "Per month"
msgstr "Ανά μήνα"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -737,7 +737,7 @@ msgid "Product Name"
msgstr "Όνομα Προϊόντος"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Άκυρη ενέργεια!"
@@ -1249,7 +1249,7 @@ msgstr "Τοποθεσία όπου το σύστημα θα αποθηκεύσÎ
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1303,7 +1303,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1314,7 +1314,7 @@ msgid "Production Order N° :"
msgstr "Νο Εντολής Παραγωγής:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1543,7 +1543,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1633,7 +1633,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2123,7 +2123,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/es.po b/addons/mrp/i18n/es.po
index bb45000dc25..76bfff76f74 100644
--- a/addons/mrp/i18n/es.po
+++ b/addons/mrp/i18n/es.po
@@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-03-12 16:35+0000\n"
+"PO-Revision-Date: 2011-12-06 11:03+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"<jesteve@zikzakmedia.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -760,7 +760,7 @@ msgid "Per month"
msgstr "Por mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -773,7 +773,7 @@ msgid "Product Name"
msgstr "Nombre producto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "¡Acción no válida!"
@@ -1321,7 +1321,7 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Este es el albarán interno que trae el producto terminado hacia el plan de "
@@ -1381,7 +1381,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Órden de producción '%s' planificada para el '%s'"
@@ -1392,7 +1392,7 @@ msgid "Production Order N° :"
msgstr "Núm. orden producción :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Orden fabricación '%s' está preparada para producir."
@@ -1635,7 +1635,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Órdenes de producción a iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1729,7 +1729,7 @@ msgid "Production Analysis"
msgstr "Análisis de producción"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2258,7 +2258,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipo de producto es almacenable o consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3324,6 +3324,13 @@ msgstr "Año"
#~ "futuras cargas de los centros de producción a partir de la planificación de "
#~ "la producción."
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Este es el albarán interno que trae el producto terminado hacia el plan de "
+#~ "producción."
+
#~ msgid "Workcenter Usage"
#~ msgstr "Uso centro de producción"
diff --git a/addons/mrp/i18n/es_AR.po b/addons/mrp/i18n/es_AR.po
index f3c9ec67c23..eadea6dfc48 100644
--- a/addons/mrp/i18n/es_AR.po
+++ b/addons/mrp/i18n/es_AR.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -749,7 +749,7 @@ msgid "Per month"
msgstr "Por mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -762,7 +762,7 @@ msgid "Product Name"
msgstr "Nombre del Producto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "¡Acción no válida!"
@@ -1295,7 +1295,7 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1353,7 +1353,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1364,7 +1364,7 @@ msgid "Production Order N° :"
msgstr "Orden de producción Nº :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1601,7 +1601,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1692,7 +1692,7 @@ msgid "Production Analysis"
msgstr "Análisis de la producción"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2202,7 +2202,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipo de producto es almacenable o consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/es_CL.po b/addons/mrp/i18n/es_CL.po
index 5b574d2578d..55a2771ced5 100644
--- a/addons/mrp/i18n/es_CL.po
+++ b/addons/mrp/i18n/es_CL.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -759,7 +759,7 @@ msgid "Per month"
msgstr "Por mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -772,7 +772,7 @@ msgid "Product Name"
msgstr "Nombre producto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "¡Acción no válida!"
@@ -1320,11 +1320,9 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
-"Este es el albarán interno que trae el producto terminado hacia el plan de "
-"producción."
#. module: mrp
#: field:stock.change.standard.price,change_parent_price:0
@@ -1380,7 +1378,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Órden de producción '%s' planificada para el '%s'"
@@ -1391,7 +1389,7 @@ msgid "Production Order N° :"
msgstr "Núm. orden producción :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Orden fabricación '%s' está preparada para producir."
@@ -1628,7 +1626,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Órdenes de producción a iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1722,7 +1720,7 @@ msgid "Production Analysis"
msgstr "Análisis de producción"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2251,7 +2249,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipo de producto es almacenable o consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2568,6 +2566,13 @@ msgstr "Año"
#~ "la capacidad por ciclo es de 5."
#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Este es el albarán interno que trae el producto terminado hacia el plan de "
+#~ "producción."
+
+#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
#~ "will be automatically pre-completed."
diff --git a/addons/mrp/i18n/es_EC.po b/addons/mrp/i18n/es_EC.po
index a11178e0c8e..0cd26845cbf 100644
--- a/addons/mrp/i18n/es_EC.po
+++ b/addons/mrp/i18n/es_EC.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:52+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -759,7 +759,7 @@ msgid "Per month"
msgstr "Por mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -772,7 +772,7 @@ msgid "Product Name"
msgstr "Nombre producto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "¡Acción inválida!"
@@ -1320,11 +1320,9 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
-"Este es el albarán interno que trae el producto terminado hacia el plan de "
-"producción."
#. module: mrp
#: field:stock.change.standard.price,change_parent_price:0
@@ -1380,7 +1378,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Órden de producción '%s' planificada para el '%s'"
@@ -1391,7 +1389,7 @@ msgid "Production Order N° :"
msgstr "Núm. orden producción :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Orden fabricación '%s' está preparada para producir."
@@ -1634,7 +1632,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Órdenes de producción a iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1728,7 +1726,7 @@ msgid "Production Analysis"
msgstr "Análisis de producción"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2257,7 +2255,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipo de producto es almacenable o consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3329,6 +3327,13 @@ msgstr "Año"
#~ " "
#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Este es el albarán interno que trae el producto terminado hacia el plan de "
+#~ "producción."
+
+#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
#~ "will be automatically pre-completed."
diff --git a/addons/mrp/i18n/es_MX.po b/addons/mrp/i18n/es_MX.po
index 4504a8e2f95..82d584be219 100644
--- a/addons/mrp/i18n/es_MX.po
+++ b/addons/mrp/i18n/es_MX.po
@@ -1321,7 +1321,7 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Este es el albarán interno que trae el producto terminado hacia el plan de "
@@ -2803,7 +2803,7 @@ msgstr "Año"
#~ "producción."
#~ msgid ""
-#~ "This is the internal picking list take bring the raw materials to the "
+#~ "This is the Internal Picking List take bring the raw materials to the "
#~ "production plan."
#~ msgstr ""
#~ "Ésta es la lista de empaquetado interna que lleva las materias primas a la "
diff --git a/addons/mrp/i18n/es_VE.po b/addons/mrp/i18n/es_VE.po
index 4504a8e2f95..82d584be219 100644
--- a/addons/mrp/i18n/es_VE.po
+++ b/addons/mrp/i18n/es_VE.po
@@ -1321,7 +1321,7 @@ msgstr "Ubicación donde el sistema almacenará los productos finalizados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Este es el albarán interno que trae el producto terminado hacia el plan de "
@@ -2803,7 +2803,7 @@ msgstr "Año"
#~ "producción."
#~ msgid ""
-#~ "This is the internal picking list take bring the raw materials to the "
+#~ "This is the Internal Picking List take bring the raw materials to the "
#~ "production plan."
#~ msgstr ""
#~ "Ésta es la lista de empaquetado interna que lleva las materias primas a la "
diff --git a/addons/mrp/i18n/et.po b/addons/mrp/i18n/et.po
index 8e2648993cb..39bae390026 100644
--- a/addons/mrp/i18n/et.po
+++ b/addons/mrp/i18n/et.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr "Kuus"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr "Toote nimi"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Vigane tegevus !"
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr "tootmiskorralduse N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/fi.po b/addons/mrp/i18n/fi.po
index 78a0b3583b9..bfcdf990112 100644
--- a/addons/mrp/i18n/fi.po
+++ b/addons/mrp/i18n/fi.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-19 12:22+0000\n"
-"Last-Translator: Pekka Pylvänäinen <Unknown>\n"
+"PO-Revision-Date: 2011-12-06 09:50+0000\n"
+"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: Finnish <fi@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: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -749,7 +749,7 @@ msgid "Per month"
msgstr "Kuukaudessa"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -762,7 +762,7 @@ msgid "Product Name"
msgstr "Tuotteen nimi"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Virheellinen toiminto!"
@@ -1285,7 +1285,7 @@ msgstr "Paikka jonne järjestelmä varastoi valmiit tuotteet."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Tämä on sisäinen keräilyslista joka tuo lopputuotteen tuontatosuunnitelmaan"
@@ -1343,7 +1343,7 @@ msgid "Month -1"
msgstr "edellinen kk"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Valmistustilaus '%s' on aikataulutettu '%s':lle."
@@ -1354,7 +1354,7 @@ msgid "Production Order N° :"
msgstr "Tuotantotilaus nro:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Valmistustilaus '%s'on valmis tuotantoon."
@@ -1589,7 +1589,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Aloitettavat valmistustilaukset"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "Valmistustilauksia, jotka ovat %s tilassa, ei voi poistaa!"
@@ -1682,7 +1682,7 @@ msgid "Production Analysis"
msgstr "Tuotannon analyysi"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Kopioi"
@@ -2185,7 +2185,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tuotetyyppi on varastoitava tai käytettävä"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3220,6 +3220,12 @@ msgstr "Vuosi"
#~ "henkilöstö on 5 työntekijää, kapasiteetti sykliä kohti on 5."
#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Tämä on sisäinen keräilyslista joka tuo lopputuotteen tuontatosuunnitelmaan"
+
+#~ msgid ""
#~ "Description of the work center. Explain here what's a cycle according to "
#~ "this work center."
#~ msgstr "Työpisteen kuvaus. Kuvaa tähän mikä on työpisteen työnkulku."
diff --git a/addons/mrp/i18n/fr.po b/addons/mrp/i18n/fr.po
index 884c885b019..628aeae9449 100644
--- a/addons/mrp/i18n/fr.po
+++ b/addons/mrp/i18n/fr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-09-26 12:16+0000\n"
+"PO-Revision-Date: 2011-12-06 10:24+0000\n"
"Last-Translator: lholivier <olivier.lenoir@free.fr>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.bom,product_uos:0
@@ -776,7 +776,7 @@ msgid "Per month"
msgstr "Par mois"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -789,7 +789,7 @@ msgid "Product Name"
msgstr "Nom du Produit"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Action non valide !"
@@ -1374,7 +1374,7 @@ msgstr "Emplacement où le système stockera les produits finis."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"C'est le bon de transfert interne qui fournit les produits finis au plan de "
@@ -1434,7 +1434,7 @@ msgid "Month -1"
msgstr "Mois -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Ordre de production '%s' est planifié pour le %s."
@@ -1445,7 +1445,7 @@ msgid "Production Order N° :"
msgstr "Ordre de Production N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "L'ordre de production '%s' est pret a être produit."
@@ -1688,7 +1688,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Ordres de fabrication à lancer"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "Impossible de supprimer l'ordre de production à l'état %s !"
@@ -1767,7 +1767,7 @@ msgid "Production Analysis"
msgstr "Analyse de la production"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copier"
@@ -2295,7 +2295,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Le type produit est stockable ou consommable."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3340,6 +3340,13 @@ msgstr "Année"
#~ "Le nom de l'objet doit commencer par x_ et ne doit contenir aucun caractère "
#~ "spécial!"
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "C'est le bon de transfert interne qui fournit les produits finis au plan de "
+#~ "production"
+
#~ msgid "A cycle is defined in the workcenter definition."
#~ msgstr "Un cycle est défini dans la définition du Centre de Production."
diff --git a/addons/mrp/i18n/gl.po b/addons/mrp/i18n/gl.po
index 3ba7c6c8c85..7410d5e6ece 100644
--- a/addons/mrp/i18n/gl.po
+++ b/addons/mrp/i18n/gl.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-06-09 15:28+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2011-12-06 10:31+0000\n"
+"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: Galician <gl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -757,7 +757,7 @@ msgid "Per month"
msgstr "Por mes"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -770,7 +770,7 @@ msgid "Product Name"
msgstr "Nome produto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Acción non válida!"
@@ -1314,7 +1314,7 @@ msgstr "Lugar onde almacenará o sistema os produtos rematados"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Este é o albará interno que trae o produto rematado ó plan de produción."
@@ -1373,7 +1373,7 @@ msgid "Month -1"
msgstr "Mes -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Orde de produción '%s' planificada para o '%s'"
@@ -1384,7 +1384,7 @@ msgid "Production Order N° :"
msgstr "Nº orde produción:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "A orde de fabricación '%s' está preparada para producir."
@@ -1626,7 +1626,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Ordes de produción a iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1720,7 +1720,7 @@ msgid "Production Analysis"
msgstr "Análise de produción"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2243,7 +2243,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "O Tipo de produto é almacenable ou consumible."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2615,6 +2615,12 @@ msgstr "Ano"
#~ " "
#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Este é o albará interno que trae o produto rematado ó plan de produción."
+
+#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
#~ "will be automatically pre-completed."
diff --git a/addons/mrp/i18n/hi.po b/addons/mrp/i18n/hi.po
index 40199555bbc..9ece8255329 100644
--- a/addons/mrp/i18n/hi.po
+++ b/addons/mrp/i18n/hi.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: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr "प्रति माह"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr "वस्तु का नाम"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/hr.po b/addons/mrp/i18n/hr.po
index 0f488328de2..feee2db4426 100644
--- a/addons/mrp/i18n/hr.po
+++ b/addons/mrp/i18n/hr.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -717,7 +717,7 @@ msgid "Per month"
msgstr "Mjesečno"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -730,7 +730,7 @@ msgid "Product Name"
msgstr "Ime Proizvoda"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Pogrešna akcija !"
@@ -1242,7 +1242,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1296,7 +1296,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Nalog za Proizvodnju '%s' je planiran za %s."
@@ -1307,7 +1307,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Nalog za Proizvodnju '%s' je spreman za proizvodnju."
@@ -1536,7 +1536,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Naloz za Proizvodnju Za Pokrenuti"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1626,7 +1626,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2115,7 +2115,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/hu.po b/addons/mrp/i18n/hu.po
index 85e7187ff40..0a3432b2fc5 100644
--- a/addons/mrp/i18n/hu.po
+++ b/addons/mrp/i18n/hu.po
@@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-02-09 14:35+0000\n"
+"PO-Revision-Date: 2011-12-06 11:04+0000\n"
"Last-Translator: NOVOTRADE RENDSZERHÁZ ( novotrade.hu ) "
"<openerp@novotrade.hu>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -32,26 +32,31 @@ msgid ""
"raw materials (stock decrease) and the production of the finished products "
"(stock increase) when the order is processed."
msgstr ""
+"A gyártási rendeléseket általában az OpenERP automatikusan javasolja "
+"anyagjegyzékek és beszerzési szabályok alapján, azonban lehetősége van "
+"manuálisan is felvinni gyártási rendeléseket. Az OpenERP kezeli a "
+"nyersanyagok fogyását (készlet csökkenése) és a kész termékek gyártását "
+"(készlet csökkenése), amikor a rendelést végrehajtja."
#. module: mrp
#: help:mrp.production,location_src_id:0
msgid "Location where the system will look for components."
-msgstr ""
+msgstr "A hozzávalókat ezen a helyen keresi majd a rendszer."
#. module: mrp
#: field:mrp.production,workcenter_lines:0
msgid "Work Centers Utilisation"
-msgstr ""
+msgstr "Munkaállomások használata"
#. module: mrp
#: view:mrp.routing.workcenter:0
msgid "Routing Work Centers"
-msgstr ""
+msgstr "Eljárás munkaállomásai"
#. module: mrp
#: model:ir.module.module,shortdesc:mrp.module_meta_information
msgid "Manufacturing Resource Planning"
-msgstr "Gyártási források tervezése"
+msgstr "Erőforrások tervezése"
#. module: mrp
#: report:mrp.production.order:0
@@ -88,12 +93,12 @@ msgstr "Óránkénti költség"
#: code:addons/mrp/report/price.py:130
#, python-format
msgid "Cost Price per Uom"
-msgstr "Önköltség"
+msgstr "Mértékenységenkénti költség"
#. module: mrp
#: view:mrp.production:0
msgid "Scrap Products"
-msgstr ""
+msgstr "Selejt termék"
#. module: mrp
#: view:mrp.production.order:0
@@ -105,22 +110,22 @@ msgstr "Nap"
#: model:ir.actions.act_window,name:mrp.mrp_routing_action
#: model:ir.ui.menu,name:mrp.menu_mrp_routing_action
msgid "Routings"
-msgstr ""
+msgstr "Eljárás"
#. module: mrp
#: field:mrp.workcenter,product_id:0
msgid "Work Center Product"
-msgstr ""
+msgstr "Munkaállomás-termék"
#. module: mrp
#: view:mrp.bom:0
msgid "Search Bill Of Material"
-msgstr ""
+msgstr "Anyagjegyzék keresése"
#. module: mrp
#: model:process.node,note:mrp.process_node_stockproduct1
msgid "For stockable products and consumables"
-msgstr ""
+msgstr "Raktározható és felhasználható termékekhez"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_stockproduction0
@@ -133,6 +138,8 @@ msgid ""
"Number of iterations this work center has to do in the specified operation "
"of the routing."
msgstr ""
+"Megadja, hogy az eljárás adott műveletnél ezt a munkaállomást hányszor kell "
+"igénybe venni."
#. module: mrp
#: view:mrp.bom:0
@@ -156,7 +163,7 @@ msgstr "Vásárolni"
#. module: mrp
#: view:mrp.production.order:0
msgid "Raw Material Location"
-msgstr ""
+msgstr "Alapanyagok helye"
#. module: mrp
#: help:mrp.installer,mrp_operations:0
@@ -164,26 +171,30 @@ msgid ""
"Enhances production orders with readiness states as well as the start date "
"and end date of execution of the order."
msgstr ""
+"Ellátja a gyártási rendeléseket a készültség állapotával és a rendelés "
+"végrehajtásának kezdési, illetve a befejezési idejével."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_purchaseprocure0
msgid "The system launches automatically a RFQ to the preferred supplier."
msgstr ""
+"A rendszer automatikusan kiküld egy ajánlatkérési felhívást a kiválasztott "
+"beszállítónak."
#. module: mrp
#: view:mrp.production:0
msgid "Products to Finish"
-msgstr ""
+msgstr "Befejezendő termékek"
#. module: mrp
#: selection:mrp.bom,method:0
msgid "Set / Pack"
-msgstr ""
+msgstr "Csomag"
#. module: mrp
#: field:mrp.installer,mrp_subproduct:0
msgid "MRP Subproducts"
-msgstr ""
+msgstr "MRP altermékek modul"
#. module: mrp
#: view:mrp.production:0
@@ -204,6 +215,8 @@ msgid ""
"In case the Supply method of the product is Produce, the system creates a "
"production order."
msgstr ""
+"Ha a termék ellátási módja \"Gyártás\", a rendszer gyártási rendelést hoz "
+"létre."
#. module: mrp
#: view:mrp.production:0
@@ -218,7 +231,7 @@ msgstr "ME"
#: field:mrp.production.order,product_qty:0
#: field:mrp.production.product.line,product_qty:0
msgid "Product Qty"
-msgstr "Termékmenny."
+msgstr "Termékmennyiség"
#. module: mrp
#: help:mrp.workcenter,product_id:0
@@ -227,22 +240,22 @@ msgid ""
"accounting."
msgstr ""
"Töltse ki ezt a terméket, hogy könnyen nyomon kövesse a gyártási költségeket "
-"a vezetői számvitelben."
+"az analitikus könyvelésben."
#. module: mrp
#: model:process.node,note:mrp.process_node_purchaseprocure0
msgid "For purchased material"
-msgstr ""
+msgstr "Vásárolt termékhez"
#. module: mrp
#: field:mrp.bom.revision,indice:0
msgid "Revision"
-msgstr "Revízió"
+msgstr "Felülvizsgálat"
#. module: mrp
#: model:ir.ui.menu,name:mrp.next_id_77
msgid "Reporting"
-msgstr "Jelentés"
+msgstr "Jelentéskészítés"
#. module: mrp
#: field:mrp.workcenter,costs_cycle_account_id:0
@@ -263,7 +276,7 @@ msgstr "["
#. module: mrp
#: model:process.transition,name:mrp.process_transition_procureserviceproduct0
msgid "Procurement of services"
-msgstr ""
+msgstr "Szolgáltatások beszerzése"
#. module: mrp
#: view:mrp.workcenter:0
@@ -278,7 +291,7 @@ msgstr "Célállomás helye"
#. module: mrp
#: view:mrp.installer:0
msgid "title"
-msgstr "Pozíció"
+msgstr "pozíció"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_mrp_bom
@@ -291,6 +304,9 @@ msgid ""
"The system waits for the products to be available in the stock. These "
"products are typically procured manually or through a minimum stock rule."
msgstr ""
+"A rendszer termékekre vár, hogy elérhetővé válljanak a raktárban. Ezeket a "
+"termékeket általában manuálisan kell beszerezni vagy minimális "
+"készletszabályok beállításával."
#. module: mrp
#: report:mrp.production.order:0
@@ -300,7 +316,7 @@ msgstr "Partner hiv."
#. module: mrp
#: selection:mrp.workcenter.load,measure_unit:0
msgid "Amount in hours"
-msgstr ""
+msgstr "Mennyiség órában"
#. module: mrp
#: field:mrp.production,product_lines:0
@@ -310,12 +326,12 @@ msgstr "Tervezett áruk"
#. module: mrp
#: selection:mrp.bom,type:0
msgid "Sets / Phantom"
-msgstr ""
+msgstr "Csomagok"
#. module: mrp
#: help:mrp.bom,position:0
msgid "Reference to a position in an external plan."
-msgstr ""
+msgstr "Hivatkozás egy külső területre."
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -326,6 +342,8 @@ msgstr "Augusztus"
#: constraint:stock.move:0
msgid "You try to assign a lot which is not from the same product"
msgstr ""
+"Egy olyan tételt próbál hozzárendelni, amely nem ugyanabból a termékfajtából "
+"való."
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_production_order
@@ -340,7 +358,7 @@ msgstr "Június"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_product_produce
msgid "Product Produce"
-msgstr "Termék előállítása"
+msgstr "Termék gyártása"
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -351,12 +369,12 @@ msgstr "Október"
#: code:addons/mrp/report/price.py:177
#, python-format
msgid "Components Cost of "
-msgstr ""
+msgstr "Hozzávalók költsége "
#. module: mrp
#: model:process.transition,name:mrp.process_transition_procurestockableproduct0
msgid "Procurement of stockable Product"
-msgstr ""
+msgstr "Raktározható termékek beszerzése"
#. module: mrp
#: view:mrp.bom:0
@@ -388,6 +406,8 @@ msgid ""
"The system creates an order (production or purchased) depending on the sold "
"quantity and the products parameters."
msgstr ""
+"A rendszer a termék tulajdonságai és az értékesített mennyiség alapján "
+"létrehoz egy - gyártási vagy beszerzési - rendelést."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_servicemts0
@@ -395,6 +415,8 @@ msgid ""
"This is used in case of a service without any impact in the system, a "
"training session for instance."
msgstr ""
+"Ezt használhatjuk olyan szolgálatásokra, amelyek semmilyen hatással "
+"sincsenek a rendszerre (például egy belső képzés)."
#. module: mrp
#: field:mrp.installer,mrp_repair:0
@@ -404,7 +426,7 @@ msgstr "Javítások"
#. module: mrp
#: field:mrp.installer,stock_location:0
msgid "Advanced Routes"
-msgstr ""
+msgstr "Előrehaladott eljárások"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_search_mrp
@@ -422,6 +444,8 @@ msgid ""
"Enables warranty and repair management (and their impact on stocks and "
"invoicing)."
msgstr ""
+"Lehetővé teszi a garancia- és szervízkezelést, és ezek hatását a "
+"raktározásra és a számlázásra."
#. module: mrp
#: field:mrp.production,date_planned_date:0
@@ -442,6 +466,9 @@ msgid ""
"needed.Set a location if you produce at a fixed location. This can be a "
"partner location if you subcontract the manufacturing operations."
msgstr ""
+"Hagyja üresen, ha a gyártást ugyanazon a helyen végzi, ahol a késztermékre "
+"szüksége van. Válasszon egy helyszínt, ha fix helyen gyárt. Ez lehet egy "
+"partner székhelye is, amennyiben a gyártási eljárást kiszervezi."
#. module: mrp
#: view:board.board:0
@@ -451,12 +478,12 @@ msgstr "Készletérték változása"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action2
msgid "Bill of Materials Structure"
-msgstr ""
+msgstr "Anyagjegyzék-struktúra"
#. module: mrp
#: model:process.node,note:mrp.process_node_serviceproduct0
msgid "Product type is service"
-msgstr "A termék típusa szolgáltatás."
+msgstr "A termék típusa szolgáltatás"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_property_group_action
@@ -464,16 +491,18 @@ msgid ""
"Define specific property groups that can be assigned to the properties of "
"your bill of materials."
msgstr ""
+"Adjon meg egyedi tulajdonság-csoportokat, amelyeket az anyagjegyzékek "
+"tulajdonságaihoz rendelhet."
#. module: mrp
#: model:process.transition,name:mrp.process_transition_bom0
msgid "Manufacturing decomposition"
-msgstr ""
+msgstr "Gyártás lebontása"
#. module: mrp
#: model:process.node,note:mrp.process_node_serviceproduct1
msgid "For Services."
-msgstr ""
+msgstr "Szolgáltatásokhoz."
#. module: mrp
#: field:mrp.bom.revision,date:0
@@ -487,8 +516,8 @@ msgid ""
"Complete this only if you want automatic analytic accounting entries on "
"production orders."
msgstr ""
-"Csak akkor töltse ki, ha automatikus gyűjtőkód tételeket akar a termelési "
-"utasítások alapján."
+"Csak akkor töltse ki, ha analitikus könyvelési tételek automatikus bevitelét "
+"szeretné a gyártási rendelések alapján."
#. module: mrp
#: field:mrp.production.workcenter.line,cycle:0
@@ -507,6 +536,8 @@ msgid ""
"The Bill of Material is linked to a routing, i.e. the succession of work "
"centers."
msgstr ""
+"Az anyagjegyzék egy gyártási eljáráshoz kapcsolódik, vagyis a munkaállomások "
+"sorozatához."
#. module: mrp
#: constraint:product.product:0
@@ -522,12 +553,12 @@ msgstr "Gyártási hely"
#. module: mrp
#: view:mrp.production:0
msgid "Change Qty"
-msgstr ""
+msgstr "Mennyiség változtatása"
#. module: mrp
#: view:mrp.production:0
msgid "Force Reservation"
-msgstr ""
+msgstr "Foglalás erőltetése"
#. module: mrp
#: field:mrp.bom.revision,author_id:0
@@ -542,12 +573,12 @@ msgstr "Készletérték"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_product_bom_structure
msgid "Product BoM Structure"
-msgstr ""
+msgstr "Termék anyagjegyzék-struktúrája"
#. module: mrp
#: view:mrp.production:0
msgid "Search Production"
-msgstr ""
+msgstr "Gyártás keresése"
#. module: mrp
#: code:addons/mrp/report/price.py:130
@@ -563,14 +594,14 @@ msgstr "Március"
#. module: mrp
#: field:mrp.bom,child_complete_ids:0
msgid "BoM Hierarchy"
-msgstr ""
+msgstr "Anyagjegyzék hierarchia"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.act_mrp_product_produce
#: view:mrp.product.produce:0
#: view:mrp.production:0
msgid "Produce"
-msgstr "Gyártás"
+msgstr "Gyártani"
#. module: mrp
#: help:mrp.workcenter,costs_cycle:0
@@ -582,17 +613,17 @@ msgstr ""
#: view:mrp.production.order:0
#: selection:mrp.production.order,state:0
msgid "Picking Exception"
-msgstr "Kiszedési kivétel"
+msgstr "Kiszedési hiba"
#. module: mrp
#: field:mrp.bom,bom_lines:0
msgid "BoM Lines"
-msgstr ""
+msgstr "Anyagjegyzék sorok"
#. module: mrp
#: field:mrp.workcenter,time_start:0
msgid "Time before prod."
-msgstr ""
+msgstr "Gyártás előkészületi idő"
#. module: mrp
#: help:mrp.routing,active:0
@@ -600,11 +631,13 @@ msgid ""
"If the active field is set to False, it will allow you to hide the routing "
"without removing it."
msgstr ""
+"Ha az aktív mezőt \"Hamis\"-ra állítja, akkor törlés nélkül el tudja rejteni "
+"a gyártási eljárást."
#. module: mrp
#: model:process.transition,name:mrp.process_transition_billofmaterialrouting0
msgid "Material Routing"
-msgstr ""
+msgstr "Termék útja"
#. module: mrp
#: view:mrp.production:0
@@ -612,31 +645,31 @@ msgstr ""
#: report:mrp.production.order:0
#: field:mrp.production.order,consumed_products:0
msgid "Consumed Products"
-msgstr ""
+msgstr "Felhasznált termékek"
#. module: mrp
#: constraint:mrp.bom:0
msgid "Error ! You can not create recursive BoM."
-msgstr ""
+msgstr "Hiba! Rekurzív anyagjegyzék nem hozható létre."
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_mrp_workcenter_load_wizard
#: model:ir.model,name:mrp.model_mrp_workcenter_load
#: model:ir.model,name:mrp.model_report_workcenter_load
msgid "Work Center Load"
-msgstr ""
+msgstr "Munkaállomás terheltsége"
#. module: mrp
#: code:addons/mrp/procurement.py:45
#, python-format
msgid "No BoM defined for this product !"
-msgstr ""
+msgstr "Az adott termékhez nincsen anyagjegyzék megadva!"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action2
#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action2
msgid "Bill of Material Components"
-msgstr ""
+msgstr "Anyagjegyzék hozzávalói"
#. module: mrp
#: field:mrp.production.order,nbr:0
@@ -661,6 +694,10 @@ msgid ""
"operations and to plan future loads on work centers based on production "
"plannification."
msgstr ""
+"A késztermék létrehozásához szükséges műveletek (munkaállomások) listája. A "
+"gyártási eljárások fő funkciója a munkaállomások működési költségeinek "
+"számítása és a munkaállomások terheltségének tervezése a gyártási tervezésén "
+"keresztül."
#. module: mrp
#: help:mrp.workcenter,time_cycle:0
@@ -670,7 +707,7 @@ msgstr "Idő (órában), ami egy ciklus elvégzéséhez szükséges"
#. module: mrp
#: report:bom.structure:0
msgid "BOM Ref"
-msgstr ""
+msgstr "Anyagjegyzék hivatkozás"
#. module: mrp
#: view:mrp.production:0
@@ -683,7 +720,7 @@ msgstr "Gyártás alatt"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_mrp_property
msgid "Master Bill of Materials"
-msgstr ""
+msgstr "Fő anyagjegyzékek"
#. module: mrp
#: help:mrp.bom,product_uos:0
@@ -691,6 +728,8 @@ msgid ""
"Product UOS (Unit of Sale) is the unit of measurement for the invoicing and "
"promotion of stock."
msgstr ""
+"A termék eladási mértékegysége a számlázásban és a kiszállításban használt "
+"mértékegység."
#. module: mrp
#: view:mrp.product_price:0
@@ -715,6 +754,7 @@ msgstr "Összes költsége "
#: model:process.node,note:mrp.process_node_minimumstockrule0
msgid "Linked to the 'Minimum stock rule' supplying method."
msgstr ""
+"A \"minimális raktárkezelési szabály\" ellátási módszeréhez kapcsolódik."
#. module: mrp
#: selection:mrp.workcenter.load,time_unit:0
@@ -722,12 +762,12 @@ msgid "Per month"
msgstr "Havonta"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
msgid "Couldn't find bill of material for product"
-msgstr ""
+msgstr "A termékhez nem található anyagjegyzék"
#. module: mrp
#: report:bom.structure:0
@@ -735,15 +775,15 @@ msgid "Product Name"
msgstr "Termék neve"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
-msgstr "Érvénytelen művelet !"
+msgstr "Érvénytelen művelet!"
#. module: mrp
#: help:mrp.bom,product_efficiency:0
msgid "A factor of 0.9 means a loss of 10% within the production process."
-msgstr ""
+msgstr "A 0,9-es érték 10%-os veszteséget jelent a gyártási folyamatban."
#. module: mrp
#: view:mrp.installer:0
@@ -751,6 +791,8 @@ msgid ""
"Add more functionalities to the core Manufacturing Application with the "
"following addons."
msgstr ""
+"Bővitse további funkciókkal az alap gyártási alkalmazást az alábbi addonok "
+"használatával."
#. module: mrp
#: report:mrp.production.order:0
@@ -771,7 +813,7 @@ msgstr "Beszerzési szabály"
#. module: mrp
#: help:mrp.workcenter,costs_hour:0
msgid "Specify Cost of Work center per hour."
-msgstr ""
+msgstr "Adja meg a munkaállomás egy órára eső költségét."
#. module: mrp
#: view:mrp.production:0
@@ -786,7 +828,7 @@ msgstr "Szeptember"
#. module: mrp
#: report:mrp.production.order:0
msgid "WorkCenter"
-msgstr ""
+msgstr "Munkaállomás"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_procureserviceproduct0
@@ -795,6 +837,9 @@ msgid ""
"order creates a RFQ for a subcontracting purchase order or waits until the "
"service is done (= the delivery of the products)."
msgstr ""
+"A szolgáltatásnál megadott ellátási módtól függően, a beszerzési rendelés "
+"vagy egy alvállalkozónak szóló ajánlatkérést hoz létre, vagy várakozik, míg "
+"a szolgáltatás (azaz a termék kiszállítása) be nem fejeződik."
#. module: mrp
#: selection:mrp.production,priority:0
@@ -815,7 +860,7 @@ msgstr "Gyártási rendelés"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_productionprocureproducts0
msgid "Procurement of raw material"
-msgstr ""
+msgstr "Alapanyag-beszerzés"
#. module: mrp
#: help:mrp.routing.workcenter,hour_nbr:0
@@ -823,6 +868,8 @@ msgid ""
"Time in hours for this work center to achieve the operation of the specified "
"routing."
msgstr ""
+"A megadott munkaállomásnak szükséges idő (órákban), amivel az eljárásban "
+"megadott műveletet el tudja végezni."
#. module: mrp
#: view:mrp.production:0
@@ -835,7 +882,7 @@ msgstr "Összes ciklus"
#: view:mrp.production.order:0
#: selection:mrp.production.order,state:0
msgid "Ready to Produce"
-msgstr ""
+msgstr "Gyártásra kész"
#. module: mrp
#: field:mrp.bom.revision,name:0
@@ -852,7 +899,7 @@ msgstr "Dátum"
#. module: mrp
#: field:mrp.bom,type:0
msgid "BoM Type"
-msgstr ""
+msgstr "Anyagjegyzék tipusa"
#. module: mrp
#: view:mrp.production.order:0
@@ -865,6 +912,7 @@ msgstr "Kiterjesztett szűrők…"
msgid ""
"Procurement '%s' has an exception: 'No BoM defined for this product !'"
msgstr ""
+"A %s beszerzés hibát jelzett: \"A termékhez nem található anyagjegyzék!\""
#. module: mrp
#: view:mrp.production.order:0
@@ -896,7 +944,7 @@ msgstr "Vezérlőpult"
#. module: mrp
#: view:board.board:0
msgid "Work Center Future Load"
-msgstr ""
+msgstr "Munkaállomások jövőbeli terheltsége"
#. module: mrp
#: model:process.node,name:mrp.process_node_stockproduct0
@@ -909,7 +957,7 @@ msgstr "Készletezhető termék"
#: code:addons/mrp/report/price.py:121
#, python-format
msgid "Work Center name"
-msgstr ""
+msgstr "Munkaállomás neve"
#. module: mrp
#: field:mrp.routing,code:0
@@ -924,18 +972,18 @@ msgstr "Órák száma"
#. module: mrp
#: field:mrp.installer,mrp_jit:0
msgid "Just In Time Scheduling"
-msgstr ""
+msgstr "Just In Time ütemezés"
#. module: mrp
#: view:mrp.property:0
#: view:mrp.property.group:0
msgid "Property Group"
-msgstr ""
+msgstr "Tulajdonságcsoport"
#. module: mrp
#: view:mrp.production:0
msgid "Qty"
-msgstr "Menny."
+msgstr "Mennyiség"
#. module: mrp
#: model:process.node,note:mrp.process_node_production0
@@ -954,6 +1002,8 @@ msgid ""
"Enables multiple product output from a single production order: without "
"this, a production order can have only one output product."
msgstr ""
+"Lehetővét teszi több termék kibocsátását egyetlen gyártási rendelésből. "
+"Enélkül a gyártási rendelés csak egy terméket bocsátana ki."
#. module: mrp
#: view:change.production.qty:0
@@ -982,6 +1032,8 @@ msgid ""
"If the service has a 'Buy' supply method, this creates a RFQ, a "
"subcontracting demand for instance."
msgstr ""
+"Ha a szolgáltatás ellátási módja \"Vásárlás\", akkor a rendszer egy "
+"ajánlatkérést hoz létre."
#. module: mrp
#: field:mrp.production,move_prod_id:0
@@ -996,18 +1048,20 @@ msgstr "Később"
#. module: mrp
#: model:process.node,name:mrp.process_node_servicemts0
msgid "Make to stock"
-msgstr "Készletre gyártás"
+msgstr "Beszerzés készletből"
#. module: mrp
#: help:mrp.routing.workcenter,sequence:0
msgid ""
"Gives the sequence order when displaying a list of routing work centers."
msgstr ""
+"Megadja a sorrendet, amikor az eljárásban lévő munkaállomások listáját "
+"kiállítjuk."
#. module: mrp
#: report:bom.structure:0
msgid "BOM Name"
-msgstr ""
+msgstr "Anyagjegyzék név"
#. module: mrp
#: view:mrp.production:0
@@ -1036,6 +1090,8 @@ msgid ""
"Manages product routes and paths within and between locations (e.g. "
"warehouses)."
msgstr ""
+"Kezeli a termékeljárásokat és a termékútvonalakat a helyeken és a helyek "
+"között (pl.: raktárak között)."
#. module: mrp
#: model:process.node,note:mrp.process_node_billofmaterial0
@@ -1054,7 +1110,7 @@ msgstr "Név"
#. module: mrp
#: view:mrp.installer:0
msgid "MRP Application Configuration"
-msgstr ""
+msgstr "Gyártási modul alkalmazás konfigurálás"
#. module: mrp
#: help:mrp.installer,mrp_jit:0
@@ -1065,6 +1121,11 @@ msgid ""
"avoids having to wait for the procurement scheduler to run or having to run "
"the procurement scheduler manually."
msgstr ""
+"Lehetővé teszi a Just in Time számításokat a beszerzési rendelésekben. \n"
+"\n"
+"Míg ez erőforrás igényesebb, mint az alapértelmezett beállítás, a Just in "
+"Time modul kikerüli azt, hogy a beszerzési ütemező futtatására várjunk, vagy "
+"hogy a beszerzési ütemezőt manuálisan futtassuk."
#. module: mrp
#: field:mrp.product.produce,mode:0
@@ -1079,7 +1140,7 @@ msgstr "]"
#. module: mrp
#: field:mrp.workcenter.load,measure_unit:0
msgid "Amount measuring unit"
-msgstr ""
+msgstr "Érték mértékegysége"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_production_action_planning
@@ -1091,11 +1152,18 @@ msgid ""
"materials have been defined, OpenERP is capable of automatically deciding on "
"the manufacturing route depending on the needs of the company."
msgstr ""
+"Gyártási rendelések meghatározzák azokat a műveleteket, amelyeket el kell "
+"végezni, illetve az alapanyag-felhasználást minden egyes gyártási fázisban. "
+"Használjon specifikációkat (anyagjegyzékek), hogy meghatározza az alapanyag-"
+"szükségletek és a késztermékek elkészítéséhez szükséges gyártási "
+"rendeléseket. Ha az anyagjegyzékeket egyszer már megadta, az OpenERP képes "
+"automatiklusan eldönteni, hogy melyik gyártási eljárást alkalmazza, függően "
+"a vállalat szükségleteitől."
#. module: mrp
#: constraint:mrp.production:0
msgid "Order quantity cannot be negative or zero !"
-msgstr "Rendelési mennyiség nem lehet negatív vagy nulla !"
+msgstr "Rendelési mennyiség nem lehet negatív vagy nulla!"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action3
@@ -1144,7 +1212,7 @@ msgstr ""
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action4
msgid "Manufacturing Orders Waiting Products"
-msgstr ""
+msgstr "Árura várakozó gyártási rendelések"
#. module: mrp
#: view:mrp.bom:0
@@ -1160,36 +1228,36 @@ msgstr "Csoportosítás..."
#: code:addons/mrp/report/price.py:121
#, python-format
msgid "Cycles Cost"
-msgstr "Ciklus költsége"
+msgstr "Ciklus költség"
#. module: mrp
#: selection:mrp.workcenter.load,measure_unit:0
msgid "Amount in cycles"
-msgstr ""
+msgstr "Érték ciklusokban"
#. module: mrp
#: field:mrp.production,location_dest_id:0
#: view:mrp.production.order:0
#: field:mrp.production.order,location_dest_id:0
msgid "Finished Products Location"
-msgstr ""
+msgstr "Késztermékek helye"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_pm_resources_config
msgid "Resources"
-msgstr "Források"
+msgstr "Erőforrások"
#. module: mrp
#: field:mrp.workcenter,costs_journal_id:0
msgid "Analytic Journal"
-msgstr "Gyűjtőnapló"
+msgstr "Analitikus napló"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_workcenter_action
#: model:ir.ui.menu,name:mrp.menu_view_resource_search_mrp
#: field:mrp.routing,workcenter_lines:0
msgid "Work Centers"
-msgstr ""
+msgstr "Munkaállomások"
#. module: mrp
#: selection:mrp.workcenter.load,time_unit:0
@@ -1204,6 +1272,10 @@ msgid ""
"They are attached to bills of materials that will define the required raw "
"materials."
msgstr ""
+"A gyártási eljárások lehetővé teszik Önnek, hogy létrehozza és kezelje "
+"azokat a gyártási műveleteket, amelyeket a termék legyártásához követni kell "
+"a munkaállomásokon. Az eljárások az anyagjegyzékekhez kapcsolódnak, amelyek "
+"meghatározzák a szükséges alapanyagokat."
#. module: mrp
#: field:report.workcenter.load,hour:0
@@ -1213,7 +1285,7 @@ msgstr "Óra száma"
#. module: mrp
#: view:mrp.routing:0
msgid "Work Center Operations"
-msgstr ""
+msgstr "Munkaállomás műveletei"
#. module: mrp
#: view:mrp.routing:0
@@ -1237,24 +1309,24 @@ msgstr "Időegység kiválasztása"
#. module: mrp
#: view:report.workcenter.load:0
msgid "Work Center load"
-msgstr ""
+msgstr "Munkaállomás terheltsége"
#. module: mrp
#: help:mrp.production,location_dest_id:0
msgid "Location where the system will stock the finished products."
-msgstr ""
+msgstr "A késztermékek tárolásának helye."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
#. module: mrp
#: field:stock.change.standard.price,change_parent_price:0
msgid "Change Parent Price"
-msgstr ""
+msgstr "Fölérendelt ár megváltoztatása"
#. module: mrp
#: model:ir.model,name:mrp.model_stock_move
@@ -1268,6 +1340,9 @@ msgid ""
"maxi quantity. It's available in the Inventory management menu and "
"configured by product."
msgstr ""
+"A minimális készlet szabály egy automatikus beszerzési szabály, amely a "
+"minimum és maximum árumennyiségre épül. Elérhető a leltárkezelés menüben, "
+"illetve az egyes termékeknél állítható be."
#. module: mrp
#: selection:mrp.workcenter.load,time_unit:0
@@ -1282,7 +1357,7 @@ msgstr "Felülvizsgálatok"
#. module: mrp
#: view:mrp.installer:0
msgid "Configure Your Manufacturing Resource Planning Application"
-msgstr ""
+msgstr "Állítsa be a gyártási modul alkalmazását."
#. module: mrp
#: field:mrp.production,priority:0
@@ -1301,38 +1376,38 @@ msgid "Month -1"
msgstr "Előző hónap"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
-msgstr ""
+msgstr "A %s gyártási rendelést a rendszer a következőre ütemezte: %s"
#. module: mrp
#: report:mrp.production.order:0
msgid "Production Order N° :"
-msgstr "Gyártási rendelés száma"
+msgstr "Gyártási rendelés száma:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
-msgstr ""
+msgstr "A %s gyártási rendelés gyártásra kész."
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_production_product_line
msgid "Production Scheduled Product"
-msgstr ""
+msgstr "Gyártásra ütemezett termék"
#. module: mrp
#: help:res.company,manufacturing_lead:0
msgid "Security days for each manufacturing operation."
-msgstr ""
+msgstr "Minden gyártási művelet biztonsági ideje."
#. module: mrp
#: model:process.node,name:mrp.process_node_mts0
#: model:process.transition,name:mrp.process_transition_servicemts0
#: model:process.transition,name:mrp.process_transition_stockmts0
msgid "Make to Stock"
-msgstr "Készletre gyártás"
+msgstr "Beszerzés készletből"
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -1348,6 +1423,12 @@ msgid ""
"product needs. You can either create a bill of materials to define specific "
"production steps or define a single multi-level bill of materials."
msgstr ""
+"A fő anyagjegyzékek lehetővé teszik Önnek, hogy létrehozza és kezelje a "
+"késztermék előállításához szükséges alapanyagok listáját. Az OpenERP "
+"használja ezeket az anyagjegyzékeket, hogy automatikusan javasoljon gyártási "
+"rendeléseket a termékszükségleteknek megfelelően. Létrehozhat "
+"anyagjegyzékeket, hogy meghatározzon speciális gyártási lépéseket vagy "
+"megadhat egy több szintű anyagjegyzék-struktúrát is."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_stockrfq0
@@ -1355,8 +1436,8 @@ msgid ""
"In case the Supply method of the product is Buy, the system creates a "
"purchase order."
msgstr ""
-"Ha a termék ellátási módszere vásárlás, a rendszer szállítói megrendelést "
-"hoz létre."
+"Ha a termék ellátási módszere \"Vásárlás\", a rendszer szállítói "
+"megrendelést hoz létre."
#. module: mrp
#: model:ir.model,name:mrp.model_procurement_order
@@ -1373,7 +1454,7 @@ msgstr "Termék költségszerkezete"
#: code:addons/mrp/report/price.py:130
#, python-format
msgid "Components suppliers"
-msgstr "Alkatrészek beszállítói"
+msgstr "Hozzávalók beszállítói"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_installer
@@ -1383,7 +1464,7 @@ msgstr "mrp.installer"
#. module: mrp
#: view:mrp.production:0
msgid "Production Work Centers"
-msgstr ""
+msgstr "Gyártási munkaállomások"
#. module: mrp
#: view:mrp.production.order:0
@@ -1400,12 +1481,12 @@ msgstr "Aktív ID nem található"
#. module: mrp
#: view:mrp.workcenter:0
msgid "Search for mrp workcenter"
-msgstr ""
+msgstr "Munkaállomás keresése"
#. module: mrp
#: view:mrp.bom:0
msgid "BoM Structure"
-msgstr ""
+msgstr "Anyagjegyzék struktúra"
#. module: mrp
#: field:mrp.production,date_start:0
@@ -1416,12 +1497,12 @@ msgstr "Kezdő dátum"
#. module: mrp
#: field:mrp.workcenter,costs_hour_account_id:0
msgid "Hour Account"
-msgstr "Óra gyűjtőkód"
+msgstr "Óra számla"
#. module: mrp
#: view:mrp.production:0
msgid "Destination Loc."
-msgstr ""
+msgstr "Célállomás helye"
#. module: mrp
#: field:mrp.production.order,product_id2:0
@@ -1442,13 +1523,13 @@ msgstr "aktív"
#. module: mrp
#: model:process.node,name:mrp.process_node_procureproducts0
msgid "Procure Products"
-msgstr ""
+msgstr "Termékek beszerzése"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_report_workcenter_load_tree
#: view:report.workcenter.load:0
msgid "Work Center Loads"
-msgstr ""
+msgstr "Munkaállomások terheltsége"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_property_action
@@ -1466,6 +1547,7 @@ msgstr "Tulajdonságok"
msgid ""
"Reference of the document that generated this production order request."
msgstr ""
+"A dokumentum hivatkozása hozta létre ezt a gyártási rendelési megbízást."
#. module: mrp
#: sql_constraint:mrp.bom:0
@@ -1474,6 +1556,9 @@ msgid ""
"You should install the mrp_subproduct module if you want to manage extra "
"products on BoMs !"
msgstr ""
+"Minden termékmennyiségnek pozitívnak kell lennie.\n"
+"Telepítse az altermékek modult, amennyiben több terméket is szeretnénk egy "
+"anyagjegyzékkel legyártani."
#. module: mrp
#: view:mrp.production:0
@@ -1483,12 +1568,12 @@ msgstr "Extra információ"
#. module: mrp
#: model:ir.model,name:mrp.model_change_production_qty
msgid "Change Quantity of Products"
-msgstr ""
+msgstr "Termékek mennyiségének megváltoztatása"
#. module: mrp
#: model:process.node,note:mrp.process_node_productionorder0
msgid "Drives the procurement orders for raw material."
-msgstr ""
+msgstr "Kezeli az alapanyagok beszerzési rendeléseit."
#. module: mrp
#: view:mrp.production.order:0
@@ -1503,7 +1588,7 @@ msgstr "Főkönyvi számla"
#. module: mrp
#: report:mrp.production.order:0
msgid "SO Number"
-msgstr ""
+msgstr "Értékesítési megbízás száma"
#. module: mrp
#: selection:mrp.production,state:0
@@ -1536,17 +1621,19 @@ msgid ""
"This will change the price of parent products also according to the BoM "
"structure specified for the product."
msgstr ""
+"Ez megváltoztatja a fölérendelt termékek árát is a termék anyagjegyzék-"
+"struktúrájának megfelelően."
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action2
msgid "Manufacturing Orders To Start"
-msgstr ""
+msgstr "Elkezdésre váró gyártási rendelések"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
-msgstr ""
+msgstr "A %s állapotban lévő gyártási rendelések nem törölhetőek!"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_workcenter
@@ -1555,12 +1642,12 @@ msgstr ""
#: view:mrp.workcenter:0
#: field:report.workcenter.load,workcenter_id:0
msgid "Work Center"
-msgstr ""
+msgstr "Munkaállomás"
#. module: mrp
#: field:mrp.workcenter,capacity_per_cycle:0
msgid "Capacity per Cycle"
-msgstr ""
+msgstr "Ciklusonkénti kapacitás"
#. module: mrp
#: model:ir.model,name:mrp.model_product_product
@@ -1585,7 +1672,7 @@ msgstr "Összes óra"
#: field:mrp.production,location_src_id:0
#: field:mrp.production.order,location_src_id:0
msgid "Raw Materials Location"
-msgstr ""
+msgstr "Alapanyagok helye"
#. module: mrp
#: view:mrp.product_price:0
@@ -1605,11 +1692,14 @@ msgid ""
"of one or more persons and/or machines that can be considered as a unit for "
"capacity and planning forecasting."
msgstr ""
+"A munkaállomások lehetővé teszik Önnek, hogy létrehozza és kezelje az egy "
+"vagy több személyből vagy gépből álló gyártási egységeket, amelyek a "
+"kapacitástervezés és -előrejelzés alapegységeit képezik."
#. module: mrp
#: view:mrp.production:0
msgid "Consume Products"
-msgstr ""
+msgstr "Termékek felhasználása"
#. module: mrp
#: field:mrp.bom,product_uom:0
@@ -1624,16 +1714,16 @@ msgstr "Termék ME"
#: model:process.transition,name:mrp.process_transition_servicemto0
#: model:process.transition,name:mrp.process_transition_stockproduct0
msgid "Make to Order"
-msgstr "Rendelésre gyártás"
+msgstr "Beszerzés megrendelésből"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_report_mrp_production_order
#: model:ir.ui.menu,name:mrp.menu_report_mrp_production_orders_tree
msgid "Production Analysis"
-msgstr "Gyártás elemzése"
+msgstr "Gyártáselemzés"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Másolás"
@@ -1647,18 +1737,20 @@ msgstr "Gyártási termékek"
#: field:mrp.production,date_finished:0
#: field:mrp.production.order,date_finished:0
msgid "End Date"
-msgstr "Befejezés dátuma"
+msgstr "Befejezési dátum"
#. module: mrp
#: field:mrp.workcenter,resource_id:0
msgid "Resource"
-msgstr "Forrás"
+msgstr "Erőforrás"
#. module: mrp
#: help:mrp.bom,date_start:0
#: help:mrp.bom,date_stop:0
msgid "Validity of this BoM or component. Keep empty if it's always valid."
msgstr ""
+"Az anyagjegyzék vagy hozzávaló érvényessége. Hagyja üresen, ha mindig "
+"érvényes."
#. module: mrp
#: field:mrp.production,product_uos:0
@@ -1684,21 +1776,25 @@ msgid ""
"operations and to plan future loads on work centers based on production "
"planning."
msgstr ""
+"A késztermék gyártásához szükséges műveletek listája (munkaállomások "
+"listája). Az eljárás főleg arra szolgál, hogy a műveletek alatt a "
+"munkaállomások költségei ki legyenek számítva, és hogy a munkaállomások "
+"jövőbeni terheltsége meg legyen tervezve a gyártási terv alapján."
#. module: mrp
#: view:change.production.qty:0
msgid "Approve"
-msgstr "Jóváhagy"
+msgstr "Jóváhagyás"
#. module: mrp
#: view:mrp.property.group:0
msgid "Properties categories"
-msgstr ""
+msgstr "Tulajdonság-kategóriák"
#. module: mrp
#: help:mrp.production.workcenter.line,sequence:0
msgid "Gives the sequence order when displaying a list of work orders."
-msgstr ""
+msgstr "Megadja a sorrendet, amikor a munka megbízások listáját kiállítjuk."
#. module: mrp
#: report:mrp.production.order:0
@@ -1714,7 +1810,7 @@ msgstr "Tervezett termékek"
#. module: mrp
#: view:mrp.production.lot.line:0
msgid "Production Products Consommation"
-msgstr ""
+msgstr "Gyártási termékek felhasználása"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.mrp_production_action
@@ -1734,12 +1830,17 @@ msgid ""
"the quantity selected and it will finish the production order when total "
"ordered quantities are produced."
msgstr ""
+"A \"Csak felhasználás\" mód csak a kijelölt mennyiségű termékeket használja "
+"fel.\n"
+"A \"Felhasználás és gyártás\" mód a kijelölt mennyiségű termékeket "
+"használja fel és gyártja is, és csak akkor fejezi be a gyártási rendelést, "
+"amikor a teljes megrendelt mennyiség legyártásra került."
#. module: mrp
#: view:mrp.production:0
#: report:mrp.production.order:0
msgid "Work Orders"
-msgstr ""
+msgstr "Munka megbízások"
#. module: mrp
#: field:mrp.workcenter,costs_cycle:0
@@ -1761,13 +1862,13 @@ msgstr "Törölt"
#. module: mrp
#: view:mrp.production.order:0
msgid "BOM"
-msgstr ""
+msgstr "Anyagjegyzék"
#. module: mrp
#: help:mrp.bom,product_uom:0
msgid ""
"UoM (Unit of Measure) is the unit of measurement for the inventory control"
-msgstr ""
+msgstr "A mértékegység leltárellenőrzés mértékegysége."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_bom0
@@ -1776,6 +1877,9 @@ msgid ""
"are products themselves) can also have their own Bill of Material (multi-"
"level)."
msgstr ""
+"Az anyagjegyzék a termék szétbontása összetevőkre. Az összetevőknek, amelyek "
+"maguk is termékek, rendelkezhetnek saját anyagjegyzékkel (több szintű "
+"anyagjegyzék)."
#. module: mrp
#: field:mrp.bom,company_id:0
@@ -1828,7 +1932,7 @@ msgstr "Összetevők"
#: report:bom.structure:0
#: model:ir.actions.report.xml,name:mrp.report_bom_structure
msgid "BOM Structure"
-msgstr ""
+msgstr "Anyagjegyzék struktúra"
#. module: mrp
#: field:mrp.bom,date_stop:0
@@ -1843,7 +1947,7 @@ msgstr "Érvényesség kezdete"
#. module: mrp
#: selection:mrp.bom,type:0
msgid "Normal BoM"
-msgstr ""
+msgstr "Normál anyagjegyzék"
#. module: mrp
#: field:res.company,manufacturing_lead:0
@@ -1863,6 +1967,9 @@ msgid ""
"linked to manufacturing activities, receptions of products and delivery "
"orders."
msgstr ""
+"A heti készlet érték változtatása lehetővé teszi Önnek, hogy kövesse a "
+"gyártási tevékenységekhez, a termékek beérkezéséhez és a kiszállítási "
+"megbízásokhoz kapcsolódó készletérték fejlődését."
#. module: mrp
#: view:mrp.product.produce:0
@@ -1872,7 +1979,7 @@ msgstr "Megerősítés"
#. module: mrp
#: field:mrp.bom,product_efficiency:0
msgid "Manufacturing Efficiency"
-msgstr ""
+msgstr "Gyártási hatékonyság"
#. module: mrp
#: constraint:res.company:0
@@ -1885,17 +1992,19 @@ msgid ""
"If the active field is set to False, it will allow you to hide the bills of "
"material without removing it."
msgstr ""
+"Ha az aktív mező \"Hamis\"-ra van állítva, ez lehetővé teszi, hogy elrejtse "
+"az anyagjegyzékeket, anélkül, hogy törölné azokat."
#. module: mrp
#: field:mrp.bom,product_rounding:0
msgid "Product Rounding"
-msgstr ""
+msgstr "Termék kerekítése"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_production_workcenter_line
#: field:mrp.production.workcenter.line,name:0
msgid "Work Order"
-msgstr ""
+msgstr "Munka megbízás"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.action_report_mrp_production_order
@@ -1903,16 +2012,18 @@ msgid ""
"This reporting allows you to analyse your manufacturing activities and "
"performance."
msgstr ""
+"A riport készítés lehetővé teszi Önnek, hogy elemezze a gyártási "
+"tevékenységét és teljesítményét."
#. module: mrp
#: selection:mrp.product.produce,mode:0
msgid "Consume Only"
-msgstr ""
+msgstr "Csak felhasználás"
#. module: mrp
#: view:mrp.production:0
msgid "Recreate Picking"
-msgstr ""
+msgstr "Kiszedés újrakészítése"
#. module: mrp
#: help:mrp.bom,type:0
@@ -1923,6 +2034,12 @@ msgid ""
"product, it will be sold and shipped as a set of components, instead of "
"being produced."
msgstr ""
+"Ha egy altermék több termékben is használatban van, hasznos lehet "
+"megcsinálni a saját anyagjegyzékét. Ha nem szeretne különböző gyártási "
+"rendeléseket erre az altermékre, akkor válassza a fantom anyagjegyzék "
+"beállítását, mint anyagjegyzék típust. Ha a fantom anyagjegyzék kiinduló "
+"termékként van használatban, akkor azt a rendszer összetevők egységeként "
+"értékesíti és szállítja, ahelyett, hogy gyártaná."
#. module: mrp
#: field:mrp.bom,method:0
@@ -1940,6 +2057,14 @@ msgid ""
" When the production gets started then the state is set to 'In Production'.\n"
" When the production is over, the state is set to 'Done'."
msgstr ""
+"Amikor a gyártási rendelés létrejön, a gyártás állapota \"Tervezet\" lesz.\n"
+"Amikor a rendelés megerősítésre kerül, a gyártás állapota \"Várakozás az "
+"árura\" lesz.\n"
+"Ha bármilyen hiba felmerül, a gyártás állapota \"Kiszedési hiba\" lesz. \n"
+"Ha a készlet elérhető, akkor a gyártás állapota \"Gyártásra kész\" lesz. \n"
+"Amikor a gyártás elkezdődik, akkor a gyártás állapota \"Gyártás alatt\" "
+"lesz.\n"
+"Amikor a gyártás befejeződik, a a gyártás állapota \"Kész\" lesz."
#. module: mrp
#: selection:mrp.bom,method:0
@@ -1950,12 +2075,12 @@ msgstr "Rendelésre"
#: model:ir.ui.menu,name:mrp.menu_mrp_configuration
#: view:res.company:0
msgid "Configuration"
-msgstr "Beállítások"
+msgstr "Beállítás"
#. module: mrp
#: field:mrp.workcenter,time_stop:0
msgid "Time after prod."
-msgstr ""
+msgstr "Gyártás utáni idő"
#. module: mrp
#: field:mrp.workcenter.load,time_unit:0
@@ -1965,7 +2090,7 @@ msgstr "Időszak típusa"
#. module: mrp
#: view:mrp.production:0
msgid "Total Qty"
-msgstr "Összmenny."
+msgstr "Összmennyiség"
#. module: mrp
#: field:mrp.routing.workcenter,hour_nbr:0
@@ -1975,7 +2100,7 @@ msgstr "Órák száma"
#. module: mrp
#: view:mrp.workcenter:0
msgid "Costing Information"
-msgstr ""
+msgstr "Költségszámítási információk"
#. module: mrp
#: model:process.node,name:mrp.process_node_purchaseprocure0
@@ -1985,27 +2110,27 @@ msgstr "Beszerzési megrendelések"
#. module: mrp
#: help:mrp.bom,product_rounding:0
msgid "Rounding applied on the product quantity."
-msgstr ""
+msgstr "A termékmennyiségen alkalmazott kerekítés."
#. module: mrp
#: model:process.node,note:mrp.process_node_stock0
msgid "Assignment from Production or Purchase Order."
-msgstr ""
+msgstr "Ellátás gyártási vagy beszerzési megrendelésből."
#. module: mrp
#: field:mrp.routing.workcenter,routing_id:0
msgid "Parent Routing"
-msgstr ""
+msgstr "Fölérendelt eljárás"
#. module: mrp
#: view:mrp.installer:0
msgid "Configure"
-msgstr "Beállítás"
+msgstr "Beállít"
#. module: mrp
#: help:mrp.workcenter,time_start:0
msgid "Time in hours for the setup."
-msgstr ""
+msgstr "A beállításhoz szükséges idő órákban megadva."
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -2021,19 +2146,19 @@ msgstr "Kép"
#: field:mrp.bom.revision,bom_id:0
#: field:procurement.order,bom_id:0
msgid "BoM"
-msgstr ""
+msgstr "Anyagjegyzék"
#. module: mrp
#: model:ir.model,name:mrp.model_report_mrp_inout
#: view:report.mrp.inout:0
msgid "Stock value variation"
-msgstr ""
+msgstr "Készletérték változás"
#. module: mrp
#: model:process.node,note:mrp.process_node_mts0
#: model:process.node,note:mrp.process_node_servicemts0
msgid "Assignment from stock."
-msgstr ""
+msgstr "Ellátás raktárból"
#. module: mrp
#: selection:mrp.production,state:0
@@ -2045,13 +2170,13 @@ msgstr "Várakozás az árura"
#. module: mrp
#: field:mrp.bom.revision,last_indice:0
msgid "last indice"
-msgstr ""
+msgstr "utolsó jelzőszám"
#. module: mrp
#: field:mrp.bom,revision_ids:0
#: view:mrp.bom.revision:0
msgid "BoM Revisions"
-msgstr ""
+msgstr "Anyagjegyzék felülvizsgálatok"
#. module: mrp
#: selection:mrp.production,state:0
@@ -2091,7 +2216,7 @@ msgstr "Költségszerkezet"
#. module: mrp
#: selection:mrp.product.produce,mode:0
msgid "Consume & Produce"
-msgstr ""
+msgstr "Felhasználás és gyártás"
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -2101,7 +2226,7 @@ msgstr "November"
#. module: mrp
#: field:mrp.bom,bom_id:0
msgid "Parent BoM"
-msgstr ""
+msgstr "Fölérendelt anyagjegyzék"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action2
@@ -2110,6 +2235,9 @@ msgid ""
"master bills of materials. Use this menu to search in which BoM a specific "
"component is used."
msgstr ""
+"Az anyagjegyzék összetevők azok összetevők és altermékek, amelyek fő "
+"anyagjegyzékek létrehozására szolgálnak. Használja ezt a menüt annak "
+"megkeresésére, hogy egy speciális összetevőt mely anyagjegyzék használ."
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -2119,10 +2247,10 @@ msgstr "Január"
#. module: mrp
#: model:process.node,note:mrp.process_node_stockproduct0
msgid "Product type is Stockable or Consumable."
-msgstr "A termék típusa készletezhető vagy felhasználható."
+msgstr "A termék típusa raktározható vagy felhasználható."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2140,7 +2268,7 @@ msgstr "Mennyiség kiválasztása"
#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action
#: field:product.product,bom_ids:0
msgid "Bill of Materials"
-msgstr ""
+msgstr "Anyagjegyzékek"
#. module: mrp
#: help:mrp.routing.workcenter,routing_id:0
@@ -2153,7 +2281,7 @@ msgstr ""
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_bom_revision
msgid "Bill of Material Revision"
-msgstr ""
+msgstr "Anyagjegyzék felülvizsgálat"
#. module: mrp
#: view:mrp.routing.workcenter:0
@@ -2164,13 +2292,13 @@ msgstr "Általános információ"
#. module: mrp
#: view:mrp.production:0
msgid "Productions"
-msgstr "Gyártás"
+msgstr "Gyártások"
#. module: mrp
#: code:addons/mrp/report/price.py:194
#, python-format
msgid "Work Cost of "
-msgstr ""
+msgstr "Munkaköltsége "
#. module: mrp
#: help:mrp.workcenter,note:0
@@ -2189,7 +2317,7 @@ msgstr ""
#: view:mrp.routing:0
#: model:process.node,name:mrp.process_node_routing0
msgid "Routing"
-msgstr ""
+msgstr "Gyártási eljárás"
#. module: mrp
#: field:mrp.installer,mrp_operations:0
@@ -2204,7 +2332,7 @@ msgstr "Tervezett dátum"
#. module: mrp
#: constraint:stock.move:0
msgid "You must assign a production lot for this product"
-msgstr ""
+msgstr "Rendeljen hozzá egy gyártási tételt ehhez a termékhez!"
#. module: mrp
#: model:ir.actions.act_window,help:mrp.mrp_property_action
@@ -2215,6 +2343,12 @@ msgid ""
"sales person creates a sales order, he can relate it to several properties "
"and OpenERP will automatically select the BoM to use according the the needs."
msgstr ""
+"A Tulajdonságok az OpenERP-ben arra szolgál, hogy kiválassza a megfelelő "
+"anyagjegyzéket egy termék gyártásához, amikor különböző módokon is "
+"gyárthatja ugyanazt a terméket. Számos tulajdonságot hozzárendelhet minden "
+"egyes anyagjegyzékhez. Amikor egy értékesítő létrehoz egy értékesítési "
+"megbízást, összekapcsolhatja azt számos tulajdonsággal, és az OpenERP "
+"automatikusan kiválasztja a megfelelő anyagjegyzéket az igények alapján."
#. module: mrp
#: view:mrp.production.order:0
@@ -2225,12 +2359,12 @@ msgstr "Gyártás"
#. module: mrp
#: view:board.board:0
msgid "Procurements in Exception"
-msgstr ""
+msgstr "Hibás beszerzések"
#. module: mrp
#: model:process.transition,name:mrp.process_transition_minimumstockprocure0
msgid "'Minimum stock rule' material"
-msgstr ""
+msgstr "\"Minimális készlet szabály\" tárgya"
#. module: mrp
#: model:ir.model,name:mrp.model_mrp_product_price
@@ -2240,7 +2374,7 @@ msgstr "Termék ára"
#. module: mrp
#: model:ir.actions.act_window,name:mrp.action_mrp_installer
msgid "MRP Applications Configuration"
-msgstr ""
+msgstr "Gyártási modul alkalmazások beállítása"
#. module: mrp
#: model:ir.model,name:mrp.model_stock_move_split
@@ -2250,13 +2384,13 @@ msgstr "Gyártási tételek részekre osztása"
#. module: mrp
#: view:change.production.qty:0
msgid "Change Quantity"
-msgstr ""
+msgstr "Mennyiség változtatása"
#. module: mrp
#: view:change.production.qty:0
#: model:ir.actions.act_window,name:mrp.action_change_production_qty
msgid "Change Product Qty"
-msgstr ""
+msgstr "Mennyiség változtatása"
#. module: mrp
#: view:mrp.bom.revision:0
@@ -2279,7 +2413,7 @@ msgstr "Május"
#. module: mrp
#: view:board.board:0
msgid "Manufacturing board"
-msgstr ""
+msgstr "Gyártás áttekintő"
#. module: mrp
#: field:mrp.production,date_planned_end:0
@@ -2293,6 +2427,9 @@ msgid ""
"specified period. It is expressed in number of hours and machine related "
"cycles."
msgstr ""
+"A munkaállomások terheltsége menü ad egy előrejelzést a munkaállomások "
+"terheltségéről egy megadott időszakban. Ez óraszámokban és géphez kapcsolt "
+"ciklusokban kerül kifejezésre."
#. module: mrp
#: model:process.node,note:mrp.process_node_procureproducts0
@@ -2318,7 +2455,7 @@ msgstr "Február"
#: model:ir.actions.act_window,name:mrp.mrp_property_group_action
#: model:ir.ui.menu,name:mrp.menu_mrp_property_group_action
msgid "Property Groups"
-msgstr ""
+msgstr "Tulajdonság-csoportok"
#. module: mrp
#: selection:mrp.production.order,month:0
@@ -2331,16 +2468,19 @@ msgid ""
"Depending on the chosen method to supply the stockable products, the "
"procurement order creates a RFQ, a production order, ... "
msgstr ""
+"Függően a raktározható termékek ellátásra kiválasztott módszertől a "
+"beszerzési megrendelés létrehoz egy ajánlatkérést, egy gyártási "
+"rendelést,... "
#. module: mrp
#: help:mrp.workcenter,time_stop:0
msgid "Time in hours for the cleaning."
-msgstr ""
+msgstr "A tisztítás ideje (órákban)."
#. module: mrp
#: model:process.transition,name:mrp.process_transition_purchaseprocure0
msgid "Automatic RFQ"
-msgstr ""
+msgstr "Automatikus ajánlatkérés"
#. module: mrp
#: model:process.transition,note:mrp.process_transition_servicemto0
@@ -2348,6 +2488,8 @@ msgid ""
"If the service has a 'Produce' supply method, this creates a task in the "
"project management module of OpenERP."
msgstr ""
+"Ha a szolgáltatás ellátási módszere \"Gyártás\", a rendszer feladatokat hoz "
+"létre az OpenERP projektmenedzsment moduljában."
#. module: mrp
#: model:process.transition,note:mrp.process_transition_productionprocureproducts0
@@ -2356,6 +2498,9 @@ msgid ""
"production order creates as much procurement orders as components listed in "
"the BOM, through a run of the schedulers (MRP)."
msgstr ""
+"Az alapanyagok ellátása érdekében (lehet beszerzés vagy gyártás útján), a "
+"gyártási rendelés létrehoz annyi további gyártási rendelést, amennyi "
+"összetevő az anyagjegyzékben van, az ütemező futtatásán keresztül."
#. module: mrp
#: help:mrp.product_price,number:0
@@ -2363,11 +2508,13 @@ msgid ""
"Specify quantity of products to produce or buy. Report of Cost structure "
"will be displayed base on this quantity."
msgstr ""
+"Speciális termékmennyiség gyártásra vagy vásárlásra. A költségstruktúra "
+"riport e mennyiség alapján lesz kiállítva."
#. module: mrp
#: selection:mrp.bom,method:0
msgid "On Stock"
-msgstr "Készletre"
+msgstr "Raktáron"
#. module: mrp
#: field:mrp.bom,sequence:0
@@ -2380,12 +2527,12 @@ msgstr "Sorszám"
#. module: mrp
#: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_leaves_search_mrp
msgid "Resource Leaves"
-msgstr ""
+msgstr "Erőforrás leadás"
#. module: mrp
#: help:mrp.bom,sequence:0
msgid "Gives the sequence order when displaying a list of bills of material."
-msgstr ""
+msgstr "Megadja a sorrendet, amikor az anyagjegyzékek listáját kiállítjuk."
#. module: mrp
#: view:mrp.production:0
@@ -2400,3 +2547,116 @@ msgstr "Felhasználandó termékek"
#: field:mrp.production.order,year:0
msgid "Year"
msgstr "Év"
+
+#~ msgid "Specify Cost of Work center per cycle."
+#~ msgstr "Adja meg a munkaállomás egy ciklusra számított költségét."
+
+#~ msgid "Workcenter Usage"
+#~ msgstr "Munkaállomás kihasználtsága"
+
+#~ msgid ""
+#~ "Number of operations this work center can do in parallel. If this work "
+#~ "center represents a team of 5 workers, the capacity per cycle is 5."
+#~ msgstr ""
+#~ "Műveletek száma, amelyeket a megadott munkaállomás párhuzamosan tud végezni. "
+#~ "Ha ez a munkaállomás 5 munka munkavállalóból álló csoportot jelent, akkor a "
+#~ "ciklusonkénti kapacitás 5."
+
+#~ msgid ""
+#~ "\n"
+#~ " This is the base module to manage the manufacturing process in OpenERP.\n"
+#~ "\n"
+#~ " Features:\n"
+#~ " * Make to Stock / Make to Order (by line)\n"
+#~ " * Multi-level BoMs, no limit\n"
+#~ " * Multi-level routing, no limit\n"
+#~ " * Routing and work center integrated with analytic accounting\n"
+#~ " * Scheduler computation periodically / Just In Time module\n"
+#~ " * Multi-pos, multi-warehouse\n"
+#~ " * Different reordering policies\n"
+#~ " * Cost method by product: standard price, average price\n"
+#~ " * Easy analysis of troubles or needs\n"
+#~ " * Very flexible\n"
+#~ " * Allows to browse Bill of Materials in complete structure\n"
+#~ " that include child and phantom BoMs\n"
+#~ " It supports complete integration and planification of stockable goods,\n"
+#~ " consumable of services. Services are completely integrated with the "
+#~ "rest\n"
+#~ " of the software. For instance, you can set up a sub-contracting service\n"
+#~ " in a BoM to automatically purchase on order the assembly of your "
+#~ "production.\n"
+#~ "\n"
+#~ " Reports provided by this module:\n"
+#~ " * Bill of Material structure and components\n"
+#~ " * Load forecast on workcenters\n"
+#~ " * Print a production order\n"
+#~ " * Stock forecasts\n"
+#~ " Dashboard provided by this module::\n"
+#~ " * List of next production orders\n"
+#~ " * List of deliveries (out picking)\n"
+#~ " * Graph of work center load\n"
+#~ " * List of procurement in exception\n"
+#~ " "
+#~ msgstr ""
+#~ "\n"
+#~ " Ez az alapmodul az OpenERP-ben a gyártási folyamatok kezelésére. \n"
+#~ "\n"
+#~ " Funkciók:\n"
+#~ " * Beszerzés raktárból és beszerzés megrendelésből (soronként "
+#~ "különbözően)\n"
+#~ " * Többszintű anyagjegyzékek (nincs korlátozás)\n"
+#~ " * Többszintű eljárások (nincs korlátozás)\n"
+#~ " * Gyártási eljárás és munkaállomás integráció az analitikus "
+#~ "könyveléssel\n"
+#~ " * Ütemező számítások periódikusan / Just In Time modul\n"
+#~ " * Több értékesítési hely, több raktár kezelése\n"
+#~ " * Különböző újrarendező eljárások\n"
+#~ " * Különböző költségkalkulációk termékenként: elszámoló ár, átlagár\n"
+#~ " * Könnyen kezelhető szükséglet felmérés és hiba felmérés\n"
+#~ " * Nagyon rugalmas\n"
+#~ " * Lehetővé teszi, hogy az anyagjegyzékeket a teljes struktúrájukban "
+#~ "böngésszük,\n"
+#~ " amely magába foglalja az alárendelt és fölérendelt anyagjegyzékeket "
+#~ "is.\n"
+#~ " Támogatja a raktározható áruk és a fogyasztható szolgáltatások teljes "
+#~ "integrációját\n"
+#~ " és a velük való tervezést. A szolgáltatások nem teljesen integráltak\n"
+#~ " a szoftver többi részével. Létrehozhat például egy alárendelt "
+#~ "szolgáltatást \n"
+#~ " egy anyagjegyzékben, hogy automatikusan beszerezze rendelésre a "
+#~ "gyártásának tételeit.\n"
+#~ "\n"
+#~ " A modul által nyújtott riportok:\n"
+#~ " * Anyagjegyzék struktúra és összetevők\n"
+#~ " * Munkaállomások terheltségének előrejelzése\n"
+#~ " * Gyártási rendelés nyomtatása\n"
+#~ " * Raktár előrejelzések\n"
+#~ "\n"
+#~ " A modul által nyújtott vezérlőpultok:\n"
+#~ " * Következő gyártási rendelések listája\n"
+#~ " * Szállítások listája\n"
+#~ " * Grafikon a munkaállomás terheltségéről\n"
+#~ " * Beszerzési hibák listája\n"
+#~ " "
+
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Ez a belső kiszedési lista, ami a késztermékeket a termelés tervbe viszi"
+
+#~ msgid ""
+#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
+#~ "Routing is indicated then,the third tab of a production order (workcenters) "
+#~ "will be automatically pre-completed."
+#~ msgstr ""
+#~ "A gyártási eljárás jelzi, hogy az összes munkaállomás milyen hosszan és/vagy "
+#~ "hány ciklusra van használatban. Ha a gyártási eljárás be van kapcsolva, a "
+#~ "gyártási rendelés 3. füle (munkaállomások) automatikusan kitöltésre kerül."
+
+#~ msgid ""
+#~ "Description of the work center. Explain here what's a cycle according to "
+#~ "this work center."
+#~ msgstr ""
+#~ "Munkaállomás leírása. Elmagyarázásra kerül itt, hogy mit jelent egy ciklus a "
+#~ "munkaállomás összefüggésében."
diff --git a/addons/mrp/i18n/id.po b/addons/mrp/i18n/id.po
index f59cf77019d..7741a302045 100644
--- a/addons/mrp/i18n/id.po
+++ b/addons/mrp/i18n/id.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/it.po b/addons/mrp/i18n/it.po
index 3b238fffc78..8cddef0977b 100644
--- a/addons/mrp/i18n/it.po
+++ b/addons/mrp/i18n/it.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-17 09:33+0000\n"
+"PO-Revision-Date: 2011-12-06 10:31+0000\n"
"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -763,7 +763,7 @@ msgid "Per month"
msgstr "Mensile"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -776,7 +776,7 @@ msgid "Product Name"
msgstr "Descrizione Prodotto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Azione non valida !"
@@ -1316,7 +1316,7 @@ msgstr "Ubicazione dove il sistema stoccherà i prodotti finiti"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Questa è la lista dei prelievi interni necessari per la pianificazione della "
@@ -1375,7 +1375,7 @@ msgid "Month -1"
msgstr "Mese -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "L'ordine di produzione '%s' è pianificato per il %s."
@@ -1386,7 +1386,7 @@ msgid "Production Order N° :"
msgstr "Ordine di produzione N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "L'ordine di produzione '%s' è pronto per essere eseguito."
@@ -1627,7 +1627,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Ordini di Produzione da Eseguire"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1721,7 +1721,7 @@ msgid "Production Analysis"
msgstr "Analisi della produzione"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copia"
@@ -2252,7 +2252,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Il tipo prodotto è Stoccabile o Consumabile"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3256,6 +3256,13 @@ msgstr "Anno"
#~ "ciclo sarà 5."
#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Questa è la lista dei prelievi interni necessari per la pianificazione della "
+#~ "produzione del prodotto finito"
+
+#~ msgid ""
#~ "Description of the work center. Explain here what's a cycle according to "
#~ "this work center."
#~ msgstr ""
diff --git a/addons/mrp/i18n/ko.po b/addons/mrp/i18n/ko.po
index 3fbc4c82d4c..92e42f8f80d 100644
--- a/addons/mrp/i18n/ko.po
+++ b/addons/mrp/i18n/ko.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 12:18+0000\n"
+"PO-Revision-Date: 2011-12-06 11:08+0000\n"
"Last-Translator: qdp (OpenERP) <qdp-launchpad@tinyerp.com>\n"
"Language-Team: Korean <ko@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: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -718,7 +718,7 @@ msgid "Per month"
msgstr "월별"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -731,7 +731,7 @@ msgid "Product Name"
msgstr "상품 이름"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "유효하지 않은 액션 !"
@@ -1243,7 +1243,7 @@ msgstr "완제품을 보관할 시스템의 위치"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1297,7 +1297,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1308,7 +1308,7 @@ msgid "Production Order N° :"
msgstr "생산 주문 번호:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1537,7 +1537,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1627,7 +1627,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2116,7 +2116,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/lt.po b/addons/mrp/i18n/lt.po
index 44665d98443..4c776d8c9fc 100644
--- a/addons/mrp/i18n/lt.po
+++ b/addons/mrp/i18n/lt.po
@@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-07-20 22:46+0000\n"
+"PO-Revision-Date: 2011-12-06 10:26+0000\n"
"Last-Translator: Giedrius Slavinskas - inovera.lt "
"<giedrius.slavinskas@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
"Language: lt\n"
#. module: mrp
@@ -722,7 +722,7 @@ msgid "Per month"
msgstr "Per mėnesį"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -735,7 +735,7 @@ msgid "Product Name"
msgstr "Produkto pavadinimas"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Neleistinas veiksmas!"
@@ -1247,7 +1247,7 @@ msgstr "Vieta, kurioje talpinami pabaigti produktai ."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1301,7 +1301,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1312,7 +1312,7 @@ msgid "Production Order N° :"
msgstr "Gamybos užsakymo Nr. :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1541,7 +1541,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1631,7 +1631,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2121,7 +2121,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/mrp.pot b/addons/mrp/i18n/mrp.pot
index 25a8bea531d..937fd9f45c4 100644
--- a/addons/mrp/i18n/mrp.pot
+++ b/addons/mrp/i18n/mrp.pot
@@ -1165,7 +1165,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
-msgid "This is the internal picking list that brings the finished product to the production plan"
+msgid "This is the Internal Picking List that brings the finished product to the production plan"
msgstr ""
#. module: mrp
diff --git a/addons/mrp/i18n/nb.po b/addons/mrp/i18n/nb.po
index 2bd9cc375b1..efa8612a315 100644
--- a/addons/mrp/i18n/nb.po
+++ b/addons/mrp/i18n/nb.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-30 22:16+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2011-12-06 11:04+0000\n"
+"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: Norwegian Bokmal <nb@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: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -756,7 +756,7 @@ msgid "Per month"
msgstr "Per måned"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -769,7 +769,7 @@ msgid "Product Name"
msgstr "Produktnavn"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Ugyldig hendelse !"
@@ -1306,7 +1306,7 @@ msgstr "Lokasjon hvor systemet vil plassere de ferdige produktene."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Dette er den interne plukklisten som flytter det ferdige produktet til "
@@ -1364,7 +1364,7 @@ msgid "Month -1"
msgstr "Måned -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Produksjonsordren '%s' er planlagt for %s."
@@ -1375,7 +1375,7 @@ msgid "Production Order N° :"
msgstr "Produksjonsordre nr :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Produksjonsordre '%s' er klar for produksjon ."
@@ -1617,7 +1617,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Produksjonsordre å starte"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "Kan ikke slette Produksjonsordre(r) som er i %s Status!"
@@ -1710,7 +1710,7 @@ msgid "Production Analysis"
msgstr "Produktanalyser"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Kopier"
@@ -2211,7 +2211,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2574,3 +2574,10 @@ msgstr "År"
#~ " * Graf over arbeidssenter belastning\n"
#~ " * Liste over anskaffelser med unntak\n"
#~ " "
+
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Dette er den interne plukklisten som flytter det ferdige produktet til "
+#~ "produksjonsplanen"
diff --git a/addons/mrp/i18n/nl.po b/addons/mrp/i18n/nl.po
index a54013b441c..16f363355a5 100644
--- a/addons/mrp/i18n/nl.po
+++ b/addons/mrp/i18n/nl.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 12:23+0000\n"
+"PO-Revision-Date: 2011-12-06 11:07+0000\n"
"Last-Translator: qdp (OpenERP) <qdp-launchpad@tinyerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:50+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -720,7 +720,7 @@ msgid "Per month"
msgstr "Per maand"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -733,7 +733,7 @@ msgid "Product Name"
msgstr "Naam product"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Ongeldige actie!"
@@ -1245,7 +1245,7 @@ msgstr "Locatie waar de eindproducten opgeslagen worden"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1299,7 +1299,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1310,7 +1310,7 @@ msgid "Production Order N° :"
msgstr "Productie opdracht nr :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1539,7 +1539,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1629,7 +1629,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2120,7 +2120,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/nl_BE.po b/addons/mrp/i18n/nl_BE.po
index bf55c83626f..da909aadf80 100644
--- a/addons/mrp/i18n/nl_BE.po
+++ b/addons/mrp/i18n/nl_BE.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/pl.po b/addons/mrp/i18n/pl.po
index fd8dd6e2272..c9017dfec60 100644
--- a/addons/mrp/i18n/pl.po
+++ b/addons/mrp/i18n/pl.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-22 13:12+0000\n"
+"PO-Revision-Date: 2011-12-06 11:05+0000\n"
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -746,7 +746,7 @@ msgid "Per month"
msgstr "Na miesiąc"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -759,7 +759,7 @@ msgid "Product Name"
msgstr "Nazwa produktu"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Niedozwolona akcja !"
@@ -1280,7 +1280,7 @@ msgstr "Strefa, w której system umieści gotowe produkty."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"To jest wewnętrzne pobranie, które przenosi gotowe produkty do planu "
@@ -1339,7 +1339,7 @@ msgid "Month -1"
msgstr "Miesiąc -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Zamówienie produkcji '%s' zostało zaplanowane dla %s."
@@ -1350,7 +1350,7 @@ msgid "Production Order N° :"
msgstr "Nr zamówienia produkcji"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Zamówienie produkcji '%s' jest gotowe do produkcji."
@@ -1583,7 +1583,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Zamówienia produkcji do rozpoczęcia"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "Nie można usuwać zamówień produkcji, które są w stanie %s !"
@@ -1673,7 +1673,7 @@ msgid "Production Analysis"
msgstr "Analiza produkcji"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Kopiuj"
@@ -2164,7 +2164,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3149,6 +3149,13 @@ msgstr "Rok"
#~ msgid "Procure Stockable Product"
#~ msgstr "Zapotrzebowanie na produkty rejestrowane"
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "To jest wewnętrzne pobranie, które przenosi gotowe produkty do planu "
+#~ "produkcji"
+
#~ msgid "Workcenter Usage"
#~ msgstr "Użycie centrum roboczego"
diff --git a/addons/mrp/i18n/pt.po b/addons/mrp/i18n/pt.po
index 9574e9dc573..478295f6d66 100644
--- a/addons/mrp/i18n/pt.po
+++ b/addons/mrp/i18n/pt.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-11-23 11:53+0000\n"
-"Last-Translator: Daniel Reis <Unknown>\n"
+"PO-Revision-Date: 2011-12-06 10:51+0000\n"
+"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-24 05:00+0000\n"
-"X-Generator: Launchpad (build 14336)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -734,7 +734,7 @@ msgid "Per month"
msgstr "Por mês"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -747,7 +747,7 @@ msgid "Product Name"
msgstr "Nome de produção"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Acção inválida !"
@@ -1259,7 +1259,7 @@ msgstr "Locais onde o sistema vai armazenar os produtos acabados."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1313,7 +1313,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1324,7 +1324,7 @@ msgid "Production Order N° :"
msgstr "Nº de Ordem de Produção :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1553,7 +1553,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1643,7 +1643,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2132,7 +2132,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/pt_BR.po b/addons/mrp/i18n/pt_BR.po
index e55389cc1ec..9748020a3c2 100644
--- a/addons/mrp/i18n/pt_BR.po
+++ b/addons/mrp/i18n/pt_BR.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-03-07 18:35+0000\n"
+"PO-Revision-Date: 2011-12-06 10:51+0000\n"
"Last-Translator: Alexsandro Haag <alexsandro.haag@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -758,7 +758,7 @@ msgid "Per month"
msgstr "Por mês"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -771,7 +771,7 @@ msgid "Product Name"
msgstr "Nome do Produto"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Ação inválida!"
@@ -1315,7 +1315,7 @@ msgstr "Local onde o sistema estocará os produtos acabados"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Esta é a Lista de Separação Interna que traz o produto acabado para o plano "
@@ -1375,7 +1375,7 @@ msgid "Month -1"
msgstr "Mês -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "A Ordem de Produção '%s' esta agendada para %s"
@@ -1386,7 +1386,7 @@ msgid "Production Order N° :"
msgstr "Ordem Produção N °:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "A Ordem de Produção '%s' está pronta para produzir."
@@ -1628,7 +1628,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Ordens de Produção para Iniciar"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1722,7 +1722,7 @@ msgid "Production Analysis"
msgstr "Análise de Produção"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiar"
@@ -2249,7 +2249,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Produto é Estocável ou Consumível."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3185,6 +3185,13 @@ msgstr "Ano"
#~ "Centro de Trabalho."
#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Esta é a Lista de Separação Interna que traz o produto acabado para o plano "
+#~ "de produção"
+
+#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
#~ "will be automatically pre-completed."
diff --git a/addons/mrp/i18n/ro.po b/addons/mrp/i18n/ro.po
index e8e13f497d1..e39c78fd393 100644
--- a/addons/mrp/i18n/ro.po
+++ b/addons/mrp/i18n/ro.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -756,7 +756,7 @@ msgid "Per month"
msgstr "Pe lună"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -769,7 +769,7 @@ msgid "Product Name"
msgstr "Nume produs"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Acţiune invalidă !"
@@ -1308,7 +1308,7 @@ msgstr "Locația în care sistemul va stoca produsele finite."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1365,7 +1365,7 @@ msgid "Month -1"
msgstr "Luna - 1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Comanda de producție '%s' este programată pentru %s."
@@ -1376,7 +1376,7 @@ msgid "Production Order N° :"
msgstr "Nr comandă producţie"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Comanda de producție '%s' este gata să producă."
@@ -1618,7 +1618,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Comenzi de producție gata de start"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1712,7 +1712,7 @@ msgid "Production Analysis"
msgstr "Analize producție"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Copiaţi"
@@ -2227,7 +2227,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Tipul produsului este stocabil sau consumabile."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/ru.po b/addons/mrp/i18n/ru.po
index 0c804f401be..8af7ec344ce 100644
--- a/addons/mrp/i18n/ru.po
+++ b/addons/mrp/i18n/ru.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-03-24 16:01+0000\n"
-"Last-Translator: Viktor Prokopiev <Unknown>\n"
+"PO-Revision-Date: 2011-12-06 10:16+0000\n"
+"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -745,7 +745,7 @@ msgid "Per month"
msgstr "В месяц"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -758,7 +758,7 @@ msgid "Product Name"
msgstr "Название продукции"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Неверное действие !"
@@ -1293,7 +1293,7 @@ msgstr "Местоположение, в которое помещаются гÐ
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
"Это внутренняя комплектовочная ведомость, которая соотносит готовую "
@@ -1349,7 +1349,7 @@ msgid "Month -1"
msgstr "Месяц -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "Производственный заказ '%s' запланирован на %s."
@@ -1360,7 +1360,7 @@ msgid "Production Order N° :"
msgstr "Заказ на производство №"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "Производственный заказ '%s' готов для производства."
@@ -1592,7 +1592,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1684,7 +1684,7 @@ msgid "Production Analysis"
msgstr "Анализ производства"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Копировать"
@@ -2177,7 +2177,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Тип продукта — Складируемый или Потребляемый."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2941,6 +2941,13 @@ msgstr "Год"
#~ "Количество параллельных операций для этого рабочегоцентра. Если этот центр "
#~ "представлен 5-ю работниками - производительность за цикл равна 5."
+#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr ""
+#~ "Это внутренняя комплектовочная ведомость, которая соотносит готовую "
+#~ "продукцию к производственному плану"
+
#~ msgid "Human Resource"
#~ msgstr "Людские ресурсы"
diff --git a/addons/mrp/i18n/sk.po b/addons/mrp/i18n/sk.po
index c74a1d09c53..e62a78dff86 100644
--- a/addons/mrp/i18n/sk.po
+++ b/addons/mrp/i18n/sk.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: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/sl.po b/addons/mrp/i18n/sl.po
index 29d4f7054ae..25818e929aa 100644
--- a/addons/mrp/i18n/sl.po
+++ b/addons/mrp/i18n/sl.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/sq.po b/addons/mrp/i18n/sq.po
index b6dea6d1b6c..cc4573e644e 100644
--- a/addons/mrp/i18n/sq.po
+++ b/addons/mrp/i18n/sq.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: 2011-11-05 04:53+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:49+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/sr@latin.po b/addons/mrp/i18n/sr@latin.po
index 3fac861858b..1e5aba0e23f 100644
--- a/addons/mrp/i18n/sr@latin.po
+++ b/addons/mrp/i18n/sr@latin.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: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:52+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/sv.po b/addons/mrp/i18n/sv.po
index f9a8fa1318b..fd85b918c51 100644
--- a/addons/mrp/i18n/sv.po
+++ b/addons/mrp/i18n/sv.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.14\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-08-03 23:21+0000\n"
-"Last-Translator: Stefan Lind <Unknown>\n"
+"PO-Revision-Date: 2011-12-06 11:07+0000\n"
+"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -720,7 +720,7 @@ msgid "Per month"
msgstr "Per månad"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -733,7 +733,7 @@ msgid "Product Name"
msgstr "Produktnamn"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Invalid action !"
@@ -1245,7 +1245,7 @@ msgstr "Location where the system will stock the finished products."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1299,7 +1299,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1310,7 +1310,7 @@ msgid "Production Order N° :"
msgstr "Production Order N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1539,7 +1539,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1629,7 +1629,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2118,7 +2118,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/tlh.po b/addons/mrp/i18n/tlh.po
index fd83fcb2f40..bf42bdfa3fa 100644
--- a/addons/mrp/i18n/tlh.po
+++ b/addons/mrp/i18n/tlh.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/tr.po b/addons/mrp/i18n/tr.po
index 21e0a1a9dfc..8d567981684 100644
--- a/addons/mrp/i18n/tr.po
+++ b/addons/mrp/i18n/tr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-06-27 18:38+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2011-12-06 10:17+0000\n"
+"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -754,7 +754,7 @@ msgid "Per month"
msgstr "Ay başına"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -767,7 +767,7 @@ msgid "Product Name"
msgstr "Stok Adı"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "Geçersiz eylem !"
@@ -1311,7 +1311,7 @@ msgstr "Sistemin bitmiş ürünleri stokladığı lokasyon."
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr "Bu, bitmiş ürünü üretim planına getiren dahili toplama listesidir"
@@ -1367,7 +1367,7 @@ msgid "Month -1"
msgstr "Ay -1"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "'%s' üretim emri %s için planlandı."
@@ -1378,7 +1378,7 @@ msgid "Production Order N° :"
msgstr "Üretim Emri N° :"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "'%s' üretim emri üretime hazırdır."
@@ -1618,7 +1618,7 @@ msgid "Manufacturing Orders To Start"
msgstr "Başlatılacak Üretim Emirleri"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "%s Durumundaki Üretim Emri/Emirleri silinemez!"
@@ -1711,7 +1711,7 @@ msgid "Production Analysis"
msgstr "Üretim Analizi"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "Kopyala"
@@ -2229,7 +2229,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "Ürün tipi Stoklanabilir veya Sarf Edilebilir'dir."
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -2995,6 +2995,11 @@ msgstr "Yıl"
#~ " "
#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr "Bu, bitmiş ürünü üretim planına getiren dahili toplama listesidir"
+
+#~ msgid ""
#~ "Routing indicates all the workcenters used, for how long and/or cycles.If "
#~ "Routing is indicated then,the third tab of a production order (workcenters) "
#~ "will be automatically pre-completed."
diff --git a/addons/mrp/i18n/uk.po b/addons/mrp/i18n/uk.po
index 1d2995b8ad3..96133154ea3 100644
--- a/addons/mrp/i18n/uk.po
+++ b/addons/mrp/i18n/uk.po
@@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr "Назва Продукту"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/vi.po b/addons/mrp/i18n/vi.po
index 59662a9b576..bf8f8978a06 100644
--- a/addons/mrp/i18n/vi.po
+++ b/addons/mrp/i18n/vi.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: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -721,7 +721,7 @@ msgid "Per month"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -734,7 +734,7 @@ msgid "Product Name"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1246,7 +1246,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1300,7 +1300,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1311,7 +1311,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1540,7 +1540,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1630,7 +1630,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2119,7 +2119,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/zh_CN.po b/addons/mrp/i18n/zh_CN.po
index ebad1e0e44c..88629751eb7 100644
--- a/addons/mrp/i18n/zh_CN.po
+++ b/addons/mrp/i18n/zh_CN.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-07-02 15:27+0000\n"
+"PO-Revision-Date: 2011-12-06 10:16+0000\n"
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:52+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr "每月"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr "产品名称"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr "无效动作"
@@ -1245,7 +1245,7 @@ msgstr "系统存储成品的库位"
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr "这是一张移库单的编号,是把产成品从生产线上移动到库房里"
@@ -1299,7 +1299,7 @@ msgid "Month -1"
msgstr "上个月"
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr "生产订单 '%s' 已创建,要生产的是 %s"
@@ -1310,7 +1310,7 @@ msgid "Production Order N° :"
msgstr "生产单号:"
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr "生产订单 '%s' 已可以开始生产"
@@ -1543,7 +1543,7 @@ msgid "Manufacturing Orders To Start"
msgstr "未开始的生产订单"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr "不能删除状态是 %s 的生产订单"
@@ -1633,7 +1633,7 @@ msgid "Production Analysis"
msgstr "生产分析"
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr "副本"
@@ -2132,7 +2132,7 @@ msgid "Product type is Stockable or Consumable."
msgstr "产品类型是可库存或消耗品"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -3112,6 +3112,11 @@ msgstr "年"
#~ msgstr "使用的工作中心"
#~ msgid ""
+#~ "This is the internal picking list that brings the finished product to the "
+#~ "production plan"
+#~ msgstr "这是一张移库单的编号,是把产成品从生产线上移动到库房里"
+
+#~ msgid ""
#~ "\n"
#~ " This is the base module to manage the manufacturing process in OpenERP.\n"
#~ "\n"
diff --git a/addons/mrp/i18n/zh_HK.po b/addons/mrp/i18n/zh_HK.po
index 5c395b63b99..484e6c7318c 100644
--- a/addons/mrp/i18n/zh_HK.po
+++ b/addons/mrp/i18n/zh_HK.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 13:27+0000\n"
+"PO-Revision-Date: 2011-12-06 10:26+0000\n"
"Last-Translator: qdp (OpenERP) <qdp-launchpad@tinyerp.com>\n"
"Language-Team: Chinese (Hong Kong) <zh_HK@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: 2011-11-05 04:54+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:51+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -716,7 +716,7 @@ msgid "Per month"
msgstr "每月"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -729,7 +729,7 @@ msgid "Product Name"
msgstr "貨品名稱"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1295,7 +1295,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1306,7 +1306,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1535,7 +1535,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1625,7 +1625,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2114,7 +2114,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/i18n/zh_TW.po b/addons/mrp/i18n/zh_TW.po
index 7afc22bac08..866cc587475 100644
--- a/addons/mrp/i18n/zh_TW.po
+++ b/addons/mrp/i18n/zh_TW.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-11-27 13:27+0000\n"
+"PO-Revision-Date: 2011-12-06 10:25+0000\n"
"Last-Translator: qdp (OpenERP) <qdp-launchpad@tinyerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:55+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-07 04:52+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
#. module: mrp
#: field:mrp.production,move_created_ids:0
@@ -715,7 +715,7 @@ msgid "Per month"
msgstr "每月"
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
@@ -728,7 +728,7 @@ msgid "Product Name"
msgstr "貨品名稱"
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Invalid action !"
msgstr ""
@@ -1240,7 +1240,7 @@ msgstr ""
#. module: mrp
#: help:mrp.production,picking_id:0
msgid ""
-"This is the internal picking list that brings the finished product to the "
+"This is the Internal Picking List that brings the finished product to the "
"production plan"
msgstr ""
@@ -1294,7 +1294,7 @@ msgid "Month -1"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:924
+#: code:addons/mrp/mrp.py:914
#, python-format
msgid "Manufacturing order '%s' is scheduled for the %s."
msgstr ""
@@ -1305,7 +1305,7 @@ msgid "Production Order N° :"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:640
+#: code:addons/mrp/mrp.py:630
#, python-format
msgid "Manufacturing order '%s' is ready to produce."
msgstr ""
@@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:495
+#: code:addons/mrp/mrp.py:491
#, python-format
msgid "Cannot delete Production Order(s) which are in %s State!"
msgstr ""
@@ -1624,7 +1624,7 @@ msgid "Production Analysis"
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:349
+#: code:addons/mrp/mrp.py:345
#, python-format
msgid "Copy"
msgstr ""
@@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable."
msgstr ""
#. module: mrp
-#: code:addons/mrp/mrp.py:595
+#: code:addons/mrp/mrp.py:591
#: code:addons/mrp/wizard/change_production_qty.py:77
#: code:addons/mrp/wizard/change_production_qty.py:82
#, python-format
diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py
index 356a762c0c5..dea664f6fd6 100644
--- a/addons/mrp/mrp.py
+++ b/addons/mrp/mrp.py
@@ -176,7 +176,7 @@ class mrp_bom(osv.osv):
@param arg: User defined argument
@return: Dictionary of values
"""
- res = dict(map(lambda x: (x,''), ids))
+ res = dict.fromkeys(ids, False)
for line in self.browse(cr, uid, ids, context=context):
if line.type == 'phantom' and not line.bom_id:
res[line.id] = 'set'
@@ -467,7 +467,7 @@ class mrp_production(osv.osv):
'bom_id': fields.many2one('mrp.bom', 'Bill of Material', domain=[('bom_id','=',False)], readonly=True, states={'draft':[('readonly',False)]}),
'routing_id': fields.many2one('mrp.routing', string='Routing', on_delete='set null', readonly=True, states={'draft':[('readonly',False)]}, help="The list of operations (list of work centers) to produce the finished product. The routing is mainly used to compute work center costs during operations and to plan future loads on work centers based on production plannification."),
'picking_id': fields.many2one('stock.picking', 'Picking list', readonly=True, ondelete="restrict",
- help="This is the internal picking list that brings the finished product to the production plan"),
+ help="This is the Internal Picking List that brings the finished product to the production plan"),
'move_prod_id': fields.many2one('stock.move', 'Move product', readonly=True),
'move_lines': fields.many2many('stock.move', 'mrp_production_move_ids', 'production_id', 'move_id', 'Products to Consume', domain=[('state','not in', ('done', 'cancel'))], states={'done':[('readonly',True)]}),
'move_lines2': fields.many2many('stock.move', 'mrp_production_move_ids', 'production_id', 'move_id', 'Consumed Products', domain=[('state','in', ('done', 'cancel'))]),
diff --git a/addons/mrp/report/mrp_report_view.xml b/addons/mrp/report/mrp_report_view.xml
index 09e15ebf39f..b7e51dd7cf0 100644
--- a/addons/mrp/report/mrp_report_view.xml
+++ b/addons/mrp/report/mrp_report_view.xml
@@ -41,14 +41,6 @@
</search>
</field>
</record>
- <record id="action_report_workcenter_load_tree" model="ir.actions.act_window">
- <field name="name">Work Center Loads</field>
- <field name="res_model">report.workcenter.load</field>
- <field name="view_type">form</field>
- <field name="view_mode">graph,tree</field>
- <field name="search_view_id" ref="view_workcenter_load_search"/>
- <field name="help">Work Center Loads gives you a projection of work center loads over a specified period. It is expressed in number of hours and machine related cycles.</field>
- </record>
<menuitem id="next_id_77" name="Reporting"
parent="base.menu_mrp_root" sequence="49"/>
diff --git a/addons/mrp/static/src/img/icon.png b/addons/mrp/static/src/img/icon.png
new file mode 100644
index 00000000000..600104af507
--- /dev/null
+++ b/addons/mrp/static/src/img/icon.png
Binary files differ
diff --git a/addons/mrp_operations/__openerp__.py b/addons/mrp_operations/__openerp__.py
index d965ca5160c..caa33cc6556 100644
--- a/addons/mrp_operations/__openerp__.py
+++ b/addons/mrp_operations/__openerp__.py
@@ -62,7 +62,8 @@ So that we can compare the theoretic delay and real delay.
'mrp_operations_view.xml',
'mrp_operations_report.xml',
'report/mrp_workorder_analysis_view.xml',
- 'process/mrp_operation_process.xml'
+ 'process/mrp_operation_process.xml',
+ 'mrp_operations_workflow_instance.xml'
],
'demo_xml': ['mrp_operation_data.xml'],
'test': ['test/mrp_operations.yml', 'test/mrp_operations_report.yml','test/mrp_operation_test.yml'],
diff --git a/addons/mrp_operations/mrp_operations.py b/addons/mrp_operations/mrp_operations.py
index 7dc93731b03..e6f5aa00f28 100644
--- a/addons/mrp_operations/mrp_operations.py
+++ b/addons/mrp_operations/mrp_operations.py
@@ -86,10 +86,10 @@ class mrp_production_workcenter_line(osv.osv):
_order = "sequence, date_planned"
_columns = {
- 'state': fields.selection([('draft','Draft'),('startworking', 'In Progress'),('pause','Pause'),('cancel','Cancelled'),('done','Finished')],'State', readonly=True,
+ 'state': fields.selection([('draft','Draft'),('startworking', 'In Progress'),('pause','Pending'),('cancel','Cancelled'),('done','Finished')],'State', readonly=True,
help="* When a work order is created it is set in 'Draft' state.\n" \
"* When user sets work order in start mode that time it will be set in 'In Progress' state.\n" \
- "* When work order is in running mode, during that time if user wants to stop or to make changes in order then can set in 'Pause' state.\n" \
+ "* When work order is in running mode, during that time if user wants to stop or to make changes in order then can set in 'Pending' state.\n" \
"* When the user cancels the work order it will be set in 'Canceled' state.\n" \
"* When order is completely processed that time it is set in 'Finished' state."),
'date_start_date': fields.function(_get_date_date, string='Start Date', type='date'),
@@ -552,6 +552,13 @@ class mrp_operations_operation(osv.osv):
return super(mrp_operations_operation, self).create(cr, uid, vals, context=context)
+ def initialize_workflow_instance(self, cr, uid, context=None):
+ wf_service = netsvc.LocalService("workflow")
+ line_ids = self.pool.get('mrp.production.workcenter.line').search(cr, uid, [], context=context)
+ for line_id in line_ids:
+ wf_service.trg_create(uid, 'mrp.production.workcenter.line', line_id, cr)
+ return True
+
_columns={
'production_id':fields.many2one('mrp.production','Production',required=True),
'workcenter_id':fields.many2one('mrp.workcenter','Work Center',required=True),
diff --git a/addons/mrp_operations/mrp_operations_view.xml b/addons/mrp_operations/mrp_operations_view.xml
index 377a57d6121..e7decebbf4b 100644
--- a/addons/mrp_operations/mrp_operations_view.xml
+++ b/addons/mrp_operations/mrp_operations_view.xml
@@ -16,7 +16,7 @@
<button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert" help="Set to Draft"/>
<button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr" help="Start Working"/>
<button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause" help="Resume Work Order"/>
- <button name="button_pause" string="Pause" states="startworking" icon="gtk-media-pause" help="Pause Work Order"/>
+ <button name="button_pause" string="Pending" states="startworking" icon="gtk-media-pause" help="Pause Work Order"/>
<button name="button_done" string="Finished" states="startworking" icon="terp-check" help="Finish Order"/>
</group>
</xpath>
@@ -30,13 +30,12 @@
<field name="inherit_id" ref="mrp.mrp_production_form_view"/>
<field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='workcenter_lines']/tree/field[@name='hour']" position="after">
- <button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop"/>
+ <field name="state"/>
<button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert"/>
<button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr"/>
<button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause"/>
- <button name="button_pause" string="Pause" states="startworking" icon="gtk-media-pause"/>
+ <button name="button_pause" string="Pending" states="startworking" icon="gtk-media-pause"/>
<button name="button_done" string="Finished" states="startworking" icon="terp-check"/>
- <field name="state"/>
</xpath>
</field>
</record>
@@ -58,11 +57,9 @@
<field name="cycle"/>
<field name="hour"/>
<field name="state" />
- <button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert" help="Set to Draft"/>
<button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr" help="Start Working"/>
<button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause" help="Resume Work Order"/>
- <button name="button_cancel" string="Cancel" states="draft,startworking" icon="gtk-stop" help="Cancel Order"/>
- <button name="button_pause" string="Pause" states="startworking" icon="gtk-media-pause" help="Pause Work Order"/>
+ <button name="button_pause" string="Pending" states="startworking" icon="gtk-media-pause" help="Pause Work Order"/>
<button name="button_done" string="Finished" states="startworking" icon="terp-check" help="Finish Order"/>
</tree>
</field>
@@ -116,7 +113,7 @@
<button name="button_draft" string="Set Draft" states="cancel" icon="gtk-convert"/>
<button name="button_start_working" string="Start" states="draft" icon="terp-gtk-jump-to-ltr"/>
<button name="button_resume" string="Resume" states="pause" icon="gtk-media-pause"/>
- <button name="button_pause" string="Pause" states="startworking" icon="gtk-media-pause"/>
+ <button name="button_pause" string="Pending" states="startworking" icon="gtk-media-pause"/>
<button name="button_done" string="Finished" states="startworking" icon="terp-check"/>
</group>
</page>
diff --git a/addons/mrp_operations/mrp_operations_workflow_instance.xml b/addons/mrp_operations/mrp_operations_workflow_instance.xml
new file mode 100644
index 00000000000..b8239c18ccf
--- /dev/null
+++ b/addons/mrp_operations/mrp_operations_workflow_instance.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<openerp>
+ <data noupdate="1">
+
+ <!-- Initialize workflow instance -->
+ <function model="mrp_operations.operation" name="initialize_workflow_instance"/>
+
+ </data>
+</openerp>
+
diff --git a/addons/mrp_repair/__openerp__.py b/addons/mrp_repair/__openerp__.py
index a1f060cf7c3..39f5a51e92c 100644
--- a/addons/mrp_repair/__openerp__.py
+++ b/addons/mrp_repair/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'Repairs',
+ 'name': 'Repairs Management',
'version': '1.0',
'category': 'Manufacturing',
'description': """
diff --git a/addons/multi_company/__openerp__.py b/addons/multi_company/__openerp__.py
index 636ff1cac29..d82f0e1eb7c 100644
--- a/addons/multi_company/__openerp__.py
+++ b/addons/multi_company/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Multi-Company',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "expert",
'description': """
This module is for managing a multicompany environment.
diff --git a/addons/outlook/README b/addons/outlook/README
deleted file mode 100644
index 93f735ac1f8..00000000000
--- a/addons/outlook/README
+++ /dev/null
@@ -1,29 +0,0 @@
-OpenERP Outlook PLUG-IN Installation Guide
-
-Pre requirements :
-======================================================================================
- 1.Python 2.6+ . python can be downloaded from http://www.python.org/download/releases/ .
- 2.Python for Windows extensions - PyWin32 this module for python must be installed for appropriate version of the Python. It can be downloaded from
- http://sourceforge.net/projects/pywin32/ or
- http://starship.python.net/crew/mhammond/win32/
- 3.If you are using MS Outlook 2007 than you are required to install "Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1 (CDO 1.21)". It can be downloaded from
- http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2714320D-C997-4DE1-986F-24F081725D36&displaylang=en
- and With MS Outlook2003 Install inbuilt Collaboration Data Objects(CDO) while installing Outlook.
- To read more regarding Collaboration Data Objects(CDO) click following link:
- + http://support.microsoft.com/kb/171440
-
-How to install openerp-outlook plug-in?
-======================================================================================
- 1. Save the executable plug-in file.
- 2. Close Outlook Application if Running.
- 3. Run executable plug-in file and the folllow the instruction.
-
-How to uninstall openerp-outlook plug-in?
-=====================================================================================
- 1. Go to Control Panel Click "Add/Remove Programmes"
- 2. You will entry, you will find entry named 'OpenERP Outlook Addin 1.0' select it and click Uninstall.
-
-Note : Plug In has been successfully tested with MS Office 2003 and MS Offcie 2007.
-
-Enjoy Archiving your Outlook E-mails to OpenERP.
-
diff --git a/addons/outlook/__openerp__.py b/addons/outlook/__openerp__.py
index beab5aca648..9d1c5a554f4 100644
--- a/addons/outlook/__openerp__.py
+++ b/addons/outlook/__openerp__.py
@@ -25,7 +25,7 @@
'version' : '1.0',
'author' : 'OpenERP SA',
'website' : 'http://www.openerp.com/',
- 'depends' : ['base', 'mail'],
+ 'depends' : ['base', 'mail','plugin'],
'category' : 'Customer Relationship Management',
'description': '''
This module provides the Outlook Plug-in.
@@ -33,7 +33,7 @@ This module provides the Outlook Plug-in.
Outlook plug-in allows you to select an object that you’d like to add
to your email and its attachments from MS Outlook. You can select a partner, a task,
a project, an analytical account, or any other object and archive selected
-mail into email.messages with attachments.
+mail into mail.message with attachments.
''',
'init_xml' : [],
'demo_xml' : [],
diff --git a/addons/outlook/installer.py b/addons/outlook/installer.py
index 061c27da5e5..602afe0845d 100644
--- a/addons/outlook/installer.py
+++ b/addons/outlook/installer.py
@@ -32,7 +32,7 @@ class outlook_installer(osv.osv_memory):
def default_get(self, cr, uid, fields, context=None):
data = super(outlook_installer, self).default_get(cr, uid, fields, context=context)
data['doc_file'] = 'http://doc.openerp.com/book/2/2_6_Comms/2_6_Comms_outlook.html'
- file = open(addons.get_module_resource('outlook','plugin','openerp-outlook-addin.exe'), 'r')
+ file = open(addons.get_module_resource('outlook','plugin','openerp-outlook-plugin_v2.0','OpenERPOutlookPluginSetup','Release','OpenERPOutlookPluginSetup.msi'), 'r')
data['plugin_file'] = base64.encodestring(file.read())
return data
@@ -47,21 +47,18 @@ class outlook_installer(osv.osv_memory):
_defaults = {
'outlook' : True,
- 'name' : 'Openerp-Outlook-Addin.exe',
+ 'name' : 'OpenERPOutlookPlugin.msi',
'doc_name' : 'Installation Guide to OpenERP Outlook Plug-in.doc',
'description' : """
System requirements:
- 1. Python 2.6+.
- 2. Python for Windows extensions (PyWin32); this module must be installed for the appropriate version of Python.
- 3.1 With MS Outlook 2007, install the package Collaboration Data Objects, version 1.2.1, http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2714320D-C997-4DE1-986F-24F081725D36
- 3.2 With MS Outlook 2003, install the builtin Collaboration Data Objects(CDO) while installing Outlook.
+ 1. MS Outlook 2005 or above.
+ 2. MS .Net Framework 3.5 .
+
Plugin installation:
- 1. Save the executable plug-in file.
+ 1. Save the msi plug-in file.
2. Close the Outlook application if it is open.
- 3. Run the executable plug-in file, and follow the given instructions.
-
-Please refer to the README file for dependencies (external link: openobject-addons/outlook/README).
+ 3. Run the executable plug-in file (OpenERPOutlookPlugin.msi).
"""
}
outlook_installer()
diff --git a/addons/outlook/outlook_installer.xml b/addons/outlook/outlook_installer.xml
index 7e2b7cd6d58..4cdb0127631 100644
--- a/addons/outlook/outlook_installer.xml
+++ b/addons/outlook/outlook_installer.xml
@@ -14,7 +14,9 @@
<attribute name="string">Install Outlook Plug-In</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
- <attribute name="string">This plug-in allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one.</attribute>
+ <attribute name="string">This plug-in allows you to create new contact or link contact to an existing partner.
+Also allows to link your e-mail to OpenERP's documents.
+You can attach it to any existing one in OpenERP or create a new one.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="replace">
<button colspan="1" icon="gtk-close" special="cancel" string="_Close"/>
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/Register-plugin.bat b/addons/outlook/plugin/openerp-outlook-plugin/Register-plugin.bat
deleted file mode 100644
index aa3c0dac378..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/Register-plugin.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-python addin.py
-pause \ No newline at end of file
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/Unregister-plugin.bat b/addons/outlook/plugin/openerp-outlook-plugin/Unregister-plugin.bat
deleted file mode 100644
index 0f821974661..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/Unregister-plugin.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-python addin.py --unregister
-pause \ No newline at end of file
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/addin.py b/addons/outlook/plugin/openerp-outlook-plugin/addin.py
deleted file mode 100644
index c720c5e417d..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/addin.py
+++ /dev/null
@@ -1,301 +0,0 @@
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-
-# -*- 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 win32com import universal
-from win32com.client import gencache, DispatchWithEvents
-import pythoncom
-from win32com.client import constants
-import sys
-import os
-from win32com.client import Dispatch
-import win32con
-sys.path.append(os.path.abspath(os.path.dirname(__file__))) #outlook
-sys.path.append(os.path.abspath(__file__)) #outlook/addin
-import manager
-from win32com.client import CastTo
-import win32ui
-from tiny_xmlrpc import XMLRpcConn
-import locale
-locale.setlocale(locale.LC_NUMERIC, "C")
-# Support for COM objects we use.
-gencache.EnsureModule('{00062FFF-0000-0000-C000-000000000046}', 0, 9, 0, bForDemand=True) # Outlook 9
-gencache.EnsureModule('{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}', 0, 2, 1, bForDemand=True) # Office 9
-# The TLB defiining the interfaces we implement
-universal.RegisterInterfaces('{AC0714F2-3D04-11D1-AE7D-00A0C90F26F4}', 0, 1, 0, ["_IDTExtensibility2"])
-global NewConn
-# Retrieves registered XMLRPC connection
-def GetConn():
- d=Dispatch("Python.OpenERP.XMLRpcConn")
- return d
-class Configuration:
-
- def OnClick(self, button, cancel):
- import win32ui
- try:
- mngr = manager.GetManager()
- mngr.ShowManager()
- except Exception,e:
- win32ui.MessageBox("Fail to Initialize dialog.\n"+str(e),"OpenERP Configuration", win32con.MB_ICONERROR)
- return cancel
-#
-class ViewPartners:
- def OnClick(self, button, cancel):
- from win32com.client import Dispatch
- import win32con
- mngr = manager.GetManager()
- data = mngr.LoadConfig()
- outlook = Dispatch("Outlook.Application")
- ex = outlook.ActiveExplorer()
- if ex:
- is_login = str(data['login'])
- if is_login == 'False':
- win32ui.MessageBox("Please login to the database first", "OpenERP Connection", win32con.MB_ICONEXCLAMATION)
- elif ex.Selection.Count == 1 or ex.Selection.Count == 0:
- mngr = manager.GetManager()
- mngr.ShowManager("IDD_VIEW_PARTNER_DIALOG")
- elif ex.Selection.Count > 1:
- win32ui.MessageBox("Multiple selection not allowed. Please select only one mail at a time.","Open Contact",win32con.MB_ICONINFORMATION)
- return cancel
-#
-class OpenPartner:
- def OnClick(self, button, cancel):
- import win32ui
- mngr = manager.GetManager()
- data = mngr.LoadConfig()
- outlook = Dispatch("Outlook.Application")
- ex = outlook.ActiveExplorer()
- if ex:
- is_login = str(data['login'])
- if is_login == 'False':
- win32ui.MessageBox("Please login to the database first", "OpenERP Connection", win32con.MB_ICONEXCLAMATION)
- elif ex.Selection.Count == 1:
- mngr = manager.GetManager()
- mngr.ShowManager("IDD_OPEN_PARTNER_DIALOG")
- elif ex.Selection.Count == 0:
- win32ui.MessageBox("No mail selected to push to OpenERP","Push to OpenERP",win32con.MB_ICONINFORMATION)
- elif ex.Selection.Count > 1:
- win32ui.MessageBox("Multiple selection not allowed. Please select only one mail at a time.","Push to OpenERP",win32con.MB_ICONINFORMATION)
- return cancel
-#
-class OpenDocument:
- def OnClick(self, button, cancel):
- from win32com.client import Dispatch
- import win32con
- mngr = manager.GetManager()
- data = mngr.LoadConfig()
- outlook = Dispatch("Outlook.Application")
- ex = outlook.ActiveExplorer()
- if ex:
- is_login = str(data['login'])
- if is_login == 'False':
- win32ui.MessageBox("Please login to the database first", "OpenERP Connection", win32con.MB_ICONEXCLAMATION)
- elif ex.Selection.Count == 1 or ex.Selection.Count == 0:
- mngr = manager.GetManager()
- mngr.ShowManager("IDD_OPEN_DOCUEMNT_DIALOG")
- elif ex.Selection.Count > 1:
- win32ui.MessageBox("Multiple selection not allowed. Please select only one mail at a time.","Open Document",win32con.MB_ICONINFORMATION)
- return cancel
-#
-class ArchiveEvent:
- def OnClick(self, button, cancel):
- from win32com.client import Dispatch
- import win32con
- mngr = manager.GetManager()
- data=mngr.LoadConfig()
- outlook = Dispatch("Outlook.Application")
- ex = outlook.ActiveExplorer()
- if ex:
- is_login = str(data['login'])
- if is_login == 'False':
- win32ui.MessageBox("Please login to the database first", "OpenERP Connection", win32con.MB_ICONEXCLAMATION)
- elif ex.Selection.Count == 1:
- mngr = manager.GetManager()
- mngr.ShowManager("IDD_SYNC")
- elif ex.Selection.Count == 0:
- win32ui.MessageBox("No mail selected to push to OpenERP","Push to OpenERP",win32con.MB_ICONINFORMATION)
- elif ex.Selection.Count > 1:
- win32ui.MessageBox("Multiple selection not allowed. Please select only one mail at a time.","Push to OpenERP",win32con.MB_ICONINFORMATION)
- return cancel
-#
-class OutlookAddin:
- _com_interfaces_ = ['_IDTExtensibility2']
- _public_methods_ = ['OnConnection','GetAppDataPath']
- _reg_clsctx_ = pythoncom.CLSCTX_INPROC_SERVER
- _reg_clsid_ = "{0F47D9F3-598B-4d24-B7E3-92AC15ED27E8}"
- _reg_progid_ = "Python.OpenERP.OutlookAddin"
- _reg_policy_spec_ = "win32com.server.policy.EventHandlerPolicy"
- def OnConnection(self, application, connectMode, addin, custom):
- # ActiveExplorer may be none when started without a UI (eg, WinCE synchronisation)
- activeExplorer = application.ActiveExplorer()
- if activeExplorer is not None:
- bars = activeExplorer.CommandBars
- new_bar = bars.Add('Open ERP',0,0,0)
-
- menu_bar = bars.Item("Menu Bar")
-
- tools_menu = menu_bar.Controls(5)
- tools_menu = CastTo(tools_menu, "CommandBarPopup")
-
- item = tools_menu.Controls.Add(Type=constants.msoControlButton, Temporary=True)
- # Hook events for the item
- item = self.menu_bar_Button = DispatchWithEvents(item, Configuration)
- item.Caption="Configuration"
- item.TooltipText = "Click to configure OpenERP"
- item.Enabled = True
-
- item = tools_menu.Controls.Add(Type=constants.msoControlButton, Temporary=True)
- # Hook events for the item
- item = self.menu_bar_arch_Button = DispatchWithEvents(item, ArchiveEvent)
- item.Caption="Push"
- item.TooltipText = "Click to push to OpenERP"
- item.Enabled = True
-
- toolbar = bars.Item("Standard")
- openerp_bar = bars.Item('Open ERP')
-
- item = openerp_bar.Controls.Add(Type = constants.msoControlButton, Temporary = True)
- item = self.toolbarButtonConfig = DispatchWithEvents(item, Configuration)
- item.Caption = "Configuration"
- item.TooltipText = "Click to configure OpenERP."
- item.Enabled = True
-
- item = openerp_bar.Controls.Add(Type=constants.msoControlButton, Temporary=True)
- # Hook events for the item
- item = self.toolbarButton = DispatchWithEvents(item, ArchiveEvent)
- item.Caption="Push"
- item.TooltipText = "Click to push to OpenERP"
- item.Enabled = True
-
- # Adding Menu in Menu Bar to the Web Menu of the Outlook
- toolbarweb = bars.Item("Web")
-
- item = openerp_bar.Controls.Add(Type = constants.msoControlButton, Temporary = True)
- item = self.toolbarButtonOpenPartner = DispatchWithEvents(item, OpenPartner)
- item.Caption = "Partner"
- item.TooltipText = "Click to Open OpenERP Partner Contact Information."
- item.Enabled = True
-
-
- item = openerp_bar.Controls.Add(Type = constants.msoControlButton, Temporary = True)
- item = self.toolbarButtonOpenDocument = DispatchWithEvents(item, OpenDocument)
- item.Caption = "Document"
- item.TooltipText = "Click to Open Document that has been pushed to server."
- item.Enabled = True
-
- # Hook events for the item
-# item = toolbarweb.Controls.Add(Type = constants.msoControlButton, Temporary = True)
-# item = self.toolbarButtonPartner = DispatchWithEvents(item, ViewPartners)
-# item.Caption = "Open Contact"
-# item.TooltipText = "Click to Open OpenERP Partner Contact Information."
-# item.Enabled = True
-
-
-# item = tools_menu.Controls.Add(Type=constants.msoControlButton, Temporary=True)
-# # Hook events for the item
-# item = self.menu_bar_viewpartner_Button = DispatchWithEvents(item, ViewPartners)
-# item.Caption = "Open Contact"
-# item.TooltipText = "Click to Open Partner detail"
-# item.Enabled = True
-
- item = tools_menu.Controls.Add(Type=constants.msoControlButton, Temporary=True)
- # Hook events for the item
- item = self.menu_bar_openpartner_Button = DispatchWithEvents(item, OpenPartner)
- item.Caption = "Partner"
- item.TooltipText = "Click to Open Partner detail"
- item.Enabled = True
-
- item = tools_menu.Controls.Add(Type=constants.msoControlButton, Temporary=True)
- # Hook events for the item
- item = self.menu_bar_opendocument_Button = DispatchWithEvents(item, OpenDocument)
- item.Caption = "Document"
- item.TooltipText = "Click to Open Document that has been pushed to server."
- item.Enabled = True
-
- def OnDisconnection(self, mode, custom):
- mngr = manager.GetManager()
- mngr.config['login'] = False
- mngr.SaveConfig()
- self.item.close()
- pass
- def OnAddInsUpdate(self, custom):
- pass
- def OnStartupComplete(self, custom):
- pass
- def OnBeginShutdown(self, custom):
- pass
- def GetAppDataPath(self):
- mngr = manager.GetManager()
- return mngr.data_directory
-
-def RegisterAddin(klass):
- import _winreg
- key = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER, "Software\\Microsoft\\Office\\Outlook\\Addins")
- subkey = _winreg.CreateKey(key, klass._reg_progid_)
- _winreg.SetValueEx(subkey, "CommandLineSafe", 0, _winreg.REG_DWORD, 0)
- _winreg.SetValueEx(subkey, "LoadBehavior", 0, _winreg.REG_DWORD, 3)
- _winreg.SetValueEx(subkey, "Description", 0, _winreg.REG_SZ, klass._reg_progid_)
- _winreg.SetValueEx(subkey, "FriendlyName", 0, _winreg.REG_SZ, klass._reg_progid_)
-
-def UnregisterAddin(klass):
- import _winreg
- try:
- _winreg.DeleteKey(_winreg.HKEY_CURRENT_USER, "Software\\Microsoft\\Office\\Outlook\\Addins\\" + klass._reg_progid_)
- except:
- pass
-
-def UnregisterXMLConn(klass):
- import _winreg
- try:
- _winreg.DeleteKey(_winreg.HKEY_CURRENT_USER, "Software\\Microsoft\\Office\\Outlook\\Addins\\XMLConnection" + klass._reg_progid_)
- except:
- pass
-
-def RegisterXMLConn(klass):
- import _winreg
- key = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER, "Software\\Microsoft\\Office\\Outlook\\Addins\\XMLConnection")
- subkey = _winreg.CreateKey(key, klass._reg_progid_)
- _winreg.SetValueEx(subkey, "CommandLineSafe", 0, _winreg.REG_DWORD, 0)
- _winreg.SetValueEx(subkey, "LoadBehavior", 0, _winreg.REG_DWORD, 3)
- _winreg.SetValueEx(subkey, "Description", 0, _winreg.REG_SZ, klass._reg_progid_)
- _winreg.SetValueEx(subkey, "FriendlyName", 0, _winreg.REG_SZ, klass._reg_progid_)
-
-if __name__ == '__main__':
- import win32com.server.register
- NewConn=XMLRpcConn()
- win32com.server.register.UseCommandLine(OutlookAddin)
- win32com.server.register.UseCommandLine(NewConn)
- if "--unregister" in sys.argv:
- UnregisterAddin(OutlookAddin)
- UnregisterXMLConn(NewConn)
- print "\n \tPlug In Un-registered Successfully.\n\tThank You for Using PlugIn."
- else:
- RegisterAddin(OutlookAddin)
- RegisterXMLConn(NewConn)
- print "\n \tPlug In Registered Successfully.\n\tEnjoy Archiving with OpenERP.\n\tSee UserGuide for More. "
-
-#mngr = manager.GetManager()
-#mngr.ShowManager("IDD_MANAGER")
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/chilkat.py b/addons/outlook/plugin/openerp-outlook-plugin/chilkat.py
deleted file mode 100644
index 3aa329807ef..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/chilkat.py
+++ /dev/null
@@ -1,5609 +0,0 @@
-# This file was automatically generated by SWIG (http://www.swig.org).
-# Version 1.3.38
-#
-# Do not make changes to this file unless you know what you are doing--modify
-# the SWIG interface file instead.
-# This file is compatible with both classic and new-style classes.
-
-from sys import version_info
-if version_info >= (2,6,0):
- def swig_import_helper():
- from os.path import dirname
- import imp
- try:
- fp, pathname, description = imp.find_module('_chilkat', [dirname(__file__)])
- _mod = imp.load_module('_chilkat', fp, pathname, description)
- finally:
- if fp is not None: fp.close()
- return _mod
- _chilkat = swig_import_helper()
- del swig_import_helper
-else:
- import _chilkat
-del version_info
-try:
- _swig_property = property
-except NameError:
- pass # Python < 2.2 doesn't have 'property'.
-def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
- if (name == "thisown"): return self.this.own(value)
- if (name == "this"):
- if type(value).__name__ == 'SwigPyObject':
- self.__dict__[name] = value
- return
- method = class_type.__swig_setmethods__.get(name,None)
- if method: return method(self,value)
- if (not static) or hasattr(self,name):
- self.__dict__[name] = value
- else:
- raise AttributeError("You cannot add attributes to %s" % self)
-
-def _swig_setattr(self,class_type,name,value):
- return _swig_setattr_nondynamic(self,class_type,name,value,0)
-
-def _swig_getattr(self,class_type,name):
- if (name == "thisown"): return self.this.own()
- method = class_type.__swig_getmethods__.get(name,None)
- if method: return method(self)
- raise AttributeError(name)
-
-def _swig_repr(self):
- try: strthis = "proxy of " + self.this.__repr__()
- except: strthis = ""
- return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
-
-try:
- _object = object
- _newclass = 1
-except AttributeError:
- class _object : pass
- _newclass = 0
-
-
-
-def GetSwigProgLang():
- return _chilkat.GetSwigProgLang()
-GetSwigProgLang = _chilkat.GetSwigProgLang
-class SYSTEMTIME(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, SYSTEMTIME, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, SYSTEMTIME, name)
- __repr__ = _swig_repr
- __swig_setmethods__["wYear"] = _chilkat.SYSTEMTIME_wYear_set
- __swig_getmethods__["wYear"] = _chilkat.SYSTEMTIME_wYear_get
- if _newclass:wYear = _swig_property(_chilkat.SYSTEMTIME_wYear_get, _chilkat.SYSTEMTIME_wYear_set)
- __swig_setmethods__["wMonth"] = _chilkat.SYSTEMTIME_wMonth_set
- __swig_getmethods__["wMonth"] = _chilkat.SYSTEMTIME_wMonth_get
- if _newclass:wMonth = _swig_property(_chilkat.SYSTEMTIME_wMonth_get, _chilkat.SYSTEMTIME_wMonth_set)
- __swig_setmethods__["wDayOfWeek"] = _chilkat.SYSTEMTIME_wDayOfWeek_set
- __swig_getmethods__["wDayOfWeek"] = _chilkat.SYSTEMTIME_wDayOfWeek_get
- if _newclass:wDayOfWeek = _swig_property(_chilkat.SYSTEMTIME_wDayOfWeek_get, _chilkat.SYSTEMTIME_wDayOfWeek_set)
- __swig_setmethods__["wDay"] = _chilkat.SYSTEMTIME_wDay_set
- __swig_getmethods__["wDay"] = _chilkat.SYSTEMTIME_wDay_get
- if _newclass:wDay = _swig_property(_chilkat.SYSTEMTIME_wDay_get, _chilkat.SYSTEMTIME_wDay_set)
- __swig_setmethods__["wHour"] = _chilkat.SYSTEMTIME_wHour_set
- __swig_getmethods__["wHour"] = _chilkat.SYSTEMTIME_wHour_get
- if _newclass:wHour = _swig_property(_chilkat.SYSTEMTIME_wHour_get, _chilkat.SYSTEMTIME_wHour_set)
- __swig_setmethods__["wMinute"] = _chilkat.SYSTEMTIME_wMinute_set
- __swig_getmethods__["wMinute"] = _chilkat.SYSTEMTIME_wMinute_get
- if _newclass:wMinute = _swig_property(_chilkat.SYSTEMTIME_wMinute_get, _chilkat.SYSTEMTIME_wMinute_set)
- __swig_setmethods__["wSecond"] = _chilkat.SYSTEMTIME_wSecond_set
- __swig_getmethods__["wSecond"] = _chilkat.SYSTEMTIME_wSecond_get
- if _newclass:wSecond = _swig_property(_chilkat.SYSTEMTIME_wSecond_get, _chilkat.SYSTEMTIME_wSecond_set)
- __swig_setmethods__["wMilliseconds"] = _chilkat.SYSTEMTIME_wMilliseconds_set
- __swig_getmethods__["wMilliseconds"] = _chilkat.SYSTEMTIME_wMilliseconds_get
- if _newclass:wMilliseconds = _swig_property(_chilkat.SYSTEMTIME_wMilliseconds_get, _chilkat.SYSTEMTIME_wMilliseconds_set)
- def __init__(self):
- this = _chilkat.new_SYSTEMTIME()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_SYSTEMTIME
- __del__ = lambda self : None;
-SYSTEMTIME_swigregister = _chilkat.SYSTEMTIME_swigregister
-SYSTEMTIME_swigregister(SYSTEMTIME)
-
-class CkString(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkString, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkString, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkString()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkString
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkString_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkString_put_Utf8(self, *args)
- def loadFile(self, *args): return _chilkat.CkString_loadFile(self, *args)
- def charAt(self, *args): return _chilkat.CkString_charAt(self, *args)
- def intValue(self): return _chilkat.CkString_intValue(self)
- def doubleValue(self): return _chilkat.CkString_doubleValue(self)
- def clone(self): return _chilkat.CkString_clone(self)
- def countCharOccurances(self, *args): return _chilkat.CkString_countCharOccurances(self, *args)
- def appendCurrentDateRfc822(self): return _chilkat.CkString_appendCurrentDateRfc822(self)
- def setStr(self, *args): return _chilkat.CkString_setStr(self, *args)
- def endsWith(self, *args): return _chilkat.CkString_endsWith(self, *args)
- def endsWithStr(self, *args): return _chilkat.CkString_endsWithStr(self, *args)
- def beginsWithStr(self, *args): return _chilkat.CkString_beginsWithStr(self, *args)
- def indexOf(self, *args): return _chilkat.CkString_indexOf(self, *args)
- def indexOfStr(self, *args): return _chilkat.CkString_indexOfStr(self, *args)
- def replaceAll(self, *args): return _chilkat.CkString_replaceAll(self, *args)
- def replaceFirst(self, *args): return _chilkat.CkString_replaceFirst(self, *args)
- def substring(self, *args): return _chilkat.CkString_substring(self, *args)
- def matchesStr(self, *args): return _chilkat.CkString_matchesStr(self, *args)
- def matches(self, *args): return _chilkat.CkString_matches(self, *args)
- def getChar(self, *args): return _chilkat.CkString_getChar(self, *args)
- def removeAll(self, *args): return _chilkat.CkString_removeAll(self, *args)
- def removeFirst(self, *args): return _chilkat.CkString_removeFirst(self, *args)
- def chopAtStr(self, *args): return _chilkat.CkString_chopAtStr(self, *args)
- def urlDecode(self, *args): return _chilkat.CkString_urlDecode(self, *args)
- def urlEncode(self, *args): return _chilkat.CkString_urlEncode(self, *args)
- def base64Decode(self, *args): return _chilkat.CkString_base64Decode(self, *args)
- def base64Encode(self, *args): return _chilkat.CkString_base64Encode(self, *args)
- def qpDecode(self, *args): return _chilkat.CkString_qpDecode(self, *args)
- def qpEncode(self, *args): return _chilkat.CkString_qpEncode(self, *args)
- def hexDecode(self, *args): return _chilkat.CkString_hexDecode(self, *args)
- def hexEncode(self, *args): return _chilkat.CkString_hexEncode(self, *args)
- def entityDecode(self): return _chilkat.CkString_entityDecode(self)
- def entityEncode(self): return _chilkat.CkString_entityEncode(self)
- def appendUtf8(self, *args): return _chilkat.CkString_appendUtf8(self, *args)
- def appendAnsi(self, *args): return _chilkat.CkString_appendAnsi(self, *args)
- def clear(self): return _chilkat.CkString_clear(self)
- def prepend(self, *args): return _chilkat.CkString_prepend(self, *args)
- def appendInt(self, *args): return _chilkat.CkString_appendInt(self, *args)
- def append(self, *args): return _chilkat.CkString_append(self, *args)
- def appendChar(self, *args): return _chilkat.CkString_appendChar(self, *args)
- def appendN(self, *args): return _chilkat.CkString_appendN(self, *args)
- def appendStr(self, *args): return _chilkat.CkString_appendStr(self, *args)
- def appendEnc(self, *args): return _chilkat.CkString_appendEnc(self, *args)
- def getEnc(self, *args): return _chilkat.CkString_getEnc(self, *args)
- def setString(self, *args): return _chilkat.CkString_setString(self, *args)
- def setStringAnsi(self, *args): return _chilkat.CkString_setStringAnsi(self, *args)
- def setStringUtf8(self, *args): return _chilkat.CkString_setStringUtf8(self, *args)
- def getAnsi(self): return _chilkat.CkString_getAnsi(self)
- def getUtf8(self): return _chilkat.CkString_getUtf8(self)
- def compareStr(self, *args): return _chilkat.CkString_compareStr(self, *args)
- def getString(self): return _chilkat.CkString_getString(self)
- def getSizeUtf8(self): return _chilkat.CkString_getSizeUtf8(self)
- def getSizeAnsi(self): return _chilkat.CkString_getSizeAnsi(self)
- def getNumChars(self): return _chilkat.CkString_getNumChars(self)
- def trim(self): return _chilkat.CkString_trim(self)
- def trim2(self): return _chilkat.CkString_trim2(self)
- def trimInsideSpaces(self): return _chilkat.CkString_trimInsideSpaces(self)
- def replaceAllOccurances(self, *args): return _chilkat.CkString_replaceAllOccurances(self, *args)
- def replaceFirstOccurance(self, *args): return _chilkat.CkString_replaceFirstOccurance(self, *args)
- def toCRLF(self): return _chilkat.CkString_toCRLF(self)
- def toLF(self): return _chilkat.CkString_toLF(self)
- def eliminateChar(self, *args): return _chilkat.CkString_eliminateChar(self, *args)
- def lastChar(self): return _chilkat.CkString_lastChar(self)
- def shorten(self, *args): return _chilkat.CkString_shorten(self, *args)
- def toLowerCase(self): return _chilkat.CkString_toLowerCase(self)
- def toUpperCase(self): return _chilkat.CkString_toUpperCase(self)
- def encodeXMLSpecial(self): return _chilkat.CkString_encodeXMLSpecial(self)
- def decodeXMLSpecial(self): return _chilkat.CkString_decodeXMLSpecial(self)
- def containsSubstring(self, *args): return _chilkat.CkString_containsSubstring(self, *args)
- def containsSubstringNoCase(self, *args): return _chilkat.CkString_containsSubstringNoCase(self, *args)
- def equals(self, *args): return _chilkat.CkString_equals(self, *args)
- def equalsStr(self, *args): return _chilkat.CkString_equalsStr(self, *args)
- def equalsIgnoreCase(self, *args): return _chilkat.CkString_equalsIgnoreCase(self, *args)
- def equalsIgnoreCaseStr(self, *args): return _chilkat.CkString_equalsIgnoreCaseStr(self, *args)
- def removeChunk(self, *args): return _chilkat.CkString_removeChunk(self, *args)
- def removeCharOccurances(self, *args): return _chilkat.CkString_removeCharOccurances(self, *args)
- def replaceChar(self, *args): return _chilkat.CkString_replaceChar(self, *args)
- def chopAtFirstChar(self, *args): return _chilkat.CkString_chopAtFirstChar(self, *args)
- def saveToFile(self, *args): return _chilkat.CkString_saveToFile(self, *args)
- def split(self, *args): return _chilkat.CkString_split(self, *args)
- def split2(self, *args): return _chilkat.CkString_split2(self, *args)
- def tokenize(self, *args): return _chilkat.CkString_tokenize(self, *args)
- def splitAtWS(self): return _chilkat.CkString_splitAtWS(self)
- def beginsWith(self, *args): return _chilkat.CkString_beginsWith(self, *args)
- def appendHexData(self, *args): return _chilkat.CkString_appendHexData(self, *args)
-CkString_swigregister = _chilkat.CkString_swigregister
-CkString_swigregister(CkString)
-
-class CkHtmlToXml(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkHtmlToXml, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkHtmlToXml, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkHtmlToXml()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkHtmlToXml
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkHtmlToXml_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkHtmlToXml_put_Utf8(self, *args)
- def SetHtmlBytes(self, *args): return _chilkat.CkHtmlToXml_SetHtmlBytes(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkHtmlToXml_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkHtmlToXml_IsUnlocked(self)
- def SaveLastError(self, *args): return _chilkat.CkHtmlToXml_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkHtmlToXml_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkHtmlToXml_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkHtmlToXml_LastErrorText(self, *args)
- def get_Version(self, *args): return _chilkat.CkHtmlToXml_get_Version(self, *args)
- def put_Nbsp(self, *args): return _chilkat.CkHtmlToXml_put_Nbsp(self, *args)
- def get_Nbsp(self): return _chilkat.CkHtmlToXml_get_Nbsp(self)
- def put_Html(self, *args): return _chilkat.CkHtmlToXml_put_Html(self, *args)
- def get_Html(self, *args): return _chilkat.CkHtmlToXml_get_Html(self, *args)
- def put_XmlCharset(self, *args): return _chilkat.CkHtmlToXml_put_XmlCharset(self, *args)
- def get_XmlCharset(self, *args): return _chilkat.CkHtmlToXml_get_XmlCharset(self, *args)
- def SetHtmlFromFile(self, *args): return _chilkat.CkHtmlToXml_SetHtmlFromFile(self, *args)
- def ToXml(self, *args): return _chilkat.CkHtmlToXml_ToXml(self, *args)
- def ReadFileToString(self, *args): return _chilkat.CkHtmlToXml_ReadFileToString(self, *args)
- def WriteStringToFile(self, *args): return _chilkat.CkHtmlToXml_WriteStringToFile(self, *args)
- def ConvertFile(self, *args): return _chilkat.CkHtmlToXml_ConvertFile(self, *args)
- def DropTagType(self, *args): return _chilkat.CkHtmlToXml_DropTagType(self, *args)
- def UndropTagType(self, *args): return _chilkat.CkHtmlToXml_UndropTagType(self, *args)
- def DropTextFormattingTags(self): return _chilkat.CkHtmlToXml_DropTextFormattingTags(self)
- def UndropTextFormattingTags(self): return _chilkat.CkHtmlToXml_UndropTextFormattingTags(self)
- def put_DropCustomTags(self, *args): return _chilkat.CkHtmlToXml_put_DropCustomTags(self, *args)
- def get_DropCustomTags(self): return _chilkat.CkHtmlToXml_get_DropCustomTags(self)
- def lastErrorText(self): return _chilkat.CkHtmlToXml_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkHtmlToXml_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkHtmlToXml_lastErrorHtml(self)
- def html(self): return _chilkat.CkHtmlToXml_html(self)
- def xmlCharset(self): return _chilkat.CkHtmlToXml_xmlCharset(self)
- def xml(self): return _chilkat.CkHtmlToXml_xml(self)
- def version(self): return _chilkat.CkHtmlToXml_version(self)
- def toXml(self): return _chilkat.CkHtmlToXml_toXml(self)
- def readFileToString(self, *args): return _chilkat.CkHtmlToXml_readFileToString(self, *args)
-CkHtmlToXml_swigregister = _chilkat.CkHtmlToXml_swigregister
-CkHtmlToXml_swigregister(CkHtmlToXml)
-
-class CkUpload(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkUpload, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkUpload, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkUpload()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkUpload
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkUpload_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkUpload_put_Utf8(self, *args)
- def get_Ssl(self): return _chilkat.CkUpload_get_Ssl(self)
- def put_Ssl(self, *args): return _chilkat.CkUpload_put_Ssl(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkUpload_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkUpload_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkUpload_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkUpload_LastErrorText(self, *args)
- def get_Version(self, *args): return _chilkat.CkUpload_get_Version(self, *args)
- def SleepMs(self, *args): return _chilkat.CkUpload_SleepMs(self, *args)
- def get_ChunkSize(self): return _chilkat.CkUpload_get_ChunkSize(self)
- def put_ChunkSize(self, *args): return _chilkat.CkUpload_put_ChunkSize(self, *args)
- def get_IdleTimeoutMs(self): return _chilkat.CkUpload_get_IdleTimeoutMs(self)
- def put_IdleTimeoutMs(self, *args): return _chilkat.CkUpload_put_IdleTimeoutMs(self, *args)
- def get_UploadInProgress(self): return _chilkat.CkUpload_get_UploadInProgress(self)
- def get_UploadSuccess(self): return _chilkat.CkUpload_get_UploadSuccess(self)
- def get_Login(self, *args): return _chilkat.CkUpload_get_Login(self, *args)
- def put_Login(self, *args): return _chilkat.CkUpload_put_Login(self, *args)
- def get_Password(self, *args): return _chilkat.CkUpload_get_Password(self, *args)
- def put_Password(self, *args): return _chilkat.CkUpload_put_Password(self, *args)
- def login(self): return _chilkat.CkUpload_login(self)
- def password(self): return _chilkat.CkUpload_password(self)
- def get_ProxyPort(self): return _chilkat.CkUpload_get_ProxyPort(self)
- def put_ProxyPort(self, *args): return _chilkat.CkUpload_put_ProxyPort(self, *args)
- def put_ProxyDomain(self, *args): return _chilkat.CkUpload_put_ProxyDomain(self, *args)
- def get_ProxyDomain(self, *args): return _chilkat.CkUpload_get_ProxyDomain(self, *args)
- def get_ProxyLogin(self, *args): return _chilkat.CkUpload_get_ProxyLogin(self, *args)
- def put_ProxyLogin(self, *args): return _chilkat.CkUpload_put_ProxyLogin(self, *args)
- def get_ProxyPassword(self, *args): return _chilkat.CkUpload_get_ProxyPassword(self, *args)
- def put_ProxyPassword(self, *args): return _chilkat.CkUpload_put_ProxyPassword(self, *args)
- def proxyLogin(self): return _chilkat.CkUpload_proxyLogin(self)
- def proxyPassword(self): return _chilkat.CkUpload_proxyPassword(self)
- def proxyDomain(self): return _chilkat.CkUpload_proxyDomain(self)
- def AddCustomHeader(self, *args): return _chilkat.CkUpload_AddCustomHeader(self, *args)
- def AddParam(self, *args): return _chilkat.CkUpload_AddParam(self, *args)
- def AddFileReference(self, *args): return _chilkat.CkUpload_AddFileReference(self, *args)
- def get_Port(self): return _chilkat.CkUpload_get_Port(self)
- def put_Port(self, *args): return _chilkat.CkUpload_put_Port(self, *args)
- def get_Hostname(self, *args): return _chilkat.CkUpload_get_Hostname(self, *args)
- def put_Hostname(self, *args): return _chilkat.CkUpload_put_Hostname(self, *args)
- def get_Path(self, *args): return _chilkat.CkUpload_get_Path(self, *args)
- def put_Path(self, *args): return _chilkat.CkUpload_put_Path(self, *args)
- def get_TotalUploadSize(self): return _chilkat.CkUpload_get_TotalUploadSize(self)
- def get_NumBytesSent(self): return _chilkat.CkUpload_get_NumBytesSent(self)
- def get_PercentUploaded(self): return _chilkat.CkUpload_get_PercentUploaded(self)
- def get_ResponseStatus(self): return _chilkat.CkUpload_get_ResponseStatus(self)
- def get_ResponseHeader(self, *args): return _chilkat.CkUpload_get_ResponseHeader(self, *args)
- def get_ResponseBody(self, *args): return _chilkat.CkUpload_get_ResponseBody(self, *args)
- def BlockingUpload(self): return _chilkat.CkUpload_BlockingUpload(self)
- def BeginUpload(self): return _chilkat.CkUpload_BeginUpload(self)
- def AbortUpload(self): return _chilkat.CkUpload_AbortUpload(self)
- def UploadToMemory(self, *args): return _chilkat.CkUpload_UploadToMemory(self, *args)
- def lastErrorText(self): return _chilkat.CkUpload_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkUpload_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkUpload_lastErrorHtml(self)
- def hostname(self): return _chilkat.CkUpload_hostname(self)
- def path(self): return _chilkat.CkUpload_path(self)
- def responseHeader(self): return _chilkat.CkUpload_responseHeader(self)
- def version(self): return _chilkat.CkUpload_version(self)
-CkUpload_swigregister = _chilkat.CkUpload_swigregister
-CkUpload_swigregister(CkUpload)
-
-class CkKeyContainer(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkKeyContainer, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkKeyContainer, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkKeyContainer()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkKeyContainer
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkKeyContainer_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkKeyContainer_put_Utf8(self, *args)
- def get_IsOpen(self): return _chilkat.CkKeyContainer_get_IsOpen(self)
- def get_IsMachineKeyset(self): return _chilkat.CkKeyContainer_get_IsMachineKeyset(self)
- def get_ContainerName(self, *args): return _chilkat.CkKeyContainer_get_ContainerName(self, *args)
- def GenerateUuid(self, *args): return _chilkat.CkKeyContainer_GenerateUuid(self, *args)
- def CreateContainer(self, *args): return _chilkat.CkKeyContainer_CreateContainer(self, *args)
- def OpenContainer(self, *args): return _chilkat.CkKeyContainer_OpenContainer(self, *args)
- def DeleteContainer(self): return _chilkat.CkKeyContainer_DeleteContainer(self)
- def CloseContainer(self): return _chilkat.CkKeyContainer_CloseContainer(self)
- def GenerateKeyPair(self, *args): return _chilkat.CkKeyContainer_GenerateKeyPair(self, *args)
- def GetPrivateKey(self, *args): return _chilkat.CkKeyContainer_GetPrivateKey(self, *args)
- def GetPublicKey(self, *args): return _chilkat.CkKeyContainer_GetPublicKey(self, *args)
- def ImportPublicKey(self, *args): return _chilkat.CkKeyContainer_ImportPublicKey(self, *args)
- def ImportPrivateKey(self, *args): return _chilkat.CkKeyContainer_ImportPrivateKey(self, *args)
- def FetchContainerNames(self, *args): return _chilkat.CkKeyContainer_FetchContainerNames(self, *args)
- def GetNumContainers(self, *args): return _chilkat.CkKeyContainer_GetNumContainers(self, *args)
- def GetContainerName(self, *args): return _chilkat.CkKeyContainer_GetContainerName(self, *args)
- def getContainerName(self, *args): return _chilkat.CkKeyContainer_getContainerName(self, *args)
- def containerName(self): return _chilkat.CkKeyContainer_containerName(self)
- def generateUuid(self): return _chilkat.CkKeyContainer_generateUuid(self)
- def SaveLastError(self, *args): return _chilkat.CkKeyContainer_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkKeyContainer_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkKeyContainer_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkKeyContainer_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkKeyContainer_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkKeyContainer_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkKeyContainer_lastErrorHtml(self)
-CkKeyContainer_swigregister = _chilkat.CkKeyContainer_swigregister
-CkKeyContainer_swigregister(CkKeyContainer)
-
-class CkPublicKey(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkPublicKey, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkPublicKey, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkPublicKey()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkPublicKey
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkPublicKey_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkPublicKey_put_Utf8(self, *args)
- def LoadPkcs1Pem(self, *args): return _chilkat.CkPublicKey_LoadPkcs1Pem(self, *args)
- def LoadRsaDerFile(self, *args): return _chilkat.CkPublicKey_LoadRsaDerFile(self, *args)
- def LoadOpenSslDerFile(self, *args): return _chilkat.CkPublicKey_LoadOpenSslDerFile(self, *args)
- def LoadOpenSslPemFile(self, *args): return _chilkat.CkPublicKey_LoadOpenSslPemFile(self, *args)
- def LoadXmlFile(self, *args): return _chilkat.CkPublicKey_LoadXmlFile(self, *args)
- def LoadOpenSslPem(self, *args): return _chilkat.CkPublicKey_LoadOpenSslPem(self, *args)
- def LoadOpenSslDer(self, *args): return _chilkat.CkPublicKey_LoadOpenSslDer(self, *args)
- def LoadRsaDer(self, *args): return _chilkat.CkPublicKey_LoadRsaDer(self, *args)
- def LoadXml(self, *args): return _chilkat.CkPublicKey_LoadXml(self, *args)
- def SaveRsaDerFile(self, *args): return _chilkat.CkPublicKey_SaveRsaDerFile(self, *args)
- def SaveOpenSslDerFile(self, *args): return _chilkat.CkPublicKey_SaveOpenSslDerFile(self, *args)
- def SaveOpenSslPemFile(self, *args): return _chilkat.CkPublicKey_SaveOpenSslPemFile(self, *args)
- def SaveXmlFile(self, *args): return _chilkat.CkPublicKey_SaveXmlFile(self, *args)
- def GetRsaDer(self, *args): return _chilkat.CkPublicKey_GetRsaDer(self, *args)
- def GetOpenSslDer(self, *args): return _chilkat.CkPublicKey_GetOpenSslDer(self, *args)
- def GetOpenSslPem(self, *args): return _chilkat.CkPublicKey_GetOpenSslPem(self, *args)
- def GetXml(self, *args): return _chilkat.CkPublicKey_GetXml(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkPublicKey_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkPublicKey_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkPublicKey_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkPublicKey_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkPublicKey_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkPublicKey_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkPublicKey_lastErrorHtml(self)
- def getOpenSslPem(self): return _chilkat.CkPublicKey_getOpenSslPem(self)
- def getXml(self): return _chilkat.CkPublicKey_getXml(self)
-CkPublicKey_swigregister = _chilkat.CkPublicKey_swigregister
-CkPublicKey_swigregister(CkPublicKey)
-
-class CkPrivateKey(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkPrivateKey, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkPrivateKey, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkPrivateKey()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkPrivateKey
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkPrivateKey_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkPrivateKey_put_Utf8(self, *args)
- def LoadEncryptedPem(self, *args): return _chilkat.CkPrivateKey_LoadEncryptedPem(self, *args)
- def LoadEncryptedPemFile(self, *args): return _chilkat.CkPrivateKey_LoadEncryptedPemFile(self, *args)
- def LoadPkcs8Encrypted(self, *args): return _chilkat.CkPrivateKey_LoadPkcs8Encrypted(self, *args)
- def LoadPkcs8EncryptedFile(self, *args): return _chilkat.CkPrivateKey_LoadPkcs8EncryptedFile(self, *args)
- def GetPkcs8Encrypted(self, *args): return _chilkat.CkPrivateKey_GetPkcs8Encrypted(self, *args)
- def GetPkcs8EncryptedPem(self, *args): return _chilkat.CkPrivateKey_GetPkcs8EncryptedPem(self, *args)
- def getPkcs8EncryptedPem(self, *args): return _chilkat.CkPrivateKey_getPkcs8EncryptedPem(self, *args)
- def SavePkcs8EncryptedFile(self, *args): return _chilkat.CkPrivateKey_SavePkcs8EncryptedFile(self, *args)
- def SavePkcs8EncryptedPemFile(self, *args): return _chilkat.CkPrivateKey_SavePkcs8EncryptedPemFile(self, *args)
- def LoadPvkFile(self, *args): return _chilkat.CkPrivateKey_LoadPvkFile(self, *args)
- def LoadPvk(self, *args): return _chilkat.CkPrivateKey_LoadPvk(self, *args)
- def LoadRsaDerFile(self, *args): return _chilkat.CkPrivateKey_LoadRsaDerFile(self, *args)
- def LoadPkcs8File(self, *args): return _chilkat.CkPrivateKey_LoadPkcs8File(self, *args)
- def LoadPemFile(self, *args): return _chilkat.CkPrivateKey_LoadPemFile(self, *args)
- def LoadXmlFile(self, *args): return _chilkat.CkPrivateKey_LoadXmlFile(self, *args)
- def LoadPem(self, *args): return _chilkat.CkPrivateKey_LoadPem(self, *args)
- def LoadRsaDer(self, *args): return _chilkat.CkPrivateKey_LoadRsaDer(self, *args)
- def LoadPkcs8(self, *args): return _chilkat.CkPrivateKey_LoadPkcs8(self, *args)
- def LoadXml(self, *args): return _chilkat.CkPrivateKey_LoadXml(self, *args)
- def SaveRsaDerFile(self, *args): return _chilkat.CkPrivateKey_SaveRsaDerFile(self, *args)
- def SavePkcs8File(self, *args): return _chilkat.CkPrivateKey_SavePkcs8File(self, *args)
- def SaveRsaPemFile(self, *args): return _chilkat.CkPrivateKey_SaveRsaPemFile(self, *args)
- def SavePkcs8PemFile(self, *args): return _chilkat.CkPrivateKey_SavePkcs8PemFile(self, *args)
- def SaveXmlFile(self, *args): return _chilkat.CkPrivateKey_SaveXmlFile(self, *args)
- def GetRsaDer(self, *args): return _chilkat.CkPrivateKey_GetRsaDer(self, *args)
- def GetPkcs8(self, *args): return _chilkat.CkPrivateKey_GetPkcs8(self, *args)
- def GetRsaPem(self, *args): return _chilkat.CkPrivateKey_GetRsaPem(self, *args)
- def GetPkcs8Pem(self, *args): return _chilkat.CkPrivateKey_GetPkcs8Pem(self, *args)
- def GetXml(self, *args): return _chilkat.CkPrivateKey_GetXml(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkPrivateKey_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkPrivateKey_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkPrivateKey_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkPrivateKey_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkPrivateKey_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkPrivateKey_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkPrivateKey_lastErrorHtml(self)
- def getRsaPem(self): return _chilkat.CkPrivateKey_getRsaPem(self)
- def getPkcs8Pem(self): return _chilkat.CkPrivateKey_getPkcs8Pem(self)
- def getXml(self): return _chilkat.CkPrivateKey_getXml(self)
-CkPrivateKey_swigregister = _chilkat.CkPrivateKey_swigregister
-CkPrivateKey_swigregister(CkPrivateKey)
-
-class CkByteData(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkByteData, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkByteData, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkByteData()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkByteData
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkByteData_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkByteData_put_Utf8(self, *args)
- def getRange(self, *args): return _chilkat.CkByteData_getRange(self, *args)
- def getRangeStr(self, *args): return _chilkat.CkByteData_getRangeStr(self, *args)
- def to_s(self): return _chilkat.CkByteData_to_s(self)
- def appendInt(self, *args): return _chilkat.CkByteData_appendInt(self, *args)
- def appendShort(self, *args): return _chilkat.CkByteData_appendShort(self, *args)
- def getEncodedRange(self, *args): return _chilkat.CkByteData_getEncodedRange(self, *args)
- def appendRange(self, *args): return _chilkat.CkByteData_appendRange(self, *args)
- def ensureBuffer(self, *args): return _chilkat.CkByteData_ensureBuffer(self, *args)
- def findBytes2(self, *args): return _chilkat.CkByteData_findBytes2(self, *args)
- def findBytes(self, *args): return _chilkat.CkByteData_findBytes(self, *args)
- def beginsWith2(self, *args): return _chilkat.CkByteData_beginsWith2(self, *args)
- def beginsWith(self, *args): return _chilkat.CkByteData_beginsWith(self, *args)
- def removeChunk(self, *args): return _chilkat.CkByteData_removeChunk(self, *args)
- def byteSwap4321(self): return _chilkat.CkByteData_byteSwap4321(self)
- def pad(self, *args): return _chilkat.CkByteData_pad(self, *args)
- def unpad(self, *args): return _chilkat.CkByteData_unpad(self, *args)
- def is7bit(self): return _chilkat.CkByteData_is7bit(self)
- def clear(self): return _chilkat.CkByteData_clear(self)
- def getSize(self): return _chilkat.CkByteData_getSize(self)
- def appendEncoded(self, *args): return _chilkat.CkByteData_appendEncoded(self, *args)
- def encode(self, *args): return _chilkat.CkByteData_encode(self, *args)
- def getData(self): return _chilkat.CkByteData_getData(self)
- def getBytes(self): return _chilkat.CkByteData_getBytes(self)
- def getEncoded(self, *args): return _chilkat.CkByteData_getEncoded(self, *args)
- def append(self, *args): return _chilkat.CkByteData_append(self, *args)
- def appendStr(self, *args): return _chilkat.CkByteData_appendStr(self, *args)
- def appendChar(self, *args): return _chilkat.CkByteData_appendChar(self, *args)
- def getByte(self, *args): return _chilkat.CkByteData_getByte(self, *args)
- def getChar(self, *args): return _chilkat.CkByteData_getChar(self, *args)
- def getUInt(self, *args): return _chilkat.CkByteData_getUInt(self, *args)
- def getInt(self, *args): return _chilkat.CkByteData_getInt(self, *args)
- def getUShort(self, *args): return _chilkat.CkByteData_getUShort(self, *args)
- def getShort(self, *args): return _chilkat.CkByteData_getShort(self, *args)
- def loadFile(self, *args): return _chilkat.CkByteData_loadFile(self, *args)
- def saveFile(self, *args): return _chilkat.CkByteData_saveFile(self, *args)
- def appendFile(self, *args): return _chilkat.CkByteData_appendFile(self, *args)
- def shorten(self, *args): return _chilkat.CkByteData_shorten(self, *args)
-CkByteData_swigregister = _chilkat.CkByteData_swigregister
-CkByteData_swigregister(CkByteData)
-
-class CkSocket(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkSocket, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkSocket, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkSocket()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkSocket
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkSocket_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkSocket_put_Utf8(self, *args)
- def DnsLookup(self, *args): return _chilkat.CkSocket_DnsLookup(self, *args)
- def dnsLookup(self, *args): return _chilkat.CkSocket_dnsLookup(self, *args)
- def GetMyCert(self): return _chilkat.CkSocket_GetMyCert(self)
- def GetSslServerCert(self): return _chilkat.CkSocket_GetSslServerCert(self)
- def ReceiveToCRLF(self, *args): return _chilkat.CkSocket_ReceiveToCRLF(self, *args)
- def receiveToCRLF(self): return _chilkat.CkSocket_receiveToCRLF(self)
- def get_SessionLog(self, *args): return _chilkat.CkSocket_get_SessionLog(self, *args)
- def sessionLog(self): return _chilkat.CkSocket_sessionLog(self)
- def get_KeepSessionLog(self): return _chilkat.CkSocket_get_KeepSessionLog(self)
- def put_KeepSessionLog(self, *args): return _chilkat.CkSocket_put_KeepSessionLog(self, *args)
- def get_SessionLogEncoding(self, *args): return _chilkat.CkSocket_get_SessionLogEncoding(self, *args)
- def sessionLogEncoding(self): return _chilkat.CkSocket_sessionLogEncoding(self)
- def put_SessionLogEncoding(self, *args): return _chilkat.CkSocket_put_SessionLogEncoding(self, *args)
- def ReceiveUntilByte(self, *args): return _chilkat.CkSocket_ReceiveUntilByte(self, *args)
- def ClearSessionLog(self): return _chilkat.CkSocket_ClearSessionLog(self)
- def ReceiveStringUntilByte(self, *args): return _chilkat.CkSocket_ReceiveStringUntilByte(self, *args)
- def receiveStringUntilByte(self, *args): return _chilkat.CkSocket_receiveStringUntilByte(self, *args)
- def ReceiveStringMaxN(self, *args): return _chilkat.CkSocket_ReceiveStringMaxN(self, *args)
- def receiveStringMaxN(self, *args): return _chilkat.CkSocket_receiveStringMaxN(self, *args)
- def get_SslProtocol(self, *args): return _chilkat.CkSocket_get_SslProtocol(self, *args)
- def sslProtocol(self): return _chilkat.CkSocket_sslProtocol(self)
- def put_SslProtocol(self, *args): return _chilkat.CkSocket_put_SslProtocol(self, *args)
- def SetSslClientCert(self, *args): return _chilkat.CkSocket_SetSslClientCert(self, *args)
- def get_ClientIpAddress(self, *args): return _chilkat.CkSocket_get_ClientIpAddress(self, *args)
- def clientIpAddress(self): return _chilkat.CkSocket_clientIpAddress(self)
- def put_ClientIpAddress(self, *args): return _chilkat.CkSocket_put_ClientIpAddress(self, *args)
- def SendCount(self, *args): return _chilkat.CkSocket_SendCount(self, *args)
- def ReceiveCount(self): return _chilkat.CkSocket_ReceiveCount(self)
- def get_LastMethodFailed(self): return _chilkat.CkSocket_get_LastMethodFailed(self)
- def ConvertToSsl(self): return _chilkat.CkSocket_ConvertToSsl(self)
- def ConvertFromSsl(self): return _chilkat.CkSocket_ConvertFromSsl(self)
- def get_SoSndBuf(self): return _chilkat.CkSocket_get_SoSndBuf(self)
- def put_SoSndBuf(self, *args): return _chilkat.CkSocket_put_SoSndBuf(self, *args)
- def get_SoRcvBuf(self): return _chilkat.CkSocket_get_SoRcvBuf(self)
- def put_SoRcvBuf(self, *args): return _chilkat.CkSocket_put_SoRcvBuf(self, *args)
- def get_ClientPort(self): return _chilkat.CkSocket_get_ClientPort(self)
- def put_ClientPort(self, *args): return _chilkat.CkSocket_put_ClientPort(self, *args)
- def get_LocalIpAddress(self, *args): return _chilkat.CkSocket_get_LocalIpAddress(self, *args)
- def localIpAddress(self): return _chilkat.CkSocket_localIpAddress(self)
- def get_LocalPort(self): return _chilkat.CkSocket_get_LocalPort(self)
- def get_SocksPort(self): return _chilkat.CkSocket_get_SocksPort(self)
- def put_SocksPort(self, *args): return _chilkat.CkSocket_put_SocksPort(self, *args)
- def get_SocksVersion(self): return _chilkat.CkSocket_get_SocksVersion(self)
- def put_SocksVersion(self, *args): return _chilkat.CkSocket_put_SocksVersion(self, *args)
- def get_SocksUsername(self, *args): return _chilkat.CkSocket_get_SocksUsername(self, *args)
- def socksUsername(self): return _chilkat.CkSocket_socksUsername(self)
- def put_SocksUsername(self, *args): return _chilkat.CkSocket_put_SocksUsername(self, *args)
- def get_SocksPassword(self, *args): return _chilkat.CkSocket_get_SocksPassword(self, *args)
- def socksPassword(self): return _chilkat.CkSocket_socksPassword(self)
- def put_SocksPassword(self, *args): return _chilkat.CkSocket_put_SocksPassword(self, *args)
- def get_SocksHostname(self, *args): return _chilkat.CkSocket_get_SocksHostname(self, *args)
- def socksHostname(self): return _chilkat.CkSocket_socksHostname(self)
- def put_SocksHostname(self, *args): return _chilkat.CkSocket_put_SocksHostname(self, *args)
- def CheckWriteable(self, *args): return _chilkat.CkSocket_CheckWriteable(self, *args)
- def SetSslClientCertPfx(self, *args): return _chilkat.CkSocket_SetSslClientCertPfx(self, *args)
- def get_TcpNoDelay(self): return _chilkat.CkSocket_get_TcpNoDelay(self)
- def put_TcpNoDelay(self, *args): return _chilkat.CkSocket_put_TcpNoDelay(self, *args)
- def get_BigEndian(self): return _chilkat.CkSocket_get_BigEndian(self)
- def put_BigEndian(self, *args): return _chilkat.CkSocket_put_BigEndian(self, *args)
- def PollDataAvailable(self): return _chilkat.CkSocket_PollDataAvailable(self)
- def get_VerboseLogging(self): return _chilkat.CkSocket_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkSocket_put_VerboseLogging(self, *args)
- def TakeSocket(self, *args): return _chilkat.CkSocket_TakeSocket(self, *args)
- def SelectForReading(self, *args): return _chilkat.CkSocket_SelectForReading(self, *args)
- def SelectForWriting(self, *args): return _chilkat.CkSocket_SelectForWriting(self, *args)
- def get_SelectorIndex(self): return _chilkat.CkSocket_get_SelectorIndex(self)
- def put_SelectorIndex(self, *args): return _chilkat.CkSocket_put_SelectorIndex(self, *args)
- def get_SelectorReadIndex(self): return _chilkat.CkSocket_get_SelectorReadIndex(self)
- def put_SelectorReadIndex(self, *args): return _chilkat.CkSocket_put_SelectorReadIndex(self, *args)
- def get_SelectorWriteIndex(self): return _chilkat.CkSocket_get_SelectorWriteIndex(self)
- def put_SelectorWriteIndex(self, *args): return _chilkat.CkSocket_put_SelectorWriteIndex(self, *args)
- def get_NumSocketsInSet(self): return _chilkat.CkSocket_get_NumSocketsInSet(self)
- def get_UserData(self, *args): return _chilkat.CkSocket_get_UserData(self, *args)
- def userData(self): return _chilkat.CkSocket_userData(self)
- def put_UserData(self, *args): return _chilkat.CkSocket_put_UserData(self, *args)
- def StartTiming(self): return _chilkat.CkSocket_StartTiming(self)
- def get_ElapsedSeconds(self): return _chilkat.CkSocket_get_ElapsedSeconds(self)
- def ReceiveBytesToFile(self, *args): return _chilkat.CkSocket_ReceiveBytesToFile(self, *args)
- def get_HttpProxyUsername(self, *args): return _chilkat.CkSocket_get_HttpProxyUsername(self, *args)
- def httpProxyUsername(self): return _chilkat.CkSocket_httpProxyUsername(self)
- def put_HttpProxyUsername(self, *args): return _chilkat.CkSocket_put_HttpProxyUsername(self, *args)
- def get_HttpProxyPassword(self, *args): return _chilkat.CkSocket_get_HttpProxyPassword(self, *args)
- def httpProxyPassword(self): return _chilkat.CkSocket_httpProxyPassword(self)
- def put_HttpProxyPassword(self, *args): return _chilkat.CkSocket_put_HttpProxyPassword(self, *args)
- def get_HttpProxyAuthMethod(self, *args): return _chilkat.CkSocket_get_HttpProxyAuthMethod(self, *args)
- def httpProxyAuthMethod(self): return _chilkat.CkSocket_httpProxyAuthMethod(self)
- def put_HttpProxyAuthMethod(self, *args): return _chilkat.CkSocket_put_HttpProxyAuthMethod(self, *args)
- def get_HttpProxyHostname(self, *args): return _chilkat.CkSocket_get_HttpProxyHostname(self, *args)
- def httpProxyHostname(self): return _chilkat.CkSocket_httpProxyHostname(self)
- def put_HttpProxyHostname(self, *args): return _chilkat.CkSocket_put_HttpProxyHostname(self, *args)
- def get_HttpProxyPort(self): return _chilkat.CkSocket_get_HttpProxyPort(self)
- def put_HttpProxyPort(self, *args): return _chilkat.CkSocket_put_HttpProxyPort(self, *args)
- def get_NumSslAcceptableClientCAs(self): return _chilkat.CkSocket_get_NumSslAcceptableClientCAs(self)
- def GetSslAcceptableClientCaDn(self, *args): return _chilkat.CkSocket_GetSslAcceptableClientCaDn(self, *args)
- def getSslAcceptableClientCaDn(self, *args): return _chilkat.CkSocket_getSslAcceptableClientCaDn(self, *args)
- def AddSslAcceptableClientCaDn(self, *args): return _chilkat.CkSocket_AddSslAcceptableClientCaDn(self, *args)
- def get_ReceivedCount(self): return _chilkat.CkSocket_get_ReceivedCount(self)
- def put_ReceivedCount(self, *args): return _chilkat.CkSocket_put_ReceivedCount(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkSocket_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkSocket_IsUnlocked(self)
- def AsyncSendBytes(self, *args): return _chilkat.CkSocket_AsyncSendBytes(self, *args)
- def AsyncSendString(self, *args): return _chilkat.CkSocket_AsyncSendString(self, *args)
- def get_AsyncSendFinished(self): return _chilkat.CkSocket_get_AsyncSendFinished(self)
- def AsyncSendAbort(self): return _chilkat.CkSocket_AsyncSendAbort(self)
- def get_AsyncSendLog(self, *args): return _chilkat.CkSocket_get_AsyncSendLog(self, *args)
- def get_AsyncSendSuccess(self): return _chilkat.CkSocket_get_AsyncSendSuccess(self)
- def AsyncReceiveBytes(self): return _chilkat.CkSocket_AsyncReceiveBytes(self)
- def AsyncReceiveBytesN(self, *args): return _chilkat.CkSocket_AsyncReceiveBytesN(self, *args)
- def AsyncReceiveString(self): return _chilkat.CkSocket_AsyncReceiveString(self)
- def AsyncReceiveToCRLF(self): return _chilkat.CkSocket_AsyncReceiveToCRLF(self)
- def AsyncReceiveUntilMatch(self, *args): return _chilkat.CkSocket_AsyncReceiveUntilMatch(self, *args)
- def get_AsyncReceiveFinished(self): return _chilkat.CkSocket_get_AsyncReceiveFinished(self)
- def AsyncReceiveAbort(self): return _chilkat.CkSocket_AsyncReceiveAbort(self)
- def get_AsyncReceiveLog(self, *args): return _chilkat.CkSocket_get_AsyncReceiveLog(self, *args)
- def get_AsyncReceiveSuccess(self): return _chilkat.CkSocket_get_AsyncReceiveSuccess(self)
- def get_AsyncReceivedString(self, *args): return _chilkat.CkSocket_get_AsyncReceivedString(self, *args)
- def get_AsyncReceivedBytes(self, *args): return _chilkat.CkSocket_get_AsyncReceivedBytes(self, *args)
- def asyncReceivedString(self): return _chilkat.CkSocket_asyncReceivedString(self)
- def asyncReceiveLog(self): return _chilkat.CkSocket_asyncReceiveLog(self)
- def asyncSendLog(self): return _chilkat.CkSocket_asyncSendLog(self)
- def SleepMs(self, *args): return _chilkat.CkSocket_SleepMs(self, *args)
- def Close(self, *args): return _chilkat.CkSocket_Close(self, *args)
- def get_ObjectId(self): return _chilkat.CkSocket_get_ObjectId(self)
- def SaveLastError(self, *args): return _chilkat.CkSocket_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkSocket_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkSocket_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkSocket_LastErrorText(self, *args)
- def get_Version(self, *args): return _chilkat.CkSocket_get_Version(self, *args)
- def AsyncDnsStart(self, *args): return _chilkat.CkSocket_AsyncDnsStart(self, *args)
- def get_AsyncDnsFinished(self): return _chilkat.CkSocket_get_AsyncDnsFinished(self)
- def get_AsyncDnsResult(self, *args): return _chilkat.CkSocket_get_AsyncDnsResult(self, *args)
- def AsyncDnsAbort(self): return _chilkat.CkSocket_AsyncDnsAbort(self)
- def get_AsyncDnsLog(self, *args): return _chilkat.CkSocket_get_AsyncDnsLog(self, *args)
- def get_AsyncDnsSuccess(self): return _chilkat.CkSocket_get_AsyncDnsSuccess(self)
- def AsyncConnectStart(self, *args): return _chilkat.CkSocket_AsyncConnectStart(self, *args)
- def get_AsyncConnectFinished(self): return _chilkat.CkSocket_get_AsyncConnectFinished(self)
- def AsyncConnectAbort(self): return _chilkat.CkSocket_AsyncConnectAbort(self)
- def get_AsyncConnectLog(self, *args): return _chilkat.CkSocket_get_AsyncConnectLog(self, *args)
- def get_AsyncConnectSuccess(self): return _chilkat.CkSocket_get_AsyncConnectSuccess(self)
- def get_MyIpAddress(self, *args): return _chilkat.CkSocket_get_MyIpAddress(self, *args)
- def BindAndListen(self, *args): return _chilkat.CkSocket_BindAndListen(self, *args)
- def Connect(self, *args): return _chilkat.CkSocket_Connect(self, *args)
- def AcceptNextConnection(self, *args): return _chilkat.CkSocket_AcceptNextConnection(self, *args)
- def get_Ssl(self): return _chilkat.CkSocket_get_Ssl(self)
- def put_Ssl(self, *args): return _chilkat.CkSocket_put_Ssl(self, *args)
- def InitSslServer(self, *args): return _chilkat.CkSocket_InitSslServer(self, *args)
- def get_ConnectFailReason(self): return _chilkat.CkSocket_get_ConnectFailReason(self)
- def get_HeartbeatMs(self): return _chilkat.CkSocket_get_HeartbeatMs(self)
- def put_HeartbeatMs(self, *args): return _chilkat.CkSocket_put_HeartbeatMs(self, *args)
- def get_MaxSendIdleMs(self): return _chilkat.CkSocket_get_MaxSendIdleMs(self)
- def put_MaxSendIdleMs(self, *args): return _chilkat.CkSocket_put_MaxSendIdleMs(self, *args)
- def get_MaxReadIdleMs(self): return _chilkat.CkSocket_get_MaxReadIdleMs(self)
- def put_MaxReadIdleMs(self, *args): return _chilkat.CkSocket_put_MaxReadIdleMs(self, *args)
- def get_StringCharset(self, *args): return _chilkat.CkSocket_get_StringCharset(self, *args)
- def put_StringCharset(self, *args): return _chilkat.CkSocket_put_StringCharset(self, *args)
- def get_DebugDnsDelayMs(self): return _chilkat.CkSocket_get_DebugDnsDelayMs(self)
- def put_DebugDnsDelayMs(self, *args): return _chilkat.CkSocket_put_DebugDnsDelayMs(self, *args)
- def get_DebugConnectDelayMs(self): return _chilkat.CkSocket_get_DebugConnectDelayMs(self)
- def put_DebugConnectDelayMs(self, *args): return _chilkat.CkSocket_put_DebugConnectDelayMs(self, *args)
- def get_IsConnected(self): return _chilkat.CkSocket_get_IsConnected(self)
- def get_RemotePort(self): return _chilkat.CkSocket_get_RemotePort(self)
- def get_RemoteIpAddress(self, *args): return _chilkat.CkSocket_get_RemoteIpAddress(self, *args)
- def AsyncAcceptStart(self, *args): return _chilkat.CkSocket_AsyncAcceptStart(self, *args)
- def get_AsyncAcceptFinished(self): return _chilkat.CkSocket_get_AsyncAcceptFinished(self)
- def AsyncAcceptAbort(self): return _chilkat.CkSocket_AsyncAcceptAbort(self)
- def get_AsyncAcceptLog(self, *args): return _chilkat.CkSocket_get_AsyncAcceptLog(self, *args)
- def get_AsyncAcceptSuccess(self): return _chilkat.CkSocket_get_AsyncAcceptSuccess(self)
- def AsyncAcceptSocket(self): return _chilkat.CkSocket_AsyncAcceptSocket(self)
- def BuildHttpGetRequest(self, *args): return _chilkat.CkSocket_BuildHttpGetRequest(self, *args)
- def get_SendPacketSize(self): return _chilkat.CkSocket_get_SendPacketSize(self)
- def put_SendPacketSize(self, *args): return _chilkat.CkSocket_put_SendPacketSize(self, *args)
- def get_ReceivePacketSize(self): return _chilkat.CkSocket_get_ReceivePacketSize(self)
- def put_ReceivePacketSize(self, *args): return _chilkat.CkSocket_put_ReceivePacketSize(self, *args)
- def SendString(self, *args): return _chilkat.CkSocket_SendString(self, *args)
- def SendBytes(self, *args): return _chilkat.CkSocket_SendBytes(self, *args)
- def ReceiveString(self, *args): return _chilkat.CkSocket_ReceiveString(self, *args)
- def ReceiveUntilMatch(self, *args): return _chilkat.CkSocket_ReceiveUntilMatch(self, *args)
- def ReceiveBytes(self, *args): return _chilkat.CkSocket_ReceiveBytes(self, *args)
- def ReceiveBytesN(self, *args): return _chilkat.CkSocket_ReceiveBytesN(self, *args)
- def stringCharset(self): return _chilkat.CkSocket_stringCharset(self)
- def remoteIpAddress(self): return _chilkat.CkSocket_remoteIpAddress(self)
- def asyncAcceptLog(self): return _chilkat.CkSocket_asyncAcceptLog(self)
- def buildHttpGetRequest(self, *args): return _chilkat.CkSocket_buildHttpGetRequest(self, *args)
- def receiveString(self): return _chilkat.CkSocket_receiveString(self)
- def receiveUntilMatch(self, *args): return _chilkat.CkSocket_receiveUntilMatch(self, *args)
- def lastErrorText(self): return _chilkat.CkSocket_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkSocket_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkSocket_lastErrorHtml(self)
- def asyncDnsResult(self): return _chilkat.CkSocket_asyncDnsResult(self)
- def asyncDnsLog(self): return _chilkat.CkSocket_asyncDnsLog(self)
- def asyncConnectLog(self): return _chilkat.CkSocket_asyncConnectLog(self)
- def myIpAddress(self): return _chilkat.CkSocket_myIpAddress(self)
- def version(self): return _chilkat.CkSocket_version(self)
-CkSocket_swigregister = _chilkat.CkSocket_swigregister
-CkSocket_swigregister(CkSocket)
-
-class CkOmaDrm(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkOmaDrm, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkOmaDrm, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkOmaDrm()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkOmaDrm
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkOmaDrm_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkOmaDrm_put_Utf8(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkOmaDrm_UnlockComponent(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkOmaDrm_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkOmaDrm_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkOmaDrm_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkOmaDrm_LastErrorText(self, *args)
- def LoadDcfFile(self, *args): return _chilkat.CkOmaDrm_LoadDcfFile(self, *args)
- def LoadDcfData(self, *args): return _chilkat.CkOmaDrm_LoadDcfData(self, *args)
- def get_Base64Key(self, *args): return _chilkat.CkOmaDrm_get_Base64Key(self, *args)
- def put_Base64Key(self, *args): return _chilkat.CkOmaDrm_put_Base64Key(self, *args)
- def get_DrmContentVersion(self): return _chilkat.CkOmaDrm_get_DrmContentVersion(self)
- def get_ContentType(self, *args): return _chilkat.CkOmaDrm_get_ContentType(self, *args)
- def put_ContentType(self, *args): return _chilkat.CkOmaDrm_put_ContentType(self, *args)
- def get_ContentUri(self, *args): return _chilkat.CkOmaDrm_get_ContentUri(self, *args)
- def put_ContentUri(self, *args): return _chilkat.CkOmaDrm_put_ContentUri(self, *args)
- def get_Headers(self, *args): return _chilkat.CkOmaDrm_get_Headers(self, *args)
- def put_Headers(self, *args): return _chilkat.CkOmaDrm_put_Headers(self, *args)
- def get_IV(self, *args): return _chilkat.CkOmaDrm_get_IV(self, *args)
- def put_IV(self, *args): return _chilkat.CkOmaDrm_put_IV(self, *args)
- def get_EncryptedData(self, *args): return _chilkat.CkOmaDrm_get_EncryptedData(self, *args)
- def get_DecryptedData(self, *args): return _chilkat.CkOmaDrm_get_DecryptedData(self, *args)
- def SaveDecrypted(self, *args): return _chilkat.CkOmaDrm_SaveDecrypted(self, *args)
- def GetHeaderField(self, *args): return _chilkat.CkOmaDrm_GetHeaderField(self, *args)
- def LoadUnencryptedData(self, *args): return _chilkat.CkOmaDrm_LoadUnencryptedData(self, *args)
- def LoadUnencryptedFile(self, *args): return _chilkat.CkOmaDrm_LoadUnencryptedFile(self, *args)
- def SetEncodedIV(self, *args): return _chilkat.CkOmaDrm_SetEncodedIV(self, *args)
- def CreateDcfFile(self, *args): return _chilkat.CkOmaDrm_CreateDcfFile(self, *args)
- def lastErrorText(self): return _chilkat.CkOmaDrm_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkOmaDrm_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkOmaDrm_lastErrorHtml(self)
- def base64Key(self): return _chilkat.CkOmaDrm_base64Key(self)
- def contentType(self): return _chilkat.CkOmaDrm_contentType(self)
- def contentUri(self): return _chilkat.CkOmaDrm_contentUri(self)
- def headers(self): return _chilkat.CkOmaDrm_headers(self)
- def getHeaderField(self, *args): return _chilkat.CkOmaDrm_getHeaderField(self, *args)
-CkOmaDrm_swigregister = _chilkat.CkOmaDrm_swigregister
-CkOmaDrm_swigregister(CkOmaDrm)
-
-class CkXmp(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkXmp, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkXmp, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkXmp()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkXmp
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkXmp_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkXmp_put_Utf8(self, *args)
- def lastErrorText(self): return _chilkat.CkXmp_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkXmp_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkXmp_lastErrorHtml(self)
- def getSimpleStr(self, *args): return _chilkat.CkXmp_getSimpleStr(self, *args)
- def getStructValue(self, *args): return _chilkat.CkXmp_getStructValue(self, *args)
- def simpleStr(self, *args): return _chilkat.CkXmp_simpleStr(self, *args)
- def structValue(self, *args): return _chilkat.CkXmp_structValue(self, *args)
- def version(self): return _chilkat.CkXmp_version(self)
- def dateToString(self, *args): return _chilkat.CkXmp_dateToString(self, *args)
- def LoadFromBuffer(self, *args): return _chilkat.CkXmp_LoadFromBuffer(self, *args)
- def SaveToBuffer(self, *args): return _chilkat.CkXmp_SaveToBuffer(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkXmp_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkXmp_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkXmp_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkXmp_LastErrorText(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkXmp_UnlockComponent(self, *args)
- def get_Version(self, *args): return _chilkat.CkXmp_get_Version(self, *args)
- def get_NumEmbedded(self): return _chilkat.CkXmp_get_NumEmbedded(self)
- def LoadAppFile(self, *args): return _chilkat.CkXmp_LoadAppFile(self, *args)
- def SaveAppFile(self, *args): return _chilkat.CkXmp_SaveAppFile(self, *args)
- def GetEmbedded(self, *args): return _chilkat.CkXmp_GetEmbedded(self, *args)
- def GetSimpleStr(self, *args): return _chilkat.CkXmp_GetSimpleStr(self, *args)
- def GetSimpleInt(self, *args): return _chilkat.CkXmp_GetSimpleInt(self, *args)
- def GetSimpleDate(self, *args): return _chilkat.CkXmp_GetSimpleDate(self, *args)
- def AddSimpleStr(self, *args): return _chilkat.CkXmp_AddSimpleStr(self, *args)
- def AddSimpleInt(self, *args): return _chilkat.CkXmp_AddSimpleInt(self, *args)
- def AddSimpleDate(self, *args): return _chilkat.CkXmp_AddSimpleDate(self, *args)
- def AddNsMapping(self, *args): return _chilkat.CkXmp_AddNsMapping(self, *args)
- def RemoveNsMapping(self, *args): return _chilkat.CkXmp_RemoveNsMapping(self, *args)
- def NewXmp(self, *args): return _chilkat.CkXmp_NewXmp(self, *args)
- def StringToDate(self, *args): return _chilkat.CkXmp_StringToDate(self, *args)
- def DateToString(self, *args): return _chilkat.CkXmp_DateToString(self, *args)
- def RemoveSimple(self, *args): return _chilkat.CkXmp_RemoveSimple(self, *args)
- def Append(self, *args): return _chilkat.CkXmp_Append(self, *args)
- def RemoveAllEmbedded(self): return _chilkat.CkXmp_RemoveAllEmbedded(self)
- def RemoveEmbedded(self, *args): return _chilkat.CkXmp_RemoveEmbedded(self, *args)
- def get_StructInnerDescrip(self): return _chilkat.CkXmp_get_StructInnerDescrip(self)
- def put_StructInnerDescrip(self, *args): return _chilkat.CkXmp_put_StructInnerDescrip(self, *args)
- def GetArray(self, *args): return _chilkat.CkXmp_GetArray(self, *args)
- def RemoveArray(self, *args): return _chilkat.CkXmp_RemoveArray(self, *args)
- def AddArray(self, *args): return _chilkat.CkXmp_AddArray(self, *args)
- def GetStructValue(self, *args): return _chilkat.CkXmp_GetStructValue(self, *args)
- def GetStructPropNames(self, *args): return _chilkat.CkXmp_GetStructPropNames(self, *args)
- def RemoveStruct(self, *args): return _chilkat.CkXmp_RemoveStruct(self, *args)
- def RemoveStructProp(self, *args): return _chilkat.CkXmp_RemoveStructProp(self, *args)
- def AddStructProp(self, *args): return _chilkat.CkXmp_AddStructProp(self, *args)
-CkXmp_swigregister = _chilkat.CkXmp_swigregister
-CkXmp_swigregister(CkXmp)
-
-class CkStringArray(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkStringArray, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkStringArray, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkStringArray()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkStringArray
- __del__ = lambda self : None;
- def strAt(self, *args): return _chilkat.CkStringArray_strAt(self, *args)
- def getString(self, *args): return _chilkat.CkStringArray_getString(self, *args)
- def serialize(self): return _chilkat.CkStringArray_serialize(self)
- def pop(self): return _chilkat.CkStringArray_pop(self)
- def lastStr(self): return _chilkat.CkStringArray_lastStr(self)
- def LoadFromText(self, *args): return _chilkat.CkStringArray_LoadFromText(self, *args)
- def SaveNthToFile(self, *args): return _chilkat.CkStringArray_SaveNthToFile(self, *args)
- def SaveToText(self, *args): return _chilkat.CkStringArray_SaveToText(self, *args)
- def saveToText(self): return _chilkat.CkStringArray_saveToText(self)
- def FindFirstMatch(self, *args): return _chilkat.CkStringArray_FindFirstMatch(self, *args)
- def Union(self, *args): return _chilkat.CkStringArray_Union(self, *args)
- def GetStringLen(self, *args): return _chilkat.CkStringArray_GetStringLen(self, *args)
- def get_Utf8(self): return _chilkat.CkStringArray_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkStringArray_put_Utf8(self, *args)
- def SplitAndAppend(self, *args): return _chilkat.CkStringArray_SplitAndAppend(self, *args)
- def Append(self, *args): return _chilkat.CkStringArray_Append(self, *args)
- def get_Count(self): return _chilkat.CkStringArray_get_Count(self)
- def LoadFromFile(self, *args): return _chilkat.CkStringArray_LoadFromFile(self, *args)
- def SaveToFile(self, *args): return _chilkat.CkStringArray_SaveToFile(self, *args)
- def Pop(self, *args): return _chilkat.CkStringArray_Pop(self, *args)
- def LastString(self, *args): return _chilkat.CkStringArray_LastString(self, *args)
- def RemoveAt(self, *args): return _chilkat.CkStringArray_RemoveAt(self, *args)
- def InsertAt(self, *args): return _chilkat.CkStringArray_InsertAt(self, *args)
- def Find(self, *args): return _chilkat.CkStringArray_Find(self, *args)
- def Prepend(self, *args): return _chilkat.CkStringArray_Prepend(self, *args)
- def get_Crlf(self): return _chilkat.CkStringArray_get_Crlf(self)
- def put_Crlf(self, *args): return _chilkat.CkStringArray_put_Crlf(self, *args)
- def get_Trim(self): return _chilkat.CkStringArray_get_Trim(self)
- def put_Trim(self, *args): return _chilkat.CkStringArray_put_Trim(self, *args)
- def get_Unique(self): return _chilkat.CkStringArray_get_Unique(self)
- def put_Unique(self, *args): return _chilkat.CkStringArray_put_Unique(self, *args)
- def Serialize(self, *args): return _chilkat.CkStringArray_Serialize(self, *args)
- def AppendSerialized(self, *args): return _chilkat.CkStringArray_AppendSerialized(self, *args)
- def GetString(self, *args): return _chilkat.CkStringArray_GetString(self, *args)
- def Remove(self, *args): return _chilkat.CkStringArray_Remove(self, *args)
- def Contains(self, *args): return _chilkat.CkStringArray_Contains(self, *args)
- def Clear(self): return _chilkat.CkStringArray_Clear(self)
- def Sort(self, *args): return _chilkat.CkStringArray_Sort(self, *args)
-CkStringArray_swigregister = _chilkat.CkStringArray_swigregister
-CkStringArray_swigregister(CkStringArray)
-
-class CkZipCrc(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkZipCrc, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkZipCrc, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkZipCrc()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkZipCrc
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkZipCrc_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkZipCrc_put_Utf8(self, *args)
- def ToHex(self, *args): return _chilkat.CkZipCrc_ToHex(self, *args)
- def FileCrc(self, *args): return _chilkat.CkZipCrc_FileCrc(self, *args)
- def CalculateCrc(self, *args): return _chilkat.CkZipCrc_CalculateCrc(self, *args)
- def MoreData(self, *args): return _chilkat.CkZipCrc_MoreData(self, *args)
- def EndStream(self): return _chilkat.CkZipCrc_EndStream(self)
- def BeginStream(self): return _chilkat.CkZipCrc_BeginStream(self)
- def toHex(self, *args): return _chilkat.CkZipCrc_toHex(self, *args)
-CkZipCrc_swigregister = _chilkat.CkZipCrc_swigregister
-CkZipCrc_swigregister(CkZipCrc)
-
-class CkZip(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkZip, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkZip, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkZip()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkZip
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkZip_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkZip_put_Utf8(self, *args)
- def get_ExeWaitForSetup(self): return _chilkat.CkZip_get_ExeWaitForSetup(self)
- def put_ExeWaitForSetup(self, *args): return _chilkat.CkZip_put_ExeWaitForSetup(self, *args)
- def get_FileCount(self): return _chilkat.CkZip_get_FileCount(self)
- def get_HasZipFormatErrors(self): return _chilkat.CkZip_get_HasZipFormatErrors(self)
- def get_TextFlag(self): return _chilkat.CkZip_get_TextFlag(self)
- def put_TextFlag(self, *args): return _chilkat.CkZip_put_TextFlag(self, *args)
- def ExtractInto(self, *args): return _chilkat.CkZip_ExtractInto(self, *args)
- def get_CaseSensitive(self): return _chilkat.CkZip_get_CaseSensitive(self)
- def put_CaseSensitive(self, *args): return _chilkat.CkZip_put_CaseSensitive(self, *args)
- def VerifyPassword(self): return _chilkat.CkZip_VerifyPassword(self)
- def WriteExeToMemory(self, *args): return _chilkat.CkZip_WriteExeToMemory(self, *args)
- def get_OverwriteExisting(self): return _chilkat.CkZip_get_OverwriteExisting(self)
- def put_OverwriteExisting(self, *args): return _chilkat.CkZip_put_OverwriteExisting(self, *args)
- def AddNoCompressExtension(self, *args): return _chilkat.CkZip_AddNoCompressExtension(self, *args)
- def RemoveNoCompressExtension(self, *args): return _chilkat.CkZip_RemoveNoCompressExtension(self, *args)
- def IsNoCompressExtension(self, *args): return _chilkat.CkZip_IsNoCompressExtension(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkZip_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkZip_put_VerboseLogging(self, *args)
- def get_IgnoreAccessDenied(self): return _chilkat.CkZip_get_IgnoreAccessDenied(self)
- def put_IgnoreAccessDenied(self, *args): return _chilkat.CkZip_put_IgnoreAccessDenied(self, *args)
- def get_ClearReadOnlyAttr(self): return _chilkat.CkZip_get_ClearReadOnlyAttr(self)
- def put_ClearReadOnlyAttr(self, *args): return _chilkat.CkZip_put_ClearReadOnlyAttr(self, *args)
- def lastErrorText(self): return _chilkat.CkZip_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkZip_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkZip_lastErrorHtml(self)
- def QuickAppend(self, *args): return _chilkat.CkZip_QuickAppend(self, *args)
- def SetExeConfigParam(self, *args): return _chilkat.CkZip_SetExeConfigParam(self, *args)
- def GetExeConfigParam(self, *args): return _chilkat.CkZip_GetExeConfigParam(self, *args)
- def getExeConfigParam(self, *args): return _chilkat.CkZip_getExeConfigParam(self, *args)
- def get_ExeXmlConfig(self, *args): return _chilkat.CkZip_get_ExeXmlConfig(self, *args)
- def put_ExeXmlConfig(self, *args): return _chilkat.CkZip_put_ExeXmlConfig(self, *args)
- def exeXmlConfig(self): return _chilkat.CkZip_exeXmlConfig(self)
- def get_ExeSourceUrl(self, *args): return _chilkat.CkZip_get_ExeSourceUrl(self, *args)
- def put_ExeSourceUrl(self, *args): return _chilkat.CkZip_put_ExeSourceUrl(self, *args)
- def exeSourceUrl(self): return _chilkat.CkZip_exeSourceUrl(self)
- def get_ExeDefaultDir(self, *args): return _chilkat.CkZip_get_ExeDefaultDir(self, *args)
- def put_ExeDefaultDir(self, *args): return _chilkat.CkZip_put_ExeDefaultDir(self, *args)
- def put_ExeFinishNotifier(self, *args): return _chilkat.CkZip_put_ExeFinishNotifier(self, *args)
- def get_ExeFinishNotifier(self): return _chilkat.CkZip_get_ExeFinishNotifier(self)
- def put_ExeSilentProgress(self, *args): return _chilkat.CkZip_put_ExeSilentProgress(self, *args)
- def get_ExeSilentProgress(self): return _chilkat.CkZip_get_ExeSilentProgress(self)
- def version(self): return _chilkat.CkZip_version(self)
- def tempDir(self): return _chilkat.CkZip_tempDir(self)
- def appendFromDir(self): return _chilkat.CkZip_appendFromDir(self)
- def proxy(self): return _chilkat.CkZip_proxy(self)
- def autoRun(self): return _chilkat.CkZip_autoRun(self)
- def autoRunParams(self): return _chilkat.CkZip_autoRunParams(self)
- def exeTitle(self): return _chilkat.CkZip_exeTitle(self)
- def exeUnzipCaption(self): return _chilkat.CkZip_exeUnzipCaption(self)
- def exeUnzipDir(self): return _chilkat.CkZip_exeUnzipDir(self)
- def exeDefaultDir(self): return _chilkat.CkZip_exeDefaultDir(self)
- def exeIconFile(self): return _chilkat.CkZip_exeIconFile(self)
- def fileName(self): return _chilkat.CkZip_fileName(self)
- def pathPrefix(self): return _chilkat.CkZip_pathPrefix(self)
- def getDirectoryAsXML(self): return _chilkat.CkZip_getDirectoryAsXML(self)
- def get_PasswordProtect(self): return _chilkat.CkZip_get_PasswordProtect(self)
- def put_PasswordProtect(self, *args): return _chilkat.CkZip_put_PasswordProtect(self, *args)
- def get_Encryption(self): return _chilkat.CkZip_get_Encryption(self)
- def put_Encryption(self, *args): return _chilkat.CkZip_put_Encryption(self, *args)
- def get_OemCodePage(self): return _chilkat.CkZip_get_OemCodePage(self)
- def put_OemCodePage(self, *args): return _chilkat.CkZip_put_OemCodePage(self, *args)
- def get_EncryptKeyLength(self): return _chilkat.CkZip_get_EncryptKeyLength(self)
- def put_EncryptKeyLength(self, *args): return _chilkat.CkZip_put_EncryptKeyLength(self, *args)
- def get_Version(self, *args): return _chilkat.CkZip_get_Version(self, *args)
- def get_TempDir(self, *args): return _chilkat.CkZip_get_TempDir(self, *args)
- def put_TempDir(self, *args): return _chilkat.CkZip_put_TempDir(self, *args)
- def get_AppendFromDir(self, *args): return _chilkat.CkZip_get_AppendFromDir(self, *args)
- def put_AppendFromDir(self, *args): return _chilkat.CkZip_put_AppendFromDir(self, *args)
- def get_Proxy(self, *args): return _chilkat.CkZip_get_Proxy(self, *args)
- def put_Proxy(self, *args): return _chilkat.CkZip_put_Proxy(self, *args)
- def get_DecryptPassword(self, *args): return _chilkat.CkZip_get_DecryptPassword(self, *args)
- def put_DecryptPassword(self, *args): return _chilkat.CkZip_put_DecryptPassword(self, *args)
- def get_EncryptPassword(self, *args): return _chilkat.CkZip_get_EncryptPassword(self, *args)
- def put_EncryptPassword(self, *args): return _chilkat.CkZip_put_EncryptPassword(self, *args)
- def encryptPassword(self): return _chilkat.CkZip_encryptPassword(self)
- def decryptPassword(self): return _chilkat.CkZip_decryptPassword(self)
- def get_AutoRun(self, *args): return _chilkat.CkZip_get_AutoRun(self, *args)
- def put_AutoRun(self, *args): return _chilkat.CkZip_put_AutoRun(self, *args)
- def get_AutoTemp(self): return _chilkat.CkZip_get_AutoTemp(self)
- def put_AutoTemp(self, *args): return _chilkat.CkZip_put_AutoTemp(self, *args)
- def get_ExeNoInterface(self): return _chilkat.CkZip_get_ExeNoInterface(self)
- def put_ExeNoInterface(self, *args): return _chilkat.CkZip_put_ExeNoInterface(self, *args)
- def get_AutoRunParams(self, *args): return _chilkat.CkZip_get_AutoRunParams(self, *args)
- def put_AutoRunParams(self, *args): return _chilkat.CkZip_put_AutoRunParams(self, *args)
- def get_ExeTitle(self, *args): return _chilkat.CkZip_get_ExeTitle(self, *args)
- def put_ExeTitle(self, *args): return _chilkat.CkZip_put_ExeTitle(self, *args)
- def get_ExeUnzipCaption(self, *args): return _chilkat.CkZip_get_ExeUnzipCaption(self, *args)
- def put_ExeUnzipCaption(self, *args): return _chilkat.CkZip_put_ExeUnzipCaption(self, *args)
- def get_ExeUnzipDir(self, *args): return _chilkat.CkZip_get_ExeUnzipDir(self, *args)
- def put_ExeUnzipDir(self, *args): return _chilkat.CkZip_put_ExeUnzipDir(self, *args)
- def get_ExeIconFile(self, *args): return _chilkat.CkZip_get_ExeIconFile(self, *args)
- def put_ExeIconFile(self, *args): return _chilkat.CkZip_put_ExeIconFile(self, *args)
- def get_ClearArchiveAttribute(self): return _chilkat.CkZip_get_ClearArchiveAttribute(self)
- def put_ClearArchiveAttribute(self, *args): return _chilkat.CkZip_put_ClearArchiveAttribute(self, *args)
- def get_NumEntries(self): return _chilkat.CkZip_get_NumEntries(self)
- def get_FileName(self, *args): return _chilkat.CkZip_get_FileName(self, *args)
- def put_FileName(self, *args): return _chilkat.CkZip_put_FileName(self, *args)
- def get_Comment(self, *args): return _chilkat.CkZip_get_Comment(self, *args)
- def put_Comment(self, *args): return _chilkat.CkZip_put_Comment(self, *args)
- def get_PathPrefix(self, *args): return _chilkat.CkZip_get_PathPrefix(self, *args)
- def put_PathPrefix(self, *args): return _chilkat.CkZip_put_PathPrefix(self, *args)
- def get_DiscardPaths(self): return _chilkat.CkZip_get_DiscardPaths(self)
- def put_DiscardPaths(self, *args): return _chilkat.CkZip_put_DiscardPaths(self, *args)
- def FirstEntry(self): return _chilkat.CkZip_FirstEntry(self)
- def ExcludeDir(self, *args): return _chilkat.CkZip_ExcludeDir(self, *args)
- def IsPasswordProtected(self, *args): return _chilkat.CkZip_IsPasswordProtected(self, *args)
- def OpenFromMemory(self, *args): return _chilkat.CkZip_OpenFromMemory(self, *args)
- def OpenEmbedded(self, *args): return _chilkat.CkZip_OpenEmbedded(self, *args)
- def AddEmbedded(self, *args): return _chilkat.CkZip_AddEmbedded(self, *args)
- def AddEmbeddedFromMemory(self, *args): return _chilkat.CkZip_AddEmbeddedFromMemory(self, *args)
- def ReplaceEmbedded(self, *args): return _chilkat.CkZip_ReplaceEmbedded(self, *args)
- def RemoveEmbedded(self, *args): return _chilkat.CkZip_RemoveEmbedded(self, *args)
- def SetPassword(self, *args): return _chilkat.CkZip_SetPassword(self, *args)
- def SetExclusions(self, *args): return _chilkat.CkZip_SetExclusions(self, *args)
- def GetExclusions(self): return _chilkat.CkZip_GetExclusions(self)
- def FirstMatchingEntry(self, *args): return _chilkat.CkZip_FirstMatchingEntry(self, *args)
- def GetDirectoryAsXML(self, *args): return _chilkat.CkZip_GetDirectoryAsXML(self, *args)
- def ExtractMatching(self, *args): return _chilkat.CkZip_ExtractMatching(self, *args)
- def GetEntryByID(self, *args): return _chilkat.CkZip_GetEntryByID(self, *args)
- def WriteZip(self): return _chilkat.CkZip_WriteZip(self)
- def WriteZipAndClose(self): return _chilkat.CkZip_WriteZipAndClose(self)
- def OpenZip(self, *args): return _chilkat.CkZip_OpenZip(self, *args)
- def OpenFromWeb(self, *args): return _chilkat.CkZip_OpenFromWeb(self, *args)
- def NewZip(self, *args): return _chilkat.CkZip_NewZip(self, *args)
- def GetEntryByName(self, *args): return _chilkat.CkZip_GetEntryByName(self, *args)
- def GetEntryByIndex(self, *args): return _chilkat.CkZip_GetEntryByIndex(self, *args)
- def Extract(self, *args): return _chilkat.CkZip_Extract(self, *args)
- def ExtractNewer(self, *args): return _chilkat.CkZip_ExtractNewer(self, *args)
- def AppendZip(self, *args): return _chilkat.CkZip_AppendZip(self, *args)
- def AppendOneFileOrDir(self, *args): return _chilkat.CkZip_AppendOneFileOrDir(self, *args)
- def AppendFiles(self, *args): return _chilkat.CkZip_AppendFiles(self, *args)
- def AppendFilesEx(self, *args): return _chilkat.CkZip_AppendFilesEx(self, *args)
- def AppendMultiple(self, *args): return _chilkat.CkZip_AppendMultiple(self, *args)
- def AppendData(self, *args): return _chilkat.CkZip_AppendData(self, *args)
- def AppendString(self, *args): return _chilkat.CkZip_AppendString(self, *args)
- def AppendString2(self, *args): return _chilkat.CkZip_AppendString2(self, *args)
- def AppendNew(self, *args): return _chilkat.CkZip_AppendNew(self, *args)
- def AppendNewDir(self, *args): return _chilkat.CkZip_AppendNewDir(self, *args)
- def InsertNew(self, *args): return _chilkat.CkZip_InsertNew(self, *args)
- def AppendCompressed(self, *args): return _chilkat.CkZip_AppendCompressed(self, *args)
- def DeleteEntry(self, *args): return _chilkat.CkZip_DeleteEntry(self, *args)
- def AppendBase64(self, *args): return _chilkat.CkZip_AppendBase64(self, *args)
- def AppendHex(self, *args): return _chilkat.CkZip_AppendHex(self, *args)
- def WriteExe(self, *args): return _chilkat.CkZip_WriteExe(self, *args)
- def WriteToMemory(self, *args): return _chilkat.CkZip_WriteToMemory(self, *args)
- def CloseZip(self): return _chilkat.CkZip_CloseZip(self)
- def UnlockComponent(self, *args): return _chilkat.CkZip_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkZip_IsUnlocked(self)
- def SaveLastError(self, *args): return _chilkat.CkZip_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkZip_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkZip_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkZip_LastErrorText(self, *args)
- def Unzip(self, *args): return _chilkat.CkZip_Unzip(self, *args)
- def UnzipNewer(self, *args): return _chilkat.CkZip_UnzipNewer(self, *args)
- def UnzipInto(self, *args): return _chilkat.CkZip_UnzipInto(self, *args)
- def UnzipMatching(self, *args): return _chilkat.CkZip_UnzipMatching(self, *args)
- def UnzipMatchingInto(self, *args): return _chilkat.CkZip_UnzipMatchingInto(self, *args)
- def SetCompressionLevel(self, *args): return _chilkat.CkZip_SetCompressionLevel(self, *args)
- def WriteExe2(self, *args): return _chilkat.CkZip_WriteExe2(self, *args)
-CkZip_swigregister = _chilkat.CkZip_swigregister
-CkZip_swigregister(CkZip)
-
-class CkZipEntry(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkZipEntry, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkZipEntry, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkZipEntry()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkZipEntry
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkZipEntry_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkZipEntry_put_Utf8(self, *args)
- def lastErrorText(self): return _chilkat.CkZipEntry_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkZipEntry_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkZipEntry_lastErrorHtml(self)
- def fileName(self): return _chilkat.CkZipEntry_fileName(self)
- def comment(self): return _chilkat.CkZipEntry_comment(self)
- def inflateToString(self, *args): return _chilkat.CkZipEntry_inflateToString(self, *args)
- def inflateToString2(self): return _chilkat.CkZipEntry_inflateToString2(self)
- def copyToBase64(self): return _chilkat.CkZipEntry_copyToBase64(self)
- def copyToHex(self): return _chilkat.CkZipEntry_copyToHex(self)
- def get_FileName(self, *args): return _chilkat.CkZipEntry_get_FileName(self, *args)
- def put_FileName(self, *args): return _chilkat.CkZipEntry_put_FileName(self, *args)
- def get_UncompressedLength(self): return _chilkat.CkZipEntry_get_UncompressedLength(self)
- def get_CompressionLevel(self): return _chilkat.CkZipEntry_get_CompressionLevel(self)
- def put_CompressionLevel(self, *args): return _chilkat.CkZipEntry_put_CompressionLevel(self, *args)
- def get_CompressionMethod(self): return _chilkat.CkZipEntry_get_CompressionMethod(self)
- def put_CompressionMethod(self, *args): return _chilkat.CkZipEntry_put_CompressionMethod(self, *args)
- def get_CompressedLength(self): return _chilkat.CkZipEntry_get_CompressedLength(self)
- def get_Comment(self, *args): return _chilkat.CkZipEntry_get_Comment(self, *args)
- def put_Comment(self, *args): return _chilkat.CkZipEntry_put_Comment(self, *args)
- def get_EntryType(self): return _chilkat.CkZipEntry_get_EntryType(self)
- def get_FileDateTime(self, *args): return _chilkat.CkZipEntry_get_FileDateTime(self, *args)
- def put_FileDateTime(self, *args): return _chilkat.CkZipEntry_put_FileDateTime(self, *args)
- def get_IsDirectory(self): return _chilkat.CkZipEntry_get_IsDirectory(self)
- def get_EntryID(self): return _chilkat.CkZipEntry_get_EntryID(self)
- def Extract(self, *args): return _chilkat.CkZipEntry_Extract(self, *args)
- def ExtractInto(self, *args): return _chilkat.CkZipEntry_ExtractInto(self, *args)
- def InflateToString(self, *args): return _chilkat.CkZipEntry_InflateToString(self, *args)
- def InflateToString2(self, *args): return _chilkat.CkZipEntry_InflateToString2(self, *args)
- def Inflate(self, *args): return _chilkat.CkZipEntry_Inflate(self, *args)
- def ReplaceData(self, *args): return _chilkat.CkZipEntry_ReplaceData(self, *args)
- def AppendData(self, *args): return _chilkat.CkZipEntry_AppendData(self, *args)
- def CopyToBase64(self, *args): return _chilkat.CkZipEntry_CopyToBase64(self, *args)
- def CopyToHex(self, *args): return _chilkat.CkZipEntry_CopyToHex(self, *args)
- def Copy(self, *args): return _chilkat.CkZipEntry_Copy(self, *args)
- def NextEntry(self): return _chilkat.CkZipEntry_NextEntry(self)
- def SaveLastError(self, *args): return _chilkat.CkZipEntry_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkZipEntry_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkZipEntry_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkZipEntry_LastErrorText(self, *args)
-CkZipEntry_swigregister = _chilkat.CkZipEntry_swigregister
-CkZipEntry_swigregister(CkZipEntry)
-
-class CkFileAccess(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkFileAccess, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkFileAccess, name)
- __repr__ = _swig_repr
- def get_Utf8(self): return _chilkat.CkFileAccess_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkFileAccess_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkFileAccess_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkFileAccess_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkFileAccess_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkFileAccess_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkFileAccess_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkFileAccess_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkFileAccess_lastErrorHtml(self)
- def ReadEntireTextFile(self, *args): return _chilkat.CkFileAccess_ReadEntireTextFile(self, *args)
- def readEntireTextFile(self, *args): return _chilkat.CkFileAccess_readEntireTextFile(self, *args)
- def get_CurrentDir(self, *args): return _chilkat.CkFileAccess_get_CurrentDir(self, *args)
- def currentDir(self): return _chilkat.CkFileAccess_currentDir(self)
- def get_EndOfFile(self): return _chilkat.CkFileAccess_get_EndOfFile(self)
- def SetCurrentDir(self, *args): return _chilkat.CkFileAccess_SetCurrentDir(self, *args)
- def AppendAnsi(self, *args): return _chilkat.CkFileAccess_AppendAnsi(self, *args)
- def AppendText(self, *args): return _chilkat.CkFileAccess_AppendText(self, *args)
- def AppendUnicodeBOM(self): return _chilkat.CkFileAccess_AppendUnicodeBOM(self)
- def AppendUtf8BOM(self): return _chilkat.CkFileAccess_AppendUtf8BOM(self)
- def DirAutoCreate(self, *args): return _chilkat.CkFileAccess_DirAutoCreate(self, *args)
- def DirCreate(self, *args): return _chilkat.CkFileAccess_DirCreate(self, *args)
- def DirDelete(self, *args): return _chilkat.CkFileAccess_DirDelete(self, *args)
- def DirEnsureExists(self, *args): return _chilkat.CkFileAccess_DirEnsureExists(self, *args)
- def FileClose(self): return _chilkat.CkFileAccess_FileClose(self)
- def FileCopy(self, *args): return _chilkat.CkFileAccess_FileCopy(self, *args)
- def FileDelete(self, *args): return _chilkat.CkFileAccess_FileDelete(self, *args)
- def FileExists(self, *args): return _chilkat.CkFileAccess_FileExists(self, *args)
- def FileOpen(self, *args): return _chilkat.CkFileAccess_FileOpen(self, *args)
- def FileRead(self, *args): return _chilkat.CkFileAccess_FileRead(self, *args)
- def FileRename(self, *args): return _chilkat.CkFileAccess_FileRename(self, *args)
- def FileSeek(self, *args): return _chilkat.CkFileAccess_FileSeek(self, *args)
- def FileSize(self, *args): return _chilkat.CkFileAccess_FileSize(self, *args)
- def FileWrite(self, *args): return _chilkat.CkFileAccess_FileWrite(self, *args)
- def GetTempFilename(self, *args): return _chilkat.CkFileAccess_GetTempFilename(self, *args)
- def getTempFilename(self, *args): return _chilkat.CkFileAccess_getTempFilename(self, *args)
- def ReadEntireFile(self, *args): return _chilkat.CkFileAccess_ReadEntireFile(self, *args)
- def TreeDelete(self, *args): return _chilkat.CkFileAccess_TreeDelete(self, *args)
- def WriteEntireFile(self, *args): return _chilkat.CkFileAccess_WriteEntireFile(self, *args)
- def WriteEntireTextFile(self, *args): return _chilkat.CkFileAccess_WriteEntireTextFile(self, *args)
- def SplitFile(self, *args): return _chilkat.CkFileAccess_SplitFile(self, *args)
- def ReassembleFile(self, *args): return _chilkat.CkFileAccess_ReassembleFile(self, *args)
- def ReadBinaryToEncoded(self, *args): return _chilkat.CkFileAccess_ReadBinaryToEncoded(self, *args)
- def readBinaryToEncoded(self, *args): return _chilkat.CkFileAccess_readBinaryToEncoded(self, *args)
- def __init__(self):
- this = _chilkat.new_CkFileAccess()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkFileAccess
- __del__ = lambda self : None;
-CkFileAccess_swigregister = _chilkat.CkFileAccess_swigregister
-CkFileAccess_swigregister(CkFileAccess)
-
-class CkRsa(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkRsa, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkRsa, name)
- __repr__ = _swig_repr
- def get_Utf8(self): return _chilkat.CkRsa_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkRsa_put_Utf8(self, *args)
- def get_LittleEndian(self): return _chilkat.CkRsa_get_LittleEndian(self)
- def put_LittleEndian(self, *args): return _chilkat.CkRsa_put_LittleEndian(self, *args)
- def get_Version(self, *args): return _chilkat.CkRsa_get_Version(self, *args)
- def version(self): return _chilkat.CkRsa_version(self)
- def OpenSslVerifyBytes(self, *args): return _chilkat.CkRsa_OpenSslVerifyBytes(self, *args)
- def OpenSslSignBytes(self, *args): return _chilkat.CkRsa_OpenSslSignBytes(self, *args)
- def OpenSslSignBytesENC(self, *args): return _chilkat.CkRsa_OpenSslSignBytesENC(self, *args)
- def openSslSignBytesENC(self, *args): return _chilkat.CkRsa_openSslSignBytesENC(self, *args)
- def OpenSslSignString(self, *args): return _chilkat.CkRsa_OpenSslSignString(self, *args)
- def OpenSslSignStringENC(self, *args): return _chilkat.CkRsa_OpenSslSignStringENC(self, *args)
- def openSslSignStringENC(self, *args): return _chilkat.CkRsa_openSslSignStringENC(self, *args)
- def OpenSslVerifyBytesENC(self, *args): return _chilkat.CkRsa_OpenSslVerifyBytesENC(self, *args)
- def OpenSslVerifyString(self, *args): return _chilkat.CkRsa_OpenSslVerifyString(self, *args)
- def openSslVerifyString(self, *args): return _chilkat.CkRsa_openSslVerifyString(self, *args)
- def OpenSslVerifyStringENC(self, *args): return _chilkat.CkRsa_OpenSslVerifyStringENC(self, *args)
- def openSslVerifyStringENC(self, *args): return _chilkat.CkRsa_openSslVerifyStringENC(self, *args)
- def VerifyPrivateKey(self, *args): return _chilkat.CkRsa_VerifyPrivateKey(self, *args)
- def VerifyHash(self, *args): return _chilkat.CkRsa_VerifyHash(self, *args)
- def VerifyHashENC(self, *args): return _chilkat.CkRsa_VerifyHashENC(self, *args)
- def SignHash(self, *args): return _chilkat.CkRsa_SignHash(self, *args)
- def SignHashENC(self, *args): return _chilkat.CkRsa_SignHashENC(self, *args)
- def signHashENC(self, *args): return _chilkat.CkRsa_signHashENC(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkRsa_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkRsa_put_VerboseLogging(self, *args)
- def get_NoUnpad(self): return _chilkat.CkRsa_get_NoUnpad(self)
- def put_NoUnpad(self, *args): return _chilkat.CkRsa_put_NoUnpad(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkRsa_UnlockComponent(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkRsa_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkRsa_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkRsa_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkRsa_LastErrorText(self, *args)
- def VerifyStringENC(self, *args): return _chilkat.CkRsa_VerifyStringENC(self, *args)
- def VerifyString(self, *args): return _chilkat.CkRsa_VerifyString(self, *args)
- def VerifyBytesENC(self, *args): return _chilkat.CkRsa_VerifyBytesENC(self, *args)
- def VerifyBytes(self, *args): return _chilkat.CkRsa_VerifyBytes(self, *args)
- def signStringENC(self, *args): return _chilkat.CkRsa_signStringENC(self, *args)
- def signBytesENC(self, *args): return _chilkat.CkRsa_signBytesENC(self, *args)
- def SignStringENC(self, *args): return _chilkat.CkRsa_SignStringENC(self, *args)
- def SignBytesENC(self, *args): return _chilkat.CkRsa_SignBytesENC(self, *args)
- def SignString(self, *args): return _chilkat.CkRsa_SignString(self, *args)
- def SignBytes(self, *args): return _chilkat.CkRsa_SignBytes(self, *args)
- def DecryptStringENC(self, *args): return _chilkat.CkRsa_DecryptStringENC(self, *args)
- def DecryptString(self, *args): return _chilkat.CkRsa_DecryptString(self, *args)
- def DecryptBytesENC(self, *args): return _chilkat.CkRsa_DecryptBytesENC(self, *args)
- def DecryptBytes(self, *args): return _chilkat.CkRsa_DecryptBytes(self, *args)
- def EncryptStringENC(self, *args): return _chilkat.CkRsa_EncryptStringENC(self, *args)
- def EncryptBytesENC(self, *args): return _chilkat.CkRsa_EncryptBytesENC(self, *args)
- def EncryptString(self, *args): return _chilkat.CkRsa_EncryptString(self, *args)
- def EncryptBytes(self, *args): return _chilkat.CkRsa_EncryptBytes(self, *args)
- def get_EncodingMode(self, *args): return _chilkat.CkRsa_get_EncodingMode(self, *args)
- def put_EncodingMode(self, *args): return _chilkat.CkRsa_put_EncodingMode(self, *args)
- def get_Charset(self, *args): return _chilkat.CkRsa_get_Charset(self, *args)
- def put_Charset(self, *args): return _chilkat.CkRsa_put_Charset(self, *args)
- def GenerateKey(self, *args): return _chilkat.CkRsa_GenerateKey(self, *args)
- def ExportPublicKey(self, *args): return _chilkat.CkRsa_ExportPublicKey(self, *args)
- def ExportPrivateKey(self, *args): return _chilkat.CkRsa_ExportPrivateKey(self, *args)
- def ImportPublicKey(self, *args): return _chilkat.CkRsa_ImportPublicKey(self, *args)
- def ImportPrivateKey(self, *args): return _chilkat.CkRsa_ImportPrivateKey(self, *args)
- def SnkToXml(self, *args): return _chilkat.CkRsa_SnkToXml(self, *args)
- def get_NumBits(self): return _chilkat.CkRsa_get_NumBits(self)
- def get_OaepPadding(self): return _chilkat.CkRsa_get_OaepPadding(self)
- def put_OaepPadding(self, *args): return _chilkat.CkRsa_put_OaepPadding(self, *args)
- def lastErrorText(self): return _chilkat.CkRsa_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkRsa_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkRsa_lastErrorHtml(self)
- def decryptStringENC(self, *args): return _chilkat.CkRsa_decryptStringENC(self, *args)
- def decryptString(self, *args): return _chilkat.CkRsa_decryptString(self, *args)
- def encryptStringENC(self, *args): return _chilkat.CkRsa_encryptStringENC(self, *args)
- def encryptBytesENC(self, *args): return _chilkat.CkRsa_encryptBytesENC(self, *args)
- def encodingMode(self): return _chilkat.CkRsa_encodingMode(self)
- def charset(self): return _chilkat.CkRsa_charset(self)
- def exportPublicKey(self): return _chilkat.CkRsa_exportPublicKey(self)
- def exportPrivateKey(self): return _chilkat.CkRsa_exportPrivateKey(self)
- def snkToXml(self, *args): return _chilkat.CkRsa_snkToXml(self, *args)
- def __init__(self):
- this = _chilkat.new_CkRsa()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkRsa
- __del__ = lambda self : None;
-CkRsa_swigregister = _chilkat.CkRsa_swigregister
-CkRsa_swigregister(CkRsa)
-
-class CkEmail(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkEmail, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkEmail, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkEmail()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkEmail
- __del__ = lambda self : None;
- def lastErrorText(self): return _chilkat.CkEmail_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkEmail_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkEmail_lastErrorHtml(self)
- def AddDataAttachment2(self, *args): return _chilkat.CkEmail_AddDataAttachment2(self, *args)
- def AppendToBody(self, *args): return _chilkat.CkEmail_AppendToBody(self, *args)
- def GetAltHeaderField(self, *args): return _chilkat.CkEmail_GetAltHeaderField(self, *args)
- def getAltHeaderField(self, *args): return _chilkat.CkEmail_getAltHeaderField(self, *args)
- def GetDeliveryStatusInfo(self, *args): return _chilkat.CkEmail_GetDeliveryStatusInfo(self, *args)
- def getDeliveryStatusInfo(self, *args): return _chilkat.CkEmail_getDeliveryStatusInfo(self, *args)
- def GetAttachedMessageFilename(self, *args): return _chilkat.CkEmail_GetAttachedMessageFilename(self, *args)
- def getAttachedMessageFilename(self, *args): return _chilkat.CkEmail_getAttachedMessageFilename(self, *args)
- def LoadXmlString(self, *args): return _chilkat.CkEmail_LoadXmlString(self, *args)
- def SetAttachmentCharset(self, *args): return _chilkat.CkEmail_SetAttachmentCharset(self, *args)
- def SetFromMimeObject(self, *args): return _chilkat.CkEmail_SetFromMimeObject(self, *args)
- def AspUnpack(self, *args): return _chilkat.CkEmail_AspUnpack(self, *args)
- def AspUnpack2(self, *args): return _chilkat.CkEmail_AspUnpack2(self, *args)
- def GetImapUid(self): return _chilkat.CkEmail_GetImapUid(self)
- def HasHeaderMatching(self, *args): return _chilkat.CkEmail_HasHeaderMatching(self, *args)
- def get_Language(self, *args): return _chilkat.CkEmail_get_Language(self, *args)
- def language(self): return _chilkat.CkEmail_language(self)
- def GetDsnFinalRecipients(self): return _chilkat.CkEmail_GetDsnFinalRecipients(self)
- def GetRelatedContentLocation(self, *args): return _chilkat.CkEmail_GetRelatedContentLocation(self, *args)
- def getRelatedContentLocation(self, *args): return _chilkat.CkEmail_getRelatedContentLocation(self, *args)
- def GetMimeBinary(self, *args): return _chilkat.CkEmail_GetMimeBinary(self, *args)
- def AttachMessage(self, *args): return _chilkat.CkEmail_AttachMessage(self, *args)
- def ComputeGlobalKey(self, *args): return _chilkat.CkEmail_ComputeGlobalKey(self, *args)
- def computeGlobalKey(self, *args): return _chilkat.CkEmail_computeGlobalKey(self, *args)
- def get_NumDaysOld(self): return _chilkat.CkEmail_get_NumDaysOld(self)
- def get_PreferredCharset(self, *args): return _chilkat.CkEmail_get_PreferredCharset(self, *args)
- def preferredCharset(self): return _chilkat.CkEmail_preferredCharset(self)
- def put_PreferredCharset(self, *args): return _chilkat.CkEmail_put_PreferredCharset(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkEmail_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkEmail_put_VerboseLogging(self, *args)
- def AddRelatedHeader(self, *args): return _chilkat.CkEmail_AddRelatedHeader(self, *args)
- def ClearEncryptCerts(self): return _chilkat.CkEmail_ClearEncryptCerts(self)
- def AddEncryptCert(self, *args): return _chilkat.CkEmail_AddEncryptCert(self, *args)
- def UnpackHtml(self, *args): return _chilkat.CkEmail_UnpackHtml(self, *args)
- def SetFromMimeBytes(self, *args): return _chilkat.CkEmail_SetFromMimeBytes(self, *args)
- def SetAttachmentDisposition(self, *args): return _chilkat.CkEmail_SetAttachmentDisposition(self, *args)
- def RemoveHtmlAlternative(self): return _chilkat.CkEmail_RemoveHtmlAlternative(self)
- def RemovePlainTextAlternative(self): return _chilkat.CkEmail_RemovePlainTextAlternative(self)
- def AddHeaderField2(self, *args): return _chilkat.CkEmail_AddHeaderField2(self, *args)
- def get_PrependHeaders(self): return _chilkat.CkEmail_get_PrependHeaders(self)
- def put_PrependHeaders(self, *args): return _chilkat.CkEmail_put_PrependHeaders(self, *args)
- def CreateDsn(self, *args): return _chilkat.CkEmail_CreateDsn(self, *args)
- def CreateMdn(self, *args): return _chilkat.CkEmail_CreateMdn(self, *args)
- def get_SigningHashAlg(self, *args): return _chilkat.CkEmail_get_SigningHashAlg(self, *args)
- def signingHashAlg(self): return _chilkat.CkEmail_signingHashAlg(self)
- def put_SigningHashAlg(self, *args): return _chilkat.CkEmail_put_SigningHashAlg(self, *args)
- def get_Pkcs7CryptAlg(self, *args): return _chilkat.CkEmail_get_Pkcs7CryptAlg(self, *args)
- def pkcs7CryptAlg(self): return _chilkat.CkEmail_pkcs7CryptAlg(self)
- def put_Pkcs7CryptAlg(self, *args): return _chilkat.CkEmail_put_Pkcs7CryptAlg(self, *args)
- def get_Pkcs7KeyLength(self): return _chilkat.CkEmail_get_Pkcs7KeyLength(self)
- def put_Pkcs7KeyLength(self, *args): return _chilkat.CkEmail_put_Pkcs7KeyLength(self, *args)
- def SetTextBody(self, *args): return _chilkat.CkEmail_SetTextBody(self, *args)
- def getRelatedStringCrLf(self, *args): return _chilkat.CkEmail_getRelatedStringCrLf(self, *args)
- def getRelatedContentID(self, *args): return _chilkat.CkEmail_getRelatedContentID(self, *args)
- def getRelatedFilename(self, *args): return _chilkat.CkEmail_getRelatedFilename(self, *args)
- def getRelatedString(self, *args): return _chilkat.CkEmail_getRelatedString(self, *args)
- def getAlternativeBody(self, *args): return _chilkat.CkEmail_getAlternativeBody(self, *args)
- def getAlternativeContentType(self, *args): return _chilkat.CkEmail_getAlternativeContentType(self, *args)
- def getHtmlBody(self): return _chilkat.CkEmail_getHtmlBody(self)
- def getPlainTextBody(self): return _chilkat.CkEmail_getPlainTextBody(self)
- def getHeaderFieldName(self, *args): return _chilkat.CkEmail_getHeaderFieldName(self, *args)
- def getHeaderFieldValue(self, *args): return _chilkat.CkEmail_getHeaderFieldValue(self, *args)
- def getAttachmentStringCrLf(self, *args): return _chilkat.CkEmail_getAttachmentStringCrLf(self, *args)
- def getAttachmentContentID(self, *args): return _chilkat.CkEmail_getAttachmentContentID(self, *args)
- def getAttachmentContentType(self, *args): return _chilkat.CkEmail_getAttachmentContentType(self, *args)
- def getAttachmentHeader(self, *args): return _chilkat.CkEmail_getAttachmentHeader(self, *args)
- def getAttachmentString(self, *args): return _chilkat.CkEmail_getAttachmentString(self, *args)
- def getAttachmentFilename(self, *args): return _chilkat.CkEmail_getAttachmentFilename(self, *args)
- def getHeaderField(self, *args): return _chilkat.CkEmail_getHeaderField(self, *args)
- def getBcc(self, *args): return _chilkat.CkEmail_getBcc(self, *args)
- def getCC(self, *args): return _chilkat.CkEmail_getCC(self, *args)
- def getTo(self, *args): return _chilkat.CkEmail_getTo(self, *args)
- def getBccAddr(self, *args): return _chilkat.CkEmail_getBccAddr(self, *args)
- def getCcAddr(self, *args): return _chilkat.CkEmail_getCcAddr(self, *args)
- def getToAddr(self, *args): return _chilkat.CkEmail_getToAddr(self, *args)
- def getBccName(self, *args): return _chilkat.CkEmail_getBccName(self, *args)
- def getCcName(self, *args): return _chilkat.CkEmail_getCcName(self, *args)
- def getToName(self, *args): return _chilkat.CkEmail_getToName(self, *args)
- def getMime(self): return _chilkat.CkEmail_getMime(self)
- def getXml(self): return _chilkat.CkEmail_getXml(self)
- def uidl(self): return _chilkat.CkEmail_uidl(self)
- def charset(self): return _chilkat.CkEmail_charset(self)
- def encryptedBy(self): return _chilkat.CkEmail_encryptedBy(self)
- def signedBy(self): return _chilkat.CkEmail_signedBy(self)
- def fromAddress(self): return _chilkat.CkEmail_fromAddress(self)
- def fromName(self): return _chilkat.CkEmail_fromName(self)
- def mailer(self): return _chilkat.CkEmail_mailer(self)
- def header(self): return _chilkat.CkEmail_header(self)
- def ck_from(self): return _chilkat.CkEmail_ck_from(self)
- def subject(self): return _chilkat.CkEmail_subject(self)
- def replyTo(self): return _chilkat.CkEmail_replyTo(self)
- def bounceAddress(self): return _chilkat.CkEmail_bounceAddress(self)
- def body(self): return _chilkat.CkEmail_body(self)
- def qEncodeString(self, *args): return _chilkat.CkEmail_qEncodeString(self, *args)
- def bEncodeString(self, *args): return _chilkat.CkEmail_bEncodeString(self, *args)
- def addFileAttachment(self, *args): return _chilkat.CkEmail_addFileAttachment(self, *args)
- def addRelatedFile(self, *args): return _chilkat.CkEmail_addRelatedFile(self, *args)
- def addRelatedString(self, *args): return _chilkat.CkEmail_addRelatedString(self, *args)
- def getReplaceString2(self, *args): return _chilkat.CkEmail_getReplaceString2(self, *args)
- def getReplaceString(self, *args): return _chilkat.CkEmail_getReplaceString(self, *args)
- def getReplacePattern(self, *args): return _chilkat.CkEmail_getReplacePattern(self, *args)
- def generateFilename(self): return _chilkat.CkEmail_generateFilename(self)
- def fileDistList(self): return _chilkat.CkEmail_fileDistList(self)
- def createTempMht(self, *args): return _chilkat.CkEmail_createTempMht(self, *args)
- def qEncodeBytes(self, *args): return _chilkat.CkEmail_qEncodeBytes(self, *args)
- def bEncodeBytes(self, *args): return _chilkat.CkEmail_bEncodeBytes(self, *args)
- def GetRelatedContentType(self, *args): return _chilkat.CkEmail_GetRelatedContentType(self, *args)
- def getRelatedContentType(self, *args): return _chilkat.CkEmail_getRelatedContentType(self, *args)
- def AddRelatedString2(self, *args): return _chilkat.CkEmail_AddRelatedString2(self, *args)
- def AddRelatedFile2(self, *args): return _chilkat.CkEmail_AddRelatedFile2(self, *args)
- def AddRelatedData2(self, *args): return _chilkat.CkEmail_AddRelatedData2(self, *args)
- def AddStringAttachment(self, *args): return _chilkat.CkEmail_AddStringAttachment(self, *args)
- def AddStringAttachment2(self, *args): return _chilkat.CkEmail_AddStringAttachment2(self, *args)
- def AddRelatedString(self, *args): return _chilkat.CkEmail_AddRelatedString(self, *args)
- def SetFromMimeText(self, *args): return _chilkat.CkEmail_SetFromMimeText(self, *args)
- def SetFromMimeText2(self, *args): return _chilkat.CkEmail_SetFromMimeText2(self, *args)
- def LoadEml(self, *args): return _chilkat.CkEmail_LoadEml(self, *args)
- def LoadXml(self, *args): return _chilkat.CkEmail_LoadXml(self, *args)
- def SetFromXmlText(self, *args): return _chilkat.CkEmail_SetFromXmlText(self, *args)
- def ZipAttachments(self, *args): return _chilkat.CkEmail_ZipAttachments(self, *args)
- def UnzipAttachments(self): return _chilkat.CkEmail_UnzipAttachments(self)
- def AesEncrypt(self, *args): return _chilkat.CkEmail_AesEncrypt(self, *args)
- def AesDecrypt(self, *args): return _chilkat.CkEmail_AesDecrypt(self, *args)
- def Clone(self): return _chilkat.CkEmail_Clone(self)
- def CreateForward(self): return _chilkat.CkEmail_CreateForward(self)
- def CreateReply(self): return _chilkat.CkEmail_CreateReply(self)
- def SetCSP(self, *args): return _chilkat.CkEmail_SetCSP(self, *args)
- def GetSignedByCert(self): return _chilkat.CkEmail_GetSignedByCert(self)
- def GetEncryptedByCert(self): return _chilkat.CkEmail_GetEncryptedByCert(self)
- def GetEncryptCert(self): return _chilkat.CkEmail_GetEncryptCert(self)
- def GetSigningCert(self): return _chilkat.CkEmail_GetSigningCert(self)
- def SetEncryptCert(self, *args): return _chilkat.CkEmail_SetEncryptCert(self, *args)
- def SetSigningCert(self, *args): return _chilkat.CkEmail_SetSigningCert(self, *args)
- def SetSigningCert2(self, *args): return _chilkat.CkEmail_SetSigningCert2(self, *args)
- def GetFileContent(self, *args): return _chilkat.CkEmail_GetFileContent(self, *args)
- def GetRelatedStringCrLf(self, *args): return _chilkat.CkEmail_GetRelatedStringCrLf(self, *args)
- def GetRelatedContentID(self, *args): return _chilkat.CkEmail_GetRelatedContentID(self, *args)
- def GetRelatedFilename(self, *args): return _chilkat.CkEmail_GetRelatedFilename(self, *args)
- def GetRelatedString(self, *args): return _chilkat.CkEmail_GetRelatedString(self, *args)
- def GetRelatedData(self, *args): return _chilkat.CkEmail_GetRelatedData(self, *args)
- def AddHeaderField(self, *args): return _chilkat.CkEmail_AddHeaderField(self, *args)
- def RemoveHeaderField(self, *args): return _chilkat.CkEmail_RemoveHeaderField(self, *args)
- def SetHtmlBody(self, *args): return _chilkat.CkEmail_SetHtmlBody(self, *args)
- def SaveRelatedItem(self, *args): return _chilkat.CkEmail_SaveRelatedItem(self, *args)
- def DropRelatedItem(self, *args): return _chilkat.CkEmail_DropRelatedItem(self, *args)
- def DropRelatedItems(self): return _chilkat.CkEmail_DropRelatedItems(self)
- def AddRelatedFile(self, *args): return _chilkat.CkEmail_AddRelatedFile(self, *args)
- def AddRelatedData(self, *args): return _chilkat.CkEmail_AddRelatedData(self, *args)
- def AddHtmlAlternativeBody(self, *args): return _chilkat.CkEmail_AddHtmlAlternativeBody(self, *args)
- def AddPlainTextAlternativeBody(self, *args): return _chilkat.CkEmail_AddPlainTextAlternativeBody(self, *args)
- def GetAlternativeBody(self, *args): return _chilkat.CkEmail_GetAlternativeBody(self, *args)
- def GetAlternativeContentType(self, *args): return _chilkat.CkEmail_GetAlternativeContentType(self, *args)
- def GetHtmlBody(self, *args): return _chilkat.CkEmail_GetHtmlBody(self, *args)
- def GetPlainTextBody(self, *args): return _chilkat.CkEmail_GetPlainTextBody(self, *args)
- def get_NumHeaderFields(self): return _chilkat.CkEmail_get_NumHeaderFields(self)
- def GetHeaderFieldName(self, *args): return _chilkat.CkEmail_GetHeaderFieldName(self, *args)
- def GetHeaderFieldValue(self, *args): return _chilkat.CkEmail_GetHeaderFieldValue(self, *args)
- def GetAttachmentStringCrLf(self, *args): return _chilkat.CkEmail_GetAttachmentStringCrLf(self, *args)
- def GetAttachmentContentID(self, *args): return _chilkat.CkEmail_GetAttachmentContentID(self, *args)
- def GetAttachmentContentType(self, *args): return _chilkat.CkEmail_GetAttachmentContentType(self, *args)
- def GetAttachmentHeader(self, *args): return _chilkat.CkEmail_GetAttachmentHeader(self, *args)
- def GetAttachmentSize(self, *args): return _chilkat.CkEmail_GetAttachmentSize(self, *args)
- def GetAttachmentString(self, *args): return _chilkat.CkEmail_GetAttachmentString(self, *args)
- def SaveAllAttachments(self, *args): return _chilkat.CkEmail_SaveAllAttachments(self, *args)
- def SaveAttachedFile(self, *args): return _chilkat.CkEmail_SaveAttachedFile(self, *args)
- def GetAttachmentData(self, *args): return _chilkat.CkEmail_GetAttachmentData(self, *args)
- def DropSingleAttachment(self, *args): return _chilkat.CkEmail_DropSingleAttachment(self, *args)
- def SetAttachmentFilename(self, *args): return _chilkat.CkEmail_SetAttachmentFilename(self, *args)
- def GetAttachmentFilename(self, *args): return _chilkat.CkEmail_GetAttachmentFilename(self, *args)
- def AddAttachmentHeader(self, *args): return _chilkat.CkEmail_AddAttachmentHeader(self, *args)
- def DropAttachments(self): return _chilkat.CkEmail_DropAttachments(self)
- def AddFileAttachment(self, *args): return _chilkat.CkEmail_AddFileAttachment(self, *args)
- def AddFileAttachment2(self, *args): return _chilkat.CkEmail_AddFileAttachment2(self, *args)
- def AddDataAttachment(self, *args): return _chilkat.CkEmail_AddDataAttachment(self, *args)
- def get_NumReplacePatterns(self): return _chilkat.CkEmail_get_NumReplacePatterns(self)
- def GetReplaceString2(self, *args): return _chilkat.CkEmail_GetReplaceString2(self, *args)
- def GetReplaceString(self, *args): return _chilkat.CkEmail_GetReplaceString(self, *args)
- def GetReplacePattern(self, *args): return _chilkat.CkEmail_GetReplacePattern(self, *args)
- def SetReplacePattern(self, *args): return _chilkat.CkEmail_SetReplacePattern(self, *args)
- def GenerateFilename(self, *args): return _chilkat.CkEmail_GenerateFilename(self, *args)
- def AddMultipleBcc(self, *args): return _chilkat.CkEmail_AddMultipleBcc(self, *args)
- def AddMultipleCC(self, *args): return _chilkat.CkEmail_AddMultipleCC(self, *args)
- def AddMultipleTo(self, *args): return _chilkat.CkEmail_AddMultipleTo(self, *args)
- def GetHeaderField(self, *args): return _chilkat.CkEmail_GetHeaderField(self, *args)
- def GetBcc(self, *args): return _chilkat.CkEmail_GetBcc(self, *args)
- def GetCC(self, *args): return _chilkat.CkEmail_GetCC(self, *args)
- def GetTo(self, *args): return _chilkat.CkEmail_GetTo(self, *args)
- def GetBccAddr(self, *args): return _chilkat.CkEmail_GetBccAddr(self, *args)
- def GetCcAddr(self, *args): return _chilkat.CkEmail_GetCcAddr(self, *args)
- def GetToAddr(self, *args): return _chilkat.CkEmail_GetToAddr(self, *args)
- def GetBccName(self, *args): return _chilkat.CkEmail_GetBccName(self, *args)
- def GetCcName(self, *args): return _chilkat.CkEmail_GetCcName(self, *args)
- def GetToName(self, *args): return _chilkat.CkEmail_GetToName(self, *args)
- def ClearBcc(self): return _chilkat.CkEmail_ClearBcc(self)
- def ClearCC(self): return _chilkat.CkEmail_ClearCC(self)
- def ClearTo(self): return _chilkat.CkEmail_ClearTo(self)
- def AddBcc(self, *args): return _chilkat.CkEmail_AddBcc(self, *args)
- def AddCC(self, *args): return _chilkat.CkEmail_AddCC(self, *args)
- def AddTo(self, *args): return _chilkat.CkEmail_AddTo(self, *args)
- def GetMime(self, *args): return _chilkat.CkEmail_GetMime(self, *args)
- def GetXml(self, *args): return _chilkat.CkEmail_GetXml(self, *args)
- def SaveXml(self, *args): return _chilkat.CkEmail_SaveXml(self, *args)
- def SaveEml(self, *args): return _chilkat.CkEmail_SaveEml(self, *args)
- def get_Uidl(self, *args): return _chilkat.CkEmail_get_Uidl(self, *args)
- def get_ReturnReceipt(self): return _chilkat.CkEmail_get_ReturnReceipt(self)
- def put_ReturnReceipt(self, *args): return _chilkat.CkEmail_put_ReturnReceipt(self, *args)
- def get_Size(self): return _chilkat.CkEmail_get_Size(self)
- def get_NumAlternatives(self): return _chilkat.CkEmail_get_NumAlternatives(self)
- def get_NumRelatedItems(self): return _chilkat.CkEmail_get_NumRelatedItems(self)
- def get_SendEncrypted(self): return _chilkat.CkEmail_get_SendEncrypted(self)
- def put_SendEncrypted(self, *args): return _chilkat.CkEmail_put_SendEncrypted(self, *args)
- def get_FileDistList(self, *args): return _chilkat.CkEmail_get_FileDistList(self, *args)
- def put_FileDistList(self, *args): return _chilkat.CkEmail_put_FileDistList(self, *args)
- def get_Charset(self, *args): return _chilkat.CkEmail_get_Charset(self, *args)
- def put_Charset(self, *args): return _chilkat.CkEmail_put_Charset(self, *args)
- def get_OverwriteExisting(self): return _chilkat.CkEmail_get_OverwriteExisting(self)
- def put_OverwriteExisting(self, *args): return _chilkat.CkEmail_put_OverwriteExisting(self, *args)
- def get_SendSigned(self): return _chilkat.CkEmail_get_SendSigned(self)
- def put_SendSigned(self, *args): return _chilkat.CkEmail_put_SendSigned(self, *args)
- def get_EncryptedBy(self, *args): return _chilkat.CkEmail_get_EncryptedBy(self, *args)
- def get_Decrypted(self): return _chilkat.CkEmail_get_Decrypted(self)
- def get_SignaturesValid(self): return _chilkat.CkEmail_get_SignaturesValid(self)
- def get_SignedBy(self, *args): return _chilkat.CkEmail_get_SignedBy(self, *args)
- def get_ReceivedSigned(self): return _chilkat.CkEmail_get_ReceivedSigned(self)
- def get_ReceivedEncrypted(self): return _chilkat.CkEmail_get_ReceivedEncrypted(self)
- def get_NumAttachments(self): return _chilkat.CkEmail_get_NumAttachments(self)
- def get_FromAddress(self, *args): return _chilkat.CkEmail_get_FromAddress(self, *args)
- def put_FromAddress(self, *args): return _chilkat.CkEmail_put_FromAddress(self, *args)
- def get_FromName(self, *args): return _chilkat.CkEmail_get_FromName(self, *args)
- def put_FromName(self, *args): return _chilkat.CkEmail_put_FromName(self, *args)
- def get_LocalDate(self, *args): return _chilkat.CkEmail_get_LocalDate(self, *args)
- def get_EmailDate(self, *args): return _chilkat.CkEmail_get_EmailDate(self, *args)
- def put_LocalDate(self, *args): return _chilkat.CkEmail_put_LocalDate(self, *args)
- def put_EmailDate(self, *args): return _chilkat.CkEmail_put_EmailDate(self, *args)
- def get_Mailer(self, *args): return _chilkat.CkEmail_get_Mailer(self, *args)
- def put_Mailer(self, *args): return _chilkat.CkEmail_put_Mailer(self, *args)
- def get_Header(self, *args): return _chilkat.CkEmail_get_Header(self, *args)
- def get_NumBcc(self): return _chilkat.CkEmail_get_NumBcc(self)
- def get_NumCC(self): return _chilkat.CkEmail_get_NumCC(self)
- def get_NumTo(self): return _chilkat.CkEmail_get_NumTo(self)
- def get_From(self, *args): return _chilkat.CkEmail_get_From(self, *args)
- def put_From(self, *args): return _chilkat.CkEmail_put_From(self, *args)
- def get_Subject(self, *args): return _chilkat.CkEmail_get_Subject(self, *args)
- def put_Subject(self, *args): return _chilkat.CkEmail_put_Subject(self, *args)
- def get_ReplyTo(self, *args): return _chilkat.CkEmail_get_ReplyTo(self, *args)
- def put_ReplyTo(self, *args): return _chilkat.CkEmail_put_ReplyTo(self, *args)
- def get_BounceAddress(self, *args): return _chilkat.CkEmail_get_BounceAddress(self, *args)
- def put_BounceAddress(self, *args): return _chilkat.CkEmail_put_BounceAddress(self, *args)
- def get_Body(self, *args): return _chilkat.CkEmail_get_Body(self, *args)
- def put_Body(self, *args): return _chilkat.CkEmail_put_Body(self, *args)
- def UidlEquals(self, *args): return _chilkat.CkEmail_UidlEquals(self, *args)
- def CreateTempMht(self, *args): return _chilkat.CkEmail_CreateTempMht(self, *args)
- def GetMimeObject(self): return _chilkat.CkEmail_GetMimeObject(self)
- def SaveLastError(self, *args): return _chilkat.CkEmail_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkEmail_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkEmail_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkEmail_LastErrorText(self, *args)
- def SetMbPlainTextBody(self, *args): return _chilkat.CkEmail_SetMbPlainTextBody(self, *args)
- def SetMbHtmlBody(self, *args): return _chilkat.CkEmail_SetMbHtmlBody(self, *args)
- def GetMbPlainTextBody(self, *args): return _chilkat.CkEmail_GetMbPlainTextBody(self, *args)
- def GetMbHtmlBody(self, *args): return _chilkat.CkEmail_GetMbHtmlBody(self, *args)
- def GetMbHeaderField(self, *args): return _chilkat.CkEmail_GetMbHeaderField(self, *args)
- def GetMbHeaderField2(self, *args): return _chilkat.CkEmail_GetMbHeaderField2(self, *args)
- def QEncodeBytes(self, *args): return _chilkat.CkEmail_QEncodeBytes(self, *args)
- def BEncodeBytes(self, *args): return _chilkat.CkEmail_BEncodeBytes(self, *args)
- def QEncodeString(self, *args): return _chilkat.CkEmail_QEncodeString(self, *args)
- def BEncodeString(self, *args): return _chilkat.CkEmail_BEncodeString(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkEmail_UnlockComponent(self, *args)
- def get_NumAttachedMessages(self): return _chilkat.CkEmail_get_NumAttachedMessages(self)
- def GetAttachedMessage(self, *args): return _chilkat.CkEmail_GetAttachedMessage(self, *args)
- def RemoveAttachedMessages(self): return _chilkat.CkEmail_RemoveAttachedMessages(self)
- def RemoveAttachedMessage(self, *args): return _chilkat.CkEmail_RemoveAttachedMessage(self, *args)
- def GetLinkedDomains(self, *args): return _chilkat.CkEmail_GetLinkedDomains(self, *args)
- def UnSpamify(self): return _chilkat.CkEmail_UnSpamify(self)
- def IsMultipartReport(self): return _chilkat.CkEmail_IsMultipartReport(self)
- def HasHtmlBody(self): return _chilkat.CkEmail_HasHtmlBody(self)
- def HasPlainTextBody(self): return _chilkat.CkEmail_HasPlainTextBody(self)
- def RemoveAttachmentPaths(self): return _chilkat.CkEmail_RemoveAttachmentPaths(self)
- def get_Utf8(self): return _chilkat.CkEmail_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkEmail_put_Utf8(self, *args)
-CkEmail_swigregister = _chilkat.CkEmail_swigregister
-CkEmail_swigregister(CkEmail)
-
-class CkCSP(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkCSP, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkCSP, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkCSP()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkCSP
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkCSP_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkCSP_put_Utf8(self, *args)
- def lastErrorText(self): return _chilkat.CkCSP_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkCSP_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkCSP_lastErrorHtml(self)
- def get_MachineKeyset(self): return _chilkat.CkCSP_get_MachineKeyset(self)
- def put_MachineKeyset(self, *args): return _chilkat.CkCSP_put_MachineKeyset(self, *args)
- def hashAlgorithm(self): return _chilkat.CkCSP_hashAlgorithm(self)
- def encryptAlgorithm(self): return _chilkat.CkCSP_encryptAlgorithm(self)
- def getKeyContainerName(self, *args): return _chilkat.CkCSP_getKeyContainerName(self, *args)
- def getSignatureAlgorithm(self, *args): return _chilkat.CkCSP_getSignatureAlgorithm(self, *args)
- def getKeyExchangeAlgorithm(self, *args): return _chilkat.CkCSP_getKeyExchangeAlgorithm(self, *args)
- def getHashAlgorithm(self, *args): return _chilkat.CkCSP_getHashAlgorithm(self, *args)
- def getEncryptionAlgorithm(self, *args): return _chilkat.CkCSP_getEncryptionAlgorithm(self, *args)
- def keyContainerName(self): return _chilkat.CkCSP_keyContainerName(self)
- def providerName(self): return _chilkat.CkCSP_providerName(self)
- def SetProviderMicrosoftBase(self): return _chilkat.CkCSP_SetProviderMicrosoftBase(self)
- def SetProviderMicrosoftStrong(self): return _chilkat.CkCSP_SetProviderMicrosoftStrong(self)
- def SetProviderMicrosoftEnhanced(self): return _chilkat.CkCSP_SetProviderMicrosoftEnhanced(self)
- def SetProviderMicrosoftRsaAes(self): return _chilkat.CkCSP_SetProviderMicrosoftRsaAes(self)
- def get_ProviderType(self): return _chilkat.CkCSP_get_ProviderType(self)
- def GetKeyContainerNames(self): return _chilkat.CkCSP_GetKeyContainerNames(self)
- def SetHashAlgorithm(self, *args): return _chilkat.CkCSP_SetHashAlgorithm(self, *args)
- def HasHashAlgorithm(self, *args): return _chilkat.CkCSP_HasHashAlgorithm(self, *args)
- def SetEncryptAlgorithm(self, *args): return _chilkat.CkCSP_SetEncryptAlgorithm(self, *args)
- def HasEncryptAlgorithm(self, *args): return _chilkat.CkCSP_HasEncryptAlgorithm(self, *args)
- def get_HashAlgorithmID(self): return _chilkat.CkCSP_get_HashAlgorithmID(self)
- def get_EncryptAlgorithmID(self): return _chilkat.CkCSP_get_EncryptAlgorithmID(self)
- def get_HashNumBits(self): return _chilkat.CkCSP_get_HashNumBits(self)
- def get_EncryptNumBits(self): return _chilkat.CkCSP_get_EncryptNumBits(self)
- def get_HashAlgorithm(self, *args): return _chilkat.CkCSP_get_HashAlgorithm(self, *args)
- def get_EncryptAlgorithm(self, *args): return _chilkat.CkCSP_get_EncryptAlgorithm(self, *args)
- def GetKeyContainerName(self, *args): return _chilkat.CkCSP_GetKeyContainerName(self, *args)
- def get_NumKeyContainers(self): return _chilkat.CkCSP_get_NumKeyContainers(self)
- def GetSignatureNumBits(self, *args): return _chilkat.CkCSP_GetSignatureNumBits(self, *args)
- def GetSignatureAlgorithm(self, *args): return _chilkat.CkCSP_GetSignatureAlgorithm(self, *args)
- def GetKeyExchangeNumBits(self, *args): return _chilkat.CkCSP_GetKeyExchangeNumBits(self, *args)
- def GetKeyExchangeAlgorithm(self, *args): return _chilkat.CkCSP_GetKeyExchangeAlgorithm(self, *args)
- def GetHashNumBits(self, *args): return _chilkat.CkCSP_GetHashNumBits(self, *args)
- def GetHashAlgorithm(self, *args): return _chilkat.CkCSP_GetHashAlgorithm(self, *args)
- def GetEncryptionNumBits(self, *args): return _chilkat.CkCSP_GetEncryptionNumBits(self, *args)
- def GetEncryptionAlgorithm(self, *args): return _chilkat.CkCSP_GetEncryptionAlgorithm(self, *args)
- def get_KeyContainerName(self, *args): return _chilkat.CkCSP_get_KeyContainerName(self, *args)
- def put_KeyContainerName(self, *args): return _chilkat.CkCSP_put_KeyContainerName(self, *args)
- def get_ProviderName(self, *args): return _chilkat.CkCSP_get_ProviderName(self, *args)
- def put_ProviderName(self, *args): return _chilkat.CkCSP_put_ProviderName(self, *args)
- def get_NumKeyExchangeAlgorithms(self): return _chilkat.CkCSP_get_NumKeyExchangeAlgorithms(self)
- def get_NumSignatureAlgorithms(self): return _chilkat.CkCSP_get_NumSignatureAlgorithms(self)
- def get_NumEncryptAlgorithms(self): return _chilkat.CkCSP_get_NumEncryptAlgorithms(self)
- def get_NumHashAlgorithms(self): return _chilkat.CkCSP_get_NumHashAlgorithms(self)
- def SaveLastError(self, *args): return _chilkat.CkCSP_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkCSP_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkCSP_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkCSP_LastErrorText(self, *args)
-CkCSP_swigregister = _chilkat.CkCSP_swigregister
-CkCSP_swigregister(CkCSP)
-
-class CkCert(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkCert, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkCert, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkCert()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkCert
- __del__ = lambda self : None;
- def CheckRevoked(self): return _chilkat.CkCert_CheckRevoked(self)
- def get_Sha1Thumbprint(self, *args): return _chilkat.CkCert_get_Sha1Thumbprint(self, *args)
- def ExportCertXml(self, *args): return _chilkat.CkCert_ExportCertXml(self, *args)
- def exportCertXml(self): return _chilkat.CkCert_exportCertXml(self)
- def get_VerboseLogging(self): return _chilkat.CkCert_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkCert_put_VerboseLogging(self, *args)
- def get_CertVersion(self): return _chilkat.CkCert_get_CertVersion(self)
- def SetPrivateKey(self, *args): return _chilkat.CkCert_SetPrivateKey(self, *args)
- def get_OcspUrl(self, *args): return _chilkat.CkCert_get_OcspUrl(self, *args)
- def ocspUrl(self): return _chilkat.CkCert_ocspUrl(self)
- def FindIssuer(self): return _chilkat.CkCert_FindIssuer(self)
- def LoadByIssuerAndSerialNumber(self, *args): return _chilkat.CkCert_LoadByIssuerAndSerialNumber(self, *args)
- def get_SelfSigned(self): return _chilkat.CkCert_get_SelfSigned(self)
- def SetPrivateKeyPem(self, *args): return _chilkat.CkCert_SetPrivateKeyPem(self, *args)
- def GetPrivateKeyPem(self, *args): return _chilkat.CkCert_GetPrivateKeyPem(self, *args)
- def getPrivateKeyPem(self): return _chilkat.CkCert_getPrivateKeyPem(self)
- def getEncoded(self): return _chilkat.CkCert_getEncoded(self)
- def issuerE(self): return _chilkat.CkCert_issuerE(self)
- def issuerC(self): return _chilkat.CkCert_issuerC(self)
- def issuerS(self): return _chilkat.CkCert_issuerS(self)
- def issuerL(self): return _chilkat.CkCert_issuerL(self)
- def issuerO(self): return _chilkat.CkCert_issuerO(self)
- def issuerOU(self): return _chilkat.CkCert_issuerOU(self)
- def issuerCN(self): return _chilkat.CkCert_issuerCN(self)
- def issuerDN(self): return _chilkat.CkCert_issuerDN(self)
- def subjectE(self): return _chilkat.CkCert_subjectE(self)
- def subjectC(self): return _chilkat.CkCert_subjectC(self)
- def subjectS(self): return _chilkat.CkCert_subjectS(self)
- def subjectL(self): return _chilkat.CkCert_subjectL(self)
- def subjectO(self): return _chilkat.CkCert_subjectO(self)
- def subjectOU(self): return _chilkat.CkCert_subjectOU(self)
- def subjectCN(self): return _chilkat.CkCert_subjectCN(self)
- def subjectDN(self): return _chilkat.CkCert_subjectDN(self)
- def sha1Thumbprint(self): return _chilkat.CkCert_sha1Thumbprint(self)
- def rfc822Name(self): return _chilkat.CkCert_rfc822Name(self)
- def serialNumber(self): return _chilkat.CkCert_serialNumber(self)
- def version(self): return _chilkat.CkCert_version(self)
- def lastErrorText(self): return _chilkat.CkCert_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkCert_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkCert_lastErrorHtml(self)
- def get_IntendedKeyUsage(self): return _chilkat.CkCert_get_IntendedKeyUsage(self)
- def LoadPfxFile(self, *args): return _chilkat.CkCert_LoadPfxFile(self, *args)
- def LoadPfxData(self, *args): return _chilkat.CkCert_LoadPfxData(self, *args)
- def LoadPfxData2(self, *args): return _chilkat.CkCert_LoadPfxData2(self, *args)
- def ExportToPfxFile(self, *args): return _chilkat.CkCert_ExportToPfxFile(self, *args)
- def get_Utf8(self): return _chilkat.CkCert_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkCert_put_Utf8(self, *args)
- def LoadFromFile(self, *args): return _chilkat.CkCert_LoadFromFile(self, *args)
- def LoadFromBase64(self, *args): return _chilkat.CkCert_LoadFromBase64(self, *args)
- def LoadFromBinary(self, *args): return _chilkat.CkCert_LoadFromBinary(self, *args)
- def SetFromEncoded(self, *args): return _chilkat.CkCert_SetFromEncoded(self, *args)
- def GetEncoded(self, *args): return _chilkat.CkCert_GetEncoded(self, *args)
- def get_IsRoot(self): return _chilkat.CkCert_get_IsRoot(self)
- def get_IssuerE(self, *args): return _chilkat.CkCert_get_IssuerE(self, *args)
- def get_IssuerC(self, *args): return _chilkat.CkCert_get_IssuerC(self, *args)
- def get_IssuerS(self, *args): return _chilkat.CkCert_get_IssuerS(self, *args)
- def get_IssuerL(self, *args): return _chilkat.CkCert_get_IssuerL(self, *args)
- def get_IssuerO(self, *args): return _chilkat.CkCert_get_IssuerO(self, *args)
- def get_IssuerOU(self, *args): return _chilkat.CkCert_get_IssuerOU(self, *args)
- def get_IssuerCN(self, *args): return _chilkat.CkCert_get_IssuerCN(self, *args)
- def get_IssuerDN(self, *args): return _chilkat.CkCert_get_IssuerDN(self, *args)
- def get_SubjectE(self, *args): return _chilkat.CkCert_get_SubjectE(self, *args)
- def get_SubjectC(self, *args): return _chilkat.CkCert_get_SubjectC(self, *args)
- def get_SubjectS(self, *args): return _chilkat.CkCert_get_SubjectS(self, *args)
- def get_SubjectL(self, *args): return _chilkat.CkCert_get_SubjectL(self, *args)
- def get_SubjectO(self, *args): return _chilkat.CkCert_get_SubjectO(self, *args)
- def get_SubjectOU(self, *args): return _chilkat.CkCert_get_SubjectOU(self, *args)
- def get_SubjectCN(self, *args): return _chilkat.CkCert_get_SubjectCN(self, *args)
- def get_SubjectDN(self, *args): return _chilkat.CkCert_get_SubjectDN(self, *args)
- def get_SignatureVerified(self): return _chilkat.CkCert_get_SignatureVerified(self)
- def get_TrustedRoot(self): return _chilkat.CkCert_get_TrustedRoot(self)
- def get_Revoked(self): return _chilkat.CkCert_get_Revoked(self)
- def get_Expired(self): return _chilkat.CkCert_get_Expired(self)
- def HasPrivateKey(self): return _chilkat.CkCert_HasPrivateKey(self)
- def SaveToFile(self, *args): return _chilkat.CkCert_SaveToFile(self, *args)
- def get_Rfc822Name(self, *args): return _chilkat.CkCert_get_Rfc822Name(self, *args)
- def get_ValidTo(self, *args): return _chilkat.CkCert_get_ValidTo(self, *args)
- def get_ValidFrom(self, *args): return _chilkat.CkCert_get_ValidFrom(self, *args)
- def get_SerialNumber(self, *args): return _chilkat.CkCert_get_SerialNumber(self, *args)
- def get_ForTimeStamping(self): return _chilkat.CkCert_get_ForTimeStamping(self)
- def get_ForCodeSigning(self): return _chilkat.CkCert_get_ForCodeSigning(self)
- def get_ForClientAuthentication(self): return _chilkat.CkCert_get_ForClientAuthentication(self)
- def get_ForServerAuthentication(self): return _chilkat.CkCert_get_ForServerAuthentication(self)
- def get_ForSecureEmail(self): return _chilkat.CkCert_get_ForSecureEmail(self)
- def get_Version(self, *args): return _chilkat.CkCert_get_Version(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkCert_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkCert_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkCert_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkCert_LastErrorText(self, *args)
- def get_HasKeyContainer(self): return _chilkat.CkCert_get_HasKeyContainer(self)
- def get_KeyContainerName(self, *args): return _chilkat.CkCert_get_KeyContainerName(self, *args)
- def keyContainerName(self): return _chilkat.CkCert_keyContainerName(self)
- def get_CspName(self, *args): return _chilkat.CkCert_get_CspName(self, *args)
- def cspName(self): return _chilkat.CkCert_cspName(self)
- def get_MachineKeyset(self): return _chilkat.CkCert_get_MachineKeyset(self)
- def get_Silent(self): return _chilkat.CkCert_get_Silent(self)
- def LoadByEmailAddress(self, *args): return _chilkat.CkCert_LoadByEmailAddress(self, *args)
- def LoadByCommonName(self, *args): return _chilkat.CkCert_LoadByCommonName(self, *args)
- def ExportCertPem(self, *args): return _chilkat.CkCert_ExportCertPem(self, *args)
- def ExportCertPemFile(self, *args): return _chilkat.CkCert_ExportCertPemFile(self, *args)
- def ExportCertDer(self, *args): return _chilkat.CkCert_ExportCertDer(self, *args)
- def ExportCertDerFile(self, *args): return _chilkat.CkCert_ExportCertDerFile(self, *args)
- def PemFileToDerFile(self, *args): return _chilkat.CkCert_PemFileToDerFile(self, *args)
- def ExportPublicKey(self): return _chilkat.CkCert_ExportPublicKey(self)
- def ExportPrivateKey(self): return _chilkat.CkCert_ExportPrivateKey(self)
- def LinkPrivateKey(self, *args): return _chilkat.CkCert_LinkPrivateKey(self, *args)
- def exportCertPem(self): return _chilkat.CkCert_exportCertPem(self)
-CkCert_swigregister = _chilkat.CkCert_swigregister
-CkCert_swigregister(CkCert)
-
-class CkCertStore(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkCertStore, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkCertStore, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkCertStore()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkCertStore
- __del__ = lambda self : None;
- def CreateFileStore(self, *args): return _chilkat.CkCertStore_CreateFileStore(self, *args)
- def CreateMemoryStore(self): return _chilkat.CkCertStore_CreateMemoryStore(self)
- def CreateRegistryStore(self, *args): return _chilkat.CkCertStore_CreateRegistryStore(self, *args)
- def FindCertByRfc822Name(self, *args): return _chilkat.CkCertStore_FindCertByRfc822Name(self, *args)
- def OpenChilkatStore(self, *args): return _chilkat.CkCertStore_OpenChilkatStore(self, *args)
- def OpenCurrentUserStore(self, *args): return _chilkat.CkCertStore_OpenCurrentUserStore(self, *args)
- def OpenFileStore(self, *args): return _chilkat.CkCertStore_OpenFileStore(self, *args)
- def OpenOutlookStore(self, *args): return _chilkat.CkCertStore_OpenOutlookStore(self, *args)
- def OpenRegistryStore(self, *args): return _chilkat.CkCertStore_OpenRegistryStore(self, *args)
- def FindCertBySha1Thumbprint(self, *args): return _chilkat.CkCertStore_FindCertBySha1Thumbprint(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkCertStore_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkCertStore_put_VerboseLogging(self, *args)
- def lastErrorText(self): return _chilkat.CkCertStore_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkCertStore_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkCertStore_lastErrorHtml(self)
- def version(self): return _chilkat.CkCertStore_version(self)
- def get_Utf8(self): return _chilkat.CkCertStore_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkCertStore_put_Utf8(self, *args)
- def LoadPfxFile(self, *args): return _chilkat.CkCertStore_LoadPfxFile(self, *args)
- def LoadPfxData(self, *args): return _chilkat.CkCertStore_LoadPfxData(self, *args)
- def LoadPfxData2(self, *args): return _chilkat.CkCertStore_LoadPfxData2(self, *args)
- def FindCertBySerial(self, *args): return _chilkat.CkCertStore_FindCertBySerial(self, *args)
- def FindCertBySubjectE(self, *args): return _chilkat.CkCertStore_FindCertBySubjectE(self, *args)
- def FindCertBySubjectO(self, *args): return _chilkat.CkCertStore_FindCertBySubjectO(self, *args)
- def FindCertBySubjectCN(self, *args): return _chilkat.CkCertStore_FindCertBySubjectCN(self, *args)
- def FindCertBySubject(self, *args): return _chilkat.CkCertStore_FindCertBySubject(self, *args)
- def GetEmailCert(self, *args): return _chilkat.CkCertStore_GetEmailCert(self, *args)
- def FindCertForEmail(self, *args): return _chilkat.CkCertStore_FindCertForEmail(self, *args)
- def GetCertificate(self, *args): return _chilkat.CkCertStore_GetCertificate(self, *args)
- def get_NumEmailCerts(self): return _chilkat.CkCertStore_get_NumEmailCerts(self)
- def RemoveCertificate(self, *args): return _chilkat.CkCertStore_RemoveCertificate(self, *args)
- def AddCertificate(self, *args): return _chilkat.CkCertStore_AddCertificate(self, *args)
- def get_NumCertificates(self): return _chilkat.CkCertStore_get_NumCertificates(self)
- def get_Version(self, *args): return _chilkat.CkCertStore_get_Version(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkCertStore_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkCertStore_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkCertStore_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkCertStore_LastErrorText(self, *args)
-CkCertStore_swigregister = _chilkat.CkCertStore_swigregister
-CkCertStore_swigregister(CkCertStore)
-
-class CkCreateCS(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkCreateCS, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkCreateCS, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkCreateCS()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkCreateCS
- __del__ = lambda self : None;
- def lastErrorText(self): return _chilkat.CkCreateCS_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkCreateCS_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkCreateCS_lastErrorHtml(self)
- def get_Utf8(self): return _chilkat.CkCreateCS_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkCreateCS_put_Utf8(self, *args)
- def get_ReadOnly(self): return _chilkat.CkCreateCS_get_ReadOnly(self)
- def put_ReadOnly(self, *args): return _chilkat.CkCreateCS_put_ReadOnly(self, *args)
- def get_Version(self, *args): return _chilkat.CkCreateCS_get_Version(self, *args)
- def CreateRegistryStore(self, *args): return _chilkat.CkCreateCS_CreateRegistryStore(self, *args)
- def OpenRegistryStore(self, *args): return _chilkat.CkCreateCS_OpenRegistryStore(self, *args)
- def CreateFileStore(self, *args): return _chilkat.CkCreateCS_CreateFileStore(self, *args)
- def OpenFileStore(self, *args): return _chilkat.CkCreateCS_OpenFileStore(self, *args)
- def CreateMemoryStore(self): return _chilkat.CkCreateCS_CreateMemoryStore(self)
- def OpenChilkatStore(self): return _chilkat.CkCreateCS_OpenChilkatStore(self)
- def OpenOutlookStore(self): return _chilkat.CkCreateCS_OpenOutlookStore(self)
- def OpenLocalSystemStore(self): return _chilkat.CkCreateCS_OpenLocalSystemStore(self)
- def OpenCurrentUserStore(self): return _chilkat.CkCreateCS_OpenCurrentUserStore(self)
- def SaveLastError(self, *args): return _chilkat.CkCreateCS_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkCreateCS_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkCreateCS_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkCreateCS_LastErrorText(self, *args)
-CkCreateCS_swigregister = _chilkat.CkCreateCS_swigregister
-CkCreateCS_swigregister(CkCreateCS)
-
-class CkMime(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkMime, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkMime, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkMime()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkMime
- __del__ = lambda self : None;
- def Convert8Bit(self): return _chilkat.CkMime_Convert8Bit(self)
- def get_UseMmDescription(self): return _chilkat.CkMime_get_UseMmDescription(self)
- def put_UseMmDescription(self, *args): return _chilkat.CkMime_put_UseMmDescription(self, *args)
- def GetMimeBytes(self, *args): return _chilkat.CkMime_GetMimeBytes(self, *args)
- def ExtractPartsToFiles(self, *args): return _chilkat.CkMime_ExtractPartsToFiles(self, *args)
- def AsnBodyToXml(self, *args): return _chilkat.CkMime_AsnBodyToXml(self, *args)
- def asnBodyToXml(self): return _chilkat.CkMime_asnBodyToXml(self)
- def get_CurrentDateTime(self, *args): return _chilkat.CkMime_get_CurrentDateTime(self, *args)
- def currentDateTime(self): return _chilkat.CkMime_currentDateTime(self)
- def EncryptN(self): return _chilkat.CkMime_EncryptN(self)
- def AddEncryptCert(self, *args): return _chilkat.CkMime_AddEncryptCert(self, *args)
- def ClearEncryptCerts(self): return _chilkat.CkMime_ClearEncryptCerts(self)
- def SetBody(self, *args): return _chilkat.CkMime_SetBody(self, *args)
- def UrlEncodeBody(self, *args): return _chilkat.CkMime_UrlEncodeBody(self, *args)
- def AddContentLength(self): return _chilkat.CkMime_AddContentLength(self)
- def get_VerboseLogging(self): return _chilkat.CkMime_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkMime_put_VerboseLogging(self, *args)
- def DecryptUsingPfxData(self, *args): return _chilkat.CkMime_DecryptUsingPfxData(self, *args)
- def DecryptUsingPfxFile(self, *args): return _chilkat.CkMime_DecryptUsingPfxFile(self, *args)
- def AddPfxSourceData(self, *args): return _chilkat.CkMime_AddPfxSourceData(self, *args)
- def AddPfxSourceFile(self, *args): return _chilkat.CkMime_AddPfxSourceFile(self, *args)
- def get_Pkcs7CryptAlg(self, *args): return _chilkat.CkMime_get_Pkcs7CryptAlg(self, *args)
- def pkcs7CryptAlg(self): return _chilkat.CkMime_pkcs7CryptAlg(self)
- def put_Pkcs7CryptAlg(self, *args): return _chilkat.CkMime_put_Pkcs7CryptAlg(self, *args)
- def get_Pkcs7KeyLength(self): return _chilkat.CkMime_get_Pkcs7KeyLength(self)
- def put_Pkcs7KeyLength(self, *args): return _chilkat.CkMime_put_Pkcs7KeyLength(self, *args)
- def get_SigningHashAlg(self, *args): return _chilkat.CkMime_get_SigningHashAlg(self, *args)
- def signingHashAlg(self): return _chilkat.CkMime_signingHashAlg(self)
- def put_SigningHashAlg(self, *args): return _chilkat.CkMime_put_SigningHashAlg(self, *args)
- def GetHeaderFieldAttribute(self, *args): return _chilkat.CkMime_GetHeaderFieldAttribute(self, *args)
- def getHeaderFieldAttribute(self, *args): return _chilkat.CkMime_getHeaderFieldAttribute(self, *args)
- def HasSignatureSigningTime(self, *args): return _chilkat.CkMime_HasSignatureSigningTime(self, *args)
- def GetSignatureSigningTime(self, *args): return _chilkat.CkMime_GetSignatureSigningTime(self, *args)
- def RemoveHeaderField(self, *args): return _chilkat.CkMime_RemoveHeaderField(self, *args)
- def entireHead(self): return _chilkat.CkMime_entireHead(self)
- def entireBody(self): return _chilkat.CkMime_entireBody(self)
- def xml(self): return _chilkat.CkMime_xml(self)
- def mime(self): return _chilkat.CkMime_mime(self)
- def bodyEncoded(self): return _chilkat.CkMime_bodyEncoded(self)
- def bodyDecoded(self): return _chilkat.CkMime_bodyDecoded(self)
- def charset(self): return _chilkat.CkMime_charset(self)
- def disposition(self): return _chilkat.CkMime_disposition(self)
- def encoding(self): return _chilkat.CkMime_encoding(self)
- def contentType(self): return _chilkat.CkMime_contentType(self)
- def filename(self): return _chilkat.CkMime_filename(self)
- def name(self): return _chilkat.CkMime_name(self)
- def boundary(self): return _chilkat.CkMime_boundary(self)
- def micalg(self): return _chilkat.CkMime_micalg(self)
- def protocol(self): return _chilkat.CkMime_protocol(self)
- def header(self, *args): return _chilkat.CkMime_header(self, *args)
- def headerName(self, *args): return _chilkat.CkMime_headerName(self, *args)
- def headerValue(self, *args): return _chilkat.CkMime_headerValue(self, *args)
- def getHeaderField(self, *args): return _chilkat.CkMime_getHeaderField(self, *args)
- def getHeaderFieldName(self, *args): return _chilkat.CkMime_getHeaderFieldName(self, *args)
- def getHeaderFieldValue(self, *args): return _chilkat.CkMime_getHeaderFieldValue(self, *args)
- def getEntireHead(self): return _chilkat.CkMime_getEntireHead(self)
- def getEntireBody(self): return _chilkat.CkMime_getEntireBody(self)
- def getXml(self): return _chilkat.CkMime_getXml(self)
- def getMime(self): return _chilkat.CkMime_getMime(self)
- def getBodyEncoded(self): return _chilkat.CkMime_getBodyEncoded(self)
- def getBodyDecoded(self): return _chilkat.CkMime_getBodyDecoded(self)
- def lastErrorText(self): return _chilkat.CkMime_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkMime_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkMime_lastErrorHtml(self)
- def get_Utf8(self): return _chilkat.CkMime_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkMime_put_Utf8(self, *args)
- def get_Version(self, *args): return _chilkat.CkMime_get_Version(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkMime_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkMime_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkMime_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkMime_LastErrorText(self, *args)
- def AddDetachedSignaturePk(self, *args): return _chilkat.CkMime_AddDetachedSignaturePk(self, *args)
- def AddDetachedSignaturePk2(self, *args): return _chilkat.CkMime_AddDetachedSignaturePk2(self, *args)
- def ConvertToSignedPk(self, *args): return _chilkat.CkMime_ConvertToSignedPk(self, *args)
- def Decrypt(self): return _chilkat.CkMime_Decrypt(self)
- def Decrypt2(self, *args): return _chilkat.CkMime_Decrypt2(self, *args)
- def Verify(self): return _chilkat.CkMime_Verify(self)
- def ConvertToMultipartMixed(self): return _chilkat.CkMime_ConvertToMultipartMixed(self)
- def ConvertToMultipartAlt(self): return _chilkat.CkMime_ConvertToMultipartAlt(self)
- def SetBodyFromPlainText(self, *args): return _chilkat.CkMime_SetBodyFromPlainText(self, *args)
- def SetHeaderField(self, *args): return _chilkat.CkMime_SetHeaderField(self, *args)
- def GetHeaderField(self, *args): return _chilkat.CkMime_GetHeaderField(self, *args)
- def GetHeaderFieldName(self, *args): return _chilkat.CkMime_GetHeaderFieldName(self, *args)
- def GetHeaderFieldValue(self, *args): return _chilkat.CkMime_GetHeaderFieldValue(self, *args)
- def AddDetachedSignature2(self, *args): return _chilkat.CkMime_AddDetachedSignature2(self, *args)
- def AddHeaderField(self, *args): return _chilkat.CkMime_AddHeaderField(self, *args)
- def SetVerifyCert(self, *args): return _chilkat.CkMime_SetVerifyCert(self, *args)
- def LoadMimeFile(self, *args): return _chilkat.CkMime_LoadMimeFile(self, *args)
- def LoadMime(self, *args): return _chilkat.CkMime_LoadMime(self, *args)
- def SaveMime(self, *args): return _chilkat.CkMime_SaveMime(self, *args)
- def ToEmailObject(self): return _chilkat.CkMime_ToEmailObject(self)
- def get_NumParts(self): return _chilkat.CkMime_get_NumParts(self)
- def GetPart(self, *args): return _chilkat.CkMime_GetPart(self, *args)
- def get_Protocol(self, *args): return _chilkat.CkMime_get_Protocol(self, *args)
- def put_Protocol(self, *args): return _chilkat.CkMime_put_Protocol(self, *args)
- def get_Micalg(self, *args): return _chilkat.CkMime_get_Micalg(self, *args)
- def put_Micalg(self, *args): return _chilkat.CkMime_put_Micalg(self, *args)
- def get_Boundary(self, *args): return _chilkat.CkMime_get_Boundary(self, *args)
- def put_Boundary(self, *args): return _chilkat.CkMime_put_Boundary(self, *args)
- def get_Name(self, *args): return _chilkat.CkMime_get_Name(self, *args)
- def put_Name(self, *args): return _chilkat.CkMime_put_Name(self, *args)
- def get_Filename(self, *args): return _chilkat.CkMime_get_Filename(self, *args)
- def put_Filename(self, *args): return _chilkat.CkMime_put_Filename(self, *args)
- def get_Charset(self, *args): return _chilkat.CkMime_get_Charset(self, *args)
- def put_Charset(self, *args): return _chilkat.CkMime_put_Charset(self, *args)
- def get_Disposition(self, *args): return _chilkat.CkMime_get_Disposition(self, *args)
- def put_Disposition(self, *args): return _chilkat.CkMime_put_Disposition(self, *args)
- def get_Encoding(self, *args): return _chilkat.CkMime_get_Encoding(self, *args)
- def put_Encoding(self, *args): return _chilkat.CkMime_put_Encoding(self, *args)
- def get_ContentType(self, *args): return _chilkat.CkMime_get_ContentType(self, *args)
- def put_ContentType(self, *args): return _chilkat.CkMime_put_ContentType(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkMime_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkMime_IsUnlocked(self)
- def get_NumHeaderFields(self): return _chilkat.CkMime_get_NumHeaderFields(self)
- def get_NumSignerCerts(self): return _chilkat.CkMime_get_NumSignerCerts(self)
- def get_NumEncryptCerts(self): return _chilkat.CkMime_get_NumEncryptCerts(self)
- def get_UnwrapExtras(self): return _chilkat.CkMime_get_UnwrapExtras(self)
- def put_UnwrapExtras(self, *args): return _chilkat.CkMime_put_UnwrapExtras(self, *args)
- def SetCSP(self, *args): return _chilkat.CkMime_SetCSP(self, *args)
- def AppendPart(self, *args): return _chilkat.CkMime_AppendPart(self, *args)
- def AppendPartFromFile(self, *args): return _chilkat.CkMime_AppendPartFromFile(self, *args)
- def NewMultipartMixed(self): return _chilkat.CkMime_NewMultipartMixed(self)
- def NewMultipartRelated(self): return _chilkat.CkMime_NewMultipartRelated(self)
- def NewMultipartAlternative(self): return _chilkat.CkMime_NewMultipartAlternative(self)
- def NewMessageRfc822(self, *args): return _chilkat.CkMime_NewMessageRfc822(self, *args)
- def SaveBody(self, *args): return _chilkat.CkMime_SaveBody(self, *args)
- def IsMultipart(self): return _chilkat.CkMime_IsMultipart(self)
- def IsPlainText(self): return _chilkat.CkMime_IsPlainText(self)
- def IsHtml(self): return _chilkat.CkMime_IsHtml(self)
- def IsXml(self): return _chilkat.CkMime_IsXml(self)
- def IsSigned(self): return _chilkat.CkMime_IsSigned(self)
- def IsEncrypted(self): return _chilkat.CkMime_IsEncrypted(self)
- def IsMultipartMixed(self): return _chilkat.CkMime_IsMultipartMixed(self)
- def IsMultipartAlternative(self): return _chilkat.CkMime_IsMultipartAlternative(self)
- def IsMultipartRelated(self): return _chilkat.CkMime_IsMultipartRelated(self)
- def IsAttachment(self): return _chilkat.CkMime_IsAttachment(self)
- def IsText(self): return _chilkat.CkMime_IsText(self)
- def IsApplicationData(self): return _chilkat.CkMime_IsApplicationData(self)
- def IsImage(self): return _chilkat.CkMime_IsImage(self)
- def IsAudio(self): return _chilkat.CkMime_IsAudio(self)
- def IsVideo(self): return _chilkat.CkMime_IsVideo(self)
- def GetBodyBinary(self, *args): return _chilkat.CkMime_GetBodyBinary(self, *args)
- def GetBodyEncoded(self, *args): return _chilkat.CkMime_GetBodyEncoded(self, *args)
- def GetBodyDecoded(self, *args): return _chilkat.CkMime_GetBodyDecoded(self, *args)
- def SetBodyFromEncoded(self, *args): return _chilkat.CkMime_SetBodyFromEncoded(self, *args)
- def SetBodyFromHtml(self, *args): return _chilkat.CkMime_SetBodyFromHtml(self, *args)
- def SetBodyFromXml(self, *args): return _chilkat.CkMime_SetBodyFromXml(self, *args)
- def SetBodyFromBinary(self, *args): return _chilkat.CkMime_SetBodyFromBinary(self, *args)
- def SetBodyFromFile(self, *args): return _chilkat.CkMime_SetBodyFromFile(self, *args)
- def Encrypt(self, *args): return _chilkat.CkMime_Encrypt(self, *args)
- def ConvertToSigned(self, *args): return _chilkat.CkMime_ConvertToSigned(self, *args)
- def AddDetachedSignature(self, *args): return _chilkat.CkMime_AddDetachedSignature(self, *args)
- def SaveXml(self, *args): return _chilkat.CkMime_SaveXml(self, *args)
- def GetMime(self, *args): return _chilkat.CkMime_GetMime(self, *args)
- def LoadXml(self, *args): return _chilkat.CkMime_LoadXml(self, *args)
- def GetXml(self, *args): return _chilkat.CkMime_GetXml(self, *args)
- def GetEncryptCert(self, *args): return _chilkat.CkMime_GetEncryptCert(self, *args)
- def GetSignerCert(self, *args): return _chilkat.CkMime_GetSignerCert(self, *args)
- def UnwrapSecurity(self): return _chilkat.CkMime_UnwrapSecurity(self)
- def LoadXmlFile(self, *args): return _chilkat.CkMime_LoadXmlFile(self, *args)
- def GetEntireHead(self, *args): return _chilkat.CkMime_GetEntireHead(self, *args)
- def GetEntireBody(self, *args): return _chilkat.CkMime_GetEntireBody(self, *args)
- def RemovePart(self, *args): return _chilkat.CkMime_RemovePart(self, *args)
- def ContainsEncryptedParts(self): return _chilkat.CkMime_ContainsEncryptedParts(self)
- def ContainsSignedParts(self): return _chilkat.CkMime_ContainsSignedParts(self)
-CkMime_swigregister = _chilkat.CkMime_swigregister
-CkMime_swigregister(CkMime)
-
-class CkEmailBundle(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkEmailBundle, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkEmailBundle, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkEmailBundle()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkEmailBundle
- __del__ = lambda self : None;
- def FindByHeader(self, *args): return _chilkat.CkEmailBundle_FindByHeader(self, *args)
- def RemoveEmailByIndex(self, *args): return _chilkat.CkEmailBundle_RemoveEmailByIndex(self, *args)
- def lastErrorText(self): return _chilkat.CkEmailBundle_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkEmailBundle_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkEmailBundle_lastErrorHtml(self)
- def getXml(self): return _chilkat.CkEmailBundle_getXml(self)
- def get_Utf8(self): return _chilkat.CkEmailBundle_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkEmailBundle_put_Utf8(self, *args)
- def GetUidls(self): return _chilkat.CkEmailBundle_GetUidls(self)
- def RemoveEmail(self, *args): return _chilkat.CkEmailBundle_RemoveEmail(self, *args)
- def GetEmail(self, *args): return _chilkat.CkEmailBundle_GetEmail(self, *args)
- def AddEmail(self, *args): return _chilkat.CkEmailBundle_AddEmail(self, *args)
- def get_MessageCount(self): return _chilkat.CkEmailBundle_get_MessageCount(self)
- def GetXml(self, *args): return _chilkat.CkEmailBundle_GetXml(self, *args)
- def SaveXml(self, *args): return _chilkat.CkEmailBundle_SaveXml(self, *args)
- def LoadXml(self, *args): return _chilkat.CkEmailBundle_LoadXml(self, *args)
- def LoadXmlString(self, *args): return _chilkat.CkEmailBundle_LoadXmlString(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkEmailBundle_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkEmailBundle_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkEmailBundle_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkEmailBundle_LastErrorText(self, *args)
- def SortBySubject(self, *args): return _chilkat.CkEmailBundle_SortBySubject(self, *args)
- def SortBySender(self, *args): return _chilkat.CkEmailBundle_SortBySender(self, *args)
- def SortByRecipient(self, *args): return _chilkat.CkEmailBundle_SortByRecipient(self, *args)
- def SortByDate(self, *args): return _chilkat.CkEmailBundle_SortByDate(self, *args)
-CkEmailBundle_swigregister = _chilkat.CkEmailBundle_swigregister
-CkEmailBundle_swigregister(CkEmailBundle)
-
-class CkMailMan(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkMailMan, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkMailMan, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkMailMan()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkMailMan
- __del__ = lambda self : None;
- def GetSizeByUidl(self, *args): return _chilkat.CkMailMan_GetSizeByUidl(self, *args)
- def SendMimeToList(self, *args): return _chilkat.CkMailMan_SendMimeToList(self, *args)
- def SendToDistributionList(self, *args): return _chilkat.CkMailMan_SendToDistributionList(self, *args)
- def get_ClientIpAddress(self, *args): return _chilkat.CkMailMan_get_ClientIpAddress(self, *args)
- def clientIpAddress(self): return _chilkat.CkMailMan_clientIpAddress(self)
- def put_ClientIpAddress(self, *args): return _chilkat.CkMailMan_put_ClientIpAddress(self, *args)
- def get_Pop3SessionId(self): return _chilkat.CkMailMan_get_Pop3SessionId(self)
- def MxLookupAll(self, *args): return _chilkat.CkMailMan_MxLookupAll(self, *args)
- def DeleteByMsgnum(self, *args): return _chilkat.CkMailMan_DeleteByMsgnum(self, *args)
- def FetchByMsgnum(self, *args): return _chilkat.CkMailMan_FetchByMsgnum(self, *args)
- def FetchMimeByMsgnum(self, *args): return _chilkat.CkMailMan_FetchMimeByMsgnum(self, *args)
- def get_SendBufferSize(self): return _chilkat.CkMailMan_get_SendBufferSize(self)
- def put_SendBufferSize(self, *args): return _chilkat.CkMailMan_put_SendBufferSize(self, *args)
- def SshTunnel(self, *args): return _chilkat.CkMailMan_SshTunnel(self, *args)
- def SshAuthenticatePw(self, *args): return _chilkat.CkMailMan_SshAuthenticatePw(self, *args)
- def SshAuthenticatePk(self, *args): return _chilkat.CkMailMan_SshAuthenticatePk(self, *args)
- def SshCloseTunnel(self, *args): return _chilkat.CkMailMan_SshCloseTunnel(self, *args)
- def get_IncludeRootCert(self): return _chilkat.CkMailMan_get_IncludeRootCert(self)
- def put_IncludeRootCert(self, *args): return _chilkat.CkMailMan_put_IncludeRootCert(self, *args)
- def get_SocksHostname(self, *args): return _chilkat.CkMailMan_get_SocksHostname(self, *args)
- def socksHostname(self): return _chilkat.CkMailMan_socksHostname(self)
- def put_SocksHostname(self, *args): return _chilkat.CkMailMan_put_SocksHostname(self, *args)
- def get_SocksUsername(self, *args): return _chilkat.CkMailMan_get_SocksUsername(self, *args)
- def socksUsername(self): return _chilkat.CkMailMan_socksUsername(self)
- def put_SocksUsername(self, *args): return _chilkat.CkMailMan_put_SocksUsername(self, *args)
- def get_SocksPassword(self, *args): return _chilkat.CkMailMan_get_SocksPassword(self, *args)
- def socksPassword(self): return _chilkat.CkMailMan_socksPassword(self)
- def put_SocksPassword(self, *args): return _chilkat.CkMailMan_put_SocksPassword(self, *args)
- def get_SocksPort(self): return _chilkat.CkMailMan_get_SocksPort(self)
- def put_SocksPort(self, *args): return _chilkat.CkMailMan_put_SocksPort(self, *args)
- def get_SocksVersion(self): return _chilkat.CkMailMan_get_SocksVersion(self)
- def put_SocksVersion(self, *args): return _chilkat.CkMailMan_put_SocksVersion(self, *args)
- def SetSslClientCertPfx(self, *args): return _chilkat.CkMailMan_SetSslClientCertPfx(self, *args)
- def SendMimeBytes(self, *args): return _chilkat.CkMailMan_SendMimeBytes(self, *args)
- def RenderToMimeBytes(self, *args): return _chilkat.CkMailMan_RenderToMimeBytes(self, *args)
- def SendMimeBytesQ(self, *args): return _chilkat.CkMailMan_SendMimeBytesQ(self, *args)
- def get_HttpProxyHostname(self, *args): return _chilkat.CkMailMan_get_HttpProxyHostname(self, *args)
- def httpProxyHostname(self): return _chilkat.CkMailMan_httpProxyHostname(self)
- def put_HttpProxyHostname(self, *args): return _chilkat.CkMailMan_put_HttpProxyHostname(self, *args)
- def get_HttpProxyAuthMethod(self, *args): return _chilkat.CkMailMan_get_HttpProxyAuthMethod(self, *args)
- def httpProxyAuthMethod(self): return _chilkat.CkMailMan_httpProxyAuthMethod(self)
- def put_HttpProxyAuthMethod(self, *args): return _chilkat.CkMailMan_put_HttpProxyAuthMethod(self, *args)
- def get_HttpProxyUsername(self, *args): return _chilkat.CkMailMan_get_HttpProxyUsername(self, *args)
- def httpProxyUsername(self): return _chilkat.CkMailMan_httpProxyUsername(self)
- def put_HttpProxyUsername(self, *args): return _chilkat.CkMailMan_put_HttpProxyUsername(self, *args)
- def get_HttpProxyPassword(self, *args): return _chilkat.CkMailMan_get_HttpProxyPassword(self, *args)
- def httpProxyPassword(self): return _chilkat.CkMailMan_httpProxyPassword(self)
- def put_HttpProxyPassword(self, *args): return _chilkat.CkMailMan_put_HttpProxyPassword(self, *args)
- def get_HttpProxyPort(self): return _chilkat.CkMailMan_get_HttpProxyPort(self)
- def put_HttpProxyPort(self, *args): return _chilkat.CkMailMan_put_HttpProxyPort(self, *args)
- def get_AutoFix(self): return _chilkat.CkMailMan_get_AutoFix(self)
- def put_AutoFix(self, *args): return _chilkat.CkMailMan_put_AutoFix(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkMailMan_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkMailMan_put_VerboseLogging(self, *args)
- def get_Pop3Stls(self): return _chilkat.CkMailMan_get_Pop3Stls(self)
- def put_Pop3Stls(self, *args): return _chilkat.CkMailMan_put_Pop3Stls(self, *args)
- def AddPfxSourceData(self, *args): return _chilkat.CkMailMan_AddPfxSourceData(self, *args)
- def AddPfxSourceFile(self, *args): return _chilkat.CkMailMan_AddPfxSourceFile(self, *args)
- def SmtpSendRawCommand(self, *args): return _chilkat.CkMailMan_SmtpSendRawCommand(self, *args)
- def smtpSendRawCommand(self, *args): return _chilkat.CkMailMan_smtpSendRawCommand(self, *args)
- def Pop3SendRawCommand(self, *args): return _chilkat.CkMailMan_Pop3SendRawCommand(self, *args)
- def pop3SendRawCommand(self, *args): return _chilkat.CkMailMan_pop3SendRawCommand(self, *args)
- def Pop3EndSessionNoQuit(self): return _chilkat.CkMailMan_Pop3EndSessionNoQuit(self)
- def lastErrorText(self): return _chilkat.CkMailMan_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkMailMan_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkMailMan_lastErrorHtml(self)
- def smtpPassword(self): return _chilkat.CkMailMan_smtpPassword(self)
- def smtpUsername(self): return _chilkat.CkMailMan_smtpUsername(self)
- def dsnNotify(self): return _chilkat.CkMailMan_dsnNotify(self)
- def dsnEnvid(self): return _chilkat.CkMailMan_dsnEnvid(self)
- def dsnRet(self): return _chilkat.CkMailMan_dsnRet(self)
- def smtpAuthMethod(self): return _chilkat.CkMailMan_smtpAuthMethod(self)
- def smtpLoginDomain(self): return _chilkat.CkMailMan_smtpLoginDomain(self)
- def filter(self): return _chilkat.CkMailMan_filter(self)
- def popPassword(self): return _chilkat.CkMailMan_popPassword(self)
- def popUsername(self): return _chilkat.CkMailMan_popUsername(self)
- def mailHost(self): return _chilkat.CkMailMan_mailHost(self)
- def heloHostname(self): return _chilkat.CkMailMan_heloHostname(self)
- def lastSendQFilename(self): return _chilkat.CkMailMan_lastSendQFilename(self)
- def version(self): return _chilkat.CkMailMan_version(self)
- def smtpHost(self): return _chilkat.CkMailMan_smtpHost(self)
- def logMailReceivedFilename(self): return _chilkat.CkMailMan_logMailReceivedFilename(self)
- def logMailSentFilename(self): return _chilkat.CkMailMan_logMailSentFilename(self)
- def mxLookup(self, *args): return _chilkat.CkMailMan_mxLookup(self, *args)
- def renderToMime(self, *args): return _chilkat.CkMailMan_renderToMime(self, *args)
- def getMailboxInfoXml(self): return _chilkat.CkMailMan_getMailboxInfoXml(self)
- def VerifyRecipients(self, *args): return _chilkat.CkMailMan_VerifyRecipients(self, *args)
- def SetSslClientCert(self, *args): return _chilkat.CkMailMan_SetSslClientCert(self, *args)
- def GetPop3SslServerCert(self): return _chilkat.CkMailMan_GetPop3SslServerCert(self)
- def GetSmtpSslServerCert(self): return _chilkat.CkMailMan_GetSmtpSslServerCert(self)
- def get_Pop3SslServerCertVerified(self): return _chilkat.CkMailMan_get_Pop3SslServerCertVerified(self)
- def get_SmtpSslServerCertVerified(self): return _chilkat.CkMailMan_get_SmtpSslServerCertVerified(self)
- def GetMailboxSize(self): return _chilkat.CkMailMan_GetMailboxSize(self)
- def GetMailboxCount(self): return _chilkat.CkMailMan_GetMailboxCount(self)
- def Pop3BeginSession(self): return _chilkat.CkMailMan_Pop3BeginSession(self)
- def Pop3EndSession(self): return _chilkat.CkMailMan_Pop3EndSession(self)
- def Pop3Noop(self): return _chilkat.CkMailMan_Pop3Noop(self)
- def Pop3Reset(self): return _chilkat.CkMailMan_Pop3Reset(self)
- def get_Pop3SessionLog(self, *args): return _chilkat.CkMailMan_get_Pop3SessionLog(self, *args)
- def ClearPop3SessionLog(self): return _chilkat.CkMailMan_ClearPop3SessionLog(self)
- def pop3SessionLog(self): return _chilkat.CkMailMan_pop3SessionLog(self)
- def GetMailboxInfoXml(self, *args): return _chilkat.CkMailMan_GetMailboxInfoXml(self, *args)
- def SetDecryptCert2(self, *args): return _chilkat.CkMailMan_SetDecryptCert2(self, *args)
- def get_SmtpSessionLog(self, *args): return _chilkat.CkMailMan_get_SmtpSessionLog(self, *args)
- def ClearSmtpSessionLog(self): return _chilkat.CkMailMan_ClearSmtpSessionLog(self)
- def smtpSessionLog(self): return _chilkat.CkMailMan_smtpSessionLog(self)
- def get_Utf8(self): return _chilkat.CkMailMan_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkMailMan_put_Utf8(self, *args)
- def OpenSmtpConnection(self): return _chilkat.CkMailMan_OpenSmtpConnection(self)
- def CloseSmtpConnection(self): return _chilkat.CkMailMan_CloseSmtpConnection(self)
- def SmtpReset(self): return _chilkat.CkMailMan_SmtpReset(self)
- def SmtpNoop(self): return _chilkat.CkMailMan_SmtpNoop(self)
- def get_HeartbeatMs(self): return _chilkat.CkMailMan_get_HeartbeatMs(self)
- def put_HeartbeatMs(self, *args): return _chilkat.CkMailMan_put_HeartbeatMs(self, *args)
- def get_HeloHostname(self, *args): return _chilkat.CkMailMan_get_HeloHostname(self, *args)
- def put_HeloHostname(self, *args): return _chilkat.CkMailMan_put_HeloHostname(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkMailMan_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkMailMan_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkMailMan_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkMailMan_LastErrorText(self, *args)
- def get_SmtpPassword(self, *args): return _chilkat.CkMailMan_get_SmtpPassword(self, *args)
- def put_SmtpPassword(self, *args): return _chilkat.CkMailMan_put_SmtpPassword(self, *args)
- def get_SmtpUsername(self, *args): return _chilkat.CkMailMan_get_SmtpUsername(self, *args)
- def put_SmtpUsername(self, *args): return _chilkat.CkMailMan_put_SmtpUsername(self, *args)
- def get_DsnNotify(self, *args): return _chilkat.CkMailMan_get_DsnNotify(self, *args)
- def put_DsnNotify(self, *args): return _chilkat.CkMailMan_put_DsnNotify(self, *args)
- def get_DsnEnvid(self, *args): return _chilkat.CkMailMan_get_DsnEnvid(self, *args)
- def put_DsnEnvid(self, *args): return _chilkat.CkMailMan_put_DsnEnvid(self, *args)
- def get_DsnRet(self, *args): return _chilkat.CkMailMan_get_DsnRet(self, *args)
- def put_DsnRet(self, *args): return _chilkat.CkMailMan_put_DsnRet(self, *args)
- def get_LastSmtpStatus(self): return _chilkat.CkMailMan_get_LastSmtpStatus(self)
- def get_ReadTimeout(self): return _chilkat.CkMailMan_get_ReadTimeout(self)
- def put_ReadTimeout(self, *args): return _chilkat.CkMailMan_put_ReadTimeout(self, *args)
- def get_ConnectTimeout(self): return _chilkat.CkMailMan_get_ConnectTimeout(self)
- def put_ConnectTimeout(self, *args): return _chilkat.CkMailMan_put_ConnectTimeout(self, *args)
- def get_ResetDateOnLoad(self): return _chilkat.CkMailMan_get_ResetDateOnLoad(self)
- def put_ResetDateOnLoad(self, *args): return _chilkat.CkMailMan_put_ResetDateOnLoad(self, *args)
- def get_OpaqueSigning(self): return _chilkat.CkMailMan_get_OpaqueSigning(self)
- def put_OpaqueSigning(self, *args): return _chilkat.CkMailMan_put_OpaqueSigning(self, *args)
- def get_AllOrNone(self): return _chilkat.CkMailMan_get_AllOrNone(self)
- def put_AllOrNone(self, *args): return _chilkat.CkMailMan_put_AllOrNone(self, *args)
- def get_Pop3SPA(self): return _chilkat.CkMailMan_get_Pop3SPA(self)
- def put_Pop3SPA(self, *args): return _chilkat.CkMailMan_put_Pop3SPA(self, *args)
- def get_StartTLS(self): return _chilkat.CkMailMan_get_StartTLS(self)
- def put_StartTLS(self, *args): return _chilkat.CkMailMan_put_StartTLS(self, *args)
- def get_EmbedCertChain(self): return _chilkat.CkMailMan_get_EmbedCertChain(self)
- def put_EmbedCertChain(self, *args): return _chilkat.CkMailMan_put_EmbedCertChain(self, *args)
- def get_PopSsl(self): return _chilkat.CkMailMan_get_PopSsl(self)
- def put_PopSsl(self, *args): return _chilkat.CkMailMan_put_PopSsl(self, *args)
- def get_SmtpSsl(self): return _chilkat.CkMailMan_get_SmtpSsl(self)
- def put_SmtpSsl(self, *args): return _chilkat.CkMailMan_put_SmtpSsl(self, *args)
- def get_ImmediateDelete(self): return _chilkat.CkMailMan_get_ImmediateDelete(self)
- def put_ImmediateDelete(self, *args): return _chilkat.CkMailMan_put_ImmediateDelete(self, *args)
- def get_SendIndividual(self): return _chilkat.CkMailMan_get_SendIndividual(self)
- def put_SendIndividual(self, *args): return _chilkat.CkMailMan_put_SendIndividual(self, *args)
- def get_SmtpAuthMethod(self, *args): return _chilkat.CkMailMan_get_SmtpAuthMethod(self, *args)
- def put_SmtpAuthMethod(self, *args): return _chilkat.CkMailMan_put_SmtpAuthMethod(self, *args)
- def get_SmtpLoginDomain(self, *args): return _chilkat.CkMailMan_get_SmtpLoginDomain(self, *args)
- def put_SmtpLoginDomain(self, *args): return _chilkat.CkMailMan_put_SmtpLoginDomain(self, *args)
- def get_Filter(self, *args): return _chilkat.CkMailMan_get_Filter(self, *args)
- def put_Filter(self, *args): return _chilkat.CkMailMan_put_Filter(self, *args)
- def get_SizeLimit(self): return _chilkat.CkMailMan_get_SizeLimit(self)
- def put_SizeLimit(self, *args): return _chilkat.CkMailMan_put_SizeLimit(self, *args)
- def get_MaxCount(self): return _chilkat.CkMailMan_get_MaxCount(self)
- def put_MaxCount(self, *args): return _chilkat.CkMailMan_put_MaxCount(self, *args)
- def get_MailPort(self): return _chilkat.CkMailMan_get_MailPort(self)
- def put_MailPort(self, *args): return _chilkat.CkMailMan_put_MailPort(self, *args)
- def get_SmtpPort(self): return _chilkat.CkMailMan_get_SmtpPort(self)
- def put_SmtpPort(self, *args): return _chilkat.CkMailMan_put_SmtpPort(self, *args)
- def get_PopPassword(self, *args): return _chilkat.CkMailMan_get_PopPassword(self, *args)
- def put_PopPassword(self, *args): return _chilkat.CkMailMan_put_PopPassword(self, *args)
- def put_PopPasswordBase64(self, *args): return _chilkat.CkMailMan_put_PopPasswordBase64(self, *args)
- def get_PopUsername(self, *args): return _chilkat.CkMailMan_get_PopUsername(self, *args)
- def put_PopUsername(self, *args): return _chilkat.CkMailMan_put_PopUsername(self, *args)
- def get_MailHost(self, *args): return _chilkat.CkMailMan_get_MailHost(self, *args)
- def put_MailHost(self, *args): return _chilkat.CkMailMan_put_MailHost(self, *args)
- def get_LastSendQFilename(self, *args): return _chilkat.CkMailMan_get_LastSendQFilename(self, *args)
- def get_Version(self, *args): return _chilkat.CkMailMan_get_Version(self, *args)
- def get_SmtpHost(self, *args): return _chilkat.CkMailMan_get_SmtpHost(self, *args)
- def put_SmtpHost(self, *args): return _chilkat.CkMailMan_put_SmtpHost(self, *args)
- def get_AutoGenMessageId(self): return _chilkat.CkMailMan_get_AutoGenMessageId(self)
- def put_AutoGenMessageId(self, *args): return _chilkat.CkMailMan_put_AutoGenMessageId(self, *args)
- def get_LogMailReceivedFilename(self, *args): return _chilkat.CkMailMan_get_LogMailReceivedFilename(self, *args)
- def put_LogMailReceivedFilename(self, *args): return _chilkat.CkMailMan_put_LogMailReceivedFilename(self, *args)
- def get_LogMailSentFilename(self, *args): return _chilkat.CkMailMan_get_LogMailSentFilename(self, *args)
- def put_LogMailSentFilename(self, *args): return _chilkat.CkMailMan_put_LogMailSentFilename(self, *args)
- def ClearBadEmailAddresses(self): return _chilkat.CkMailMan_ClearBadEmailAddresses(self)
- def GetBadEmailAddresses(self): return _chilkat.CkMailMan_GetBadEmailAddresses(self)
- def GetUidls(self): return _chilkat.CkMailMan_GetUidls(self)
- def IsSmtpDsnCapable(self): return _chilkat.CkMailMan_IsSmtpDsnCapable(self)
- def VerifySmtpLogin(self): return _chilkat.CkMailMan_VerifySmtpLogin(self)
- def VerifySmtpConnection(self): return _chilkat.CkMailMan_VerifySmtpConnection(self)
- def VerifyPopLogin(self): return _chilkat.CkMailMan_VerifyPopLogin(self)
- def VerifyPopConnection(self): return _chilkat.CkMailMan_VerifyPopConnection(self)
- def FetchMultiple(self, *args): return _chilkat.CkMailMan_FetchMultiple(self, *args)
- def FetchMultipleMime(self, *args): return _chilkat.CkMailMan_FetchMultipleMime(self, *args)
- def TransferMultipleMime(self, *args): return _chilkat.CkMailMan_TransferMultipleMime(self, *args)
- def FetchMultipleHeaders(self, *args): return _chilkat.CkMailMan_FetchMultipleHeaders(self, *args)
- def DeleteByUidl(self, *args): return _chilkat.CkMailMan_DeleteByUidl(self, *args)
- def FetchEmail(self, *args): return _chilkat.CkMailMan_FetchEmail(self, *args)
- def FetchMime(self, *args): return _chilkat.CkMailMan_FetchMime(self, *args)
- def DeleteMultiple(self, *args): return _chilkat.CkMailMan_DeleteMultiple(self, *args)
- def DeleteBundle(self, *args): return _chilkat.CkMailMan_DeleteBundle(self, *args)
- def FetchSingleHeader(self, *args): return _chilkat.CkMailMan_FetchSingleHeader(self, *args)
- def FetchSingleHeaderByUidl(self, *args): return _chilkat.CkMailMan_FetchSingleHeaderByUidl(self, *args)
- def GetFullEmail(self, *args): return _chilkat.CkMailMan_GetFullEmail(self, *args)
- def GetHeaders(self, *args): return _chilkat.CkMailMan_GetHeaders(self, *args)
- def DeleteEmail(self, *args): return _chilkat.CkMailMan_DeleteEmail(self, *args)
- def GetAllHeaders(self, *args): return _chilkat.CkMailMan_GetAllHeaders(self, *args)
- def LoadXmlString(self, *args): return _chilkat.CkMailMan_LoadXmlString(self, *args)
- def LoadXmlFile(self, *args): return _chilkat.CkMailMan_LoadXmlFile(self, *args)
- def LoadXmlEmail(self, *args): return _chilkat.CkMailMan_LoadXmlEmail(self, *args)
- def MxLookup(self, *args): return _chilkat.CkMailMan_MxLookup(self, *args)
- def LoadXmlEmailString(self, *args): return _chilkat.CkMailMan_LoadXmlEmailString(self, *args)
- def QuickSend(self, *args): return _chilkat.CkMailMan_QuickSend(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkMailMan_UnlockComponent(self, *args)
- def CheckMail(self): return _chilkat.CkMailMan_CheckMail(self)
- def TransferMail(self): return _chilkat.CkMailMan_TransferMail(self)
- def CopyMail(self): return _chilkat.CkMailMan_CopyMail(self)
- def SendBundle(self, *args): return _chilkat.CkMailMan_SendBundle(self, *args)
- def SendEmail(self, *args): return _chilkat.CkMailMan_SendEmail(self, *args)
- def SendQ(self, *args): return _chilkat.CkMailMan_SendQ(self, *args)
- def SendQ2(self, *args): return _chilkat.CkMailMan_SendQ2(self, *args)
- def LoadMbx(self, *args): return _chilkat.CkMailMan_LoadMbx(self, *args)
- def LoadEml(self, *args): return _chilkat.CkMailMan_LoadEml(self, *args)
- def LoadMime(self, *args): return _chilkat.CkMailMan_LoadMime(self, *args)
- def IsUnlocked(self): return _chilkat.CkMailMan_IsUnlocked(self)
- def RenderToMime(self, *args): return _chilkat.CkMailMan_RenderToMime(self, *args)
- def SendMime(self, *args): return _chilkat.CkMailMan_SendMime(self, *args)
- def SendMimeQ(self, *args): return _chilkat.CkMailMan_SendMimeQ(self, *args)
-CkMailMan_swigregister = _chilkat.CkMailMan_swigregister
-CkMailMan_swigregister(CkMailMan)
-
-class CkGzip(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkGzip, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkGzip, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkGzip()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkGzip
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkGzip_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkGzip_put_Utf8(self, *args)
- def get_Version(self, *args): return _chilkat.CkGzip_get_Version(self, *args)
- def version(self): return _chilkat.CkGzip_version(self)
- def CompressFile2(self, *args): return _chilkat.CkGzip_CompressFile2(self, *args)
- def CompressString(self, *args): return _chilkat.CkGzip_CompressString(self, *args)
- def CompressStringToFile(self, *args): return _chilkat.CkGzip_CompressStringToFile(self, *args)
- def ReadFile(self, *args): return _chilkat.CkGzip_ReadFile(self, *args)
- def UnTarGz(self, *args): return _chilkat.CkGzip_UnTarGz(self, *args)
- def UncompressFileToString(self, *args): return _chilkat.CkGzip_UncompressFileToString(self, *args)
- def uncompressFileToString(self, *args): return _chilkat.CkGzip_uncompressFileToString(self, *args)
- def UncompressString(self, *args): return _chilkat.CkGzip_UncompressString(self, *args)
- def uncompressString(self, *args): return _chilkat.CkGzip_uncompressString(self, *args)
- def WriteFile(self, *args): return _chilkat.CkGzip_WriteFile(self, *args)
- def ExamineFile(self, *args): return _chilkat.CkGzip_ExamineFile(self, *args)
- def ExamineMemory(self, *args): return _chilkat.CkGzip_ExamineMemory(self, *args)
- def Decode(self, *args): return _chilkat.CkGzip_Decode(self, *args)
- def get_UseCurrentDate(self): return _chilkat.CkGzip_get_UseCurrentDate(self)
- def put_UseCurrentDate(self, *args): return _chilkat.CkGzip_put_UseCurrentDate(self, *args)
- def XfdlToXml(self, *args): return _chilkat.CkGzip_XfdlToXml(self, *args)
- def xfdlToXml(self, *args): return _chilkat.CkGzip_xfdlToXml(self, *args)
- def Encode(self, *args): return _chilkat.CkGzip_Encode(self, *args)
- def encode(self, *args): return _chilkat.CkGzip_encode(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkGzip_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkGzip_put_VerboseLogging(self, *args)
- def lastErrorText(self): return _chilkat.CkGzip_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkGzip_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkGzip_lastErrorHtml(self)
- def comment(self): return _chilkat.CkGzip_comment(self)
- def filename(self): return _chilkat.CkGzip_filename(self)
- def DeflateStringENC(self, *args): return _chilkat.CkGzip_DeflateStringENC(self, *args)
- def InflateStringENC(self, *args): return _chilkat.CkGzip_InflateStringENC(self, *args)
- def deflateStringENC(self, *args): return _chilkat.CkGzip_deflateStringENC(self, *args)
- def inflateStringENC(self, *args): return _chilkat.CkGzip_inflateStringENC(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkGzip_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkGzip_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkGzip_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkGzip_LastErrorText(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkGzip_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkGzip_IsUnlocked(self)
- def CompressFile(self, *args): return _chilkat.CkGzip_CompressFile(self, *args)
- def UncompressFile(self, *args): return _chilkat.CkGzip_UncompressFile(self, *args)
- def CompressFileToMem(self, *args): return _chilkat.CkGzip_CompressFileToMem(self, *args)
- def UncompressFileToMem(self, *args): return _chilkat.CkGzip_UncompressFileToMem(self, *args)
- def CompressMemToFile(self, *args): return _chilkat.CkGzip_CompressMemToFile(self, *args)
- def UncompressMemToFile(self, *args): return _chilkat.CkGzip_UncompressMemToFile(self, *args)
- def CompressMemory(self, *args): return _chilkat.CkGzip_CompressMemory(self, *args)
- def UncompressMemory(self, *args): return _chilkat.CkGzip_UncompressMemory(self, *args)
- def get_Filename(self, *args): return _chilkat.CkGzip_get_Filename(self, *args)
- def put_Filename(self, *args): return _chilkat.CkGzip_put_Filename(self, *args)
- def get_Comment(self, *args): return _chilkat.CkGzip_get_Comment(self, *args)
- def put_Comment(self, *args): return _chilkat.CkGzip_put_Comment(self, *args)
- def get_ExtraData(self, *args): return _chilkat.CkGzip_get_ExtraData(self, *args)
- def put_ExtraData(self, *args): return _chilkat.CkGzip_put_ExtraData(self, *args)
- def get_LastMod(self, *args): return _chilkat.CkGzip_get_LastMod(self, *args)
- def put_LastMod(self, *args): return _chilkat.CkGzip_put_LastMod(self, *args)
-CkGzip_swigregister = _chilkat.CkGzip_swigregister
-CkGzip_swigregister(CkGzip)
-
-class CkUnixCompress(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkUnixCompress, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkUnixCompress, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkUnixCompress()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkUnixCompress
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkUnixCompress_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkUnixCompress_put_Utf8(self, *args)
- def UncompressString(self, *args): return _chilkat.CkUnixCompress_UncompressString(self, *args)
- def uncompressString(self, *args): return _chilkat.CkUnixCompress_uncompressString(self, *args)
- def UncompressFileToString(self, *args): return _chilkat.CkUnixCompress_UncompressFileToString(self, *args)
- def uncompressFileToString(self, *args): return _chilkat.CkUnixCompress_uncompressFileToString(self, *args)
- def UnTarZ(self, *args): return _chilkat.CkUnixCompress_UnTarZ(self, *args)
- def CompressStringToFile(self, *args): return _chilkat.CkUnixCompress_CompressStringToFile(self, *args)
- def CompressString(self, *args): return _chilkat.CkUnixCompress_CompressString(self, *args)
- def lastErrorText(self): return _chilkat.CkUnixCompress_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkUnixCompress_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkUnixCompress_lastErrorHtml(self)
- def SaveLastError(self, *args): return _chilkat.CkUnixCompress_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkUnixCompress_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkUnixCompress_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkUnixCompress_LastErrorText(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkUnixCompress_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkUnixCompress_IsUnlocked(self)
- def CompressFile(self, *args): return _chilkat.CkUnixCompress_CompressFile(self, *args)
- def UncompressFile(self, *args): return _chilkat.CkUnixCompress_UncompressFile(self, *args)
- def CompressFileToMem(self, *args): return _chilkat.CkUnixCompress_CompressFileToMem(self, *args)
- def UncompressFileToMem(self, *args): return _chilkat.CkUnixCompress_UncompressFileToMem(self, *args)
- def CompressMemToFile(self, *args): return _chilkat.CkUnixCompress_CompressMemToFile(self, *args)
- def UncompressMemToFile(self, *args): return _chilkat.CkUnixCompress_UncompressMemToFile(self, *args)
- def CompressMemory(self, *args): return _chilkat.CkUnixCompress_CompressMemory(self, *args)
- def UncompressMemory(self, *args): return _chilkat.CkUnixCompress_UncompressMemory(self, *args)
-CkUnixCompress_swigregister = _chilkat.CkUnixCompress_swigregister
-CkUnixCompress_swigregister(CkUnixCompress)
-
-class CkCrypt2(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkCrypt2, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkCrypt2, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkCrypt2()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkCrypt2
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkCrypt2_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkCrypt2_put_Utf8(self, *args)
- def get_IncludeCertChain(self): return _chilkat.CkCrypt2_get_IncludeCertChain(self)
- def put_IncludeCertChain(self, *args): return _chilkat.CkCrypt2_put_IncludeCertChain(self, *args)
- def GenEncodedSecretKey(self, *args): return _chilkat.CkCrypt2_GenEncodedSecretKey(self, *args)
- def ReadFile(self, *args): return _chilkat.CkCrypt2_ReadFile(self, *args)
- def StringToBytes(self, *args): return _chilkat.CkCrypt2_StringToBytes(self, *args)
- def BytesToString(self, *args): return _chilkat.CkCrypt2_BytesToString(self, *args)
- def bytesToString(self, *args): return _chilkat.CkCrypt2_bytesToString(self, *args)
- def TrimEndingWith(self, *args): return _chilkat.CkCrypt2_TrimEndingWith(self, *args)
- def trimEndingWith(self, *args): return _chilkat.CkCrypt2_trimEndingWith(self, *args)
- def WriteFile(self, *args): return _chilkat.CkCrypt2_WriteFile(self, *args)
- def SetDecryptCert(self, *args): return _chilkat.CkCrypt2_SetDecryptCert(self, *args)
- def EncryptEncoded(self, *args): return _chilkat.CkCrypt2_EncryptEncoded(self, *args)
- def encryptEncoded(self, *args): return _chilkat.CkCrypt2_encryptEncoded(self, *args)
- def DecryptEncoded(self, *args): return _chilkat.CkCrypt2_DecryptEncoded(self, *args)
- def decryptEncoded(self, *args): return _chilkat.CkCrypt2_decryptEncoded(self, *args)
- def ReEncode(self, *args): return _chilkat.CkCrypt2_ReEncode(self, *args)
- def reEncode(self, *args): return _chilkat.CkCrypt2_reEncode(self, *args)
- def RandomizeKey(self): return _chilkat.CkCrypt2_RandomizeKey(self)
- def AddEncryptCert(self, *args): return _chilkat.CkCrypt2_AddEncryptCert(self, *args)
- def ClearEncryptCerts(self): return _chilkat.CkCrypt2_ClearEncryptCerts(self)
- def GenRandomBytesENC(self, *args): return _chilkat.CkCrypt2_GenRandomBytesENC(self, *args)
- def genRandomBytesENC(self, *args): return _chilkat.CkCrypt2_genRandomBytesENC(self, *args)
- def Pbkdf1(self, *args): return _chilkat.CkCrypt2_Pbkdf1(self, *args)
- def pbkdf1(self, *args): return _chilkat.CkCrypt2_pbkdf1(self, *args)
- def Pbkdf2(self, *args): return _chilkat.CkCrypt2_Pbkdf2(self, *args)
- def pbkdf2(self, *args): return _chilkat.CkCrypt2_pbkdf2(self, *args)
- def get_PbesPassword(self, *args): return _chilkat.CkCrypt2_get_PbesPassword(self, *args)
- def pbesPassword(self): return _chilkat.CkCrypt2_pbesPassword(self)
- def put_PbesPassword(self, *args): return _chilkat.CkCrypt2_put_PbesPassword(self, *args)
- def get_Salt(self, *args): return _chilkat.CkCrypt2_get_Salt(self, *args)
- def put_Salt(self, *args): return _chilkat.CkCrypt2_put_Salt(self, *args)
- def get_IterationCount(self): return _chilkat.CkCrypt2_get_IterationCount(self)
- def put_IterationCount(self, *args): return _chilkat.CkCrypt2_put_IterationCount(self, *args)
- def SetEncodedSalt(self, *args): return _chilkat.CkCrypt2_SetEncodedSalt(self, *args)
- def GetEncodedSalt(self, *args): return _chilkat.CkCrypt2_GetEncodedSalt(self, *args)
- def getEncodedSalt(self, *args): return _chilkat.CkCrypt2_getEncodedSalt(self, *args)
- def get_PbesAlgorithm(self, *args): return _chilkat.CkCrypt2_get_PbesAlgorithm(self, *args)
- def pbesAlgorithm(self): return _chilkat.CkCrypt2_pbesAlgorithm(self)
- def put_PbesAlgorithm(self, *args): return _chilkat.CkCrypt2_put_PbesAlgorithm(self, *args)
- def HashBeginBytes(self, *args): return _chilkat.CkCrypt2_HashBeginBytes(self, *args)
- def HashBeginString(self, *args): return _chilkat.CkCrypt2_HashBeginString(self, *args)
- def HashMoreString(self, *args): return _chilkat.CkCrypt2_HashMoreString(self, *args)
- def HashMoreBytes(self, *args): return _chilkat.CkCrypt2_HashMoreBytes(self, *args)
- def HashFinal(self, *args): return _chilkat.CkCrypt2_HashFinal(self, *args)
- def HashFinalENC(self, *args): return _chilkat.CkCrypt2_HashFinalENC(self, *args)
- def hashFinalENC(self): return _chilkat.CkCrypt2_hashFinalENC(self)
- def MySqlAesEncrypt(self, *args): return _chilkat.CkCrypt2_MySqlAesEncrypt(self, *args)
- def mySqlAesEncrypt(self, *args): return _chilkat.CkCrypt2_mySqlAesEncrypt(self, *args)
- def MySqlAesDecrypt(self, *args): return _chilkat.CkCrypt2_MySqlAesDecrypt(self, *args)
- def mySqlAesDecrypt(self, *args): return _chilkat.CkCrypt2_mySqlAesDecrypt(self, *args)
- def EncodeString(self, *args): return _chilkat.CkCrypt2_EncodeString(self, *args)
- def encodeString(self, *args): return _chilkat.CkCrypt2_encodeString(self, *args)
- def DecodeString(self, *args): return _chilkat.CkCrypt2_DecodeString(self, *args)
- def decodeString(self, *args): return _chilkat.CkCrypt2_decodeString(self, *args)
- def get_UuMode(self, *args): return _chilkat.CkCrypt2_get_UuMode(self, *args)
- def uuMode(self): return _chilkat.CkCrypt2_uuMode(self)
- def put_UuMode(self, *args): return _chilkat.CkCrypt2_put_UuMode(self, *args)
- def get_UuFilename(self, *args): return _chilkat.CkCrypt2_get_UuFilename(self, *args)
- def uuFilename(self): return _chilkat.CkCrypt2_uuFilename(self)
- def put_UuFilename(self, *args): return _chilkat.CkCrypt2_put_UuFilename(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkCrypt2_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkCrypt2_put_VerboseLogging(self, *args)
- def AddPfxSourceData(self, *args): return _chilkat.CkCrypt2_AddPfxSourceData(self, *args)
- def AddPfxSourceFile(self, *args): return _chilkat.CkCrypt2_AddPfxSourceFile(self, *args)
- def get_Pkcs7CryptAlg(self, *args): return _chilkat.CkCrypt2_get_Pkcs7CryptAlg(self, *args)
- def pkcs7CryptAlg(self): return _chilkat.CkCrypt2_pkcs7CryptAlg(self)
- def put_Pkcs7CryptAlg(self, *args): return _chilkat.CkCrypt2_put_Pkcs7CryptAlg(self, *args)
- def get_FirstChunk(self): return _chilkat.CkCrypt2_get_FirstChunk(self)
- def put_FirstChunk(self, *args): return _chilkat.CkCrypt2_put_FirstChunk(self, *args)
- def get_LastChunk(self): return _chilkat.CkCrypt2_get_LastChunk(self)
- def put_LastChunk(self, *args): return _chilkat.CkCrypt2_put_LastChunk(self, *args)
- def get_BlockSize(self): return _chilkat.CkCrypt2_get_BlockSize(self)
- def genEncodedSecretKey(self, *args): return _chilkat.CkCrypt2_genEncodedSecretKey(self, *args)
- def SetSecretKeyViaPassword(self, *args): return _chilkat.CkCrypt2_SetSecretKeyViaPassword(self, *args)
- def get_HavalRounds(self): return _chilkat.CkCrypt2_get_HavalRounds(self)
- def put_HavalRounds(self, *args): return _chilkat.CkCrypt2_put_HavalRounds(self, *args)
- def get_Rc2EffectiveKeyLength(self): return _chilkat.CkCrypt2_get_Rc2EffectiveKeyLength(self)
- def put_Rc2EffectiveKeyLength(self, *args): return _chilkat.CkCrypt2_put_Rc2EffectiveKeyLength(self, *args)
- def CreateDetachedSignature(self, *args): return _chilkat.CkCrypt2_CreateDetachedSignature(self, *args)
- def VerifyDetachedSignature(self, *args): return _chilkat.CkCrypt2_VerifyDetachedSignature(self, *args)
- def SetSigningCert2(self, *args): return _chilkat.CkCrypt2_SetSigningCert2(self, *args)
- def SetDecryptCert2(self, *args): return _chilkat.CkCrypt2_SetDecryptCert2(self, *args)
- def HashFileENC(self, *args): return _chilkat.CkCrypt2_HashFileENC(self, *args)
- def HashFile(self, *args): return _chilkat.CkCrypt2_HashFile(self, *args)
- def hashFileENC(self, *args): return _chilkat.CkCrypt2_hashFileENC(self, *args)
- def SetHmacKeyBytes(self, *args): return _chilkat.CkCrypt2_SetHmacKeyBytes(self, *args)
- def SetHmacKeyString(self, *args): return _chilkat.CkCrypt2_SetHmacKeyString(self, *args)
- def SetHmacKeyEncoded(self, *args): return _chilkat.CkCrypt2_SetHmacKeyEncoded(self, *args)
- def HmacBytes(self, *args): return _chilkat.CkCrypt2_HmacBytes(self, *args)
- def HmacString(self, *args): return _chilkat.CkCrypt2_HmacString(self, *args)
- def HmacBytesENC(self, *args): return _chilkat.CkCrypt2_HmacBytesENC(self, *args)
- def HmacStringENC(self, *args): return _chilkat.CkCrypt2_HmacStringENC(self, *args)
- def hmacStringENC(self, *args): return _chilkat.CkCrypt2_hmacStringENC(self, *args)
- def hmacBytesENC(self, *args): return _chilkat.CkCrypt2_hmacBytesENC(self, *args)
- def CreateP7S(self, *args): return _chilkat.CkCrypt2_CreateP7S(self, *args)
- def VerifyP7S(self, *args): return _chilkat.CkCrypt2_VerifyP7S(self, *args)
- def CreateP7M(self, *args): return _chilkat.CkCrypt2_CreateP7M(self, *args)
- def VerifyP7M(self, *args): return _chilkat.CkCrypt2_VerifyP7M(self, *args)
- def OpaqueVerifyStringENC(self, *args): return _chilkat.CkCrypt2_OpaqueVerifyStringENC(self, *args)
- def OpaqueVerifyString(self, *args): return _chilkat.CkCrypt2_OpaqueVerifyString(self, *args)
- def OpaqueVerifyBytesENC(self, *args): return _chilkat.CkCrypt2_OpaqueVerifyBytesENC(self, *args)
- def OpaqueVerifyBytes(self, *args): return _chilkat.CkCrypt2_OpaqueVerifyBytes(self, *args)
- def OpaqueSignStringENC(self, *args): return _chilkat.CkCrypt2_OpaqueSignStringENC(self, *args)
- def OpaqueSignBytesENC(self, *args): return _chilkat.CkCrypt2_OpaqueSignBytesENC(self, *args)
- def OpaqueSignString(self, *args): return _chilkat.CkCrypt2_OpaqueSignString(self, *args)
- def OpaqueSignBytes(self, *args): return _chilkat.CkCrypt2_OpaqueSignBytes(self, *args)
- def opaqueSignStringENC(self, *args): return _chilkat.CkCrypt2_opaqueSignStringENC(self, *args)
- def opaqueSignBytesENC(self, *args): return _chilkat.CkCrypt2_opaqueSignBytesENC(self, *args)
- def opaqueVerifyStringENC(self, *args): return _chilkat.CkCrypt2_opaqueVerifyStringENC(self, *args)
- def opaqueVerifyString(self, *args): return _chilkat.CkCrypt2_opaqueVerifyString(self, *args)
- def signStringENC(self, *args): return _chilkat.CkCrypt2_signStringENC(self, *args)
- def signBytesENC(self, *args): return _chilkat.CkCrypt2_signBytesENC(self, *args)
- def inflateStringENC(self, *args): return _chilkat.CkCrypt2_inflateStringENC(self, *args)
- def inflateString(self, *args): return _chilkat.CkCrypt2_inflateString(self, *args)
- def compressStringENC(self, *args): return _chilkat.CkCrypt2_compressStringENC(self, *args)
- def compressBytesENC(self, *args): return _chilkat.CkCrypt2_compressBytesENC(self, *args)
- def encryptStringENC(self, *args): return _chilkat.CkCrypt2_encryptStringENC(self, *args)
- def encryptBytesENC(self, *args): return _chilkat.CkCrypt2_encryptBytesENC(self, *args)
- def decryptString(self, *args): return _chilkat.CkCrypt2_decryptString(self, *args)
- def decryptStringENC(self, *args): return _chilkat.CkCrypt2_decryptStringENC(self, *args)
- def hashStringENC(self, *args): return _chilkat.CkCrypt2_hashStringENC(self, *args)
- def hashBytesENC(self, *args): return _chilkat.CkCrypt2_hashBytesENC(self, *args)
- def getEncodedKey(self, *args): return _chilkat.CkCrypt2_getEncodedKey(self, *args)
- def getEncodedIV(self, *args): return _chilkat.CkCrypt2_getEncodedIV(self, *args)
- def encode(self, *args): return _chilkat.CkCrypt2_encode(self, *args)
- def encodingMode(self): return _chilkat.CkCrypt2_encodingMode(self)
- def compressionAlgorithm(self): return _chilkat.CkCrypt2_compressionAlgorithm(self)
- def cryptAlgorithm(self): return _chilkat.CkCrypt2_cryptAlgorithm(self)
- def hashAlgorithm(self): return _chilkat.CkCrypt2_hashAlgorithm(self)
- def charset(self): return _chilkat.CkCrypt2_charset(self)
- def cipherMode(self): return _chilkat.CkCrypt2_cipherMode(self)
- def version(self): return _chilkat.CkCrypt2_version(self)
- def lastErrorText(self): return _chilkat.CkCrypt2_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkCrypt2_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkCrypt2_lastErrorHtml(self)
- def SetEncodedKey(self, *args): return _chilkat.CkCrypt2_SetEncodedKey(self, *args)
- def SetEncodedIV(self, *args): return _chilkat.CkCrypt2_SetEncodedIV(self, *args)
- def GetEncodedKey(self, *args): return _chilkat.CkCrypt2_GetEncodedKey(self, *args)
- def GetEncodedIV(self, *args): return _chilkat.CkCrypt2_GetEncodedIV(self, *args)
- def Encode(self, *args): return _chilkat.CkCrypt2_Encode(self, *args)
- def Decode(self, *args): return _chilkat.CkCrypt2_Decode(self, *args)
- def RandomizeIV(self): return _chilkat.CkCrypt2_RandomizeIV(self)
- def SetCSP(self, *args): return _chilkat.CkCrypt2_SetCSP(self, *args)
- def GetLastCert(self): return _chilkat.CkCrypt2_GetLastCert(self)
- def SetEncryptCert(self, *args): return _chilkat.CkCrypt2_SetEncryptCert(self, *args)
- def SetSigningCert(self, *args): return _chilkat.CkCrypt2_SetSigningCert(self, *args)
- def SetVerifyCert(self, *args): return _chilkat.CkCrypt2_SetVerifyCert(self, *args)
- def CkEncryptFile(self, *args): return _chilkat.CkCrypt2_CkEncryptFile(self, *args)
- def CkDecryptFile(self, *args): return _chilkat.CkCrypt2_CkDecryptFile(self, *args)
- def VerifyStringENC(self, *args): return _chilkat.CkCrypt2_VerifyStringENC(self, *args)
- def VerifyString(self, *args): return _chilkat.CkCrypt2_VerifyString(self, *args)
- def VerifyBytesENC(self, *args): return _chilkat.CkCrypt2_VerifyBytesENC(self, *args)
- def VerifyBytes(self, *args): return _chilkat.CkCrypt2_VerifyBytes(self, *args)
- def SignStringENC(self, *args): return _chilkat.CkCrypt2_SignStringENC(self, *args)
- def SignBytesENC(self, *args): return _chilkat.CkCrypt2_SignBytesENC(self, *args)
- def SignString(self, *args): return _chilkat.CkCrypt2_SignString(self, *args)
- def SignBytes(self, *args): return _chilkat.CkCrypt2_SignBytes(self, *args)
- def InflateStringENC(self, *args): return _chilkat.CkCrypt2_InflateStringENC(self, *args)
- def InflateString(self, *args): return _chilkat.CkCrypt2_InflateString(self, *args)
- def InflateBytesENC(self, *args): return _chilkat.CkCrypt2_InflateBytesENC(self, *args)
- def InflateBytes(self, *args): return _chilkat.CkCrypt2_InflateBytes(self, *args)
- def CompressStringENC(self, *args): return _chilkat.CkCrypt2_CompressStringENC(self, *args)
- def CompressBytesENC(self, *args): return _chilkat.CkCrypt2_CompressBytesENC(self, *args)
- def CompressString(self, *args): return _chilkat.CkCrypt2_CompressString(self, *args)
- def CompressBytes(self, *args): return _chilkat.CkCrypt2_CompressBytes(self, *args)
- def get_CompressionAlgorithm(self, *args): return _chilkat.CkCrypt2_get_CompressionAlgorithm(self, *args)
- def put_CompressionAlgorithm(self, *args): return _chilkat.CkCrypt2_put_CompressionAlgorithm(self, *args)
- def DecryptStringENC(self, *args): return _chilkat.CkCrypt2_DecryptStringENC(self, *args)
- def DecryptString(self, *args): return _chilkat.CkCrypt2_DecryptString(self, *args)
- def DecryptBytesENC(self, *args): return _chilkat.CkCrypt2_DecryptBytesENC(self, *args)
- def DecryptBytes(self, *args): return _chilkat.CkCrypt2_DecryptBytes(self, *args)
- def EncryptStringENC(self, *args): return _chilkat.CkCrypt2_EncryptStringENC(self, *args)
- def EncryptBytesENC(self, *args): return _chilkat.CkCrypt2_EncryptBytesENC(self, *args)
- def EncryptString(self, *args): return _chilkat.CkCrypt2_EncryptString(self, *args)
- def EncryptBytes(self, *args): return _chilkat.CkCrypt2_EncryptBytes(self, *args)
- def HashBytesENC(self, *args): return _chilkat.CkCrypt2_HashBytesENC(self, *args)
- def HashStringENC(self, *args): return _chilkat.CkCrypt2_HashStringENC(self, *args)
- def HashBytes(self, *args): return _chilkat.CkCrypt2_HashBytes(self, *args)
- def HashString(self, *args): return _chilkat.CkCrypt2_HashString(self, *args)
- def get_EncodingMode(self, *args): return _chilkat.CkCrypt2_get_EncodingMode(self, *args)
- def put_EncodingMode(self, *args): return _chilkat.CkCrypt2_put_EncodingMode(self, *args)
- def get_CryptAlgorithm(self, *args): return _chilkat.CkCrypt2_get_CryptAlgorithm(self, *args)
- def put_CryptAlgorithm(self, *args): return _chilkat.CkCrypt2_put_CryptAlgorithm(self, *args)
- def get_HashAlgorithm(self, *args): return _chilkat.CkCrypt2_get_HashAlgorithm(self, *args)
- def put_HashAlgorithm(self, *args): return _chilkat.CkCrypt2_put_HashAlgorithm(self, *args)
- def get_Charset(self, *args): return _chilkat.CkCrypt2_get_Charset(self, *args)
- def put_Charset(self, *args): return _chilkat.CkCrypt2_put_Charset(self, *args)
- def GenerateSecretKey(self, *args): return _chilkat.CkCrypt2_GenerateSecretKey(self, *args)
- def get_CipherMode(self, *args): return _chilkat.CkCrypt2_get_CipherMode(self, *args)
- def put_CipherMode(self, *args): return _chilkat.CkCrypt2_put_CipherMode(self, *args)
- def get_PaddingScheme(self): return _chilkat.CkCrypt2_get_PaddingScheme(self)
- def put_PaddingScheme(self, *args): return _chilkat.CkCrypt2_put_PaddingScheme(self, *args)
- def get_KeyLength(self): return _chilkat.CkCrypt2_get_KeyLength(self)
- def put_KeyLength(self, *args): return _chilkat.CkCrypt2_put_KeyLength(self, *args)
- def get_IV(self, *args): return _chilkat.CkCrypt2_get_IV(self, *args)
- def put_IV(self, *args): return _chilkat.CkCrypt2_put_IV(self, *args)
- def get_SecretKey(self, *args): return _chilkat.CkCrypt2_get_SecretKey(self, *args)
- def put_SecretKey(self, *args): return _chilkat.CkCrypt2_put_SecretKey(self, *args)
- def get_Version(self, *args): return _chilkat.CkCrypt2_get_Version(self, *args)
- def IsUnlocked(self): return _chilkat.CkCrypt2_IsUnlocked(self)
- def UnlockComponent(self, *args): return _chilkat.CkCrypt2_UnlockComponent(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkCrypt2_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkCrypt2_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkCrypt2_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkCrypt2_LastErrorText(self, *args)
- def SetSecretKey(self, *args): return _chilkat.CkCrypt2_SetSecretKey(self, *args)
- def SetIV(self, *args): return _chilkat.CkCrypt2_SetIV(self, *args)
- def encodeBytes(self, *args): return _chilkat.CkCrypt2_encodeBytes(self, *args)
-CkCrypt2_swigregister = _chilkat.CkCrypt2_swigregister
-CkCrypt2_swigregister(CkCrypt2)
-
-class CkFtp2(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkFtp2, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkFtp2, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkFtp2()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkFtp2
- __del__ = lambda self : None;
- def lastErrorText(self): return _chilkat.CkFtp2_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkFtp2_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkFtp2_lastErrorHtml(self)
- def get_AllocateSize(self): return _chilkat.CkFtp2_get_AllocateSize(self)
- def get_ConnectVerified(self): return _chilkat.CkFtp2_get_ConnectVerified(self)
- def get_LoginVerified(self): return _chilkat.CkFtp2_get_LoginVerified(self)
- def get_PartialTransfer(self): return _chilkat.CkFtp2_get_PartialTransfer(self)
- def SendCommand(self, *args): return _chilkat.CkFtp2_SendCommand(self, *args)
- def sendCommand(self, *args): return _chilkat.CkFtp2_sendCommand(self, *args)
- def DirTreeXml(self, *args): return _chilkat.CkFtp2_DirTreeXml(self, *args)
- def dirTreeXml(self): return _chilkat.CkFtp2_dirTreeXml(self)
- def get_BandwidthThrottleUp(self): return _chilkat.CkFtp2_get_BandwidthThrottleUp(self)
- def put_BandwidthThrottleUp(self, *args): return _chilkat.CkFtp2_put_BandwidthThrottleUp(self, *args)
- def get_BandwidthThrottleDown(self): return _chilkat.CkFtp2_get_BandwidthThrottleDown(self)
- def put_BandwidthThrottleDown(self, *args): return _chilkat.CkFtp2_put_BandwidthThrottleDown(self, *args)
- def get_ActivePortRangeStart(self): return _chilkat.CkFtp2_get_ActivePortRangeStart(self)
- def put_ActivePortRangeStart(self, *args): return _chilkat.CkFtp2_put_ActivePortRangeStart(self, *args)
- def get_ActivePortRangeEnd(self): return _chilkat.CkFtp2_get_ActivePortRangeEnd(self)
- def put_ActivePortRangeEnd(self, *args): return _chilkat.CkFtp2_put_ActivePortRangeEnd(self, *args)
- def ClearDirCache(self): return _chilkat.CkFtp2_ClearDirCache(self)
- def get_Account(self, *args): return _chilkat.CkFtp2_get_Account(self, *args)
- def put_Account(self, *args): return _chilkat.CkFtp2_put_Account(self, *args)
- def account(self): return _chilkat.CkFtp2_account(self)
- def get_ProxyPort(self): return _chilkat.CkFtp2_get_ProxyPort(self)
- def put_ProxyPort(self, *args): return _chilkat.CkFtp2_put_ProxyPort(self, *args)
- def get_RestartNext(self): return _chilkat.CkFtp2_get_RestartNext(self)
- def put_RestartNext(self, *args): return _chilkat.CkFtp2_put_RestartNext(self, *args)
- def SetModeZ(self): return _chilkat.CkFtp2_SetModeZ(self)
- def get_HasModeZ(self): return _chilkat.CkFtp2_get_HasModeZ(self)
- def get_AutoXcrc(self): return _chilkat.CkFtp2_get_AutoXcrc(self)
- def put_AutoXcrc(self, *args): return _chilkat.CkFtp2_put_AutoXcrc(self, *args)
- def get_AutoFeat(self): return _chilkat.CkFtp2_get_AutoFeat(self)
- def put_AutoFeat(self, *args): return _chilkat.CkFtp2_put_AutoFeat(self, *args)
- def get_AutoSyst(self): return _chilkat.CkFtp2_get_AutoSyst(self)
- def put_AutoSyst(self, *args): return _chilkat.CkFtp2_put_AutoSyst(self, *args)
- def Feat(self, *args): return _chilkat.CkFtp2_Feat(self, *args)
- def feat(self): return _chilkat.CkFtp2_feat(self)
- def SetSslClientCert(self, *args): return _chilkat.CkFtp2_SetSslClientCert(self, *args)
- def dirListingCharset(self): return _chilkat.CkFtp2_dirListingCharset(self)
- def getFilename(self, *args): return _chilkat.CkFtp2_getFilename(self, *args)
- def listPattern(self): return _chilkat.CkFtp2_listPattern(self)
- def password(self): return _chilkat.CkFtp2_password(self)
- def username(self): return _chilkat.CkFtp2_username(self)
- def hostname(self): return _chilkat.CkFtp2_hostname(self)
- def sessionLog(self): return _chilkat.CkFtp2_sessionLog(self)
- def getXmlDirListing(self, *args): return _chilkat.CkFtp2_getXmlDirListing(self, *args)
- def getTextDirListing(self, *args): return _chilkat.CkFtp2_getTextDirListing(self, *args)
- def getRemoteFileTextData(self, *args): return _chilkat.CkFtp2_getRemoteFileTextData(self, *args)
- def getRemoteFileTextC(self, *args): return _chilkat.CkFtp2_getRemoteFileTextC(self, *args)
- def version(self): return _chilkat.CkFtp2_version(self)
- def getCurrentRemoteDir(self): return _chilkat.CkFtp2_getCurrentRemoteDir(self)
- def proxyHostname(self): return _chilkat.CkFtp2_proxyHostname(self)
- def syst(self): return _chilkat.CkFtp2_syst(self)
- def ck_stat(self): return _chilkat.CkFtp2_ck_stat(self)
- def asyncLog(self): return _chilkat.CkFtp2_asyncLog(self)
- def get_Utf8(self): return _chilkat.CkFtp2_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkFtp2_put_Utf8(self, *args)
- def get_SslServerCertVerified(self): return _chilkat.CkFtp2_get_SslServerCertVerified(self)
- def GetSslServerCert(self): return _chilkat.CkFtp2_GetSslServerCert(self)
- def get_RequireSslCertVerify(self): return _chilkat.CkFtp2_get_RequireSslCertVerify(self)
- def put_RequireSslCertVerify(self, *args): return _chilkat.CkFtp2_put_RequireSslCertVerify(self, *args)
- def SetSslCertRequirement(self, *args): return _chilkat.CkFtp2_SetSslCertRequirement(self, *args)
- def get_AuthSsl(self): return _chilkat.CkFtp2_get_AuthSsl(self)
- def put_AuthSsl(self, *args): return _chilkat.CkFtp2_put_AuthSsl(self, *args)
- def DetermineSettings(self, *args): return _chilkat.CkFtp2_DetermineSettings(self, *args)
- def determineSettings(self): return _chilkat.CkFtp2_determineSettings(self)
- def DetermineProxyMethod(self): return _chilkat.CkFtp2_DetermineProxyMethod(self)
- def get_PassiveUseHostAddr(self): return _chilkat.CkFtp2_get_PassiveUseHostAddr(self)
- def put_PassiveUseHostAddr(self, *args): return _chilkat.CkFtp2_put_PassiveUseHostAddr(self, *args)
- def get_CrlfMode(self): return _chilkat.CkFtp2_get_CrlfMode(self)
- def put_CrlfMode(self, *args): return _chilkat.CkFtp2_put_CrlfMode(self, *args)
- def get_ConnectFailReason(self): return _chilkat.CkFtp2_get_ConnectFailReason(self)
- def ClearControlChannel(self): return _chilkat.CkFtp2_ClearControlChannel(self)
- def SleepMs(self, *args): return _chilkat.CkFtp2_SleepMs(self, *args)
- def AppendFile(self, *args): return _chilkat.CkFtp2_AppendFile(self, *args)
- def AppendFileFromBinaryData(self, *args): return _chilkat.CkFtp2_AppendFileFromBinaryData(self, *args)
- def AppendFileFromTextData(self, *args): return _chilkat.CkFtp2_AppendFileFromTextData(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkFtp2_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkFtp2_IsUnlocked(self)
- def SaveLastError(self, *args): return _chilkat.CkFtp2_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkFtp2_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkFtp2_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkFtp2_LastErrorText(self, *args)
- def get_IsConnected(self): return _chilkat.CkFtp2_get_IsConnected(self)
- def DeleteMatching(self, *args): return _chilkat.CkFtp2_DeleteMatching(self, *args)
- def MGetFiles(self, *args): return _chilkat.CkFtp2_MGetFiles(self, *args)
- def MPutFiles(self, *args): return _chilkat.CkFtp2_MPutFiles(self, *args)
- def PutTree(self, *args): return _chilkat.CkFtp2_PutTree(self, *args)
- def GetFile(self, *args): return _chilkat.CkFtp2_GetFile(self, *args)
- def PutFile(self, *args): return _chilkat.CkFtp2_PutFile(self, *args)
- def PutFileFromBinaryData(self, *args): return _chilkat.CkFtp2_PutFileFromBinaryData(self, *args)
- def PutFileFromTextData(self, *args): return _chilkat.CkFtp2_PutFileFromTextData(self, *args)
- def GetRemoteFileBinaryData(self, *args): return _chilkat.CkFtp2_GetRemoteFileBinaryData(self, *args)
- def GetRemoteFileTextData(self, *args): return _chilkat.CkFtp2_GetRemoteFileTextData(self, *args)
- def GetRemoteFileTextC(self, *args): return _chilkat.CkFtp2_GetRemoteFileTextC(self, *args)
- def get_Version(self, *args): return _chilkat.CkFtp2_get_Version(self, *args)
- def RenameRemoteFile(self, *args): return _chilkat.CkFtp2_RenameRemoteFile(self, *args)
- def DeleteRemoteFile(self, *args): return _chilkat.CkFtp2_DeleteRemoteFile(self, *args)
- def RemoveRemoteDir(self, *args): return _chilkat.CkFtp2_RemoveRemoteDir(self, *args)
- def CreateRemoteDir(self, *args): return _chilkat.CkFtp2_CreateRemoteDir(self, *args)
- def Disconnect(self): return _chilkat.CkFtp2_Disconnect(self)
- def Connect(self): return _chilkat.CkFtp2_Connect(self)
- def GetCurrentRemoteDir(self, *args): return _chilkat.CkFtp2_GetCurrentRemoteDir(self, *args)
- def ChangeRemoteDir(self, *args): return _chilkat.CkFtp2_ChangeRemoteDir(self, *args)
- def get_DirListingCharset(self, *args): return _chilkat.CkFtp2_get_DirListingCharset(self, *args)
- def put_DirListingCharset(self, *args): return _chilkat.CkFtp2_put_DirListingCharset(self, *args)
- def get_ListPattern(self, *args): return _chilkat.CkFtp2_get_ListPattern(self, *args)
- def put_ListPattern(self, *args): return _chilkat.CkFtp2_put_ListPattern(self, *args)
- def get_Password(self, *args): return _chilkat.CkFtp2_get_Password(self, *args)
- def put_Password(self, *args): return _chilkat.CkFtp2_put_Password(self, *args)
- def get_Username(self, *args): return _chilkat.CkFtp2_get_Username(self, *args)
- def put_Username(self, *args): return _chilkat.CkFtp2_put_Username(self, *args)
- def get_Port(self): return _chilkat.CkFtp2_get_Port(self)
- def put_Port(self, *args): return _chilkat.CkFtp2_put_Port(self, *args)
- def get_Hostname(self, *args): return _chilkat.CkFtp2_get_Hostname(self, *args)
- def put_Hostname(self, *args): return _chilkat.CkFtp2_put_Hostname(self, *args)
- def get_SessionLog(self, *args): return _chilkat.CkFtp2_get_SessionLog(self, *args)
- def get_Passive(self): return _chilkat.CkFtp2_get_Passive(self)
- def put_Passive(self, *args): return _chilkat.CkFtp2_put_Passive(self, *args)
- def get_KeepSessionLog(self): return _chilkat.CkFtp2_get_KeepSessionLog(self)
- def put_KeepSessionLog(self, *args): return _chilkat.CkFtp2_put_KeepSessionLog(self, *args)
- def GetSize(self, *args): return _chilkat.CkFtp2_GetSize(self, *args)
- def GetFilename(self, *args): return _chilkat.CkFtp2_GetFilename(self, *args)
- def GetIsDirectory(self, *args): return _chilkat.CkFtp2_GetIsDirectory(self, *args)
- def GetCreateTime(self, *args): return _chilkat.CkFtp2_GetCreateTime(self, *args)
- def GetLastAccessTime(self, *args): return _chilkat.CkFtp2_GetLastAccessTime(self, *args)
- def GetLastModifiedTime(self, *args): return _chilkat.CkFtp2_GetLastModifiedTime(self, *args)
- def get_NumFilesAndDirs(self): return _chilkat.CkFtp2_get_NumFilesAndDirs(self)
- def get_ProxyHostname(self, *args): return _chilkat.CkFtp2_get_ProxyHostname(self, *args)
- def put_ProxyHostname(self, *args): return _chilkat.CkFtp2_put_ProxyHostname(self, *args)
- def get_ProxyMethod(self): return _chilkat.CkFtp2_get_ProxyMethod(self)
- def put_ProxyMethod(self, *args): return _chilkat.CkFtp2_put_ProxyMethod(self, *args)
- def get_Ssl(self): return _chilkat.CkFtp2_get_Ssl(self)
- def put_Ssl(self, *args): return _chilkat.CkFtp2_put_Ssl(self, *args)
- def get_AuthTls(self): return _chilkat.CkFtp2_get_AuthTls(self)
- def put_AuthTls(self, *args): return _chilkat.CkFtp2_put_AuthTls(self, *args)
- def get_HeartbeatMs(self): return _chilkat.CkFtp2_get_HeartbeatMs(self)
- def put_HeartbeatMs(self, *args): return _chilkat.CkFtp2_put_HeartbeatMs(self, *args)
- def get_IdleTimeoutMs(self): return _chilkat.CkFtp2_get_IdleTimeoutMs(self)
- def put_IdleTimeoutMs(self, *args): return _chilkat.CkFtp2_put_IdleTimeoutMs(self, *args)
- def get_UploadRate(self): return _chilkat.CkFtp2_get_UploadRate(self)
- def get_DownloadRate(self): return _chilkat.CkFtp2_get_DownloadRate(self)
- def AsyncGetFileStart(self, *args): return _chilkat.CkFtp2_AsyncGetFileStart(self, *args)
- def AsyncPutFileStart(self, *args): return _chilkat.CkFtp2_AsyncPutFileStart(self, *args)
- def AsyncAppendFileStart(self, *args): return _chilkat.CkFtp2_AsyncAppendFileStart(self, *args)
- def AsyncAbort(self): return _chilkat.CkFtp2_AsyncAbort(self)
- def get_AsyncFinished(self): return _chilkat.CkFtp2_get_AsyncFinished(self)
- def get_AsyncLog(self, *args): return _chilkat.CkFtp2_get_AsyncLog(self, *args)
- def get_AsyncSuccess(self): return _chilkat.CkFtp2_get_AsyncSuccess(self)
- def get_AsyncBytesReceived(self): return _chilkat.CkFtp2_get_AsyncBytesReceived(self)
- def get_AsyncBytesSent(self): return _chilkat.CkFtp2_get_AsyncBytesSent(self)
- def DownloadTree(self, *args): return _chilkat.CkFtp2_DownloadTree(self, *args)
- def DeleteTree(self): return _chilkat.CkFtp2_DeleteTree(self)
- def GetIsSymbolicLink(self, *args): return _chilkat.CkFtp2_GetIsSymbolicLink(self, *args)
- def createPlan(self, *args): return _chilkat.CkFtp2_createPlan(self, *args)
- def CreatePlan(self, *args): return _chilkat.CkFtp2_CreatePlan(self, *args)
- def PutPlan(self, *args): return _chilkat.CkFtp2_PutPlan(self, *args)
- def GetSizeByName(self, *args): return _chilkat.CkFtp2_GetSizeByName(self, *args)
- def ClearSessionLog(self): return _chilkat.CkFtp2_ClearSessionLog(self)
- def SetTypeBinary(self): return _chilkat.CkFtp2_SetTypeBinary(self)
- def SetTypeAscii(self): return _chilkat.CkFtp2_SetTypeAscii(self)
- def Site(self, *args): return _chilkat.CkFtp2_Site(self, *args)
- def Quote(self, *args): return _chilkat.CkFtp2_Quote(self, *args)
- def Syst(self, *args): return _chilkat.CkFtp2_Syst(self, *args)
- def Stat(self, *args): return _chilkat.CkFtp2_Stat(self, *args)
- def get_ReadTimeout(self): return _chilkat.CkFtp2_get_ReadTimeout(self)
- def put_ReadTimeout(self, *args): return _chilkat.CkFtp2_put_ReadTimeout(self, *args)
- def get_ConnectTimeout(self): return _chilkat.CkFtp2_get_ConnectTimeout(self)
- def put_ConnectTimeout(self, *args): return _chilkat.CkFtp2_put_ConnectTimeout(self, *args)
- def GetXmlDirListing(self, *args): return _chilkat.CkFtp2_GetXmlDirListing(self, *args)
- def GetTextDirListing(self, *args): return _chilkat.CkFtp2_GetTextDirListing(self, *args)
- def get_ProxyPassword(self, *args): return _chilkat.CkFtp2_get_ProxyPassword(self, *args)
- def proxyPassword(self): return _chilkat.CkFtp2_proxyPassword(self)
- def put_ProxyPassword(self, *args): return _chilkat.CkFtp2_put_ProxyPassword(self, *args)
- def get_ProxyUsername(self, *args): return _chilkat.CkFtp2_get_ProxyUsername(self, *args)
- def proxyUsername(self): return _chilkat.CkFtp2_proxyUsername(self)
- def put_ProxyUsername(self, *args): return _chilkat.CkFtp2_put_ProxyUsername(self, *args)
- def GetCreateTimeByName(self, *args): return _chilkat.CkFtp2_GetCreateTimeByName(self, *args)
- def GetLastAccessTimeByName(self, *args): return _chilkat.CkFtp2_GetLastAccessTimeByName(self, *args)
- def GetLastModifiedTimeByName(self, *args): return _chilkat.CkFtp2_GetLastModifiedTimeByName(self, *args)
- def GetSizeStr(self, *args): return _chilkat.CkFtp2_GetSizeStr(self, *args)
- def getSizeStr(self, *args): return _chilkat.CkFtp2_getSizeStr(self, *args)
- def Noop(self): return _chilkat.CkFtp2_Noop(self)
- def SetOldestDate(self, *args): return _chilkat.CkFtp2_SetOldestDate(self, *args)
- def SyncLocalTree(self, *args): return _chilkat.CkFtp2_SyncLocalTree(self, *args)
- def SyncRemoteTree(self, *args): return _chilkat.CkFtp2_SyncRemoteTree(self, *args)
- def ConvertToTls(self): return _chilkat.CkFtp2_ConvertToTls(self)
- def GetSizeStrByName(self, *args): return _chilkat.CkFtp2_GetSizeStrByName(self, *args)
- def getSizeStrByName(self, *args): return _chilkat.CkFtp2_getSizeStrByName(self, *args)
- def SetRemoteFileDateTime(self, *args): return _chilkat.CkFtp2_SetRemoteFileDateTime(self, *args)
- def get_SendBufferSize(self): return _chilkat.CkFtp2_get_SendBufferSize(self)
- def put_SendBufferSize(self, *args): return _chilkat.CkFtp2_put_SendBufferSize(self, *args)
- def get_UseEpsv(self): return _chilkat.CkFtp2_get_UseEpsv(self)
- def put_UseEpsv(self, *args): return _chilkat.CkFtp2_put_UseEpsv(self, *args)
- def get_ForcePortIpAddress(self, *args): return _chilkat.CkFtp2_get_ForcePortIpAddress(self, *args)
- def forcePortIpAddress(self): return _chilkat.CkFtp2_forcePortIpAddress(self)
- def put_ForcePortIpAddress(self, *args): return _chilkat.CkFtp2_put_ForcePortIpAddress(self, *args)
- def NlstXml(self, *args): return _chilkat.CkFtp2_NlstXml(self, *args)
- def nlstXml(self, *args): return _chilkat.CkFtp2_nlstXml(self, *args)
- def get_SocksVersion(self): return _chilkat.CkFtp2_get_SocksVersion(self)
- def put_SocksVersion(self, *args): return _chilkat.CkFtp2_put_SocksVersion(self, *args)
- def get_SocksPort(self): return _chilkat.CkFtp2_get_SocksPort(self)
- def put_SocksPort(self, *args): return _chilkat.CkFtp2_put_SocksPort(self, *args)
- def get_SocksUsername(self, *args): return _chilkat.CkFtp2_get_SocksUsername(self, *args)
- def socksUsername(self): return _chilkat.CkFtp2_socksUsername(self)
- def put_SocksUsername(self, *args): return _chilkat.CkFtp2_put_SocksUsername(self, *args)
- def get_SocksPassword(self, *args): return _chilkat.CkFtp2_get_SocksPassword(self, *args)
- def socksPassword(self): return _chilkat.CkFtp2_socksPassword(self)
- def put_SocksPassword(self, *args): return _chilkat.CkFtp2_put_SocksPassword(self, *args)
- def get_SocksHostname(self, *args): return _chilkat.CkFtp2_get_SocksHostname(self, *args)
- def socksHostname(self): return _chilkat.CkFtp2_socksHostname(self)
- def put_SocksHostname(self, *args): return _chilkat.CkFtp2_put_SocksHostname(self, *args)
- def get_Greeting(self, *args): return _chilkat.CkFtp2_get_Greeting(self, *args)
- def greeting(self): return _chilkat.CkFtp2_greeting(self)
- def SetSslClientCertPfx(self, *args): return _chilkat.CkFtp2_SetSslClientCertPfx(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkFtp2_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkFtp2_put_VerboseLogging(self, *args)
- def get_SslProtocol(self, *args): return _chilkat.CkFtp2_get_SslProtocol(self, *args)
- def sslProtocol(self): return _chilkat.CkFtp2_sslProtocol(self)
- def put_SslProtocol(self, *args): return _chilkat.CkFtp2_put_SslProtocol(self, *args)
- def get_AutoGetSizeForProgress(self): return _chilkat.CkFtp2_get_AutoGetSizeForProgress(self)
- def put_AutoGetSizeForProgress(self, *args): return _chilkat.CkFtp2_put_AutoGetSizeForProgress(self, *args)
- def get_SyncPreview(self, *args): return _chilkat.CkFtp2_get_SyncPreview(self, *args)
- def syncPreview(self): return _chilkat.CkFtp2_syncPreview(self)
- def SyncRemoteTree2(self, *args): return _chilkat.CkFtp2_SyncRemoteTree2(self, *args)
- def get_AutoFix(self): return _chilkat.CkFtp2_get_AutoFix(self)
- def put_AutoFix(self, *args): return _chilkat.CkFtp2_put_AutoFix(self, *args)
- def get_ClientIpAddress(self, *args): return _chilkat.CkFtp2_get_ClientIpAddress(self, *args)
- def clientIpAddress(self): return _chilkat.CkFtp2_clientIpAddress(self)
- def put_ClientIpAddress(self, *args): return _chilkat.CkFtp2_put_ClientIpAddress(self, *args)
-CkFtp2_swigregister = _chilkat.CkFtp2_swigregister
-CkFtp2_swigregister(CkFtp2)
-
-class CkMht(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkMht, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkMht, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkMht()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkMht
- __del__ = lambda self : None;
- def lastErrorText(self): return _chilkat.CkMht_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkMht_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkMht_lastErrorHtml(self)
- def get_UseIEProxy(self): return _chilkat.CkMht_get_UseIEProxy(self)
- def put_UseIEProxy(self, *args): return _chilkat.CkMht_put_UseIEProxy(self, *args)
- def get_UseFilename(self): return _chilkat.CkMht_get_UseFilename(self)
- def put_UseFilename(self, *args): return _chilkat.CkMht_put_UseFilename(self, *args)
- def get_UseInline(self): return _chilkat.CkMht_get_UseInline(self)
- def put_UseInline(self, *args): return _chilkat.CkMht_put_UseInline(self, *args)
- def GetMime(self, *args): return _chilkat.CkMht_GetMime(self, *args)
- def HtmlToEMLFile(self, *args): return _chilkat.CkMht_HtmlToEMLFile(self, *args)
- def HtmlToMHTFile(self, *args): return _chilkat.CkMht_HtmlToMHTFile(self, *args)
- def get_EmbedLocalOnly(self): return _chilkat.CkMht_get_EmbedLocalOnly(self)
- def put_EmbedLocalOnly(self, *args): return _chilkat.CkMht_put_EmbedLocalOnly(self, *args)
- def get_SocksUsername(self, *args): return _chilkat.CkMht_get_SocksUsername(self, *args)
- def socksUsername(self): return _chilkat.CkMht_socksUsername(self)
- def put_SocksUsername(self, *args): return _chilkat.CkMht_put_SocksUsername(self, *args)
- def get_SocksPassword(self, *args): return _chilkat.CkMht_get_SocksPassword(self, *args)
- def socksPassword(self): return _chilkat.CkMht_socksPassword(self)
- def put_SocksPassword(self, *args): return _chilkat.CkMht_put_SocksPassword(self, *args)
- def get_SocksHostname(self, *args): return _chilkat.CkMht_get_SocksHostname(self, *args)
- def socksHostname(self): return _chilkat.CkMht_socksHostname(self)
- def put_SocksHostname(self, *args): return _chilkat.CkMht_put_SocksHostname(self, *args)
- def get_SocksPort(self): return _chilkat.CkMht_get_SocksPort(self)
- def put_SocksPort(self, *args): return _chilkat.CkMht_put_SocksPort(self, *args)
- def get_SocksVersion(self): return _chilkat.CkMht_get_SocksVersion(self)
- def put_SocksVersion(self, *args): return _chilkat.CkMht_put_SocksVersion(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkMht_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkMht_put_VerboseLogging(self, *args)
- def get_ProxyLogin(self, *args): return _chilkat.CkMht_get_ProxyLogin(self, *args)
- def put_ProxyLogin(self, *args): return _chilkat.CkMht_put_ProxyLogin(self, *args)
- def get_ProxyPassword(self, *args): return _chilkat.CkMht_get_ProxyPassword(self, *args)
- def put_ProxyPassword(self, *args): return _chilkat.CkMht_put_ProxyPassword(self, *args)
- def proxyLogin(self): return _chilkat.CkMht_proxyLogin(self)
- def proxyPassword(self): return _chilkat.CkMht_proxyPassword(self)
- def put_NumCacheLevels(self, *args): return _chilkat.CkMht_put_NumCacheLevels(self, *args)
- def get_NumCacheLevels(self): return _chilkat.CkMht_get_NumCacheLevels(self)
- def get_NumCacheRoots(self): return _chilkat.CkMht_get_NumCacheRoots(self)
- def GetCacheRoot(self, *args): return _chilkat.CkMht_GetCacheRoot(self, *args)
- def getCacheRoot(self, *args): return _chilkat.CkMht_getCacheRoot(self, *args)
- def AddCacheRoot(self, *args): return _chilkat.CkMht_AddCacheRoot(self, *args)
- def get_UpdateCache(self): return _chilkat.CkMht_get_UpdateCache(self)
- def put_UpdateCache(self, *args): return _chilkat.CkMht_put_UpdateCache(self, *args)
- def get_FetchFromCache(self): return _chilkat.CkMht_get_FetchFromCache(self)
- def put_FetchFromCache(self, *args): return _chilkat.CkMht_put_FetchFromCache(self, *args)
- def get_IgnoreNoCache(self): return _chilkat.CkMht_get_IgnoreNoCache(self)
- def put_IgnoreNoCache(self, *args): return _chilkat.CkMht_put_IgnoreNoCache(self, *args)
- def get_IgnoreMustRevalidate(self): return _chilkat.CkMht_get_IgnoreMustRevalidate(self)
- def put_IgnoreMustRevalidate(self, *args): return _chilkat.CkMht_put_IgnoreMustRevalidate(self, *args)
- def getMHT(self, *args): return _chilkat.CkMht_getMHT(self, *args)
- def getEML(self, *args): return _chilkat.CkMht_getEML(self, *args)
- def htmlToMHT(self, *args): return _chilkat.CkMht_htmlToMHT(self, *args)
- def htmlToEML(self, *args): return _chilkat.CkMht_htmlToEML(self, *args)
- def webSiteLogin(self): return _chilkat.CkMht_webSiteLogin(self)
- def webSitePassword(self): return _chilkat.CkMht_webSitePassword(self)
- def debugHtmlBefore(self): return _chilkat.CkMht_debugHtmlBefore(self)
- def debugHtmlAfter(self): return _chilkat.CkMht_debugHtmlAfter(self)
- def baseUrl(self): return _chilkat.CkMht_baseUrl(self)
- def proxy(self): return _chilkat.CkMht_proxy(self)
- def version(self): return _chilkat.CkMht_version(self)
- def get_Utf8(self): return _chilkat.CkMht_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkMht_put_Utf8(self, *args)
- def get_NtlmAuth(self): return _chilkat.CkMht_get_NtlmAuth(self)
- def put_NtlmAuth(self, *args): return _chilkat.CkMht_put_NtlmAuth(self, *args)
- def UnpackMHT(self, *args): return _chilkat.CkMht_UnpackMHT(self, *args)
- def UnpackMHTString(self, *args): return _chilkat.CkMht_UnpackMHTString(self, *args)
- def GetAndZipMHT(self, *args): return _chilkat.CkMht_GetAndZipMHT(self, *args)
- def GetAndZipEML(self, *args): return _chilkat.CkMht_GetAndZipEML(self, *args)
- def GetEmail(self, *args): return _chilkat.CkMht_GetEmail(self, *args)
- def GetAndSaveMHT(self, *args): return _chilkat.CkMht_GetAndSaveMHT(self, *args)
- def GetAndSaveEML(self, *args): return _chilkat.CkMht_GetAndSaveEML(self, *args)
- def GetMHT(self, *args): return _chilkat.CkMht_GetMHT(self, *args)
- def GetEML(self, *args): return _chilkat.CkMht_GetEML(self, *args)
- def HtmlToEmail(self, *args): return _chilkat.CkMht_HtmlToEmail(self, *args)
- def HtmlToMHT(self, *args): return _chilkat.CkMht_HtmlToMHT(self, *args)
- def HtmlToEML(self, *args): return _chilkat.CkMht_HtmlToEML(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkMht_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkMht_IsUnlocked(self)
- def AddExternalStyleSheet(self, *args): return _chilkat.CkMht_AddExternalStyleSheet(self, *args)
- def ExcludeImagesMatching(self, *args): return _chilkat.CkMht_ExcludeImagesMatching(self, *args)
- def RestoreDefaults(self): return _chilkat.CkMht_RestoreDefaults(self)
- def get_PreferMHTScripts(self): return _chilkat.CkMht_get_PreferMHTScripts(self)
- def put_PreferMHTScripts(self, *args): return _chilkat.CkMht_put_PreferMHTScripts(self, *args)
- def get_NoScripts(self): return _chilkat.CkMht_get_NoScripts(self)
- def put_NoScripts(self, *args): return _chilkat.CkMht_put_NoScripts(self, *args)
- def get_UseCids(self): return _chilkat.CkMht_get_UseCids(self)
- def put_UseCids(self, *args): return _chilkat.CkMht_put_UseCids(self, *args)
- def get_EmbedImages(self): return _chilkat.CkMht_get_EmbedImages(self)
- def put_EmbedImages(self, *args): return _chilkat.CkMht_put_EmbedImages(self, *args)
- def get_DebugTagCleaning(self): return _chilkat.CkMht_get_DebugTagCleaning(self)
- def put_DebugTagCleaning(self, *args): return _chilkat.CkMht_put_DebugTagCleaning(self, *args)
- def get_WebSiteLogin(self, *args): return _chilkat.CkMht_get_WebSiteLogin(self, *args)
- def put_WebSiteLogin(self, *args): return _chilkat.CkMht_put_WebSiteLogin(self, *args)
- def get_WebSitePassword(self, *args): return _chilkat.CkMht_get_WebSitePassword(self, *args)
- def put_WebSitePassword(self, *args): return _chilkat.CkMht_put_WebSitePassword(self, *args)
- def get_DebugHtmlBefore(self, *args): return _chilkat.CkMht_get_DebugHtmlBefore(self, *args)
- def put_DebugHtmlBefore(self, *args): return _chilkat.CkMht_put_DebugHtmlBefore(self, *args)
- def get_DebugHtmlAfter(self, *args): return _chilkat.CkMht_get_DebugHtmlAfter(self, *args)
- def put_DebugHtmlAfter(self, *args): return _chilkat.CkMht_put_DebugHtmlAfter(self, *args)
- def get_BaseUrl(self, *args): return _chilkat.CkMht_get_BaseUrl(self, *args)
- def put_BaseUrl(self, *args): return _chilkat.CkMht_put_BaseUrl(self, *args)
- def get_Proxy(self, *args): return _chilkat.CkMht_get_Proxy(self, *args)
- def put_Proxy(self, *args): return _chilkat.CkMht_put_Proxy(self, *args)
- def get_Version(self, *args): return _chilkat.CkMht_get_Version(self, *args)
- def get_ReadTimeout(self): return _chilkat.CkMht_get_ReadTimeout(self)
- def put_ReadTimeout(self, *args): return _chilkat.CkMht_put_ReadTimeout(self, *args)
- def get_ConnectTimeout(self): return _chilkat.CkMht_get_ConnectTimeout(self)
- def put_ConnectTimeout(self, *args): return _chilkat.CkMht_put_ConnectTimeout(self, *args)
- def AddCustomHeader(self, *args): return _chilkat.CkMht_AddCustomHeader(self, *args)
- def RemoveCustomHeader(self, *args): return _chilkat.CkMht_RemoveCustomHeader(self, *args)
- def ClearCustomHeaders(self): return _chilkat.CkMht_ClearCustomHeaders(self)
- def SaveLastError(self, *args): return _chilkat.CkMht_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkMht_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkMht_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkMht_LastErrorText(self, *args)
-CkMht_swigregister = _chilkat.CkMht_swigregister
-CkMht_swigregister(CkMht)
-
-class CkHttp(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkHttp, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkHttp, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkHttp()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkHttp
- __del__ = lambda self : None;
- def lastErrorText(self): return _chilkat.CkHttp_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkHttp_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkHttp_lastErrorHtml(self)
- def RenderGet(self, *args): return _chilkat.CkHttp_RenderGet(self, *args)
- def renderGet(self, *args): return _chilkat.CkHttp_renderGet(self, *args)
- def GetCookieXml(self, *args): return _chilkat.CkHttp_GetCookieXml(self, *args)
- def getCookieXml(self, *args): return _chilkat.CkHttp_getCookieXml(self, *args)
- def get_RequiredContentType(self, *args): return _chilkat.CkHttp_get_RequiredContentType(self, *args)
- def requiredContentType(self): return _chilkat.CkHttp_requiredContentType(self)
- def put_RequiredContentType(self, *args): return _chilkat.CkHttp_put_RequiredContentType(self, *args)
- def DownloadAppend(self, *args): return _chilkat.CkHttp_DownloadAppend(self, *args)
- def PostMime(self, *args): return _chilkat.CkHttp_PostMime(self, *args)
- def UrlDecode(self, *args): return _chilkat.CkHttp_UrlDecode(self, *args)
- def urlDecode(self, *args): return _chilkat.CkHttp_urlDecode(self, *args)
- def UrlEncode(self, *args): return _chilkat.CkHttp_UrlEncode(self, *args)
- def urlEncode(self, *args): return _chilkat.CkHttp_urlEncode(self, *args)
- def get_SslProtocol(self, *args): return _chilkat.CkHttp_get_SslProtocol(self, *args)
- def sslProtocol(self): return _chilkat.CkHttp_sslProtocol(self)
- def put_SslProtocol(self, *args): return _chilkat.CkHttp_put_SslProtocol(self, *args)
- def GetHead(self, *args): return _chilkat.CkHttp_GetHead(self, *args)
- def XmlRpc(self, *args): return _chilkat.CkHttp_XmlRpc(self, *args)
- def xmlRpc(self, *args): return _chilkat.CkHttp_xmlRpc(self, *args)
- def GenTimeStamp(self, *args): return _chilkat.CkHttp_GenTimeStamp(self, *args)
- def genTimeStamp(self): return _chilkat.CkHttp_genTimeStamp(self)
- def XmlRpcPut(self, *args): return _chilkat.CkHttp_XmlRpcPut(self, *args)
- def xmlRpcPut(self, *args): return _chilkat.CkHttp_xmlRpcPut(self, *args)
- def QuickPutStr(self, *args): return _chilkat.CkHttp_QuickPutStr(self, *args)
- def quickPutStr(self, *args): return _chilkat.CkHttp_quickPutStr(self, *args)
- def QuickDeleteStr(self, *args): return _chilkat.CkHttp_QuickDeleteStr(self, *args)
- def quickDeleteStr(self, *args): return _chilkat.CkHttp_quickDeleteStr(self, *args)
- def PutText(self, *args): return _chilkat.CkHttp_PutText(self, *args)
- def putText(self, *args): return _chilkat.CkHttp_putText(self, *args)
- def PutBinary(self, *args): return _chilkat.CkHttp_PutBinary(self, *args)
- def putBinary(self, *args): return _chilkat.CkHttp_putBinary(self, *args)
- def get_SendBufferSize(self): return _chilkat.CkHttp_get_SendBufferSize(self)
- def put_SendBufferSize(self, *args): return _chilkat.CkHttp_put_SendBufferSize(self, *args)
- def get_NegotiateAuth(self): return _chilkat.CkHttp_get_NegotiateAuth(self)
- def put_NegotiateAuth(self, *args): return _chilkat.CkHttp_put_NegotiateAuth(self, *args)
- def get_LoginDomain(self, *args): return _chilkat.CkHttp_get_LoginDomain(self, *args)
- def loginDomain(self): return _chilkat.CkHttp_loginDomain(self)
- def put_LoginDomain(self, *args): return _chilkat.CkHttp_put_LoginDomain(self, *args)
- def get_SocksVersion(self): return _chilkat.CkHttp_get_SocksVersion(self)
- def put_SocksVersion(self, *args): return _chilkat.CkHttp_put_SocksVersion(self, *args)
- def get_SocksPort(self): return _chilkat.CkHttp_get_SocksPort(self)
- def put_SocksPort(self, *args): return _chilkat.CkHttp_put_SocksPort(self, *args)
- def get_SocksUsername(self, *args): return _chilkat.CkHttp_get_SocksUsername(self, *args)
- def socksUsername(self): return _chilkat.CkHttp_socksUsername(self)
- def put_SocksUsername(self, *args): return _chilkat.CkHttp_put_SocksUsername(self, *args)
- def get_SocksPassword(self, *args): return _chilkat.CkHttp_get_SocksPassword(self, *args)
- def socksPassword(self): return _chilkat.CkHttp_socksPassword(self)
- def put_SocksPassword(self, *args): return _chilkat.CkHttp_put_SocksPassword(self, *args)
- def get_SocksHostname(self, *args): return _chilkat.CkHttp_get_SocksHostname(self, *args)
- def socksHostname(self): return _chilkat.CkHttp_socksHostname(self)
- def put_SocksHostname(self, *args): return _chilkat.CkHttp_put_SocksHostname(self, *args)
- def PostXml(self, *args): return _chilkat.CkHttp_PostXml(self, *args)
- def get_ProxyPartialUrl(self): return _chilkat.CkHttp_get_ProxyPartialUrl(self)
- def put_ProxyPartialUrl(self, *args): return _chilkat.CkHttp_put_ProxyPartialUrl(self, *args)
- def GetServerSslCert(self, *args): return _chilkat.CkHttp_GetServerSslCert(self, *args)
- def get_DigestAuth(self): return _chilkat.CkHttp_get_DigestAuth(self)
- def put_DigestAuth(self, *args): return _chilkat.CkHttp_put_DigestAuth(self, *args)
- def SetSslClientCertPfx(self, *args): return _chilkat.CkHttp_SetSslClientCertPfx(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkHttp_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkHttp_put_VerboseLogging(self, *args)
- def ClearInMemoryCookies(self): return _chilkat.CkHttp_ClearInMemoryCookies(self)
- def SetCookieXml(self, *args): return _chilkat.CkHttp_SetCookieXml(self, *args)
- def PostUrlEncoded(self, *args): return _chilkat.CkHttp_PostUrlEncoded(self, *args)
- def PostBinary(self, *args): return _chilkat.CkHttp_PostBinary(self, *args)
- def postBinary(self, *args): return _chilkat.CkHttp_postBinary(self, *args)
- def QuickGetObj(self, *args): return _chilkat.CkHttp_QuickGetObj(self, *args)
- def get_SessionLogFilename(self, *args): return _chilkat.CkHttp_get_SessionLogFilename(self, *args)
- def sessionLogFilename(self): return _chilkat.CkHttp_sessionLogFilename(self)
- def put_SessionLogFilename(self, *args): return _chilkat.CkHttp_put_SessionLogFilename(self, *args)
- def get_BgLastErrorText(self, *args): return _chilkat.CkHttp_get_BgLastErrorText(self, *args)
- def bgLastErrorText(self): return _chilkat.CkHttp_bgLastErrorText(self)
- def get_BgResultData(self, *args): return _chilkat.CkHttp_get_BgResultData(self, *args)
- def get_BgResultInt(self): return _chilkat.CkHttp_get_BgResultInt(self)
- def get_BgResultString(self, *args): return _chilkat.CkHttp_get_BgResultString(self, *args)
- def bgResultString(self): return _chilkat.CkHttp_bgResultString(self)
- def get_BgTaskFinished(self): return _chilkat.CkHttp_get_BgTaskFinished(self)
- def get_BgTaskRunning(self): return _chilkat.CkHttp_get_BgTaskRunning(self)
- def get_BgTaskSuccess(self): return _chilkat.CkHttp_get_BgTaskSuccess(self)
- def get_EventLogCount(self): return _chilkat.CkHttp_get_EventLogCount(self)
- def get_KeepEventLog(self): return _chilkat.CkHttp_get_KeepEventLog(self)
- def put_KeepEventLog(self, *args): return _chilkat.CkHttp_put_KeepEventLog(self, *args)
- def get_UseBgThread(self): return _chilkat.CkHttp_get_UseBgThread(self)
- def put_UseBgThread(self, *args): return _chilkat.CkHttp_put_UseBgThread(self, *args)
- def BgResponseObject(self): return _chilkat.CkHttp_BgResponseObject(self)
- def BgTaskAbort(self): return _chilkat.CkHttp_BgTaskAbort(self)
- def ClearBgEventLog(self): return _chilkat.CkHttp_ClearBgEventLog(self)
- def EventLogName(self, *args): return _chilkat.CkHttp_EventLogName(self, *args)
- def eventLogName(self, *args): return _chilkat.CkHttp_eventLogName(self, *args)
- def EventLogValue(self, *args): return _chilkat.CkHttp_EventLogValue(self, *args)
- def eventLogValue(self, *args): return _chilkat.CkHttp_eventLogValue(self, *args)
- def SleepMs(self, *args): return _chilkat.CkHttp_SleepMs(self, *args)
- def get_ClientIpAddress(self, *args): return _chilkat.CkHttp_get_ClientIpAddress(self, *args)
- def clientIpAddress(self): return _chilkat.CkHttp_clientIpAddress(self)
- def put_ClientIpAddress(self, *args): return _chilkat.CkHttp_put_ClientIpAddress(self, *args)
- def get_ProxyAuthMethod(self, *args): return _chilkat.CkHttp_get_ProxyAuthMethod(self, *args)
- def proxyAuthMethod(self): return _chilkat.CkHttp_proxyAuthMethod(self)
- def put_ProxyAuthMethod(self, *args): return _chilkat.CkHttp_put_ProxyAuthMethod(self, *args)
- def AddQuickHeader(self, *args): return _chilkat.CkHttp_AddQuickHeader(self, *args)
- def RemoveQuickHeader(self, *args): return _chilkat.CkHttp_RemoveQuickHeader(self, *args)
- def SetSslClientCert(self, *args): return _chilkat.CkHttp_SetSslClientCert(self, *args)
- def get_LastHeader(self, *args): return _chilkat.CkHttp_get_LastHeader(self, *args)
- def lastHeader(self): return _chilkat.CkHttp_lastHeader(self)
- def put_UseIEProxy(self, *args): return _chilkat.CkHttp_put_UseIEProxy(self, *args)
- def get_UseIEProxy(self): return _chilkat.CkHttp_get_UseIEProxy(self)
- def get_ProxyLogin(self, *args): return _chilkat.CkHttp_get_ProxyLogin(self, *args)
- def put_ProxyLogin(self, *args): return _chilkat.CkHttp_put_ProxyLogin(self, *args)
- def get_ProxyPassword(self, *args): return _chilkat.CkHttp_get_ProxyPassword(self, *args)
- def put_ProxyPassword(self, *args): return _chilkat.CkHttp_put_ProxyPassword(self, *args)
- def proxyLogin(self): return _chilkat.CkHttp_proxyLogin(self)
- def proxyPassword(self): return _chilkat.CkHttp_proxyPassword(self)
- def version(self): return _chilkat.CkHttp_version(self)
- def cookieDir(self): return _chilkat.CkHttp_cookieDir(self)
- def quickGetStr(self, *args): return _chilkat.CkHttp_quickGetStr(self, *args)
- def proxyDomain(self): return _chilkat.CkHttp_proxyDomain(self)
- def password(self): return _chilkat.CkHttp_password(self)
- def login(self): return _chilkat.CkHttp_login(self)
- def getRequestHeader(self, *args): return _chilkat.CkHttp_getRequestHeader(self, *args)
- def userAgent(self): return _chilkat.CkHttp_userAgent(self)
- def referer(self): return _chilkat.CkHttp_referer(self)
- def ck_accept(self): return _chilkat.CkHttp_ck_accept(self)
- def acceptCharset(self): return _chilkat.CkHttp_acceptCharset(self)
- def acceptLanguage(self): return _chilkat.CkHttp_acceptLanguage(self)
- def connection(self): return _chilkat.CkHttp_connection(self)
- def getDomain(self, *args): return _chilkat.CkHttp_getDomain(self, *args)
- def finalRedirectUrl(self): return _chilkat.CkHttp_finalRedirectUrl(self)
- def getCacheRoot(self, *args): return _chilkat.CkHttp_getCacheRoot(self, *args)
- def getUrlPath(self, *args): return _chilkat.CkHttp_getUrlPath(self, *args)
- def lastContentType(self): return _chilkat.CkHttp_lastContentType(self)
- def lastResponseHeader(self): return _chilkat.CkHttp_lastResponseHeader(self)
- def lastModDate(self): return _chilkat.CkHttp_lastModDate(self)
- def get_Utf8(self): return _chilkat.CkHttp_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkHttp_put_Utf8(self, *args)
- def put_NtlmAuth(self, *args): return _chilkat.CkHttp_put_NtlmAuth(self, *args)
- def get_NtlmAuth(self): return _chilkat.CkHttp_get_NtlmAuth(self)
- def UnlockComponent(self, *args): return _chilkat.CkHttp_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkHttp_IsUnlocked(self)
- def Download(self, *args): return _chilkat.CkHttp_Download(self, *args)
- def ResumeDownload(self, *args): return _chilkat.CkHttp_ResumeDownload(self, *args)
- def get_Version(self, *args): return _chilkat.CkHttp_get_Version(self, *args)
- def get_MaxConnections(self): return _chilkat.CkHttp_get_MaxConnections(self)
- def put_MaxConnections(self, *args): return _chilkat.CkHttp_put_MaxConnections(self, *args)
- def put_CookieDir(self, *args): return _chilkat.CkHttp_put_CookieDir(self, *args)
- def get_CookieDir(self, *args): return _chilkat.CkHttp_get_CookieDir(self, *args)
- def put_SaveCookies(self, *args): return _chilkat.CkHttp_put_SaveCookies(self, *args)
- def get_SaveCookies(self): return _chilkat.CkHttp_get_SaveCookies(self)
- def put_SendCookies(self, *args): return _chilkat.CkHttp_put_SendCookies(self, *args)
- def get_SendCookies(self): return _chilkat.CkHttp_get_SendCookies(self)
- def QuickGet(self, *args): return _chilkat.CkHttp_QuickGet(self, *args)
- def QuickGetStr(self, *args): return _chilkat.CkHttp_QuickGetStr(self, *args)
- def SynchronousRequest(self, *args): return _chilkat.CkHttp_SynchronousRequest(self, *args)
- def get_ProxyPort(self): return _chilkat.CkHttp_get_ProxyPort(self)
- def put_ProxyPort(self, *args): return _chilkat.CkHttp_put_ProxyPort(self, *args)
- def put_ProxyDomain(self, *args): return _chilkat.CkHttp_put_ProxyDomain(self, *args)
- def get_ProxyDomain(self, *args): return _chilkat.CkHttp_get_ProxyDomain(self, *args)
- def put_Login(self, *args): return _chilkat.CkHttp_put_Login(self, *args)
- def get_Login(self, *args): return _chilkat.CkHttp_get_Login(self, *args)
- def put_Password(self, *args): return _chilkat.CkHttp_put_Password(self, *args)
- def get_Password(self, *args): return _chilkat.CkHttp_get_Password(self, *args)
- def SetRequestHeader(self, *args): return _chilkat.CkHttp_SetRequestHeader(self, *args)
- def GetRequestHeader(self, *args): return _chilkat.CkHttp_GetRequestHeader(self, *args)
- def HasRequestHeader(self, *args): return _chilkat.CkHttp_HasRequestHeader(self, *args)
- def RemoveRequestHeader(self, *args): return _chilkat.CkHttp_RemoveRequestHeader(self, *args)
- def put_UserAgent(self, *args): return _chilkat.CkHttp_put_UserAgent(self, *args)
- def get_UserAgent(self, *args): return _chilkat.CkHttp_get_UserAgent(self, *args)
- def put_Referer(self, *args): return _chilkat.CkHttp_put_Referer(self, *args)
- def get_Referer(self, *args): return _chilkat.CkHttp_get_Referer(self, *args)
- def put_Accept(self, *args): return _chilkat.CkHttp_put_Accept(self, *args)
- def get_Accept(self, *args): return _chilkat.CkHttp_get_Accept(self, *args)
- def put_AcceptCharset(self, *args): return _chilkat.CkHttp_put_AcceptCharset(self, *args)
- def get_AcceptCharset(self, *args): return _chilkat.CkHttp_get_AcceptCharset(self, *args)
- def put_AcceptLanguage(self, *args): return _chilkat.CkHttp_put_AcceptLanguage(self, *args)
- def get_AcceptLanguage(self, *args): return _chilkat.CkHttp_get_AcceptLanguage(self, *args)
- def put_Connection(self, *args): return _chilkat.CkHttp_put_Connection(self, *args)
- def get_Connection(self, *args): return _chilkat.CkHttp_get_Connection(self, *args)
- def get_MaxUrlLen(self): return _chilkat.CkHttp_get_MaxUrlLen(self)
- def put_MaxUrlLen(self, *args): return _chilkat.CkHttp_put_MaxUrlLen(self, *args)
- def get_MaxResponseSize(self): return _chilkat.CkHttp_get_MaxResponseSize(self)
- def put_MaxResponseSize(self, *args): return _chilkat.CkHttp_put_MaxResponseSize(self, *args)
- def put_MimicIE(self, *args): return _chilkat.CkHttp_put_MimicIE(self, *args)
- def get_MimicIE(self): return _chilkat.CkHttp_get_MimicIE(self)
- def put_MimicFireFox(self, *args): return _chilkat.CkHttp_put_MimicFireFox(self, *args)
- def get_MimicFireFox(self): return _chilkat.CkHttp_get_MimicFireFox(self)
- def put_AutoAddHostHeader(self, *args): return _chilkat.CkHttp_put_AutoAddHostHeader(self, *args)
- def get_AutoAddHostHeader(self): return _chilkat.CkHttp_get_AutoAddHostHeader(self)
- def get_ConnectTimeout(self): return _chilkat.CkHttp_get_ConnectTimeout(self)
- def put_ConnectTimeout(self, *args): return _chilkat.CkHttp_put_ConnectTimeout(self, *args)
- def get_ReadTimeout(self): return _chilkat.CkHttp_get_ReadTimeout(self)
- def put_ReadTimeout(self, *args): return _chilkat.CkHttp_put_ReadTimeout(self, *args)
- def GetDomain(self, *args): return _chilkat.CkHttp_GetDomain(self, *args)
- def get_WasRedirected(self): return _chilkat.CkHttp_get_WasRedirected(self)
- def get_FinalRedirectUrl(self, *args): return _chilkat.CkHttp_get_FinalRedirectUrl(self, *args)
- def put_FollowRedirects(self, *args): return _chilkat.CkHttp_put_FollowRedirects(self, *args)
- def get_FollowRedirects(self): return _chilkat.CkHttp_get_FollowRedirects(self)
- def put_NumCacheLevels(self, *args): return _chilkat.CkHttp_put_NumCacheLevels(self, *args)
- def get_NumCacheLevels(self): return _chilkat.CkHttp_get_NumCacheLevels(self)
- def get_NumCacheRoots(self): return _chilkat.CkHttp_get_NumCacheRoots(self)
- def GetCacheRoot(self, *args): return _chilkat.CkHttp_GetCacheRoot(self, *args)
- def AddCacheRoot(self, *args): return _chilkat.CkHttp_AddCacheRoot(self, *args)
- def get_LastStatus(self): return _chilkat.CkHttp_get_LastStatus(self)
- def get_LastContentType(self, *args): return _chilkat.CkHttp_get_LastContentType(self, *args)
- def get_LastResponseHeader(self, *args): return _chilkat.CkHttp_get_LastResponseHeader(self, *args)
- def get_LastModDate(self, *args): return _chilkat.CkHttp_get_LastModDate(self, *args)
- def get_UpdateCache(self): return _chilkat.CkHttp_get_UpdateCache(self)
- def put_UpdateCache(self, *args): return _chilkat.CkHttp_put_UpdateCache(self, *args)
- def get_FetchFromCache(self): return _chilkat.CkHttp_get_FetchFromCache(self)
- def put_FetchFromCache(self, *args): return _chilkat.CkHttp_put_FetchFromCache(self, *args)
- def get_IgnoreNoCache(self): return _chilkat.CkHttp_get_IgnoreNoCache(self)
- def put_IgnoreNoCache(self, *args): return _chilkat.CkHttp_put_IgnoreNoCache(self, *args)
- def get_IgnoreMustRevalidate(self): return _chilkat.CkHttp_get_IgnoreMustRevalidate(self)
- def put_IgnoreMustRevalidate(self, *args): return _chilkat.CkHttp_put_IgnoreMustRevalidate(self, *args)
- def get_DefaultFreshPeriod(self): return _chilkat.CkHttp_get_DefaultFreshPeriod(self)
- def put_DefaultFreshPeriod(self, *args): return _chilkat.CkHttp_put_DefaultFreshPeriod(self, *args)
- def get_FreshnessAlgorithm(self): return _chilkat.CkHttp_get_FreshnessAlgorithm(self)
- def put_FreshnessAlgorithm(self, *args): return _chilkat.CkHttp_put_FreshnessAlgorithm(self, *args)
- def get_LMFactor(self): return _chilkat.CkHttp_get_LMFactor(self)
- def put_LMFactor(self, *args): return _chilkat.CkHttp_put_LMFactor(self, *args)
- def get_MaxFreshPeriod(self): return _chilkat.CkHttp_get_MaxFreshPeriod(self)
- def put_MaxFreshPeriod(self, *args): return _chilkat.CkHttp_put_MaxFreshPeriod(self, *args)
- def get_MinFreshPeriod(self): return _chilkat.CkHttp_get_MinFreshPeriod(self)
- def put_MinFreshPeriod(self, *args): return _chilkat.CkHttp_put_MinFreshPeriod(self, *args)
- def GetUrlPath(self, *args): return _chilkat.CkHttp_GetUrlPath(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkHttp_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkHttp_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkHttp_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkHttp_LastErrorText(self, *args)
-CkHttp_swigregister = _chilkat.CkHttp_swigregister
-CkHttp_swigregister(CkHttp)
-
-class CkHttpRequest(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkHttpRequest, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkHttpRequest, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkHttpRequest()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkHttpRequest
- __del__ = lambda self : None;
- def RemoveAllParams(self): return _chilkat.CkHttpRequest_RemoveAllParams(self)
- def LoadBodyFromFile(self, *args): return _chilkat.CkHttpRequest_LoadBodyFromFile(self, *args)
- def LoadBodyFromBytes(self, *args): return _chilkat.CkHttpRequest_LoadBodyFromBytes(self, *args)
- def LoadBodyFromString(self, *args): return _chilkat.CkHttpRequest_LoadBodyFromString(self, *args)
- def UsePut(self): return _chilkat.CkHttpRequest_UsePut(self)
- def AddBytesForUpload(self, *args): return _chilkat.CkHttpRequest_AddBytesForUpload(self, *args)
- def UsePostMultipartForm(self): return _chilkat.CkHttpRequest_UsePostMultipartForm(self)
- def GetUrlEncodedParams(self, *args): return _chilkat.CkHttpRequest_GetUrlEncodedParams(self, *args)
- def getUrlEncodedParams(self): return _chilkat.CkHttpRequest_getUrlEncodedParams(self)
- def AddStringForUpload(self, *args): return _chilkat.CkHttpRequest_AddStringForUpload(self, *args)
- def AddFileForUpload2(self, *args): return _chilkat.CkHttpRequest_AddFileForUpload2(self, *args)
- def AddStringForUpload2(self, *args): return _chilkat.CkHttpRequest_AddStringForUpload2(self, *args)
- def AddBytesForUpload2(self, *args): return _chilkat.CkHttpRequest_AddBytesForUpload2(self, *args)
- def path(self): return _chilkat.CkHttpRequest_path(self)
- def charset(self): return _chilkat.CkHttpRequest_charset(self)
- def httpVersion(self): return _chilkat.CkHttpRequest_httpVersion(self)
- def getHeaderField(self, *args): return _chilkat.CkHttpRequest_getHeaderField(self, *args)
- def getHeaderName(self, *args): return _chilkat.CkHttpRequest_getHeaderName(self, *args)
- def getHeaderValue(self, *args): return _chilkat.CkHttpRequest_getHeaderValue(self, *args)
- def getParam(self, *args): return _chilkat.CkHttpRequest_getParam(self, *args)
- def getParamName(self, *args): return _chilkat.CkHttpRequest_getParamName(self, *args)
- def getParamValue(self, *args): return _chilkat.CkHttpRequest_getParamValue(self, *args)
- def lastErrorText(self): return _chilkat.CkHttpRequest_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkHttpRequest_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkHttpRequest_lastErrorHtml(self)
- def RemoveParam(self, *args): return _chilkat.CkHttpRequest_RemoveParam(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkHttpRequest_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkHttpRequest_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkHttpRequest_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkHttpRequest_LastErrorText(self, *args)
- def get_Utf8(self): return _chilkat.CkHttpRequest_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkHttpRequest_put_Utf8(self, *args)
- def UsePost(self): return _chilkat.CkHttpRequest_UsePost(self)
- def UseGet(self): return _chilkat.CkHttpRequest_UseGet(self)
- def UseHead(self): return _chilkat.CkHttpRequest_UseHead(self)
- def UseXmlHttp(self, *args): return _chilkat.CkHttpRequest_UseXmlHttp(self, *args)
- def UseUpload(self): return _chilkat.CkHttpRequest_UseUpload(self)
- def SetFromUrl(self, *args): return _chilkat.CkHttpRequest_SetFromUrl(self, *args)
- def put_Path(self, *args): return _chilkat.CkHttpRequest_put_Path(self, *args)
- def get_Path(self, *args): return _chilkat.CkHttpRequest_get_Path(self, *args)
- def put_Charset(self, *args): return _chilkat.CkHttpRequest_put_Charset(self, *args)
- def get_Charset(self, *args): return _chilkat.CkHttpRequest_get_Charset(self, *args)
- def put_SendCharset(self, *args): return _chilkat.CkHttpRequest_put_SendCharset(self, *args)
- def get_SendCharset(self): return _chilkat.CkHttpRequest_get_SendCharset(self)
- def put_HttpVersion(self, *args): return _chilkat.CkHttpRequest_put_HttpVersion(self, *args)
- def get_HttpVersion(self, *args): return _chilkat.CkHttpRequest_get_HttpVersion(self, *args)
- def AddHeader(self, *args): return _chilkat.CkHttpRequest_AddHeader(self, *args)
- def AddParam(self, *args): return _chilkat.CkHttpRequest_AddParam(self, *args)
- def AddFileForUpload(self, *args): return _chilkat.CkHttpRequest_AddFileForUpload(self, *args)
- def GenerateRequestText(self, *args): return _chilkat.CkHttpRequest_GenerateRequestText(self, *args)
- def generateRequestText(self): return _chilkat.CkHttpRequest_generateRequestText(self)
- def GetHeaderField(self, *args): return _chilkat.CkHttpRequest_GetHeaderField(self, *args)
- def get_NumHeaderFields(self): return _chilkat.CkHttpRequest_get_NumHeaderFields(self)
- def GetHeaderName(self, *args): return _chilkat.CkHttpRequest_GetHeaderName(self, *args)
- def GetHeaderValue(self, *args): return _chilkat.CkHttpRequest_GetHeaderValue(self, *args)
- def GetParam(self, *args): return _chilkat.CkHttpRequest_GetParam(self, *args)
- def get_NumParams(self): return _chilkat.CkHttpRequest_get_NumParams(self)
- def GetParamName(self, *args): return _chilkat.CkHttpRequest_GetParamName(self, *args)
- def GetParamValue(self, *args): return _chilkat.CkHttpRequest_GetParamValue(self, *args)
-CkHttpRequest_swigregister = _chilkat.CkHttpRequest_swigregister
-CkHttpRequest_swigregister(CkHttpRequest)
-
-class CkHttpResponse(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkHttpResponse, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkHttpResponse, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkHttpResponse()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkHttpResponse
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkHttpResponse_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkHttpResponse_put_Utf8(self, *args)
- def header(self): return _chilkat.CkHttpResponse_header(self)
- def bodyStr(self): return _chilkat.CkHttpResponse_bodyStr(self)
- def statusLine(self): return _chilkat.CkHttpResponse_statusLine(self)
- def charset(self): return _chilkat.CkHttpResponse_charset(self)
- def domain(self): return _chilkat.CkHttpResponse_domain(self)
- def getHeaderField(self, *args): return _chilkat.CkHttpResponse_getHeaderField(self, *args)
- def getHeaderFieldAttr(self, *args): return _chilkat.CkHttpResponse_getHeaderFieldAttr(self, *args)
- def getHeaderName(self, *args): return _chilkat.CkHttpResponse_getHeaderName(self, *args)
- def getHeaderValue(self, *args): return _chilkat.CkHttpResponse_getHeaderValue(self, *args)
- def getCookieDomain(self, *args): return _chilkat.CkHttpResponse_getCookieDomain(self, *args)
- def getCookiePath(self, *args): return _chilkat.CkHttpResponse_getCookiePath(self, *args)
- def getCookieExpiresStr(self, *args): return _chilkat.CkHttpResponse_getCookieExpiresStr(self, *args)
- def getCookieName(self, *args): return _chilkat.CkHttpResponse_getCookieName(self, *args)
- def getCookieValue(self, *args): return _chilkat.CkHttpResponse_getCookieValue(self, *args)
- def get_Header(self, *args): return _chilkat.CkHttpResponse_get_Header(self, *args)
- def get_Body(self, *args): return _chilkat.CkHttpResponse_get_Body(self, *args)
- def get_BodyStr(self, *args): return _chilkat.CkHttpResponse_get_BodyStr(self, *args)
- def get_BodyQP(self, *args): return _chilkat.CkHttpResponse_get_BodyQP(self, *args)
- def get_StatusLine(self, *args): return _chilkat.CkHttpResponse_get_StatusLine(self, *args)
- def get_StatusCode(self): return _chilkat.CkHttpResponse_get_StatusCode(self)
- def get_Charset(self, *args): return _chilkat.CkHttpResponse_get_Charset(self, *args)
- def get_Domain(self, *args): return _chilkat.CkHttpResponse_get_Domain(self, *args)
- def get_ContentLength(self): return _chilkat.CkHttpResponse_get_ContentLength(self)
- def get_Date(self, *args): return _chilkat.CkHttpResponse_get_Date(self, *args)
- def GetHeaderField(self, *args): return _chilkat.CkHttpResponse_GetHeaderField(self, *args)
- def GetHeaderFieldAttr(self, *args): return _chilkat.CkHttpResponse_GetHeaderFieldAttr(self, *args)
- def get_NumHeaderFields(self): return _chilkat.CkHttpResponse_get_NumHeaderFields(self)
- def GetHeaderName(self, *args): return _chilkat.CkHttpResponse_GetHeaderName(self, *args)
- def GetHeaderValue(self, *args): return _chilkat.CkHttpResponse_GetHeaderValue(self, *args)
- def get_NumCookies(self): return _chilkat.CkHttpResponse_get_NumCookies(self)
- def GetCookieDomain(self, *args): return _chilkat.CkHttpResponse_GetCookieDomain(self, *args)
- def GetCookiePath(self, *args): return _chilkat.CkHttpResponse_GetCookiePath(self, *args)
- def GetCookieExpiresStr(self, *args): return _chilkat.CkHttpResponse_GetCookieExpiresStr(self, *args)
- def GetCookieExpires(self, *args): return _chilkat.CkHttpResponse_GetCookieExpires(self, *args)
- def GetCookieName(self, *args): return _chilkat.CkHttpResponse_GetCookieName(self, *args)
- def GetCookieValue(self, *args): return _chilkat.CkHttpResponse_GetCookieValue(self, *args)
-CkHttpResponse_swigregister = _chilkat.CkHttpResponse_swigregister
-CkHttpResponse_swigregister(CkHttpResponse)
-
-class CkImap(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkImap, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkImap, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkImap()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkImap
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkImap_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkImap_put_Utf8(self, *args)
- def get_LastAppendedMime(self, *args): return _chilkat.CkImap_get_LastAppendedMime(self, *args)
- def lastAppendedMime(self): return _chilkat.CkImap_lastAppendedMime(self)
- def get_LastIntermediateResponse(self, *args): return _chilkat.CkImap_get_LastIntermediateResponse(self, *args)
- def lastIntermediateResponse(self): return _chilkat.CkImap_lastIntermediateResponse(self)
- def get_LastResponse(self, *args): return _chilkat.CkImap_get_LastResponse(self, *args)
- def lastResponse(self): return _chilkat.CkImap_lastResponse(self)
- def get_LastCommand(self, *args): return _chilkat.CkImap_get_LastCommand(self, *args)
- def lastCommand(self): return _chilkat.CkImap_lastCommand(self)
- def get_Version(self, *args): return _chilkat.CkImap_get_Version(self, *args)
- def version(self): return _chilkat.CkImap_version(self)
- def AppendMimeWithFlags(self, *args): return _chilkat.CkImap_AppendMimeWithFlags(self, *args)
- def Subscribe(self, *args): return _chilkat.CkImap_Subscribe(self, *args)
- def Unsubscribe(self, *args): return _chilkat.CkImap_Unsubscribe(self, *args)
- def FetchSingleHeaderAsMime(self, *args): return _chilkat.CkImap_FetchSingleHeaderAsMime(self, *args)
- def fetchSingleHeaderAsMime(self, *args): return _chilkat.CkImap_fetchSingleHeaderAsMime(self, *args)
- def AppendMimeWithDate(self, *args): return _chilkat.CkImap_AppendMimeWithDate(self, *args)
- def get_SelectedMailbox(self, *args): return _chilkat.CkImap_get_SelectedMailbox(self, *args)
- def selectedMailbox(self): return _chilkat.CkImap_selectedMailbox(self)
- def get_AppendUid(self): return _chilkat.CkImap_get_AppendUid(self)
- def get_AuthzId(self, *args): return _chilkat.CkImap_get_AuthzId(self, *args)
- def authzId(self): return _chilkat.CkImap_authzId(self)
- def put_AuthzId(self, *args): return _chilkat.CkImap_put_AuthzId(self, *args)
- def get_SendBufferSize(self): return _chilkat.CkImap_get_SendBufferSize(self)
- def put_SendBufferSize(self, *args): return _chilkat.CkImap_put_SendBufferSize(self, *args)
- def SshTunnel(self, *args): return _chilkat.CkImap_SshTunnel(self, *args)
- def SshAuthenticatePw(self, *args): return _chilkat.CkImap_SshAuthenticatePw(self, *args)
- def SshAuthenticatePk(self, *args): return _chilkat.CkImap_SshAuthenticatePk(self, *args)
- def Noop(self): return _chilkat.CkImap_Noop(self)
- def get_SocksHostname(self, *args): return _chilkat.CkImap_get_SocksHostname(self, *args)
- def socksHostname(self): return _chilkat.CkImap_socksHostname(self)
- def put_SocksHostname(self, *args): return _chilkat.CkImap_put_SocksHostname(self, *args)
- def get_SocksUsername(self, *args): return _chilkat.CkImap_get_SocksUsername(self, *args)
- def socksUsername(self): return _chilkat.CkImap_socksUsername(self)
- def put_SocksUsername(self, *args): return _chilkat.CkImap_put_SocksUsername(self, *args)
- def get_SocksPassword(self, *args): return _chilkat.CkImap_get_SocksPassword(self, *args)
- def socksPassword(self): return _chilkat.CkImap_socksPassword(self)
- def put_SocksPassword(self, *args): return _chilkat.CkImap_put_SocksPassword(self, *args)
- def get_SocksPort(self): return _chilkat.CkImap_get_SocksPort(self)
- def put_SocksPort(self, *args): return _chilkat.CkImap_put_SocksPort(self, *args)
- def get_SocksVersion(self): return _chilkat.CkImap_get_SocksVersion(self)
- def put_SocksVersion(self, *args): return _chilkat.CkImap_put_SocksVersion(self, *args)
- def SetSslClientCertPfx(self, *args): return _chilkat.CkImap_SetSslClientCertPfx(self, *args)
- def get_StartTls(self): return _chilkat.CkImap_get_StartTls(self)
- def put_StartTls(self, *args): return _chilkat.CkImap_put_StartTls(self, *args)
- def get_SslProtocol(self, *args): return _chilkat.CkImap_get_SslProtocol(self, *args)
- def sslProtocol(self): return _chilkat.CkImap_sslProtocol(self)
- def put_SslProtocol(self, *args): return _chilkat.CkImap_put_SslProtocol(self, *args)
- def get_HttpProxyUsername(self, *args): return _chilkat.CkImap_get_HttpProxyUsername(self, *args)
- def httpProxyUsername(self): return _chilkat.CkImap_httpProxyUsername(self)
- def put_HttpProxyUsername(self, *args): return _chilkat.CkImap_put_HttpProxyUsername(self, *args)
- def get_HttpProxyPassword(self, *args): return _chilkat.CkImap_get_HttpProxyPassword(self, *args)
- def httpProxyPassword(self): return _chilkat.CkImap_httpProxyPassword(self)
- def put_HttpProxyPassword(self, *args): return _chilkat.CkImap_put_HttpProxyPassword(self, *args)
- def get_HttpProxyAuthMethod(self, *args): return _chilkat.CkImap_get_HttpProxyAuthMethod(self, *args)
- def httpProxyAuthMethod(self): return _chilkat.CkImap_httpProxyAuthMethod(self)
- def put_HttpProxyAuthMethod(self, *args): return _chilkat.CkImap_put_HttpProxyAuthMethod(self, *args)
- def get_HttpProxyHostname(self, *args): return _chilkat.CkImap_get_HttpProxyHostname(self, *args)
- def httpProxyHostname(self): return _chilkat.CkImap_httpProxyHostname(self)
- def put_HttpProxyHostname(self, *args): return _chilkat.CkImap_put_HttpProxyHostname(self, *args)
- def get_HttpProxyPort(self): return _chilkat.CkImap_get_HttpProxyPort(self)
- def put_HttpProxyPort(self, *args): return _chilkat.CkImap_put_HttpProxyPort(self, *args)
- def get_UidNext(self): return _chilkat.CkImap_get_UidNext(self)
- def get_AutoFix(self): return _chilkat.CkImap_get_AutoFix(self)
- def put_AutoFix(self, *args): return _chilkat.CkImap_put_AutoFix(self, *args)
- def AddPfxSourceData(self, *args): return _chilkat.CkImap_AddPfxSourceData(self, *args)
- def AddPfxSourceFile(self, *args): return _chilkat.CkImap_AddPfxSourceFile(self, *args)
- def Connect(self, *args): return _chilkat.CkImap_Connect(self, *args)
- def Disconnect(self): return _chilkat.CkImap_Disconnect(self)
- def IsConnected(self): return _chilkat.CkImap_IsConnected(self)
- def get_SeparatorChar(self): return _chilkat.CkImap_get_SeparatorChar(self)
- def put_SeparatorChar(self, *args): return _chilkat.CkImap_put_SeparatorChar(self, *args)
- def get_NumMessages(self): return _chilkat.CkImap_get_NumMessages(self)
- def FetchSequenceAsMime(self, *args): return _chilkat.CkImap_FetchSequenceAsMime(self, *args)
- def Login(self, *args): return _chilkat.CkImap_Login(self, *args)
- def Logout(self): return _chilkat.CkImap_Logout(self)
- def IsLoggedIn(self): return _chilkat.CkImap_IsLoggedIn(self)
- def SetSslClientCert(self, *args): return _chilkat.CkImap_SetSslClientCert(self, *args)
- def GetSslServerCert(self): return _chilkat.CkImap_GetSslServerCert(self)
- def get_SslServerCertVerified(self): return _chilkat.CkImap_get_SslServerCertVerified(self)
- def get_LoggedInUser(self, *args): return _chilkat.CkImap_get_LoggedInUser(self, *args)
- def get_ConnectedToHost(self, *args): return _chilkat.CkImap_get_ConnectedToHost(self, *args)
- def CreateMailbox(self, *args): return _chilkat.CkImap_CreateMailbox(self, *args)
- def DeleteMailbox(self, *args): return _chilkat.CkImap_DeleteMailbox(self, *args)
- def RenameMailbox(self, *args): return _chilkat.CkImap_RenameMailbox(self, *args)
- def CopyMultiple(self, *args): return _chilkat.CkImap_CopyMultiple(self, *args)
- def CopySequence(self, *args): return _chilkat.CkImap_CopySequence(self, *args)
- def SetDecryptCert2(self, *args): return _chilkat.CkImap_SetDecryptCert2(self, *args)
- def LastResponse(self, *args): return _chilkat.CkImap_LastResponse(self, *args)
- def ListMailboxes(self, *args): return _chilkat.CkImap_ListMailboxes(self, *args)
- def SelectMailbox(self, *args): return _chilkat.CkImap_SelectMailbox(self, *args)
- def ExamineMailbox(self, *args): return _chilkat.CkImap_ExamineMailbox(self, *args)
- def Search(self, *args): return _chilkat.CkImap_Search(self, *args)
- def ClearSessionLog(self): return _chilkat.CkImap_ClearSessionLog(self)
- def GetAllUids(self): return _chilkat.CkImap_GetAllUids(self)
- def FetchSingle(self, *args): return _chilkat.CkImap_FetchSingle(self, *args)
- def FetchSingleHeader(self, *args): return _chilkat.CkImap_FetchSingleHeader(self, *args)
- def FetchBundle(self, *args): return _chilkat.CkImap_FetchBundle(self, *args)
- def FetchHeaders(self, *args): return _chilkat.CkImap_FetchHeaders(self, *args)
- def FetchChunk(self, *args): return _chilkat.CkImap_FetchChunk(self, *args)
- def FetchSequence(self, *args): return _chilkat.CkImap_FetchSequence(self, *args)
- def FetchSequenceHeaders(self, *args): return _chilkat.CkImap_FetchSequenceHeaders(self, *args)
- def FetchSingleAsMime(self, *args): return _chilkat.CkImap_FetchSingleAsMime(self, *args)
- def FetchBundleAsMime(self, *args): return _chilkat.CkImap_FetchBundleAsMime(self, *args)
- def Expunge(self): return _chilkat.CkImap_Expunge(self)
- def ExpungeAndClose(self): return _chilkat.CkImap_ExpungeAndClose(self)
- def StoreFlags(self, *args): return _chilkat.CkImap_StoreFlags(self, *args)
- def FetchFlags(self, *args): return _chilkat.CkImap_FetchFlags(self, *args)
- def SetFlag(self, *args): return _chilkat.CkImap_SetFlag(self, *args)
- def SetFlags(self, *args): return _chilkat.CkImap_SetFlags(self, *args)
- def get_AuthMethod(self, *args): return _chilkat.CkImap_get_AuthMethod(self, *args)
- def put_AuthMethod(self, *args): return _chilkat.CkImap_put_AuthMethod(self, *args)
- def get_Domain(self, *args): return _chilkat.CkImap_get_Domain(self, *args)
- def put_Domain(self, *args): return _chilkat.CkImap_put_Domain(self, *args)
- def get_Port(self): return _chilkat.CkImap_get_Port(self)
- def put_Port(self, *args): return _chilkat.CkImap_put_Port(self, *args)
- def get_Ssl(self): return _chilkat.CkImap_get_Ssl(self)
- def put_Ssl(self, *args): return _chilkat.CkImap_put_Ssl(self, *args)
- def AppendMime(self, *args): return _chilkat.CkImap_AppendMime(self, *args)
- def AppendMail(self, *args): return _chilkat.CkImap_AppendMail(self, *args)
- def Copy(self, *args): return _chilkat.CkImap_Copy(self, *args)
- def SetMailFlag(self, *args): return _chilkat.CkImap_SetMailFlag(self, *args)
- def GetMailFlag(self, *args): return _chilkat.CkImap_GetMailFlag(self, *args)
- def RefetchMailFlags(self, *args): return _chilkat.CkImap_RefetchMailFlags(self, *args)
- def GetMailSize(self, *args): return _chilkat.CkImap_GetMailSize(self, *args)
- def GetMailNumAttach(self, *args): return _chilkat.CkImap_GetMailNumAttach(self, *args)
- def GetMailAttachSize(self, *args): return _chilkat.CkImap_GetMailAttachSize(self, *args)
- def GetMailAttachFilename(self, *args): return _chilkat.CkImap_GetMailAttachFilename(self, *args)
- def get_PeekMode(self): return _chilkat.CkImap_get_PeekMode(self)
- def put_PeekMode(self, *args): return _chilkat.CkImap_put_PeekMode(self, *args)
- def get_SessionLog(self, *args): return _chilkat.CkImap_get_SessionLog(self, *args)
- def get_KeepSessionLog(self): return _chilkat.CkImap_get_KeepSessionLog(self)
- def put_KeepSessionLog(self, *args): return _chilkat.CkImap_put_KeepSessionLog(self, *args)
- def get_AppendSeen(self): return _chilkat.CkImap_get_AppendSeen(self)
- def put_AppendSeen(self, *args): return _chilkat.CkImap_put_AppendSeen(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkImap_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkImap_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkImap_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkImap_LastErrorText(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkImap_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkImap_IsUnlocked(self)
- def get_ReadTimeout(self): return _chilkat.CkImap_get_ReadTimeout(self)
- def put_ReadTimeout(self, *args): return _chilkat.CkImap_put_ReadTimeout(self, *args)
- def get_ConnectTimeout(self): return _chilkat.CkImap_get_ConnectTimeout(self)
- def put_ConnectTimeout(self, *args): return _chilkat.CkImap_put_ConnectTimeout(self, *args)
- def SendRawCommand(self, *args): return _chilkat.CkImap_SendRawCommand(self, *args)
- def lastErrorText(self): return _chilkat.CkImap_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkImap_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkImap_lastErrorHtml(self)
- def getMailAttachFilename(self, *args): return _chilkat.CkImap_getMailAttachFilename(self, *args)
- def fetchFlags(self, *args): return _chilkat.CkImap_fetchFlags(self, *args)
- def authMethod(self): return _chilkat.CkImap_authMethod(self)
- def domain(self): return _chilkat.CkImap_domain(self)
- def fetchSingleAsMime(self, *args): return _chilkat.CkImap_fetchSingleAsMime(self, *args)
- def loggedInUser(self): return _chilkat.CkImap_loggedInUser(self)
- def connectedToHost(self): return _chilkat.CkImap_connectedToHost(self)
- def sendRawCommand(self, *args): return _chilkat.CkImap_sendRawCommand(self, *args)
- def sessionLog(self): return _chilkat.CkImap_sessionLog(self)
-CkImap_swigregister = _chilkat.CkImap_swigregister
-CkImap_swigregister(CkImap)
-
-class CkMailboxes(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkMailboxes, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkMailboxes, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkMailboxes()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkMailboxes
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkMailboxes_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkMailboxes_put_Utf8(self, *args)
- def IsMarked(self, *args): return _chilkat.CkMailboxes_IsMarked(self, *args)
- def HasInferiors(self, *args): return _chilkat.CkMailboxes_HasInferiors(self, *args)
- def IsSelectable(self, *args): return _chilkat.CkMailboxes_IsSelectable(self, *args)
- def GetName(self, *args): return _chilkat.CkMailboxes_GetName(self, *args)
- def get_Count(self): return _chilkat.CkMailboxes_get_Count(self)
- def getName(self, *args): return _chilkat.CkMailboxes_getName(self, *args)
-CkMailboxes_swigregister = _chilkat.CkMailboxes_swigregister
-CkMailboxes_swigregister(CkMailboxes)
-
-class CkMessageSet(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkMessageSet, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkMessageSet, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkMessageSet()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkMessageSet
- __del__ = lambda self : None;
- def toString(self): return _chilkat.CkMessageSet_toString(self)
- def ToString(self, *args): return _chilkat.CkMessageSet_ToString(self, *args)
- def ToCompactString(self, *args): return _chilkat.CkMessageSet_ToCompactString(self, *args)
- def toCompactString(self): return _chilkat.CkMessageSet_toCompactString(self)
- def FromCompactString(self, *args): return _chilkat.CkMessageSet_FromCompactString(self, *args)
- def ContainsId(self, *args): return _chilkat.CkMessageSet_ContainsId(self, *args)
- def RemoveId(self, *args): return _chilkat.CkMessageSet_RemoveId(self, *args)
- def InsertId(self, *args): return _chilkat.CkMessageSet_InsertId(self, *args)
- def GetId(self, *args): return _chilkat.CkMessageSet_GetId(self, *args)
- def get_Count(self): return _chilkat.CkMessageSet_get_Count(self)
- def put_HasUids(self, *args): return _chilkat.CkMessageSet_put_HasUids(self, *args)
- def get_HasUids(self): return _chilkat.CkMessageSet_get_HasUids(self)
-CkMessageSet_swigregister = _chilkat.CkMessageSet_swigregister
-CkMessageSet_swigregister(CkMessageSet)
-
-class CkCharset(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkCharset, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkCharset, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkCharset()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkCharset
- __del__ = lambda self : None;
- def lastErrorText(self): return _chilkat.CkCharset_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkCharset_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkCharset_lastErrorHtml(self)
- def UrlDecodeStr(self, *args): return _chilkat.CkCharset_UrlDecodeStr(self, *args)
- def urlDecodeStr(self, *args): return _chilkat.CkCharset_urlDecodeStr(self, *args)
- def getHtmlFileCharset(self, *args): return _chilkat.CkCharset_getHtmlFileCharset(self, *args)
- def getHtmlCharset(self, *args): return _chilkat.CkCharset_getHtmlCharset(self, *args)
- def lastOutputAsQP(self): return _chilkat.CkCharset_lastOutputAsQP(self)
- def lastInputAsQP(self): return _chilkat.CkCharset_lastInputAsQP(self)
- def lastOutputAsHex(self): return _chilkat.CkCharset_lastOutputAsHex(self)
- def lastInputAsHex(self): return _chilkat.CkCharset_lastInputAsHex(self)
- def htmlDecodeToStr(self, *args): return _chilkat.CkCharset_htmlDecodeToStr(self, *args)
- def toCharset(self): return _chilkat.CkCharset_toCharset(self)
- def fromCharset(self): return _chilkat.CkCharset_fromCharset(self)
- def version(self): return _chilkat.CkCharset_version(self)
- def codePageToCharset(self, *args): return _chilkat.CkCharset_codePageToCharset(self, *args)
- def altToCharset(self): return _chilkat.CkCharset_altToCharset(self)
- def upperCase(self, *args): return _chilkat.CkCharset_upperCase(self, *args)
- def lowerCase(self, *args): return _chilkat.CkCharset_lowerCase(self, *args)
- def UpperCase(self, *args): return _chilkat.CkCharset_UpperCase(self, *args)
- def LowerCase(self, *args): return _chilkat.CkCharset_LowerCase(self, *args)
- def get_Utf8(self): return _chilkat.CkCharset_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkCharset_put_Utf8(self, *args)
- def GetHtmlFileCharset(self, *args): return _chilkat.CkCharset_GetHtmlFileCharset(self, *args)
- def GetHtmlCharset(self, *args): return _chilkat.CkCharset_GetHtmlCharset(self, *args)
- def ConvertHtmlFile(self, *args): return _chilkat.CkCharset_ConvertHtmlFile(self, *args)
- def ConvertHtml(self, *args): return _chilkat.CkCharset_ConvertHtml(self, *args)
- def get_LastOutputAsQP(self, *args): return _chilkat.CkCharset_get_LastOutputAsQP(self, *args)
- def get_LastInputAsQP(self, *args): return _chilkat.CkCharset_get_LastInputAsQP(self, *args)
- def get_LastOutputAsHex(self, *args): return _chilkat.CkCharset_get_LastOutputAsHex(self, *args)
- def get_LastInputAsHex(self, *args): return _chilkat.CkCharset_get_LastInputAsHex(self, *args)
- def put_SaveLast(self, *args): return _chilkat.CkCharset_put_SaveLast(self, *args)
- def get_SaveLast(self): return _chilkat.CkCharset_get_SaveLast(self)
- def EntityEncodeHex(self, *args): return _chilkat.CkCharset_EntityEncodeHex(self, *args)
- def EntityEncodeDec(self, *args): return _chilkat.CkCharset_EntityEncodeDec(self, *args)
- def entityEncodeHex(self, *args): return _chilkat.CkCharset_entityEncodeHex(self, *args)
- def entityEncodeDec(self, *args): return _chilkat.CkCharset_entityEncodeDec(self, *args)
- def WriteFile(self, *args): return _chilkat.CkCharset_WriteFile(self, *args)
- def ReadFile(self, *args): return _chilkat.CkCharset_ReadFile(self, *args)
- def ConvertFromUnicode(self, *args): return _chilkat.CkCharset_ConvertFromUnicode(self, *args)
- def ConvertToUnicode(self, *args): return _chilkat.CkCharset_ConvertToUnicode(self, *args)
- def VerifyFile(self, *args): return _chilkat.CkCharset_VerifyFile(self, *args)
- def VerifyData(self, *args): return _chilkat.CkCharset_VerifyData(self, *args)
- def HtmlEntityDecode(self, *args): return _chilkat.CkCharset_HtmlEntityDecode(self, *args)
- def HtmlDecodeToStr(self, *args): return _chilkat.CkCharset_HtmlDecodeToStr(self, *args)
- def HtmlEntityDecodeFile(self, *args): return _chilkat.CkCharset_HtmlEntityDecodeFile(self, *args)
- def ConvertFile(self, *args): return _chilkat.CkCharset_ConvertFile(self, *args)
- def ConvertData(self, *args): return _chilkat.CkCharset_ConvertData(self, *args)
- def get_ToCharset(self, *args): return _chilkat.CkCharset_get_ToCharset(self, *args)
- def put_ToCharset(self, *args): return _chilkat.CkCharset_put_ToCharset(self, *args)
- def get_FromCharset(self, *args): return _chilkat.CkCharset_get_FromCharset(self, *args)
- def put_FromCharset(self, *args): return _chilkat.CkCharset_put_FromCharset(self, *args)
- def get_Version(self, *args): return _chilkat.CkCharset_get_Version(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkCharset_UnlockComponent(self, *args)
- def IsUnlocked(self): return _chilkat.CkCharset_IsUnlocked(self)
- def SaveLastError(self, *args): return _chilkat.CkCharset_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkCharset_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkCharset_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkCharset_LastErrorText(self, *args)
- def CharsetToCodePage(self, *args): return _chilkat.CkCharset_CharsetToCodePage(self, *args)
- def CodePageToCharset(self, *args): return _chilkat.CkCharset_CodePageToCharset(self, *args)
- def get_ErrorAction(self): return _chilkat.CkCharset_get_ErrorAction(self)
- def put_ErrorAction(self, *args): return _chilkat.CkCharset_put_ErrorAction(self, *args)
- def get_AltToCharset(self, *args): return _chilkat.CkCharset_get_AltToCharset(self, *args)
- def put_AltToCharset(self, *args): return _chilkat.CkCharset_put_AltToCharset(self, *args)
- def SetErrorBytes(self, *args): return _chilkat.CkCharset_SetErrorBytes(self, *args)
- def SetErrorString(self, *args): return _chilkat.CkCharset_SetErrorString(self, *args)
-CkCharset_swigregister = _chilkat.CkCharset_swigregister
-CkCharset_swigregister(CkCharset)
-
-class CkSpider(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkSpider, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkSpider, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkSpider()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkSpider
- __del__ = lambda self : None;
- def getAvoidPattern(self, *args): return _chilkat.CkSpider_getAvoidPattern(self, *args)
- def getOutboundLink(self, *args): return _chilkat.CkSpider_getOutboundLink(self, *args)
- def getFailedUrl(self, *args): return _chilkat.CkSpider_getFailedUrl(self, *args)
- def getSpideredUrl(self, *args): return _chilkat.CkSpider_getSpideredUrl(self, *args)
- def getUnspideredUrl(self, *args): return _chilkat.CkSpider_getUnspideredUrl(self, *args)
- def get_ProxyDomain(self, *args): return _chilkat.CkSpider_get_ProxyDomain(self, *args)
- def proxyDomain(self): return _chilkat.CkSpider_proxyDomain(self)
- def put_ProxyDomain(self, *args): return _chilkat.CkSpider_put_ProxyDomain(self, *args)
- def get_ProxyLogin(self, *args): return _chilkat.CkSpider_get_ProxyLogin(self, *args)
- def proxyLogin(self): return _chilkat.CkSpider_proxyLogin(self)
- def put_ProxyLogin(self, *args): return _chilkat.CkSpider_put_ProxyLogin(self, *args)
- def get_ProxyPassword(self, *args): return _chilkat.CkSpider_get_ProxyPassword(self, *args)
- def proxyPassword(self): return _chilkat.CkSpider_proxyPassword(self)
- def put_ProxyPassword(self, *args): return _chilkat.CkSpider_put_ProxyPassword(self, *args)
- def get_ProxyPort(self): return _chilkat.CkSpider_get_ProxyPort(self)
- def put_ProxyPort(self, *args): return _chilkat.CkSpider_put_ProxyPort(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkSpider_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkSpider_put_VerboseLogging(self, *args)
- def put_UserAgent(self, *args): return _chilkat.CkSpider_put_UserAgent(self, *args)
- def userAgent(self): return _chilkat.CkSpider_userAgent(self)
- def get_UserAgent(self, *args): return _chilkat.CkSpider_get_UserAgent(self, *args)
- def cacheDir(self): return _chilkat.CkSpider_cacheDir(self)
- def avoidPattern(self, *args): return _chilkat.CkSpider_avoidPattern(self, *args)
- def outboundLink(self, *args): return _chilkat.CkSpider_outboundLink(self, *args)
- def failedUrl(self, *args): return _chilkat.CkSpider_failedUrl(self, *args)
- def spideredUrl(self, *args): return _chilkat.CkSpider_spideredUrl(self, *args)
- def unspideredUrl(self, *args): return _chilkat.CkSpider_unspideredUrl(self, *args)
- def domain(self): return _chilkat.CkSpider_domain(self)
- def lastHtmlDescription(self): return _chilkat.CkSpider_lastHtmlDescription(self)
- def lastHtmlKeywords(self): return _chilkat.CkSpider_lastHtmlKeywords(self)
- def lastHtmlTitle(self): return _chilkat.CkSpider_lastHtmlTitle(self)
- def lastHtml(self): return _chilkat.CkSpider_lastHtml(self)
- def lastUrl(self): return _chilkat.CkSpider_lastUrl(self)
- def lastModDateStr(self): return _chilkat.CkSpider_lastModDateStr(self)
- def fetchRobotsText(self): return _chilkat.CkSpider_fetchRobotsText(self)
- def GetDomain(self, *args): return _chilkat.CkSpider_GetDomain(self, *args)
- def GetBaseDomain(self, *args): return _chilkat.CkSpider_GetBaseDomain(self, *args)
- def CanonicalizeUrl(self, *args): return _chilkat.CkSpider_CanonicalizeUrl(self, *args)
- def getDomain(self, *args): return _chilkat.CkSpider_getDomain(self, *args)
- def getBaseDomain(self, *args): return _chilkat.CkSpider_getBaseDomain(self, *args)
- def canonicalizeUrl(self, *args): return _chilkat.CkSpider_canonicalizeUrl(self, *args)
- def lastErrorText(self): return _chilkat.CkSpider_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkSpider_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkSpider_lastErrorHtml(self)
- def get_LastHtmlDescription(self, *args): return _chilkat.CkSpider_get_LastHtmlDescription(self, *args)
- def get_LastHtmlKeywords(self, *args): return _chilkat.CkSpider_get_LastHtmlKeywords(self, *args)
- def get_LastHtmlTitle(self, *args): return _chilkat.CkSpider_get_LastHtmlTitle(self, *args)
- def get_LastHtml(self, *args): return _chilkat.CkSpider_get_LastHtml(self, *args)
- def get_LastFromCache(self): return _chilkat.CkSpider_get_LastFromCache(self)
- def get_LastModDate(self, *args): return _chilkat.CkSpider_get_LastModDate(self, *args)
- def get_LastUrl(self, *args): return _chilkat.CkSpider_get_LastUrl(self, *args)
- def get_LastModDateStr(self, *args): return _chilkat.CkSpider_get_LastModDateStr(self, *args)
- def SleepMs(self, *args): return _chilkat.CkSpider_SleepMs(self, *args)
- def SkipUnspidered(self, *args): return _chilkat.CkSpider_SkipUnspidered(self, *args)
- def FetchRobotsText(self, *args): return _chilkat.CkSpider_FetchRobotsText(self, *args)
- def get_Domain(self, *args): return _chilkat.CkSpider_get_Domain(self, *args)
- def AddMustMatchPattern(self, *args): return _chilkat.CkSpider_AddMustMatchPattern(self, *args)
- def AddAvoidOutboundLinkPattern(self, *args): return _chilkat.CkSpider_AddAvoidOutboundLinkPattern(self, *args)
- def GetAvoidPattern(self, *args): return _chilkat.CkSpider_GetAvoidPattern(self, *args)
- def AddAvoidPattern(self, *args): return _chilkat.CkSpider_AddAvoidPattern(self, *args)
- def GetOutboundLink(self, *args): return _chilkat.CkSpider_GetOutboundLink(self, *args)
- def GetFailedUrl(self, *args): return _chilkat.CkSpider_GetFailedUrl(self, *args)
- def GetSpideredUrl(self, *args): return _chilkat.CkSpider_GetSpideredUrl(self, *args)
- def GetUnspideredUrl(self, *args): return _chilkat.CkSpider_GetUnspideredUrl(self, *args)
- def RecrawlLast(self): return _chilkat.CkSpider_RecrawlLast(self)
- def ClearOutboundLinks(self): return _chilkat.CkSpider_ClearOutboundLinks(self)
- def ClearFailedUrls(self): return _chilkat.CkSpider_ClearFailedUrls(self)
- def ClearSpideredUrls(self): return _chilkat.CkSpider_ClearSpideredUrls(self)
- def get_WindDownCount(self): return _chilkat.CkSpider_get_WindDownCount(self)
- def put_WindDownCount(self, *args): return _chilkat.CkSpider_put_WindDownCount(self, *args)
- def get_NumAvoidPatterns(self): return _chilkat.CkSpider_get_NumAvoidPatterns(self)
- def get_NumOutboundLinks(self): return _chilkat.CkSpider_get_NumOutboundLinks(self)
- def get_NumFailed(self): return _chilkat.CkSpider_get_NumFailed(self)
- def get_NumSpidered(self): return _chilkat.CkSpider_get_NumSpidered(self)
- def get_NumUnspidered(self): return _chilkat.CkSpider_get_NumUnspidered(self)
- def CrawlNext(self): return _chilkat.CkSpider_CrawlNext(self)
- def get_ChopAtQuery(self): return _chilkat.CkSpider_get_ChopAtQuery(self)
- def put_ChopAtQuery(self, *args): return _chilkat.CkSpider_put_ChopAtQuery(self, *args)
- def get_AvoidHttps(self): return _chilkat.CkSpider_get_AvoidHttps(self)
- def put_AvoidHttps(self, *args): return _chilkat.CkSpider_put_AvoidHttps(self, *args)
- def get_MaxResponseSize(self): return _chilkat.CkSpider_get_MaxResponseSize(self)
- def put_MaxResponseSize(self, *args): return _chilkat.CkSpider_put_MaxResponseSize(self, *args)
- def get_MaxUrlLen(self): return _chilkat.CkSpider_get_MaxUrlLen(self)
- def put_MaxUrlLen(self, *args): return _chilkat.CkSpider_put_MaxUrlLen(self, *args)
- def get_CacheDir(self, *args): return _chilkat.CkSpider_get_CacheDir(self, *args)
- def put_CacheDir(self, *args): return _chilkat.CkSpider_put_CacheDir(self, *args)
- def get_UpdateCache(self): return _chilkat.CkSpider_get_UpdateCache(self)
- def put_UpdateCache(self, *args): return _chilkat.CkSpider_put_UpdateCache(self, *args)
- def get_FetchFromCache(self): return _chilkat.CkSpider_get_FetchFromCache(self)
- def put_FetchFromCache(self, *args): return _chilkat.CkSpider_put_FetchFromCache(self, *args)
- def get_ConnectTimeout(self): return _chilkat.CkSpider_get_ConnectTimeout(self)
- def put_ConnectTimeout(self, *args): return _chilkat.CkSpider_put_ConnectTimeout(self, *args)
- def get_ReadTimeout(self): return _chilkat.CkSpider_get_ReadTimeout(self)
- def put_ReadTimeout(self, *args): return _chilkat.CkSpider_put_ReadTimeout(self, *args)
- def AddUnspidered(self, *args): return _chilkat.CkSpider_AddUnspidered(self, *args)
- def Initialize(self, *args): return _chilkat.CkSpider_Initialize(self, *args)
-CkSpider_swigregister = _chilkat.CkSpider_swigregister
-CkSpider_swigregister(CkSpider)
-
-class CkXml(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkXml, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkXml, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkXml()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkXml
- __del__ = lambda self : None;
- def GetChildWithContent(self, *args): return _chilkat.CkXml_GetChildWithContent(self, *args)
- def GetChildExact(self, *args): return _chilkat.CkXml_GetChildExact(self, *args)
- def get_ContentInt(self): return _chilkat.CkXml_get_ContentInt(self)
- def put_ContentInt(self, *args): return _chilkat.CkXml_put_ContentInt(self, *args)
- def GetChildBoolValue(self, *args): return _chilkat.CkXml_GetChildBoolValue(self, *args)
- def AddAttributeInt(self, *args): return _chilkat.CkXml_AddAttributeInt(self, *args)
- def DecodeEntities(self, *args): return _chilkat.CkXml_DecodeEntities(self, *args)
- def decodeEntities(self, *args): return _chilkat.CkXml_decodeEntities(self, *args)
- def FindChild2(self, *args): return _chilkat.CkXml_FindChild2(self, *args)
- def GetAttrValueInt(self, *args): return _chilkat.CkXml_GetAttrValueInt(self, *args)
- def GetAttributeValueInt(self, *args): return _chilkat.CkXml_GetAttributeValueInt(self, *args)
- def GetChildTagByIndex(self, *args): return _chilkat.CkXml_GetChildTagByIndex(self, *args)
- def getChildTagByIndex(self, *args): return _chilkat.CkXml_getChildTagByIndex(self, *args)
- def SaveBinaryContent(self, *args): return _chilkat.CkXml_SaveBinaryContent(self, *args)
- def SetBinaryContentFromFile(self, *args): return _chilkat.CkXml_SetBinaryContentFromFile(self, *args)
- def SortByAttributeInt(self, *args): return _chilkat.CkXml_SortByAttributeInt(self, *args)
- def TagEquals(self, *args): return _chilkat.CkXml_TagEquals(self, *args)
- def UpdateAttributeInt(self, *args): return _chilkat.CkXml_UpdateAttributeInt(self, *args)
- def UpdateChildContentInt(self, *args): return _chilkat.CkXml_UpdateChildContentInt(self, *args)
- def AddStyleSheet(self, *args): return _chilkat.CkXml_AddStyleSheet(self, *args)
- def SortRecordsByContentInt(self, *args): return _chilkat.CkXml_SortRecordsByContentInt(self, *args)
- def TagContent(self, *args): return _chilkat.CkXml_TagContent(self, *args)
- def tagContent(self, *args): return _chilkat.CkXml_tagContent(self, *args)
- def GetSelf(self): return _chilkat.CkXml_GetSelf(self)
- def get_DocType(self, *args): return _chilkat.CkXml_get_DocType(self, *args)
- def docType(self): return _chilkat.CkXml_docType(self)
- def put_DocType(self, *args): return _chilkat.CkXml_put_DocType(self, *args)
- def ChilkatPath(self, *args): return _chilkat.CkXml_ChilkatPath(self, *args)
- def chilkatPath(self, *args): return _chilkat.CkXml_chilkatPath(self, *args)
- def tag(self): return _chilkat.CkXml_tag(self)
- def content(self): return _chilkat.CkXml_content(self)
- def encoding(self): return _chilkat.CkXml_encoding(self)
- def getXml(self): return _chilkat.CkXml_getXml(self)
- def lastErrorText(self): return _chilkat.CkXml_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkXml_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkXml_lastErrorHtml(self)
- def getChildContent(self, *args): return _chilkat.CkXml_getChildContent(self, *args)
- def getAttrValue(self, *args): return _chilkat.CkXml_getAttrValue(self, *args)
- def getAttributeValue(self, *args): return _chilkat.CkXml_getAttributeValue(self, *args)
- def getAttributeName(self, *args): return _chilkat.CkXml_getAttributeName(self, *args)
- def version(self): return _chilkat.CkXml_version(self)
- def accumulateTagContent(self, *args): return _chilkat.CkXml_accumulateTagContent(self, *args)
- def getChildContentByIndex(self, *args): return _chilkat.CkXml_getChildContentByIndex(self, *args)
- def getChildTag(self, *args): return _chilkat.CkXml_getChildTag(self, *args)
- def childContent(self, *args): return _chilkat.CkXml_childContent(self, *args)
- def attr(self, *args): return _chilkat.CkXml_attr(self, *args)
- def attrValue(self, *args): return _chilkat.CkXml_attrValue(self, *args)
- def attrName(self, *args): return _chilkat.CkXml_attrName(self, *args)
- def xml(self): return _chilkat.CkXml_xml(self)
- def get_Utf8(self): return _chilkat.CkXml_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkXml_put_Utf8(self, *args)
- def get_SortCaseInsensitive(self): return _chilkat.CkXml_get_SortCaseInsensitive(self)
- def put_SortCaseInsensitive(self, *args): return _chilkat.CkXml_put_SortCaseInsensitive(self, *args)
- def GetRoot2(self): return _chilkat.CkXml_GetRoot2(self)
- def GetParent2(self): return _chilkat.CkXml_GetParent2(self)
- def FirstChild2(self): return _chilkat.CkXml_FirstChild2(self)
- def LastChild2(self): return _chilkat.CkXml_LastChild2(self)
- def HttpGet(self, *args): return _chilkat.CkXml_HttpGet(self, *args)
- def HttpPost(self, *args): return _chilkat.CkXml_HttpPost(self, *args)
- def SetBinaryContent(self, *args): return _chilkat.CkXml_SetBinaryContent(self, *args)
- def GetBinaryContent(self, *args): return _chilkat.CkXml_GetBinaryContent(self, *args)
- def ZipTree(self): return _chilkat.CkXml_ZipTree(self)
- def ZipContent(self): return _chilkat.CkXml_ZipContent(self)
- def UnzipTree(self): return _chilkat.CkXml_UnzipTree(self)
- def UnzipContent(self): return _chilkat.CkXml_UnzipContent(self)
- def EncryptContent(self, *args): return _chilkat.CkXml_EncryptContent(self, *args)
- def DecryptContent(self, *args): return _chilkat.CkXml_DecryptContent(self, *args)
- def GetRoot(self): return _chilkat.CkXml_GetRoot(self)
- def GetChildWithTag(self, *args): return _chilkat.CkXml_GetChildWithTag(self, *args)
- def get_TreeId(self): return _chilkat.CkXml_get_TreeId(self)
- def PreviousSibling(self): return _chilkat.CkXml_PreviousSibling(self)
- def NextSibling(self): return _chilkat.CkXml_NextSibling(self)
- def PreviousSibling2(self): return _chilkat.CkXml_PreviousSibling2(self)
- def NextSibling2(self): return _chilkat.CkXml_NextSibling2(self)
- def LastChild(self): return _chilkat.CkXml_LastChild(self)
- def FirstChild(self): return _chilkat.CkXml_FirstChild(self)
- def Clear(self): return _chilkat.CkXml_Clear(self)
- def Copy(self, *args): return _chilkat.CkXml_Copy(self, *args)
- def GetParent(self): return _chilkat.CkXml_GetParent(self)
- def SearchForAttribute(self, *args): return _chilkat.CkXml_SearchForAttribute(self, *args)
- def SearchAllForContent(self, *args): return _chilkat.CkXml_SearchAllForContent(self, *args)
- def SearchForContent(self, *args): return _chilkat.CkXml_SearchForContent(self, *args)
- def SearchForTag(self, *args): return _chilkat.CkXml_SearchForTag(self, *args)
- def SearchForAttribute2(self, *args): return _chilkat.CkXml_SearchForAttribute2(self, *args)
- def SearchAllForContent2(self, *args): return _chilkat.CkXml_SearchAllForContent2(self, *args)
- def SearchForContent2(self, *args): return _chilkat.CkXml_SearchForContent2(self, *args)
- def SearchForTag2(self, *args): return _chilkat.CkXml_SearchForTag2(self, *args)
- def GetNthChildWithTag2(self, *args): return _chilkat.CkXml_GetNthChildWithTag2(self, *args)
- def FindChild(self, *args): return _chilkat.CkXml_FindChild(self, *args)
- def FindOrAddNewChild(self, *args): return _chilkat.CkXml_FindOrAddNewChild(self, *args)
- def NewChild(self, *args): return _chilkat.CkXml_NewChild(self, *args)
- def NewChild2(self, *args): return _chilkat.CkXml_NewChild2(self, *args)
- def NewChildInt2(self, *args): return _chilkat.CkXml_NewChildInt2(self, *args)
- def GetNthChildWithTag(self, *args): return _chilkat.CkXml_GetNthChildWithTag(self, *args)
- def NumChildrenHavingTag(self, *args): return _chilkat.CkXml_NumChildrenHavingTag(self, *args)
- def ExtractChildByName(self, *args): return _chilkat.CkXml_ExtractChildByName(self, *args)
- def ExtractChildByIndex(self, *args): return _chilkat.CkXml_ExtractChildByIndex(self, *args)
- def RemoveFromTree(self): return _chilkat.CkXml_RemoveFromTree(self)
- def GetChild(self, *args): return _chilkat.CkXml_GetChild(self, *args)
- def GetChild2(self, *args): return _chilkat.CkXml_GetChild2(self, *args)
- def AddChildTree(self, *args): return _chilkat.CkXml_AddChildTree(self, *args)
- def SwapTree(self, *args): return _chilkat.CkXml_SwapTree(self, *args)
- def SwapNode(self, *args): return _chilkat.CkXml_SwapNode(self, *args)
- def HasAttrWithValue(self, *args): return _chilkat.CkXml_HasAttrWithValue(self, *args)
- def GetAttrValue(self, *args): return _chilkat.CkXml_GetAttrValue(self, *args)
- def GetAttributeValue(self, *args): return _chilkat.CkXml_GetAttributeValue(self, *args)
- def GetAttributeName(self, *args): return _chilkat.CkXml_GetAttributeName(self, *args)
- def RemoveAllAttributes(self): return _chilkat.CkXml_RemoveAllAttributes(self)
- def RemoveChild(self, *args): return _chilkat.CkXml_RemoveChild(self, *args)
- def RemoveAttribute(self, *args): return _chilkat.CkXml_RemoveAttribute(self, *args)
- def AddAttribute(self, *args): return _chilkat.CkXml_AddAttribute(self, *args)
- def AppendToContent(self, *args): return _chilkat.CkXml_AppendToContent(self, *args)
- def GetXml(self, *args): return _chilkat.CkXml_GetXml(self, *args)
- def SaveXml(self, *args): return _chilkat.CkXml_SaveXml(self, *args)
- def LoadXmlFile(self, *args): return _chilkat.CkXml_LoadXmlFile(self, *args)
- def LoadXml(self, *args): return _chilkat.CkXml_LoadXml(self, *args)
- def LoadXmlFile2(self, *args): return _chilkat.CkXml_LoadXmlFile2(self, *args)
- def LoadXml2(self, *args): return _chilkat.CkXml_LoadXml2(self, *args)
- def get_Version(self, *args): return _chilkat.CkXml_get_Version(self, *args)
- def get_Cdata(self): return _chilkat.CkXml_get_Cdata(self)
- def put_Cdata(self, *args): return _chilkat.CkXml_put_Cdata(self, *args)
- def get_NumChildren(self): return _chilkat.CkXml_get_NumChildren(self)
- def get_Content(self, *args): return _chilkat.CkXml_get_Content(self, *args)
- def put_Content(self, *args): return _chilkat.CkXml_put_Content(self, *args)
- def GetChildContent(self, *args): return _chilkat.CkXml_GetChildContent(self, *args)
- def UpdateChildContent(self, *args): return _chilkat.CkXml_UpdateChildContent(self, *args)
- def ContentMatches(self, *args): return _chilkat.CkXml_ContentMatches(self, *args)
- def ChildContentMatches(self, *args): return _chilkat.CkXml_ChildContentMatches(self, *args)
- def get_Tag(self, *args): return _chilkat.CkXml_get_Tag(self, *args)
- def put_Tag(self, *args): return _chilkat.CkXml_put_Tag(self, *args)
- def get_NumAttributes(self): return _chilkat.CkXml_get_NumAttributes(self)
- def get_Standalone(self): return _chilkat.CkXml_get_Standalone(self)
- def put_Standalone(self, *args): return _chilkat.CkXml_put_Standalone(self, *args)
- def get_Encoding(self, *args): return _chilkat.CkXml_get_Encoding(self, *args)
- def put_Encoding(self, *args): return _chilkat.CkXml_put_Encoding(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkXml_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkXml_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkXml_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkXml_LastErrorText(self, *args)
- def QEncodeContent(self, *args): return _chilkat.CkXml_QEncodeContent(self, *args)
- def BEncodeContent(self, *args): return _chilkat.CkXml_BEncodeContent(self, *args)
- def DecodeContent(self, *args): return _chilkat.CkXml_DecodeContent(self, *args)
- def UpdateAttribute(self, *args): return _chilkat.CkXml_UpdateAttribute(self, *args)
- def GetChildIntValue(self, *args): return _chilkat.CkXml_GetChildIntValue(self, *args)
- def SortByTag(self, *args): return _chilkat.CkXml_SortByTag(self, *args)
- def SortByContent(self, *args): return _chilkat.CkXml_SortByContent(self, *args)
- def SortByAttribute(self, *args): return _chilkat.CkXml_SortByAttribute(self, *args)
- def SortRecordsByContent(self, *args): return _chilkat.CkXml_SortRecordsByContent(self, *args)
- def SortRecordsByAttribute(self, *args): return _chilkat.CkXml_SortRecordsByAttribute(self, *args)
- def FindNextRecord(self, *args): return _chilkat.CkXml_FindNextRecord(self, *args)
- def HasChildWithTag(self, *args): return _chilkat.CkXml_HasChildWithTag(self, *args)
- def RemoveChildWithContent(self, *args): return _chilkat.CkXml_RemoveChildWithContent(self, *args)
- def HasChildWithTagAndContent(self, *args): return _chilkat.CkXml_HasChildWithTagAndContent(self, *args)
- def HasChildWithContent(self, *args): return _chilkat.CkXml_HasChildWithContent(self, *args)
- def RemoveAllChildren(self): return _chilkat.CkXml_RemoveAllChildren(self)
- def RemoveChildByIndex(self, *args): return _chilkat.CkXml_RemoveChildByIndex(self, *args)
- def AccumulateTagContent(self, *args): return _chilkat.CkXml_AccumulateTagContent(self, *args)
- def GetChildContentByIndex(self, *args): return _chilkat.CkXml_GetChildContentByIndex(self, *args)
- def GetChildTag(self, *args): return _chilkat.CkXml_GetChildTag(self, *args)
- def AddToAttribute(self, *args): return _chilkat.CkXml_AddToAttribute(self, *args)
- def AddToContent(self, *args): return _chilkat.CkXml_AddToContent(self, *args)
- def AddToChildContent(self, *args): return _chilkat.CkXml_AddToChildContent(self, *args)
- def AddOrUpdateAttributeI(self, *args): return _chilkat.CkXml_AddOrUpdateAttributeI(self, *args)
- def AddOrUpdateAttribute(self, *args): return _chilkat.CkXml_AddOrUpdateAttribute(self, *args)
- def HasAttribute(self, *args): return _chilkat.CkXml_HasAttribute(self, *args)
-CkXml_swigregister = _chilkat.CkXml_swigregister
-CkXml_swigregister(CkXml)
-
-class CkPfx(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkPfx, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkPfx, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkPfx()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkPfx
- __del__ = lambda self : None;
- def lastErrorText(self): return _chilkat.CkPfx_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkPfx_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkPfx_lastErrorHtml(self)
- def get_Utf8(self): return _chilkat.CkPfx_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkPfx_put_Utf8(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkPfx_UnlockComponent(self, *args)
- def ImportPfxFile(self, *args): return _chilkat.CkPfx_ImportPfxFile(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkPfx_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkPfx_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkPfx_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkPfx_LastErrorText(self, *args)
-CkPfx_swigregister = _chilkat.CkPfx_swigregister
-CkPfx_swigregister(CkPfx)
-
-class CkBounce(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkBounce, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkBounce, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkBounce()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkBounce
- __del__ = lambda self : None;
- def lastErrorText(self): return _chilkat.CkBounce_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkBounce_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkBounce_lastErrorHtml(self)
- def bounceAddress(self): return _chilkat.CkBounce_bounceAddress(self)
- def bounceData(self): return _chilkat.CkBounce_bounceData(self)
- def get_Version(self, *args): return _chilkat.CkBounce_get_Version(self, *args)
- def get_Utf8(self): return _chilkat.CkBounce_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkBounce_put_Utf8(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkBounce_UnlockComponent(self, *args)
- def ExamineEmail(self, *args): return _chilkat.CkBounce_ExamineEmail(self, *args)
- def ExamineMime(self, *args): return _chilkat.CkBounce_ExamineMime(self, *args)
- def ExamineEml(self, *args): return _chilkat.CkBounce_ExamineEml(self, *args)
- def get_BounceType(self): return _chilkat.CkBounce_get_BounceType(self)
- def get_BounceAddress(self, *args): return _chilkat.CkBounce_get_BounceAddress(self, *args)
- def get_BounceData(self, *args): return _chilkat.CkBounce_get_BounceData(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkBounce_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkBounce_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkBounce_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkBounce_LastErrorText(self, *args)
-CkBounce_swigregister = _chilkat.CkBounce_swigregister
-CkBounce_swigregister(CkBounce)
-
-class CkRarEntry(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkRarEntry, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkRarEntry, name)
- __repr__ = _swig_repr
- def get_Utf8(self): return _chilkat.CkRarEntry_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkRarEntry_put_Utf8(self, *args)
- def get_Filename(self, *args): return _chilkat.CkRarEntry_get_Filename(self, *args)
- def get_UncompressedSize(self): return _chilkat.CkRarEntry_get_UncompressedSize(self)
- def get_CompressedSize(self): return _chilkat.CkRarEntry_get_CompressedSize(self)
- def get_LastModified(self, *args): return _chilkat.CkRarEntry_get_LastModified(self, *args)
- def get_IsDirectory(self): return _chilkat.CkRarEntry_get_IsDirectory(self)
- def get_IsReadOnly(self): return _chilkat.CkRarEntry_get_IsReadOnly(self)
- def Unrar(self, *args): return _chilkat.CkRarEntry_Unrar(self, *args)
- def get_Crc(self): return _chilkat.CkRarEntry_get_Crc(self)
- def SaveLastError(self, *args): return _chilkat.CkRarEntry_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkRarEntry_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkRarEntry_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkRarEntry_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkRarEntry_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkRarEntry_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkRarEntry_lastErrorHtml(self)
- def filename(self): return _chilkat.CkRarEntry_filename(self)
- def __init__(self):
- this = _chilkat.new_CkRarEntry()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkRarEntry
- __del__ = lambda self : None;
-CkRarEntry_swigregister = _chilkat.CkRarEntry_swigregister
-CkRarEntry_swigregister(CkRarEntry)
-
-class CkRar(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkRar, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkRar, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkRar()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkRar
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkRar_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkRar_put_Utf8(self, *args)
- def Unrar(self, *args): return _chilkat.CkRar_Unrar(self, *args)
- def FastOpen(self, *args): return _chilkat.CkRar_FastOpen(self, *args)
- def Open(self, *args): return _chilkat.CkRar_Open(self, *args)
- def Close(self): return _chilkat.CkRar_Close(self)
- def get_NumEntries(self): return _chilkat.CkRar_get_NumEntries(self)
- def GetEntryByName(self, *args): return _chilkat.CkRar_GetEntryByName(self, *args)
- def GetEntryByIndex(self, *args): return _chilkat.CkRar_GetEntryByIndex(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkRar_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkRar_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkRar_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkRar_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkRar_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkRar_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkRar_lastErrorHtml(self)
-CkRar_swigregister = _chilkat.CkRar_swigregister
-CkRar_swigregister(CkRar)
-
-class CkRss(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkRss, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkRss, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkRss()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkRss
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkRss_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkRss_put_Utf8(self, *args)
- def get_NumChannels(self): return _chilkat.CkRss_get_NumChannels(self)
- def get_NumItems(self): return _chilkat.CkRss_get_NumItems(self)
- def AddNewChannel(self): return _chilkat.CkRss_AddNewChannel(self)
- def AddNewImage(self): return _chilkat.CkRss_AddNewImage(self)
- def AddNewItem(self): return _chilkat.CkRss_AddNewItem(self)
- def DownloadRss(self, *args): return _chilkat.CkRss_DownloadRss(self, *args)
- def GetAttr(self, *args): return _chilkat.CkRss_GetAttr(self, *args)
- def getAttr(self, *args): return _chilkat.CkRss_getAttr(self, *args)
- def GetChannel(self, *args): return _chilkat.CkRss_GetChannel(self, *args)
- def GetCount(self, *args): return _chilkat.CkRss_GetCount(self, *args)
- def GetDate(self, *args): return _chilkat.CkRss_GetDate(self, *args)
- def GetImage(self): return _chilkat.CkRss_GetImage(self)
- def GetInt(self, *args): return _chilkat.CkRss_GetInt(self, *args)
- def GetItem(self, *args): return _chilkat.CkRss_GetItem(self, *args)
- def GetString(self, *args): return _chilkat.CkRss_GetString(self, *args)
- def getString(self, *args): return _chilkat.CkRss_getString(self, *args)
- def LoadRssFile(self, *args): return _chilkat.CkRss_LoadRssFile(self, *args)
- def LoadRssString(self, *args): return _chilkat.CkRss_LoadRssString(self, *args)
- def MGetAttr(self, *args): return _chilkat.CkRss_MGetAttr(self, *args)
- def mGetAttr(self, *args): return _chilkat.CkRss_mGetAttr(self, *args)
- def MGetString(self, *args): return _chilkat.CkRss_MGetString(self, *args)
- def mGetString(self, *args): return _chilkat.CkRss_mGetString(self, *args)
- def MSetAttr(self, *args): return _chilkat.CkRss_MSetAttr(self, *args)
- def MSetString(self, *args): return _chilkat.CkRss_MSetString(self, *args)
- def NewRss(self): return _chilkat.CkRss_NewRss(self)
- def Remove(self, *args): return _chilkat.CkRss_Remove(self, *args)
- def SetAttr(self, *args): return _chilkat.CkRss_SetAttr(self, *args)
- def SetDate(self, *args): return _chilkat.CkRss_SetDate(self, *args)
- def SetDateNow(self, *args): return _chilkat.CkRss_SetDateNow(self, *args)
- def SetInt(self, *args): return _chilkat.CkRss_SetInt(self, *args)
- def SetString(self, *args): return _chilkat.CkRss_SetString(self, *args)
- def ToXmlString(self, *args): return _chilkat.CkRss_ToXmlString(self, *args)
- def toXmlString(self): return _chilkat.CkRss_toXmlString(self)
- def SaveLastError(self, *args): return _chilkat.CkRss_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkRss_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkRss_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkRss_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkRss_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkRss_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkRss_lastErrorHtml(self)
-CkRss_swigregister = _chilkat.CkRss_swigregister
-CkRss_swigregister(CkRss)
-
-class CkAtom(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkAtom, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkAtom, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkAtom()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkAtom
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkAtom_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkAtom_put_Utf8(self, *args)
- def get_NumEntries(self): return _chilkat.CkAtom_get_NumEntries(self)
- def AddElement(self, *args): return _chilkat.CkAtom_AddElement(self, *args)
- def AddElementDate(self, *args): return _chilkat.CkAtom_AddElementDate(self, *args)
- def AddElementHtml(self, *args): return _chilkat.CkAtom_AddElementHtml(self, *args)
- def AddElementXHtml(self, *args): return _chilkat.CkAtom_AddElementXHtml(self, *args)
- def AddElementXml(self, *args): return _chilkat.CkAtom_AddElementXml(self, *args)
- def AddEntry(self, *args): return _chilkat.CkAtom_AddEntry(self, *args)
- def AddLink(self, *args): return _chilkat.CkAtom_AddLink(self, *args)
- def AddPerson(self, *args): return _chilkat.CkAtom_AddPerson(self, *args)
- def DeleteElement(self, *args): return _chilkat.CkAtom_DeleteElement(self, *args)
- def DeleteElementAttr(self, *args): return _chilkat.CkAtom_DeleteElementAttr(self, *args)
- def DeletePerson(self, *args): return _chilkat.CkAtom_DeletePerson(self, *args)
- def DownloadAtom(self, *args): return _chilkat.CkAtom_DownloadAtom(self, *args)
- def GetElement(self, *args): return _chilkat.CkAtom_GetElement(self, *args)
- def getElement(self, *args): return _chilkat.CkAtom_getElement(self, *args)
- def GetElementAttr(self, *args): return _chilkat.CkAtom_GetElementAttr(self, *args)
- def getElementAttr(self, *args): return _chilkat.CkAtom_getElementAttr(self, *args)
- def GetElementCount(self, *args): return _chilkat.CkAtom_GetElementCount(self, *args)
- def GetElementDate(self, *args): return _chilkat.CkAtom_GetElementDate(self, *args)
- def GetEntry(self, *args): return _chilkat.CkAtom_GetEntry(self, *args)
- def GetLinkHref(self, *args): return _chilkat.CkAtom_GetLinkHref(self, *args)
- def getLinkHref(self, *args): return _chilkat.CkAtom_getLinkHref(self, *args)
- def GetPersonInfo(self, *args): return _chilkat.CkAtom_GetPersonInfo(self, *args)
- def getPersonInfo(self, *args): return _chilkat.CkAtom_getPersonInfo(self, *args)
- def GetTopAttr(self, *args): return _chilkat.CkAtom_GetTopAttr(self, *args)
- def getTopAttr(self, *args): return _chilkat.CkAtom_getTopAttr(self, *args)
- def HasElement(self, *args): return _chilkat.CkAtom_HasElement(self, *args)
- def LoadXml(self, *args): return _chilkat.CkAtom_LoadXml(self, *args)
- def NewEntry(self): return _chilkat.CkAtom_NewEntry(self)
- def NewFeed(self): return _chilkat.CkAtom_NewFeed(self)
- def SetElementAttr(self, *args): return _chilkat.CkAtom_SetElementAttr(self, *args)
- def SetTopAttr(self, *args): return _chilkat.CkAtom_SetTopAttr(self, *args)
- def ToXmlString(self, *args): return _chilkat.CkAtom_ToXmlString(self, *args)
- def toXmlString(self): return _chilkat.CkAtom_toXmlString(self)
- def UpdateElement(self, *args): return _chilkat.CkAtom_UpdateElement(self, *args)
- def UpdateElementDate(self, *args): return _chilkat.CkAtom_UpdateElementDate(self, *args)
- def UpdateElementHtml(self, *args): return _chilkat.CkAtom_UpdateElementHtml(self, *args)
- def UpdateElementXHtml(self, *args): return _chilkat.CkAtom_UpdateElementXHtml(self, *args)
- def UpdateElementXml(self, *args): return _chilkat.CkAtom_UpdateElementXml(self, *args)
- def UpdatePerson(self, *args): return _chilkat.CkAtom_UpdatePerson(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkAtom_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkAtom_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkAtom_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkAtom_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkAtom_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkAtom_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkAtom_lastErrorHtml(self)
-CkAtom_swigregister = _chilkat.CkAtom_swigregister
-CkAtom_swigregister(CkAtom)
-
-class CkCache(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkCache, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkCache, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkCache()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkCache
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkCache_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkCache_put_Utf8(self, *args)
- def get_LastEtagFetched(self, *args): return _chilkat.CkCache_get_LastEtagFetched(self, *args)
- def lastEtagFetched(self): return _chilkat.CkCache_lastEtagFetched(self)
- def get_LastExpirationFetched(self, *args): return _chilkat.CkCache_get_LastExpirationFetched(self, *args)
- def get_LastHitExpired(self): return _chilkat.CkCache_get_LastHitExpired(self)
- def get_LastKeyFetched(self, *args): return _chilkat.CkCache_get_LastKeyFetched(self, *args)
- def lastKeyFetched(self): return _chilkat.CkCache_lastKeyFetched(self)
- def get_Level(self): return _chilkat.CkCache_get_Level(self)
- def put_Level(self, *args): return _chilkat.CkCache_put_Level(self, *args)
- def get_NumRoots(self): return _chilkat.CkCache_get_NumRoots(self)
- def AddRoot(self, *args): return _chilkat.CkCache_AddRoot(self, *args)
- def DeleteAll(self): return _chilkat.CkCache_DeleteAll(self)
- def DeleteAllExpired(self): return _chilkat.CkCache_DeleteAllExpired(self)
- def DeleteFromCache(self, *args): return _chilkat.CkCache_DeleteFromCache(self, *args)
- def DeleteOlder(self, *args): return _chilkat.CkCache_DeleteOlder(self, *args)
- def FetchFromCache(self, *args): return _chilkat.CkCache_FetchFromCache(self, *args)
- def GetEtag(self, *args): return _chilkat.CkCache_GetEtag(self, *args)
- def getEtag(self, *args): return _chilkat.CkCache_getEtag(self, *args)
- def GetExpiration(self, *args): return _chilkat.CkCache_GetExpiration(self, *args)
- def GetFilename(self, *args): return _chilkat.CkCache_GetFilename(self, *args)
- def getFilename(self, *args): return _chilkat.CkCache_getFilename(self, *args)
- def GetRoot(self, *args): return _chilkat.CkCache_GetRoot(self, *args)
- def getRoot(self, *args): return _chilkat.CkCache_getRoot(self, *args)
- def IsCached(self, *args): return _chilkat.CkCache_IsCached(self, *args)
- def SaveToCache(self, *args): return _chilkat.CkCache_SaveToCache(self, *args)
- def SaveToCacheNoExpire(self, *args): return _chilkat.CkCache_SaveToCacheNoExpire(self, *args)
- def UpdateExpiration(self, *args): return _chilkat.CkCache_UpdateExpiration(self, *args)
- def FetchText(self, *args): return _chilkat.CkCache_FetchText(self, *args)
- def fetchText(self, *args): return _chilkat.CkCache_fetchText(self, *args)
- def SaveText(self, *args): return _chilkat.CkCache_SaveText(self, *args)
- def SaveTextNoExpire(self, *args): return _chilkat.CkCache_SaveTextNoExpire(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkCache_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkCache_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkCache_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkCache_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkCache_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkCache_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkCache_lastErrorHtml(self)
-CkCache_swigregister = _chilkat.CkCache_swigregister
-CkCache_swigregister(CkCache)
-
-class CkDh(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkDh, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkDh, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkDh()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkDh
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkDh_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkDh_put_Utf8(self, *args)
- def UseKnownPrime(self, *args): return _chilkat.CkDh_UseKnownPrime(self, *args)
- def get_G(self): return _chilkat.CkDh_get_G(self)
- def get_P(self, *args): return _chilkat.CkDh_get_P(self, *args)
- def p(self): return _chilkat.CkDh_p(self)
- def SetPG(self, *args): return _chilkat.CkDh_SetPG(self, *args)
- def CreateE(self, *args): return _chilkat.CkDh_CreateE(self, *args)
- def createE(self, *args): return _chilkat.CkDh_createE(self, *args)
- def FindK(self, *args): return _chilkat.CkDh_FindK(self, *args)
- def findK(self, *args): return _chilkat.CkDh_findK(self, *args)
- def GenPG(self, *args): return _chilkat.CkDh_GenPG(self, *args)
- def get_Version(self, *args): return _chilkat.CkDh_get_Version(self, *args)
- def version(self): return _chilkat.CkDh_version(self)
- def UnlockComponent(self, *args): return _chilkat.CkDh_UnlockComponent(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkDh_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkDh_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkDh_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkDh_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkDh_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkDh_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkDh_lastErrorHtml(self)
-CkDh_swigregister = _chilkat.CkDh_swigregister
-CkDh_swigregister(CkDh)
-
-class CkDsa(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkDsa, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkDsa, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkDsa()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkDsa
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkDsa_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkDsa_put_Utf8(self, *args)
- def get_GroupSize(self): return _chilkat.CkDsa_get_GroupSize(self)
- def put_GroupSize(self, *args): return _chilkat.CkDsa_put_GroupSize(self, *args)
- def GenKey(self, *args): return _chilkat.CkDsa_GenKey(self, *args)
- def GenKeyFromParamsDerFile(self, *args): return _chilkat.CkDsa_GenKeyFromParamsDerFile(self, *args)
- def GenKeyFromParamsPemFile(self, *args): return _chilkat.CkDsa_GenKeyFromParamsPemFile(self, *args)
- def GenKeyFromParamsDer(self, *args): return _chilkat.CkDsa_GenKeyFromParamsDer(self, *args)
- def GenKeyFromParamsPem(self, *args): return _chilkat.CkDsa_GenKeyFromParamsPem(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkDsa_UnlockComponent(self, *args)
- def VerifyKey(self): return _chilkat.CkDsa_VerifyKey(self)
- def ToXml(self, *args): return _chilkat.CkDsa_ToXml(self, *args)
- def toXml(self, *args): return _chilkat.CkDsa_toXml(self, *args)
- def FromXml(self, *args): return _chilkat.CkDsa_FromXml(self, *args)
- def FromEncryptedPem(self, *args): return _chilkat.CkDsa_FromEncryptedPem(self, *args)
- def FromPem(self, *args): return _chilkat.CkDsa_FromPem(self, *args)
- def SaveText(self, *args): return _chilkat.CkDsa_SaveText(self, *args)
- def ToEncryptedPem(self, *args): return _chilkat.CkDsa_ToEncryptedPem(self, *args)
- def toEncryptedPem(self, *args): return _chilkat.CkDsa_toEncryptedPem(self, *args)
- def ToPem(self, *args): return _chilkat.CkDsa_ToPem(self, *args)
- def toPem(self): return _chilkat.CkDsa_toPem(self)
- def ToDer(self, *args): return _chilkat.CkDsa_ToDer(self, *args)
- def ToDerFile(self, *args): return _chilkat.CkDsa_ToDerFile(self, *args)
- def FromDer(self, *args): return _chilkat.CkDsa_FromDer(self, *args)
- def FromDerFile(self, *args): return _chilkat.CkDsa_FromDerFile(self, *args)
- def FromPublicPem(self, *args): return _chilkat.CkDsa_FromPublicPem(self, *args)
- def ToPublicPem(self, *args): return _chilkat.CkDsa_ToPublicPem(self, *args)
- def toPublicPem(self): return _chilkat.CkDsa_toPublicPem(self)
- def get_Hash(self, *args): return _chilkat.CkDsa_get_Hash(self, *args)
- def put_Hash(self, *args): return _chilkat.CkDsa_put_Hash(self, *args)
- def get_Signature(self, *args): return _chilkat.CkDsa_get_Signature(self, *args)
- def put_Signature(self, *args): return _chilkat.CkDsa_put_Signature(self, *args)
- def SetEncodedHash(self, *args): return _chilkat.CkDsa_SetEncodedHash(self, *args)
- def SetEncodedSignature(self, *args): return _chilkat.CkDsa_SetEncodedSignature(self, *args)
- def GetEncodedSignature(self, *args): return _chilkat.CkDsa_GetEncodedSignature(self, *args)
- def getEncodedSignature(self, *args): return _chilkat.CkDsa_getEncodedSignature(self, *args)
- def GetEncodedHash(self, *args): return _chilkat.CkDsa_GetEncodedHash(self, *args)
- def getEncodedHash(self, *args): return _chilkat.CkDsa_getEncodedHash(self, *args)
- def SignHash(self): return _chilkat.CkDsa_SignHash(self)
- def Verify(self): return _chilkat.CkDsa_Verify(self)
- def SetKeyExplicit(self, *args): return _chilkat.CkDsa_SetKeyExplicit(self, *args)
- def ToPublicDerFile(self, *args): return _chilkat.CkDsa_ToPublicDerFile(self, *args)
- def ToPublicDer(self, *args): return _chilkat.CkDsa_ToPublicDer(self, *args)
- def FromPublicDer(self, *args): return _chilkat.CkDsa_FromPublicDer(self, *args)
- def FromPublicDerFile(self, *args): return _chilkat.CkDsa_FromPublicDerFile(self, *args)
- def get_HexP(self, *args): return _chilkat.CkDsa_get_HexP(self, *args)
- def hexP(self): return _chilkat.CkDsa_hexP(self)
- def get_HexQ(self, *args): return _chilkat.CkDsa_get_HexQ(self, *args)
- def hexQ(self): return _chilkat.CkDsa_hexQ(self)
- def get_HexG(self, *args): return _chilkat.CkDsa_get_HexG(self, *args)
- def hexG(self): return _chilkat.CkDsa_hexG(self)
- def get_HexX(self, *args): return _chilkat.CkDsa_get_HexX(self, *args)
- def hexX(self): return _chilkat.CkDsa_hexX(self)
- def get_HexY(self, *args): return _chilkat.CkDsa_get_HexY(self, *args)
- def hexY(self): return _chilkat.CkDsa_hexY(self)
- def SetPubKeyExplicit(self, *args): return _chilkat.CkDsa_SetPubKeyExplicit(self, *args)
- def get_Version(self, *args): return _chilkat.CkDsa_get_Version(self, *args)
- def version(self): return _chilkat.CkDsa_version(self)
- def LoadText(self, *args): return _chilkat.CkDsa_LoadText(self, *args)
- def loadText(self, *args): return _chilkat.CkDsa_loadText(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkDsa_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkDsa_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkDsa_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkDsa_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkDsa_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkDsa_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkDsa_lastErrorHtml(self)
-CkDsa_swigregister = _chilkat.CkDsa_swigregister
-CkDsa_swigregister(CkDsa)
-
-class CkSFtpFile(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkSFtpFile, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkSFtpFile, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkSFtpFile()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkSFtpFile
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkSFtpFile_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkSFtpFile_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkSFtpFile_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkSFtpFile_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkSFtpFile_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkSFtpFile_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkSFtpFile_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkSFtpFile_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkSFtpFile_lastErrorHtml(self)
- def get_Filename(self, *args): return _chilkat.CkSFtpFile_get_Filename(self, *args)
- def filename(self): return _chilkat.CkSFtpFile_filename(self)
- def get_Owner(self, *args): return _chilkat.CkSFtpFile_get_Owner(self, *args)
- def owner(self): return _chilkat.CkSFtpFile_owner(self)
- def get_Group(self, *args): return _chilkat.CkSFtpFile_get_Group(self, *args)
- def group(self): return _chilkat.CkSFtpFile_group(self)
- def get_FileType(self, *args): return _chilkat.CkSFtpFile_get_FileType(self, *args)
- def fileType(self): return _chilkat.CkSFtpFile_fileType(self)
- def get_IsRegular(self): return _chilkat.CkSFtpFile_get_IsRegular(self)
- def get_IsDirectory(self): return _chilkat.CkSFtpFile_get_IsDirectory(self)
- def get_IsSymLink(self): return _chilkat.CkSFtpFile_get_IsSymLink(self)
- def get_IsReadOnly(self): return _chilkat.CkSFtpFile_get_IsReadOnly(self)
- def get_IsSystem(self): return _chilkat.CkSFtpFile_get_IsSystem(self)
- def get_IsHidden(self): return _chilkat.CkSFtpFile_get_IsHidden(self)
- def get_IsCaseInsensitive(self): return _chilkat.CkSFtpFile_get_IsCaseInsensitive(self)
- def get_IsArchive(self): return _chilkat.CkSFtpFile_get_IsArchive(self)
- def get_IsEncrypted(self): return _chilkat.CkSFtpFile_get_IsEncrypted(self)
- def get_IsCompressed(self): return _chilkat.CkSFtpFile_get_IsCompressed(self)
- def get_IsSparse(self): return _chilkat.CkSFtpFile_get_IsSparse(self)
- def get_IsAppendOnly(self): return _chilkat.CkSFtpFile_get_IsAppendOnly(self)
- def get_IsImmutable(self): return _chilkat.CkSFtpFile_get_IsImmutable(self)
- def get_IsSync(self): return _chilkat.CkSFtpFile_get_IsSync(self)
- def get_Permissions(self): return _chilkat.CkSFtpFile_get_Permissions(self)
- def get_Size32(self): return _chilkat.CkSFtpFile_get_Size32(self)
- def get_LastModifiedTime(self, *args): return _chilkat.CkSFtpFile_get_LastModifiedTime(self, *args)
- def get_LastAccessTime(self, *args): return _chilkat.CkSFtpFile_get_LastAccessTime(self, *args)
- def get_CreateTime(self, *args): return _chilkat.CkSFtpFile_get_CreateTime(self, *args)
- def get_SizeStr(self, *args): return _chilkat.CkSFtpFile_get_SizeStr(self, *args)
- def sizeStr(self): return _chilkat.CkSFtpFile_sizeStr(self)
- def get_Uid(self): return _chilkat.CkSFtpFile_get_Uid(self)
- def get_Gid(self): return _chilkat.CkSFtpFile_get_Gid(self)
-CkSFtpFile_swigregister = _chilkat.CkSFtpFile_swigregister
-CkSFtpFile_swigregister(CkSFtpFile)
-
-class CkSFtpDir(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkSFtpDir, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkSFtpDir, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkSFtpDir()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkSFtpDir
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkSFtpDir_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkSFtpDir_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkSFtpDir_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkSFtpDir_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkSFtpDir_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkSFtpDir_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkSFtpDir_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkSFtpDir_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkSFtpDir_lastErrorHtml(self)
- def get_NumFilesAndDirs(self): return _chilkat.CkSFtpDir_get_NumFilesAndDirs(self)
- def get_OriginalPath(self, *args): return _chilkat.CkSFtpDir_get_OriginalPath(self, *args)
- def originalPath(self): return _chilkat.CkSFtpDir_originalPath(self)
- def GetFileObject(self, *args): return _chilkat.CkSFtpDir_GetFileObject(self, *args)
- def GetFilename(self, *args): return _chilkat.CkSFtpDir_GetFilename(self, *args)
- def getFilename(self, *args): return _chilkat.CkSFtpDir_getFilename(self, *args)
-CkSFtpDir_swigregister = _chilkat.CkSFtpDir_swigregister
-CkSFtpDir_swigregister(CkSFtpDir)
-
-class CkSFtp(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkSFtp, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkSFtp, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkSFtp()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkSFtp
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkSFtp_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkSFtp_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkSFtp_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkSFtp_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkSFtp_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkSFtp_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkSFtp_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkSFtp_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkSFtp_lastErrorHtml(self)
- def UnlockComponent(self, *args): return _chilkat.CkSFtp_UnlockComponent(self, *args)
- def get_ConnectTimeoutMs(self): return _chilkat.CkSFtp_get_ConnectTimeoutMs(self)
- def put_ConnectTimeoutMs(self, *args): return _chilkat.CkSFtp_put_ConnectTimeoutMs(self, *args)
- def get_DisconnectCode(self): return _chilkat.CkSFtp_get_DisconnectCode(self)
- def get_InitializeFailCode(self): return _chilkat.CkSFtp_get_InitializeFailCode(self)
- def get_MaxPacketSize(self): return _chilkat.CkSFtp_get_MaxPacketSize(self)
- def put_MaxPacketSize(self, *args): return _chilkat.CkSFtp_put_MaxPacketSize(self, *args)
- def get_IdleTimeoutMs(self): return _chilkat.CkSFtp_get_IdleTimeoutMs(self)
- def put_IdleTimeoutMs(self, *args): return _chilkat.CkSFtp_put_IdleTimeoutMs(self, *args)
- def get_InitializeFailReason(self, *args): return _chilkat.CkSFtp_get_InitializeFailReason(self, *args)
- def initializeFailReason(self): return _chilkat.CkSFtp_initializeFailReason(self)
- def get_DisconnectReason(self, *args): return _chilkat.CkSFtp_get_DisconnectReason(self, *args)
- def disconnectReason(self): return _chilkat.CkSFtp_disconnectReason(self)
- def get_Version(self, *args): return _chilkat.CkSFtp_get_Version(self, *args)
- def version(self): return _chilkat.CkSFtp_version(self)
- def get_IsConnected(self): return _chilkat.CkSFtp_get_IsConnected(self)
- def get_KeepSessionLog(self): return _chilkat.CkSFtp_get_KeepSessionLog(self)
- def put_KeepSessionLog(self, *args): return _chilkat.CkSFtp_put_KeepSessionLog(self, *args)
- def get_SessionLog(self, *args): return _chilkat.CkSFtp_get_SessionLog(self, *args)
- def sessionLog(self): return _chilkat.CkSFtp_sessionLog(self)
- def Disconnect(self): return _chilkat.CkSFtp_Disconnect(self)
- def Connect(self, *args): return _chilkat.CkSFtp_Connect(self, *args)
- def AuthenticatePk(self, *args): return _chilkat.CkSFtp_AuthenticatePk(self, *args)
- def AuthenticatePw(self, *args): return _chilkat.CkSFtp_AuthenticatePw(self, *args)
- def InitializeSftp(self): return _chilkat.CkSFtp_InitializeSftp(self)
- def OpenFile(self, *args): return _chilkat.CkSFtp_OpenFile(self, *args)
- def openFile(self, *args): return _chilkat.CkSFtp_openFile(self, *args)
- def OpenDir(self, *args): return _chilkat.CkSFtp_OpenDir(self, *args)
- def openDir(self, *args): return _chilkat.CkSFtp_openDir(self, *args)
- def CloseHandle(self, *args): return _chilkat.CkSFtp_CloseHandle(self, *args)
- def GetFileSize32(self, *args): return _chilkat.CkSFtp_GetFileSize32(self, *args)
- def GetFileSizeStr(self, *args): return _chilkat.CkSFtp_GetFileSizeStr(self, *args)
- def getFileSizeStr(self, *args): return _chilkat.CkSFtp_getFileSizeStr(self, *args)
- def GetFileLastAccess(self, *args): return _chilkat.CkSFtp_GetFileLastAccess(self, *args)
- def GetFileLastModified(self, *args): return _chilkat.CkSFtp_GetFileLastModified(self, *args)
- def GetFileCreateTime(self, *args): return _chilkat.CkSFtp_GetFileCreateTime(self, *args)
- def GetFileOwner(self, *args): return _chilkat.CkSFtp_GetFileOwner(self, *args)
- def getFileOwner(self, *args): return _chilkat.CkSFtp_getFileOwner(self, *args)
- def GetFileGroup(self, *args): return _chilkat.CkSFtp_GetFileGroup(self, *args)
- def getFileGroup(self, *args): return _chilkat.CkSFtp_getFileGroup(self, *args)
- def GetFilePermissions(self, *args): return _chilkat.CkSFtp_GetFilePermissions(self, *args)
- def Add64(self, *args): return _chilkat.CkSFtp_Add64(self, *args)
- def add64(self, *args): return _chilkat.CkSFtp_add64(self, *args)
- def ReadFileBytes32(self, *args): return _chilkat.CkSFtp_ReadFileBytes32(self, *args)
- def ReadFileBytes64s(self, *args): return _chilkat.CkSFtp_ReadFileBytes64s(self, *args)
- def ReadFileText64s(self, *args): return _chilkat.CkSFtp_ReadFileText64s(self, *args)
- def readFileText64s(self, *args): return _chilkat.CkSFtp_readFileText64s(self, *args)
- def ReadFileText32(self, *args): return _chilkat.CkSFtp_ReadFileText32(self, *args)
- def readFileText32(self, *args): return _chilkat.CkSFtp_readFileText32(self, *args)
- def DownloadFile(self, *args): return _chilkat.CkSFtp_DownloadFile(self, *args)
- def Eof(self, *args): return _chilkat.CkSFtp_Eof(self, *args)
- def ReadFileBytes(self, *args): return _chilkat.CkSFtp_ReadFileBytes(self, *args)
- def ReadFileText(self, *args): return _chilkat.CkSFtp_ReadFileText(self, *args)
- def readFileText(self, *args): return _chilkat.CkSFtp_readFileText(self, *args)
- def LastReadFailed(self, *args): return _chilkat.CkSFtp_LastReadFailed(self, *args)
- def LastReadNumBytes(self, *args): return _chilkat.CkSFtp_LastReadNumBytes(self, *args)
- def WriteFileBytes(self, *args): return _chilkat.CkSFtp_WriteFileBytes(self, *args)
- def WriteFileBytes32(self, *args): return _chilkat.CkSFtp_WriteFileBytes32(self, *args)
- def WriteFileBytes64s(self, *args): return _chilkat.CkSFtp_WriteFileBytes64s(self, *args)
- def WriteFileText(self, *args): return _chilkat.CkSFtp_WriteFileText(self, *args)
- def WriteFileText32(self, *args): return _chilkat.CkSFtp_WriteFileText32(self, *args)
- def WriteFileText64s(self, *args): return _chilkat.CkSFtp_WriteFileText64s(self, *args)
- def UploadFile(self, *args): return _chilkat.CkSFtp_UploadFile(self, *args)
- def RealPath(self, *args): return _chilkat.CkSFtp_RealPath(self, *args)
- def realPath(self, *args): return _chilkat.CkSFtp_realPath(self, *args)
- def ReadDir(self, *args): return _chilkat.CkSFtp_ReadDir(self, *args)
- def RemoveFile(self, *args): return _chilkat.CkSFtp_RemoveFile(self, *args)
- def RemoveDir(self, *args): return _chilkat.CkSFtp_RemoveDir(self, *args)
- def RenameFileOrDir(self, *args): return _chilkat.CkSFtp_RenameFileOrDir(self, *args)
- def CreateDir(self, *args): return _chilkat.CkSFtp_CreateDir(self, *args)
- def SetCreateTime(self, *args): return _chilkat.CkSFtp_SetCreateTime(self, *args)
- def SetLastModifiedTime(self, *args): return _chilkat.CkSFtp_SetLastModifiedTime(self, *args)
- def SetLastAccessTime(self, *args): return _chilkat.CkSFtp_SetLastAccessTime(self, *args)
- def SetOwnerAndGroup(self, *args): return _chilkat.CkSFtp_SetOwnerAndGroup(self, *args)
- def SetPermissions(self, *args): return _chilkat.CkSFtp_SetPermissions(self, *args)
- def CopyFileAttr(self, *args): return _chilkat.CkSFtp_CopyFileAttr(self, *args)
- def get_ProtocolVersion(self): return _chilkat.CkSFtp_get_ProtocolVersion(self)
- def get_EnableCache(self): return _chilkat.CkSFtp_get_EnableCache(self)
- def put_EnableCache(self, *args): return _chilkat.CkSFtp_put_EnableCache(self, *args)
- def ClearCache(self): return _chilkat.CkSFtp_ClearCache(self)
- def DownloadFileByName(self, *args): return _chilkat.CkSFtp_DownloadFileByName(self, *args)
- def get_HeartbeatMs(self): return _chilkat.CkSFtp_get_HeartbeatMs(self)
- def put_HeartbeatMs(self, *args): return _chilkat.CkSFtp_put_HeartbeatMs(self, *args)
- def UploadFileByName(self, *args): return _chilkat.CkSFtp_UploadFileByName(self, *args)
- def ResumeUploadFileByName(self, *args): return _chilkat.CkSFtp_ResumeUploadFileByName(self, *args)
- def ResumeDownloadFileByName(self, *args): return _chilkat.CkSFtp_ResumeDownloadFileByName(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkSFtp_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkSFtp_put_VerboseLogging(self, *args)
- def get_FilenameCharset(self, *args): return _chilkat.CkSFtp_get_FilenameCharset(self, *args)
- def filenameCharset(self): return _chilkat.CkSFtp_filenameCharset(self)
- def put_FilenameCharset(self, *args): return _chilkat.CkSFtp_put_FilenameCharset(self, *args)
- def ClearSessionLog(self): return _chilkat.CkSFtp_ClearSessionLog(self)
- def get_ForceV3(self): return _chilkat.CkSFtp_get_ForceV3(self)
- def put_ForceV3(self, *args): return _chilkat.CkSFtp_put_ForceV3(self, *args)
- def get_UtcMode(self): return _chilkat.CkSFtp_get_UtcMode(self)
- def put_UtcMode(self, *args): return _chilkat.CkSFtp_put_UtcMode(self, *args)
- def get_PreserveDate(self): return _chilkat.CkSFtp_get_PreserveDate(self)
- def put_PreserveDate(self, *args): return _chilkat.CkSFtp_put_PreserveDate(self, *args)
- def get_ClientIdentifier(self, *args): return _chilkat.CkSFtp_get_ClientIdentifier(self, *args)
- def clientIdentifier(self): return _chilkat.CkSFtp_clientIdentifier(self)
- def put_ClientIdentifier(self, *args): return _chilkat.CkSFtp_put_ClientIdentifier(self, *args)
- def get_HostKeyFingerprint(self, *args): return _chilkat.CkSFtp_get_HostKeyFingerprint(self, *args)
- def hostKeyFingerprint(self): return _chilkat.CkSFtp_hostKeyFingerprint(self)
- def get_SocksHostname(self, *args): return _chilkat.CkSFtp_get_SocksHostname(self, *args)
- def socksHostname(self): return _chilkat.CkSFtp_socksHostname(self)
- def put_SocksHostname(self, *args): return _chilkat.CkSFtp_put_SocksHostname(self, *args)
- def get_SocksUsername(self, *args): return _chilkat.CkSFtp_get_SocksUsername(self, *args)
- def socksUsername(self): return _chilkat.CkSFtp_socksUsername(self)
- def put_SocksUsername(self, *args): return _chilkat.CkSFtp_put_SocksUsername(self, *args)
- def get_SocksPassword(self, *args): return _chilkat.CkSFtp_get_SocksPassword(self, *args)
- def socksPassword(self): return _chilkat.CkSFtp_socksPassword(self)
- def put_SocksPassword(self, *args): return _chilkat.CkSFtp_put_SocksPassword(self, *args)
- def get_SocksPort(self): return _chilkat.CkSFtp_get_SocksPort(self)
- def put_SocksPort(self, *args): return _chilkat.CkSFtp_put_SocksPort(self, *args)
- def get_SocksVersion(self): return _chilkat.CkSFtp_get_SocksVersion(self)
- def put_SocksVersion(self, *args): return _chilkat.CkSFtp_put_SocksVersion(self, *args)
- def get_HttpProxyAuthMethod(self, *args): return _chilkat.CkSFtp_get_HttpProxyAuthMethod(self, *args)
- def httpProxyAuthMethod(self): return _chilkat.CkSFtp_httpProxyAuthMethod(self)
- def put_HttpProxyAuthMethod(self, *args): return _chilkat.CkSFtp_put_HttpProxyAuthMethod(self, *args)
- def get_HttpProxyHostname(self, *args): return _chilkat.CkSFtp_get_HttpProxyHostname(self, *args)
- def httpProxyHostname(self): return _chilkat.CkSFtp_httpProxyHostname(self)
- def put_HttpProxyHostname(self, *args): return _chilkat.CkSFtp_put_HttpProxyHostname(self, *args)
- def get_HttpProxyPassword(self, *args): return _chilkat.CkSFtp_get_HttpProxyPassword(self, *args)
- def httpProxyPassword(self): return _chilkat.CkSFtp_httpProxyPassword(self)
- def put_HttpProxyPassword(self, *args): return _chilkat.CkSFtp_put_HttpProxyPassword(self, *args)
- def get_HttpProxyPort(self): return _chilkat.CkSFtp_get_HttpProxyPort(self)
- def put_HttpProxyPort(self, *args): return _chilkat.CkSFtp_put_HttpProxyPort(self, *args)
- def get_HttpProxyUsername(self, *args): return _chilkat.CkSFtp_get_HttpProxyUsername(self, *args)
- def httpProxyUsername(self): return _chilkat.CkSFtp_httpProxyUsername(self)
- def put_HttpProxyUsername(self, *args): return _chilkat.CkSFtp_put_HttpProxyUsername(self, *args)
- def get_TcpNoDelay(self): return _chilkat.CkSFtp_get_TcpNoDelay(self)
- def put_TcpNoDelay(self, *args): return _chilkat.CkSFtp_put_TcpNoDelay(self, *args)
- def get_AccumulateBuffer(self, *args): return _chilkat.CkSFtp_get_AccumulateBuffer(self, *args)
- def ClearAccumulateBuffer(self): return _chilkat.CkSFtp_ClearAccumulateBuffer(self)
- def AccumulateBytes(self, *args): return _chilkat.CkSFtp_AccumulateBytes(self, *args)
- def AuthenticatePwPk(self, *args): return _chilkat.CkSFtp_AuthenticatePwPk(self, *args)
-CkSFtp_swigregister = _chilkat.CkSFtp_swigregister
-CkSFtp_swigregister(CkSFtp)
-
-class CkSsh(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkSsh, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkSsh, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkSsh()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkSsh
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkSsh_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkSsh_put_Utf8(self, *args)
- def Connect(self, *args): return _chilkat.CkSsh_Connect(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkSsh_UnlockComponent(self, *args)
- def AuthenticatePw(self, *args): return _chilkat.CkSsh_AuthenticatePw(self, *args)
- def get_Version(self, *args): return _chilkat.CkSsh_get_Version(self, *args)
- def version(self): return _chilkat.CkSsh_version(self)
- def get_KeepSessionLog(self): return _chilkat.CkSsh_get_KeepSessionLog(self)
- def put_KeepSessionLog(self, *args): return _chilkat.CkSsh_put_KeepSessionLog(self, *args)
- def get_SessionLog(self, *args): return _chilkat.CkSsh_get_SessionLog(self, *args)
- def sessionLog(self): return _chilkat.CkSsh_sessionLog(self)
- def get_IdleTimeoutMs(self): return _chilkat.CkSsh_get_IdleTimeoutMs(self)
- def put_IdleTimeoutMs(self, *args): return _chilkat.CkSsh_put_IdleTimeoutMs(self, *args)
- def get_ConnectTimeoutMs(self): return _chilkat.CkSsh_get_ConnectTimeoutMs(self)
- def put_ConnectTimeoutMs(self, *args): return _chilkat.CkSsh_put_ConnectTimeoutMs(self, *args)
- def get_ChannelOpenFailCode(self): return _chilkat.CkSsh_get_ChannelOpenFailCode(self)
- def get_DisconnectCode(self): return _chilkat.CkSsh_get_DisconnectCode(self)
- def get_DisconnectReason(self, *args): return _chilkat.CkSsh_get_DisconnectReason(self, *args)
- def disconnectReason(self): return _chilkat.CkSsh_disconnectReason(self)
- def get_ChannelOpenFailReason(self, *args): return _chilkat.CkSsh_get_ChannelOpenFailReason(self, *args)
- def channelOpenFailReason(self): return _chilkat.CkSsh_channelOpenFailReason(self)
- def get_MaxPacketSize(self): return _chilkat.CkSsh_get_MaxPacketSize(self)
- def put_MaxPacketSize(self, *args): return _chilkat.CkSsh_put_MaxPacketSize(self, *args)
- def Disconnect(self): return _chilkat.CkSsh_Disconnect(self)
- def OpenSessionChannel(self): return _chilkat.CkSsh_OpenSessionChannel(self)
- def OpenCustomChannel(self, *args): return _chilkat.CkSsh_OpenCustomChannel(self, *args)
- def get_NumOpenChannels(self): return _chilkat.CkSsh_get_NumOpenChannels(self)
- def GetChannelNumber(self, *args): return _chilkat.CkSsh_GetChannelNumber(self, *args)
- def GetChannelType(self, *args): return _chilkat.CkSsh_GetChannelType(self, *args)
- def getChannelType(self, *args): return _chilkat.CkSsh_getChannelType(self, *args)
- def SendReqPty(self, *args): return _chilkat.CkSsh_SendReqPty(self, *args)
- def SendReqX11Forwarding(self, *args): return _chilkat.CkSsh_SendReqX11Forwarding(self, *args)
- def SendReqSetEnv(self, *args): return _chilkat.CkSsh_SendReqSetEnv(self, *args)
- def SendReqShell(self, *args): return _chilkat.CkSsh_SendReqShell(self, *args)
- def SendReqExec(self, *args): return _chilkat.CkSsh_SendReqExec(self, *args)
- def SendReqSubsystem(self, *args): return _chilkat.CkSsh_SendReqSubsystem(self, *args)
- def SendReqWindowChange(self, *args): return _chilkat.CkSsh_SendReqWindowChange(self, *args)
- def SendReqXonXoff(self, *args): return _chilkat.CkSsh_SendReqXonXoff(self, *args)
- def SendReqSignal(self, *args): return _chilkat.CkSsh_SendReqSignal(self, *args)
- def ChannelSendData(self, *args): return _chilkat.CkSsh_ChannelSendData(self, *args)
- def ChannelSendString(self, *args): return _chilkat.CkSsh_ChannelSendString(self, *args)
- def ChannelPoll(self, *args): return _chilkat.CkSsh_ChannelPoll(self, *args)
- def ChannelReadAndPoll(self, *args): return _chilkat.CkSsh_ChannelReadAndPoll(self, *args)
- def ChannelRead(self, *args): return _chilkat.CkSsh_ChannelRead(self, *args)
- def GetReceivedData(self, *args): return _chilkat.CkSsh_GetReceivedData(self, *args)
- def GetReceivedStderr(self, *args): return _chilkat.CkSsh_GetReceivedStderr(self, *args)
- def ChannelReceivedEof(self, *args): return _chilkat.CkSsh_ChannelReceivedEof(self, *args)
- def ChannelReceivedClose(self, *args): return _chilkat.CkSsh_ChannelReceivedClose(self, *args)
- def ChannelSendClose(self, *args): return _chilkat.CkSsh_ChannelSendClose(self, *args)
- def ChannelSendEof(self, *args): return _chilkat.CkSsh_ChannelSendEof(self, *args)
- def ChannelIsOpen(self, *args): return _chilkat.CkSsh_ChannelIsOpen(self, *args)
- def ChannelReceiveToClose(self, *args): return _chilkat.CkSsh_ChannelReceiveToClose(self, *args)
- def ClearTtyModes(self): return _chilkat.CkSsh_ClearTtyModes(self)
- def SetTtyMode(self, *args): return _chilkat.CkSsh_SetTtyMode(self, *args)
- def get_IsConnected(self): return _chilkat.CkSsh_get_IsConnected(self)
- def ReKey(self): return _chilkat.CkSsh_ReKey(self)
- def AuthenticatePk(self, *args): return _chilkat.CkSsh_AuthenticatePk(self, *args)
- def GetReceivedText(self, *args): return _chilkat.CkSsh_GetReceivedText(self, *args)
- def getReceivedText(self, *args): return _chilkat.CkSsh_getReceivedText(self, *args)
- def GetReceivedNumBytes(self, *args): return _chilkat.CkSsh_GetReceivedNumBytes(self, *args)
- def ChannelReceiveUntilMatch(self, *args): return _chilkat.CkSsh_ChannelReceiveUntilMatch(self, *args)
- def SendIgnore(self): return _chilkat.CkSsh_SendIgnore(self)
- def OpenDirectTcpIpChannel(self, *args): return _chilkat.CkSsh_OpenDirectTcpIpChannel(self, *args)
- def GetReceivedTextS(self, *args): return _chilkat.CkSsh_GetReceivedTextS(self, *args)
- def getReceivedTextS(self, *args): return _chilkat.CkSsh_getReceivedTextS(self, *args)
- def GetReceivedDataN(self, *args): return _chilkat.CkSsh_GetReceivedDataN(self, *args)
- def PeekReceivedText(self, *args): return _chilkat.CkSsh_PeekReceivedText(self, *args)
- def peekReceivedText(self, *args): return _chilkat.CkSsh_peekReceivedText(self, *args)
- def get_HeartbeatMs(self): return _chilkat.CkSsh_get_HeartbeatMs(self)
- def put_HeartbeatMs(self, *args): return _chilkat.CkSsh_put_HeartbeatMs(self, *args)
- def ChannelReceivedExitStatus(self, *args): return _chilkat.CkSsh_ChannelReceivedExitStatus(self, *args)
- def GetChannelExitStatus(self, *args): return _chilkat.CkSsh_GetChannelExitStatus(self, *args)
- def get_ClientIdentifier(self, *args): return _chilkat.CkSsh_get_ClientIdentifier(self, *args)
- def clientIdentifier(self): return _chilkat.CkSsh_clientIdentifier(self)
- def put_ClientIdentifier(self, *args): return _chilkat.CkSsh_put_ClientIdentifier(self, *args)
- def get_ReadTimeoutMs(self): return _chilkat.CkSsh_get_ReadTimeoutMs(self)
- def put_ReadTimeoutMs(self, *args): return _chilkat.CkSsh_put_ReadTimeoutMs(self, *args)
- def get_TcpNoDelay(self): return _chilkat.CkSsh_get_TcpNoDelay(self)
- def put_TcpNoDelay(self, *args): return _chilkat.CkSsh_put_TcpNoDelay(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkSsh_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkSsh_put_VerboseLogging(self, *args)
- def get_HostKeyFingerprint(self, *args): return _chilkat.CkSsh_get_HostKeyFingerprint(self, *args)
- def hostKeyFingerprint(self): return _chilkat.CkSsh_hostKeyFingerprint(self)
- def get_SocksVersion(self): return _chilkat.CkSsh_get_SocksVersion(self)
- def put_SocksVersion(self, *args): return _chilkat.CkSsh_put_SocksVersion(self, *args)
- def get_SocksPort(self): return _chilkat.CkSsh_get_SocksPort(self)
- def put_SocksPort(self, *args): return _chilkat.CkSsh_put_SocksPort(self, *args)
- def get_SocksHostname(self, *args): return _chilkat.CkSsh_get_SocksHostname(self, *args)
- def socksHostname(self): return _chilkat.CkSsh_socksHostname(self)
- def put_SocksHostname(self, *args): return _chilkat.CkSsh_put_SocksHostname(self, *args)
- def get_SocksUsername(self, *args): return _chilkat.CkSsh_get_SocksUsername(self, *args)
- def socksUsername(self): return _chilkat.CkSsh_socksUsername(self)
- def put_SocksUsername(self, *args): return _chilkat.CkSsh_put_SocksUsername(self, *args)
- def get_SocksPassword(self, *args): return _chilkat.CkSsh_get_SocksPassword(self, *args)
- def socksPassword(self): return _chilkat.CkSsh_socksPassword(self)
- def put_SocksPassword(self, *args): return _chilkat.CkSsh_put_SocksPassword(self, *args)
- def get_HttpProxyAuthMethod(self, *args): return _chilkat.CkSsh_get_HttpProxyAuthMethod(self, *args)
- def httpProxyAuthMethod(self): return _chilkat.CkSsh_httpProxyAuthMethod(self)
- def put_HttpProxyAuthMethod(self, *args): return _chilkat.CkSsh_put_HttpProxyAuthMethod(self, *args)
- def get_HttpProxyHostname(self, *args): return _chilkat.CkSsh_get_HttpProxyHostname(self, *args)
- def httpProxyHostname(self): return _chilkat.CkSsh_httpProxyHostname(self)
- def put_HttpProxyHostname(self, *args): return _chilkat.CkSsh_put_HttpProxyHostname(self, *args)
- def get_HttpProxyPassword(self, *args): return _chilkat.CkSsh_get_HttpProxyPassword(self, *args)
- def httpProxyPassword(self): return _chilkat.CkSsh_httpProxyPassword(self)
- def put_HttpProxyPassword(self, *args): return _chilkat.CkSsh_put_HttpProxyPassword(self, *args)
- def get_HttpProxyPort(self): return _chilkat.CkSsh_get_HttpProxyPort(self)
- def put_HttpProxyPort(self, *args): return _chilkat.CkSsh_put_HttpProxyPort(self, *args)
- def get_HttpProxyUsername(self, *args): return _chilkat.CkSsh_get_HttpProxyUsername(self, *args)
- def httpProxyUsername(self): return _chilkat.CkSsh_httpProxyUsername(self)
- def put_HttpProxyUsername(self, *args): return _chilkat.CkSsh_put_HttpProxyUsername(self, *args)
- def ChannelReceiveUntilMatchN(self, *args): return _chilkat.CkSsh_ChannelReceiveUntilMatchN(self, *args)
- def ChannelReadAndPoll2(self, *args): return _chilkat.CkSsh_ChannelReadAndPoll2(self, *args)
- def AuthenticatePwPk(self, *args): return _chilkat.CkSsh_AuthenticatePwPk(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkSsh_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkSsh_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkSsh_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkSsh_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkSsh_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkSsh_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkSsh_lastErrorHtml(self)
-CkSsh_swigregister = _chilkat.CkSsh_swigregister
-CkSsh_swigregister(CkSsh)
-
-class CkSshKey(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkSshKey, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkSshKey, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkSshKey()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkSshKey
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkSshKey_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkSshKey_put_Utf8(self, *args)
- def get_IsRsaKey(self): return _chilkat.CkSshKey_get_IsRsaKey(self)
- def get_IsDsaKey(self): return _chilkat.CkSshKey_get_IsDsaKey(self)
- def get_IsPrivateKey(self): return _chilkat.CkSshKey_get_IsPrivateKey(self)
- def get_Password(self, *args): return _chilkat.CkSshKey_get_Password(self, *args)
- def password(self): return _chilkat.CkSshKey_password(self)
- def put_Password(self, *args): return _chilkat.CkSshKey_put_Password(self, *args)
- def get_Comment(self, *args): return _chilkat.CkSshKey_get_Comment(self, *args)
- def comment(self): return _chilkat.CkSshKey_comment(self)
- def put_Comment(self, *args): return _chilkat.CkSshKey_put_Comment(self, *args)
- def GenFingerprint(self, *args): return _chilkat.CkSshKey_GenFingerprint(self, *args)
- def genFingerprint(self): return _chilkat.CkSshKey_genFingerprint(self)
- def ToXml(self, *args): return _chilkat.CkSshKey_ToXml(self, *args)
- def toXml(self): return _chilkat.CkSshKey_toXml(self)
- def ToRfc4716PublicKey(self, *args): return _chilkat.CkSshKey_ToRfc4716PublicKey(self, *args)
- def toRfc4716PublicKey(self): return _chilkat.CkSshKey_toRfc4716PublicKey(self)
- def ToOpenSshPublicKey(self, *args): return _chilkat.CkSshKey_ToOpenSshPublicKey(self, *args)
- def toOpenSshPublicKey(self): return _chilkat.CkSshKey_toOpenSshPublicKey(self)
- def FromXml(self, *args): return _chilkat.CkSshKey_FromXml(self, *args)
- def FromRfc4716PublicKey(self, *args): return _chilkat.CkSshKey_FromRfc4716PublicKey(self, *args)
- def FromOpenSshPublicKey(self, *args): return _chilkat.CkSshKey_FromOpenSshPublicKey(self, *args)
- def FromPuttyPrivateKey(self, *args): return _chilkat.CkSshKey_FromPuttyPrivateKey(self, *args)
- def FromOpenSshPrivateKey(self, *args): return _chilkat.CkSshKey_FromOpenSshPrivateKey(self, *args)
- def GenerateRsaKey(self, *args): return _chilkat.CkSshKey_GenerateRsaKey(self, *args)
- def GenerateDsaKey(self, *args): return _chilkat.CkSshKey_GenerateDsaKey(self, *args)
- def SaveText(self, *args): return _chilkat.CkSshKey_SaveText(self, *args)
- def LoadText(self, *args): return _chilkat.CkSshKey_LoadText(self, *args)
- def loadText(self, *args): return _chilkat.CkSshKey_loadText(self, *args)
- def ToOpenSshPrivateKey(self, *args): return _chilkat.CkSshKey_ToOpenSshPrivateKey(self, *args)
- def toOpenSshPrivateKey(self, *args): return _chilkat.CkSshKey_toOpenSshPrivateKey(self, *args)
- def ToPuttyPrivateKey(self, *args): return _chilkat.CkSshKey_ToPuttyPrivateKey(self, *args)
- def toPuttyPrivateKey(self, *args): return _chilkat.CkSshKey_toPuttyPrivateKey(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkSshKey_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkSshKey_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkSshKey_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkSshKey_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkSshKey_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkSshKey_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkSshKey_lastErrorHtml(self)
-CkSshKey_swigregister = _chilkat.CkSshKey_swigregister
-CkSshKey_swigregister(CkSshKey)
-
-class CkIcon(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkIcon, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkIcon, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkIcon()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkIcon
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkIcon_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkIcon_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkIcon_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkIcon_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkIcon_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkIcon_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkIcon_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkIcon_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkIcon_lastErrorHtml(self)
-CkIcon_swigregister = _chilkat.CkIcon_swigregister
-CkIcon_swigregister(CkIcon)
-
-class CkService(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkService, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkService, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkService()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkService
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkService_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkService_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkService_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkService_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkService_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkService_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkService_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkService_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkService_lastErrorHtml(self)
- def Install(self): return _chilkat.CkService_Install(self)
- def Uninstall(self): return _chilkat.CkService_Uninstall(self)
- def Start(self): return _chilkat.CkService_Start(self)
- def Stop(self): return _chilkat.CkService_Stop(self)
- def get_ServiceName(self, *args): return _chilkat.CkService_get_ServiceName(self, *args)
- def serviceName(self): return _chilkat.CkService_serviceName(self)
- def put_ServiceName(self, *args): return _chilkat.CkService_put_ServiceName(self, *args)
- def get_DisplayName(self, *args): return _chilkat.CkService_get_DisplayName(self, *args)
- def displayName(self): return _chilkat.CkService_displayName(self)
- def put_DisplayName(self, *args): return _chilkat.CkService_put_DisplayName(self, *args)
- def get_ExeFilename(self, *args): return _chilkat.CkService_get_ExeFilename(self, *args)
- def exeFilename(self): return _chilkat.CkService_exeFilename(self)
- def put_ExeFilename(self, *args): return _chilkat.CkService_put_ExeFilename(self, *args)
- def get_AutoStart(self): return _chilkat.CkService_get_AutoStart(self)
- def put_AutoStart(self, *args): return _chilkat.CkService_put_AutoStart(self, *args)
- def SetAutoStart(self): return _chilkat.CkService_SetAutoStart(self)
- def SetDemandStart(self): return _chilkat.CkService_SetDemandStart(self)
- def Disable(self): return _chilkat.CkService_Disable(self)
- def IsAutoStart(self): return _chilkat.CkService_IsAutoStart(self)
- def IsDemandStart(self): return _chilkat.CkService_IsDemandStart(self)
- def IsDisabled(self): return _chilkat.CkService_IsDisabled(self)
- def IsInstalled(self): return _chilkat.CkService_IsInstalled(self)
- def IsRunning(self): return _chilkat.CkService_IsRunning(self)
-CkService_swigregister = _chilkat.CkService_swigregister
-CkService_swigregister(CkService)
-
-class CkCompression(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkCompression, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkCompression, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkCompression()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkCompression
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkCompression_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkCompression_put_Utf8(self, *args)
- def get_Charset(self, *args): return _chilkat.CkCompression_get_Charset(self, *args)
- def charset(self): return _chilkat.CkCompression_charset(self)
- def put_Charset(self, *args): return _chilkat.CkCompression_put_Charset(self, *args)
- def get_EncodingMode(self, *args): return _chilkat.CkCompression_get_EncodingMode(self, *args)
- def encodingMode(self): return _chilkat.CkCompression_encodingMode(self)
- def put_EncodingMode(self, *args): return _chilkat.CkCompression_put_EncodingMode(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkCompression_UnlockComponent(self, *args)
- def get_Algorithm(self, *args): return _chilkat.CkCompression_get_Algorithm(self, *args)
- def algorithm(self): return _chilkat.CkCompression_algorithm(self)
- def put_Algorithm(self, *args): return _chilkat.CkCompression_put_Algorithm(self, *args)
- def BeginCompressBytes(self, *args): return _chilkat.CkCompression_BeginCompressBytes(self, *args)
- def BeginCompressBytesENC(self, *args): return _chilkat.CkCompression_BeginCompressBytesENC(self, *args)
- def beginCompressBytesENC(self, *args): return _chilkat.CkCompression_beginCompressBytesENC(self, *args)
- def BeginCompressString(self, *args): return _chilkat.CkCompression_BeginCompressString(self, *args)
- def BeginCompressStringENC(self, *args): return _chilkat.CkCompression_BeginCompressStringENC(self, *args)
- def beginCompressStringENC(self, *args): return _chilkat.CkCompression_beginCompressStringENC(self, *args)
- def BeginDecompressBytes(self, *args): return _chilkat.CkCompression_BeginDecompressBytes(self, *args)
- def BeginDecompressBytesENC(self, *args): return _chilkat.CkCompression_BeginDecompressBytesENC(self, *args)
- def BeginDecompressString(self, *args): return _chilkat.CkCompression_BeginDecompressString(self, *args)
- def beginDecompressString(self, *args): return _chilkat.CkCompression_beginDecompressString(self, *args)
- def BeginDecompressStringENC(self, *args): return _chilkat.CkCompression_BeginDecompressStringENC(self, *args)
- def beginDecompressStringENC(self, *args): return _chilkat.CkCompression_beginDecompressStringENC(self, *args)
- def CompressBytes(self, *args): return _chilkat.CkCompression_CompressBytes(self, *args)
- def CompressBytesENC(self, *args): return _chilkat.CkCompression_CompressBytesENC(self, *args)
- def compressBytesENC(self, *args): return _chilkat.CkCompression_compressBytesENC(self, *args)
- def CompressFile(self, *args): return _chilkat.CkCompression_CompressFile(self, *args)
- def CompressString(self, *args): return _chilkat.CkCompression_CompressString(self, *args)
- def CompressStringENC(self, *args): return _chilkat.CkCompression_CompressStringENC(self, *args)
- def compressStringENC(self, *args): return _chilkat.CkCompression_compressStringENC(self, *args)
- def DecompressBytes(self, *args): return _chilkat.CkCompression_DecompressBytes(self, *args)
- def DecompressBytesENC(self, *args): return _chilkat.CkCompression_DecompressBytesENC(self, *args)
- def DecompressFile(self, *args): return _chilkat.CkCompression_DecompressFile(self, *args)
- def DecompressString(self, *args): return _chilkat.CkCompression_DecompressString(self, *args)
- def decompressString(self, *args): return _chilkat.CkCompression_decompressString(self, *args)
- def DecompressStringENC(self, *args): return _chilkat.CkCompression_DecompressStringENC(self, *args)
- def decompressStringENC(self, *args): return _chilkat.CkCompression_decompressStringENC(self, *args)
- def EndCompressBytes(self, *args): return _chilkat.CkCompression_EndCompressBytes(self, *args)
- def EndCompressBytesENC(self, *args): return _chilkat.CkCompression_EndCompressBytesENC(self, *args)
- def endCompressBytesENC(self): return _chilkat.CkCompression_endCompressBytesENC(self)
- def EndCompressString(self, *args): return _chilkat.CkCompression_EndCompressString(self, *args)
- def EndCompressStringENC(self, *args): return _chilkat.CkCompression_EndCompressStringENC(self, *args)
- def endCompressStringENC(self): return _chilkat.CkCompression_endCompressStringENC(self)
- def EndDecompressBytes(self, *args): return _chilkat.CkCompression_EndDecompressBytes(self, *args)
- def EndDecompressBytesENC(self, *args): return _chilkat.CkCompression_EndDecompressBytesENC(self, *args)
- def EndDecompressString(self, *args): return _chilkat.CkCompression_EndDecompressString(self, *args)
- def endDecompressString(self): return _chilkat.CkCompression_endDecompressString(self)
- def EndDecompressStringENC(self, *args): return _chilkat.CkCompression_EndDecompressStringENC(self, *args)
- def endDecompressStringENC(self): return _chilkat.CkCompression_endDecompressStringENC(self)
- def MoreCompressBytes(self, *args): return _chilkat.CkCompression_MoreCompressBytes(self, *args)
- def MoreCompressBytesENC(self, *args): return _chilkat.CkCompression_MoreCompressBytesENC(self, *args)
- def moreCompressBytesENC(self, *args): return _chilkat.CkCompression_moreCompressBytesENC(self, *args)
- def MoreCompressString(self, *args): return _chilkat.CkCompression_MoreCompressString(self, *args)
- def MoreCompressStringENC(self, *args): return _chilkat.CkCompression_MoreCompressStringENC(self, *args)
- def moreCompressStringENC(self, *args): return _chilkat.CkCompression_moreCompressStringENC(self, *args)
- def MoreDecompressBytes(self, *args): return _chilkat.CkCompression_MoreDecompressBytes(self, *args)
- def MoreDecompressBytesENC(self, *args): return _chilkat.CkCompression_MoreDecompressBytesENC(self, *args)
- def MoreDecompressString(self, *args): return _chilkat.CkCompression_MoreDecompressString(self, *args)
- def moreDecompressString(self, *args): return _chilkat.CkCompression_moreDecompressString(self, *args)
- def MoreDecompressStringENC(self, *args): return _chilkat.CkCompression_MoreDecompressStringENC(self, *args)
- def moreDecompressStringENC(self, *args): return _chilkat.CkCompression_moreDecompressStringENC(self, *args)
- def get_Version(self, *args): return _chilkat.CkCompression_get_Version(self, *args)
- def version(self): return _chilkat.CkCompression_version(self)
- def SaveLastError(self, *args): return _chilkat.CkCompression_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkCompression_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkCompression_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkCompression_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkCompression_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkCompression_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkCompression_lastErrorHtml(self)
-CkCompression_swigregister = _chilkat.CkCompression_swigregister
-CkCompression_swigregister(CkCompression)
-
-class CkBz2(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkBz2, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkBz2, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkBz2()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkBz2
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkBz2_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkBz2_put_Utf8(self, *args)
- def UncompressFile(self, *args): return _chilkat.CkBz2_UncompressFile(self, *args)
- def CompressFile(self, *args): return _chilkat.CkBz2_CompressFile(self, *args)
- def UncompressFileToMem(self, *args): return _chilkat.CkBz2_UncompressFileToMem(self, *args)
- def CompressFileToMem(self, *args): return _chilkat.CkBz2_CompressFileToMem(self, *args)
- def CompressMemToFile(self, *args): return _chilkat.CkBz2_CompressMemToFile(self, *args)
- def UncompressMemToFile(self, *args): return _chilkat.CkBz2_UncompressMemToFile(self, *args)
- def CompressMemory(self, *args): return _chilkat.CkBz2_CompressMemory(self, *args)
- def UncompressMemory(self, *args): return _chilkat.CkBz2_UncompressMemory(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkBz2_UnlockComponent(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkBz2_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkBz2_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkBz2_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkBz2_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkBz2_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkBz2_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkBz2_lastErrorHtml(self)
-CkBz2_swigregister = _chilkat.CkBz2_swigregister
-CkBz2_swigregister(CkBz2)
-
-class CkCgi(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkCgi, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkCgi, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkCgi()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkCgi
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkCgi_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkCgi_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkCgi_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkCgi_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkCgi_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkCgi_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkCgi_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkCgi_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkCgi_lastErrorHtml(self)
-CkCgi_swigregister = _chilkat.CkCgi_swigregister
-CkCgi_swigregister(CkCgi)
-
-class CkHtmlToText(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkHtmlToText, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkHtmlToText, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkHtmlToText()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkHtmlToText
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkHtmlToText_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkHtmlToText_put_Utf8(self, *args)
- def IsUnlocked(self): return _chilkat.CkHtmlToText_IsUnlocked(self)
- def ToText(self, *args): return _chilkat.CkHtmlToText_ToText(self, *args)
- def toText(self, *args): return _chilkat.CkHtmlToText_toText(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkHtmlToText_UnlockComponent(self, *args)
- def WriteStringToFile(self, *args): return _chilkat.CkHtmlToText_WriteStringToFile(self, *args)
- def ReadFileToString(self, *args): return _chilkat.CkHtmlToText_ReadFileToString(self, *args)
- def readFileToString(self, *args): return _chilkat.CkHtmlToText_readFileToString(self, *args)
- def get_RightMargin(self): return _chilkat.CkHtmlToText_get_RightMargin(self)
- def put_RightMargin(self, *args): return _chilkat.CkHtmlToText_put_RightMargin(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkHtmlToText_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkHtmlToText_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkHtmlToText_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkHtmlToText_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkHtmlToText_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkHtmlToText_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkHtmlToText_lastErrorHtml(self)
-CkHtmlToText_swigregister = _chilkat.CkHtmlToText_swigregister
-CkHtmlToText_swigregister(CkHtmlToText)
-
-class CkCsv(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkCsv, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkCsv, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkCsv()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkCsv
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkCsv_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkCsv_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkCsv_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkCsv_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkCsv_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkCsv_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkCsv_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkCsv_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkCsv_lastErrorHtml(self)
- def LoadFile(self, *args): return _chilkat.CkCsv_LoadFile(self, *args)
- def SaveFile(self, *args): return _chilkat.CkCsv_SaveFile(self, *args)
- def SaveFile2(self, *args): return _chilkat.CkCsv_SaveFile2(self, *args)
- def LoadFile2(self, *args): return _chilkat.CkCsv_LoadFile2(self, *args)
- def GetCell(self, *args): return _chilkat.CkCsv_GetCell(self, *args)
- def getCell(self, *args): return _chilkat.CkCsv_getCell(self, *args)
- def get_NumRows(self): return _chilkat.CkCsv_get_NumRows(self)
- def SetCell(self, *args): return _chilkat.CkCsv_SetCell(self, *args)
- def GetNumCols(self, *args): return _chilkat.CkCsv_GetNumCols(self, *args)
- def get_Delimiter(self, *args): return _chilkat.CkCsv_get_Delimiter(self, *args)
- def delimiter(self): return _chilkat.CkCsv_delimiter(self)
- def put_Delimiter(self, *args): return _chilkat.CkCsv_put_Delimiter(self, *args)
- def get_Crlf(self): return _chilkat.CkCsv_get_Crlf(self)
- def put_Crlf(self, *args): return _chilkat.CkCsv_put_Crlf(self, *args)
- def get_HasColumnNames(self): return _chilkat.CkCsv_get_HasColumnNames(self)
- def put_HasColumnNames(self, *args): return _chilkat.CkCsv_put_HasColumnNames(self, *args)
- def get_NumColumns(self): return _chilkat.CkCsv_get_NumColumns(self)
- def GetIndex(self, *args): return _chilkat.CkCsv_GetIndex(self, *args)
- def GetColumnName(self, *args): return _chilkat.CkCsv_GetColumnName(self, *args)
- def getColumnName(self, *args): return _chilkat.CkCsv_getColumnName(self, *args)
- def LoadFromString(self, *args): return _chilkat.CkCsv_LoadFromString(self, *args)
- def SaveToString(self, *args): return _chilkat.CkCsv_SaveToString(self, *args)
- def saveToString(self): return _chilkat.CkCsv_saveToString(self)
- def SetColumnName(self, *args): return _chilkat.CkCsv_SetColumnName(self, *args)
-CkCsv_swigregister = _chilkat.CkCsv_swigregister
-CkCsv_swigregister(CkCsv)
-
-class CkTar(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkTar, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkTar, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkTar()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkTar
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkTar_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkTar_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkTar_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkTar_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkTar_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkTar_LastErrorText(self, *args)
- def get_Version(self, *args): return _chilkat.CkTar_get_Version(self, *args)
- def lastErrorText(self): return _chilkat.CkTar_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkTar_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkTar_lastErrorHtml(self)
- def version(self): return _chilkat.CkTar_version(self)
- def get_NoAbsolutePaths(self): return _chilkat.CkTar_get_NoAbsolutePaths(self)
- def put_NoAbsolutePaths(self, *args): return _chilkat.CkTar_put_NoAbsolutePaths(self, *args)
- def get_UntarCaseSensitive(self): return _chilkat.CkTar_get_UntarCaseSensitive(self)
- def put_UntarCaseSensitive(self, *args): return _chilkat.CkTar_put_UntarCaseSensitive(self, *args)
- def get_UntarDebugLog(self): return _chilkat.CkTar_get_UntarDebugLog(self)
- def put_UntarDebugLog(self, *args): return _chilkat.CkTar_put_UntarDebugLog(self, *args)
- def get_UntarDiscardPaths(self): return _chilkat.CkTar_get_UntarDiscardPaths(self)
- def put_UntarDiscardPaths(self, *args): return _chilkat.CkTar_put_UntarDiscardPaths(self, *args)
- def get_UntarFromDir(self, *args): return _chilkat.CkTar_get_UntarFromDir(self, *args)
- def untarFromDir(self): return _chilkat.CkTar_untarFromDir(self)
- def put_UntarFromDir(self, *args): return _chilkat.CkTar_put_UntarFromDir(self, *args)
- def get_UntarMatchPattern(self, *args): return _chilkat.CkTar_get_UntarMatchPattern(self, *args)
- def untarMatchPattern(self): return _chilkat.CkTar_untarMatchPattern(self)
- def put_UntarMatchPattern(self, *args): return _chilkat.CkTar_put_UntarMatchPattern(self, *args)
- def get_UntarMaxCount(self): return _chilkat.CkTar_get_UntarMaxCount(self)
- def put_UntarMaxCount(self, *args): return _chilkat.CkTar_put_UntarMaxCount(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkTar_UnlockComponent(self, *args)
- def Untar(self, *args): return _chilkat.CkTar_Untar(self, *args)
- def UntarFromMemory(self, *args): return _chilkat.CkTar_UntarFromMemory(self, *args)
- def UntarFirstMatchingToMemory(self, *args): return _chilkat.CkTar_UntarFirstMatchingToMemory(self, *args)
- def AddDirRoot(self, *args): return _chilkat.CkTar_AddDirRoot(self, *args)
- def get_NumDirRoots(self): return _chilkat.CkTar_get_NumDirRoots(self)
- def GetDirRoot(self, *args): return _chilkat.CkTar_GetDirRoot(self, *args)
- def getDirRoot(self, *args): return _chilkat.CkTar_getDirRoot(self, *args)
- def WriteTar(self, *args): return _chilkat.CkTar_WriteTar(self, *args)
- def WriteTarGz(self, *args): return _chilkat.CkTar_WriteTarGz(self, *args)
- def WriteTarBz2(self, *args): return _chilkat.CkTar_WriteTarBz2(self, *args)
- def WriteTarZ(self, *args): return _chilkat.CkTar_WriteTarZ(self, *args)
- def ListXml(self, *args): return _chilkat.CkTar_ListXml(self, *args)
- def listXml(self, *args): return _chilkat.CkTar_listXml(self, *args)
- def get_Charset(self, *args): return _chilkat.CkTar_get_Charset(self, *args)
- def charset(self): return _chilkat.CkTar_charset(self)
- def put_Charset(self, *args): return _chilkat.CkTar_put_Charset(self, *args)
- def UntarZ(self, *args): return _chilkat.CkTar_UntarZ(self, *args)
- def UntarGz(self, *args): return _chilkat.CkTar_UntarGz(self, *args)
- def UntarBz2(self, *args): return _chilkat.CkTar_UntarBz2(self, *args)
- def get_UserName(self, *args): return _chilkat.CkTar_get_UserName(self, *args)
- def userName(self): return _chilkat.CkTar_userName(self)
- def put_UserName(self, *args): return _chilkat.CkTar_put_UserName(self, *args)
- def get_GroupName(self, *args): return _chilkat.CkTar_get_GroupName(self, *args)
- def groupName(self): return _chilkat.CkTar_groupName(self)
- def put_GroupName(self, *args): return _chilkat.CkTar_put_GroupName(self, *args)
- def get_UserId(self): return _chilkat.CkTar_get_UserId(self)
- def put_UserId(self, *args): return _chilkat.CkTar_put_UserId(self, *args)
- def get_GroupId(self): return _chilkat.CkTar_get_GroupId(self)
- def put_GroupId(self, *args): return _chilkat.CkTar_put_GroupId(self, *args)
- def get_DirMode(self): return _chilkat.CkTar_get_DirMode(self)
- def put_DirMode(self, *args): return _chilkat.CkTar_put_DirMode(self, *args)
- def get_FileMode(self): return _chilkat.CkTar_get_FileMode(self)
- def put_FileMode(self, *args): return _chilkat.CkTar_put_FileMode(self, *args)
- def get_VerboseLogging(self): return _chilkat.CkTar_get_VerboseLogging(self)
- def put_VerboseLogging(self, *args): return _chilkat.CkTar_put_VerboseLogging(self, *args)
- def get_WriteFormat(self, *args): return _chilkat.CkTar_get_WriteFormat(self, *args)
- def writeFormat(self): return _chilkat.CkTar_writeFormat(self)
- def put_WriteFormat(self, *args): return _chilkat.CkTar_put_WriteFormat(self, *args)
- def get_HeartbeatMs(self): return _chilkat.CkTar_get_HeartbeatMs(self)
- def put_HeartbeatMs(self, *args): return _chilkat.CkTar_put_HeartbeatMs(self, *args)
-CkTar_swigregister = _chilkat.CkTar_swigregister
-CkTar_swigregister(CkTar)
-
-class CkSocksProxy(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkSocksProxy, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkSocksProxy, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkSocksProxy()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkSocksProxy
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkSocksProxy_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkSocksProxy_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkSocksProxy_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkSocksProxy_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkSocksProxy_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkSocksProxy_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkSocksProxy_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkSocksProxy_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkSocksProxy_lastErrorHtml(self)
- def UnlockComponent(self, *args): return _chilkat.CkSocksProxy_UnlockComponent(self, *args)
- def get_SocksVersion(self): return _chilkat.CkSocksProxy_get_SocksVersion(self)
- def get_AuthenticatedSocks5(self): return _chilkat.CkSocksProxy_get_AuthenticatedSocks5(self)
- def get_ConnectionPending(self): return _chilkat.CkSocksProxy_get_ConnectionPending(self)
- def get_ClientPort(self): return _chilkat.CkSocksProxy_get_ClientPort(self)
- def get_ServerPort(self): return _chilkat.CkSocksProxy_get_ServerPort(self)
- def get_ClientIp(self, *args): return _chilkat.CkSocksProxy_get_ClientIp(self, *args)
- def clientIp(self): return _chilkat.CkSocksProxy_clientIp(self)
- def get_ServerIp(self, *args): return _chilkat.CkSocksProxy_get_ServerIp(self, *args)
- def serverIp(self): return _chilkat.CkSocksProxy_serverIp(self)
- def get_Login(self, *args): return _chilkat.CkSocksProxy_get_Login(self, *args)
- def login(self): return _chilkat.CkSocksProxy_login(self)
- def get_Password(self, *args): return _chilkat.CkSocksProxy_get_Password(self, *args)
- def password(self): return _chilkat.CkSocksProxy_password(self)
- def Initialize(self, *args): return _chilkat.CkSocksProxy_Initialize(self, *args)
- def WaitForConnection(self, *args): return _chilkat.CkSocksProxy_WaitForConnection(self, *args)
- def AllowConnection(self): return _chilkat.CkSocksProxy_AllowConnection(self)
- def ProceedSocks5(self): return _chilkat.CkSocksProxy_ProceedSocks5(self)
- def RejectConnection(self): return _chilkat.CkSocksProxy_RejectConnection(self)
- def get_AllowUnauthenticatedSocks5(self): return _chilkat.CkSocksProxy_get_AllowUnauthenticatedSocks5(self)
- def put_AllowUnauthenticatedSocks5(self, *args): return _chilkat.CkSocksProxy_put_AllowUnauthenticatedSocks5(self, *args)
- def get_ListenBindIpAddress(self, *args): return _chilkat.CkSocksProxy_get_ListenBindIpAddress(self, *args)
- def listenBindIpAddress(self): return _chilkat.CkSocksProxy_listenBindIpAddress(self)
- def put_ListenBindIpAddress(self, *args): return _chilkat.CkSocksProxy_put_ListenBindIpAddress(self, *args)
- def get_OutboundBindIpAddress(self, *args): return _chilkat.CkSocksProxy_get_OutboundBindIpAddress(self, *args)
- def outboundBindIpAddress(self): return _chilkat.CkSocksProxy_outboundBindIpAddress(self)
- def put_OutboundBindIpAddress(self, *args): return _chilkat.CkSocksProxy_put_OutboundBindIpAddress(self, *args)
- def get_OutboundBindPort(self): return _chilkat.CkSocksProxy_get_OutboundBindPort(self)
- def put_OutboundBindPort(self, *args): return _chilkat.CkSocksProxy_put_OutboundBindPort(self, *args)
- def GetTunnelsXml(self, *args): return _chilkat.CkSocksProxy_GetTunnelsXml(self, *args)
- def getTunnelsXml(self): return _chilkat.CkSocksProxy_getTunnelsXml(self)
- def StopAllTunnels(self, *args): return _chilkat.CkSocksProxy_StopAllTunnels(self, *args)
-CkSocksProxy_swigregister = _chilkat.CkSocksProxy_swigregister
-CkSocksProxy_swigregister(CkSocksProxy)
-
-class CkSshTunnel(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkSshTunnel, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkSshTunnel, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkSshTunnel()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkSshTunnel
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkSshTunnel_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkSshTunnel_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkSshTunnel_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkSshTunnel_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkSshTunnel_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkSshTunnel_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkSshTunnel_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkSshTunnel_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkSshTunnel_lastErrorHtml(self)
- def UnlockComponent(self, *args): return _chilkat.CkSshTunnel_UnlockComponent(self, *args)
- def get_SshLogin(self, *args): return _chilkat.CkSshTunnel_get_SshLogin(self, *args)
- def sshLogin(self): return _chilkat.CkSshTunnel_sshLogin(self)
- def put_SshLogin(self, *args): return _chilkat.CkSshTunnel_put_SshLogin(self, *args)
- def get_SshPassword(self, *args): return _chilkat.CkSshTunnel_get_SshPassword(self, *args)
- def sshPassword(self): return _chilkat.CkSshTunnel_sshPassword(self)
- def put_SshPassword(self, *args): return _chilkat.CkSshTunnel_put_SshPassword(self, *args)
- def get_ConnectLog(self, *args): return _chilkat.CkSshTunnel_get_ConnectLog(self, *args)
- def connectLog(self): return _chilkat.CkSshTunnel_connectLog(self)
- def put_ConnectLog(self, *args): return _chilkat.CkSshTunnel_put_ConnectLog(self, *args)
- def get_DestHostname(self, *args): return _chilkat.CkSshTunnel_get_DestHostname(self, *args)
- def destHostname(self): return _chilkat.CkSshTunnel_destHostname(self)
- def put_DestHostname(self, *args): return _chilkat.CkSshTunnel_put_DestHostname(self, *args)
- def get_SshHostname(self, *args): return _chilkat.CkSshTunnel_get_SshHostname(self, *args)
- def sshHostname(self): return _chilkat.CkSshTunnel_sshHostname(self)
- def put_SshHostname(self, *args): return _chilkat.CkSshTunnel_put_SshHostname(self, *args)
- def get_SshPort(self): return _chilkat.CkSshTunnel_get_SshPort(self)
- def put_SshPort(self, *args): return _chilkat.CkSshTunnel_put_SshPort(self, *args)
- def get_DestPort(self): return _chilkat.CkSshTunnel_get_DestPort(self)
- def put_DestPort(self, *args): return _chilkat.CkSshTunnel_put_DestPort(self, *args)
- def get_IsAccepting(self): return _chilkat.CkSshTunnel_get_IsAccepting(self)
- def StopAllTunnels(self, *args): return _chilkat.CkSshTunnel_StopAllTunnels(self, *args)
- def GetTunnelsXml(self, *args): return _chilkat.CkSshTunnel_GetTunnelsXml(self, *args)
- def getTunnelsXml(self): return _chilkat.CkSshTunnel_getTunnelsXml(self)
- def StopAccepting(self): return _chilkat.CkSshTunnel_StopAccepting(self)
- def BeginAccepting(self, *args): return _chilkat.CkSshTunnel_BeginAccepting(self, *args)
- def SetSshAuthenticationKey(self, *args): return _chilkat.CkSshTunnel_SetSshAuthenticationKey(self, *args)
- def get_ListenBindIpAddress(self, *args): return _chilkat.CkSshTunnel_get_ListenBindIpAddress(self, *args)
- def listenBindIpAddress(self): return _chilkat.CkSshTunnel_listenBindIpAddress(self)
- def put_ListenBindIpAddress(self, *args): return _chilkat.CkSshTunnel_put_ListenBindIpAddress(self, *args)
- def get_OutboundBindIpAddress(self, *args): return _chilkat.CkSshTunnel_get_OutboundBindIpAddress(self, *args)
- def outboundBindIpAddress(self): return _chilkat.CkSshTunnel_outboundBindIpAddress(self)
- def put_OutboundBindIpAddress(self, *args): return _chilkat.CkSshTunnel_put_OutboundBindIpAddress(self, *args)
- def get_OutboundBindPort(self): return _chilkat.CkSshTunnel_get_OutboundBindPort(self)
- def put_OutboundBindPort(self, *args): return _chilkat.CkSshTunnel_put_OutboundBindPort(self, *args)
- def get_MaxPacketSize(self): return _chilkat.CkSshTunnel_get_MaxPacketSize(self)
- def put_MaxPacketSize(self, *args): return _chilkat.CkSshTunnel_put_MaxPacketSize(self, *args)
- def get_TcpNoDelay(self): return _chilkat.CkSshTunnel_get_TcpNoDelay(self)
- def put_TcpNoDelay(self, *args): return _chilkat.CkSshTunnel_put_TcpNoDelay(self, *args)
- def get_HttpProxyHostname(self, *args): return _chilkat.CkSshTunnel_get_HttpProxyHostname(self, *args)
- def httpProxyHostname(self): return _chilkat.CkSshTunnel_httpProxyHostname(self)
- def put_HttpProxyHostname(self, *args): return _chilkat.CkSshTunnel_put_HttpProxyHostname(self, *args)
- def get_HttpProxyUsername(self, *args): return _chilkat.CkSshTunnel_get_HttpProxyUsername(self, *args)
- def httpProxyUsername(self): return _chilkat.CkSshTunnel_httpProxyUsername(self)
- def put_HttpProxyUsername(self, *args): return _chilkat.CkSshTunnel_put_HttpProxyUsername(self, *args)
- def get_HttpProxyPassword(self, *args): return _chilkat.CkSshTunnel_get_HttpProxyPassword(self, *args)
- def httpProxyPassword(self): return _chilkat.CkSshTunnel_httpProxyPassword(self)
- def put_HttpProxyPassword(self, *args): return _chilkat.CkSshTunnel_put_HttpProxyPassword(self, *args)
- def get_HttpProxyAuthMethod(self, *args): return _chilkat.CkSshTunnel_get_HttpProxyAuthMethod(self, *args)
- def httpProxyAuthMethod(self): return _chilkat.CkSshTunnel_httpProxyAuthMethod(self)
- def put_HttpProxyAuthMethod(self, *args): return _chilkat.CkSshTunnel_put_HttpProxyAuthMethod(self, *args)
- def get_HttpProxyPort(self): return _chilkat.CkSshTunnel_get_HttpProxyPort(self)
- def put_HttpProxyPort(self, *args): return _chilkat.CkSshTunnel_put_HttpProxyPort(self, *args)
- def get_SocksPort(self): return _chilkat.CkSshTunnel_get_SocksPort(self)
- def put_SocksPort(self, *args): return _chilkat.CkSshTunnel_put_SocksPort(self, *args)
- def get_SocksHostname(self, *args): return _chilkat.CkSshTunnel_get_SocksHostname(self, *args)
- def socksHostname(self): return _chilkat.CkSshTunnel_socksHostname(self)
- def put_SocksHostname(self, *args): return _chilkat.CkSshTunnel_put_SocksHostname(self, *args)
- def get_SocksUsername(self, *args): return _chilkat.CkSshTunnel_get_SocksUsername(self, *args)
- def socksUsername(self): return _chilkat.CkSshTunnel_socksUsername(self)
- def put_SocksUsername(self, *args): return _chilkat.CkSshTunnel_put_SocksUsername(self, *args)
- def get_SocksPassword(self, *args): return _chilkat.CkSshTunnel_get_SocksPassword(self, *args)
- def socksPassword(self): return _chilkat.CkSshTunnel_socksPassword(self)
- def put_SocksPassword(self, *args): return _chilkat.CkSshTunnel_put_SocksPassword(self, *args)
- def get_SocksVersion(self): return _chilkat.CkSshTunnel_get_SocksVersion(self)
- def put_SocksVersion(self, *args): return _chilkat.CkSshTunnel_put_SocksVersion(self, *args)
- def get_ConnectTimeoutMs(self): return _chilkat.CkSshTunnel_get_ConnectTimeoutMs(self)
- def put_ConnectTimeoutMs(self, *args): return _chilkat.CkSshTunnel_put_ConnectTimeoutMs(self, *args)
- def get_ListenPort(self): return _chilkat.CkSshTunnel_get_ListenPort(self)
-CkSshTunnel_swigregister = _chilkat.CkSshTunnel_swigregister
-CkSshTunnel_swigregister(CkSshTunnel)
-
-class CkNtlm(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkNtlm, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkNtlm, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkNtlm()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkNtlm
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkNtlm_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkNtlm_put_Utf8(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkNtlm_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkNtlm_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkNtlm_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkNtlm_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkNtlm_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkNtlm_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkNtlm_lastErrorHtml(self)
- def UnlockComponent(self, *args): return _chilkat.CkNtlm_UnlockComponent(self, *args)
- def get_TargetName(self, *args): return _chilkat.CkNtlm_get_TargetName(self, *args)
- def targetName(self): return _chilkat.CkNtlm_targetName(self)
- def put_TargetName(self, *args): return _chilkat.CkNtlm_put_TargetName(self, *args)
- def get_NetBiosComputerName(self, *args): return _chilkat.CkNtlm_get_NetBiosComputerName(self, *args)
- def netBiosComputerName(self): return _chilkat.CkNtlm_netBiosComputerName(self)
- def put_NetBiosComputerName(self, *args): return _chilkat.CkNtlm_put_NetBiosComputerName(self, *args)
- def get_NetBiosDomainName(self, *args): return _chilkat.CkNtlm_get_NetBiosDomainName(self, *args)
- def netBiosDomainName(self): return _chilkat.CkNtlm_netBiosDomainName(self)
- def put_NetBiosDomainName(self, *args): return _chilkat.CkNtlm_put_NetBiosDomainName(self, *args)
- def get_DnsDomainName(self, *args): return _chilkat.CkNtlm_get_DnsDomainName(self, *args)
- def dnsDomainName(self): return _chilkat.CkNtlm_dnsDomainName(self)
- def put_DnsDomainName(self, *args): return _chilkat.CkNtlm_put_DnsDomainName(self, *args)
- def get_DnsComputerName(self, *args): return _chilkat.CkNtlm_get_DnsComputerName(self, *args)
- def dnsComputerName(self): return _chilkat.CkNtlm_dnsComputerName(self)
- def put_DnsComputerName(self, *args): return _chilkat.CkNtlm_put_DnsComputerName(self, *args)
- def get_UserName(self, *args): return _chilkat.CkNtlm_get_UserName(self, *args)
- def userName(self): return _chilkat.CkNtlm_userName(self)
- def put_UserName(self, *args): return _chilkat.CkNtlm_put_UserName(self, *args)
- def get_Password(self, *args): return _chilkat.CkNtlm_get_Password(self, *args)
- def password(self): return _chilkat.CkNtlm_password(self)
- def put_Password(self, *args): return _chilkat.CkNtlm_put_Password(self, *args)
- def get_NtlmVersion(self): return _chilkat.CkNtlm_get_NtlmVersion(self)
- def put_NtlmVersion(self, *args): return _chilkat.CkNtlm_put_NtlmVersion(self, *args)
- def get_OemCodePage(self): return _chilkat.CkNtlm_get_OemCodePage(self)
- def put_OemCodePage(self, *args): return _chilkat.CkNtlm_put_OemCodePage(self, *args)
- def get_Flags(self, *args): return _chilkat.CkNtlm_get_Flags(self, *args)
- def flags(self): return _chilkat.CkNtlm_flags(self)
- def put_Flags(self, *args): return _chilkat.CkNtlm_put_Flags(self, *args)
- def get_Domain(self, *args): return _chilkat.CkNtlm_get_Domain(self, *args)
- def domain(self): return _chilkat.CkNtlm_domain(self)
- def put_Domain(self, *args): return _chilkat.CkNtlm_put_Domain(self, *args)
- def get_Workstation(self, *args): return _chilkat.CkNtlm_get_Workstation(self, *args)
- def workstation(self): return _chilkat.CkNtlm_workstation(self)
- def put_Workstation(self, *args): return _chilkat.CkNtlm_put_Workstation(self, *args)
- def GenType1(self, *args): return _chilkat.CkNtlm_GenType1(self, *args)
- def genType1(self): return _chilkat.CkNtlm_genType1(self)
- def GenType2(self, *args): return _chilkat.CkNtlm_GenType2(self, *args)
- def genType2(self, *args): return _chilkat.CkNtlm_genType2(self, *args)
- def GenType3(self, *args): return _chilkat.CkNtlm_GenType3(self, *args)
- def genType3(self, *args): return _chilkat.CkNtlm_genType3(self, *args)
- def ParseType1(self, *args): return _chilkat.CkNtlm_ParseType1(self, *args)
- def parseType1(self, *args): return _chilkat.CkNtlm_parseType1(self, *args)
- def ParseType2(self, *args): return _chilkat.CkNtlm_ParseType2(self, *args)
- def parseType2(self, *args): return _chilkat.CkNtlm_parseType2(self, *args)
- def ParseType3(self, *args): return _chilkat.CkNtlm_ParseType3(self, *args)
- def parseType3(self, *args): return _chilkat.CkNtlm_parseType3(self, *args)
- def get_EncodingMode(self, *args): return _chilkat.CkNtlm_get_EncodingMode(self, *args)
- def encodingMode(self): return _chilkat.CkNtlm_encodingMode(self)
- def put_EncodingMode(self, *args): return _chilkat.CkNtlm_put_EncodingMode(self, *args)
- def SetFlag(self, *args): return _chilkat.CkNtlm_SetFlag(self, *args)
- def get_ClientChallenge(self, *args): return _chilkat.CkNtlm_get_ClientChallenge(self, *args)
- def clientChallenge(self): return _chilkat.CkNtlm_clientChallenge(self)
- def put_ClientChallenge(self, *args): return _chilkat.CkNtlm_put_ClientChallenge(self, *args)
- def get_ServerChallenge(self, *args): return _chilkat.CkNtlm_get_ServerChallenge(self, *args)
- def serverChallenge(self): return _chilkat.CkNtlm_serverChallenge(self)
- def put_ServerChallenge(self, *args): return _chilkat.CkNtlm_put_ServerChallenge(self, *args)
- def LoadType3(self, *args): return _chilkat.CkNtlm_LoadType3(self, *args)
-CkNtlm_swigregister = _chilkat.CkNtlm_swigregister
-CkNtlm_swigregister(CkNtlm)
-
-class CkDkim(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkDkim, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkDkim, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkDkim()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkDkim
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkDkim_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkDkim_put_Utf8(self, *args)
- def UnlockComponent(self, *args): return _chilkat.CkDkim_UnlockComponent(self, *args)
- def get_DkimCanon(self, *args): return _chilkat.CkDkim_get_DkimCanon(self, *args)
- def dkimCanon(self): return _chilkat.CkDkim_dkimCanon(self)
- def put_DkimCanon(self, *args): return _chilkat.CkDkim_put_DkimCanon(self, *args)
- def get_DomainKeyCanon(self, *args): return _chilkat.CkDkim_get_DomainKeyCanon(self, *args)
- def domainKeyCanon(self): return _chilkat.CkDkim_domainKeyCanon(self)
- def put_DomainKeyCanon(self, *args): return _chilkat.CkDkim_put_DomainKeyCanon(self, *args)
- def get_DkimAlg(self, *args): return _chilkat.CkDkim_get_DkimAlg(self, *args)
- def dkimAlg(self): return _chilkat.CkDkim_dkimAlg(self)
- def put_DkimAlg(self, *args): return _chilkat.CkDkim_put_DkimAlg(self, *args)
- def get_DomainKeyAlg(self, *args): return _chilkat.CkDkim_get_DomainKeyAlg(self, *args)
- def domainKeyAlg(self): return _chilkat.CkDkim_domainKeyAlg(self)
- def put_DomainKeyAlg(self, *args): return _chilkat.CkDkim_put_DomainKeyAlg(self, *args)
- def get_DkimHeaders(self, *args): return _chilkat.CkDkim_get_DkimHeaders(self, *args)
- def dkimHeaders(self): return _chilkat.CkDkim_dkimHeaders(self)
- def put_DkimHeaders(self, *args): return _chilkat.CkDkim_put_DkimHeaders(self, *args)
- def get_DomainKeyHeaders(self, *args): return _chilkat.CkDkim_get_DomainKeyHeaders(self, *args)
- def domainKeyHeaders(self): return _chilkat.CkDkim_domainKeyHeaders(self)
- def put_DomainKeyHeaders(self, *args): return _chilkat.CkDkim_put_DomainKeyHeaders(self, *args)
- def get_DkimDomain(self, *args): return _chilkat.CkDkim_get_DkimDomain(self, *args)
- def dkimDomain(self): return _chilkat.CkDkim_dkimDomain(self)
- def put_DkimDomain(self, *args): return _chilkat.CkDkim_put_DkimDomain(self, *args)
- def get_DomainKeyDomain(self, *args): return _chilkat.CkDkim_get_DomainKeyDomain(self, *args)
- def domainKeyDomain(self): return _chilkat.CkDkim_domainKeyDomain(self)
- def put_DomainKeyDomain(self, *args): return _chilkat.CkDkim_put_DomainKeyDomain(self, *args)
- def get_DkimSelector(self, *args): return _chilkat.CkDkim_get_DkimSelector(self, *args)
- def dkimSelector(self): return _chilkat.CkDkim_dkimSelector(self)
- def put_DkimSelector(self, *args): return _chilkat.CkDkim_put_DkimSelector(self, *args)
- def get_DomainKeySelector(self, *args): return _chilkat.CkDkim_get_DomainKeySelector(self, *args)
- def domainKeySelector(self): return _chilkat.CkDkim_domainKeySelector(self)
- def put_DomainKeySelector(self, *args): return _chilkat.CkDkim_put_DomainKeySelector(self, *args)
- def get_DkimBodyLengthCount(self): return _chilkat.CkDkim_get_DkimBodyLengthCount(self)
- def put_DkimBodyLengthCount(self, *args): return _chilkat.CkDkim_put_DkimBodyLengthCount(self, *args)
- def LoadDkimPk(self, *args): return _chilkat.CkDkim_LoadDkimPk(self, *args)
- def LoadDomainKeyPk(self, *args): return _chilkat.CkDkim_LoadDomainKeyPk(self, *args)
- def LoadDkimPkFile(self, *args): return _chilkat.CkDkim_LoadDkimPkFile(self, *args)
- def LoadDomainKeyPkFile(self, *args): return _chilkat.CkDkim_LoadDomainKeyPkFile(self, *args)
- def LoadPublicKey(self, *args): return _chilkat.CkDkim_LoadPublicKey(self, *args)
- def LoadPublicKeyFile(self, *args): return _chilkat.CkDkim_LoadPublicKeyFile(self, *args)
- def PrefetchPublicKey(self, *args): return _chilkat.CkDkim_PrefetchPublicKey(self, *args)
- def VerifyDkimSignature(self, *args): return _chilkat.CkDkim_VerifyDkimSignature(self, *args)
- def VerifyDomainKeySignature(self, *args): return _chilkat.CkDkim_VerifyDomainKeySignature(self, *args)
- def NumDkimSignatures(self, *args): return _chilkat.CkDkim_NumDkimSignatures(self, *args)
- def NumDomainKeySignatures(self, *args): return _chilkat.CkDkim_NumDomainKeySignatures(self, *args)
- def AddDkimSignature(self, *args): return _chilkat.CkDkim_AddDkimSignature(self, *args)
- def AddDomainKeySignature(self, *args): return _chilkat.CkDkim_AddDomainKeySignature(self, *args)
- def LoadDkimPkBytes(self, *args): return _chilkat.CkDkim_LoadDkimPkBytes(self, *args)
- def LoadDomainKeyPkBytes(self, *args): return _chilkat.CkDkim_LoadDomainKeyPkBytes(self, *args)
- def SaveLastError(self, *args): return _chilkat.CkDkim_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkDkim_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkDkim_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkDkim_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkDkim_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkDkim_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkDkim_lastErrorHtml(self)
-CkDkim_swigregister = _chilkat.CkDkim_swigregister
-CkDkim_swigregister(CkDkim)
-
-class CkDirTree(_object):
- __swig_setmethods__ = {}
- __setattr__ = lambda self, name, value: _swig_setattr(self, CkDirTree, name, value)
- __swig_getmethods__ = {}
- __getattr__ = lambda self, name: _swig_getattr(self, CkDirTree, name)
- __repr__ = _swig_repr
- def __init__(self):
- this = _chilkat.new_CkDirTree()
- try: self.this.append(this)
- except: self.this = this
- __swig_destroy__ = _chilkat.delete_CkDirTree
- __del__ = lambda self : None;
- def get_Utf8(self): return _chilkat.CkDirTree_get_Utf8(self)
- def put_Utf8(self, *args): return _chilkat.CkDirTree_put_Utf8(self, *args)
- def get_BaseDir(self, *args): return _chilkat.CkDirTree_get_BaseDir(self, *args)
- def baseDir(self): return _chilkat.CkDirTree_baseDir(self)
- def put_BaseDir(self, *args): return _chilkat.CkDirTree_put_BaseDir(self, *args)
- def get_Recurse(self): return _chilkat.CkDirTree_get_Recurse(self)
- def put_Recurse(self, *args): return _chilkat.CkDirTree_put_Recurse(self, *args)
- def get_DoneIterating(self): return _chilkat.CkDirTree_get_DoneIterating(self)
- def BeginIterate(self): return _chilkat.CkDirTree_BeginIterate(self)
- def AdvancePosition(self): return _chilkat.CkDirTree_AdvancePosition(self)
- def get_IsDirectory(self): return _chilkat.CkDirTree_get_IsDirectory(self)
- def get_RelativePath(self, *args): return _chilkat.CkDirTree_get_RelativePath(self, *args)
- def relativePath(self): return _chilkat.CkDirTree_relativePath(self)
- def get_FullPath(self, *args): return _chilkat.CkDirTree_get_FullPath(self, *args)
- def fullPath(self): return _chilkat.CkDirTree_fullPath(self)
- def get_FullUncPath(self, *args): return _chilkat.CkDirTree_get_FullUncPath(self, *args)
- def fullUncPath(self): return _chilkat.CkDirTree_fullUncPath(self)
- def get_FileSize32(self): return _chilkat.CkDirTree_get_FileSize32(self)
- def SaveLastError(self, *args): return _chilkat.CkDirTree_SaveLastError(self, *args)
- def LastErrorXml(self, *args): return _chilkat.CkDirTree_LastErrorXml(self, *args)
- def LastErrorHtml(self, *args): return _chilkat.CkDirTree_LastErrorHtml(self, *args)
- def LastErrorText(self, *args): return _chilkat.CkDirTree_LastErrorText(self, *args)
- def lastErrorText(self): return _chilkat.CkDirTree_lastErrorText(self)
- def lastErrorXml(self): return _chilkat.CkDirTree_lastErrorXml(self)
- def lastErrorHtml(self): return _chilkat.CkDirTree_lastErrorHtml(self)
-CkDirTree_swigregister = _chilkat.CkDirTree_swigregister
-CkDirTree_swigregister(CkDirTree)
-
-
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/__init__.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/__init__.py
deleted file mode 100644
index a19f2d59cff..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/__init__.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# This package defines dialog boxes used by the main
-
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-import os, sys, stat
-#import dialog_map
-
-def LoadDialogs(rc_name = "dialogs.rc"):
- base_name = os.path.splitext(rc_name)[0]
- mod_name = "dialogs.resources." + base_name
- mod = None
- # If we are running from source code, check the .py file is up to date
- # wrt the .rc file passed in.
- # If we are running from binaries, the rc name is not used at all - we
- # assume someone running from source previously generated the .py!
- if not hasattr(sys, "frozen"):
- from resources import rc2py
- rc_path = os.path.dirname( rc2py.__file__ )
- if not os.path.isabs(rc_name):
- rc_name = os.path.join( rc_path, rc_name)
- py_name = os.path.join(rc_path, base_name + ".py")
- mtime = size = None
- if os.path.exists(py_name):
- try:
- mod = __import__(mod_name)
- mod = sys.modules[mod_name]
- mtime = mod._rc_mtime_
- size = mod._rc_size_
- except (ImportError, AttributeError):
- mtime = None
- try:
- stat_data = os.stat(rc_name)
- rc_mtime = stat_data[stat.ST_MTIME]
- rc_size = stat_data[stat.ST_SIZE]
- except OSError:
- rc_mtime = rc_size = None
- if rc_mtime!=mtime or rc_size!=size:
- # Need to generate the dialog.
- print "Generating %s from %s" % (py_name, rc_name)
- rc2py.convert(rc_name, py_name)
- if mod is not None:
- reload(mod)
- if mod is None:
- mod = __import__(mod_name)
- mod = sys.modules[mod_name]
- return mod.FakeParser()
-
-def ShowDialog(parent, manager, config, idd):
- """Displays another dialog"""
- if manager.dialog_parser is None:
- manager.dialog_parser = LoadDialogs()
- import dialog_map
- print dir(dialog_map)
- commands = dialog_map.dialog_map[idd]
- if not parent:
- import win32gui
- try:
- parent = win32gui.GetActiveWindow()
- except win32gui.error:
- pass
-
- import dlgcore
- dlg = dlgcore.ProcessorDialog(parent, manager, config, idd, commands)
- return dlg.DoModal()
-
-def MakePropertyPage(parent, manager, config, idd, yoffset=24):
- """Creates a child dialog box to use as property page in a tab control"""
- if manager.dialog_parser is None:
- manager.dialog_parser = LoadDialogs()
- import dialog_map
- commands = dialog_map.dialog_map[idd]
- if not parent:
- raise "Parent must be the tab control"
-
- import dlgcore
- dlg = dlgcore.ProcessorPage(parent, manager, config, idd, commands, yoffset)
- return dlg
-
-import dlgutils
-SetWaitCursor = dlgutils.SetWaitCursor
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py
deleted file mode 100644
index 8576a3526ff..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dialog_map.py
+++ /dev/null
@@ -1,1810 +0,0 @@
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-
-# -*- 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 processors import *
-from opt_processors import *
-import os
-import addin
-from dialogs import ShowDialog, MakePropertyPage
-
-import win32ui
-import webbrowser
-import commctrl
-import win32con
-import win32gui
-
-import win32gui_struct
-import xmlrpclib
-
-from manager import ustr
-
-try:
- enumerate
-except NameError: # enumerate new in 2.3
- def enumerate(seq):
- return [(i, seq[i]) for i in xrange(len(seq))]
-
-BIF_NEWDIALOGSTYLE = 0x00000040
-BIF_NONEWFOLDERBUTTON = 0x0000200
-CSIDL_COMMONMYPICTURES = 0x00000036
-
-class _WIN32MASKEDSTRUCT:
- def __init__(self, **kw):
- full_fmt = ""
- for name, fmt, default, mask in self._struct_items_:
- self.__dict__[name] = None
- if fmt == "z":
- full_fmt += "pi"
- else:
- full_fmt += fmt
- for name, val in kw.iteritems():
- if name not in self.__dict__:
- raise ValueError("LVITEM structures do not have an item '%s'" % (name,))
- self.__dict__[name] = val
-
- def __setattr__(self, attr, val):
- if not attr.startswith("_") and attr not in self.__dict__:
- raise AttributeError(attr)
- self.__dict__[attr] = val
-
- def toparam(self):
- self._buffs = []
- full_fmt = ""
- vals = []
- mask = 0
- # calc the mask
- for name, fmt, default, this_mask in self._struct_items_:
- if this_mask is not None and self.__dict__.get(name) is not None:
- mask |= this_mask
- self.mask = mask
- for name, fmt, default, this_mask in self._struct_items_:
- val = self.__dict__[name]
- if fmt == "z":
- fmt = "Pi"
- if val is None:
- vals.append(0)
- vals.append(0)
- else:
- # Note this demo still works with byte strings. An
- # alternate strategy would be to use unicode natively
- # and use the 'W' version of the messages - eg,
- # LVM_SETITEMW etc.
- val = val + "\0"
- if isinstance(val, unicode):
- val = val.encode("mbcs")
- str_buf = array.array("b", val)
- vals.append(str_buf.buffer_info()[0])
- vals.append(len(val))
- self._buffs.append(str_buf) # keep alive during the call.
- else:
- if val is None:
- val = default
- vals.append(val)
- full_fmt += fmt
- return struct.pack(*(full_fmt,) + tuple(vals))
-
-
-# NOTE: See the win32gui_struct module for an alternative way of dealing
-# with these structures
-class LVITEM(_WIN32MASKEDSTRUCT):
- _struct_items_ = [
- ("mask", "I", 0, None),
- ("iItem", "i", 0, None),
- ("iSubItem", "i", 0, None),
- ("state", "I", 0, commctrl.LVIF_STATE),
- ("stateMask", "I", 0, None),
- ("text", "z", None, commctrl.LVIF_TEXT),
- ("iImage", "i", 0, commctrl.LVIF_IMAGE),
- ("lParam", "i", 0, commctrl.LVIF_PARAM),
- ("iIdent", "i", 0, None),
- ("cchTextMax", "i", 0, 255),
- ("pszText", "i", 0, None),
- ("flags", "i", 0, None),
- ]
-
-class LVCOLUMN(_WIN32MASKEDSTRUCT):
- _struct_items_ = [
- ("mask", "I", 0, None),
- ("fmt", "i", 0, commctrl.LVCF_FMT),
- ("cx", "i", 0, commctrl.LVCF_WIDTH),
- ("text", "z", None, commctrl.LVCF_TEXT),
- ("iSubItem", "i", 0, commctrl.LVCF_SUBITEM),
- ("iImage", "i", 0, commctrl.LVCF_IMAGE),
- ("iOrder", "i", 0, commctrl.LVCF_ORDER),
- ]
-
-global flag_stop
-flag_stop=win32con.MB_ICONSTOP
-
-global flag_error
-flag_error=win32con.MB_ICONERROR
-
-global flag_info
-flag_info=win32con.MB_ICONINFORMATION
-
-global flag_excl
-flag_excl=win32con.MB_ICONEXCLAMATION
-
-#global NewConn
-NewConn=addin.GetConn()
-## Retrieves current registered XMLRPC connection
-def GetConn():
- return NewConn
-
-global objects_with_match
-objects_with_match=[]
-
-global hwndChk_list
-hwndChk_list=[]
-
-global search_text
-search_text='search_text'
-global partner_ref
-partner_ref = ''
-global name
-name=''
-global email
-email=''
-global country_ref
-country_ref = ""
-global state_ref
-state_ref = ""
-global new_con_country
-new_con_country= ""
-global new_con_state
-new_con_state= ""
-global search_country
-search_country = None
-
-def check():
- server = NewConn.getitem('_server')
- port = NewConn.getitem('_port')
- NewConn.GetDBList()
- if str(NewConn.getitem('_running')) == 'False':
- win32ui.MessageBox("No server running on host "+ server+" at port "+str(port), "OpenERP Connection", flag_excl)
- return False
- if str(NewConn.getitem('_login')) == 'False':
- return False
- return True
-
-def resetConnAttribs(window):
- config = window.manager.LoadConfig()
- NewConn.setitem('_server', config['server'])
- NewConn.setitem('_port', config['port'])
- NewConn.setitem('protocol', config['protocol'])
- NewConn.setitem('_uri', "http://" + config['server'] + ":" + str(config['port']))
- NewConn.setitem('_obj_list', config['objects'])
- NewConn.setitem('_dbname', config['database'])
- NewConn.setitem('_uname', config['uname'])
- NewConn.setitem('_pwd', config['pwd'])
- NewConn.setitem('_login', str(config['login']))
- NewConn.setitem('_webserver',manager.config['webserver'])
- NewConn.setitem('_webport',manager.config['webport'])
- NewConn.setitem('_webportocol',manager.config['webportocol'])
- return
-
-def setConnAttribs(server, port, manager):
- protocol = NewConn.getitem('protocol')
- if protocol=='XML-RPCS':
- protocol='https://'
- else:
- protocol='http://'
- uri = protocol + server + ":" + str(port)
- NewConn.setitem('_server',server)
- NewConn.setitem('_port',port)
- NewConn.setitem('_uri',uri)
- NewConn.GetDBList()
- manager.config = manager.LoadConfig()
- NewConn.setitem('_dbname',manager.config['database'])
- NewConn.setitem('_uname', manager.config['uname'])
- NewConn.setitem('_pwd', manager.config['pwd'])
- NewConn.setitem('_login', str(manager.config['login']))
- NewConn.setitem('_obj_list', manager.config['objects'])
- NewConn.setitem('_webserver',manager.config['webserver'])
- NewConn.setitem('_webport',manager.config['webport'])
- NewConn.setitem('_webprotocol',manager.config['webprotocol'])
- return
-
-def getConnAttributes(manager):
- manager.config['server'] = NewConn.getitem('_server')
- manager.config['port'] = NewConn.getitem('_port')
- manager.config['protocol'] = NewConn.getitem('protocol')
- manager.config['objects'] = eval(NewConn.getitem('_obj_list'))
- manager.config['database'] = NewConn.getitem('_dbname')
- manager.config['uname'] = NewConn.getitem('_uname')
- manager.config['pwd'] = NewConn.getitem('_pwd')
- manager.config['login'] = NewConn.getitem('_login')
- manager.config['webserver'] = NewConn.getitem('_webserver')
- manager.config['webport'] = NewConn.getitem('_webport')
- manager.config['webprotocol'] = NewConn.getitem('_webprotocol')
- return
-
-def setWebConnAttribs(server, port, manager):
- manager.config = manager.LoadConfig()
- NewConn.setitem('_webserver',server)
- NewConn.setitem('_webport',port)
- return
-
-def getMessage(e):
- import pywintypes
- print "Exception %s: %s"%(type(e),str(e))
- msg = str(e)
- if type(e) == pywintypes.com_error:
- msg=str(e)
- elif type(e) == xmlrpclib.Fault:
- msg = str(e.faultCode) or e.faultString or e.message or str(e)
- else:
- if hasattr(e, 'faultCode') and e.faultCode:
- msg = str(e.faultCode)
- elif hasattr(e, 'faultString') and e.faultString:
- msg = e.faultString
- elif hasattr(e, 'message') and e.message:
- msg = e.message
- return msg
-
-class OKButtonProcessor(ButtonProcessor):
- def __init__(self, window, control_ids):
- self.mngr = window.manager
- ControlProcessor.__init__(self, window, control_ids)
-
- def OnClicked(self, id):
- server = win32gui.GetDlgItemText(self.window.hwnd, self.other_ids[0])
- protocol = win32gui.GetDlgItemText(self.window.hwnd, self.other_ids[3])
- if not protocol:
- win32ui.MessageBox("Invalid Protocol !\nPlease select Protocol from Connection Protocol List.", "OpenERP Connection", flag_excl)
- return
- NewConn.setitem('protocol', protocol)
- try:
- port = int(win32gui.GetDlgItemText(self.window.hwnd, self.other_ids[1]))
- except ValueError, e:
- win32ui.MessageBox("Port should be an integer", "OpenERP Connection", flag_excl)
- return
- except Exception,e:
- msg = getMessage(e)
- win32ui.MessageBox(msg, "OpenERP Connection", flag_excl)
- return
- setConnAttribs(server, port, self.mngr)
- if str(NewConn.getitem('_running')) == 'False':
- msg = "No server running on host '%s' at port '%d'. Press ignore to still continue with this configuration?"%(server,port)
- r=win32ui.MessageBox(msg, "OpenERP Connection", win32con.MB_ABORTRETRYIGNORE | win32con.MB_ICONQUESTION)
- if r==3:
- resetConnAttribs(self.window)
- return
- elif r==4:
- self.OnClicked(id)
- elif r==5:
- setConnAttribs(server, port, self.mngr)
- win32gui.EndDialog(self.window.hwnd, id)
-
-class DoneButtonProcessor(ButtonProcessor):
- def OnClicked(self, id):
- getConnAttributes(self.window.manager)
- self.window.manager.SaveConfig()
- win32gui.EndDialog(self.window.hwnd, id)
-
-class WEBOKButtonProcessor(ButtonProcessor):
- def __init__(self, window, control_ids):
- self.mngr = window.manager
- ControlProcessor.__init__(self, window, control_ids)
-
- def OnClicked(self, id):
-# global web_server
-# global web_server_port
- server = win32gui.GetDlgItemText(self.window.hwnd, self.other_ids[0])
- web_protocol = 'http:\\\\'
-
- hwnd = win32gui.GetDlgItem(self.window.hwnd, self.other_ids[2])
- chk = win32gui.SendMessage(hwnd, win32con.BM_GETCHECK)
- if chk:
- web_protocol = 'https:\\\\'
- NewConn.setitem('_webprotocol', web_protocol)
- try:
- port = int(win32gui.GetDlgItemText(self.window.hwnd, self.other_ids[1]))
- except ValueError:
- win32ui.MessageBox("Port should be an integer", "OpenERP Connection", flag_excl)
- return
- if server.strip() == "" or server.strip() == "http:\\\\":
- win32ui.MessageBox("Invalid web Server address.", "OpenERP Connection", flag_excl)
- return
- setWebConnAttribs(server, port, self.mngr)
- win32gui.EndDialog(self.window.hwnd, id)
-
-class WEBCHKProcessor(ButtonProcessor):
- def __init__(self, window, control_ids):
- self.mngr = window.manager
- ControlProcessor.__init__(self, window, control_ids)
-
- def OnClicked(self, id):
- web_protocol = 'http:\\\\'
- hwnd = self.GetControl()
- chk = win32gui.SendMessage(hwnd, win32con.BM_GETCHECK)
- if chk:
- web_protocol = 'https:\\\\'
- NewConn.setitem('_webprotocol', web_protocol)
-
-class MessageProcessor(ControlProcessor):
- def Init(self):
- text = " This Outlook Plugin for OpenERP has been developed by OpenERP s.a.\n\n \
- For more information, please visit our website \n\n \
- http://www.openerp.com \n\n\n \
- Copyright @ 2005-Today. All rights reserved.\n\n\
-OpenERP is a trademark of OpenERP s.a. The software is released under AGPL."
- win32gui.SendMessage(self.GetControl(), win32con.WM_SETTEXT, 0, text)
-
- def GetPopupHelpText(self, cid):
- return "Displays details on this plugin"
-
-class TabProcessor(ControlProcessor):
- def __init__(self, window, control_ids, page_ids):
- ControlProcessor.__init__(self, window, control_ids)
- self.page_ids = page_ids.split()
-
- def Init(self):
- self.pages = {}
- self.currentPage = None
- self.currentPageIndex = -1
- self.currentPageHwnd = None
- for index, page_id in enumerate(self.page_ids):
- template = self.window.manager.dialog_parser.dialogs[page_id]
- self.addPage(index, page_id, template[0][0])
- server = self.window.manager.config['server']
- port = self.window.manager.config['port']
- setConnAttribs(server, port, self.window.manager)
- self.switchToPage(0)
-
- def Done(self):
- if self.currentPageHwnd is not None:
- if not self.currentPage.SaveAllControls():
- win32gui.SendMessage(self.GetControl(), commctrl.TCM_SETCURSEL, self.currentPageIndex,0)
- return False
- return True
-
- def OnNotify(self, nmhdr, wparam, lparam):
- selChangedCode = 5177342
- code = nmhdr[2]
- if code==selChangedCode:
- index = win32gui.SendMessage(self.GetControl(), commctrl.TCM_GETCURSEL, 0,0)
- if index!=self.currentPageIndex:
- self.switchToPage(index)
-
- def switchToPage(self, index):
- if self.currentPageHwnd is not None:
- if not self.currentPage.SaveAllControls():
- win32gui.SendMessage(self.GetControl(), commctrl.TCM_SETCURSEL, self.currentPageIndex,0)
- return 1
- win32gui.DestroyWindow(self.currentPageHwnd)
- self.currentPage = MakePropertyPage(self.GetControl(), self.window.manager, self.window.config, self.pages[index])
- self.currentPageHwnd = self.currentPage.CreateWindow()
- self.currentPageIndex = index
- return 0
-#
- def addPage(self, item, idName, label):
- format = "iiiiiii"
- lbuf = win32gui.PyMakeBuffer(len(label)+1)
- address,l = win32gui.PyGetBufferAddressAndLen(lbuf)
- win32gui.PySetString(address, label)
-
- buf = struct.pack(format,
- commctrl.TCIF_TEXT, # mask
- 0, # state
- 0, # state mask
- address,
- 0, #unused
- 0, #image
- item
- )
- item = win32gui.SendMessage(self.GetControl(),
- commctrl.TCM_INSERTITEM,
- item,
- buf)
- self.pages[item] = idName
-
-class DialogCommand(ButtonProcessor):
- def __init__(self, window, control_ids, idd, func=None, args=()):
- self.idd = idd
- self.func = func
- self.args = args
- ButtonProcessor.__init__(self, window, control_ids)
-
- def OnClicked(self, id):
- self.id = id
- if self.func:
- args = (self, ) + self.args
- self.func(*args)
- parent = self.window.hwnd
- self.window.SaveAllControls()
- ShowDialog(parent, self.window.manager, self.window.config, self.idd)
- self.window.LoadAllControls()
-
- def GetPopupHelpText(self, id):
- dd = self.window.manager.dialog_parser.dialogs[self.idd]
- return "Displays the %s dialog" % dd.caption
-
-def TestConnection(btnProcessor,*args):
- dbname = None
- server = NewConn.getitem('_server')
- port = NewConn.getitem('_port')
- NewConn.GetDBList()
- if str(NewConn.getitem('_running')) == 'False':
- btnProcessor.window.LoadAllControls()
- win32ui.MessageBox("No server running on host "+ server+" at port "+str(port), "OpenERP Connection", flag_excl)
- return
-
- dbname = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- if not dbname:
- try:
- dbname = win32gui.GetDlgItemText(btnProcessor.window.hwnd, 7000)
- if not dbname:
- win32ui.MessageBox("Authentication Error !\nBad Database Name !", "OpenERP Connection", flag_excl)
- return
- except Exception,e:
- pass
- if not dbname:
- win32ui.MessageBox("No database found on host "+ server+" at port "+str(port), "OpenERP Connection", flag_excl)
- return
- uname = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- pwd = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[2])
-
- if not uname:
- win32ui.MessageBox("Authentication Error !\nBad User Name !", "OpenERP Connection", flag_excl)
- return
- if not pwd:
- win32ui.MessageBox("Authentication Error !\nBad Password !", "OpenERP Connection", flag_excl)
- return
-
- #Establish Connection
- try:
- uid = NewConn.login(dbname, uname, pwd)
- if uid:
- msg = "Connection Successful"
- NewConn.setitem('_login', 'True')
- NewConn.setitem('_uname', uname)
- NewConn.setitem('_pwd', pwd)
- NewConn.setitem('_uid', uid)
- flag = flag_info
- if not NewConn.IsCRMInstalled():
- msg+= '\n\n'+" 'CRM' module is not installed. So CRM cases cannot be created."
- NewConn.setitem('_iscrm', False)
- else:
- NewConn.setitem('_iscrm', True)
- else:
- msg = "Authentication Error !\nBad UserName or Password"
- flag = flag_stop
- NewConn.setitem('_login', 'False')
- except Exception,e:
- msg = "Authentication Error !\n Invalid Configuration Please check server parameters and database name."
- flag = flag_error
- win32ui.MessageBox(msg, "OpenERP Connection", flag)
- return
-
-def BrowseCallbackProc(hwnd, msg, lp, data):
- from win32com.shell import shell, shellcon
- if msg== shellcon.BFFM_INITIALIZED:
- win32gui.SendMessage(hwnd, shellcon.BFFM_SETSELECTION, 1, data)
- win32gui.SendMessage(hwnd, shellcon.BFFM_ENABLEOK, 0, 0)
- elif msg == shellcon.BFFM_SELCHANGED:
- # Set the status text of the
- # For this message, 'lp' is the address of the PIDL.
- pidl = shell.AddressAsPIDL(lp)
- try:
- path = shell.SHGetPathFromIDList(pidl)
- if os.path.isdir(path):
- win32gui.SendMessage(hwnd, shellcon.BFFM_ENABLEOK, 0, 0)
- else:
- ext = path.split('.')[-1]
- if ext not in ['gif', 'bmp', 'jpg', 'tif', 'ico', 'png']:
- win32gui.SendMessage(hwnd, shellcon.BFFM_ENABLEOK, 0, 0)
- else:
- win32gui.SendMessage(hwnd, shellcon.BFFM_ENABLEOK, 0, 1)
- except shell.error:
- # No path for this PIDL
- pass
-
-def GetImagePath(btnProcessor,*args):
- from win32com.shell import shell, shellcon
- ulFlags = shellcon.BIF_BROWSEINCLUDEFILES | BIF_NEWDIALOGSTYLE | BIF_NONEWFOLDERBUTTON
- pidl, display_name, image_list=shell.SHBrowseForFolder(btnProcessor.window.hwnd, # parent HWND
- None, # root PIDL.
- "Get the image path", # title
- ulFlags, # flags
- BrowseCallbackProc, # callback function
- os.getcwd() # 'data' param for the callback
- )
- if (pidl, display_name, image_list) == (None, None, None):
- return
- else:
- path = shell.SHGetPathFromIDList (pidl)
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0], path)
-
-def AddNewObject(btnProcessor,*args):
- #Check if server running or user logged in
- b = check()
- if not b:
- return
-
- #Check if title or object not specified
- obj_title = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- obj_name = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- if not obj_title:
- win32ui.MessageBox("No Title specified", "Documents Setting", flag_excl)
- return
- if not obj_name:
- win32ui.MessageBox("No Document specified", "Documents Setting", flag_excl)
- return
-
- #Check if object does not exist in the database or it already exist in the list
- try:
- all_obj_list = NewConn.GetAllObjects()
- curr_obj_list = [obj[1] for obj in NewConn.GetObjList()]
- curr_title_list = [obj[0] for obj in NewConn.GetObjList()]
- if obj_name not in all_obj_list:
- win32ui.MessageBox("No such Document exists", "Documents Setting", flag_excl)
- return
- elif obj_name in curr_obj_list:
- win32ui.MessageBox("Document already in the list", "Documents Setting", flag_info)
- return
- elif obj_title in curr_title_list:
- win32ui.MessageBox("Title already in the list. Please give different title", "Documents Setting", flag_excl)
- return
-
- #extract image path and load the image
- image_path=''
- image_path = os.path.join(btnProcessor.window.manager.application_directory, "dialogs\\resources\\openerp_logo1.bmp")
- path=win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[2])
- if path:
- image_path = path
- load_bmp_flags=win32con.LR_LOADFROMFILE | win32con.LR_LOADTRANSPARENT
- try:
- hicon = win32gui.LoadImage(0, image_path,win32con.IMAGE_BITMAP, 40, 40, load_bmp_flags)
- except Exception,e:
- msg=getMessage(e)
- hicon=None
- win32ui.MessageBox(msg, "Load Image", flag_error)
-
- #Add the object in the list
- win32gui.ImageList_Add(il,hicon,0)
- cnt = win32gui.ImageList_GetImageCount(il)
-
- hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[3])
- num_items = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMCOUNT)
-
- item = LVITEM(text=obj_title, iImage=cnt-2, iItem = num_items)
- new_index = win32gui.SendMessage(hwndList, commctrl.LVM_INSERTITEM, 0, item.toparam())
- win32gui.SendMessage(hwndList, commctrl.LVM_SETIMAGELIST, commctrl.LVSIL_SMALL, il)
- item = LVITEM(text=obj_name, iItem = new_index, iSubItem = 1)
- win32gui.SendMessage(hwndList, commctrl.LVM_SETITEM, 0, item.toparam())
-
- NewConn.InsertObj(obj_title,obj_name,image_path)
- except Exception, e:
- msg = "Object not added\n\n" + getMessage(e)
- win32ui.MessageBox(msg,"",flag_excl)
- return
-
- #Empty all the text controls
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0], '')
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[1], '')
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[2], '')
-
-def DeleteSelectedObjects(btnProcessor,*args):
- #Check if server running or user logged in
- b = check()
- if not b:
- return
-
- #Delete selected items
- hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- sel_count = win32gui.SendMessage(hwndList, commctrl.LVM_GETSELECTEDCOUNT)
- for i in range(0,sel_count):
- sel = win32gui.SendMessage(hwndList, commctrl.LVM_GETNEXTITEM, -1, commctrl.LVNI_SELECTED)
- buf,extra = win32gui_struct.EmptyLVITEM(1, 0)
- r = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMTEXT, sel, buf)
- sel_text = ''
- for n in extra:
- nombre = n.tostring()
- sel_text = nombre[0:r]
- try:
- NewConn.DeleteObject(sel_text)
- except Exception,e:
- msg = "Documents '%s' not deleted\n\n"%sel_text + getMessage(e)
- win32ui.MessageBox(msg,"Documents Setting",flag_excl)
-
-def GetMail(processor):
- ex = processor.window.manager.outlook.ActiveExplorer()
- assert ex.Selection.Count == 1
- mail = ex.Selection.Item(1)
- return mail
-#get selected records from list
-def GetSelectedItems(hwndList):
- r=[]
- sel_count = win32gui.SendMessage(hwndList, commctrl.LVM_GETSELECTEDCOUNT)
- sel=-1
- for i in range(0,sel_count):
- sel = win32gui.SendMessage(hwndList, commctrl.LVM_GETNEXTITEM, sel, commctrl.LVNI_SELECTED)
- buf,extra = win32gui_struct.EmptyLVITEM(1, 0)
- size = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMTEXT, sel, buf)
- sel_text = ''
- for n in extra:
- nombre = n.tostring()
- sel_text = nombre[0:size]
- for item in objects_with_match:
- if item[2] == sel_text:
- r.append(item)
- return r
-
-def MakeAttachment(btnProcessor,*args):
- #Check if server running or user logged in
- b = check()
- if not b:
- return
- ex = btnProcessor.window.manager.outlook.ActiveExplorer()
- assert ex.Selection.Count == 1
- mail = ex.Selection.Item(1)
- mail = GetMail(btnProcessor)
- #get selected records
- hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- r = GetSelectedItems(hwndList)
- if not r:
- win32ui.MessageBox("No records selected", "Push to OpenERP", flag_info)
- return
- try:
- flg = NewConn.ArchiveToOpenERP(r,mail)
- if flg:
- win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- return
- except Exception,e:
- msg = "Attachment not created \n\n" + getMessage(e)
- flag = flag_error
- win32ui.MessageBox(msg, "Push to OpenERP", flag)
- return
-
-def CreateCase(btnProcessor,*args):
- try:
- #Check if server running or user logged in
- b = check()
- if not b:
- return
-
- if str(NewConn.getitem('_iscrm')) == 'True':
- # Get the selected mail
- ex = btnProcessor.window.manager.outlook.ActiveExplorer()
- assert ex.Selection.Count == 1
- mail = ex.Selection.Item(1)
- section = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- section = str(section)
- section=section.lower().replace(' ','.')
- if not section:
- win32ui.MessageBox("Documents can not be created.", "Documents Setting", flag_excl)
- return
- hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- partner_ids=[]
- r = GetSelectedItems(hwndList)
- for rec in r:
- if rec[0] == 'res.partner':
- partner_ids.append(rec[1])
- f = False
- #Create new case
- try:
- f = NewConn.CreateCase(str(section), mail, partner_ids)
- msg="New Document created."
- flag=flag_info
- except Exception,e:
- msg="New Document not created \n\n"+str(e)
- flag=flag_error
- if f:
- win32ui.MessageBox(msg, "Create Document", flag)
- win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.other_ids[2])
- return
- else:
- win32ui.MessageBox("Error While creating document.\n Document can not be created.", "Create Document", flag_error)
- return
- else:
- win32ui.MessageBox("Document can not be created. CRM not installed", "Create Object", flag_info)
- except Exception, e:
- win32ui.MessageBox(str(e), 'New Document')
-
-def GetSearchText(txtProcessor,*args):
- #Check if server running or user logged in
- b = check()
- if not b:
- return
- try:
- global objects_with_match
- list_hwnd = win32gui.GetDlgItem(txtProcessor.window.hwnd, txtProcessor.other_ids[1])
- objects_with_match = NewConn.SearchPartners()
- setList(list_hwnd)
- except Exception,e:
- win32ui.MessageBox('Document can not be loaded.\n'+str(e), "Push", flag_error)
- txtProcessor.init_done=True
-
-def SetNameColumn(listProcessor,*args):
- hwndList = listProcessor.GetControl()
- child_ex_style = win32gui.SendMessage(hwndList, commctrl.LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
- child_ex_style |= commctrl.LVS_EX_FULLROWSELECT
- win32gui.SendMessage(hwndList, commctrl.LVM_SETEXTENDEDLISTVIEWSTYLE, 0, child_ex_style)
-
- # set header row
- lvc = LVCOLUMN(
- mask = commctrl.LVCF_FMT | commctrl.LVCF_WIDTH | \
- commctrl.LVCF_TEXT | commctrl.LVCF_SUBITEM
- )
- lvc.fmt = commctrl.LVCFMT_LEFT
- lvc.iSubItem = 1
- lvc.text = "Document Type"
- lvc.cx = 100
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTCOLUMN, 0, lvc.toparam())
- lvc.iSubItem = 0
- lvc.text = "Name"
- lvc.cx = 240
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTCOLUMN, 0, lvc.toparam())
- listProcessor.init_done = True
-
-def setList(list_hwnd):
- # Set default list of objects
- win32gui.SendMessage(list_hwnd, commctrl.LVM_DELETEALLITEMS)
- for obj in objects_with_match:
- num_items = win32gui.SendMessage(list_hwnd, commctrl.LVM_GETITEMCOUNT)
- item = LVITEM(text=obj[2],iItem = num_items)
- new = win32gui.SendMessage(list_hwnd, commctrl.LVM_INSERTITEM, 0, item.toparam())
- item = LVITEM(text=obj[3],iItem = new, iSubItem = 1)
- win32gui.SendMessage(list_hwnd, commctrl.LVM_SETITEM, 0, item.toparam())
-
-def SearchObjectsForText(btnProcessor,*args):
- #Check if server running or user logged in
- b = check()
- if not b:
- return
-
- search_txt = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- # Get titles from list
- obj_titles=[]
- for ch in hwndChk_list:
- id = ch[0]
- hwnd = ch[1]
- chk = win32gui.SendMessage(hwnd, win32con.BM_GETCHECK)
- if chk:
- txt = win32gui.GetDlgItemText(btnProcessor.window.hwnd,id)
- obj_titles.append(txt)
-
- # Prepare list of objects to search for the seach_keyword
- obj_list = btnProcessor.window.manager.config['objects']
- search_list = []
- try:
- all_obj_list = NewConn.GetAllObjects()
- for title in obj_titles:
- objname = [obj[1] for obj in obj_list if obj[0] == title]
- if objname:
- assert len(objname) == 1
- if objname[0] in all_obj_list:
- search_list.append(objname[0])
- else:
- win32ui.MessageBox("Module %s (%s) not installed. Please install it." \
- %(title,objname[0]), "Push to OpenERP", flag_excl)
- return
-
- # Get the records by searching the objects in search_list for the search_keyword as objects_with_match
- global objects_with_match
- list_hwnd = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- if search_list:
- objects_with_match = NewConn.GetObjectItems(search_list, search_txt)
- if not objects_with_match:
- win32ui.MessageBox("No matching records found in checked objects", "Push to OpenERP", flag_info)
- else:
- win32ui.MessageBox("No object selected", "Push to OpenERP", flag_info)
- objects_with_match=[]
- # Display the objects_with_match records in list
- setList(list_hwnd)
- except Exception,e:
- msg=getMessage(e)
- win32ui.MessageBox(msg, "Search Text", flag_error)
-
-def CreateContact(btnProcessor,*args):
- b = check()
- if not b:
- return
-
- partner = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[9])
- name = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- email = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- office_no = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[2])
- mobile_no = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[3])
- fax = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[4])
- street = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[5])
- street2 = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[6])
- city = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[7])
- zip = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[8])
- state = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[10])
- country = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[11])
- if not name:
- win32ui.MessageBox("Please enter name.", "Create Contact", flag_stop)
- return
-
- res = {
- 'partner_id':ustr(partner),
- 'name':ustr(name),
- 'email':ustr(email),
- 'phone':ustr(office_no),
- 'mobile':ustr(mobile_no),
- 'fax':ustr(fax),
- 'street':ustr(street),
- 'street2':ustr(street2),
- 'city':ustr(city),
- 'zip':ustr(zip),
- 'state_id':ustr(state),
- 'country_id':ustr(country)
- }
- if res.get('name').strip == '' or res.get('email').strip == '':
- win32ui.MessageBox("Contact name or Email id is Missing\nPlease fill those information", "Create Contact", flag_error)
- return
- try:
- NewConn.CreateContact(str(res))
- if not partner:
- msg="New contact created."
- else:
- msg="New contact created for partner '%s'."%partner
- except Exception,e:
- msg="Contact not created \n\n" + getMessage(e)
- win32ui.MessageBox(msg, "Create Contact", flag_error)
- return
- win32ui.MessageBox(msg, "Create Contact", flag_info)
- for i in range(0,9):
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[i], '')
- win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.id)
-
-def SetAllText(txtProcessor,*args):
- url = NewConn.getitem('_uri')
- tbox = txtProcessor.GetControl()
- win32gui.SendMessage(tbox, win32con.WM_SETTEXT, 0, str(url))
-
- uname = NewConn.getitem('_uname')
- tbox = txtProcessor.GetControl(txtProcessor.other_ids[0])
- win32gui.SendMessage(tbox, win32con.WM_SETTEXT, 0, str(uname))
-
- passbox = txtProcessor.GetControl(txtProcessor.other_ids[1])
- pwd = NewConn.getitem('_pwd')
- win32gui.SendMessage(passbox, win32con.WM_SETTEXT, 0, str(pwd))
- serverBox = txtProcessor.GetControl(txtProcessor.other_ids[2])
- webstr = NewConn.getitem('_webprotocol')+NewConn.getitem('_webserver')+":"+str(NewConn.getitem('_webport'))
- win32gui.SendMessage(serverBox, win32con.WM_SETTEXT, 0, str(webstr))
-
-def SetDefaultList(listProcessor,*args):
- import win32api
- hwndList = listProcessor.GetControl()
-
- # set full row select style
- child_ex_style = win32gui.SendMessage(hwndList, commctrl.LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
- child_ex_style |= commctrl.LVS_EX_FULLROWSELECT
- win32gui.SendMessage(hwndList, commctrl.LVM_SETEXTENDEDLISTVIEWSTYLE, 0, child_ex_style)
-
- # set header row
- lvc = LVCOLUMN(
- mask = commctrl.LVCF_FMT | commctrl.LVCF_WIDTH | \
- commctrl.LVCF_TEXT | commctrl.LVCF_SUBITEM
- )
- lvc.fmt = commctrl.LVCFMT_LEFT
- lvc.iSubItem = 1
- lvc.text = "Object Name"
- lvc.cx = 315
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTCOLUMN, 0, lvc.toparam())
- lvc.iSubItem = 0
- lvc.text = "Document Title"
- lvc.cx = 315
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTCOLUMN, 0, lvc.toparam())
-
- #create imagelist
- global il
- il = win32gui.ImageList_Create(
- win32api.GetSystemMetrics(win32con.SM_CXSMICON),
- win32api.GetSystemMetrics(win32con.SM_CYSMICON),
- commctrl.ILC_COLOR32 | commctrl.ILC_MASK,
- 1, # initial size
- 0) # cGrow
-
- win32gui.SendMessage(hwndList, commctrl.LVM_SETIMAGELIST,\
- commctrl.LVSIL_SMALL, il)
- # Set objects from config
- objs = eval(NewConn.getitem('_obj_list'))
- load_bmp_flags=win32con.LR_LOADFROMFILE | win32con.LR_LOADTRANSPARENT
- for obj in objs:
- image_path = os.path.join(listProcessor.window.manager.application_directory, "dialogs\\resources\\openerp_logo1.bmp")
- path=obj[2]
- if path:
- image_path = path
- try:
- hicon = win32gui.LoadImage(0, image_path,win32con.IMAGE_BITMAP, 40, 40, load_bmp_flags)
- except Exception, e:
- msg = "Problem loading the image \n\n" + getMessage(e)
- hicon = None
- win32ui.MessageBox(msg, "Load Image", flag_error)
-
- #Add the object in the list
- win32gui.ImageList_Add(il,hicon,0)
- cnt = win32gui.ImageList_GetImageCount(il)
- num_items = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMCOUNT)
- item = LVITEM(text=obj[0],iImage=cnt-2, iItem = num_items)
- new_index = win32gui.SendMessage(hwndList, commctrl.LVM_INSERTITEM, 0, item.toparam())
- item = LVITEM(text=obj[1], iItem = new_index, iSubItem = 1)
- win32gui.SendMessage(hwndList, commctrl.LVM_SETITEM, 0, item.toparam())
-
-def SetDefaultContact(txtProcessor,*args):
- # Acquiring the control of the text box
- global name
- global email
- global partner_ref
- global new_con_country
- global new_con_state
- global state_ref
- global country_ref
- state = win32gui.GetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[2])
- country = win32gui.GetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[3])
- if txtProcessor.init_done:
- if new_con_country == "":
- new_con_country = country
- if new_con_state == "":
- new_con_state = state
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[1],partner_ref)
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.control_id,name)
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[0],email)
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[2],new_con_state)
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[3],new_con_country)
- new_con_country = ""
- new_con_state = ""
- state_ref = ""
- country_ref =""
- return
- #
- try:
- mail = GetMail(txtProcessor)
- name = ustr(mail.SenderName).encode('iso-8859-1')
- email = ustr(mail.SenderEmailAddress).encode('iso-8859-1')
- except Exception:
- pass
-
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.control_id,name)
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[0],email)
-
- txtProcessor.init_done = True
-
-def setCheckList(groupProcessor,*args):
- b = check()
- if not b:
- return
- try:
- hinst = win32gui.dllhandle
- objs = groupProcessor.window.manager.config['objects']
- ins_objs = NewConn.GetAllObjects()
- left = 20
- top = 60
- cnt=0
- id=4001
- id1=6001
- if groupProcessor.init_done:
- return
- else:
- for obj in objs:
- if obj[1] in ins_objs:
- groupProcessor.init_done = True
- #Add Checkbox
- left+= 17
- hwndChk = win32gui.CreateWindowEx(
- 0,"BUTTON",obj[0],win32con.WS_VISIBLE | win32con.WS_CHILD | \
- win32con.BS_AUTOCHECKBOX | win32con.WS_TABSTOP | win32con.BST_CHECKED, \
- left, top, 130,20,groupProcessor.window.hwnd,id1,hinst,None
- )
- if obj[1] in ['res.partner','res.partner.address']:
- win32gui.SendMessage(hwndChk , win32con.BM_SETCHECK, 1, 0);
- hwndChk_list.append((id1,hwndChk))
-
- cnt=cnt+1
- id+=1
- id1+=1
- left+=17
- left+=140
- if cnt > 1:
- left = 20
- top+=18
- cnt=0
- except Exception, e:
- win32ui.MessageBox(str(e), 'Push to OpenERP')
-
-def CreatePartner(btnProcessor,*args):
- #Check if server running or user logged in
- b = check()
- if not b:
- return
- global partner_ref
- partner_name = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- if not partner_name:
- win32ui.MessageBox("Please enter Partner name.", "Create Partner", flag_excl)
- return
- res = {'name':ustr(partner_name)}
- try:
- id = NewConn.CreatePartner(str(res))
- except Exception,e:
- msg="Partner not created \n\n" + getMessage(e)
- win32ui.MessageBox(msg, "Create Partner", flag_error)
- return
- if id:
- win32ui.MessageBox("New Partner '%s' created."%partner_name, "Create Partner", flag_info)
- partner_ref = str(partner_name)
- win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.id)
- else:
- win32ui.MessageBox("Partner '%s' already Exists."%partner_name, "Create Partner", flag_info)
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0],'')
-
-def set_search_text(dialogProcessor,*args):
- global search_text
- search_text = win32gui.GetDlgItemText(dialogProcessor.window.hwnd, dialogProcessor.other_ids[0])
- return
-
-def set_name_email(dialogProcessor,*args):
- global name
- global email
- global partner_ref
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[2], ustr(partner_ref))
- name = win32gui.GetDlgItemText(dialogProcessor.window.hwnd, dialogProcessor.other_ids[0])
- email = win32gui.GetDlgItemText(dialogProcessor.window.hwnd, dialogProcessor.other_ids[1])
-
-#Function for Getting default mail when dialog is loaded and finding contact related to this
-#setting values to the appropriate text areas
-def GetDefaultEmail(txtProcessor,*args):
-
- import win32con
- b = check()
- global partner_ref
- global country_ref
- global state_ref
- global new_con_country
- global new_con_state
- partner_n = win32gui.GetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[0])
- state_n = win32gui.GetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[10])
- country_n = win32gui.GetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[11])
- if partner_ref == "":
- partner_ref = partner_n
- if country_ref == "":
- country_ref = country_n
- if state_ref == "":
- state_ref = state_n
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[0], ustr(partner_ref))
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[10], ustr(state_ref))
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[11], ustr(country_ref))
- partner_ref = ""
- country_ref = ""
- state_ref = ""
- new_con_country = ""
- new_con_state = ""
- if country_ref == None:
- country_ref = ""
-
-
- if not b:
- return
- #Acquiring control of the text box
- search_partner_box = txtProcessor.GetControl()
- global search_partner_text
- if txtProcessor.init_done:
- win32gui.SendMessage(search_partner_box, win32con.WM_SETTEXT, 0,search_partner_text)
- return
- #Reading Current Selected Email.
- ex = txtProcessor.window.manager.outlook.ActiveExplorer()
- assert ex.Selection.Count == 1
- mail = ex.Selection.Item(1)
- #Fetching Sender MailID from Selected Mail
- try:
- search_partner_text = ustr(mail.SenderEmailAddress).encode('iso-8859-1')
- except Exception:
- win32ui.MessageBox("Error In reading email ID from Email ","Open Contact", flag_error)
- pass
- win32gui.SendMessage(search_partner_box, win32con.WM_SETTEXT, 0, search_partner_text)
- if search_partner_text.strip() == "":
- search_partner_text = None
- return
- vals = []
- #Searching the res.partner.address for contact based on Sender Mail ID.
- vals = NewConn.SearchPartnerDetail(search_partner_text)
- #If no user Found.
- if vals == None:
- for i in range(1,12):
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[i], "")
- win32ui.MessageBox("No matching records found for : "+str(search_partner)+".","Open Contact", flag_excl)
- return
- else:
- #If user Found than Setting the Value for the contact in fields.
- for i in range(1,12):
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[i], "")
-
- for val in vals:
- if val[0] == 'partner_id':
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[0], ustr(val[1][1]))
-
- if val[0] == 'name' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[1], ustr(val[1]))
-
- if val[0] == 'street' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[2], ustr(val[1]))
-
- if val[0] == 'street2' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[3], ustr(val[1]))
-
- if val[0] == 'zip' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[9], ustr(val[1]))
-
- if val[0] == 'city' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[4], ustr(val[1]))
-
- if val[0] == 'state_id' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[10], ustr(val[1][1]))
-
- if val[0] == 'country_id' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[11], ustr(val[1][1]))
- global search_country
- search_country = ustr(val[1][1])
-
- if val[0] == 'phone' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[5], ustr(val[1]))
-
- if val[0] == 'mobile' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[6], ustr(val[1]))
-
- if val[0] == 'fax' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[7], ustr(val[1]))
-
- if val[0] == 'email' and val[1] != False :
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[8], ustr(val[1]))
-
- txtProcessor.init_done=True
-
-def SearchPartner(btnProcessor,*args):
- b = check()
- global partner_ref
- if not b:
- return
- try :
- search_partner = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- if not search_partner:
- win32ui.MessageBox("Please enter email id to search for.", "Open Contact", flag_excl)
- return
- vals = []
- #Searching the contact.
- vals = NewConn.SearchPartnerDetail(search_partner)
- #if contact not found resetting all field to blank
- if vals == None:
- for i in range(1,13):
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[i], "")
- win32ui.MessageBox("No matching records found for : "+str(search_partner)+".","Open Contact", flag_excl)
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0], "<enter new search>")
- return
- #if contact found than setting the values for the contact.
- else:
- for i in range(1,13):
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[i], "")
- for val in vals:
- if val[0] == 'partner_id':
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[1], ustr(val[1][1]))
-
- if val[0] == 'name' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[2], ustr(val[1]))
-
- if val[0] == 'street' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[3], ustr(val[1]))
-
- if val[0] == 'street2' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[4], ustr(val[1]))
-
- if val[0] == 'zip' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[10], ustr(val[1]))
-
- if val[0] == 'city' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[5], ustr(val[1]))
-
- if val[0] == 'state_id' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[11], ustr(val[1][1]))
-
- if val[0] == 'country_id' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[12], ustr(val[1][1]))
- global search_country
- search_country = ustr(val[1][1])
-
- if val[0] == 'phone' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[6], ustr(val[1]))
-
- if val[0] == 'mobile' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[7], ustr(val[1]))
-
- if val[0] == 'fax' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[8], ustr(val[1]))
-
- if val[0] == 'email' and val[1] != False :
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[9], ustr(val[1]))
-
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0], "<Enter new search>")
- except Exception,e:
- msg = getMessage(e)
- win32ui.MessageBox(msg, "Open Contact", flag_error)
- pass
-
-def WritePartner(btnProcessor,*args):
- new_vals=[]
- #Reading new value of the fields.
- partner = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- contect_name = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- street = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[2])
- street2 = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[3])
- city = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[4])
- state = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[5])
- country = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[6])
- phone = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[7])
- mobile = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[8])
- fax = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[9])
- email = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[10])
- zip = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[11])
- if contect_name.strip() == "":
- win32ui.MessageBox("Please enter partner Contact Name name.", "Open Contact", flag_excl)
- return
- new_vals.append(['partner',partner])
- new_vals.append(['name',contect_name])
- new_vals.append(['street',street])
- new_vals.append(['street2',street2])
- new_vals.append(['city',city])
- new_vals.append(['phone',phone])
- new_vals.append(['mobile',mobile])
- new_vals.append(['email',email])
- new_vals.append(['fax',fax])
- new_vals.append(['zip',zip])
- new_vals.append(['state',state])
- new_vals.append(['country',country])
- new_vals.append(['state',state])
- flag = 0
- try:
- #writing the updated values to the Server.
- flag = NewConn.WritePartnerValues(new_vals)
- except Exception,e:
- msg = getMessage(e)
- win32ui.MessageBox(msg, "Open Contact", flag_error)
- pass
- if flag == 1:
- win32ui.MessageBox("Changes have been Updated Successfully.", "Open Contact", flag_info)
- elif flag == 0:
- win32ui.MessageBox("Error in Updating the Changes.\n Please check the Database Connection.", "Open Contact", flag_error)
- elif flag == -1:
- win32ui.MessageBox("Contact can not be Save.\nFirst select partner using Search.","Open Contact", flag_info)
-
-def SetPartnerNameColumn(listProcessor,*args):
- hwndList = listProcessor.GetControl()
- child_ex_style = win32gui.SendMessage(hwndList, commctrl.LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
- child_ex_style |= commctrl.LVS_EX_FULLROWSELECT
- win32gui.SendMessage(hwndList, commctrl.LVM_SETEXTENDEDLISTVIEWSTYLE, 0, child_ex_style)
-
- # set header row
- lvc = LVCOLUMN(
- mask = commctrl.LVCF_FMT | commctrl.LVCF_WIDTH | \
- commctrl.LVCF_TEXT | commctrl.LVCF_SUBITEM
- )
- lvc.fmt = commctrl.LVCFMT_LEFT
- lvc.iSubItem = 1
- lvc.text = "Partner Name"
- lvc.cx = 275
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTCOLUMN, 0, lvc.toparam())
-
- partners = list(NewConn.GetPartners(''))
- win32gui.SendMessage(hwndList, commctrl.LVM_DELETEALLITEMS)
- if not partners:
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0],"<enter text to search>")
- win32ui.MessageBox("No Partner found with name {0}.".format(search_partner),"Search Partner",flag_error)
- for partner in partners[::-1]:
- num_items = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMCOUNT)
- item = LVITEM(text=partner[1],iItem = num_items)
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTITEM, 0, item.toparam())
-
- listProcessor.init_done = True
-
-def SelectPartnerFromList(btnProcessor,*args):
-
- hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- sel_count = win32gui.SendMessage(hwndList, commctrl.LVM_GETSELECTEDCOUNT)
- sel_text = ''
- if sel_count == 1:
- sel=-1
- for i in range(0,sel_count):
- sel = win32gui.SendMessage(hwndList, commctrl.LVM_GETNEXTITEM, sel, commctrl.LVNI_SELECTED)
- buf,extra = win32gui_struct.EmptyLVITEM(1, 0)
- size = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMTEXT, sel, buf)
- sel_text = ''
- for n in extra:
- nombre = n.tostring()
- sel_text = nombre[0:size]
- global partner_ref
- if str(sel_text).strip() == "":
- win32ui.MessageBox("Invalid partner selected.","Search Partner")
- return
- try:
- partner_ref = str(sel_text)
- except Exception:
- pass
- win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- return
- elif sel_count < 1:
- win32ui.MessageBox("You should select one partner.","Search Partner")
- return
- else:
- win32ui.MessageBox("Multiple Selection is not allowed.","Search Partner")
- return
-
-def SearchPartnerList(btnProcessor,*args):
- b = check()
- if not b:
- return
- try :
- search_partner = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- #Searching the contact.
- hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- partners = list(NewConn.GetPartners(search_partner))
- win32gui.SendMessage(hwndList, commctrl.LVM_DELETEALLITEMS)
- if not partners:
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0],"<enter text to search>")
- win32ui.MessageBox("No Partner found with name {0}.".format(search_partner),"Search Partner",flag_error)
- for partner in partners[::-1]:
- num_items = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMCOUNT)
- item = LVITEM(text=partner[1],iItem = num_items)
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTITEM, 0, item.toparam())
- except Exception,e:
- msg = getMessage(e)
- win32ui.MessageBox(msg, "Search Partner", flag_error)
- pass
-
-def ConnectWebServer(btnProcessor, *args):
- b = check()
- if not b:
- return
- server = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- webbrowser.open_new(str(server)+"\\openerp\\")
-
-
-def OpenPartnerForm(txtProcessor,*args):
- import win32con
- b = check()
- if not b:
- return
- #Acquiring control of the text box
- partner_link = txtProcessor.GetControl()
- #Reading Current Selected Email.
- ex = txtProcessor.window.manager.outlook.ActiveExplorer()
- assert ex.Selection.Count == 1
- mail = ex.Selection.Item(1)
- partner_text = ""
- try:
- partner_text = ustr(mail.SenderName).encode('iso-8859-1')
- sender_mail = ustr(mail.SenderEmailAddress).strip()
- except Exception:
- win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, "< Error in reading email.>")
- pass
- vals = NewConn.SearchPartner(sender_mail)
- if not vals:
- win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, "< Their is contact related to "+str(partner_text)+" email address, but no partner is linked to contact>")
- txtProcessor.init_done=True
- return
-
- if NewConn.getitem('_webserver') == "" or NewConn.getitem('_webserver') in ["http:\\\\","https:\\\\"]:
- win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, " <Invalid Server Address>")
- txtProcessor.init_done=True
- return
- try:
- import urllib
- next = urllib.urlencode({'next' : '/openerp/form/view?model=res.partner&id=' +str(vals) })
- weburl = NewConn.getitem('_webprotocol')+NewConn.getitem('_webserver')+":"+str(NewConn.getitem('_webport'))
- linktopartner = weburl + '?' + next
- win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, str(linktopartner))
- except Exception,e:
- win32ui.MessageBox("Error While Opening Partner.\n"+str(e),"Open Partner", flag_error)
- webbrowser.open_new(linktopartner)
- txtProcessor.init_done=True
-
-def SerachOpenDocuemnt(txtProcessor,*args):
- import win32con
- import win32ui
- import win32com
- from win32com.mapi import mapitags
- b = check()
- if not b:
- return
-# global web_server
-# global web_server_port
- #Reading Current Selected Email.
- ex = txtProcessor.window.manager.outlook.ActiveExplorer()
- assert ex.Selection.Count == 1
- mail = ex.Selection.Item(1)
- #Acquiring control of the text box
- link_box = txtProcessor.GetControl()
- #Checking for the web server Parameters
- if NewConn.getitem('_webserver') == "" or NewConn.getitem('_webserver') in ["http:\\\\","https:\\\\"]:
- win32gui.SendMessage(partner_link, win32con.WM_SETTEXT, 0, " <Invalid Server Address>")
- txtProcessor.init_done=True
- return
- linktodoc = ""
- message_id = None
- try:
- session = win32com.client.Dispatch("MAPI.session")
- session.Logon('Outlook')
- objMessage = session.GetMessage(mail.EntryID, mail.Parent.StoreID)
- objFields = objMessage.Fields
- strheader = objFields.Item(mapitags.PR_TRANSPORT_MESSAGE_HEADERS)
- strheader = ustr(strheader).encode('iso-8859-1')
- headers = {}
- strheader = strheader.replace("\n ", " ").splitlines()
- for line in strheader:
- split_here = line.find(":")
- headers[line[:split_here]] = line[split_here:]
- temp1 = headers.get('Message-ID')
- temp2 = headers.get('Message-Id')
- if temp1 == None: message_id = temp2
- if temp2 == None: message_id = temp1
- startCut = message_id.find("<")
- endCut = message_id.find(">")
- message_id = message_id[startCut:endCut+1]
- except Exception,e:
- win32ui.MessageBox(str(e),"Open Document")
- vals = NewConn.SearchEmailResources(message_id)
- if vals == None:
- win32gui.SendMessage(link_box, win32con.WM_SETTEXT, 0, "< Mail is still not archived.>")
- txtProcessor.init_done=True
- return
- try:
- import urllib
- next = urllib.urlencode({'next' : '/openerp/form/view?model='+vals[0][1]+'&id='+str(vals[1][1])})
- weburl = NewConn.getitem('_webprotocol')+NewConn.getitem('_webserver')+":"+str(NewConn.getitem('_webport'))
- linktodoc = weburl + '?' + next
- win32gui.SendMessage(link_box, win32con.WM_SETTEXT, 0, str(linktodoc))
- except Exception,e:
- win32ui.MessageBox("Error While Opening Document.\n"+str(e),"Open Document", flag_error)
- webbrowser.open_new(linktodoc)
- txtProcessor.init_done=True
-
-def SearchCountry(btnProcessor, *args):
- b = check()
- if not b:
- return
- try :
- search_country = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- #Searching the contact.
- hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- countries = list(NewConn.GetCountry(search_country))
- win32gui.SendMessage(hwndList, commctrl.LVM_DELETEALLITEMS)
- if not countries:
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0],"<enter text to search>")
- win32ui.MessageBox("No country found with name {0}.".format(search_country),"Search Country",flag_error)
- for country in countries:
- num_items = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMCOUNT)
- item = LVITEM(text=country[1],iItem = num_items)
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTITEM, 0, item.toparam())
- except Exception,e:
- msg = getMessage(e)
- win32ui.MessageBox(msg, "Search Country", flag_error)
- pass
-
-def SetCountryList(listProcessor,*args):
-
- hwndList = listProcessor.GetControl()
- child_ex_style = win32gui.SendMessage(hwndList, commctrl.LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
- child_ex_style |= commctrl.LVS_EX_FULLROWSELECT
- win32gui.SendMessage(hwndList, commctrl.LVM_SETEXTENDEDLISTVIEWSTYLE, 0, child_ex_style)
-
- # set header row
- lvc = LVCOLUMN(
- mask = commctrl.LVCF_FMT | commctrl.LVCF_WIDTH | \
- commctrl.LVCF_TEXT | commctrl.LVCF_SUBITEM
- )
- lvc.fmt = commctrl.LVCFMT_LEFT
- lvc.iSubItem = 1
- lvc.text = "Country Name"
- lvc.cx = 275
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTCOLUMN, 0, lvc.toparam())
-
- countries = list(NewConn.GetCountry(''))
- win32gui.SendMessage(hwndList, commctrl.LVM_DELETEALLITEMS)
- if not countries:
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0],"<enter text to search>")
- win32ui.MessageBox("No country found with name {0}.".format(search_country),"Search Country",flag_error)
- for country in countries:
- num_items = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMCOUNT)
- item = LVITEM(text=country[1],iItem = num_items)
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTITEM, 0, item.toparam())
-
- listProcessor.init_done = True
-
-def SelectCountryFromList(btnProcessor,*args):
-
- hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- sel_count = win32gui.SendMessage(hwndList, commctrl.LVM_GETSELECTEDCOUNT)
- sel_text = ''
- if sel_count == 1:
- sel=-1
- for i in range(0,sel_count):
- sel = win32gui.SendMessage(hwndList, commctrl.LVM_GETNEXTITEM, sel, commctrl.LVNI_SELECTED)
- buf,extra = win32gui_struct.EmptyLVITEM(1, 0)
- size = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMTEXT, sel, buf)
- sel_text = ''
- for n in extra:
- nombre = n.tostring()
- sel_text = nombre[0:size]
- global country_ref
- global new_con_country
- global search_country
- if str(sel_text).strip() == "":
- win32ui.MessageBox("Invalid country selected.","Search Country")
- return
- try:
- country_ref = str(sel_text)
- new_con_country = str(sel_text)
- search_country = str(sel_text)
- except Exception:
- pass
- win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- return
- elif sel_count < 1:
- win32ui.MessageBox("You must one country.","Search Country")
- return
- else:
- win32ui.MessageBox("Multiple selection is not allowed.","Search Country")
- return
-
-def SearchState(btnProcessor, *args):
- b = check()
- if not b:
- return
- try :
- global new_con_country
- global search_country
- search_state = win32gui.GetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- #Searching the contact.
- hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- states = list(NewConn.GetStates(search_state, search_country))
- win32gui.SendMessage(hwndList, commctrl.LVM_DELETEALLITEMS)
- if not states:
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0],"<enter text to search>")
- win32ui.MessageBox("No state found with name {0}.".format(search_state),"Search Fed.State",flag_error)
- for state in states:
- num_items = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMCOUNT)
- item = LVITEM(text=state[1],iItem = num_items)
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTITEM, 0, item.toparam())
- except Exception,e:
- msg = getMessage(e)
- win32ui.MessageBox(msg, "Search Fed.State", flag_error)
- pass
-
-def SetStateList(listProcessor,*args):
- hwndList = listProcessor.GetControl()
- child_ex_style = win32gui.SendMessage(hwndList, commctrl.LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
- child_ex_style |= commctrl.LVS_EX_FULLROWSELECT
- win32gui.SendMessage(hwndList, commctrl.LVM_SETEXTENDEDLISTVIEWSTYLE, 0, child_ex_style)
-
- # set header row
- lvc = LVCOLUMN(
- mask = commctrl.LVCF_FMT | commctrl.LVCF_WIDTH | \
- commctrl.LVCF_TEXT | commctrl.LVCF_SUBITEM
- )
- lvc.fmt = commctrl.LVCFMT_LEFT
- lvc.iSubItem = 1
- lvc.text = "Fed.State Name"
- lvc.cx = 275
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTCOLUMN, 0, lvc.toparam())
-
- global new_con_country
- global search_country
- states = list(NewConn.GetStates('', search_country))
- win32gui.SendMessage(hwndList, commctrl.LVM_DELETEALLITEMS)
- if not states:
- win32gui.SetDlgItemText(btnProcessor.window.hwnd, btnProcessor.other_ids[0],"<enter text to search>")
- win32ui.MessageBox("No state found with name {0}.".format(search_state),"Search Fed.State",flag_error)
- for state in states:
- num_items = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMCOUNT)
- item = LVITEM(text=state[1],iItem = num_items)
- win32gui.SendMessage(hwndList, commctrl.LVM_INSERTITEM, 0, item.toparam())
- listProcessor.init_done = True
-
-def SelectStateFromList(btnProcessor,*args):
- hwndList = win32gui.GetDlgItem(btnProcessor.window.hwnd, btnProcessor.other_ids[0])
- sel_count = win32gui.SendMessage(hwndList, commctrl.LVM_GETSELECTEDCOUNT)
- sel_text = ''
- if sel_count == 1:
- sel=-1
- for i in range(0,sel_count):
- sel = win32gui.SendMessage(hwndList, commctrl.LVM_GETNEXTITEM, sel, commctrl.LVNI_SELECTED)
- buf,extra = win32gui_struct.EmptyLVITEM(1, 0)
- size = win32gui.SendMessage(hwndList, commctrl.LVM_GETITEMTEXT, sel, buf)
- sel_text = ''
- for n in extra:
- nombre = n.tostring()
- sel_text = nombre[0:size]
- global state_ref
- global new_con_state
- if str(sel_text).strip() == "":
- win32ui.MessageBox("Invalid fed. state selected.","Search Fed.State")
- return
- try:
- state_ref = str(sel_text)
- new_con_state = str(sel_text)
- win32gui.EndDialog(btnProcessor.window.hwnd, btnProcessor.other_ids[1])
- except Exception:
- pass
-
- return
- elif sel_count < 1:
- win32ui.MessageBox("You must select state.","Search Fed.State")
- return
- else:
- win32ui.MessageBox("Multiple selection is not allowed.","Search Fed.State")
- return
-
-def SetWebDefaultVals(txtProcessor,*args):
- import win32con
- #Acquiring control of the text box
- chk_hwnd = win32gui.GetDlgItem(txtProcessor.window.hwnd, txtProcessor.other_ids[1])
- try:
- web_server = NewConn.getitem('_webserver')
- web_port = NewConn.getitem('_webport')
- web_protocol = NewConn.getitem('_webprotocol')
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.control_id, web_server)
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[0], web_port)
- if web_protocol == "https:\\\\":
- win32gui.SendMessage(chk_hwnd , win32con.BM_SETCHECK, 1, 0);
- except Exception, e:
- txtProcessor.init_done=True
- #Reading Current Selected Email.
- txtProcessor.init_done=True
-
-def SetServerDefaultVals(txtProcessor,*args):
- import win32con
- select = 1
- #Acquiring control of the text box
- cbprotocol_hwnd = win32gui.GetDlgItem(txtProcessor.window.hwnd, txtProcessor.other_ids[1])
- try:
- web_server = NewConn.getitem('_server')
- web_port = NewConn.getitem('_port')
- web_protocol = NewConn.getitem('protocol')
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.control_id, web_server)
- win32gui.SetDlgItemText(txtProcessor.window.hwnd, txtProcessor.other_ids[0], web_port)
- if web_protocol == "XML-RPCS":
- select = 2
- win32gui.SendMessage(cbprotocol_hwnd, win32con.CB_SETCURSEL, select, 0)
- except Exception, e:
- txtProcessor.init_done=True
- #Reading Current Selected Email.
- txtProcessor.init_done=True
-
-dialog_map = {
- "IDD_MANAGER" : (
- (CancelButtonProcessor, "IDCANCEL", resetConnAttribs, ()),
- (TabProcessor, "IDC_TAB IDC_LIST",
- """IDD_GENERAL IDD_OBJECT_SETTINGS IDD_ABOUT"""),
- (DoneButtonProcessor, "ID_DONE"),
- ),
-
- "IDD_GENERAL": (
- (DBComboProcessor, "ID_DB_DROPDOWNLIST", GetConn, ()),
- (TextProcessor, "ID_SERVER_PORT ID_USERNAME ID_PASSWORD IDET_WED_SERVER", SetAllText, ()),
- (CommandButtonProcessor, "ID_BUT_TESTCONNECTION ID_DB_DROPDOWNLIST ID_USERNAME \
- ID_PASSWORD", TestConnection, ()),
- (DialogCommand, "IDC_BUT_SET_SERVER_PORT", "IDD_SERVER_PORT_DIALOG"),
- (DialogCommand, "ID_SET_WEB_CONNECTION", "IDD_WEB_SERVER_PORT_DIALOG" ),
- (CommandButtonProcessor, "IDPB_WEB_CONNECTION IDET_WED_SERVER", ConnectWebServer, ()),
- ),
-
- "IDD_OBJECT_SETTINGS" : (
- (CommandButtonProcessor, "IDC_BUT_LOAD_IMAGE IDC_IMAGE_PATH", GetImagePath, ()),
- (CommandButtonProcessor, "IDC_BUT_SAVE_OBJECT IDC_OBJECT_TITLE IDC_OBJECT_NAME \
- IDC_IMAGE_PATH IDC_LIST", AddNewObject, ()),
- (CommandButtonProcessor, "IDC_BUT_DEL_OBJECT IDC_LIST", DeleteSelectedObjects, ()),
- (ListBoxProcessor, "IDC_LIST", SetDefaultList, ())
- ),
-
- "IDD_ABOUT" : (
- (ImageProcessor, "IDB_OPENERPLOGO"),
- (MessageProcessor, "IDC_ABOUT"),
- ),
-
- "IDD_SERVER_PORT_DIALOG" : (
- (TextProcessor, "ID_SERVER ID_PORT ID_DROPDOWNLIST_PROTOCOL", SetServerDefaultVals, ()),
- (ProtocolComboProcessor, "ID_DROPDOWNLIST_PROTOCOL", GetConn, ()),
- (CloseButtonProcessor, "IDCANCEL"),
- (OKButtonProcessor, "IDOK ID_SERVER ID_PORT IDR_XML_PROTOCOL ID_DROPDOWNLIST_PROTOCOL"),
-#
-# (RadioButtonProcessor, "IDR_XML_PROTOCOL", GetConn, ()),
-# (RadioButtonProcessor, "IDR_XMLS_PROTOCOL", GetConn, ()),
-# (RadioButtonProcessor, "IDR_NETRPC_PROTOCOL", GetConn, ()),
- ),
-
- "IDD_SYNC" : (
- (CommandButtonProcessor, "ID_SEARCH ID_SEARCH_TEXT IDC_NAME_LIST", SearchObjectsForText,()),
- (GroupProcessor, "IDC_STATIC_GROUP", setCheckList, ()),
- (CSComboProcessor, "ID_ATT_METHOD_DROPDOWNLIST", GetConn,()),
- (DialogCommand, "ID_CREATE_CONTACT ID_SEARCH_TEXT", "IDD_NEW_CONTACT_DIALOG", set_search_text, ()),
- (CloseButtonProcessor, "IDCANCEL"),
- (CommandButtonProcessor, "ID_MAKE_ATTACHMENT IDC_NAME_LIST IDD_SYNC", MakeAttachment, ()),
- (CommandButtonProcessor, "ID_CREATE_CASE ID_ATT_METHOD_DROPDOWNLIST IDC_NAME_LIST IDD_SYNC", CreateCase, ()),
- (ListBoxProcessor, "IDC_NAME_LIST", SetNameColumn, ()),
- (TextProcessor, "ID_SEARCH_TEXT ID_SEARCH_TEXT IDC_NAME_LIST", GetSearchText, ()),
-
- ),
-
- "IDD_NEW_CONTACT_DIALOG" : (
- (CloseButtonProcessor, "IDCANCEL"),
- (CommandButtonProcessor, "ID_CONTACT_SAVE_BUTTON ID_CONTACT_NAME_TEXT ID_CONTACT_EMAIL_TEXT ID_CONTACT_OFFICE_TEXT ID_CONTACT_MOBILE_TEXT ID_FAX_TEXT ID_STREET_TEXT ID_STREET2_TEXT ID_PARTNER_CITY_TEXT ID_ZIP_TEXT ID_PARTNER_TEXT IDET_NC_PARTNER_STATE IDET_NC_PARTNER_COUNTRY", CreateContact, ()),
- (TextProcessor, "ID_CONTACT_NAME_TEXT ID_CONTACT_EMAIL_TEXT ID_PARTNER_TEXT IDET_NC_PARTNER_STATE IDET_NC_PARTNER_COUNTRY" , SetDefaultContact, ()),
- (DialogCommand, "ID_NEW_PARTNER_BUTTON", "IDD_SELECT_PARTNER"),
- (DialogCommand, "IDPB_NEW_PARTNER_BUTTON", "IDD_NEW_PARTNER_DIALOG"),
- (DialogCommand, "IDPB_NC_SEARCH_STATE1", "IDD_SELECT_STATE"),
- (DialogCommand, "IDPB_NC_SEARCH_COUNTRY1", "IDD_SELECT_COUNTRY"),
- ),
-
- "IDD_NEW_PARTNER_DIALOG" : (
- (CloseButtonProcessor, "IDCANCEL"),
- (CommandButtonProcessor, "ID_SAVE_PARTNER_BUTTON ID_PARTNER_NAME_TEXT", CreatePartner, ()),
- ),
-
- "IDD_VIEW_PARTNER_DIALOG" : (
- (TextProcessor, "IDET_SEARCH_PARTNER IDET_PARTNER IDET_PARTNER_CONTACT_NAME IDET_PARTNER_STREET IDET_PARTNER_STREET2 IDET_PARTNER_CITY IDET_PARTNER_OFFICENO IDET_PARTNER_MOBILENO IDET_PARTNER_EMAIL IDET_PARTNER_FAX IDET_ZIP IDET_PARTNER_STATE IDET_PARTNER_COUNTRY", GetDefaultEmail, ()),
- (CommandButtonProcessor, "IDPB_SEARCH_PARTNER IDET_SEARCH_PARTNER IDET_PARTNER IDET_PARTNER_CONTACT_NAME IDET_PARTNER_STREET IDET_PARTNER_STREET2 IDET_PARTNER_CITY IDET_PARTNER_OFFICENO IDET_PARTNER_MOBILENO IDET_PARTNER_EMAIL IDET_PARTNER_FAX IDET_ZIP IDET_PARTNER_STATE IDET_PARTNER_COUNTRY", SearchPartner, ()),
- (CommandButtonProcessor, "IDPB_WRITE_CHANGES IDET_PARTNER IDET_PARTNER_CONTACT_NAME IDET_PARTNER_STREET IDET_PARTNER_STREET2 IDET_PARTNER_CITY IDET_PARTNER_STATE IDET_PARTNER_COUNTRY IDET_PARTNER_OFFICENO IDET_PARTNER_MOBILENO IDET_PARTNER_EMAIL IDET_PARTNER_FAX IDET_ZIP", WritePartner, ()),
- (CloseButtonProcessor, "IDCANCEL"),
- (DialogCommand, "ID_NEW_PART_BUTTON", "IDD_SELECT_PARTNER" ),
- (DialogCommand, "IDPB_NEWPARTNER_BUTTON" , "IDD_NEW_CONTACT_DIALOG"),
- (DialogCommand, "IDPB_NEW_PART_BUTTON", "IDD_NEW_PARTNER_DIALOG"),
- (DialogCommand, "IDPB_SEARCH_COUNTRY1", "IDD_SELECT_COUNTRY"),
- (DialogCommand, "IDPB_SEARCH_STATE1", "IDD_SELECT_STATE"),
-
- ),
- "IDD_SELECT_PARTNER" : (
- (ListBoxProcessor, "IDC_LIST_PARTNER" ,SetPartnerNameColumn, ()),
- (CommandButtonProcessor, "IDPB_PARTNER_SEARCH IDET_PARTNER_SEARCH_NAME IDC_LIST_PARTNER", SearchPartnerList,()),
- (CommandButtonProcessor, "IDPB_SELECT_PARTNER IDC_LIST_PARTNER IDD_SELECT_PARTNER" , SelectPartnerFromList,()),
- (DialogCommand, "IDPB_CREATE_NEW_PARTNER" , "IDD_NEW_PARTNER_DIALOG")
- ),
- "IDD_OPEN_PARTNER_DIALOG" : (
- (CloseButtonProcessor, "IDCANCEL"),
- (TextProcessor, "IDET_PARTNER_LINK_TEXT", OpenPartnerForm, ()),
- ),
- "IDD_OPEN_DOCUEMNT_DIALOG" : (
- (CloseButtonProcessor, "IDCANCEL"),
- (TextProcessor, "IDEB_OPENDOC_LINK_TEXT", SerachOpenDocuemnt,()),
- ),
- "IDD_WEB_SERVER_PORT_DIALOG" :(
- (TextProcessor, "IDET_WEB_SERVER IDET_WEB_PORT IDCB_WEB_SECURE", SetWebDefaultVals, ()),
- (CloseButtonProcessor, "IDCANCEL"),
- (WEBOKButtonProcessor, "ID_WEB_OK IDET_WEB_SERVER IDET_WEB_PORT IDCB_WEB_SECURE"),
- (WEBCHKProcessor, "IDCB_WEB_SECURE"),
-
- ),
- "IDD_SELECT_COUNTRY" : (
- (CommandButtonProcessor, "IDPB_SEARCH_COUNTRY IDET_COUNTRY_SEARCH_NAME IDC_LIST_COUNTRY" , SearchCountry, ()),
- (ListBoxProcessor, "IDC_LIST_COUNTRY" ,SetCountryList, ()),
- (CommandButtonProcessor, "IDPB_SELECT_COUNTRY IDC_LIST_COUNTRY IDD_SELECT_COUNTRY" , SelectCountryFromList,()),
- ),
- "IDD_SELECT_STATE" : (
- (CommandButtonProcessor, "IDPB_STATE_SEARCH IDET_STATE_SEARCH_NAME IDC_LIST_STATE" , SearchState, ()),
- (ListBoxProcessor, "IDC_LIST_STATE" ,SetStateList, ()),
- (CommandButtonProcessor, "IDPB_SELECT_STATE IDC_LIST_STATE IDD_SELECT_STATE" , SelectStateFromList,()),
- ),
-}
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgcore.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgcore.py
deleted file mode 100644
index bce802b5ed1..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgcore.py
+++ /dev/null
@@ -1,325 +0,0 @@
-# A core, data-driven dialog.
-# Driven completely by "Control Processor" objects.
-
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-
-import win32gui, win32api, win32con
-import commctrl
-import struct, array
-
-from dlgutils import *
-# Isolate the nasty stuff for tooltips somewhere.
-class TooltipManager:
- def __init__(self, dialog):
- self.dialog = dialog
- self.hwnd_tooltip = None
- self.tooltip_tools = {}
-
- def HideTooltip(self):
- if self.hwnd_tooltip is not None:
- win32gui.SendMessage(self.hwnd_tooltip, commctrl.TTM_TRACKACTIVATE, 0, 0)
-
- def ShowTooltipForControl(self, control_id, text):
- # Note sure this tooltip stuff is quite right!
- # Hide an existing one, so the new one gets created.
- # (new one empty is no big deal, but hiding the old one is, so
- # we get re-queried for the text.
- hwnd_dialog = self.dialog.hwnd
- self.HideTooltip()
- if self.hwnd_tooltip is None:
- TTS_BALLOON = 0x40
- self.hwnd_tooltip = win32gui.CreateWindowEx(0, "tooltips_class32", None,
- win32con.WS_POPUP | TTS_BALLOON,
- win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT,
- win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT,
- hwnd_dialog, 0, 0, None)
- # 80 chars max for our tooltip
- # hrm - how to measure this in pixels!
- win32gui.SendMessage(self.hwnd_tooltip,
- commctrl.TTM_SETMAXTIPWIDTH,
- 0, 300)
-
- format = "iiiiiiiiiii"
- tt_size = struct.calcsize(format)
- buffer = array.array("c", text + "\0")
- text_address, size = buffer.buffer_info()
- uID = control_id
- flags = commctrl.TTF_TRACK | commctrl.TTF_ABSOLUTE
- data = struct.pack(format, tt_size, flags, hwnd_dialog, uID, 0,0,0,0, 0, text_address, 0)
-
- # Add a tool for this control only if we haven't already
- if control_id not in self.tooltip_tools:
- win32gui.SendMessage(self.hwnd_tooltip,
- commctrl.TTM_ADDTOOL,
- 0, data)
- self.tooltip_tools[control_id] = 1
-
- control = win32gui.GetDlgItem(hwnd_dialog, control_id)
- child_rect = win32gui.GetWindowRect(control)
- xOff = yOff = 15 # just below and right of the control
-
- win32gui.SendMessage(self.hwnd_tooltip,
- commctrl.TTM_TRACKPOSITION,
- 0,
- MAKELONG(child_rect[0]+xOff, child_rect[1]+yOff))
- win32gui.SendMessage(self.hwnd_tooltip,
- commctrl.TTM_TRACKACTIVATE,
- 1,data)
-
-# A base dialog class, that loads from resources. Has no real smarts.
-class Dialog:
- def __init__(self, parent, parser, idd):
- win32gui.InitCommonControls()
- self.hinst = win32api.GetModuleHandle(None)
- self.parent = parent
- self.dialog_parser = parser
- self.template = parser.dialogs[idd]
-
- def _GetIDName(self, cid):
- return self.dialog_parser.names.get(cid, str(cid))
-
- def CreateWindow(self):
- return self._DoCreate(win32gui.CreateDialogIndirect)
-
- def DoModal(self):
- return self._DoCreate(win32gui.DialogBoxIndirect)
-
- def GetMessageMap(self):
- ret = {
- win32con.WM_COMMAND: self.OnCommand,
- win32con.WM_NOTIFY: self.OnNotify,
- win32con.WM_INITDIALOG: self.OnInitDialog,
- win32con.WM_CLOSE: self.OnClose,
- win32con.WM_DESTROY: self.OnDestroy,
- win32con.WM_RBUTTONUP: self.OnRButtonUp,
- }
- return ret
-
- def DoInitialPosition(self):
- # centre the dialog
- desktop = win32gui.GetDesktopWindow()
- l,t,r,b = win32gui.GetWindowRect(self.hwnd)
- w = r-l
- h = b-t
- dt_l, dt_t, dt_r, dt_b = win32gui.GetWindowRect(desktop)
- centre_x, centre_y = win32gui.ClientToScreen( desktop, ( (dt_r-dt_l)/2, (dt_b-dt_t)/2) )
- win32gui.MoveWindow(self.hwnd, centre_x-(w/2), centre_y-(h/2), w, h, 0)
-
- def OnInitDialog(self, hwnd, msg, wparam, lparam):
- self.hwnd = hwnd
- self.DoInitialPosition()
-
- def OnCommand(self, hwnd, msg, wparam, lparam):
- pass
- def OnNotify(self, hwnd, msg, wparam, lparam):
- pass
- def OnClose(self, hwnd, msg, wparam, lparam):
- pass
- def OnDestroy(self, hwnd, msg, wparam, lparam):
- pass
- def OnRButtonUp(self, hwnd, msg, wparam, lparam):
- pass
-
- def _DoCreate(self, fn):
- message_map = self.GetMessageMap()
- return win32gui.DialogBoxIndirect(self.hinst, self.template, self.parent, message_map)
- # A couple of helpers
- def GetDlgItem(self, id):
- if type(id)==type(''):
- id = self.dialog_parser.ids[id]
- return win32gui.GetDlgItem(self.hwnd, id)
- def SetDlgItemText(self, id, text):
- hchild = self.GetDlgItem(id)
- win32gui.SendMessage(hchild, win32con.WM_SETTEXT, 0, text)
-
-# A dialog with a tooltip manager
-class TooltipDialog(Dialog):
- def __init__(self, parent, parser, idd):
- Dialog.__init__(self, parent, parser, idd)
- self.tt = TooltipManager(self)
-
- def GetMessageMap(self):
- ret = Dialog.GetMessageMap(self)
- ret.update( {
- win32con.WM_HELP: self.OnHelp,
- win32con.WM_LBUTTONDOWN: self.OnLButtonDown,
- win32con.WM_ACTIVATE: self.OnActivate,
- })
- return ret
-
- def OnLButtonDown(self, hwnd, msg, wparam, lparam):
- self.tt.HideTooltip()
-
- def OnActivate(self, hwnd, msg, wparam, lparam):
- self.tt.HideTooltip()
-
- def OnDestroy(self, hwnd, msg, wparam, lparam):
- self.tt.HideTooltip()
-
- def OnHelp(self, hwnd, msg, wparam, lparam):
- format = "iiiiiii"
- buf = win32gui.PyMakeBuffer(struct.calcsize(format), lparam)
- cbSize, iContextType, iCtrlId, hItemHandle, dwContextID, x, y = \
- struct.unpack(format, buf)
- tt_text = self.GetPopupHelpText(iCtrlId)
- if tt_text:
- self.tt.ShowTooltipForControl(iCtrlId, tt_text)
- else:
- self.tt.HideTooltip()
- return 1
-
- def GetPopupHelpText(self, control_id):
- return None
-
-# A "Processor Dialog" works with Command Processors, to link Outlook-Plugin
-# options with control IDS, giving a "data driven" dialog.
-class ProcessorDialog(TooltipDialog):
- def __init__(self, parent, manager, config, idd, option_handlers):
- TooltipDialog.__init__(self, parent, manager.dialog_parser, idd)
- parser = manager.dialog_parser
- self.manager = manager
- self.config = config
- self.command_processors = {}
- self.processor_message_map = {}
- self.all_processors = []
- for data in option_handlers:
- klass = data[0]
- id_names = data[1]
- rest = data[2:]
- ids = id_names.split()
- int_ids = [ parser.ids[id] for id in ids]
- instance = klass(self,int_ids, *rest)
- self.all_processors.append(instance)
- for int_id in int_ids:
- self.command_processors[int_id] = instance
- for message in instance.GetMessages():
- existing = self.processor_message_map.setdefault(message, [])
- existing.append(instance)
-
- def GetMessageMap(self):
- ret = TooltipDialog.GetMessageMap(self)
- for key in self.processor_message_map.keys():
- if key in ret:
- print "*** WARNING: Overwriting message!!!"
- ret[key] = self.OnCommandProcessorMessage
- return ret
-
- def OnInitDialog(self, hwnd, msg, wparam, lparam):
- TooltipDialog.OnInitDialog(self, hwnd, msg, wparam, lparam)
- if __debug__: # this is just a debugging aid
- for int_id in self.command_processors:
- try:
- self.GetDlgItem(int_id)
- except win32gui.error:
- print "ERROR: Dialog item %s refers to an invalid control" % \
- self._GetIDName(int_id)
- self.LoadAllControls()
-
- def GetPopupHelpText(self, iCtrlId):
- cp = self.command_processors.get(iCtrlId)
- tt_text = None
- if cp is not None:
- return cp.GetPopupHelpText(iCtrlId)
-
- print "Can not get command processor for", self._GetIDName(iCtrlId)
- return None
- def OnRButtonUp(self, hwnd, msg, wparam, lparam):
- for cp in self.command_processors.values():
- cp.OnRButtonUp(wparam,lparam)
-
- def OnCommandProcessorMessage(self, hwnd, msg, wparam, lparam):
- for p in self.processor_message_map[msg]:
- p.OnMessage(msg, wparam, lparam)
-
- # Called back by a processor when it changes an option. We tell all other
- # options on our page that the value changed.
- def OnOptionChanged(self, changed_by, option):
- for p in self.all_processors:
- if p is not changed_by:
- p.OnOptionChanged(option)
-
-
- def OnDestroy(self, hwnd, msg, wparam, lparam):
- for p in self.all_processors:
- p.Term()
- TooltipDialog.OnDestroy(self, hwnd, msg, wparam, lparam)
- self.command_processors = None
- self.all_processors = None
- self.processor_message_map = None
-
- def LoadAllControls(self):
- for p in self.all_processors:
- p.Init()
-
- def ApplyHandlingOptionValueError(self, func, *args):
- try:
- return func(*args)
- except ValueError, why:
- mb_flags = win32con.MB_ICONEXCLAMATION | win32con.MB_OK
- win32gui.MessageBox(self.hwnd, str(why), "OpenERP Configuration", mb_flags)
- return False
-
- def SaveAllControls(self):
- for p in self.all_processors:
- if not self.ApplyHandlingOptionValueError(p.Done):
- win32gui.SetFocus(p.GetControl())
- return False
- return True
-
- def OnClose(self, hwnd, msg, wparam, lparam):
- if TooltipDialog.OnClose(self, hwnd, msg, wparam, lparam):
- return 1
- if not self.SaveAllControls():
- return 1
- win32gui.EndDialog(hwnd, 0)
-
- def OnNotify(self, hwnd, msg, wparam, lparam):
- # Parse the NMHDR
- TooltipDialog.OnNotify(self, hwnd, msg, wparam, lparam)
- format = "iii"
- buf = win32gui.PyMakeBuffer(struct.calcsize(format), lparam)
- hwndFrom, idFrom, code = struct.unpack(format, buf)
- code += 0x4f0000 # hrm - wtf - commctrl uses this, and it works with mfc. *sigh*
- # delegate rest to our commands.
- self._GetIDName(idFrom)
- if self.command_processors is not None:
- handler = self.command_processors.get(idFrom)
- if handler is None:
- print "Ignoring OnNotify for", self._GetIDName(idFrom)
- return
- return handler.OnNotify( (hwndFrom, idFrom, code), wparam, lparam)
- return
-
- def OnCommand(self, hwnd, msg, wparam, lparam):
- TooltipDialog.OnCommand(self, hwnd, msg, wparam, lparam)
- id = win32api.LOWORD(wparam)
- # Sometimes called after OnDestroy???
- if self.command_processors is None:
- print "Ignoring OnCommand for", self._GetIDName(id)
- return
- else:
- handler = self.command_processors.get(id)
- if handler is None:
- print "Ignoring OnCommand for", self._GetIDName(id)
- return
-
- self.ApplyHandlingOptionValueError(handler.OnCommand, wparam, lparam)
-
-class ProcessorPage(ProcessorDialog):
- def __init__(self, parent, manager, config, idd, option_handlers, yoffset):
- ProcessorDialog.__init__(self, parent, manager, config, idd,option_handlers)
- self.yoffset = yoffset
- def DoInitialPosition(self):
- # The hardcoded values are a bit of a hack.
- win32gui.SetWindowPos(self.hwnd, win32con.HWND_TOP, 1, self.yoffset, 0, 0, win32con.SWP_NOSIZE)
- def CreateWindow(self):
- # modeless. Pages should have the WS_CHILD window style
- message_map = self.GetMessageMap()
- # remove frame from dialog and make sure it is a child
- self.template[0][2] = self.template[0][2] & ~(win32con.DS_MODALFRAME|win32con.WS_POPUP|win32con.WS_OVERLAPPED|win32con.WS_CAPTION)
- self.template[0][2] = self.template[0][2] | win32con.WS_CHILD
- return win32gui.CreateDialogIndirect(self.hinst, self.template, self.parent, message_map)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgutils.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgutils.py
deleted file mode 100644
index bede3cd63c2..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/dlgutils.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# Generic utilities for dialog functions.
-
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-
-def MAKELONG(l,h):
- return ((h & 0xFFFF) << 16) | (l & 0xFFFF)
-
-MAKELPARAM=MAKELONG
-
-def SetWaitCursor(wait):
- import win32gui, win32con
- if wait:
- hCursor = win32gui.LoadCursor(0, win32con.IDC_WAIT)
- else:
- hCursor = win32gui.LoadCursor(0, 0)
- win32gui.SetCursor(hCursor)
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/opt_processors.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/opt_processors.py
deleted file mode 100644
index 0a129423e29..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/opt_processors.py
+++ /dev/null
@@ -1,320 +0,0 @@
-# Option Control Processors for our dialog.
-# These are extensions to basic Control Processors that are linked with
-# Outlook-Plugin options.
-
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-
-# -*- 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 win32gui, win32api, win32con, win32ui
-import commctrl
-import struct, array
-from dlgutils import *
-import xmlrpclib
-import processors
-verbose = 0 # set to 1 to see option values fetched and set.
-# A ControlProcessor that is linked up with options. These get a bit smarter.
-class OptionControlProcessor(processors.ControlProcessor):
- def __init__(self, window, control_ids):
- processors.ControlProcessor.__init__(self, window, control_ids)
-
- def GetPopupHelpText(self, idFrom):
- doc = " ".join(self.option.doc().split())
- if self.option.default_value:
- doc += " (the default value is %s)" % self.option.default_value
- return doc
-
- # We override Init, and break it into 2 steps.
- def Init(self):
- self.UpdateControl_FromValue()
-
- def Done(self):
- self.UpdateValue_FromControl()
- return True
-
-# # Only sub-classes know how to update their controls from the value.
- def UpdateControl_FromValue(self):
- raise NotImplementedError
- def UpdateValue_FromControl(self):
- raise NotImplementedError
-
-class ComboProcessor(OptionControlProcessor):
- def __init__(self, window, control_ids, func, args):
- self.func = func
- self.args = args
- OptionControlProcessor.__init__(self, window, control_ids)
- def OnCommand(self, wparam, lparam):
- code = win32api.HIWORD(wparam)
- if code == win32con.CBN_SELCHANGE:
- self.UpdateValue_FromControl()
- def Init(self):
- self.UpdateControl_FromValue()
- def UpdateControl_FromValue(self):
- pass
- def UpdateValue_FromControl(self):
- pass
-
-class DBComboProcessor(ComboProcessor):
- def Init(self):
- self.UpdateControl_FromValue()
-
- def UpdateControl_FromValue(self):
- combo = self.GetControl()
- conn = self.func()
- list = conn.GetDBList()
- db = conn.getitem('_dbname')
- if list == -1:
- hinst = win32gui.dllhandle
- parent = self.window.hwnd
- dwStyle = win32con.WS_CHILD | win32con.WS_VISIBLE | win32con.WS_TABSTOP | win32con.WS_BORDER | \
- win32con.ES_AUTOHSCROLL | win32con.FF_ROMAN | win32con.FW_EXTRALIGHT
-
- hwndImg = win32gui.CreateWindow (
- "EDIT",
- db,
- dwStyle,
- 127,80,235,20,
- parent,
- 7000,
- 0,
- None);
- self.active_control_id = 7000
- win32gui.ShowWindow(combo, False)
- else:
- try:
- txtbx = win32gui.GetDlgItem(self.window.hwnd, 7000)
- win32gui.DestroyWindow(txtbx)
- except Exception,e:
- print "Exception : %s"%str(e)
- pass
- win32gui.ShowWindow(combo, True)
- win32gui.SendMessage(combo, win32con.CB_RESETCONTENT,0, 0);
- for item in list:
- win32gui.SendMessage(combo, win32con.CB_ADDSTRING, 0, str(item))
- sel = win32gui.SendMessage(combo, win32con.CB_SELECTSTRING, 0, db)
- dbb=win32gui.GetDlgItemText(self.window.hwnd, 2004)
- if sel == -1:
- win32gui.SendMessage(combo, win32con.CB_SETCURSEL, 0, 0)
- self.active_control_id = self.control_id
-
- def UpdateValue_FromControl(self):
- db = win32gui.GetDlgItemText(self.window.hwnd, self.active_control_id)
- conn = self.func()
- if conn.getitem('_dbname') != db:
- conn.setitem('_dbname', db)
- conn.setitem('_login', 'False')
-
-class PartnersComboProcessor(ComboProcessor):
-
- def UpdateControl_FromValue(self):
- from manager import ustr
- import win32ui
- combo = self.GetControl()
- conn = self.func()
- win32gui.SendMessage(combo, win32con.CB_RESETCONTENT,0, 0);
- id_list = {}
- p_list=[]
- try:
- p_list = list(conn.GetPartners())
- cnt=0
- for item in p_list:
- win32gui.SendMessage(combo, win32con.CB_ADDSTRING, 0, ustr(item[1]).encode('iso-8859-1'))
- id_list[cnt] = item[0]
- cnt+=1
- conn.setitem('partner_id_list', str(id_list))
- cnt = win32gui.SendMessage(combo, win32con.CB_GETCOUNT, 0, 0)
- win32gui.SendMessage(combo, win32con.CB_SETCURSEL, -1, 0)
- return
- except xmlrpclib.Fault,e:
- msg = str(e.faultCode) or e.faultString or e.message or str(e)
- except Exception,e:
- msg = str(e)
- win32ui.MessageBox(str(e),"Partners",win32con.MB_ICONEXCLAMATION)
- win32gui.DestroyWindow(self.window.hwnd)
-
- def UpdateValue_FromControl(self):
- combo = self.GetControl()
- conn = self.func()
- sel = win32gui.SendMessage(combo, win32con.CB_GETCURSEL)
- conn.setitem('sel_id', sel)
-
-class StateComboProcessor(ComboProcessor):
-
- def Init(self):
- self.UpdateControl_FromValue()
-
- def UpdateControl_FromValue(self):
- from manager import ustr
- import win32ui
- combo = self.GetControl()
- conn = self.func()
- win32gui.SendMessage(combo, win32con.CB_RESETCONTENT, 0, 0);
- id_list = {}
- state_list=[]
- try:
- state_list = list(conn.GetAllState())
- for item in state_list:
- win32gui.SendMessage(combo, win32con.CB_ADDSTRING, 0, ustr(item[1]).encode('iso-8859-1'))
- win32gui.SendMessage(combo, win32con.CB_SETCURSEL, -1, 0)
- cnt = win32gui.SendMessage(combo, win32con.CB_GETCOUNT, 0, 0)
- return
- except xmlrpclib.Fault,e:
- msg = str(e.faultCode) or e.faultString or e.message or str(e)
- win32ui.MessageBox(msg, "Open Partner")
- except Exception,e:
- win32ui.MessageBox(str(e), "Open Partner")
- def UpdateValue_FromControl(self):
- pass
-
-class CountryComboProcessor(ComboProcessor):
-
- def Init(self):
- self.UpdateControl_FromValue()
-
- def UpdateControl_FromValue(self):
- from manager import ustr
- import win32ui
- combo = self.GetControl()
- conn = self.func()
- win32gui.SendMessage(combo, win32con.CB_RESETCONTENT, 0, 0);
- id_list = {}
- state_list=[]
- try:
- country_list = list(conn.GetAllCountry())
- for item in country_list:
- win32gui.SendMessage(combo, win32con.CB_ADDSTRING, 0, ustr(item[1]).encode('iso-8859-1'))
- win32gui.SendMessage(combo, win32con.CB_SETCURSEL, -1, 0)
- cnt = win32gui.SendMessage(combo, win32con.CB_GETCOUNT, 0, 0)
- return
- except xmlrpclib.Fault,e:
- msg = str(e.faultCode) or e.faultString or e.message or str(e)
- win32ui.MessageBox(msg, "Open Partner")
- except Exception,e:
- win32ui.MessageBox(str(e), "Open Partner")
- def UpdateValue_FromControl(self):
- pass
-
-class CSComboProcessor(ComboProcessor):
- def UpdateControl_FromValue(self):
- combo = self.GetControl()
- conn = self.func()
- if str(conn.getitem('_iscrm')) == 'False':
- win32gui.EnableWindow(combo, False)
- return
- try:
- list=['CRM Lead']#, 'CRM Helpdesk', 'CRM Lead', 'CRM Meeting', 'CRM Opportunity', 'CRM Phonecall']
- objlist = conn.GetAllObjects()
- if'hr.applicant' in objlist:
- list.append('HR Applicant')
- if'project.issue' in objlist:
- list.append('Project Issue')
-
- win32gui.SendMessage(combo, win32con.CB_RESETCONTENT,0, 0);
- for item in list:
- win32gui.SendMessage(combo, win32con.CB_ADDSTRING, 0, str(item))
- win32gui.SendMessage(combo, win32con.CB_SETCURSEL, 0, 0)
- return
- except xmlrpclib.Fault,e:
- win32ui.MessageBox(str(e.faultCode),"CRM Case",win32con.MB_ICONEXCLAMATION)
- except Exception,e:
- win32ui.MessageBox(str(e),"CRM Case",win32con.MB_ICONEXCLAMATION)
-
- def UpdateValue_FromControl(self):
- pass
-
-class TextProcessor(OptionControlProcessor):
- def __init__(self, window, control_ids, func, args):
- self.func = func
- self.args = args
- OptionControlProcessor.__init__(self, window, control_ids)
-
- def UpdateControl_FromValue(self):
- args = (self,)+(self.window,) + self.args
- self.func(*args)
-
- def UpdateValue_FromControl(self):
- pass
-
-class ListBoxProcessor(OptionControlProcessor):
- def __init__(self, window, control_ids, func, args):
- self.func = func
- self.args = args
- OptionControlProcessor.__init__(self, window, control_ids)
-
- def Init(self):
- args = (self,)+(self.window,) + self.args
- if not self.init_done:
- self.func(*args)
-
- def UpdateControl_FromValue(self):
- pass
- def UpdateValue_FromControl(self):
- pass
-
-class ListBoxProcessor(OptionControlProcessor):
- def __init__(self, window, control_ids, func, args):
- self.func = func
- self.args = args
- OptionControlProcessor.__init__(self, window, control_ids)
-
- def Init(self):
- args = (self,)+(self.window,) + self.args
- if not self.init_done:
- self.func(*args)
-
- def UpdateControl_FromValue(self):
- pass
- def UpdateValue_FromControl(self):
- pass
-
-class GroupProcessor(OptionControlProcessor):
- def __init__(self, window, control_ids, func, args):
- self.func = func
- self.args = args
- OptionControlProcessor.__init__(self, window, control_ids)
- def Init(self):
- args = (self,)+(self.window,) + self.args
- self.func(*args)
- def UpdateControl_FromValue(self):
- pass
- def UpdateValue_FromControl(self):
- pass
-
-
-class ProtocolComboProcessor(ComboProcessor):
- def Init(self):
- self.UpdateControl_FromValue()
-
- def UpdateControl_FromValue(self):
- combo = self.GetControl()
- list = ['XML-RPC', 'XML-RPCS']
- win32gui.ShowWindow(combo, True)
- win32gui.SendMessage(combo, win32con.CB_RESETCONTENT, 0, 0);
- for item in list:
- win32gui.SendMessage(combo, win32con.CB_ADDSTRING, 0, str(item))
- if sel == -1:
- win32gui.SendMessage(combo, win32con.CB_SETCURSEL, 1, 0)
- self.active_control_id = self.control_id
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/processors.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/processors.py
deleted file mode 100644
index 34af9e073a4..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/processors.py
+++ /dev/null
@@ -1,147 +0,0 @@
-# Control Processors for our dialog.
-
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-
-# -*- 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 win32gui, win32api, win32con
-import commctrl
-import struct, array
-from dlgutils import *
-import win32ui
-
-# Cache our leaky bitmap handles
-bitmap_handles = {}
-
-# A generic set of "ControlProcessors". A control processor by itself only
-# does a few basic things.
-class ControlProcessor:
- def __init__(self, window, control_ids):
- self.control_id = control_ids[0]
- self.other_ids = control_ids[1:]
- self.window = window
- self.init_done=False
-
- def Init(self):
- pass
- def Done(self): # done with 'ok' - ie, save options. May return false.
- return True
- def Term(self): # closing - can't fail.
- pass
- def GetControl(self, control_id = None):
- control_id = control_id or self.control_id
- try:
- h = win32gui.GetDlgItem(self.window.hwnd, control_id)
- except:
- hparent = win32gui.GetParent(self.window.hwnd)
- hparent = win32gui.GetParent(hparent)
- h = win32gui.GetDlgItem(hparent, control_id)
- return h
- def GetPopupHelpText(self, idFrom):
- return None
- def OnCommand(self, wparam, lparam):
- pass
- def OnNotify(self, nmhdr, wparam, lparam):
- pass
- def GetMessages(self):
- return []
- def OnMessage(self, msg, wparam, lparam):
- raise RuntimeError, "I don't hook any messages, so I shouldn't be called"
- def OnOptionChanged(self, option):
- pass
- def OnRButtonUp(self, wparam, lparam):
- pass
-
-class ImageProcessor(ControlProcessor):
- def Init(self):
- rcp = self.window.manager.dialog_parser;
- bmp_id = int(win32gui.GetWindowText(self.GetControl()))
- if bitmap_handles.has_key(bmp_id):
- handle = bitmap_handles[bmp_id]
- else:
- import resources
- mod_handle, mod_bmp, extra_flags = resources.GetImageParamsFromBitmapID(rcp, bmp_id)
- load_flags = extra_flags|win32con.LR_COLOR|win32con.LR_SHARED
- handle = win32gui.LoadImage(mod_handle, mod_bmp,win32con.IMAGE_BITMAP,0,0,load_flags)
- bitmap_handles[bmp_id] = handle
- win32gui.SendMessage(self.GetControl(), win32con.STM_SETIMAGE, win32con.IMAGE_BITMAP, handle)
-
- def GetPopupHelpText(self, cid):
- return None
-
-class ButtonProcessor(ControlProcessor):
- def OnCommand(self, wparam, lparam):
- code = win32api.HIWORD(wparam)
- id = win32api.LOWORD(wparam)
- if code == win32con.BN_CLICKED:
- self.OnClicked(id)
-
-class RadioButtonProcessor(ControlProcessor):
- def __init__(self, window, control_ids, func='', args=''):
- self.func = func
- self.args = args
- ControlProcessor.__init__(self, window, control_ids)
-
- def OnCommand(self, wparam, lparam):
- code = win32api.HIWORD(wparam)
- id = win32api.LOWORD(wparam)
- if code == win32con.BN_CLICKED:
- text=win32gui.GetDlgItemText(self.window.hwnd, self.control_id)
- conn = self.func()
- conn.setitem('protocol', text)
- p=conn.getitem('protocol')
-
-class CloseButtonProcessor(ButtonProcessor):
- def OnClicked(self, id):
- win32gui.EndDialog(self.window.hwnd, id)
-
-class CancelButtonProcessor(ButtonProcessor):
- def __init__(self, window, control_ids, func, args):
- self.func = func
- self.args = args
- ControlProcessor.__init__(self, window, control_ids)
- def OnClicked(self, id):
- a=self.func(self.window)
- win32gui.EndDialog(self.window.hwnd, id)
-
-class CommandButtonProcessor(ButtonProcessor):
- def __init__(self, window, control_ids, func, args):
- self.func = func
- self.args = args
- ControlProcessor.__init__(self, window, control_ids)
-
- def OnClicked(self, id):
- # Bit of a hack - always pass the manager as the first arg.
- self.id = id
- args = (self, ) + self.args
- self.func(*args)
-
- def GetPopupHelpText(self, ctrlid):
- assert ctrlid == self.control_id
- doc = self.func.__doc__
- if doc is None:
- return ""
- return " ".join(doc.split())
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/OpenERP_Logo.bmp b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/OpenERP_Logo.bmp
deleted file mode 100644
index c8bb6091839..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/OpenERP_Logo.bmp
+++ /dev/null
Binary files differ
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/__init__.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/__init__.py
deleted file mode 100644
index cf3e416c209..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/__init__.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-
-# Package that manages and defines dialog resources
-
-def GetImageParamsFromBitmapID(rc_parser, bmpid):
- import os, sys
- import win32gui, win32con, win32api
- if type(bmpid)==type(0):
- bmpid = rc_parser.names[bmpid]
- int_bmpid = rc_parser.ids[bmpid]
- # For both binary and source versions, we currently load from files.
- # In future py2exe built binary versions we will be able to load the
- # bitmaps directly from our DLL.
- filename = rc_parser.bitmaps[bmpid]
- if hasattr(sys, "frozen"):
- # in our .exe/.dll - load from that.
- if sys.frozen=="dll":
- hmod = sys.frozendllhandle
- else:
- hmod = win32api.GetModuleHandle(None)
- return hmod, int_bmpid, 0
- else:
- # source code - load the .bmp directly.
- if not os.path.isabs(filename):
- # In this directory
- filename = os.path.join( os.path.dirname( __file__ ), filename)
- return 0, filename, win32con.LR_LOADFROMFILE
- assert 0, "not reached"
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.h b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.h
deleted file mode 100644
index 2bf0d1aec48..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.h
+++ /dev/null
@@ -1,224 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by dialogs.rc
-//
-#define IDD_MANAGER 101
-#define IDD_TRAINING 102
-#define IDD_FILTER 103
-#define IDD_FILTER_NOW 104
-#define IDD_FOLDER_SELECTOR 105
-#define IDD_ABOUT 106
-#define IDD_GENERAL 108
-
-//#define IDD_FILTER_SPAM 110
-#define IDD_FILTER_UNSURE 111
-#define IDD_DIAGNOSTIC 113
-#define IDD_WIZARD 114
-#define IDD_WIZARD_WELCOME 115
-#define IDD_WIZARD_FINISHED_UNTRAINED 116
-#define IDD_WIZARD_FOLDERS_REST 117
-#define IDD_WIZARD_FOLDERS_WATCH 118
-#define IDD_WIZARD_FINISHED_UNCONFIGURED 119
-#define IDD_WIZARD_FOLDERS_TRAIN 120
-#define IDD_WIZARD_TRAIN 121
-#define IDD_WIZARD_FINISHED_TRAINED 122
-#define IDD_WIZARD_TRAINING_IS_IMPORTANT 123
-#define IDD_WIZARD_FINISHED_TRAIN_LATER 124
-#define IDB_SBWIZLOGO 125
-#define IDB_FOLDERS 127
-#define IDC_PROGRESS 1000
-#define IDC_PROGRESS_TEXT 1001
-#define IDC_STATIC_HAM 1002
-#define IDC_STATIC_SPAM 1003
-#define IDC_BROWSE_HAM 1004
-#define IDC_BROWSE_SPAM 1005
-#define IDC_START 1006
-#define IDC_BUT_REBUILD 1007
-#define IDC_BUT_RESCORE 1008
-#define IDC_VERSION 1009
-#define IDC_BUT_TRAIN_FROM_SPAM_FOLDER 1010
-#define IDC_BUT_TRAIN_TO_SPAM_FOLDER 1011
-#define IDC_BUT_TRAIN_NOW 1012
-#define IDC_BUT_FILTER_ENABLE 1013
-#define IDC_FILTER_STATUS 1014
-#define IDC_BUT_FILTER_DEFINE 1016
-#define IDC_BUT_ABOUT 1017
-#define IDC_BUT_ACT_SCORE 1018
-#define IDC_BUT_ACT_ALL 1019
-#define IDC_BUT_UNREAD 1020
-#define IDC_BUT_UNSEEN 1021
-#define IDC_SLIDER_CERTAIN 1023
-#define IDC_EDIT_CERTAIN 1024
-#define IDC_ACTION_CERTAIN 1025
-#define IDC_FOLDER_CERTAIN 1027
-#define IDC_BROWSE_CERTAIN 1028
-#define IDC_SLIDER_UNSURE 1029
-#define IDC_EDIT_UNSURE 1030
-#define IDC_ACTION_UNSURE 1031
-#define IDC_FOLDER_UNSURE 1033
-#define IDC_BROWSE_UNSURE 1034
-#define IDC_TRAINING_STATUS 1035
-#define IDC_FOLDER_NAMES 1036
-#define IDC_BROWSE 1037
-#define IDC_FOLDER_WATCH 1038
-#define IDC_BROWSE_WATCH 1039
-#define IDC_LIST_FOLDERS 1040
-#define IDC_BUT_SEARCHSUB 1041
-#define IDC_BUT_CLEARALL 1042
-#define IDC_STATUS1 1043
-#define IDC_STATUS2 1044
-#define IDC_BUT_NEW 1046
-#define IDC_MARK_SPAM_AS_READ 1047
-#define IDC_SAVE_SPAM_SCORE 1048
-#define IDC_MARK_UNSURE_AS_READ 1051
-#define IDC_DELAY1_SLIDER 1056
-#define IDC_DELAY1_TEXT 1057
-#define IDC_DELAY2_SLIDER 1058
-#define IDC_DELAY2_TEXT 1059
-#define IDC_INBOX_TIMER_ONLY 1060
-#define IDC_VERBOSE_LOG 1061
-#define IDB_OPENERPLOGO 1062
-#define IDC_TAB 1068
-#define IDC_BACK_BTN 1069
-#define IDC_BUT_WIZARD 1070
-#define IDC_SHOW_DATA_FOLDER 1071
-#define IDC_ABOUT_BTN 1072
-#define IDC_BUT_RESET 1073
-#define IDC_DEL_SPAM_RS 1074
-#define IDC_RECOVER_RS 1075
-#define IDC_FORWARD_BTN 1077
-#define IDC_PAGE_PLACEHOLDER 1078
-#define IDC_BUT_SHOW_DIAGNOSTICS 1080
-#define IDC_BUT_PREPARATION 1081
-#define IDC_FOLDER_HAM 1083
-#define IDC_BUT_UNTRAINED 1088
-#define IDC_BUT_TRAIN 1089
-#define IDC_BUT_TIMER_ENABLED 1091
-#define IDC_WIZ_GRAPHIC 1092
-#define IDC_BUT_VIEW_LOG 1093
-#define IDC_EDIT1 1094
-#define IDC_STATISTICS 1095
-
-#define ID_SERVER 2001
-#define ID_PORT 2002
-#define ID_SERVER_PORT 2003
-#define ID_DB_DROPDOWNLIST 2004
-#define ID_USERNAME 2005
-#define ID_PASSWORD 2006
-#define ID_BUT_TESTCONNECTION 2007
-#define ID_DONE 2008
-#define IDD_OBJECT_SETTINGS 2009
-#define IDC_BUT_LOAD_IMAGE 2010
-#define IDC_BUT_SAVE_OBJECT 2011
-#define IDC_BUT_DEL_OBJECT 2012
-#define IDC_OBJECT_TITLE 2013
-#define IDC_OBJECT_NAME 2014
-#define IDC_IMAGE_PATH 2015
-#define IDC_LIST 2016
-#define IDC_HEADER 2017
-#define ID_CREATE_CONTACT 2018
-#define ID_MAKE_ATTACHMENT 2019
-#define ID_CREATE_CASE 2020
-#define IDC_BUT_SET_SERVER_PORT 2021
-#define IDD_SERVER_PORT_DIALOG 2022
-#define IDC_CHKBX 2023
-#define IDC_STATIC_GROUP 2024
-#define ID_ATT_METHOD_DROPDOWNLIST 2025
-#define IDC_NAME_LIST 2026
-#define IDD_ABOUT 2027
-#define IDC_ABOUT 2028
-#define IDC_CONTACT_LIST 2029
-#define ID_NAME_TEXT 2030
-#define IDD_NEW_CONTACT_DIALOG 2031
-#define ID_PARTNER_DROPDOWNLIST 2032
-#define ID_NEW_PARTNER_BUTTON 2033
-#define IDD_NEW_PARTNER_DIALOG 2034
-#define ID_SAVE_PARTNER_BUTTON 2035
-#define ID_PARTNER_NAME_TEXT 2036
-#define IDC_NAME_LIST1 2037
-#define IDC_RELOAD 2038
-#define ID_PROTOCOL_GRP 2040
-#define IDR_XML_PROTOCOL 2041
-#define IDR_XMLS_PROTOCOL 2042
-#define IDR_NETRPC_PROTOCOL 2043
-#define IDD_VIEW_PARTNER_DIALOG 2044
-#define IDET_PARTNER_NAME 2045
-#define IDET_PARTNER_CONTACT_NAME 2046
-#define IDET_PARTNER_EMAIL 2047
-#define IDET_PARTNER_OFFICENO 2048
-#define IDET_PARTNER_MOBILENO 2050
-#define IDET_SEARCH_PARTNER 2051
-#define IDPB_SEARCH_PARTNER 2052
-#define IDET_PARTNER_STREET 2053
-#define IDET_PARTNER_STREET2 2054
-#define IDET_PARTNER_COUNTRY 2057
-#define IDET_PARTNER_FAX 2058
-#define IDPB_WRITE_CHANGES 2059
-#define ID_ALL_STATE_DROPDOWNLIST 2060
-#define ID_ALL_COUNTRY_DROPDOWNLIST 2061
-#define IDET_PARTNER_STATE 2062
-#define IDET_PARTNER_COUNTRY 2063
-#define IDET_PARTNER 2064
-//
-#define ID_STREET_TEXT 2062
-#define ID_STREET2_TEXT 2063
-#define ID_FED_STATE_DROPLIST 2064
-#define ID_COUNTRY_DROPLIST 2065
-#define ID_FAX_TEXT 2066
-#define ID_PARTNER_CITY_TEXT 2067
-#define ID_ZIP_TEXT 2068
-#define ID_PARTNER_DROPLIST 2069
-#define ID_NEW_PART_BUTTON 2070
-#define IDPB_NEWPARTNER_BUTTON 2071
-#define IDD_SELECT_PARTNER 2073
-#define IDC_LIST_PARTNER 2072
-#define IDPB_SELECT_PARTNER 2075
-#define IDET_PARTNER_SEARCH_NAME 2076
-#define IDPB_PARTNER_SEARCH 2077
-#define IDPB_CREATE_NEW_PARTNER 2078
-#define ID_PARTNER_TEXT 2079
-#define IDET_WED_SERVER 2080
-#define IDET_WEB_PORT 2081
-#define ID_SET_WEB_CONNECTION 2082
-#define IDPB_WEB_CONNECTION 2083
-#define IDD_OPEN_PARTNER_DIALOG 2084
-#define IDET_PARTNER_LINK_TEXT 2085
-#define IDEB_OPENDOC_LINK_TEXT 2086
-#define IDD_OPEN_DOCUEMNT_DIALOG 2087
-#define IDD_WEB_SERVER_PORT_DIALOG 2088
-#define IDET_WEB_SERVER 2089
-#define IDET_WEB_PORT 2090
-#define ID_WEB_OK 2091
-#define IDPB_NEW_PARTNER_BUTTON 2092
-#define IDPB_NEW_PART_BUTTON 2093
-#define IDD_SELECT_COUNTRY 2094
-#define IDET_COUNTRY_SEARCH_NAME 2095
-#define IDC_LIST_COUNTRY 2096
-#define IDPB_SELECT_COUNTRY 2097
-#define IDPB_SEARCH_COUNTRY 2098
-#define IDD_SELECT_STATE 2099
-#define IDET_STATE_SEARCH_NAME 2100
-#define IDC_LIST_STATE 2101
-#define IDPB_SELECT_STATE 2102
-#define IDPB_SEARCH_STATE 2103
-#define IDPB_SEARCH_STATE1 2104
-#define IDPB_SEARCH_COUNTRY1 2105
-
-#define IDET_NC_PARTNER_STATE 2106
-#define IDPB_NC_SEARCH_STATE1 2107
-#define IDET_NC_PARTNER_COUNTRY 2108
-#define IDPB_NC_SEARCH_COUNTRY1 2109
-#define ID_DROPDOWNLIST_PROTOCOL 2110
-#define IDCB_WEB_SECURE 2111
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 128
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1096
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
-
-
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.py
deleted file mode 100644
index e1e8bac21d7..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.py
+++ /dev/null
@@ -1,13 +0,0 @@
-#C:\Program Files\Openerp Outlook Addin\dialogs\resources\dialogs.py
-#This is a generated file. Please edit C:\Program Files\Openerp Outlook Addin\dialogs\resources\dialogs.rc instead.
-_rc_size_=16350
-_rc_mtime_=1296608638
-class FakeParser:
- dialogs = {'IDD_OPEN_DOCUEMNT_DIALOG': [['Open Document', (0, 0, 200, 65), -1865940928, 1024, (8, 'Tahoma')], [130, 'Link to Document : (If this link does not opens directly in web browser then copy an the link and paste in web browser.) ', -1, (5, 3, 190, 25), 1342177280], [129, '', 2086, (5, 31, 190, 12), 1350631552], [128, 'Ok', 2, (150, 45, 45, 14), 1342242816]], 'IDD_VIEW_PARTNER_DIALOG': [['Open Contact', (0, 0, 350, 215), -1865940928, 1024, (8, 'Tahoma')], [130, 'Email ID : ', -1, (32, 17, 40, 12), 1342177280], [129, '', 2051, (70, 15, 200, 12), 1350631552], [128, 'Search Contact ', 2052, (280, 15, 60, 14), 1342242816], [130, 'Partner Name : ', -1, (13, 42, 50, 17), 1342177280], [129, '', 2064, (70, 42, 150, 12), 1350568064], [128, 'Search Partner', 2070, (225, 41, 60, 14), 1342242816], [128, 'New Partner', 2093, (290, 41, 50, 14), 1342242816], [128, 'Postal Address ', 2024, (10, 65, 175, 125), 1342177287], [130, 'Contact Name : ', -1, (18, 83, 50, 17), 1342177280], [129, '', 2046, (76, 82, 100, 12), 1350631552], [130, 'Street : ', -1, (18, 97, 50, 17), 1342177280], [129, '', 2053, (76, 96, 100, 12), 1350631552], [130, 'Street2 : ', -1, (18, 112, 50, 17), 1342177280], [129, '', 2054, (76, 111, 100, 12), 1350631552], [130, 'Zip : ', -1, (18, 126, 50, 14), 1342177280], [129, '', 40010, (76, 125, 100, 12), 1350631552], [130, 'City : ', -1, (18, 140, 50, 17), 1342177280], [129, '', 40011, (76, 139, 100, 12), 1350631552], [130, 'Fed. State : ', -1, (18, 154, 50, 17), 1342177280], [129, '', 2062, (76, 153, 54, 12), 1350568064], [128, 'Search', 2104, (135, 153, 40, 12), 1342242816], [130, 'Country :', -1, (18, 169, 35, 17), 1342177280], [129, '', 2063, (76, 168, 54, 12), 1350568064], [128, 'Search', 2105, (135, 168, 40, 12), 1342242816], [128, 'Communication ', 2024, (188, 65, 152, 125), 1342177287], [130, 'Phone : ', -1, (194, 83, 30, 17), 1342177280], [129, '', 2048, (224, 82, 100, 12), 1350631552], [130, 'Mobile : ', -1, (194, 97, 30, 17), 1342177280], [129, '', 2050, (224, 96, 100, 12), 1350631552], [130, 'Email : ', -1, (194, 111, 30, 17), 1342177280], [129, '', 2058, (224, 110, 100, 12), 1350568064], [130, 'Fax : ', -1, (194, 125, 30, 17), 1342177280], [129, '', 2047, (224, 124, 100, 12), 1350631552], [128, 'Create a New Contact', 2071, (124, 195, 82, 14), 1342242816], [128, 'Save', 2059, (213, 195, 60, 14), 1342242816], [128, 'Cancel', 2, (281, 195, 60, 14), 1342242816]], 'IDD_OPEN_PARTNER_DIALOG': [['Open Partner', (0, 0, 200, 65), -1865940928, 1024, (8, 'Tahoma')], [130, 'Link to Partner : (If this link does not opens directly in web browser then copy an the link and paste in web browser.) ', -1, (5, 3, 190, 25), 1342177280], [129, '', 2085, (5, 31, 190, 12), 1350631552], [128, 'Ok', 2, (150, 45, 45, 13), 1342242816]], 'IDD_SELECT_STATE': [['Search Fed. State', (0, 0, 220, 250), -1865940928, 1024, (8, 'Tahoma')], [130, 'Enter Name : ', -1, (8, 12, 80, 17), 1342177280], [129, '', 2100, (55, 10, 100, 12), 1350631552], [128, 'Search', 40012, (160, 10, 50, 14), 1342242816], ['SysListView32', 'List1', 2101, (8, 40, 200, 185), 1353711657], [128, 'Select', 2102, (170, 230, 40, 14), 1342242816]], 'IDD_GENERAL': [['Connection Parameters', (0, 0, 430, 210), 1355284544, None, (8, 'Tahoma')], [128, 'Connection Parameters', 2024, (10, 10, 250, 130), 1342177287], [130, 'Server : ', -1, (30, 30, 100, 17), 1342177280], [129, '', 2003, (85, 30, 120, 12), 1350633472], [128, 'Change', 2021, (210, 30, 30, 13), 1342242816], [130, 'Database : ', -1, (30, 50, 100, 17), 1342177280], [133, '', 2004, (85, 50, 154, 40), 1344339971], [130, 'Username : ', -1, (30, 70, 100, 17), 1342177280], [129, '', 2005, (85, 70, 154, 12), 1350631552], [130, 'Password : ', -1, (30, 90, 100, 17), 1342177280], [129, '', 2006, (85, 90, 154, 12), 1350631584], [128, 'Connect', 2007, (179, 110, 60, 13), 1342242816], [128, 'WebServer Parameters', 2024, (270, 10, 150, 130), 1342177287], [130, 'Server : ', -1, (280, 30, 50, 15), 1342177280], [129, '', 2080, (310, 29, 90, 12), 1350568064], [128, 'Change', 2082, (295, 50, 50, 12), 1342242816], [128, 'Connect', 2083, (350, 50, 50, 12), 1342242816]], 'IDD_OBJECT_SETTINGS': [['Documents Setting', (0, 0, 430, 210), 1355284672, 1024, (8, 'Tahoma')], [128, 'Document Attributes', 2024, (2, 2, 343, 32), 1342177287], [130, 'Title:', -1, (5, 16, 30, 17), 1342177280], [129, '', 2013, (22, 14, 57, 12), 1350631552], [130, 'Document Name:', -1, (83, 16, 60, 17), 1342177280], [129, '', 2014, (138, 14, 57, 12), 1350631552], [130, 'Image:', -1, (200, 16, 22, 17), 1342177280], [129, '', 2015, (223, 14, 57, 12), 1350631552], [128, 'Load Image', 2010, (289, 13, 50, 15), 1342242816], [128, 'Add', 2011, (350, 13, 38, 15), 1342242816], [128, 'Delete', 2012, (392, 13, 38, 15), 1342242816], ['SysListView32', 'List1', 2016, (8, 40, 535, 160), 1353711657]], 'IDD_NEW_PARTNER_DIALOG': [['Create a New Partner', (0, 0, 140, 40), -1865940928, 1024, (8, 'Tahoma')], [130, 'Name : ', -1, (5, 3, 100, 17), 1342177280], [129, '', 2036, (40, 3, 94, 12), 1350631552], [128, 'Cancel', 2, (90, 22, 45, 14), 1342242816], [128, 'Save', 2035, (40, 22, 45, 14), 1342242817]], 'IDD_MANAGER': [['OpenERP Configuration', (0, 0, 460, 260), -1865940800, None, (8, 'Tahoma')], [128, 'Close', 2008, (400, 239, 50, 14), 1342177281], ['SysTabControl32', '', 1068, (8, 7, 440, 228), 1342177280], ['SysListView32', '', 2016, (0, 0, 0, 0), 1353711657]], 'IDD_WEB_SERVER_PORT_DIALOG': [['OpenERP Connection', (0, 0, 160, 80), -1865940928, 1024, (8, 'Tahoma')], [130, 'Server : ', -1, (5, 3, 150, 17), 1342177280], [129, '', 2089, (40, 3, 100, 12), 1350631552], [130, 'Port : ', -1, (5, 18, 100, 17), 1342177280], [129, '', 2090, (40, 18, 100, 12), 1350631552], [128, 'Close', 2, (110, 50, 45, 14), 1342242816], [128, 'OK', 2091, (50, 50, 50, 14), 1342242817], [128, 'SSL (https)', 2111, (20, 35, 100, 14), 1342242819]], 'IDD_ABOUT': [['About', (0, 0, 430, 210), 1355284672, 1024, (8, 'Tahoma')], [128, 'About Plugin', -1, (7, 3, 422, 200), 1342177287], [130, '1062', 1062, (60, 30, 20, 20), 1342179342], [130, '', 2028, (80, 90, 300, 100), 1342177280]], 'IDD_NEW_CONTACT_DIALOG': [['Create a New Contact', (0, 0, 350, 180), -1865940928, 1024, (8, 'Tahoma')], [130, 'Select Partner : ', -1, (13, 20, 50, 17), 1342177280], [129, '', 2079, (70, 18, 150, 12), 1350568064], [128, 'Search Partner', 2033, (225, 17, 60, 14), 1342242816], [128, 'New Partner', 2092, (290, 17, 50, 14), 1342242816], [128, 'Postal Address ', 2024, (10, 35, 175, 123), 1342177287], [130, 'Contact Name : ', -1, (18, 53, 100, 17), 1342177280], [129, '', 40005, (76, 52, 100, 12), 1350631552], [130, 'Street : ', -1, (18, 67, 40, 17), 1342177280], [129, '', 2062, (76, 66, 100, 12), 1350631552], [130, 'Street2 : ', -1, (18, 81, 40, 17), 1342177280], [129, '', 2063, (76, 80, 100, 12), 1350631552], [130, 'Zip : ', -1, (18, 94, 50, 17), 1342177280], [129, '', 2068, (76, 93, 100, 12), 1350631552], [130, 'City : ', -1, (18, 106, 50, 17), 1342177280], [129, '', 2067, (76, 107, 100, 12), 1350631552], [130, 'Fed. State : ', -1, (18, 134, 50, 15), 1342177280], [129, '', 2106, (76, 135, 54, 12), 1350568064], [128, 'Search', 2107, (135, 136, 40, 12), 1342242816], [130, 'Country :', -1, (18, 121, 35, 15), 1342177280], [129, '', 2108, (76, 122, 54, 12), 1350568064], [128, 'Search', 2109, (135, 121, 40, 12), 1342242816], [128, 'Communication ', 2024, (188, 35, 150, 123), 1342177287], [130, 'Office : ', -1, (194, 53, 30, 17), 1342177280], [129, '', 40006, (224, 52, 100, 12), 1350631552], [130, 'Mobile : ', -1, (194, 67, 30, 17), 1342177280], [129, '', 40007, (224, 66, 100, 12), 1350631552], [130, 'Fax : ', -1, (194, 81, 30, 17), 1342177280], [129, '', 2066, (224, 80, 100, 12), 1350631552], [130, 'Email : ', -1, (194, 95, 30, 17), 1342177280], [129, '', 40008, (224, 94, 100, 12), 1350631552], [128, 'Cancel', 2, (290, 162, 45, 13), 1342242816], [128, 'Save', 40009, (240, 162, 45, 13), 1342242816]], 'IDD_SERVER_PORT_DIALOG': [['OpenERP Connection', (0, 0, 160, 90), -1865940928, 1024, (8, 'Tahoma')], [130, 'Server : ', -1, (5, 3, 150, 17), 1342177280], [129, '', 2001, (45, 3, 100, 12), 1350631552], [130, ' Port : ', -1, (5, 18, 100, 17), 1342177280], [129, '', 2002, (45, 18, 100, 12), 1350631552], [128, '', 2024, (5, 35, 150, 5), 1342177287], [130, 'Protocol Connection :', -1, (5, 45, 80, 17), 1342177280], [133, '', 2110, (75, 43, 75, 50), 1344339971], [128, 'Close', 2, (60, 70, 45, 14), 1342242816], [128, 'OK', 1, (110, 70, 45, 14), 1342242817]], 'IDD_SELECT_PARTNER': [['Search Partner', (0, 0, 220, 250), -1865940928, 1024, (8, 'Tahoma')], [130, 'Enter Name : ', -1, (8, 12, 80, 17), 1342177280], [129, '', 2076, (55, 10, 100, 12), 1350631552], [128, 'Search', 2077, (160, 10, 50, 14), 1342242816], ['SysListView32', 'List1', 2072, (8, 40, 200, 185), 1353711657], [128, 'Create New Partner', 2078, (10, 230, 100, 14), 1342242816], [128, 'Select', 2075, (170, 230, 40, 14), 1342242816]], 'IDD_SYNC': [['Push to OpenERP', (0, 0, 470, 320), -1865940928, 1024, (8, 'Tahoma')], [128, 'Link to an Existing Documents ', 2024, (8, 5, 250, 290), 1342242823], [130, 'Search : ', -1, (15, 17, 40, 12), 1342177280], [129, '', 40003, (60, 15, 120, 12), 1350631552], [128, 'Search', 40004, (187, 15, 40, 14), 1342242816], [130, 'Documents : ', -1, (15, 140, 100, 14), 1342177280], ['SysListView32', 'List1', 2026, (15, 150, 234, 110), 1350631433], [128, 'Push', 2019, (160, 270, 85, 14), 1342242816], [128, ' Create a New Document ', 2024, (263, 5, 202, 100), 1342242823], [130, 'Type of Document : ', -1, (266, 25, 100, 12), 1342177280], [133, '', 2025, (332, 24, 75, 45), 1344339971], [128, 'Create', 2020, (412, 23, 50, 14), 1342242816], [128, ' Create a New Contact ', 2024, (263, 110, 202, 185), 1342242823], [130, 'Create a New Contact : ', -1, (280, 140, 100, 12), 1342177280], [128, 'Create Contact', 2018, (360, 138, 60, 14), 1342242816], [128, 'Close', 2, (385, 300, 60, 14), 1342242816]], 'IDD_SELECT_COUNTRY': [['Search Country', (0, 0, 220, 250), -1865940928, 1024, (8, 'Tahoma')], [130, 'Enter Name : ', -1, (8, 12, 80, 17), 1342177280], [129, '', 2095, (55, 10, 100, 12), 1350631552], [128, 'Search', 2098, (160, 10, 50, 14), 1342242816], ['SysListView32', 'List1', 2096, (8, 40, 200, 185), 1353711657], [128, 'Select', 2097, (170, 230, 40, 14), 1342242816]]}
- ids = {'IDC_BUT_DEL_OBJECT': 2012, 'IDD_OPEN_PARTNER_DIALOG': 2084, 'IDD_SELECT_STATE': 2099, 'IDC_DELAY1_SLIDER': 1056, 'IDC_PROGRESS': 1000, 'IDD_MANAGER': 101, 'IDC_ABOUT': 2028, 'IDD_DIAGNOSTIC': 113, 'IDET_PARTNER_COUNTRY': 2063, 'IDD_TRAINING': 102, 'ID_CONTACT_EMAIL_TEXT': 40008, 'IDC_DELAY2_TEXT': 1059, 'IDC_DELAY1_TEXT': 1057, 'IDD_WIZARD': 114, 'IDC_CHKBX': 2023, 'IDC_STATIC_HAM': 1002, 'IDC_PROGRESS_TEXT': 1001, 'IDR_XMLS_PROTOCOL': 2042, 'IDD_GENERAL': 108, 'IDD_ABOUT': 2027, 'IDD_SYNC': 40002, 'IDC_TAB': 1068, 'IDC_FOLDER_UNSURE': 1033, '_APS_NEXT_SYMED_VALUE': 101, 'IDC_VERBOSE_LOG': 1061, 'IDC_EDIT1': 1094, 'IDC_BROWSE': 1037, 'ID_DB_DROPDOWNLIST': 2004, 'IDC_BACK_BTN': 1069, 'ID_CONTACT_NAME_TEXT': 40005, 'IDPB_PARTNER_SEARCH': 2077, 'IDD_WIZARD_FINISHED_UNCONFIGURED': 119, 'IDC_ACTION_CERTAIN': 1025, 'IDC_BUT_ACT_ALL': 1019, 'IDD_FILTER_NOW': 104, 'IDET_WED_SERVER': 2080, 'ID_WEB_OK': 2091, 'ID_PROTOCOL_GRP': 2040, 'IDC_HEADER': 2017, 'IDC_MARK_SPAM_AS_READ': 1047, 'IDPB_NEW_PARTNER_BUTTON': 2092, 'ID_PARTNER_NAME_TEXT': 2036, 'IDC_RECOVER_RS': 1075, 'IDC_NAME_LIST1': 2037, 'ID_CONTACT_OFFICE_TEXT': 40006, 'IDC_STATIC': -1, 'IDC_PAGE_PLACEHOLDER': 1078, 'IDC_BROWSE_WATCH': 1039, 'IDET_ZIP': 40010, 'IDET_PARTNER_CITY': 40011, 'IDET_PARTNER_LINK_TEXT': 2085, 'IDC_FOLDER_HAM': 1083, 'IDC_LIST_COUNTRY': 2096, 'IDD_WIZARD_FOLDERS_REST': 117, 'IDC_SHOW_DATA_FOLDER': 1071, 'IDC_BUT_ACT_SCORE': 1018, 'IDET_STATE_SEARCH_NAME': 2100, 'IDET_WEB_SERVER': 2089, '_APS_NEXT_RESOURCE_VALUE': 128, 'ID_SET_WEB_CONNECTION': 2082, 'ID_DROPDOWNLIST_PROTOCOL': 2110, 'IDC_LIST_STATE': 2101, 'IDC_CONTACT_LIST': 2029, 'IDC_SLIDER_CERTAIN': 1023, 'IDET_PARTNER_STREET': 2053, 'IDC_BUT_UNREAD': 1020, 'ID_PARTNER_DROPDOWNLIST': 2032, 'ID_COUNTRY_DROPLIST': 2065, 'IDC_BUT_ABOUT': 1017, 'IDC_BUT_RESCORE': 1008, 'IDC_BUT_SEARCHSUB': 1041, 'IDC_BUT_TRAIN_FROM_SPAM_FOLDER': 1010, 'IDET_PARTNER_MOBILENO': 2050, 'ID_CONTACT_MOBILE_TEXT': 40007, 'IDD_VIEW_PARTNER_DIALOG': 2044, 'IDD_WIZARD_FOLDERS_TRAIN': 120, 'IDC_BUT_FILTER_ENABLE': 1013, 'IDPB_WEB_CONNECTION': 2083, 'IDC_ABOUT_BTN': 1072, 'IDD_WIZARD_FINISHED_TRAINED': 122, 'ID_SERVER': 2001, 'IDD_SELECT_PARTNER': 2073, 'IDET_NC_PARTNER_STATE': 2106, 'IDD_FOLDER_SELECTOR': 105, 'IDC_BUT_SET_SERVER_PORT': 2021, 'ID_DONE': 2008, 'IDC_LIST_FOLDERS': 1040, 'IDC_IMAGE_PATH': 2015, 'IDB_SBWIZLOGO': 125, 'IDB_OPENERPLOGO': 1062, 'ID_ZIP_TEXT': 2068, 'IDEB_OPENDOC_LINK_TEXT': 2086, 'IDD_NEW_PARTNER_DIALOG': 2034, 'ID_PARTNER_DROPLIST': 2069, 'IDC_BUT_VIEW_LOG': 1093, 'IDC_STATUS2': 1044, 'IDC_STATUS1': 1043, 'IDCANCEL': 2, 'IDC_BROWSE_HAM': 1004, 'ID_BUT_TESTCONNECTION': 2007, 'IDR_NETRPC_PROTOCOL': 2043, 'IDC_BROWSE_SPAM': 1005, 'IDCB_WEB_SECURE': 2111, 'IDD_OPEN_DOCUEMNT_DIALOG': 2087, 'IDD_WIZARD_FINISHED_UNTRAINED': 116, 'IDC_MARK_UNSURE_AS_READ': 1051, 'IDPB_SEARCH_COUNTRY1': 2105, 'ID_PARTNER_CITY_TEXT': 2067, 'IDC_BUT_WIZARD': 1070, 'IDC_VERSION': 1009, 'ID_NEW_PARTNER_BUTTON': 2033, 'IDC_FOLDER_NAMES': 1036, 'ID_ATT_METHOD_DROPDOWNLIST': 2025, 'IDC_BUT_TIMER_ENABLED': 1091, 'IDPB_WRITE_CHANGES': 2059, 'IDC_SLIDER_UNSURE': 1029, 'IDC_BUT_NEW': 1046, 'IDC_FOLDER_WATCH': 1038, 'IDPB_CREATE_NEW_PARTNER': 2078, 'IDC_BUT_UNTRAINED': 1088, 'IDC_STATIC_SPAM': 1003, 'IDD_NEW_CONTACT_DIALOG': 2031, 'IDC_EDIT_UNSURE': 1030, 'IDC_BUT_CLEARALL': 1042, 'IDC_BUT_UNSEEN': 1021, 'IDC_OBJECT_NAME': 2014, 'IDD_WIZARD_FOLDERS_WATCH': 118, 'IDPB_SEARCH_STATE': 2103, 'IDET_COUNTRY_SEARCH_NAME': 2095, 'IDC_BUT_SAVE_OBJECT': 2011, 'ID_FED_STATE_DROPLIST': 2064, 'ID_ALL_COUNTRY_DROPDOWNLIST': 2061, 'IDC_EDIT_CERTAIN': 1024, 'IDC_BUT_FILTER_DEFINE': 1016, 'ID_NEW_PART_BUTTON': 2070, 'ID_FAX_TEXT': 2066, 'IDD_WIZARD_TRAINING_IS_IMPORTANT': 123, 'ID_ALL_STATE_DROPDOWNLIST': 2060, 'IDPB_SEARCH_STATE1': 2104, 'IDC_INBOX_TIMER_ONLY': 1060, 'IDPB_SEARCH_PARTNER': 2052, 'ID_USERNAME': 2005, '_APS_NEXT_CONTROL_VALUE': 1096, 'IDC_WIZ_GRAPHIC': 1092, 'IDD_OBJECT_SETTINGS': 2009, 'IDD_FILTER_UNSURE': 111, 'IDC_DEL_SPAM_RS': 1074, 'IDD_SELECT_COUNTRY': 2094, 'ID_SERVER_PORT': 2003, 'IDR_XML_PROTOCOL': 2041, 'IDET_PARTNER_OFFICENO': 2048, 'IDB_FOLDERS': 127, 'IDC_BUT_PREPARATION': 1081, 'ID_STREET2_TEXT': 2063, 'IDC_DELAY2_SLIDER': 1058, 'IDET_PARTNER': 2064, 'IDC_SAVE_SPAM_SCORE': 1048, 'IDC_OBJECT_TITLE': 2013, 'IDC_FOLDER_CERTAIN': 1027, 'IDET_WEB_PORT': 2090, 'IDC_BROWSE_UNSURE': 1034, 'IDC_STATISTICS': 1095, 'IDPB_STATE_SEARCH': 40012, 'ID_MAKE_ATTACHMENT': 2019, 'IDC_BUT_LOAD_IMAGE': 2010, 'IDC_NAME_LIST': 2026, 'IDC_BUT_TRAIN_TO_SPAM_FOLDER': 1011, 'IDET_PARTNER_SEARCH_NAME': 2076, 'IDC_BUT_RESET': 1073, 'ID_SEARCH': 40004, 'IDET_PARTNER_CONTACT_NAME': 2046, 'IDPB_SELECT_STATE': 2102, 'IDC_ACTION_UNSURE': 1031, 'IDD_WIZARD_TRAIN': 121, 'IDC_STATIC_GROUP': 2024, 'IDPB_NEWPARTNER_BUTTON': 2071, 'ID_PARTNER_TEXT': 2079, 'IDD_WIZARD_FINISHED_TRAIN_LATER': 124, 'IDET_PARTNER_NAME': 2045, 'IDPB_NEW_PART_BUTTON': 2093, 'IDC_BUT_REBUILD': 1007, 'IDET_PARTNER_STREET2': 2054, 'IDPB_SEARCH_COUNTRY': 2098, 'ID_SAVE_PARTNER_BUTTON': 2035, 'IDPB_SELECT_PARTNER': 2075, 'ID_STREET_TEXT': 2062, '_APS_NEXT_COMMAND_VALUE': 40001, 'IDET_SEARCH_PARTNER': 2051, 'IDC_LIST_PARTNER': 2072, 'IDD_WEB_SERVER_PORT_DIALOG': 2088, 'ID_PORT': 2002, 'IDD_SERVER_PORT_DIALOG': 2022, 'IDET_PARTNER_STATE': 2062, 'IDPB_SELECT_COUNTRY': 2097, 'ID_SEARCH_TEXT': 40003, 'IDET_NC_PARTNER_COUNTRY': 2108, 'ID_CREATE_CONTACT': 2018, 'IDC_FORWARD_BTN': 1077, 'IDC_TRAINING_STATUS': 1035, 'IDD_WIZARD_WELCOME': 115, 'IDET_PARTNER_FAX': 2058, 'IDC_BUT_TRAIN': 1089, 'IDC_LIST': 2016, 'ID_CREATE_CASE': 2020, 'IDET_PARTNER_EMAIL': 2047, 'IDC_START': 1006, 'IDD_FILTER': 103, 'IDC_RELOAD': 2038, 'ID_PASSWORD': 2006, 'ID_NAME_TEXT': 2030, 'IDC_FILTER_STATUS': 1014, 'IDPB_NC_SEARCH_STATE1': 2107, 'ID_CONTACT_SAVE_BUTTON': 40009, 'IDOK': 1, 'IDC_BROWSE_CERTAIN': 1028, 'IDC_BUT_SHOW_DIAGNOSTICS': 1080, 'IDC_BUT_TRAIN_NOW': 1012, 'IDPB_NC_SEARCH_COUNTRY1': 2109}
- names = {1024: 'IDC_EDIT_CERTAIN', 1: 'IDOK', 2: 'IDCANCEL', 1027: 'IDC_FOLDER_CERTAIN', 1028: 'IDC_BROWSE_CERTAIN', 1029: 'IDC_SLIDER_UNSURE', 1030: 'IDC_EDIT_UNSURE', 1031: 'IDC_ACTION_UNSURE', 1033: 'IDC_FOLDER_UNSURE', 1034: 'IDC_BROWSE_UNSURE', 1035: 'IDC_TRAINING_STATUS', 1036: 'IDC_FOLDER_NAMES', 1037: 'IDC_BROWSE', 1038: 'IDC_FOLDER_WATCH', 1039: 'IDC_BROWSE_WATCH', 1040: 'IDC_LIST_FOLDERS', 1041: 'IDC_BUT_SEARCHSUB', 1042: 'IDC_BUT_CLEARALL', 1043: 'IDC_STATUS1', 1044: 'IDC_STATUS2', 2069: 'ID_PARTNER_DROPLIST', 1046: 'IDC_BUT_NEW', 1047: 'IDC_MARK_SPAM_AS_READ', 1048: 'IDC_SAVE_SPAM_SCORE', 2052: 'IDPB_SEARCH_PARTNER', 1051: 'IDC_MARK_UNSURE_AS_READ', 2076: 'IDET_PARTNER_SEARCH_NAME', 2077: 'IDPB_PARTNER_SEARCH', 2078: 'IDPB_CREATE_NEW_PARTNER', 2053: 'IDET_PARTNER_STREET', 1056: 'IDC_DELAY1_SLIDER', 1057: 'IDC_DELAY1_TEXT', 1058: 'IDC_DELAY2_SLIDER', 1059: 'IDC_DELAY2_TEXT', 1060: 'IDC_INBOX_TIMER_ONLY', 1061: 'IDC_VERBOSE_LOG', 1062: 'IDB_OPENERPLOGO', 2047: 'IDET_PARTNER_EMAIL', 2088: 'IDD_WEB_SERVER_PORT_DIALOG', 2089: 'IDET_WEB_SERVER', 2090: 'IDET_WEB_PORT', 2091: 'ID_WEB_OK', 1068: 'IDC_TAB', 1069: 'IDC_BACK_BTN', 1070: 'IDC_BUT_WIZARD', 1071: 'IDC_SHOW_DATA_FOLDER', 1072: 'IDC_ABOUT_BTN', 1073: 'IDC_BUT_RESET', 1074: 'IDC_DEL_SPAM_RS', 1075: 'IDC_RECOVER_RS', 2100: 'IDET_STATE_SEARCH_NAME', 1077: 'IDC_FORWARD_BTN', 1078: 'IDC_PAGE_PLACEHOLDER', 2057: 'IDET_PARTNER_COUNTRY', 1080: 'IDC_BUT_SHOW_DIAGNOSTICS', 1081: 'IDC_BUT_PREPARATION', 2106: 'IDET_NC_PARTNER_STATE', 1083: 'IDC_FOLDER_HAM', 2108: 'IDET_NC_PARTNER_COUNTRY', 2058: 'IDET_PARTNER_FAX', 2110: 'ID_DROPDOWNLIST_PROTOCOL', 2111: 'IDCB_WEB_SECURE', 1088: 'IDC_BUT_UNTRAINED', 1089: 'IDC_BUT_TRAIN', 40002: 'IDD_SYNC', 1091: 'IDC_BUT_TIMER_ENABLED', 1025: 'IDC_ACTION_CERTAIN', 1093: 'IDC_BUT_VIEW_LOG', 1094: 'IDC_EDIT1', 1095: 'IDC_STATISTICS', 1096: '_APS_NEXT_CONTROL_VALUE', 2060: 'ID_ALL_STATE_DROPDOWNLIST', 40010: 'IDET_ZIP', 40011: 'IDET_PARTNER_CITY', 40012: 'IDPB_STATE_SEARCH', 2061: 'ID_ALL_COUNTRY_DROPDOWNLIST', 2062: 'IDET_PARTNER_STATE', 2063: 'IDET_PARTNER_COUNTRY', 2064: 'IDET_PARTNER', 101: 'IDD_MANAGER', 102: 'IDD_TRAINING', 103: 'IDD_FILTER', 104: 'IDD_FILTER_NOW', 105: 'IDD_FOLDER_SELECTOR', 106: 'IDD_ABOUT', 108: 'IDD_GENERAL', 2066: 'ID_FAX_TEXT', 111: 'IDD_FILTER_UNSURE', 113: 'IDD_DIAGNOSTIC', 114: 'IDD_WIZARD', 115: 'IDD_WIZARD_WELCOME', 116: 'IDD_WIZARD_FINISHED_UNTRAINED', 117: 'IDD_WIZARD_FOLDERS_REST', 118: 'IDD_WIZARD_FOLDERS_WATCH', 119: 'IDD_WIZARD_FINISHED_UNCONFIGURED', 120: 'IDD_WIZARD_FOLDERS_TRAIN', 121: 'IDD_WIZARD_TRAIN', 122: 'IDD_WIZARD_FINISHED_TRAINED', 123: 'IDD_WIZARD_TRAINING_IS_IMPORTANT', 124: 'IDD_WIZARD_FINISHED_TRAIN_LATER', 125: 'IDB_SBWIZLOGO', 127: 'IDB_FOLDERS', 2067: 'ID_PARTNER_CITY_TEXT', 2050: 'IDET_PARTNER_MOBILENO', 2070: 'ID_NEW_PART_BUTTON', 2071: 'IDPB_NEWPARTNER_BUTTON', 2072: 'IDC_LIST_PARTNER', 2073: 'IDD_SELECT_PARTNER', 2068: 'ID_ZIP_TEXT', 2051: 'IDET_SEARCH_PARTNER', 2075: 'IDPB_SELECT_PARTNER', 2079: 'ID_PARTNER_TEXT', 2080: 'IDET_WED_SERVER', 2081: 'IDET_WEB_PORT', 2082: 'ID_SET_WEB_CONNECTION', 2083: 'IDPB_WEB_CONNECTION', 2084: 'IDD_OPEN_PARTNER_DIALOG', 2085: 'IDET_PARTNER_LINK_TEXT', 40004: 'ID_SEARCH', 2086: 'IDEB_OPENDOC_LINK_TEXT', 2087: 'IDD_OPEN_DOCUEMNT_DIALOG', 2046: 'IDET_PARTNER_CONTACT_NAME', 2105: 'IDPB_SEARCH_COUNTRY1', 2054: 'IDET_PARTNER_STREET2', 128: '_APS_NEXT_RESOURCE_VALUE', 2092: 'IDPB_NEW_PARTNER_BUTTON', 2093: 'IDPB_NEW_PART_BUTTON', 2094: 'IDD_SELECT_COUNTRY', 2095: 'IDET_COUNTRY_SEARCH_NAME', 2096: 'IDC_LIST_COUNTRY', 2097: 'IDPB_SELECT_COUNTRY', 2098: 'IDPB_SEARCH_COUNTRY', 2099: 'IDD_SELECT_STATE', 2101: 'IDC_LIST_STATE', 2102: 'IDPB_SELECT_STATE', 2103: 'IDPB_SEARCH_STATE', 2104: 'IDPB_SEARCH_STATE1', 2040: 'ID_PROTOCOL_GRP', 2065: 'ID_COUNTRY_DROPLIST', 2048: 'IDET_PARTNER_OFFICENO', 2107: 'IDPB_NC_SEARCH_STATE1', 2109: 'IDPB_NC_SEARCH_COUNTRY1', 2024: 'IDC_STATIC_GROUP', 2041: 'IDR_XML_PROTOCOL', 2025: 'ID_ATT_METHOD_DROPDOWNLIST', 2026: 'IDC_NAME_LIST', 2027: 'IDD_ABOUT', 40001: '_APS_NEXT_COMMAND_VALUE', 2028: 'IDC_ABOUT', 2029: 'IDC_CONTACT_LIST', 2059: 'IDPB_WRITE_CHANGES', 2042: 'IDR_XMLS_PROTOCOL', 40003: 'ID_SEARCH_TEXT', 2030: 'ID_NAME_TEXT', 1092: 'IDC_WIZ_GRAPHIC', 2031: 'IDD_NEW_CONTACT_DIALOG', 40005: 'ID_CONTACT_NAME_TEXT', 2032: 'ID_PARTNER_DROPDOWNLIST', 40006: 'ID_CONTACT_OFFICE_TEXT', 2033: 'ID_NEW_PARTNER_BUTTON', 40007: 'ID_CONTACT_MOBILE_TEXT', 2034: 'IDD_NEW_PARTNER_DIALOG', 2043: 'IDR_NETRPC_PROTOCOL', 40008: 'ID_CONTACT_EMAIL_TEXT', 2035: 'ID_SAVE_PARTNER_BUTTON', 40009: 'ID_CONTACT_SAVE_BUTTON', 2036: 'ID_PARTNER_NAME_TEXT', 2037: 'IDC_NAME_LIST1', 2038: 'IDC_RELOAD', 2044: 'IDD_VIEW_PARTNER_DIALOG', 2001: 'ID_SERVER', 2002: 'ID_PORT', 2003: 'ID_SERVER_PORT', 2004: 'ID_DB_DROPDOWNLIST', 2005: 'ID_USERNAME', 2006: 'ID_PASSWORD', 2007: 'ID_BUT_TESTCONNECTION', 2008: 'ID_DONE', 2009: 'IDD_OBJECT_SETTINGS', 2010: 'IDC_BUT_LOAD_IMAGE', 2011: 'IDC_BUT_SAVE_OBJECT', 2012: 'IDC_BUT_DEL_OBJECT', 2013: 'IDC_OBJECT_TITLE', 2014: 'IDC_OBJECT_NAME', 2015: 'IDC_IMAGE_PATH', 2016: 'IDC_LIST', 2017: 'IDC_HEADER', 2018: 'ID_CREATE_CONTACT', 2019: 'ID_MAKE_ATTACHMENT', 2020: 'ID_CREATE_CASE', 2021: 'IDC_BUT_SET_SERVER_PORT', 2022: 'IDD_SERVER_PORT_DIALOG', 2023: 'IDC_CHKBX', 1000: 'IDC_PROGRESS', 1001: 'IDC_PROGRESS_TEXT', 1002: 'IDC_STATIC_HAM', 1003: 'IDC_STATIC_SPAM', 1004: 'IDC_BROWSE_HAM', 1005: 'IDC_BROWSE_SPAM', 1006: 'IDC_START', 1007: 'IDC_BUT_REBUILD', 1008: 'IDC_BUT_RESCORE', 1009: 'IDC_VERSION', 1010: 'IDC_BUT_TRAIN_FROM_SPAM_FOLDER', 1011: 'IDC_BUT_TRAIN_TO_SPAM_FOLDER', 1012: 'IDC_BUT_TRAIN_NOW', 1013: 'IDC_BUT_FILTER_ENABLE', 1014: 'IDC_FILTER_STATUS', 2045: 'IDET_PARTNER_NAME', 1016: 'IDC_BUT_FILTER_DEFINE', 1017: 'IDC_BUT_ABOUT', 1018: 'IDC_BUT_ACT_SCORE', 1019: 'IDC_BUT_ACT_ALL', 1020: 'IDC_BUT_UNREAD', 1021: 'IDC_BUT_UNSEEN', -1: 'IDC_STATIC', 1023: 'IDC_SLIDER_CERTAIN'}
- bitmaps = {'IDB_OPENERPLOGO': 'OpenERP_Logo.bmp'}
-def ParseDialogs(s):
- return FakeParser()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.rc b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.rc
deleted file mode 100644
index b402e4b7958..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/dialogs.rc
+++ /dev/null
@@ -1,339 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "dialogs.h"
-
-IDB_OPENERPLOGO BITMAP "OpenERP_Logo.bmp"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_MANAGER DIALOGEX 0, 0, 460, 260
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME
-CAPTION "OpenERP Configuration"
-FONT 8, "Tahoma", 1000, 0, 0x0
-BEGIN
- DEFPUSHBUTTON "Close",ID_DONE,400,239,50,14//,WS_VISIBLE //| WS_TABSTOP
- CONTROL "",IDC_TAB,"SysTabControl32",0x0,8,7,440,228
- CONTROL "",IDC_LIST,"SysListView32",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL |
- LVS_SHOWSELALWAYS | LVS_REPORT | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES,0,0,0,0
-END
-
-IDD_GENERAL DIALOGEX 0, 0, 430, 210
-STYLE DS_SETFONT | WS_CHILD | WS_CAPTION | WS_SYSMENU
-CAPTION "Connection Parameters"
-FONT 8, "Tahoma", 0, 0, 0x1
-BEGIN
- GROUPBOX "Connection Parameters",IDC_STATIC_GROUP, 10, 10,250,130
- LTEXT "Server : ",IDC_STATIC,30,30,100,17
- EDITTEXT ID_SERVER_PORT,85,30,120,12,ES_READONLY | WS_VISIBLE | WS_TABSTOP// left top width height
- PUSHBUTTON "Change",IDC_BUT_SET_SERVER_PORT,210,30,30,13, WS_VISIBLE | WS_TABSTOP
- LTEXT "Database : ",IDC_STATIC,30,50,100,17
- COMBOBOX ID_DB_DROPDOWNLIST,85,50,154,40,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_VISIBLE | WS_TABSTOP
-
- LTEXT "Username : ",IDC_STATIC,30,70,100,17
- EDITTEXT ID_USERNAME,85,70,154,12,ES_AUTOHSCROLL | WS_VISIBLE | WS_TABSTOP
- LTEXT "Password : ",IDC_STATIC,30,90,100,17
- EDITTEXT ID_PASSWORD,85,90,154,12,ES_AUTOHSCROLL | WS_VISIBLE | WS_TABSTOP | ES_PASSWORD
- PUSHBUTTON "Connect",ID_BUT_TESTCONNECTION,179,110,60,13, WS_VISIBLE | WS_TABSTOP
-
- GROUPBOX "WebServer Parameters",IDC_STATIC_GROUP, 270, 10,150,130
- LTEXT "Server : ",IDC_STATIC, 280, 30, 50, 15
- EDITTEXT IDET_WED_SERVER,310, 29, 90, 12,ES_AUTOHSCROLL | ES_READONLY
- PUSHBUTTON "Change",ID_SET_WEB_CONNECTION, 295, 50, 50, 12 , WS_VISIBLE | WS_TABSTOP
- PUSHBUTTON "Connect",IDPB_WEB_CONNECTION, 350, 50, 50, 12 , WS_VISIBLE | WS_TABSTOP
-END
-
-IDD_OBJECT_SETTINGS DIALOGEX 0, 0, 430, 210
-STYLE DS_SETFONT | DS_MODALFRAME | WS_CHILD | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "Documents Setting"
-FONT 8, "Tahoma", 0, 0, 0x1
-BEGIN
- GROUPBOX "Document Attributes",IDC_STATIC_GROUP, 2, 2, 343, 32
-
- LTEXT "Title:",IDC_STATIC,5,16,30,17
- EDITTEXT IDC_OBJECT_TITLE,22,14,57,12,ES_AUTOHSCROLL | WS_TABSTOP// left top width height
- LTEXT "Document Name:",IDC_STATIC,83,16,60,17
- EDITTEXT IDC_OBJECT_NAME,138,14,57,12,ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Image:",IDC_STATIC,200,16,22,17
- EDITTEXT IDC_IMAGE_PATH,223,14,57,12,ES_AUTOHSCROLL | WS_TABSTOP
- PUSHBUTTON "Load Image",IDC_BUT_LOAD_IMAGE,289,13,50,15,WS_TABSTOP
- PUSHBUTTON "Add",IDC_BUT_SAVE_OBJECT,350,13,38,15,WS_TABSTOP
- PUSHBUTTON "Delete",IDC_BUT_DEL_OBJECT,392,13,38,15,WS_TABSTOP
- CONTROL "List1",IDC_LIST,"SysListView32",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL |
- LVS_SHOWSELALWAYS | LVS_EX_GRIDLINES | LVS_REPORT | LVS_EX_FULLROWSELECT, 8,40,535,160
-END
-
-IDD_ABOUT DIALOGEX 0, 0, 430, 210
-STYLE DS_SETFONT | DS_MODALFRAME | WS_CHILD | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "About"
-FONT 8, "Tahoma", 400, 0, 0x0
-BEGIN
- GROUPBOX "About Plugin",IDC_STATIC,7,3,422,200
- CONTROL 1062,IDB_OPENERPLOGO,"Static",SS_BITMAP | SS_REALSIZEIMAGE,60,30,20,20
- LTEXT "",IDC_ABOUT,80,90,300,100
-END
-
-IDD_SERVER_PORT_DIALOG DIALOGEX 0, 0, 160, 90
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "OpenERP Connection"
-FONT 8, "Tahoma", 400, 0, 0x0
-BEGIN
- LTEXT "Server : ",IDC_STATIC,5,3,150,17
- EDITTEXT ID_SERVER, 45, 3, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT " Port : ",IDC_STATIC,5,18,100,17
- EDITTEXT ID_PORT, 45, 18, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
-
- GROUPBOX "", IDC_STATIC_GROUP, 5, 35, 150, 5
- LTEXT "Protocol Connection :", IDC_STATIC, 5, 45, 80, 17
- COMBOBOX ID_DROPDOWNLIST_PROTOCOL, 75, 43, 75, 50, CBS_DROPDOWNLIST |WS_VSCROLL | WS_VISIBLE | WS_TABSTOP
-
- PUSHBUTTON "Close",IDCANCEL,60,70,45,14,WS_TABSTOP
- DEFPUSHBUTTON "OK",IDOK,110,70,45,14,WS_TABSTOP
-END
-
-IDD_SYNC DIALOGEX 0, 0, 470, 320
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "Push to OpenERP"
-FONT 8, "Tahoma", 1000, 0, 0x0
-BEGIN
- GROUPBOX "Link to an Existing Documents ", IDC_STATIC_GROUP, 8,5,250,290,WS_TABSTOP
- LTEXT "Search : ",IDC_STATIC,15,17,40,12
- EDITTEXT ID_SEARCH_TEXT,60,15,120,12,ES_AUTOHSCROLL | WS_TABSTOP// left top width height
- PUSHBUTTON "Search",ID_SEARCH,187,15,40,14,WS_TABSTOP
- LTEXT "Documents : ",IDC_STATIC,15,140,100,14
- CONTROL "List1",IDC_NAME_LIST,"SysListView32",WS_CHILD | WS_VISIBLE | WS_BORDER | LVS_SHOWSELALWAYS | LVS_REPORT | WS_TABSTOP, 15,150,234,110
- PUSHBUTTON "Push",ID_MAKE_ATTACHMENT,160,270,85,14,WS_TABSTOP
-
- GROUPBOX " Create a New Document ", IDC_STATIC_GROUP, 263,5,202,100,WS_TABSTOP
- LTEXT "Type of Document : ",IDC_STATIC,266,25,100,12
- COMBOBOX ID_ATT_METHOD_DROPDOWNLIST,332,24,75,45,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON "Create",ID_CREATE_CASE,412,23,50,14,WS_TABSTOP
-
- GROUPBOX " Create a New Contact ", IDC_STATIC_GROUP, 263, 110,202,185,WS_TABSTOP
- LTEXT "Create a New Contact : ",IDC_STATIC,280,140,100,12
- PUSHBUTTON "Create Contact",ID_CREATE_CONTACT,360,138,60,14,WS_TABSTOP
- PUSHBUTTON "Close",IDCANCEL,385,300,60,14,WS_TABSTOP
-END
-
-IDD_NEW_CONTACT_DIALOG DIALOGEX 0, 0, 350, 180
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "Create a New Contact"
-FONT 8, "Tahoma", 1000, 0, 0x0
-BEGIN
-
- LTEXT "Select Partner : ",IDC_STATIC,13,20,50,17
- EDITTEXT ID_PARTNER_TEXT, 70, 18, 150, 12 , ES_AUTOHSCROLL |ES_READONLY
- PUSHBUTTON "Search Partner",ID_NEW_PARTNER_BUTTON,225,17,60,14, WS_TABSTOP
- PUSHBUTTON "New Partner",IDPB_NEW_PARTNER_BUTTON,290, 17, 50, 14, WS_TABSTOP
-
- GROUPBOX "Postal Address ", IDC_STATIC_GROUP,10,35,175,123
- LTEXT "Contact Name : ",IDC_STATIC, 18, 53, 100, 17
- EDITTEXT ID_CONTACT_NAME_TEXT, 76, 52, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Street : ",IDC_STATIC, 18, 67, 40, 17
- EDITTEXT ID_STREET_TEXT, 76, 66, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Street2 : ",IDC_STATIC, 18, 81, 40, 17
- EDITTEXT ID_STREET2_TEXT, 76, 80, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Zip : ",IDC_STATIC, 18, 94, 50, 17
- EDITTEXT ID_ZIP_TEXT,76, 93, 100, 12,ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "City : ",IDC_STATIC, 18,106, 50, 17
- EDITTEXT ID_PARTNER_CITY_TEXT,76,107,100,12,ES_AUTOHSCROLL | WS_TABSTOP
-
-
- LTEXT "Fed. State : ",IDC_STATIC,18, 134, 50, 15
- EDITTEXT IDET_NC_PARTNER_STATE, 76, 135, 54, 12,ES_AUTOHSCROLL |ES_READONLY
- PUSHBUTTON "Search", IDPB_NC_SEARCH_STATE1 ,135, 136, 40, 12, WS_TABSTOP
-
- LTEXT "Country :",IDC_STATIC, 18,121,35,15
- EDITTEXT IDET_NC_PARTNER_COUNTRY, 76, 122, 54, 12,ES_AUTOHSCROLL |ES_READONLY
- PUSHBUTTON "Search", IDPB_NC_SEARCH_COUNTRY1, 135, 121, 40, 12, WS_TABSTOP
-
-
- GROUPBOX "Communication ", IDC_STATIC_GROUP, 188, 35, 150, 123
- LTEXT "Office : ",IDC_STATIC,194, 53, 30, 17
- EDITTEXT ID_CONTACT_OFFICE_TEXT, 224, 52, 100, 12,ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Mobile : ",IDC_STATIC,194, 67, 30, 17
- EDITTEXT ID_CONTACT_MOBILE_TEXT, 224, 66, 100, 12,ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Fax : ",IDC_STATIC,194, 81, 30, 17
- EDITTEXT ID_FAX_TEXT, 224, 80, 100, 12,ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Email : ",IDC_STATIC, 194, 95, 30, 17
- EDITTEXT ID_CONTACT_EMAIL_TEXT, 224, 94, 100, 12,ES_AUTOHSCROLL | WS_TABSTOP
-
- PUSHBUTTON "Cancel",IDCANCEL,290,162,45,13, WS_TABSTOP
- PUSHBUTTON "Save",ID_CONTACT_SAVE_BUTTON,240,162,45,13, WS_TABSTOP
-END
-
-IDD_NEW_PARTNER_DIALOG DIALOGEX 0, 0, 140,40
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "Create a New Partner"
-FONT 8, "Tahoma", 400, 0, 0x0
-BEGIN
- LTEXT "Name : ",IDC_STATIC,5,3,100,17
- EDITTEXT ID_PARTNER_NAME_TEXT,40,3,94,12,ES_AUTOHSCROLL | WS_TABSTOP
- PUSHBUTTON "Cancel",IDCANCEL,90,22,45,14,WS_TABSTOP
- DEFPUSHBUTTON "Save",ID_SAVE_PARTNER_BUTTON,40,22,45,14,WS_TABSTOP
-END
-
-IDD_VIEW_PARTNER_DIALOG DIALOGEX 0, 0, 350, 215
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "Open Contact"
-FONT 8, "Tahoma", 400, 0, 0x0
-BEGIN
- LTEXT "Email ID : ",IDC_STATIC,32,17,40,12
- EDITTEXT IDET_SEARCH_PARTNER, 70, 15, 200, 12, ES_AUTOHSCROLL | WS_TABSTOP
- PUSHBUTTON "Search Contact ",IDPB_SEARCH_PARTNER,280,15,60,14,WS_TABSTOP
-
- LTEXT "Partner Name : ",IDC_STATIC,13,42,50,17
- EDITTEXT IDET_PARTNER,70, 42, 150, 12,ES_AUTOHSCROLL |ES_READONLY
- PUSHBUTTON "Search Partner",ID_NEW_PART_BUTTON,225,41,60,14, WS_TABSTOP
- PUSHBUTTON "New Partner",IDPB_NEW_PART_BUTTON,290,41,50,14, WS_TABSTOP
-
- GROUPBOX "Postal Address ", IDC_STATIC_GROUP,10,65,175,125
- LTEXT "Contact Name : ",IDC_STATIC,18,83,50,17
- EDITTEXT IDET_PARTNER_CONTACT_NAME,76,82,100,12,ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Street : ",IDC_STATIC,18,97,50,17
- EDITTEXT IDET_PARTNER_STREET,76,96,100,12,ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Street2 : ",IDC_STATIC,18,112,50,17
- EDITTEXT IDET_PARTNER_STREET2, 76, 111, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Zip : ",IDC_STATIC, 18, 126, 50,14
- EDITTEXT IDET_ZIP, 76, 125, 100, 12 , ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "City : ",IDC_STATIC,18,140,50,17
- EDITTEXT IDET_PARTNER_CITY,76,139,100,12,ES_AUTOHSCROLL | WS_TABSTOP
-
- LTEXT "Fed. State : ",IDC_STATIC,18,154,50,17
- EDITTEXT IDET_PARTNER_STATE, 76, 153, 54, 12,ES_AUTOHSCROLL |ES_READONLY
- PUSHBUTTON "Search", IDPB_SEARCH_STATE1 ,135, 153, 40, 12, WS_TABSTOP
-
- LTEXT "Country :",IDC_STATIC, 18, 169, 35, 17
- EDITTEXT IDET_PARTNER_COUNTRY, 76, 168, 54, 12,ES_AUTOHSCROLL |ES_READONLY
- PUSHBUTTON "Search", IDPB_SEARCH_COUNTRY1, 135, 168, 40, 12, WS_TABSTOP
-
- GROUPBOX "Communication ", IDC_STATIC_GROUP, 188, 65, 152, 125
- LTEXT "Phone : ",IDC_STATIC, 194, 83, 30, 17
- EDITTEXT IDET_PARTNER_OFFICENO, 224, 82, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Mobile : ",IDC_STATIC, 194, 97, 30, 17
- EDITTEXT IDET_PARTNER_MOBILENO, 224, 96, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Email : ",IDC_STATIC, 194, 111, 30, 17
- EDITTEXT IDET_PARTNER_FAX, 224, 110, 100, 12, ES_AUTOHSCROLL |ES_READONLY
- LTEXT "Fax : ",IDC_STATIC,194,125,30,17
- EDITTEXT IDET_PARTNER_EMAIL, 224, 124, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
-
- PUSHBUTTON "Create a New Contact", IDPB_NEWPARTNER_BUTTON, 124, 195, 82, 14, WS_TABSTOP
- PUSHBUTTON "Save", IDPB_WRITE_CHANGES, 213, 195, 60, 14, WS_TABSTOP
- PUSHBUTTON "Cancel", IDCANCEL, 281, 195, 60, 14, WS_TABSTOP
-END
-
-IDD_SELECT_PARTNER DIALOGEX 0, 0, 220, 250
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "Search Partner"
-FONT 8, "Tahoma", 400, 0, 0x0
-BEGIN
-
- LTEXT "Enter Name : ",IDC_STATIC,8,12,80,17
- EDITTEXT IDET_PARTNER_SEARCH_NAME, 55, 10, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
- PUSHBUTTON "Search", IDPB_PARTNER_SEARCH, 160, 10, 50, 14, WS_TABSTOP
-
- CONTROL "List1",IDC_LIST_PARTNER,"SysListView32",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL |
- LVS_SHOWSELALWAYS | LVS_EX_GRIDLINES | LVS_REPORT | LVS_EX_FULLROWSELECT, 8,40,200,185
- PUSHBUTTON "Create New Partner", IDPB_CREATE_NEW_PARTNER, 10, 230, 100, 14, WS_TABSTOP
- PUSHBUTTON "Select", IDPB_SELECT_PARTNER, 170, 230, 40, 14, WS_TABSTOP
-END
-
-IDD_OPEN_PARTNER_DIALOG DIALOGEX 0, 0, 200,65
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "Open Partner"
-FONT 8, "Tahoma", 400, 0, 0x0
-BEGIN
- LTEXT "Link to Partner : (If this link does not opens directly in web browser then copy an the link and paste in web browser.) ",IDC_STATIC,5,3,190,25
- EDITTEXT IDET_PARTNER_LINK_TEXT,5,31,190,12,ES_AUTOHSCROLL | WS_TABSTOP
- PUSHBUTTON "Ok",IDCANCEL,150,45,45,13,WS_TABSTOP
-
-END
-
-IDD_OPEN_DOCUEMNT_DIALOG DIALOGEX 0, 0, 200,65
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "Open Document"
-FONT 8, "Tahoma", 400, 0, 0x0
-BEGIN
- LTEXT "Link to Document : (If this link does not opens directly in web browser then copy an the link and paste in web browser.) ",IDC_STATIC,5,3,190,25
- EDITTEXT IDEB_OPENDOC_LINK_TEXT,5,31,190,12,ES_AUTOHSCROLL | WS_TABSTOP
- PUSHBUTTON "Ok",IDCANCEL,150,45,45,14,WS_TABSTOP
-END
-
-IDD_WEB_SERVER_PORT_DIALOG DIALOGEX 0, 0, 160, 80
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "OpenERP Connection"
-FONT 8, "Tahoma", 400, 0, 0x0
-BEGIN
- LTEXT "Server : ",IDC_STATIC,5,3,150,17
- EDITTEXT IDET_WEB_SERVER,40,3,100,12,ES_AUTOHSCROLL | WS_TABSTOP
- LTEXT "Port : ",IDC_STATIC,5,18,100,17
- EDITTEXT IDET_WEB_PORT,40,18,100,12,ES_AUTOHSCROLL | WS_TABSTOP
- PUSHBUTTON "Close",IDCANCEL,110,50,45,14,WS_TABSTOP
- DEFPUSHBUTTON "OK",ID_WEB_OK,50,50,50,14,WS_TABSTOP
- PUSHBUTTON "SSL (https)",IDCB_WEB_SECURE,20,35,100,14,BS_AUTOCHECKBOX | BST_CHECKED |WS_TABSTOP
-END
-
-IDD_SELECT_COUNTRY DIALOGEX 0, 0, 220, 250
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "Search Country"
-FONT 8, "Tahoma", 400, 0, 0x0
-BEGIN
-
- LTEXT "Enter Name : ",IDC_STATIC,8,12,80,17
- EDITTEXT IDET_COUNTRY_SEARCH_NAME, 55, 10, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
- PUSHBUTTON "Search", IDPB_SEARCH_COUNTRY, 160, 10, 50, 14, WS_TABSTOP
- CONTROL "List1",IDC_LIST_COUNTRY,"SysListView32",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL |
- LVS_SHOWSELALWAYS | LVS_EX_GRIDLINES | LVS_REPORT | LVS_EX_FULLROWSELECT, 8,40,200,185
- PUSHBUTTON "Select", IDPB_SELECT_COUNTRY, 170, 230, 40, 14, WS_TABSTOP
-END
-
-IDD_SELECT_STATE DIALOGEX 0, 0, 220, 250
-STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
-EXSTYLE WS_EX_CONTEXTHELP
-CAPTION "Search Fed. State"
-FONT 8, "Tahoma", 400, 0, 0x0
-BEGIN
-
- LTEXT "Enter Name : ",IDC_STATIC,8,12,80,17
- EDITTEXT IDET_STATE_SEARCH_NAME, 55, 10, 100, 12, ES_AUTOHSCROLL | WS_TABSTOP
- PUSHBUTTON "Search", IDPB_STATE_SEARCH, 160, 10, 50, 14, WS_TABSTOP
-
- CONTROL "List1",IDC_LIST_STATE,"SysListView32",WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL |
- LVS_SHOWSELALWAYS | LVS_EX_GRIDLINES | LVS_REPORT | LVS_EX_FULLROWSELECT, 8,40,200,185
- PUSHBUTTON "Select", IDPB_SELECT_STATE, 170, 230, 40, 14, WS_TABSTOP
-END
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo.png b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo.png
deleted file mode 100644
index 1b7461953a1..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo.png
+++ /dev/null
Binary files differ
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo1.bmp b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo1.bmp
deleted file mode 100644
index 4e40d9e989a..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/openerp_logo1.bmp
+++ /dev/null
Binary files differ
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rc2py.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rc2py.py
deleted file mode 100644
index 68d62fc7060..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rc2py.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# rc2py.py
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-__author__="Adam Walker"
-__doc__=""""
-Converts an .rc windows resource source file into a python source file
-with the same basic public interface as the rcparser module.
-"""
-import sys, os, stat
-import rcparser
-
-def convert(inputFilename = None, outputFilename = None):
- """See the module doc string"""
- if inputFilename is None:
- inputFilename = "dialogs.rc"
- if outputFilename is None:
- outputFilename = "test.py"
- rcp = rcparser.ParseDialogs(inputFilename)
- in_stat = os.stat(inputFilename)
-
- out = open(outputFilename, "wt")
- out.write("#%s\n" % outputFilename)
- out.write("#This is a generated file. Please edit %s instead.\n" % inputFilename)
- out.write("_rc_size_=%d\n_rc_mtime_=%d\n" % (in_stat[stat.ST_SIZE], in_stat[stat.ST_MTIME]))
- out.write("class FakeParser:\n")
- out.write("\tdialogs = "+repr(rcp.dialogs)+"\n")
- out.write("\tids = "+repr(rcp.ids)+"\n")
- out.write("\tnames = "+repr(rcp.names)+"\n")
- out.write("\tbitmaps = "+repr(rcp.bitmaps)+"\n")
- out.write("def ParseDialogs(s):\n")
- out.write("\treturn FakeParser()\n")
- out.close()
-
-if __name__=="__main__":
- if len(sys.argv)>1:
- convert(sys.argv[1], sys.argv[2])
- else:
- convert()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rcparser.py b/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rcparser.py
deleted file mode 100644
index ed20f80e3d4..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/dialogs/resources/rcparser.py
+++ /dev/null
@@ -1,379 +0,0 @@
-# Windows dialog .RC file parser, by Adam Walker.
-
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-__author__="Adam Walker"
-
-import sys, os, shlex
-import win32con
-#import win32gui
-import commctrl
-
-_controlMap = {"DEFPUSHBUTTON":0x80,
- "PUSHBUTTON":0x80,
- "Button":0x80,
- "GROUPBOX":0x80,
- "Static":0x82,
- "CTEXT":0x82,
- "RTEXT":0x82,
- "LTEXT":0x82,
- "LISTBOX":0x83,
- "SCROLLBAR":0x84,
- "COMBOBOX":0x85,
- "EDITTEXT":0x81,
- }
-
-_addDefaults = {"EDITTEXT":win32con.WS_BORDER,
- "GROUPBOX":win32con.BS_GROUPBOX,
- "LTEXT":win32con.SS_LEFT,
- "DEFPUSHBUTTON":win32con.BS_DEFPUSHBUTTON,
- "CTEXT":win32con.SS_CENTER,
- "RTEXT":win32con.SS_RIGHT}
-
-defaultControlStyle = win32con.WS_CHILD | win32con.WS_VISIBLE
-class DialogDef:
- name = ""
- id = 0
- style = 0
- styleEx = None
- caption = ""
- font = "MS Sans Serif"
- fontSize = 8
- x = 0
- y = 0
- w = 0
- h = 0
- template = None
- def __init__(self, n, i):
- self.name = n
- self.id = i
- self.styles = []
- self.stylesEx = []
- self.controls = []
- #print "dialog def for ",self.name, self.id
- def createDialogTemplate(self):
- t = None
- self.template = [[self.caption, (self.x,self.y,self.w,self.h), self.style, self.styleEx, (self.fontSize, self.font)]]
- # Add the controls
- for control in self.controls:
- self.template.append(control.createDialogTemplate())
- return self.template
-
-class ControlDef:
- id = ""
- controlType = ""
- subType = ""
- idNum = 0
- style = defaultControlStyle
- label = ""
- x = 0
- y = 0
- w = 0
- h = 0
- def __init__(self):
- self.styles = []
- def toString(self):
- s = "<Control id:"+self.id+" controlType:"+self.controlType+" subType:"+self.subType\
- +" idNum:"+str(self.idNum)+" style:"+str(self.style)+" styles:"+str(self.styles)+" label:"+self.label\
- +" x:"+str(self.x)+" y:"+str(self.y)+" w:"+str(self.w)+" h:"+str(self.h)+">"
- return s
- def createDialogTemplate(self):
- ct = self.controlType
- if "CONTROL"==ct:
- ct = self.subType
- if ct in _addDefaults:
- self.style |= _addDefaults[ct]
- if ct in _controlMap:
- ct = _controlMap[ct]
- t = [ct, self.label, self.idNum, (self.x, self.y, self.w, self.h), self.style]
- #print t
- return t
-
-
-class RCParser:
- next_id = 1001
- dialogs = {}
- _dialogs = {}
- debugEnabled = False;
- token = ""
-
- def __init__(self):
- self.ids = {"IDOK":1, "IDCANCEL":2, "IDC_STATIC": -1}
- self.names = {1:"IDOK", 2:"IDCANCEL", -1:"IDC_STATIC"}
- self.bitmaps = {}
-
- def debug(self, *args):
- if self.debugEnabled:
- print args
-
- def getToken(self):
- self.token = self.lex.get_token()
- self.debug("getToken returns:", self.token)
- if self.token=="":
- self.token = None
- return self.token
-
- def getCommaToken(self):
- tok = self.getToken()
- assert tok == ",", "Token '%s' should be a comma!" % tok
-
- def loadDialogs(self, rcFileName):
- """
- RCParser.loadDialogs(rcFileName) -> None
- Load the dialog information into the parser. Dialog Definations can then be accessed
- using the "dialogs" dictionary member (name->DialogDef). The "ids" member contains the dictionary of id->name.
- The "names" member contains the dictionary of name->id
- """
- hFileName = rcFileName[:-2]+"h"
- try:
- h = open(hFileName, "rU")
- self.parseH(h)
- h.close()
- except OSError:
- print "No .h file. ignoring."
- f = open(rcFileName)
- self.open(f)
- self.getToken()
- while self.token!=None:
- self.parse()
- self.getToken()
- f.close()
- def open(self, file):
- self.lex = shlex.shlex(file)
- self.lex.commenters = "//#"
-
- def parseH(self, file):
- lex = shlex.shlex(file)
- lex.commenters = "//"
- token = " "
- while token is not None:
- token = lex.get_token()
- if token == "" or token is None:
- token = None
- else:
- if token=='define':
- n = lex.get_token()
- i = int(lex.get_token())
- self.ids[n] = i
- if self.names.has_key(i):
- # ignore AppStudio special ones.
- if not n.startswith("_APS_"):
- print "Duplicate id",i,"for",n,"is", self.names[i]
- else:
- self.names[i] = n
- if self.next_id<=i:
- self.next_id = i+1
-
- def parse(self):
- deep = 0
- if self.token == None:
- more == None
- elif "BEGIN" == self.token:
- deep = 1
- while deep!=0:
- self.getToken()
- if "BEGIN" == self.token:
- deep += 1
- elif "END" == self.token:
- deep -= 1
- elif "IDD_" == self.token[:4]:
- possibleDlgName = self.token
- #print "possible dialog:", possibleDlgName
- self.getToken()
- if "DIALOG" == self.token or "DIALOGEX" == self.token:
- self.dialog(possibleDlgName)
- elif "IDB_" == self.token[:4]:
- possibleBitmap = self.token
- self.getToken()
- if "BITMAP" == self.token:
- self.getToken()
- if self.token=="MOVEABLE":
- self.getToken() # PURE
- self.getToken() # bmpname
- bmf = self.token[1:-1] # quotes
- self.bitmaps[possibleBitmap] = bmf
- print "BITMAP", possibleBitmap, bmf
- #print win32gui.LoadImage(0, bmf, win32con.IMAGE_BITMAP,0,0,win32con.LR_DEFAULTCOLOR|win32con.LR_LOADFROMFILE)
-
- def addId(self, id_name):
- if id_name in self.ids:
- id = self.ids[id_name]
- else:
- id = self.next_id
- self.next_id += 1
- self.ids[id_name] = id
- self.names[id] = id_name
- return id
-
- def lang(self):
- while self.token[0:4]=="LANG" or self.token[0:7]=="SUBLANG" or self.token==',':
- self.getToken();
-
- def dialog(self, name):
- dlg = DialogDef(name,self.addId(name))
- assert len(dlg.controls)==0
- self._dialogs[name] = dlg
- extras = []
- self.getToken()
- while not self.token.isdigit():
- self.debug("extra", self.token)
- extras.append(self.token)
- self.getToken()
- dlg.x = int(self.token)
- self.getCommaToken()
- self.getToken() # number
- dlg.y = int(self.token)
- self.getCommaToken()
- self.getToken() # number
- dlg.w = int(self.token)
- self.getCommaToken()
- self.getToken() # number
- dlg.h = int(self.token)
- self.getToken()
- while not (self.token==None or self.token=="" or self.token=="END"):
- if self.token=="STYLE":
- self.dialogStyle(dlg)
- elif self.token=="EXSTYLE":
- self.dialogExStyle(dlg)
- elif self.token=="CAPTION":
- self.dialogCaption(dlg)
- elif self.token=="FONT":
- self.dialogFont(dlg)
- elif self.token=="BEGIN":
- self.controls(dlg)
- else:
- break
- self.dialogs[name] = dlg.createDialogTemplate()
-
- def dialogStyle(self, dlg):
- dlg.style, dlg.styles = self.styles( [], win32con.WS_VISIBLE | win32con.DS_SETFONT)
- def dialogExStyle(self, dlg):
- self.getToken()
- dlg.styleEx, dlg.stylesEx = self.styles( [], 0)
-
- def styles(self, defaults, defaultStyle):
- list = defaults
- style = defaultStyle
-
- if "STYLE"==self.token:
- self.getToken()
- i = 0
- Not = False
- while ((i%2==1 and ("|"==self.token or "NOT"==self.token)) or (i%2==0)) and not self.token==None:
- Not = False;
- if "NOT"==self.token:
- Not = True
- self.getToken()
- i += 1
- if self.token!="|":
- if self.token in win32con.__dict__:
- value = getattr(win32con,self.token)
- else:
- if self.token in commctrl.__dict__:
- value = getattr(commctrl,self.token)
- else:
- value = 0
- if Not:
- list.append("NOT "+self.token)
- self.debug("styles add Not",self.token, value)
- style &= ~value
- else:
- list.append(self.token)
- self.debug("styles add", self.token, value)
- style |= value
- self.getToken()
- self.debug("style is ",style)
-
- return style, list
-
- def dialogCaption(self, dlg):
- if "CAPTION"==self.token:
- self.getToken()
- self.token = self.token[1:-1]
- self.debug("Caption is:",self.token)
- dlg.caption = self.token
- self.getToken()
- def dialogFont(self, dlg):
- if "FONT"==self.token:
- self.getToken()
- dlg.fontSize = int(self.token)
- self.getCommaToken()
- self.getToken() # Font name
- dlg.font = self.token[1:-1] # it's quoted
- self.getToken()
- while "BEGIN"!=self.token:
- self.getToken()
- def controls(self, dlg):
- if self.token=="BEGIN": self.getToken()
- while self.token!="END":
- control = ControlDef()
- control.controlType = self.token;
- #print self.token
- self.getToken()
- if self.token[0:1]=='"':
- control.label = self.token[1:-1]
- self.getCommaToken()
- self.getToken()
- elif self.token.isdigit():
- control.label = self.token
- self.getCommaToken()
- self.getToken()
- # msvc seems to occasionally replace "IDC_STATIC" with -1
- if self.token=='-':
- if self.getToken() != '1':
- raise RuntimeError, \
- "Negative literal in rc script (other than -1) - don't know what to do"
- self.token = "IDC_STATIC"
- control.id = self.token
- control.idNum = self.addId(control.id)
- self.getCommaToken()
- if control.controlType == "CONTROL":
- self.getToken()
- control.subType = self.token[1:-1]
- # Styles
- self.getCommaToken()
- self.getToken()
- control.style, control.styles = self.styles([], defaultControlStyle)
- #self.getToken() #,
- # Rect
- control.x = int(self.getToken())
- self.getCommaToken()
- control.y = int(self.getToken())
- self.getCommaToken()
- control.w = int(self.getToken())
- self.getCommaToken()
- self.getToken()
- control.h = int(self.token)
- self.getToken()
- if self.token==",":
- self.getToken()
- control.style, control.styles = self.styles([], defaultControlStyle)
- #print control.toString()
- dlg.controls.append(control)
-def ParseDialogs(rc_file):
- rcp = RCParser()
- try:
- rcp.loadDialogs(rc_file)
- except:
- lex = getattr(rcp, "lex", None)
- if lex:
- print "ERROR parsing dialogs at line", lex.lineno
- print "Next 10 tokens are:"
- for i in range(10):
- print lex.get_token(),
- print
- raise
-
- return rcp
-
-if __name__=='__main__':
- rc_file = os.path.join(os.path.dirname(__file__), "dialogs.rc")
- d = ParseDialogs(rc_file)
- import pprint
- for id, ddef in d.dialogs.items():
- print "Dialog %s (%d controls)" % (id, len(ddef))
- pprint.pprint(ddef)
- print
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/eml.py b/addons/outlook/plugin/openerp-outlook-plugin/eml.py
deleted file mode 100644
index 47e66689c71..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/eml.py
+++ /dev/null
@@ -1,95 +0,0 @@
-##############################################################################
-#
-# 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/>.
-#
-##############################################################################
-
- #!/usr/bin/python
- #-*- encoding: utf-8 -*-
-
-import sys
-import chilkat
-import os
-from manager import ustr
-import email
-cemail = chilkat.CkEmail()
-dt = chilkat.SYSTEMTIME()
-def generateEML(mail):
- sub = (mail.Subject).replace(' ','')
- body = mail.Body.encode("utf-8")
- recipients = mail.Recipients
- sender_email = mail.SenderEmailAddress
- attachments=mail.Attachments
-
- cemail = chilkat.CkEmail()
- cemail.put_Subject (ustr(sub).encode('iso-8859-1'))
- cemail.put_Body (ustr(body).encode('utf-8'))
- cemail.put_FromAddress (ustr(sender_email).encode('iso-8859-1'))
- cemail.put_From (ustr(sender_email).encode('iso-8859-1'))
-
- for i in xrange(1, recipients.Count+1):
- name = ustr(recipients.Item(i).Name).encode('iso-8859-1')
- address = ustr(recipients.Item(i).Address).encode('iso-8859-1')
- cemail.AddTo(name,address)
-
- eml_name= ustr(sub).encode('iso-8859-1')+'-'+str(mail.EntryID)[-9:]
- ls = ['*', '/', '\\', '<', '>', ':', '?', '"', '|', '\t', '\n']
- mails_folder_path = os.path.abspath("%temp%\\dialogs\\resources\\mails\\")
- attachments_folder_path = mails_folder_path + "\\attachments\\"
- if not os.path.exists(attachments_folder_path):
- os.makedirs(attachments_folder_path)
- for i in xrange(1, attachments.Count+1):
- fn = eml_name + '-' + ustr(attachments[i].FileName).encode('iso-8859-1')
- for c in ls:
- fn = fn.replace(c,'')
- if len(fn) > 64:
- l = 64 - len(fn)
- f = fn.split('-')
- fn = '-'.join(f[1:])
- if len(fn) > 64:
- l = 64 - len(fn)
- f = fn.split('.')
- fn = f[0][0:l] + '.' + f[-1]
- att_file = os.path.join(attachments_folder_path, fn)
- if os.path.exists(att_file):
- os.remove(att_file)
- attachments[i].SaveAsFile(att_file)
- contentType = cemail.addFileAttachment(att_file)
- if (contentType == None ):
- print mail.lastErrorText()
- sys.exit()
-
-
- if not os.path.exists(mails_folder_path):
- os.makedirs(mails_folder_path)
- for c in ls:
- eml_name = eml_name.replace(c,'')
- if len(eml_name) > 64:
- l = 64 - len(eml_name)
- f = eml_name.split('-')
- eml_name = f[0][0:l] + '.' + f[-1]
- eml_path = ustr(os.path.join(mails_folder_path,eml_name+".eml")).encode('iso-8859-1')
- success = cemail.SaveEml(eml_path)
- fp = open(eml_path, 'rb')
- new_mail = email.message_from_file(fp)
- fp.close()
- if (success == False):
- print cemail.lastErrorText()
- sys.exit()
- return new_mail, eml_path
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/manager.py b/addons/outlook/plugin/openerp-outlook-plugin/manager.py
deleted file mode 100644
index 643a5c40e58..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/manager.py
+++ /dev/null
@@ -1,195 +0,0 @@
-# This module is part of the spambayes project, which is Copyright 2003
-# The Python Software Foundation and is covered by the Python Software
-# Foundation license.
-
-# -*- 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 os
-import sys
-import win32api, win32con
-import win32com.client
-import pythoncom
-
-try:
- True, False
-except NameError:
- # Maintain compatibility with Python 2.2
- True, False = 1, 0
-
-try:
- filesystem_encoding = sys.getfilesystemencoding()
-except AttributeError:
- filesystem_encoding = "mbcs"
-
-# Work out our "application directory", which is
-# the directory of our main .py/.dll/.exe file we
-# are running from.
-if hasattr(sys, "frozen"):
- assert sys.frozen == "dll", "outlook only supports inproc servers"
- this_filename = win32api.GetModuleFileName(sys.frozendllhandle)
-else:
- try:
- this_filename = os.path.abspath(__file__)
- except NameError: # no __file__ - means Py2.2 and __name__=='__main__'
- this_filename = os.path.abspath(sys.argv[0])
-# See if we can use the new bsddb module. (The old one is unreliable
-# on Windows, so we don't use that)
-try:
- import bsddb3 as bsddb
- # bsddb3 is definitely not broken
- use_db = True
-except ImportError:
- # Not using the 3rd party bsddb3, so try the one in the std library
- try:
- import bsddb
- use_db = hasattr(bsddb, "db") # This name is not in the old one.
- except ImportError:
- # No DB library at all!
- assert not hasattr(sys, "frozen"), \
- "Don't build binary versions without bsddb!"
- use_db = False
-
-def ustr(value):
- """This method is similar to the builtin `str` method, except
- it will return Unicode string.
-
- @param value: the value to convert
-
- @rtype: unicode
- @return: unicode string
- """
- if isinstance(value, unicode):
- return value
-
- if hasattr(value, '__unicode__'):
- return unicode(value)
- if not isinstance(value, str):
- value = str(value)
- try: # first try utf-8
- return unicode(value, 'utf-8')
- except:
- pass
-
- try: # then extened iso-8858
- return unicode(value, 'iso-8859-15')
- except:
- pass
- filesystem_encoding = sys.getfilesystemencoding()
- d = unicode(value, filesystem_encoding)
- return d
-
-class OpenERPManager:
- def __init__(self, config_base="default", outlook=None, verbose=0):
- self.outlook = outlook
- self.dialog_parser = None
- self.application_directory = os.path.dirname(this_filename)
- self.windows_data_directory = self.LocateDataDirectory()
- self.data_directory = self.windows_data_directory
- self.default_objects = [('Partners','res.partner',''),('Account Invoices','account.invoice',''), \
- ('Products', 'product.product',''),('Sale Orders','sale.order',''), \
- ('Leads','crm.lead','')]
-
- self.config=self.LoadConfig()
-
- def WorkerThreadStarting(self):
- pythoncom.CoInitialize()
-
- def WorkerThreadEnding(self):
- pythoncom.CoUninitialize()
-
- def LocateDataDirectory(self):
- # Locate the best directory for our data files.
- from win32com.shell import shell, shellcon
- try:
- appdata = shell.SHGetFolderPath(0,shellcon.CSIDL_APPDATA,0,0)
- path = os.path.join(appdata, "OpenERP-Plugin")
- if not os.path.isdir(path):
- os.makedirs(path)
- return path
- except pythoncom.com_error:
- # Function doesn't exist on early win95,
- # and it may just fail anyway!
- return self.application_directory
- except EnvironmentError:
- # Can't make the directory.
- return self.application_directory
-
- def ShowManager(self, id="IDD_MANAGER"):
- import dialogs
- dialogs.ShowDialog(0, self, self.config, id)
-
- def LoadConfig(self):
- import win32ui
- path = os.path.join(self.data_directory, 'tiny.ini')
- data = {'server' : 'localhost', 'port' : '8069', 'protocol' : 'http://', 'database' : '', 'objects' : self.default_objects, 'uname':'admin', 'pwd':'a', 'login':False,'webserver':'localhost','webport':'8080', 'webprotocol' : 'http:\\'}
- if os.path.exists(path):
- fp = open(path, 'r')
- data = fp.readlines()
- try:
- data = eval(data[0])
- return data
- except e:
- return data
- else:
- return data
-
- def SaveConfig(self):
- path = os.path.join(self.data_directory, 'tiny.ini')
- fp = open(path, 'w')
- fp.write(str(self.config))
- fp.close()
-_mgr = None
-
-def GetManager(outlook = None):
- global _mgr
- if _mgr is None:
- if outlook is None:
- outlook = win32com.client.Dispatch("Outlook.Application")
- _mgr = OpenERPManager(outlook=outlook)
- return _mgr
-
-def ShowManager(mgr):
- mgr.c()
-
-def main(verbose_level = 1):
- mgr = GetManager()
- ShowManager(mgr)
- return 0
-
-def usage():
- print "Usage: manager [-v ...]"
- sys.exit(1)
-
-if __name__=='__main__':
- verbose = 1
- import getopt
- opts, args = getopt.getopt(sys.argv[1:], "v")
- if args:
- usage()
- for opt, val in opts:
- if opt=="-v":
- verbose += 1
- else:
- usage()
- sys.exit(main(verbose))
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/setup.iss b/addons/outlook/plugin/openerp-outlook-plugin/setup.iss
deleted file mode 100644
index d19cc66f556..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/setup.iss
+++ /dev/null
@@ -1,105 +0,0 @@
-; Script generated by the Inno Setup Script Wizard.
-; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
-
-[Setup]
-; NOTE: The value of AppId uniquely identifies this application.
-; Do not use the same AppId value in installers for other applications.
-; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
-AppId={{AF02E62E-3A5A-4E86-B4CF-03F2B2AC25BF}
-AppName=Openerp Outlook Addin
-AppVersion=1.0
-AppVerName=Openerp Outlook Addin 1.0
-AppPublisher=Openerp SA
-AppPublisherURL=http://www.openerp.com/
-AppSupportURL=http://www.openerp.com/
-AppUpdatesURL=http://www.openerp.com/
-DefaultDirName={pf}\Openerp Outlook Addin
-DefaultGroupName=Openerp Outlook Addin
-DisableProgramGroupPage=true
-OutputBaseFilename=openerp-outlook-addin
-Compression=lzma
-SolidCompression=true
-UserInfoPage=true
-UninstallDisplayIcon={app}\*
-VersionInfoVersion=1.0
-VersionInfoCompany=OpenERP
-VersionInfoDescription=OpenERP Outlook Addin
-ChangesAssociations=true
-
-[Languages]
-Name: "english"; MessagesFile: "compiler:Default.isl"
-Name: "basque"; MessagesFile: "compiler:Languages\Basque.isl"
-Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
-Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
-Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
-Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
-Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
-Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
-Name: "french"; MessagesFile: "compiler:Languages\French.isl"
-Name: "german"; MessagesFile: "compiler:Languages\German.isl"
-Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
-Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
-Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
-Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
-Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
-Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
-Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
-Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
-Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl"
-Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
-Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
-
-[Files]
-Source: "C:\openerp-outlook-plugin\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
-; NOTE: Don't use "Flags: ignoreversion" on any shared system files
-
-[Messages]
-AboutSetupNote=Inno Setup Preprocessor home page:%nhttp://ispp.sourceforge.net/
-
-
-[Run]
-Filename: "{app}\Register-plugin.bat"; StatusMsg: "Registering Outlook Addin";
-[UninstallDelete]
-Type: files; Name: "{app}\Openerp Outlook Addin\*"
-Type: dirifempty; Name: "{app}\Openerp Outlook Addin"
-
-[UninstallRun]
-Filename: "{app}\Unregister-plugin.bat"; StatusMsg: "Unregistering Outlook Addin";
-
-
-[Code]
-function InitializeSetup(): Boolean;
-begin
- Result := true;
-
- if not RegKeyExists( HKLM, 'Software\Python\PythonCore') then begin
- Result := MsgBox(
- 'Python appears to not be installed.' + #13 + #13 +
- 'This addin requires Python 2.5 or above installed with compatible pywin32 for python for working.'+ #13 + #13 +
- 'If you know that Python is installed, you may with to continue.' + #13 + #13 +
- 'Continue with installation?',
- mbConfirmation, MB_YESNO) = idYes;
- end;
- if not RegKeyExists( HKCU, 'Software\Microsoft\Office\Outlook') then begin
- Result := MsgBox(
- 'Outlook appears to not be installed.' + #13 + #13 +
- 'This addin only works with Microsoft Outlook 2000 and later - it' + #13 +
- 'does not work with Outlook express.' + #13 + #13 +
- 'If you know that Outlook is installed, you may with to continue.' + #13 + #13 +
- 'Continue with installation?',
- mbConfirmation, MB_YESNO) = idYes;
- end;
- while Result do begin
- if not CheckForMutexes('_outlook_mutex_') then
- break;
-
- Result := MsgBox(
- 'You must close Outlook before OpenERP Outlook Addin can be installed.' + #13 + #13 +
- 'Please close all Outlook Windows (using "File->Exit and Log off"' + #13 +
- 'if available) and click Retry, or click Cancel to exit the installation.'+ #13 + #13 +
- 'If this message persists after closing all Outlook windows, you may' + #13 +
- 'need to log off from Windows, and try again.',
- mbConfirmation, MB_RETRYCANCEL) = idRetry;
- end;
-end;
-
diff --git a/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py b/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py
deleted file mode 100644
index 9cbcb14d40e..00000000000
--- a/addons/outlook/plugin/openerp-outlook-plugin/tiny_xmlrpc.py
+++ /dev/null
@@ -1,573 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-
-import xmlrpclib
-import binascii
-import base64
-import sys
-import socket
-import os
-import time
-from manager import ustr
-from win32com.mapi import mapitags
-import pythoncom
-import win32com
-import win32ui
-waittime = 10
-wait_count = 0
-wait_limit = 12
-def execute(connector, method, *args):
- global wait_count
- res = False
- try:
- res = getattr(connector,method)(*args)
- except socket.error,e:
- if e.args[0] == 111:
- if wait_count > wait_limit:
- print "Server is taking too long to start, it has exceeded the maximum limit of %d seconds."%(wait_limit)
- clean()
- sys.exit(1)
- print 'Please wait %d sec to start server....'%(waittime)
- wait_count += 1
- time.sleep(waittime)
- res = execute(connector, method, *args)
- else:
- return res
- wait_count = 0
- return res
-
-class XMLRpcConn(object):
- __name__ = 'XMLRpcConn'
- _com_interfaces_ = ['_IDTExtensibility2']
- _public_methods_ = ['GetDBList', 'login', 'GetAllObjects', 'GetObjList', 'InsertObj', 'DeleteObject', 'GetCSList', \
- 'ArchiveToOpenERP', 'IsCRMInstalled', 'GetPartners', 'GetObjectItems', \
- 'CreateCase', 'MakeAttachment', 'CreateContact', 'CreatePartner', 'getitem', 'setitem', \
- 'SearchPartnerDetail', 'WritePartnerValues', 'GetAllState', 'GetAllCountry', 'SearchPartner', 'SearchEmailResources', \
- 'GetCountry', 'GetStates', 'FindCountryForState','CreateEmailAttachment','SearchPartners']
- _reg_clsctx_ = pythoncom.CLSCTX_INPROC_SERVER
- _reg_clsid_ = "{C6399AFD-763A-400F-8191-7F9D0503CAE2}"
- _reg_progid_ = "Python.OpenERP.XMLRpcConn"
- _reg_policy_spec_ = "win32com.server.policy.EventHandlerPolicy"
- def __init__(self,server='localhost',port=8069,uri='http://localhost:8069',webserver='localhost', webport=8080):
- self._server=server
- self._port=port
- self._uri=uri
- self._webserver=webserver
- self._webport=webport
- self._obj_list=[]
- self._dbname=''
- self._uname='admin'
- self._pwd='a'
- self._login=False
- self._running=False
- self._uid=False
- self._iscrm=True
- self.partner_id_list=None
- self.protocol=None
- self._webprotocol=None
- self._weburi=None
-
- def getitem(self, attrib):
- v=self.__getattribute__(attrib)
- return str(v)
-
- def setitem(self, attrib, value):
- return self.__setattr__(attrib, value)
-
- def GetDBList(self):
- conn = xmlrpclib.ServerProxy(self._uri + '/xmlrpc/db')
- try:
- db_list = execute(conn, 'list')
- if db_list == False:
- self._running=False
- return []
- else:
- self._running=True
- except:
- db_list=-1
- self._running=True
- return db_list
-
- def login(self,dbname, user, pwd):
- self._dbname = dbname
- self._uname = user
- self._pwd = pwd
- conn = xmlrpclib.ServerProxy(str(self._uri) + '/xmlrpc/common')
- try:
- uid = execute(conn,'login',dbname, ustr(user), ustr(pwd))
- except:
- return False
- return uid
-
- def GetAllObjects(self):
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','search',[])
- objects = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','read',ids,['model'])
- obj_list = [item['model'] for item in objects]
- return obj_list
-
- def GetObjList(self):
- self._obj_list=list(self._obj_list)
- self._obj_list.sort(reverse=True)
- return self._obj_list
-
- def InsertObj(self, obj_title,obj_name,image_path):
- self._obj_list=list(self._obj_list)
- self._obj_list.append((obj_title,obj_name,ustr(image_path)))
- self._obj_list.sort(reverse=True)
-
- def DeleteObject(self,sel_text):
- self._obj_list=list(self._obj_list)
- for obj in self._obj_list:
- if obj[0] == sel_text:
- self._obj_list.remove(obj)
- break
-
- def ArchiveToOpenERP(self, recs, mail):
- import win32con
- import win32ui
- conn = xmlrpclib.ServerProxy(self._uri + '/xmlrpc/object')
- flag = False
- new_msg = ext_msg =""
- message_id = referances = None
- context = {}
- try:
- session = win32com.client.Dispatch("MAPI.session")
- session.Logon('Outlook')
- objMessage = session.GetMessage(mail.EntryID, mail.Parent.StoreID)
- objFields = objMessage.Fields
- strheader = objFields.Item(mapitags.PR_TRANSPORT_MESSAGE_HEADERS)
- strheader = ustr(strheader).encode('iso-8859-1')
- headers = {}
- strheader = strheader.replace("\n ", " ").splitlines()
- for line in strheader:
- split_here = line.find(":")
- headers[line[:split_here]] = line[split_here:]
- temp1 = headers.get('Message-ID')
- temp2 = headers.get('Message-Id')
- referances = headers.get('References')
- if temp1 == None: message_id = temp2
- if temp2 == None: message_id = temp1
- startCut = message_id.find("<")
- endCut = message_id.find(">")
- message_id = message_id[startCut:endCut+1]
- if not referances == None:
- startCut = referances.find("<")
- endCut = referances.find(">")
- referances = referances[startCut:endCut+1]
- except Exception,e:
- win32ui.MessageBox(str(e),"Archive To OpenERP")
- return
- attachments=mail.Attachments
- for rec in recs: #[('res.partner', 3, 'Agrolait')]
- model = rec[0]
- res_id = rec[1]
- #Check if mail installed
- object_id = execute ( conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','search',[('model','=','mail.message')])
- if not object_id:
- win32ui.MessageBox("Mail is not installed on your configured database '%s' !!\n\nPlease install it to archive the mail."%(self._dbname),"Mail not installed",win32con.MB_ICONERROR)
- return
- object_ids = execute ( conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','search',[('model','=',model)])
- object_name = execute( conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','read',object_ids,['name'])[0]['name']
- #Reading the Object ir.model Name
- ext_ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'mail.message','search',[('message_id','=',message_id),('model','=',model),('res_id','=',res_id)])
- if ext_ids:
- name = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,model,'read',res_id,['name'])['name']
- ext_msg += """This mail is already archived to {0} '{1}'.\n""".format(object_name,name)
- flag = True
- continue
- msg = {
- 'subject':mail.Subject,
- 'date':str(mail.ReceivedTime),
- 'body':mail.Body,
- 'cc':mail.CC,
- 'from':mail.SenderEmailAddress,
- 'to':mail.To,
- 'message-id':message_id,
- 'references':ustr(referances),
- }
- result = {}
- context['thread_model'] = model
- if attachments:
- result = self.MakeAttachment([rec], mail)
- execute(conn, 'execute', self. _dbname, int(self._uid), self._pwd,
- 'mail.thread','message_append',[res_id],
- msg.get('subject', False),
- msg.get('body', False),
- msg.get('to', False),
- msg.get('from', False),
- msg.get('cc', False),
- False, # BCC
- False, #reply-to
- msg.get('date', False),
- msg.get('message-id'),\
- msg.get('references', False),
- result, #attachments
- #FIXME: properly handle plaintext/html body variants?
- False, #body_html
- False, #subtype
- False, #headers
- False, #original
- context)
-
- new_msg += """- {0} : {1}\n""".format(object_name,str(rec[2]))
- flag = True
-
- if flag:
- t = """Mail archived Successfully with attachments.\n"""+ext_msg
- t += "\n"+new_msg
- win32ui.MessageBox(t,"Archived to OpenERP",win32con.MB_ICONINFORMATION)
- return flag
-
- def IsCRMInstalled(self):
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- id = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','search',[('model','=','crm.lead')])
- return id
-
- def GetCSList(self):
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- ids = execute(conn,'execute',self._dbname,int(int(self._uid)),self._pwd,'crm.case.section','search',[])
- objects = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'crm.case.section','read',ids,['name'])
- obj_list = [ustr(item['name']).encode('iso-8859-1') for item in objects]
- return obj_list
-
- def GetPartners(self, search_partner=''):
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- ids=[]
- obj_list=[]
- domain = []
- if not search_partner.strip() == '':
- domain.append(('name','ilike',ustr(search_partner)))
- ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.partner','search',domain)
- if ids:
- ids.sort()
- obj_list.append((-999, ustr('')))
- for id in ids:
- object = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.partner','read',[id],['id','name'])[0]
- obj_list.append((object['id'], ustr(object['name'])))
- obj_list.sort(lambda x, y: cmp(x[1],y[1]))
- return obj_list
-
- def GetObjectItems(self, search_list=[], search_text=''):
- res = []
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- for obj in search_list:
- object_ids = execute ( conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','search',[('model','=',obj)])
- object_name = execute( conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.model','read',object_ids,['name'])[0]['name']
- if obj == "res.partner.address":
- ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,obj,'search',['|',('name','ilike',ustr(search_text)),('email','ilike',ustr(search_text))])
- recs = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,obj,'read',ids,['id','name','street','city'])
- for rec in recs:
- name = ustr(rec['name'])
- if rec['street']:
- name += ', ' + ustr(rec['street'])
- if rec['city']:
- name += ', ' + ustr(rec['city'])
- res.append((obj,rec['id'],name,object_name))
- else:
- ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,obj,'search',[('name','ilike',ustr(search_text))])
- recs = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,obj,'read',ids,['id','name'])
- for rec in recs:
- name = ustr(rec['name'])
- res.append((obj,rec['id'],name,object_name))
- return res
-
- def CreateCase(self, section, mail, partner_ids, with_attachments=True):
- import eml
- flag = False
- id = -1
- try:
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- email, path = eml.generateEML(mail)
- message_id = None
- session = win32com.client.Dispatch("MAPI.session")
- session.Logon('Outlook')
- objMessage = session.GetMessage(mail.EntryID, mail.Parent.StoreID)
- objFields = objMessage.Fields
- strheader = objFields.Item(mapitags.PR_TRANSPORT_MESSAGE_HEADERS)
- strheader = ustr(strheader).encode('iso-8859-1')
- headers = {}
- strheader = strheader.replace("\n ", " ").splitlines()
- for line in strheader:
- split_here = line.find(":")
- headers[line[:split_here]] = line[split_here:]
- temp1 = headers.get('Message-ID')
- temp2 = headers.get('Message-Id')
- if temp1 == None: message_id = temp2
- if temp2 == None: message_id = temp1
- startCut = message_id.find("<")
- endCut = message_id.find(">")
- message_id = message_id[startCut:endCut+1]
- email.replace_header('Message-Id',message_id)
- id = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'mail.thread','message_process',section, str(email))
- if id > 0:
- flag = True
- return flag
- else:
- flag = False
- return flag
- except Exception,e:
- win32ui.MessageBox("Create Case\n"+str(e),"Mail Reading Error")
- return flag
-
- def MakeAttachment(self, recs, mail):
- attachments = mail.Attachments
- attachment = {}
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- att_folder_path = os.path.abspath(os.path.dirname("%temp%\\"))
- if not os.path.exists(att_folder_path):
- os.makedirs(att_folder_path)
- for rec in recs: #[('res.partner', 3, 'Agrolait')]
- obj = rec[0]
- obj_id = rec[1]
- for i in xrange(1, attachments.Count+1):
- fn = ustr(attachments[i].FileName)
- if len(fn) > 64:
- l = 64 - len(fn)
- f = fn.split('.')
- fn = f[0][0:l] + '.' + f[-1]
- att_path = os.path.join(att_folder_path,fn)
- attachments[i].SaveAsFile(att_path)
- f=open(att_path,"rb")
- content = "".join(f.readlines())
- f.close()
- attachment[fn] = content
- return attachment
-
- def CreateContact(self, res=None):
- res=eval(str(res))
- partner = res['partner_id']
- state = res['state_id']
- country = res['country_id']
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- if not partner.strip() == '':
- partner_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner', 'search', [('name','=',ustr(partner))])
- res.update({'partner_id' : partner_id[0]})
- else:
- res.pop('partner_id')
- if not state == "":
- country_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country', 'search', [('name','=',ustr(country))])
- res.update({'country_id' : country_id[0]})
- else:
- res.pop('country_id')
- if not country == "":
- state_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country.state', 'search', [('name','=',ustr(state))])
- res.update({'state_id' : state_id[0]})
- else:
- res.pop('state_id')
- id = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.partner.address','create',res)
- return id
-
- def CreatePartner(self, res):
- res=eval(str(res))
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.partner','search',[('name','=',res['name'])])
- if ids:
- return False
- id = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.partner','create',res)
- return id
-
- def SearchPartnerDetail(self, search_email_id):
- res_vals = []
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- address_id = execute(conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner.address', 'search', [('email','ilike',ustr(search_email_id))])
- if not address_id :
- return
- address = execute(conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner.address','read',address_id[0],['id','partner_id','name','street','street2','city','state_id','country_id','phone','mobile','email','fax','zip'])
- for key, vals in address.items():
- res_vals.append([key,vals])
- return res_vals
-
- def WritePartnerValues(self, new_vals):
- flag = -1
- new_dict = dict(new_vals)
- email=new_dict['email']
- partner = new_dict['partner']
- country_val = new_dict['country']
- state_val = new_dict['state']
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- partner_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner', 'search', [('name','=',ustr(partner))])
- country_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country', 'search', [('name','=',ustr(country_val))])
- state_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country.state', 'search', [('name','=',ustr(state_val))])
- address_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner.address', 'search', [('email','=',ustr(email))])
- if not partner_id or not address_id or not country_id or not state_id:
- return flag
- vals_res_address={
- 'partner_id' : partner_id[0],
- 'name' : new_dict['name'],
- 'street':new_dict['street'],
- 'street2' : new_dict['street2'],
- 'city' : new_dict['city'],
- 'phone' : new_dict['phone'],
- 'mobile' : new_dict['mobile'],
- 'fax' : new_dict['fax'],
- 'zip' : new_dict['zip'],
- 'country_id' : country_id[0],
- 'state_id' : state_id[0]
- }
- temp = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner.address', 'write', address_id, vals_res_address)
- if temp:
- flag=1
- else:
- flag=0
- return flag
-
- def GetAllState(self):
- state_list = []
- state_ids = []
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- state_ids = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country.state', 'search', [])
- for state_id in state_ids:
- obj = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country.state', 'read', [state_id],['id','name'])[0]
- state_list.append((obj['id'], ustr(obj['name'])))
- return state_list
-
- def GetAllCountry(self):
- country_list = []
- country_ids = []
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- country_ids = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country', 'search', [])
- for country_id in country_ids:
- obj = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.country','read', [country_id], ['id','name'])[0]
- country_list.append((obj['id'], ustr(obj['name'])))
- return country_list
-
- def SearchPartner(self, mail_id = ""):
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- address = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner.address', 'search', [('email','=',ustr(mail_id))])
- if not address:
- return False
- add_rec = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'res.partner.address', 'read', address[0])
- partner = add_rec.get('partner_id',False)
- if partner: return partner[0]
- else: return partner
-
- def SearchEmailResources(self, message_id):
- import win32ui
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- res_vals = []
- mail_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'mail.message', 'search', [('message_id','=',message_id)])
- ref_mail_id = None
- if not mail_id:
- ref_mail_id = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'mail.message', 'search', [('references','like','%'+message_id+'%')])
- if ref_mail_id:
- address = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'mail.message','read',ref_mail_id[0],['model','res_id'])
- for key, vals in address.items():
- res_vals.append([key,vals])
- return res_vals
- return None
- address = execute( conn, 'execute', self._dbname, int(self._uid), self._pwd, 'mail.message','read',mail_id[0],['model','res_id'])
- for key, vals in address.items():
- res_vals.append([key,vals])
- return res_vals
-
-
- def GetCountry(self, country_search=''):
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- ids=[]
- obj_list=[]
- domain = []
- if not country_search.strip() == '':
- domain.append(('name','ilike',ustr(country_search)))
- ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country','search',domain)
- if ids:
- ids.sort()
- for id in ids:
- object = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country','read',[id],['id','name'])[0]
- obj_list.append((object['id'], ustr(object['name'])))
- obj_list.sort(lambda x, y: cmp(x[1],y[1]))
- return obj_list
-
- def GetStates(self, state_search='', country=None):
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- ids = []
- c_id = []
- obj_list = []
- domain = []
- if not state_search.strip() == '':
- domain.append(('name','ilike',ustr(state_search)))
-
- if country == None:
- ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country.state','search',domain)
- if not country == None:
- c_id = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country','search',[('name','=',ustr(country))])
- domain.append(('country_id','=',c_id[0]))
- ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country.state','search',domain)
- if ids:
- ids.sort()
- for id in ids:
- object = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country.state','read',[id],['id','name'])[0]
- obj_list.append((object['id'], ustr(object['name'])))
- obj_list.sort(lambda x, y: cmp(x[1],y[1]))
- return obj_list
-
- def FindCountryForState(self, state_search=''):
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country.state','search',[('name','=',ustr(state_search))])
- if not ids:
- return None
- object = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'res.country.state','read',ids)[0]
- country = object['country_id'][1]
- return country
-
- def CreateEmailAttachment(self, rec, mail):
- import eml
- email, path = eml.generateEML(mail)
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- obj = rec[0]
- obj_id = rec[1]
- res = {}
- res['res_model'] = obj
- ls = ['*', '/', '\\', '<', '>', ':', '?', '"', '|', '\t', '\n',':','~']
- fn = (mail.Subject).replace(' ','')
- for c in ls:
- fn = fn.replace(c,'')
- if len(fn) > 64:
- l = 64 - len(fn)
- f = fn.split('-')
- fn = '-'.join(f[1:])
- if len(fn) > 64:
- l = 64 - len(fn)
- f = fn.split('.')
- fn = f[0][0:l] + '.' + f[-1]
- fn = fn[:-4]+".eml"
- f = open(path)
- content = "".join(f.readlines()).encode('base64')
- f.close()
- res['name'] = fn
- res['datas_fname'] = fn
- res['datas'] = content
- res['res_id'] = obj_id
- id = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,'ir.attachment','create',res)
- return id
-
- def SearchPartners(self):
- res = []
- conn = xmlrpclib.ServerProxy(self._uri+ '/xmlrpc/object')
- obj = 'res.partner'
- ids = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,obj,'search',[])
- recs = execute(conn,'execute',self._dbname,int(self._uid),self._pwd,obj,'read',ids,['id','name'])
- for rec in recs:
- name = ustr(rec['name'])
- res.append((obj,rec['id'],name,obj))
- return res
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Model.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Model.cs
new file mode 100644
index 00000000000..e163b5442a4
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Model.cs
@@ -0,0 +1,78 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Collections;
+using System.Linq;
+
+namespace OpenERPClient
+{
+ public class Model
+ {
+ public string model;
+ public string name;
+ protected OpenERPConnect openerp_connect;
+ public OpenERPConnect Connection
+ {
+ set
+ {
+ this.openerp_connect = value;
+ }
+ get
+ {
+ return this.openerp_connect;
+ }
+ }
+ public Model()
+ {
+ }
+ public Model(string model)
+ {
+ /*
+ It gives the model name only.
+ :param model : madel name
+ */
+
+ this.model = model;
+ }
+ public Model(string model, string name)
+ {
+ /*
+ It gives the model names with their descriptions.
+ :param model : model name
+ :param name : description of model
+ */
+
+ this.name = name;
+ this.model = model;
+ }
+ public override string ToString()
+ {
+ /*
+ It overrides the name of model into ToString.
+
+ :return : String
+ */
+
+ if (this.name != null) return this.name;
+ return this.model;
+ }
+
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/OpenERPClient.csproj b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/OpenERPClient.csproj
new file mode 100644
index 00000000000..79f03ae3f7a
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/OpenERPClient.csproj
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.21022</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{8E62B8DF-E3A2-4429-A820-FB8A31C2EB00}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>OpenERPClient</RootNamespace>
+ <AssemblyName>OpenERPClient</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xml.Linq">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data.DataSetExtensions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Model.cs" />
+ <Compile Include="OpenERPConnect.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Record.cs" />
+ <Compile Include="XMLRPCClient.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\xml-rpc.net.2.5.0\src\xmlrpc.csproj">
+ <Project>{1B4B0A58-0AFB-4090-91DD-18912CC7DE65}</Project>
+ <Name>xmlrpc</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/OpenERPConnect.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/OpenERPConnect.cs
new file mode 100644
index 00000000000..d6672828ed0
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/OpenERPConnect.cs
@@ -0,0 +1,397 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Windows.Forms;
+using System.Collections;
+using CookComputing.XmlRpc;
+
+namespace OpenERPClient
+{
+ public class ServiceUrl : System.Attribute
+ {
+ string _url;
+ public ServiceUrl(string url)
+ {
+ /*
+ It will contain the ServiceUrl.
+ :param url : url with server and port.
+ */
+
+ this._url = url;
+ }
+ public string Url
+ {
+ /*
+ It will get and return the Url for the connection.
+
+ :return : String
+ */
+
+ get
+ {
+ return _url;
+ }
+ }
+ public override string ToString()
+ {
+ /*
+ It will override the Tostring and return the _url.
+ */
+
+ return this._url;
+ }
+ }
+ public enum OpenERPService
+ {
+ [ServiceUrl("/xmlrpc/object")]
+ Object = 1,
+ [ServiceUrl("/xmlrpc/db")]
+ DB = 2,
+ [ServiceUrl("/xmlrpc/common")]
+ Common = 3
+ }
+ public class OpenERPConnect
+ {
+ int uid;
+ string url;
+ string dbname;
+ string login;
+ string pwd;
+ bool chkpwd;
+ string password;
+ public string URL
+ {
+ /*
+ It will get and set the value of the url.
+
+ :return : String
+ */
+
+ get
+ {
+ return url;
+ }
+ set
+ {
+ url = value;
+ }
+ }
+ public string DBName
+ {
+ /*
+ It will get and set the value of the Database Name.
+
+ :return : String
+ */
+
+ get
+ {
+ return dbname;
+ }
+ set
+ {
+ dbname = value;
+ }
+ }
+ public string UserId
+ {
+ /*
+ It will get and set the value of the UserId.
+
+ :return : String
+ */
+
+ get
+ {
+ return login;
+ }
+ set
+ {
+ login = value;
+ }
+ }
+ public string pswrd
+ {
+ /*
+ It will get and set the value of the Password.
+
+ :return : String
+ */
+
+ get
+ {
+ return password;
+ }
+ set
+ {
+ password = value;
+ }
+ }
+
+ public bool rempwd
+ {
+ /*
+ It will get and set the value of the Remember Password.
+
+ :return : True or False
+ */
+
+ get
+ {
+ return chkpwd;
+ }
+ set
+ {
+ chkpwd = value;
+ }
+ }
+
+ public string version;
+ XMLRPCClient rpcclient;
+
+ public void Open(Enum service)
+ {
+ /*
+ It opens the connetion by the url and service url.
+ :param service : enum service.
+ */
+
+ string url = null;
+ Type type = service.GetType();
+
+ ServiceUrl[] _urls =
+ type.GetField(service.ToString()).GetCustomAttributes(typeof(ServiceUrl),
+ false) as ServiceUrl[];
+ if (_urls.Length > 0)
+ {
+ url = _urls[0].Url;
+ }
+
+ this.Open(url);
+
+
+ }
+
+ void Open(string service_url)
+ {
+ /*
+ It opens rpcclient by service url.
+ :param service_url : service url
+ */
+
+ this.rpcclient = new XMLRPCClient(this.url + service_url);
+
+ }
+ void Close()
+ {
+ /*
+ It closes rpcclient.
+ */
+
+ this.rpcclient = null;
+
+ }
+ public OpenERPConnect()
+ {
+ }
+ public OpenERPConnect(string url)
+ {
+ /*
+ It will contain the url wit the server and port.
+ :param url : url with the server and port.
+ */
+
+ this.url = url;
+ }
+ public OpenERPConnect(string url, string dbname, string login, string pwd)
+ {
+ /*
+ It will do the connection with OpenERP server.
+ :param url : url with the server and port.
+ :param dbname : the list of database.
+ :param login : user name.
+ :param pwd : password.
+ */
+
+ this.url = url;
+ this.dbname = dbname;
+ this.login = login;
+ this.pwd = pwd;
+ this.version = ServerVersion();
+ }
+ public Boolean isLoggedIn
+ {
+ /*
+ It will check whether successfully login to OpenERP is done or not.
+
+ :return : True or False.
+ */
+
+ get
+ {
+ if (this.uid > 0) { return true; }
+ return false;
+ }
+ }
+
+ public int Login(string dbname, string userid, string pwd)
+ {
+ /*
+ It will check whether the entered dbname, userid and password are correct or not
+ and on that basis it will allow the user for connecting to OpenERP.
+ :param dbname : list of database
+ :param userid : userid
+ :param pwd : password of the user
+
+ :return : Integer
+ */
+
+ this.Open(OpenERPClient.OpenERPService.Common);
+ object isLogin = this.rpcclient.Login(dbname, userid, pwd);
+ this.uid = 0;
+ if (Convert.ToBoolean(isLogin))
+ {
+ this.uid = Convert.ToInt32(isLogin);
+ }
+ this.pwd = pwd;
+ if (this.uid <= 0)
+ {
+ MessageBox.Show("Authentication Error!\nBad username and password.", Form.ActiveForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ this.Close();
+ return this.uid;
+
+ }
+ XmlRpcStruct ConvertAs(Hashtable value)
+ {
+ /*
+ It will convert the Hashtable into XmlRpcStruct and vise-versa.
+
+ :param value : Hasheable value.
+
+ :retutn : Hashtable values and vise versa the XmlRpcStruct value.
+ */
+
+ XmlRpcStruct new_value;
+ new_value = new XmlRpcStruct();
+ foreach (string key in value.Keys)
+ {
+ object res;
+ if (value[key] == null)
+ {
+ res = "";
+ }
+ if (value[key].GetType() == typeof(Hashtable))
+ {
+ res = this.ConvertAs((Hashtable)value[key]);
+ }
+ else
+ {
+ res = value[key];
+ }
+ new_value.Add(key, res);
+ }
+ return new_value;
+ }
+ object[] ConvertArgs(object[] args)
+ {
+ /*
+ It will convert the arguments which are of type Hashtable into new arguments.
+
+ :param args : Objet value of arguments
+
+ :return : Object value of arguments.
+ */
+
+ for (int i = 0; i < args.Length; i++)
+ {
+ object arg = args[i];
+ XmlRpcStruct new_arg;
+ if (arg.GetType() == typeof(Hashtable))
+ {
+ new_arg = this.ConvertAs((Hashtable)arg);
+ args[i] = new_arg;
+ }
+ }
+ return args;
+ }
+ public object Execute(string model, string method, params object[] args)
+ {
+ /*
+ It executes the model name, the method name and also the list of arrays arguments.
+ :param model : model name.
+ :param method : method name.
+ :params args : list of arrays of arguments.
+
+ :return : Object
+ */
+
+ args = this.ConvertArgs(args);
+ this.Open(OpenERPClient.OpenERPService.Object);
+
+ object res = this.rpcclient.Execute(this.dbname, this.uid, this.pwd, model, method, args);
+ this.Close();
+ return res;
+ }
+ public object[] DBList()
+ {
+ /*
+ It will return the list of the database which will be created.
+
+ :return : Database List
+ */
+
+ this.Open(OpenERPClient.OpenERPService.DB);
+ object[] res = this.rpcclient.DBList();
+ this.Close();
+ return res;
+ }
+ public string ServerVersion()
+ {
+ /*
+ It will give the version of the server which the user is using.
+
+ :return : String
+ */
+
+ this.Open(OpenERPClient.OpenERPService.DB);
+ string version = this.rpcclient.ServerVersion();
+ this.Close();
+ return version;
+ }
+
+ public bool check_connectivity()
+ {
+ /*
+ It will check connection on given server url.
+
+ :return : True or False.
+ */
+
+ this.Open(OpenERPClient.OpenERPService.Common);
+ bool flag = this.rpcclient.check_connectivity();
+ this.Close();
+ return flag;
+ }
+
+
+ }
+
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Properties/AssemblyInfo.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000000..def21a9bf91
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenERPClient")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenERPClient")]
+[assembly: AssemblyCopyright("Copyright © 2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("0b69b9a4-1bfc-45d5-9788-983fbf57a505")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Record.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Record.cs
new file mode 100644
index 00000000000..4069b43f74c
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/Record.cs
@@ -0,0 +1,69 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System.Collections;
+
+namespace OpenERPClient
+{
+ public class Record
+ {
+ public long id;
+ public string name;
+ public Model model;
+ public Hashtable columns;
+ public Record(long id, string name, Model model)
+ {
+ /*
+ It gives the record of id, name and model.
+ :param id : record id.
+ :param name : record name.
+ :param model : model name.
+ */
+
+ this.id = id;
+ this.name = name;
+ this.model = model;
+ }
+ public Record(Hashtable columns, Model model)
+ {
+ /*
+ It gives the records in hashtable columns and also model name.
+ :param columns : hashtable column values.
+ :param model : model name.
+ */
+
+ this.id = long.Parse(columns["id"].ToString());
+ if (columns.ContainsKey("name"))
+ {
+ this.name = columns["name"].ToString();
+ }
+ this.model = model;
+ this.columns = columns;
+ }
+ public override string ToString()
+ {
+ /*
+ It will override the Tostring.
+ */
+
+ if (this.name != null) return this.name;
+ return this.id.ToString();
+ }
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/XMLRPCClient.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/XMLRPCClient.cs
new file mode 100644
index 00000000000..ebe9ec142e2
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPClient/XMLRPCClient.cs
@@ -0,0 +1,388 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Text;
+using CookComputing.XmlRpc;
+
+namespace OpenERPClient
+{
+ public interface IOpenERPCommon : IXmlRpcProxy
+ {
+ [XmlRpcMethod("login")]
+ object Login(string dbname, string username, string pwd);
+
+ }
+ public interface IOpenERPObject : IXmlRpcProxy
+ {
+
+ [XmlRpcMethod("execute")]
+ Object Execute(string dbName, long userId, string pwd, string model, string method, params Object[] args);
+
+
+
+ }
+ public interface IOpenERPDB : IXmlRpcProxy
+ {
+
+ [XmlRpcMethod("list")]
+ Object[] DBList();
+
+ [XmlRpcMethod("server_version")]
+ string ServerVersion();
+
+ [XmlRpcMethod("check_connectivity")]
+ bool check_connectivity();
+
+
+ }
+ public interface Ixmlrpcconnect : IOpenERPCommon, IOpenERPDB, IOpenERPObject
+ {
+ }
+ public class XMLRPCClient : Ixmlrpcconnect
+ {
+ Ixmlrpcconnect rpcclient = (Ixmlrpcconnect)XmlRpcProxyGen.Create(typeof(Ixmlrpcconnect));
+ public XMLRPCClient(string ServiceUrl)
+ {
+ rpcclient.Url = ServiceUrl;
+ }
+
+ #region Ixmlrpcconnect Members
+
+ public object Login(string dbname, string username, string pwd)
+ {
+ return rpcclient.Login(dbname, username, pwd);
+ }
+
+ public object Execute(string dbName, long userId, string pwd, string model, string method, params object[] args)
+ {
+ return rpcclient.Execute(dbName, userId, pwd, model, method, args);
+ }
+
+ public object[] DBList()
+ {
+ return rpcclient.DBList();
+ }
+
+ public string ServerVersion()
+ {
+ return rpcclient.ServerVersion();
+ }
+
+ public bool check_connectivity()
+ {
+ return rpcclient.check_connectivity();
+ }
+ #endregion
+
+
+ #region IXmlRpcProxy Members
+
+ public bool AllowAutoRedirect
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates
+ {
+ get { throw new NotImplementedException(); }
+ }
+
+ public string ConnectionGroupName
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public System.Net.CookieContainer CookieContainer
+ {
+ get { throw new NotImplementedException(); }
+ }
+
+ public System.Net.ICredentials Credentials
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public bool EnableCompression
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public bool Expect100Continue
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public System.Net.WebHeaderCollection Headers
+ {
+ get { throw new NotImplementedException(); }
+ }
+
+ public Guid Id
+ {
+ get { throw new NotImplementedException(); }
+ }
+
+ public int Indentation
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public bool KeepAlive
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public XmlRpcNonStandard NonStandard
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public bool PreAuthenticate
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public Version ProtocolVersion
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public System.Net.IWebProxy Proxy
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public System.Net.CookieCollection ResponseCookies
+ {
+ get { throw new NotImplementedException(); }
+ }
+
+ public System.Net.WebHeaderCollection ResponseHeaders
+ {
+ get { throw new NotImplementedException(); }
+ }
+
+ public int Timeout
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public string Url
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public bool UseEmptyParamsTag
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public bool UseIndentation
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public bool UseIntTag
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public bool UseStringTag
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public string UserAgent
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public Encoding XmlEncoding
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public string XmlRpcMethod
+ {
+ get
+ {
+ throw new NotImplementedException();
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public string[] SystemListMethods()
+ {
+ throw new NotImplementedException();
+ }
+
+ public object[] SystemMethodSignature(string MethodName)
+ {
+ throw new NotImplementedException();
+ }
+
+ public string SystemMethodHelp(string MethodName)
+ {
+ throw new NotImplementedException();
+ }
+
+ public event XmlRpcRequestEventHandler RequestEvent;
+
+ public event XmlRpcResponseEventHandler ResponseEvent;
+
+ #endregion
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin.sln b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin.sln
new file mode 100644
index 00000000000..203354178b2
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin.sln
@@ -0,0 +1,36 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenERPOutlookPlugin", "OpenERPOutlookPlugin\OpenERPOutlookPlugin.csproj", "{F4B2219B-F235-400F-81B4-92F15250BBA4}"
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "OpenERPOutlookPluginSetup", "OpenERPOutlookPluginSetup\OpenERPOutlookPluginSetup.vdproj", "{96333293-0156-4998-9065-42721CEB0368}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenERPClient", "OpenERPClient\OpenERPClient.csproj", "{8E62B8DF-E3A2-4429-A820-FB8A31C2EB00}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xmlrpc", "xml-rpc.net.2.5.0\src\xmlrpc.csproj", "{1B4B0A58-0AFB-4090-91DD-18912CC7DE65}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F4B2219B-F235-400F-81B4-92F15250BBA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F4B2219B-F235-400F-81B4-92F15250BBA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F4B2219B-F235-400F-81B4-92F15250BBA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F4B2219B-F235-400F-81B4-92F15250BBA4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {96333293-0156-4998-9065-42721CEB0368}.Debug|Any CPU.ActiveCfg = Debug
+ {96333293-0156-4998-9065-42721CEB0368}.Release|Any CPU.ActiveCfg = Release
+ {8E62B8DF-E3A2-4429-A820-FB8A31C2EB00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8E62B8DF-E3A2-4429-A820-FB8A31C2EB00}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8E62B8DF-E3A2-4429-A820-FB8A31C2EB00}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8E62B8DF-E3A2-4429-A820-FB8A31C2EB00}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1B4B0A58-0AFB-4090-91DD-18912CC7DE65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1B4B0A58-0AFB-4090-91DD-18912CC7DE65}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1B4B0A58-0AFB-4090-91DD-18912CC7DE65}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1B4B0A58-0AFB-4090-91DD-18912CC7DE65}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/AssemblyInfo.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/AssemblyInfo.cs
new file mode 100644
index 00000000000..6f5be64b3ae
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/AssemblyInfo.cs
@@ -0,0 +1,52 @@
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly: AssemblyTitle("")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+//
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Revision
+// Build Number
+//
+// You can specify all the value or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.*")]
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing.
+//
+// Notes:
+// (*) If no key is specified - the assembly cannot be signed.
+// (*) KeyName refers to a key that has been installed in the Crypto Service
+// Provider (CSP) on your machine.
+// (*) If the key file and a key name attributes are both specified, the
+// following processing occurs:
+// (1) If the KeyName can be found in the CSP - that key is used.
+// (2) If the KeyName does not exist and the KeyFile does exist, the key
+// in the file is installed into the CSP and used.
+// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+// documentation for more information on this.
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Cache.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Cache.cs
new file mode 100644
index 00000000000..b4e4d25d3f4
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Cache.cs
@@ -0,0 +1,55 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System.Collections;
+using OpenERPClient;
+
+namespace OpenERPOutlookPlugin
+{
+ static public class Cache
+ {
+ static private OpenERPOutlookPlugin _openerp;
+ static public OpenERPOutlookPlugin OpenERPOutlookPlugin
+ {
+ get
+ {
+ return _openerp;
+ }
+ set
+ {
+
+ _openerp = value;
+ }
+ }
+ static private Model[] document_models;
+ static public Model[] DocumentModelList
+ {
+ get
+ {
+ return document_models;
+ }
+ set
+ {
+
+ document_models = value;
+ }
+ }
+
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/ConfigManager.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/ConfigManager.cs
new file mode 100644
index 00000000000..6ce61be577b
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/ConfigManager.cs
@@ -0,0 +1,109 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Collections;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.IO;
+using System.Windows.Forms;
+using System.Text.RegularExpressions;
+using OpenERPClient;
+
+namespace OpenERPOutlookPlugin
+{
+ public class ConfigManager
+ {
+ string openerp_config_file = "openerp_config.ini";
+
+ public void SaveConfigurationSetting()
+ {
+ string filepath = Tools.GetAppFolderPath();
+ OpenERPOutlookPlugin openerp_outlook = Cache.OpenERPOutlookPlugin;
+ OpenERPConnect openerp_connect = openerp_outlook.Connection;
+ filepath = Path.Combine(filepath, openerp_config_file);
+ string[] datas = { "url=" + openerp_connect.URL, "userid=" + openerp_connect.UserId, "dbname=" + openerp_connect.DBName,"rempwd="+openerp_connect.rempwd,"pswrd=" + openerp_connect.pswrd };
+ StreamWriter userfile = new StreamWriter(filepath, false);
+
+ foreach (string data in datas)
+ {
+ userfile.WriteLine(data);
+ }
+ userfile.Close();
+
+ }
+ public void LoadConfigurationSetting()
+ {
+
+ string filePath = Tools.GetAppFolderPath();
+ filePath = Path.Combine(filePath, this.openerp_config_file);
+ OpenERPConnect openerp_connect=null;
+ OpenERPOutlookPlugin openerp_outlook=null;
+ openerp_outlook = Cache.OpenERPOutlookPlugin;
+ if (openerp_outlook == null)
+ {
+
+ openerp_outlook = new OpenERPOutlookPlugin(openerp_connect);
+ }
+ openerp_connect = openerp_outlook.Connection;
+ if (openerp_connect == null)
+ {
+ openerp_connect = new OpenERPConnect();
+ }
+
+ if (File.Exists(filePath))
+ {
+
+ string line;
+
+ using (StreamReader file = new StreamReader(filePath))
+ {
+ while ((line = file.ReadLine()) != null)
+ {
+ char[] delimiters = new char[] { '=' };
+ string[] parts = line.Split(delimiters, 2);
+
+ for (int i = 0; i < parts.Length; i += 2)
+ {
+ if (parts[i] == "url")
+ openerp_connect.URL = parts[i + 1].Trim();
+ else if (parts[i] == "userid")
+ openerp_connect.UserId = parts[i + 1].Trim();
+ else if (parts[i] == "dbname")
+ openerp_connect.DBName = parts[i + 1].Trim();
+ else if (parts[i] == "pswrd")
+ openerp_connect.pswrd = parts[i + 1].Trim();
+ else if (parts[i] == "rempwd")
+ {
+ openerp_connect.rempwd = false;
+ if (parts[i + 1].Trim().ToLower() == "true")
+ openerp_connect.rempwd = true;
+ }
+
+ }
+ }
+ file.Close();
+ }
+ }
+ openerp_outlook.Connection = openerp_connect;
+ Cache.OpenERPOutlookPlugin = openerp_outlook;
+ }
+
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Connect.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Connect.cs
new file mode 100644
index 00000000000..1336c7f7695
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Connect.cs
@@ -0,0 +1,354 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+
+namespace OpenERPOutlookPlugin
+{
+ using System;
+ using System.Reflection;
+ using System.Runtime.InteropServices;
+ using System.Windows.Forms;
+ using office = Microsoft.Office.Core;
+ using outlook = Microsoft.Office.Interop.Outlook;
+ using OpenERPClient;
+
+
+
+
+ #region Read me for Add-in installation and setup information.
+ // When run, the Add-in wizard prepared the registry for the Add-in.
+ // At a later time, if the Add-in becomes unavailable for reasons such as:
+ // 1) You moved this project to a computer other than which is was originally created on.
+ // 2) You chose 'Yes' when presented with a message asking if you wish to remove the Add-in.
+ // 3) Registry corruption.
+ // you will need to re-register the Add-in by building the OpenERPOutlookPluginSetup project,
+ // right click the project in the Solution Explorer, then choose install.
+ #endregion
+
+ /// <summary>
+ /// The object for implementing an Add-in.
+ /// </summary>
+ /// <seealso class='IDTExtensibility2' />
+
+ [GuidAttribute("C86B5760-1254-4F40-BD25-2094A2A678C4"), ProgId("OpenERPOutlookPlugin.Connect")]
+ public class Connect : Object, Extensibility.IDTExtensibility2
+ {
+ /// <summary>
+ /// Implements the constructor for the Add-in object.
+ /// Place your initialization code within this method.
+ /// </summary>
+
+ public Connect()
+ {
+
+ }
+
+ public int cnt_mail = 0;
+
+ /// <summary>
+ /// Implements the OnConnection method of the IDTExtensibility2 interface.
+ /// Receives notification that the Add-in is being loaded.
+ /// </summary>
+ /// <param term='application'>
+ /// Root object of the host application.
+ /// </param>
+ /// <param term='connectMode'>
+ /// Describes how the Add-in is being loaded.
+ /// </param>
+ /// <param term='addInInst'>
+ /// Object representing this Add-in.
+ /// </param>
+ /// <seealso class='IDTExtensibility2' />
+ public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom)
+ {
+ applicationObject = application;
+ addInInstance = addInInst;
+
+ if (connectMode != Extensibility.ext_ConnectMode.ext_cm_Startup)
+ {
+ OnStartupComplete(ref custom);
+
+ }
+ }
+
+ /// <summary>
+ /// Implements the OnDisconnection method of the IDTExtensibility2 interface.
+ /// Receives notification that the Add-in is being unloaded.
+ /// </summary>
+ /// <param term='disconnectMode'>
+ /// Describes how the Add-in is being unloaded.
+ /// </param>
+ /// <param term='custom'>
+ /// Array of parameters that are host application specific.
+ /// </param>
+ /// <seealso class='IDTExtensibility2' />
+ public void OnDisconnection(Extensibility.ext_DisconnectMode disconnectMode, ref System.Array custom)
+ {
+ if (disconnectMode != Extensibility.ext_DisconnectMode.ext_dm_HostShutdown)
+ {
+ OnBeginShutdown(ref custom);
+ }
+ applicationObject = null;
+ }
+
+ /// <summary>
+ /// Implements the OnAddInsUpdate method of the IDTExtensibility2 interface.
+ /// Receives notification that the collection of Add-ins has changed.
+ /// </summary>
+ /// <param term='custom'>
+ /// Array of parameters that are host application specific.
+ /// </param>
+ /// <seealso class='IDTExtensibility2' />
+ public void OnAddInsUpdate(ref System.Array custom)
+ {
+ }
+
+ /// <summary>
+ /// Implements the OnStartupComplete method of the IDTExtensibility2 interface.
+ /// Receives notification that the host application has completed loading.
+ /// </summary>
+ /// <param term='custom'>
+ /// Array of parameters that are host application specific.
+ /// </param>
+ /// <seealso class='IDTExtensibility2' />
+ ///
+ private office.CommandBarButton btn_open_partner;
+ private office.CommandBarButton btn_open_document;
+ private office.CommandBarButton btn_open_configuration_form;
+ private office.CommandBars oCommandBars;
+ private office.CommandBar menuBar;
+ private office.CommandBarPopup newMenuBar;
+
+ public int countMail()
+ {
+ /*
+
+ * Gives the number of selected mail.
+ * returns: Number of selected mail.
+
+ */
+ cnt_mail = 0;
+ Microsoft.Office.Interop.Outlook.Application app = null;
+
+ app = new Microsoft.Office.Interop.Outlook.Application();
+ foreach (var selection in app.ActiveExplorer().Selection)
+ {
+ cnt_mail = app.ActiveExplorer().Selection.Count;
+ }
+
+ return cnt_mail;
+ }
+
+ public void OnStartupComplete(ref System.Array custom)
+ {
+ /*
+
+ * When outlook is opened it loads a Menu if Outlook plugin is installed.
+ * OpenERP - > Push, Partner ,Documents, Configuration
+
+ */
+ Microsoft.Office.Interop.Outlook.Application app = null;
+ try
+ {
+ app = new Microsoft.Office.Interop.Outlook.Application();
+ object omissing = System.Reflection.Missing.Value;
+ menuBar = app.ActiveExplorer().CommandBars.ActiveMenuBar;
+ ConfigManager config = new ConfigManager();
+ config.LoadConfigurationSetting();
+ OpenERPOutlookPlugin openerp_outlook = Cache.OpenERPOutlookPlugin;
+ OpenERPConnect openerp_connect = openerp_outlook.Connection;
+ try
+ {
+ if (openerp_connect.URL != null && openerp_connect.DBName != null && openerp_connect.UserId != null && openerp_connect.pswrd != "")
+ {
+ string decodpwd = Tools.DecryptB64Pwd(openerp_connect.pswrd);
+ openerp_connect.Login(openerp_connect.DBName, openerp_connect.UserId, decodpwd);
+ }
+ }
+ catch(Exception )
+ {
+ MessageBox.Show("Unable to connect remote Server ' " + openerp_connect.URL + " '.", "OpenERP Connection",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
+ }
+ newMenuBar = (office.CommandBarPopup)menuBar.Controls.Add(office.MsoControlType.msoControlPopup, omissing, omissing, omissing, true);
+ if (newMenuBar != null)
+ {
+ newMenuBar.Caption = "OpenERP";
+ newMenuBar.Tag = "My";
+
+ btn_open_partner = (office.CommandBarButton)newMenuBar.Controls.Add(office.MsoControlType.msoControlButton, omissing, omissing, 1, true);
+ btn_open_partner.Style = office.MsoButtonStyle.msoButtonIconAndCaption;
+ btn_open_partner.Caption = "Contact";
+ //Face ID will use to show the ICON in the left side of the menu.
+ btn_open_partner.FaceId = 3710;
+ newMenuBar.Visible = true;
+ btn_open_partner.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(this.btn_open_partner_Click);
+
+ btn_open_document = (office.CommandBarButton)newMenuBar.Controls.Add(office.MsoControlType.msoControlButton, omissing, omissing, 2, true);
+ btn_open_document.Style = office.MsoButtonStyle.msoButtonIconAndCaption;
+ btn_open_document.Caption = "Documents";
+ //Face ID will use to show the ICON in the left side of the menu.
+ btn_open_document.FaceId = 258;
+ newMenuBar.Visible = true;
+ btn_open_document.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(this.btn_open_document_Click);
+
+ btn_open_configuration_form = (office.CommandBarButton)newMenuBar.Controls.Add(office.MsoControlType.msoControlButton, omissing, omissing, 3, true);
+ btn_open_configuration_form.Style = office.MsoButtonStyle.msoButtonIconAndCaption;
+ btn_open_configuration_form.Caption = "Configuration";
+ //Face ID will use to show the ICON in the left side of the menu.
+ btn_open_configuration_form.FaceId = 5644;
+ newMenuBar.Visible = true;
+ btn_open_configuration_form.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(this.btn_open_configuration_form_Click);
+
+ }
+
+ }
+ catch (Exception)
+ {
+ object oActiveExplorer;
+ oActiveExplorer = applicationObject.GetType().InvokeMember("ActiveExplorer", BindingFlags.GetProperty, null, applicationObject, null);
+ oCommandBars = (office.CommandBars)oActiveExplorer.GetType().InvokeMember("CommandBars", BindingFlags.GetProperty, null, oActiveExplorer, null);
+ }
+
+
+ }
+
+ void btn_open_configuration_form_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault)
+ {
+ frm_openerp_configuration frm_config = new frm_openerp_configuration();
+ frm_config.Show();
+
+ }
+
+
+ public static bool isLoggedIn()
+ {
+ /*
+
+ * This will check that it is connecting with server or not.
+ * If wrong server name or port is given then it will throw the message.
+ * returns true If conneted with server, otherwise False.
+
+ */
+ if (Cache.OpenERPOutlookPlugin == null || Cache.OpenERPOutlookPlugin.isLoggedIn == false)
+ {
+ throw new Exception("OpenERP Server is not connected!\nPlease connect OpenERP Server from Configuration Menu.");
+
+ }
+ return true;
+ }
+
+ public static void handleException(Exception e)
+ {
+ string Title;
+ if (Form.ActiveForm != null)
+ {
+ Title = Form.ActiveForm.Text;
+ }
+ else
+ {
+ Title = "OpenERP Addin";
+ }
+ MessageBox.Show(e.Message, Title, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ public static void displayMessage(string message)
+ {
+ string Title;
+ if (Form.ActiveForm != null)
+ {
+ Title = Form.ActiveForm.Text;
+ }
+ else
+ {
+ Title = "OpenERP Addin";
+ }
+ MessageBox.Show(message, Title, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ public void CheckMailCount()
+ {
+ if (countMail() == 0)
+ {
+ throw new Exception("No email selected.\nPlease select one email.");
+ }
+ if (countMail() > 1)
+ {
+ throw new Exception("Multiple selction is not allowed.\nPlease select only one email.");
+ }
+
+ }
+
+ void btn_open_partner_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault)
+ {
+ try
+ {
+ Connect.isLoggedIn();
+ this.CheckMailCount();
+ if (countMail() == 1)
+ {
+
+ foreach (outlook.MailItem mailitem in Tools.MailItems())
+ {
+
+ Object[] contact = Cache.OpenERPOutlookPlugin.RedirectPartnerPage(mailitem);
+ if ((int)contact[1] > 0)
+ {
+ Cache.OpenERPOutlookPlugin.RedirectWeb(contact[2]);
+ }
+ else
+ {
+ frm_contact contact_form = new frm_contact(mailitem.SenderName, mailitem.SenderEmailAddress);
+ contact_form.Show();
+ }
+
+ }
+ }
+
+ }
+ catch (Exception e)
+ {
+ Connect.handleException(e);
+ }
+
+ }
+
+ void btn_open_document_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault)
+ {
+ try
+ {
+ Connect.isLoggedIn();
+ this.CheckMailCount();
+ if (countMail() == 1)
+ {
+ frm_choose_document_opt frm_doc = new frm_choose_document_opt();
+ }
+ }
+ catch (Exception e)
+ {
+ Connect.handleException(e);
+ }
+
+ }
+
+
+ public void OnBeginShutdown(ref System.Array custom)
+ {
+ }
+ private object applicationObject;
+ private object addInInstance;
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.cs
new file mode 100644
index 00000000000..cf1578d903b
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.cs
@@ -0,0 +1,223 @@
+/*
+
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Collections;
+using System.Linq;
+using OpenERPClient;
+using outlook = Microsoft.Office.Interop.Outlook;
+using System.Windows.Forms;
+namespace OpenERPOutlookPlugin
+{
+
+ public class OpenERPOutlookPlugin : Model
+ {
+ public Boolean isLoggedIn
+ {
+ /*
+
+ * This will check that user is logged in or not and gets the value
+ * returns : True if loggedIn, False otherwise.
+
+ */
+ get
+ {
+ if (this.Connection != null) { return this.Connection.isLoggedIn; }
+ return false;
+ }
+ }
+
+ public OpenERPOutlookPlugin(OpenERPConnect connection)
+ {
+ this.Connection = connection;
+ //this.set_server_method();
+ }
+
+ public Record[] SearchRecord(string name,string model)
+ {
+ /*
+ * Gives name and model for search record.
+ */
+ ArrayList object_list = new ArrayList();
+ Model parent_model;
+ parent_model = new Model(model);
+ ArrayList args = new ArrayList();
+ args.Add(parent_model.model);
+ if (name != null)
+ {
+ args.Add(name);
+ }
+ else
+ {
+ args.Add("");
+ }
+ object[] objects = (object[])this.openerp_connect.Execute("plugin.handler", "list_document_get", args.ToArray());
+ foreach (object obj in objects)
+ {
+ Hashtable document = new Hashtable();
+ object[] names = (object[])obj;
+ document.Add("id", names[0].ToString());
+ document.Add("name", names[1].ToString());
+ object_list.Add(new Record(document,parent_model));
+ }
+ return (Record[])object_list.ToArray(typeof(Record));
+ }
+
+ public string Name_get(outlook.MailItem mail)
+ {
+
+ string email = Tools.GetHeader(mail);
+ object doc = this.openerp_connect.Execute("plugin.handler", "document_get", email);
+ object[] name = (object[])doc;
+ return name[3].ToString();
+
+ }
+
+ public void RedirectWeb(object web_url)
+ {
+ /*
+ * Will open the url into the web browser.
+ */
+
+ System.Diagnostics.Process.Start(web_url.ToString());
+ }
+
+
+ public object[] RedirectPartnerPage(outlook.MailItem mail)
+ {
+ /*
+
+ * Will Redirect to the web-browser and open partner.
+ * If it will not found partner in res.partner.address (in contact) then
+ it will open the contact form to create a partner.
+ :Param outlook.MailItem mailItem : Outlook Mail item
+ */
+ string email_id = mail.SenderEmailAddress.ToString();
+ Object[] contact = (Object[])this.openerp_connect.Execute("plugin.handler", "partner_get", email_id);
+ return contact;
+
+ }
+
+ public void Open_Document(outlook.MailItem mail)
+ {
+ /*
+ * To open document attached in a url.returns the model_id and res_id of the document
+ :Param outlook.MailItem mail: Outlook mails.
+ */
+
+ string email = Tools.GetHeader(mail);
+ object doc = this.openerp_connect.Execute("plugin.handler", "document_get", email);
+ object[] url = (object[])doc;
+ this.RedirectWeb(url[2].ToString());
+ }
+
+ public Boolean PushMail(outlook.MailItem mail, string model, int thread_id)
+ {
+ /*
+
+ * This will push the mail as per the selected items from the list.
+ :Param outlook.MailItem mail: selected mail from the outlook.
+ :Param string model : Model name to push.
+ :Param int thread_id : Thread id of the mail.
+ * If mail pushed successfully then it returns true.
+ * return False if mail Already Exist.
+
+ */
+ OpenERPOutlookPlugin openerp_outlook = Cache.OpenERPOutlookPlugin;
+ OpenERPConnect openerp_connect = openerp_outlook.Connection;
+ ArrayList args = new ArrayList();
+ Hashtable vals = new Hashtable();
+ string email = Tools.GetHeader(mail); //TODO: Outlook.MailItem Should be Converted into MIME Message
+ args.Add(model);
+ args.Add(email.ToString());
+ args.Add(thread_id);
+ Hashtable attachments = Tools.GetAttachments(mail);
+ args.Add(mail.Body);
+ args.Add(mail.HTMLBody);
+ args.Add(attachments);
+ object push_mail = this.Connection.Execute("plugin.handler", "push_message_outlook", args.ToArray());
+ object[] push = (object[])push_mail;
+ this.RedirectWeb(push[2].ToString());
+ return true;
+
+ }
+ public long CreatePartnerRecord(string name)
+ {
+ /*
+
+ * Creates a partner record in res.partner as per the name given in the plugin form.
+ :Param String name: Name given to create a partner in the database.
+ * Returns a Long value : Partner id.
+
+ */
+ Record[] partenr_list = this.SearchRecord(name,"res.partner");
+ int partner_id = 0;
+ foreach (Record partner in partenr_list)
+ {
+ partner_id = Convert.ToInt16(partner.id);
+ }
+
+ return partner_id;
+ }
+ public void CreateContactRecord(int partner_id, string name, string email_id)
+ {
+ /*
+
+ * Creates a Contact record in the res.partner.address as per the details given in the
+ plugin form of openERP outlook Plugin.
+ :Param string partner_id : Partner id for which it creates a contact
+ :Param string name : Contact name
+ :Param string email_id : Email address
+
+ */
+ Hashtable values = new Hashtable();
+ values.Add("name", name);
+ values.Add("email", email_id);
+ ArrayList args = new ArrayList();
+ args.Add(values);
+ args.Add(partner_id);
+ object[] contact = (object[])this.openerp_connect.Execute("plugin.handler", "contact_create", args.ToArray());
+ this.RedirectWeb(contact[2].ToString());
+
+ }
+
+ public Model[] GetMailModels()
+ {
+ /*
+
+ * function to get objects to display in combo box
+ * returns the Array list of models.
+
+ */
+ ArrayList obj_list = new ArrayList();
+ object mail_models = this.Connection.Execute("plugin.handler", "document_type");
+ foreach (object model in (object[])mail_models)
+ {
+ Model open_model;
+ string[] models = (string[])model;
+ open_model = new Model(models[0], models[1]);
+ open_model.Connection = this.Connection;
+ obj_list.Add(open_model);
+ }
+ return (Model[])obj_list.ToArray(typeof(Model));
+ }
+ }
+
+} \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.csproj b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.csproj
new file mode 100644
index 00000000000..6dcf4468b99
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.csproj
@@ -0,0 +1,235 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.21022</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{F4B2219B-F235-400F-81B4-92F15250BBA4}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <StartupObject>
+ </StartupObject>
+ <NoStandardLibraries>false</NoStandardLibraries>
+ <AssemblyName>OpenERPOutlookPlugin</AssemblyName>
+ <RootNamespace>OpenERPOutlookPlugin</RootNamespace>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <Optimize>false</Optimize>
+ <OutputPath>.\bin\Debug\</OutputPath>
+ <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <WarningLevel>4</WarningLevel>
+ <IncrementalBuild>false</IncrementalBuild>
+ <RegisterForComInterop>true</RegisterForComInterop>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugSymbols>false</DebugSymbols>
+ <Optimize>true</Optimize>
+ <OutputPath>.\bin\Release\</OutputPath>
+ <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
+ <DefineConstants>TRACE</DefineConstants>
+ <WarningLevel>4</WarningLevel>
+ <IncrementalBuild>false</IncrementalBuild>
+ <RegisterForComInterop>true</RegisterForComInterop>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="Extensibility, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="System">
+ <HintPath>System.dll</HintPath>
+ <Name>System</Name>
+ </Reference>
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data">
+ <HintPath>System.Data.dll</HintPath>
+ <Name>System.Data</Name>
+ </Reference>
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Net">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Web" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.XML">
+ <HintPath>System.XML.dll</HintPath>
+ <Name>System.XML</Name>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="AssemblyInfo.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="Cache.cs" />
+ <Compile Include="ConfigManager.cs" />
+ <Compile Include="frm_contact.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="frm_contact.designer.cs">
+ <DependentUpon>frm_contact.cs</DependentUpon>
+ </Compile>
+ <Compile Include="frm_create_doc.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="frm_create_doc.Designer.cs">
+ <DependentUpon>frm_create_doc.cs</DependentUpon>
+ </Compile>
+ <Compile Include="frm_openerp_connection.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="frm_openerp_connection.Designer.cs">
+ <DependentUpon>frm_openerp_connection.cs</DependentUpon>
+ </Compile>
+ <Compile Include="frm_push_mail.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="frm_push_mail.designer.cs">
+ <DependentUpon>frm_push_mail.cs</DependentUpon>
+ </Compile>
+ <Compile Include="frm_select_partner.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="frm_select_partner.Designer.cs">
+ <DependentUpon>frm_select_partner.cs</DependentUpon>
+ </Compile>
+ <Compile Include="frm_choose_document_opt.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="frm_choose_document_opt.Designer.cs">
+ <DependentUpon>frm_choose_document_opt.cs</DependentUpon>
+ </Compile>
+ <Compile Include="OpenERPOutlookPlugin.cs" />
+ <Compile Include="Properties\Resources.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ <Compile Include="Tools.cs" />
+ <Compile Include="Connect.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="frm_openerp_configuration.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="frm_openerp_configuration.Designer.cs">
+ <DependentUpon>frm_openerp_configuration.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\Settings.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTimeSharedInput>True</DesignTimeSharedInput>
+ <DependentUpon>Settings.settings</DependentUpon>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="frm_contact.resx">
+ <DependentUpon>frm_contact.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="frm_create_doc.resx">
+ <DependentUpon>frm_create_doc.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="frm_openerp_configuration.resx">
+ <DependentUpon>frm_openerp_configuration.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="frm_openerp_connection.resx">
+ <DependentUpon>frm_openerp_connection.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="frm_push_mail.resx">
+ <DependentUpon>frm_push_mail.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="frm_select_partner.resx">
+ <DependentUpon>frm_select_partner.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="frm_choose_document_opt.resx">
+ <DependentUpon>frm_choose_document_opt.cs</DependentUpon>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Properties\Resources.resx">
+ <Generator>ResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Properties\Settings.settings">
+ <Generator>SettingsSingleFileGenerator</Generator>
+ <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <COMReference Include="Microsoft.Office.Core">
+ <Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
+ <VersionMajor>2</VersionMajor>
+ <VersionMinor>4</VersionMinor>
+ <Lcid>0</Lcid>
+ <WrapperTool>primary</WrapperTool>
+ <Isolated>False</Isolated>
+ </COMReference>
+ <COMReference Include="Microsoft.Office.Interop.Outlook">
+ <Guid>{00062FFF-0000-0000-C000-000000000046}</Guid>
+ <VersionMajor>9</VersionMajor>
+ <VersionMinor>3</VersionMinor>
+ <Lcid>0</Lcid>
+ <WrapperTool>primary</WrapperTool>
+ <Isolated>False</Isolated>
+ </COMReference>
+ <COMReference Include="stdole">
+ <Guid>{00020430-0000-0000-C000-000000000046}</Guid>
+ <VersionMajor>2</VersionMajor>
+ <VersionMinor>0</VersionMinor>
+ <Lcid>0</Lcid>
+ <WrapperTool>primary</WrapperTool>
+ <Isolated>False</Isolated>
+ </COMReference>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\195737_152643643962_3595480_n.jpg" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="Resources\Account.png" />
+ <Content Include="Resources\Archive.png" />
+ <Content Include="Resources\Case.png" />
+ <Content Include="Resources\Contact.png" />
+ <Content Include="Resources\Create.png" />
+ <Content Include="Resources\developped_by.png" />
+ <Content Include="Resources\Error.gif" />
+ <Content Include="Resources\Invoice.png" />
+ <Content Include="Resources\logo.png" />
+ <Content Include="Resources\Move.gif" />
+ <Content Include="Resources\MoveDown.png" />
+ <Content Include="Resources\MoveLeft.png" />
+ <Content Include="Resources\openerp.png" />
+ <Content Include="Resources\Partner.png" />
+ <Content Include="Resources\perform.gif" />
+ <Content Include="Resources\Product.png" />
+ <Content Include="Resources\Project.png" />
+ <Content Include="Resources\Sale.png" />
+ <Content Include="Resources\Search.gif" />
+ <Content Include="Resources\settings.png" />
+ <Content Include="Resources\Success.gif" />
+ <Content Include="Resources\Task.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\OpenERPClient\OpenERPClient.csproj">
+ <Project>{8E62B8DF-E3A2-4429-A820-FB8A31C2EB00}</Project>
+ <Name>OpenERPClient</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
+ <PropertyGroup>
+ <PreBuildEvent>
+ </PreBuildEvent>
+ <PostBuildEvent>
+ </PostBuildEvent>
+ </PropertyGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.csproj.user b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.csproj.user
new file mode 100644
index 00000000000..be11fa35423
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/OpenERPOutlookPlugin.csproj.user
@@ -0,0 +1,12 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <StartWorkingDirectory>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\</StartWorkingDirectory>
+ <StartProgram>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe</StartProgram>
+ <StartAction>Program</StartAction>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <StartWorkingDirectory>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\</StartWorkingDirectory>
+ <StartProgram>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe</StartProgram>
+ <StartAction>Program</StartAction>
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Resources.Designer.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Resources.Designer.cs
new file mode 100644
index 00000000000..5135996facd
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Resources.Designer.cs
@@ -0,0 +1,119 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace OpenERPOutlookPlugin.Properties {
+ using System;
+
+
+ /// <summary>
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ /// </summary>
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ /// <summary>
+ /// Returns the cached ResourceManager instance used by this class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenERPOutlookPlugin.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ /// <summary>
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ internal static System.Drawing.Bitmap _195737_152643643962_3595480_n {
+ get {
+ object obj = ResourceManager.GetObject("195737_152643643962_3595480_n", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap Archive {
+ get {
+ object obj = ResourceManager.GetObject("Archive", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap Create {
+ get {
+ object obj = ResourceManager.GetObject("Create", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap Error {
+ get {
+ object obj = ResourceManager.GetObject("Error", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap MoveDown {
+ get {
+ object obj = ResourceManager.GetObject("MoveDown", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap MoveLeft {
+ get {
+ object obj = ResourceManager.GetObject("MoveLeft", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap Search {
+ get {
+ object obj = ResourceManager.GetObject("Search", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap Success {
+ get {
+ object obj = ResourceManager.GetObject("Success", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Resources.resx b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Resources.resx
new file mode 100644
index 00000000000..c43e150f921
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Resources.resx
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="MoveLeft" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\MoveLeft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="Archive" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\Archive.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="Create" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\Create.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="Success" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\Success.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="195737_152643643962_3595480_n" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\195737_152643643962_3595480_n.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="Error" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\Error.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="Search" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\Search.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="MoveDown" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\MoveDown.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Settings.Designer.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Settings.Designer.cs
new file mode 100644
index 00000000000..125ba326671
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.3053
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace OpenERPOutlookPlugin.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Settings.settings b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Settings.settings
new file mode 100644
index 00000000000..15034e76c4c
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Properties/Settings.settings
@@ -0,0 +1,6 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
+ <Profiles>
+ <Profile Name="(Default)" />
+ </Profiles>
+</SettingsFile>
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/195737_152643643962_3595480_n.jpg b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/195737_152643643962_3595480_n.jpg
new file mode 100644
index 00000000000..610defc9232
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/195737_152643643962_3595480_n.jpg
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Account.ico b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Account.ico
new file mode 100644
index 00000000000..acea3ab0169
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Account.ico
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Account.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Account.png
new file mode 100644
index 00000000000..b13f2b0f523
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Account.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Archive.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Archive.png
new file mode 100644
index 00000000000..5aa6a958d37
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Archive.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Case.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Case.png
new file mode 100644
index 00000000000..9b950b8ea9d
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Case.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Contact.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Contact.png
new file mode 100644
index 00000000000..9bd6f9f6059
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Contact.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Create.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Create.png
new file mode 100644
index 00000000000..1ab240c32cb
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Create.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Error.gif b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Error.gif
new file mode 100644
index 00000000000..38c3523781b
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Error.gif
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Invoice.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Invoice.png
new file mode 100644
index 00000000000..4551107ec3b
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Invoice.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Move.gif b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Move.gif
new file mode 100644
index 00000000000..401bf861213
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Move.gif
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/MoveDown.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/MoveDown.png
new file mode 100644
index 00000000000..3761ff1e747
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/MoveDown.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/MoveLeft.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/MoveLeft.png
new file mode 100644
index 00000000000..031d7532673
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/MoveLeft.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/OpenERP_icon.ico b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/OpenERP_icon.ico
new file mode 100644
index 00000000000..8f6dc9edabc
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/OpenERP_icon.ico
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Partner.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Partner.png
new file mode 100644
index 00000000000..c661339598e
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Partner.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Product.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Product.png
new file mode 100644
index 00000000000..51451e422ae
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Product.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Project.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Project.png
new file mode 100644
index 00000000000..0f8ea2af8f5
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Project.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Sale.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Sale.png
new file mode 100644
index 00000000000..1b0b44f890e
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Sale.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Search.gif b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Search.gif
new file mode 100644
index 00000000000..b29c3cf1054
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Search.gif
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Success.gif b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Success.gif
new file mode 100644
index 00000000000..fb3bff729c5
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Success.gif
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Task.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Task.png
new file mode 100644
index 00000000000..52056b1e713
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/Task.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/developped_by.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/developped_by.png
new file mode 100644
index 00000000000..e4004e3d178
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/developped_by.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/logo.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/logo.png
new file mode 100644
index 00000000000..d6dbd9d83d1
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/logo.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/openerp.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/openerp.png
new file mode 100644
index 00000000000..326798df2ec
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/openerp.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/perform.gif b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/perform.gif
new file mode 100644
index 00000000000..16cc3873858
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/perform.gif
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/settings.png b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/settings.png
new file mode 100644
index 00000000000..ad0298af667
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Resources/settings.png
Binary files differ
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Tools.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Tools.cs
new file mode 100644
index 00000000000..5d102c73dd2
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/Tools.cs
@@ -0,0 +1,173 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Collections;
+using System.Drawing;
+using System.IO;
+using outlook = Microsoft.Office.Interop.Outlook;
+
+
+namespace OpenERPOutlookPlugin
+{
+ static public class Tools
+ {
+ static public outlook.MailItem[] MailItems()
+ {
+ Microsoft.Office.Interop.Outlook.Application app = null;
+ app = new Microsoft.Office.Interop.Outlook.Application();
+ ArrayList mailItems = new ArrayList();
+ foreach (var selection in app.ActiveExplorer().Selection)
+ {
+ if (selection is outlook.MailItem)
+ {
+ mailItems.Add((outlook.MailItem)selection);
+ }
+ }
+ return (outlook.MailItem[])mailItems.ToArray(typeof(outlook.MailItem));
+ }
+
+ static public string[] SplitURL(string url)
+ {
+ /*
+
+ * Split the url in three parts protocal host and port number.
+ :Param string url : url to split.
+ * returnts the string array which contains the protocol, host name and port number.
+
+ */
+ string protocall = "";
+ string host = "localhost";
+ string port = "8069";
+ if (url != "")
+ {
+ string[] server = url.Split("://".ToCharArray());
+ protocall = server[0];
+
+ host = server[3];
+ port = "";
+ if (server.Length > 4) port = server[4];
+ }
+ return new string[] { protocall, host, port };
+
+ }
+ static public string JoinURL(string host, string port, bool ssl)
+ {
+ /*
+
+ * Join the url as per the host, port and protocols are given.
+ :Param string host : host name
+ :Param string port : port number
+ :Param boolean ssl : protocol
+ * reruns a string url combination of host, port and protocol.
+
+ */
+ string protocall = "http";
+ if (ssl) protocall = "https";
+ string url = protocall + "://" + host;
+ if (port != "") url += ":" + port;
+ return url;
+ }
+ static public Hashtable GetAttachments(outlook.MailItem mail)
+ {
+ /*
+
+ * Gets the attachments of selected mail of outlook mail items.
+ :Param outlook.MailItem mail : gives the selected mail item from the outlook.
+ * returns the hashtable (dictionary) value of the attachemts.
+ */
+ System.IO.FileStream inFile;
+ Hashtable attach = new Hashtable();
+ string[] strattch = new string[4];
+ foreach (outlook.Attachment attach1 in mail.Attachments)
+ {
+ string filename = Tools.GetAppFolderPath() + attach1.FileName;
+ attach1.SaveAsFile(filename);
+ inFile = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read);
+ byte[] datas = new Byte[inFile.Length];
+ long bytesRead = inFile.Read(datas, 0, (int)inFile.Length);
+ inFile.Close();
+ string fdata = System.Convert.ToBase64String(datas);
+ attach.Add(attach1.FileName, fdata);
+ strattch[0] = attach1.FileName;
+ System.IO.File.Delete(filename);
+ }
+ return attach;
+ }
+ static public string GetAppFolderPath()
+ {
+ /*
+
+ * Gets the path of Applicaion folder.
+ * returns String value of file path.
+
+ */
+ string filePath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
+ filePath = System.IO.Path.Combine(filePath, "OpenERPOutlook");
+ if (!Directory.Exists(filePath))
+ {
+ Directory.CreateDirectory(filePath);
+ }
+ return filePath;
+ }
+
+ static public string GetMessageId(outlook.MailItem mail)
+ {
+ var propertyAccessor = mail.PropertyAccessor;
+ string message_id = propertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x1035001E").ToString();
+ return message_id;
+ }
+ static public string GetHeader(outlook.MailItem mail)
+ {
+ var propertyAccessor = mail.PropertyAccessor;
+ //string HEADERS = propertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/string/{3f0a69e0-7f56-11d2-b536-00aa00bbb6e6}/urn:schemas:httpmail:content-disposition-type").ToString();
+ string HEADERS = propertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E").ToString();
+ return HEADERS;
+
+ }
+
+ static public string EncryptB64Pwd(string pwd)
+ {
+ /*
+
+ * Accepts the string password and encrypt it into the base64 format.
+ :Param string pwd : A normal string Password.
+ * returns the encrypted base64 passwod from the normal string value.
+
+ */
+ byte[] encbuff = System.Text.Encoding.UTF8.GetBytes(pwd);
+ string encodepwd = Convert.ToBase64String(encbuff);
+ return "[" + encodepwd + "]";
+
+ }
+ static public string DecryptB64Pwd(string pwd)
+ {
+ /*
+
+ * Accept the base64 fromat string value and decrypt it to normal string.
+ :Param : string pwd : A base64 value password.
+ * returns the decrypted string value from the base64 value.
+ */
+ string pswd = pwd.Substring(1, (pwd.Length - 2));
+ byte[] decbuff = Convert.FromBase64String(pswd);
+ string decodpwd = System.Text.Encoding.UTF8.GetString(decbuff);
+ return decodpwd;
+ }
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.Designer.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.Designer.cs
new file mode 100644
index 00000000000..396ed9ef0f9
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.Designer.cs
@@ -0,0 +1,137 @@
+namespace OpenERPOutlookPlugin
+{
+ partial class frm_choose_document_opt
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frm_choose_document_opt));
+ this.btn_doc = new System.Windows.Forms.Button();
+ this.btn_cncl = new System.Windows.Forms.Button();
+ this.btn_push = new System.Windows.Forms.Button();
+ this.btn_newdoc = new System.Windows.Forms.Button();
+ this.lbl_docname = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // btn_doc
+ //
+ this.btn_doc.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_doc.Image = global::OpenERPOutlookPlugin.Properties.Resources.Archive;
+ this.btn_doc.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btn_doc.Location = new System.Drawing.Point(31, 146);
+ this.btn_doc.Name = "btn_doc";
+ this.btn_doc.Size = new System.Drawing.Size(169, 32);
+ this.btn_doc.TabIndex = 0;
+ this.btn_doc.Text = "&Open an existing Document";
+ this.btn_doc.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.btn_doc.UseVisualStyleBackColor = true;
+ this.btn_doc.Click += new System.EventHandler(this.btn_doc_Click);
+ //
+ // btn_cncl
+ //
+ this.btn_cncl.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.btn_cncl.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_cncl.Image = global::OpenERPOutlookPlugin.Properties.Resources.Error;
+ this.btn_cncl.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btn_cncl.Location = new System.Drawing.Point(463, 146);
+ this.btn_cncl.Name = "btn_cncl";
+ this.btn_cncl.Size = new System.Drawing.Size(105, 32);
+ this.btn_cncl.TabIndex = 1;
+ this.btn_cncl.Text = "&Cancel";
+ this.btn_cncl.UseVisualStyleBackColor = true;
+ this.btn_cncl.Click += new System.EventHandler(this.btn_cncl_Click);
+ //
+ // btn_push
+ //
+ this.btn_push.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.btn_push.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_push.Image = ((System.Drawing.Image)(resources.GetObject("btn_push.Image")));
+ this.btn_push.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btn_push.Location = new System.Drawing.Point(231, 146);
+ this.btn_push.Name = "btn_push";
+ this.btn_push.Size = new System.Drawing.Size(199, 32);
+ this.btn_push.TabIndex = 2;
+ this.btn_push.Text = "P&ush to an existing Document";
+ this.btn_push.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.btn_push.UseVisualStyleBackColor = true;
+ this.btn_push.Click += new System.EventHandler(this.btn_push_Click);
+ //
+ // btn_newdoc
+ //
+ this.btn_newdoc.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.btn_newdoc.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_newdoc.Image = global::OpenERPOutlookPlugin.Properties.Resources.Create;
+ this.btn_newdoc.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btn_newdoc.Location = new System.Drawing.Point(31, 146);
+ this.btn_newdoc.Name = "btn_newdoc";
+ this.btn_newdoc.Size = new System.Drawing.Size(169, 32);
+ this.btn_newdoc.TabIndex = 3;
+ this.btn_newdoc.Text = "Create a &new Document";
+ this.btn_newdoc.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.btn_newdoc.UseVisualStyleBackColor = true;
+ this.btn_newdoc.Click += new System.EventHandler(this.btn_newdoc_Click);
+ //
+ // lbl_docname
+ //
+ this.lbl_docname.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.lbl_docname.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ this.lbl_docname.Font = new System.Drawing.Font("Microsoft Sans Serif", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbl_docname.Location = new System.Drawing.Point(12, 20);
+ this.lbl_docname.Name = "lbl_docname";
+ this.lbl_docname.Size = new System.Drawing.Size(570, 94);
+ this.lbl_docname.TabIndex = 7;
+ this.lbl_docname.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // frm_choose_document_opt
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(594, 204);
+ this.Controls.Add(this.lbl_docname);
+ this.Controls.Add(this.btn_newdoc);
+ this.Controls.Add(this.btn_push);
+ this.Controls.Add(this.btn_cncl);
+ this.Controls.Add(this.btn_doc);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.Name = "frm_choose_document_opt";
+ this.Text = "Document";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button btn_doc;
+ private System.Windows.Forms.Button btn_cncl;
+ private System.Windows.Forms.Button btn_push;
+ private System.Windows.Forms.Button btn_newdoc;
+ private System.Windows.Forms.Label lbl_docname;
+ }
+} \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.cs
new file mode 100644
index 00000000000..e364922844b
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.cs
@@ -0,0 +1,98 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using OpenERPClient;
+using outlook = Microsoft.Office.Interop.Outlook;
+using System.Collections;
+
+namespace OpenERPOutlookPlugin
+{
+ public partial class frm_choose_document_opt : Form
+ {
+ public frm_choose_document_opt()
+ {
+ InitializeComponent();
+ try
+ {
+ foreach (outlook.MailItem mail in Tools.MailItems())
+ {
+
+ string name_get = Cache.OpenERPOutlookPlugin.Name_get(mail);
+ this.Show();
+ if (name_get != "")
+ {
+ lbl_docname.Text = name_get;
+ btn_newdoc.Visible = false;
+
+ }
+ else
+ {
+ lbl_docname.Text = mail.Subject;
+ btn_doc.Visible = false;
+ }
+ }
+
+ }
+ catch (Exception ex)
+ {
+ Connect.handleException(ex);
+ }
+
+ }
+
+ private void btn_doc_Click(object sender, EventArgs e)
+ {
+ foreach (outlook.MailItem mailitem in Tools.MailItems())
+ {
+ Cache.OpenERPOutlookPlugin.Open_Document(mailitem);
+
+ }
+ this.Close();
+ }
+
+
+ private void btn_push_Click(object sender, EventArgs e)
+ {
+ frm_push_mail frm_push_mail = new frm_push_mail();
+ frm_push_mail.Show();
+ this.Close();
+ }
+
+ private void btn_cncl_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void btn_newdoc_Click(object sender, EventArgs e)
+ {
+ frm_create_doc create_doc = new frm_create_doc();
+ create_doc.Show();
+ this.Close();
+ }
+
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.resx b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.resx
new file mode 100644
index 00000000000..bbe4f00b972
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_choose_document_opt.resx
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="btn_push.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ R0lGODlhEAAQAIMAAG3E8G2t10a17BaL0ymp6kq78SB7uHa75UCr4zSi4R12sxZmpTy08B6Z3n7J8AAA
+ ACH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAAAPACwAAAAAEAAQAAAIZwAfCBxIsKDBgwgHBjCQsKCBAwwb
+ CjQAAEBEggsNaNQIgIBFhwEOiHTgQAABBg4uPjAQYMCABgROFiggIOVAli9lzhQgAMGCmwcSIBAwc6dP
+ jAqSKqV5tKGCnj8lPo0qMQBViVizBgQAOw==
+</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAACAgICAAAAKwAAAGw8PDykT09Pu1BQULpAQEChAAAAYgAAAB0AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAFBQUNAAAAanFxcdygoaH/l5eX/5OTk/+ZmJj/o6Kj/6alpv93d3jbCAgIVwkJ
+ CQMAAAAAAAAAAAAAAAAHBwcKIyQkhLCwr/2IiIv+Q0NH/zc4PP9KSlD/b29w/3l5eP+VlJX/srKy/rCw
+ sf87OztxEBAQAgAAAAD///8ADQ0NYMfGxf5lZXv+BwdS/hISdv8MDGb/EBBw/wgIUf8rK0D/X19g/4yM
+ jP7CwsL+xsbG/ywsLEYAAAAAAAAAFqioqdykpLn+ERGH/hsbo/8vMEj/srK5/4OEpP8cHJr/GRmh/w8P
+ Qv9RUVP/nJuc/trZ2f69vb7aAAAAAiQkI1D49/X/YWGp/yUlzv8WFo3/bW1w/9vb2//x8O//oqPH/yUl
+ xv8jI87/Dw9C/2loaP/Ly8v/8vLy/3FxcD2jo6OR/////1tbyf8uLuf/HByh/2VlaP/e3t7//f39////
+ //9dXc//LS3n/yIi0f8rKzj/pqal//7+/v/W1taEycnJqv////9wcOX/ODj3/ygoz/9ERE3/xMTE//v7
+ +//+/v//09Pz/zMz8v80NPn/EBBx/4KCgf/09PT/7e3to9bW1qn/////oqL6/0JC//9BQf//Hx9G/5aW
+ lP/u7u7///////////9MTPf/Ojr8/yIivv9hYWv/7u7u//X19aTY2NmI//////Hx/P84OPD/QED7/xkZ
+ kf9iYmb/xcXF//r6+v//////fX3n/zc3+/8pKdz/WVlm//Pz8//6+vmIvb29O//////////+jIzV/zMz
+ 6P8rK+H/KChP/4yMiv/X19f/+Pj4/42Nyf8pKev/ICDN/3JygP7/////9/f3PgAAAAD5+fnd/////v//
+ //9SUqn/JCTH/xUVmv9SUmn/pqaj/8nJxv9LS4H/Hh7P/w4Oj/7KytH+/v7+5QAAAAAAAAAA5OTkNP//
+ ///+/v7//////2Fhkv8PD4T/DQ1//yYmXP8xMVz/DAyA/xAQmf9iYob///////z8/DsAAAAAAAAAAAAA
+ AAD8/Pxc/v7+//7+/v7////+xcXL/0xMbP8ICEf/AAA+/xISS/6AgJD+//////7+/mgAAAAAAAAAAAAA
+ AAAAAAAAAAAAAPv7+zX+/v7m//////7+/v/////+/////v//////////////7P7+/j4AAAAA+fn5AAAA
+ AAAAAAAAAAAAAAAAAAD///8AAAAAAP7+/kj+/v6S/v7+s/7+/rT+/v6U/v7+TQAAAAAAAAAAAAAAAAAA
+ AAAAAAAA/D8AAPAPAADABwAAwAMAAIABAACAAQAAAAAAAAAAAAAAAAAAAAAAAIABAACAAQAAwAMAAOAH
+ AADwDwAA/D8AAA==
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.cs
new file mode 100644
index 00000000000..e984c8d711b
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.cs
@@ -0,0 +1,77 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Collections;
+using System.Windows.Forms;
+using OpenERPClient;
+
+namespace OpenERPOutlookPlugin
+{
+ public partial class frm_contact : Form
+ {
+
+ public frm_contact()
+ {
+ InitializeComponent();
+ }
+
+ public frm_contact(string contact_name, string email_id)
+ {
+ InitializeComponent();
+ txt_contactname_create_contact.Text = contact_name;
+ txtemail.Text = email_id;
+
+ }
+
+ private void btncancel_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void btnCreate_partner_Click(object sender, EventArgs e)
+ {
+
+ try
+ {
+ Cache.OpenERPOutlookPlugin.CreateContactRecord(0, txt_contactname_create_contact.Text, txtemail.Text);
+ this.Close();
+ }
+ catch (Exception ex)
+ {
+ Connect.handleException(ex);
+ }
+ }
+
+ private void btnCancel_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void btnLink_partner_Click(object sender, EventArgs e)
+ {
+ frm_select_partner select_partner = new frm_select_partner();
+ select_partner.parent_form = this;
+ select_partner.Show();
+ this.Close();
+ }
+
+
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.designer.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.designer.cs
new file mode 100644
index 00000000000..af6c4756875
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.designer.cs
@@ -0,0 +1,166 @@
+namespace OpenERPOutlookPlugin
+{
+ partial class frm_contact
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frm_contact));
+ this.btnCancel = new System.Windows.Forms.Button();
+ this.btnCreate_partner = new System.Windows.Forms.Button();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.txtemail = new System.Windows.Forms.TextBox();
+ this.lblemail = new System.Windows.Forms.Label();
+ this.txt_contactname_create_contact = new System.Windows.Forms.TextBox();
+ this.lblname = new System.Windows.Forms.Label();
+ this.btnLink_partner = new System.Windows.Forms.Button();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // btnCancel
+ //
+ this.btnCancel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btnCancel.Image = global::OpenERPOutlookPlugin.Properties.Resources.Error;
+ this.btnCancel.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btnCancel.Location = new System.Drawing.Point(306, 127);
+ this.btnCancel.Name = "btnCancel";
+ this.btnCancel.Size = new System.Drawing.Size(70, 23);
+ this.btnCancel.TabIndex = 14;
+ this.btnCancel.Text = "&Cancel ";
+ this.btnCancel.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btnCancel.UseVisualStyleBackColor = true;
+ this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+ //
+ // btnCreate_partner
+ //
+ this.btnCreate_partner.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btnCreate_partner.Image = global::OpenERPOutlookPlugin.Properties.Resources.Success;
+ this.btnCreate_partner.ImageAlign = System.Drawing.ContentAlignment.TopLeft;
+ this.btnCreate_partner.Location = new System.Drawing.Point(189, 127);
+ this.btnCreate_partner.Name = "btnCreate_partner";
+ this.btnCreate_partner.Size = new System.Drawing.Size(109, 23);
+ this.btnCreate_partner.TabIndex = 15;
+ this.btnCreate_partner.Text = "Create &Partner";
+ this.btnCreate_partner.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btnCreate_partner.UseVisualStyleBackColor = true;
+ this.btnCreate_partner.Click += new System.EventHandler(this.btnCreate_partner_Click);
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.txtemail);
+ this.groupBox1.Controls.Add(this.lblemail);
+ this.groupBox1.Controls.Add(this.txt_contactname_create_contact);
+ this.groupBox1.Controls.Add(this.lblname);
+ this.groupBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.groupBox1.Location = new System.Drawing.Point(12, 9);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(369, 110);
+ this.groupBox1.TabIndex = 16;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Address Detail";
+ //
+ // txtemail
+ //
+ this.txtemail.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txtemail.Location = new System.Drawing.Point(97, 66);
+ this.txtemail.Name = "txtemail";
+ this.txtemail.Size = new System.Drawing.Size(255, 20);
+ this.txtemail.TabIndex = 35;
+ //
+ // lblemail
+ //
+ this.lblemail.AutoSize = true;
+ this.lblemail.Location = new System.Drawing.Point(59, 69);
+ this.lblemail.Name = "lblemail";
+ this.lblemail.Size = new System.Drawing.Size(41, 13);
+ this.lblemail.TabIndex = 34;
+ this.lblemail.Text = "Email:";
+ //
+ // txt_contactname_create_contact
+ //
+ this.txt_contactname_create_contact.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txt_contactname_create_contact.Location = new System.Drawing.Point(97, 26);
+ this.txt_contactname_create_contact.Name = "txt_contactname_create_contact";
+ this.txt_contactname_create_contact.Size = new System.Drawing.Size(255, 20);
+ this.txt_contactname_create_contact.TabIndex = 33;
+ //
+ // lblname
+ //
+ this.lblname.AutoSize = true;
+ this.lblname.Location = new System.Drawing.Point(9, 29);
+ this.lblname.Name = "lblname";
+ this.lblname.Size = new System.Drawing.Size(91, 13);
+ this.lblname.TabIndex = 27;
+ this.lblname.Text = "Contact Name:";
+ //
+ // btnLink_partner
+ //
+ this.btnLink_partner.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btnLink_partner.Image = global::OpenERPOutlookPlugin.Properties.Resources.Search;
+ this.btnLink_partner.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btnLink_partner.Location = new System.Drawing.Point(63, 127);
+ this.btnLink_partner.Name = "btnLink_partner";
+ this.btnLink_partner.Size = new System.Drawing.Size(118, 23);
+ this.btnLink_partner.TabIndex = 19;
+ this.btnLink_partner.Text = "&Link To Partner";
+ this.btnLink_partner.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btnLink_partner.UseVisualStyleBackColor = true;
+ this.btnLink_partner.Click += new System.EventHandler(this.btnLink_partner_Click);
+ //
+ // frm_contact
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(394, 159);
+ this.Controls.Add(this.btnLink_partner);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.btnCreate_partner);
+ this.Controls.Add(this.btnCancel);
+ this.Cursor = System.Windows.Forms.Cursors.Default;
+ this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.Name = "frm_contact";
+ this.Text = "Create Contact";
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button btnCancel;
+ private System.Windows.Forms.Button btnCreate_partner;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.TextBox txt_contactname_create_contact;
+ private System.Windows.Forms.Label lblname;
+ private System.Windows.Forms.TextBox txtemail;
+ private System.Windows.Forms.Label lblemail;
+ private System.Windows.Forms.Button btnLink_partner;
+ }
+} \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.resx b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.resx
new file mode 100644
index 00000000000..9477f7baa89
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_contact.resx
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAICAAAAEAGACoDAAAFgAAACgAAAAgAAAAQAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAxO+0UHsorMtUkJMo6LOY5JN81HsdDLM4/JMdINcBISKJCSpA+RpM9SJo6RJsxPJg2PJ84PKU4OadA
+ Pbs7L8lANd8qJNUiJtIZKModMNcUJOIUHu0iJvsaIOUaJsQuQMkXHNcvNOciJsstLNAvItJSQekqG6xQ
+ QchYSNKOg/3Cw//Q2f/P1f/S2P/T3P/R2P+iqP+7vv9vct8zM6k0Lbg6NcwcGroyN9oiLs4eLdccKOQg
+ KvMkKfYaIuEbJsgnOMkdGuUeHd4+PeseHLxAONI9N7p4edSzt//W1v/k4//h6P/f5v/Dw/+2tf+1t/+0
+ tv/Kzv/Y3f/S1f/U2P/Fyf8iKJlOVNMtM8IuM9UjKtgdJd0aI98bJN8nMOUqNN8dKc0pIPMnIOUvK9g5
+ N8w4NLWGiObR4P/k9//k7//K0/+JkeRWW8I5N78uKcAvLL4wMrxCR8hTWNKOlP/a4v/Z4//W4v+Ai+cx
+ OaooKr4mJ88sLuAjKNsWIMwoMt4yOusZI9QnHO42Le8lIME+Pb2Dg+fk7//o///b9/ff8v+OnN5ET6sx
+ NrE3MdIyKdcvKsszNscxOL0uN7YkKqdvduPc6f/Y6v/f8P/F0v9PUMg1MMc0MNY4OOQlK9AdJs4iLN4c
+ J90sIucvKdovL7lcX8fm6v/q9v/m/vbl//yQocxRXa8jLp4sML83MeIsJNwnJsoxNckjLrRATNBARNIo
+ K6srN4/c7f/a7f/k8//Kzf9pZN0nHrQrJskyNNgkLNMbJdYgK+AxK9wxL8k+RK/N1f/s8v/r9v/Y6uvq
+ +/9UW6o2ObMlKbgpK88vKuMqJt0sL801PcwwP8QaJ7MjIsY1MdBDRL54gtDm9//Y6fzq8//AwP9jWdU0
+ KMAxLdIwMt4hLtgcLdc3NdsfIauFkODo9P/x+v/p8vzx/f+uteY7OKw2L8wtLtYpK90nKeIpKt4qLs0l
+ Lr4iML4yPdUrJ94xKN0yLMc3OKavuuzt+//c5vfv9P/Z0/9rYN8tJsMoKNIjL9UYK9A9Od4hJKS9y//n
+ 9//0///x9/z09v+dl+g8LsoyI+InJ98iKd4iKN8kKtspLdIpMM0qNdMcI8wpJucqH+c8L+kzKL5MTaXs
+ 8//0///w+v/x8f++uf8vKLM0M9YlL9MkNNoxK9Y2OLrc7P/t///4//f7///28v+EeNw8JtkuHu4kJuMe
+ Kd4gKd4iKdwpKdkpKdknK90gJNssKu4iGeUuH+wvIdM9MrCmpOr0/f/r9uz2/P/q7f+XlP8zMcYhKMsf
+ LNYmHtc4OsTk8v/x//73/+39//v28P99b9U7JdssHu4gKOAcK9seKd4iJ+ApJOUrIucmIegjIuYwMu8b
+ GtwiGOczJOowHsVYS7709P/5//r6//Xy/P/d4P87PbkiJMghJdspI+AvML7b6f/x//79//L+/vj68v+N
+ f+Q7J9crIeoeKtwZLtccKtwiJ+IrIeksH+0oHu0iH+YuNOsdItsdGuU3LPgzHt42I7XY0P/6/f/2/+np
+ +ejq8/92fN8rLcgqKeMsKuEyNcDc6f/z//////j///779P+Ngds7LM4rJeIcLdcXMNQbLNsiJ+IsIucu
+ IOouJOwhHt8lL+AfLNwaIuEtLPI0Juo1I8SajOr49f/1/+z4//Dt+//J0v8vLsAvKt8gJc44QMPj7//w
+ +f/8/Pz//P/88v9zabw7L8cpKdscL9QXMNIbLNsiKN8sJeIwJOIzK+QjJdcfK9cdLtsWJt0eJ+MuJ+Y5
+ K9B8bNzv5v/z+fT6//Ln9/3k7/8wMrYsJtEcK70yQbXj8P/w9//79P//+P/78P98csU5McQnK9gbL9QX
+ MNQbLNkkK9kuKtcyK9IxL88qL9EcKNQYKtsXK94YKNknK9g1L8pjVM3m2f/6+P/6//7j8fff7P9fYdcs
+ KsMsN88tOLHb5//z+//////89/n79f+kn+o5NL8nLNUbLtUVL9cbLNsiKtssKtgyK9QsJ8oyM9ceJtcV
+ JdwYLuQWLd0hLtYrL8MxK6LWzv/49//w9fbz///q9v+lqP83NrYjHNk7Oszk7f/d7ez9/+T8/9/2+v/e
+ 4P8wMKwyN9kLHMcgNukZKeAdJuIrJu0uIek1I+IyJOAlJeMbJuYQKOYQKuIXLtgkNcYmL5fm7v/z/P/1
+ /vv2///x9//Y1v9FQKMoHuM3M8+epO/x/f/7/+n9/+T4///f4f8xMqQxOM8WJNAZKt8aKuEaJeEhIOYw
+ Je01IeYzI+InJ98bKd8QKuIOKuIVKt8iMc4wOK/Axv/v9v/4/v/4/v/w8//o5/9APY0pKtg4Os5dX77t
+ 8P/19f/7+v/69v/t6P9OTrgxNsEoMtYWJdUfLt4bKNgdJNEwMNwzJ9kyKtUlMc0bM8sSMdQSLdwZJecl
+ JeM3Lc2Shvzq4//49v/4+v/q7v/s7f8/P40iKtEzOc5BQbXi3v/27v/48P/58v/z7v+OjesuMLQuMtcf
+ KN0iKuEcKNQkMckrMcowKtcsK9UkNcYbOMIVNskXMNQgJeUsJOM6Kc6Zhv/u5P/69//2+//t8//h4v9B
+ P5gbJdYiKcw3N8GLhOz06//79P/z8f/09f/Pzf80MK0qItMsJu8hIOYgJtcwQssjMLwrJ94pJuAiMssc
+ OcAbOMIeNccnLNUzLNBAMrXLvv/4+f/6//vy/frv+P+mpvpAOqkhL+YXIc0xMspEPrXZ0v/49P/6/f/2
+ /P/t7v9cWMIsIcswJO4kGugkJt82RNMiMb0nKtklKN4gMsseNsQgNcYlMsouLNI7L8dBM6Ps5f/5//76
+ //Hu/Pjs9f90btlIPckhMe8YI9gsLtAyLq+PjNzh4f/4///2//zv9/+lp/VFO80yI98tIe0tJustMNgo
+ M8skMssiM8ogNMkiMsskLdUrKNs1JtxALcpNPajy7f/y+/j4//Tt+f/o7f9OQspGM+AUKd8bKdslKNE4
+ NcY/OqOsqefz+f/0///v/P/n8f9hYsozLcI6L+MzK+ohHNUtMd4iMc4gMs0iLtQkKdwpIucwIec7JN5F
+ LsZrXbv08v/0//3z//7n8v/P0P8tH7swG9sYMdUaLNMpLNs0LdQ6LMBbTsGxrfTv9f/s/P/o/P/T5f89
+ S54jKKkwLNI4L/EpIukbINsmLOksJ/gmGvYrFPg6IPZEK99FMrevqPPw9f/k8Prt+//m7v97eOUxI8g0
+ IeIaL9EcLNMnKuAwKOEwINI8K8htYdeene3T3//k/P/J5PnK4/82Rp8uM7ciHcwnH+IsLe0aGuIdFO0x
+ H/4zHPQqFNE9L71jXL3s8f/e7P/q+//m9P+DiN0xLqw3LNY8LewiLdslLN8pKuYvJ+owH+UwHNk5Kc5F
+ Pb+Ume7N3v/d+f/R8P/G3/9FV7A5QcQwM9IqLdwjJd4xKuk8MuosJMUwLqp9hdLa6v/m/f/b9f/j9v+z
+ v/9ARLQrKLk5MdwfFc0oKuMoKeUoJeYoIuUsIusyJe0zJeEvJspBQMBMVLG1y//a9P/Y8f/C2f+Ek/o9
+ SsRATdEyPsYoL7oyN7hXW8uNmOrF2P/h+P/X8v/d9f+KmuYgKpU4OcVEQeQXEsE8N+wqIOksI+gnIuEg
+ H9kiI98tLOgvKuksJ94kIMU8PcsvN6hUYL6Jm+7W6P/E1f/T6P/F5f/R9P/U8P/U6//U5v/d7v/d7//Y
+ 6f+zw/9DULg1PMEtL8oSEL0uKuE6NO0nItsxIugyJ+kvKuMlKdshKNsgKd4hJeIhI+AzMegkIcosK8Ex
+ Nbk9Q7ouNqdmceFHV7e00P+du+yNpd+brO+uuv+epv9kac8rMKM9QsYeJbgoLc8yNuMsLeMoJ+EiHtsl
+ H9w4Ktw1K9wxL90rMd4hL9wZKdoXJdscJt4fI9k8POwnJM41MNM5NNMiGro1Lc5GQNswLbkuKrE2MLdE
+ O8hLPNM/L9A0JM8sIdEjIc8wNd4pNNYcKcsVHsUgJdQ0M+0uKeg1KNAuJs0oJ9EnLtkdLtkWKdgWKt0i
+ MOYeJ9wZGs4zLuMwJdktIdVFNuwvH9gxIdo8KdxBLd1AK9s9Jdc6H9o7IOI5H+40IO4lH+I3O/EQH8IZ
+ Lcg2ROQeJ88eHtYoI+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.Designer.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.Designer.cs
new file mode 100644
index 00000000000..88ed53cbe94
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.Designer.cs
@@ -0,0 +1,127 @@
+namespace OpenERPOutlookPlugin
+{
+ partial class frm_create_doc
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frm_create_doc));
+ this.grp_create_bx = new System.Windows.Forms.GroupBox();
+ this.btn_main_close = new System.Windows.Forms.Button();
+ this.cmboboxcreate = new System.Windows.Forms.ComboBox();
+ this.btn_create_doc = new System.Windows.Forms.Button();
+ this.lbtypedoc = new System.Windows.Forms.Label();
+ this.grp_create_bx.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // grp_create_bx
+ //
+ this.grp_create_bx.Controls.Add(this.btn_main_close);
+ this.grp_create_bx.Controls.Add(this.cmboboxcreate);
+ this.grp_create_bx.Controls.Add(this.btn_create_doc);
+ this.grp_create_bx.Controls.Add(this.lbtypedoc);
+ this.grp_create_bx.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.grp_create_bx.Location = new System.Drawing.Point(12, 12);
+ this.grp_create_bx.Name = "grp_create_bx";
+ this.grp_create_bx.Size = new System.Drawing.Size(438, 104);
+ this.grp_create_bx.TabIndex = 0;
+ this.grp_create_bx.TabStop = false;
+ this.grp_create_bx.Text = "Create Document";
+ //
+ // btn_main_close
+ //
+ this.btn_main_close.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_main_close.Image = global::OpenERPOutlookPlugin.Properties.Resources.Error;
+ this.btn_main_close.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btn_main_close.Location = new System.Drawing.Point(353, 63);
+ this.btn_main_close.Name = "btn_main_close";
+ this.btn_main_close.Size = new System.Drawing.Size(63, 23);
+ this.btn_main_close.TabIndex = 9;
+ this.btn_main_close.Text = "&Close ";
+ this.btn_main_close.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_main_close.UseVisualStyleBackColor = true;
+ this.btn_main_close.Click += new System.EventHandler(this.btn_main_close_Click);
+ //
+ // cmboboxcreate
+ //
+ this.cmboboxcreate.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.cmboboxcreate.FormattingEnabled = true;
+ this.cmboboxcreate.Items.AddRange(new object[] {
+ ""});
+ this.cmboboxcreate.Location = new System.Drawing.Point(127, 30);
+ this.cmboboxcreate.Name = "cmboboxcreate";
+ this.cmboboxcreate.Size = new System.Drawing.Size(289, 21);
+ this.cmboboxcreate.TabIndex = 6;
+ //
+ // btn_create_doc
+ //
+ this.btn_create_doc.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_create_doc.Image = global::OpenERPOutlookPlugin.Properties.Resources.Archive;
+ this.btn_create_doc.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btn_create_doc.Location = new System.Drawing.Point(279, 63);
+ this.btn_create_doc.Name = "btn_create_doc";
+ this.btn_create_doc.Size = new System.Drawing.Size(68, 23);
+ this.btn_create_doc.TabIndex = 5;
+ this.btn_create_doc.Text = "&Create ";
+ this.btn_create_doc.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_create_doc.UseVisualStyleBackColor = true;
+ this.btn_create_doc.Click += new System.EventHandler(this.btn_create_doc_Click);
+ //
+ // lbtypedoc
+ //
+ this.lbtypedoc.AutoSize = true;
+ this.lbtypedoc.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbtypedoc.Location = new System.Drawing.Point(6, 33);
+ this.lbtypedoc.Name = "lbtypedoc";
+ this.lbtypedoc.Size = new System.Drawing.Size(119, 13);
+ this.lbtypedoc.TabIndex = 4;
+ this.lbtypedoc.Text = "Type of Document :";
+ //
+ // frm_create_doc
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(462, 135);
+ this.Controls.Add(this.grp_create_bx);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Name = "frm_create_doc";
+ this.Text = "Create new Document";
+ this.grp_create_bx.ResumeLayout(false);
+ this.grp_create_bx.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.GroupBox grp_create_bx;
+ private System.Windows.Forms.ComboBox cmboboxcreate;
+ private System.Windows.Forms.Button btn_create_doc;
+ private System.Windows.Forms.Label lbtypedoc;
+ private System.Windows.Forms.Button btn_main_close;
+ }
+} \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.cs
new file mode 100644
index 00000000000..d35e6524a68
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.cs
@@ -0,0 +1,79 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using OpenERPClient;
+
+namespace OpenERPOutlookPlugin
+{
+ public partial class frm_create_doc : Form
+ {
+ public frm_create_doc()
+ {
+ InitializeComponent();
+
+ foreach (Model model in Cache.OpenERPOutlookPlugin.GetMailModels())
+ {
+ if (model.ToString() != "")
+ {
+ cmboboxcreate.Items.Add(model);
+ cmboboxcreate.Items.Remove("");
+ }
+ }
+ }
+
+ private void btn_create_doc_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (cmboboxcreate.SelectedItem == null)
+ {
+ throw new Exception("Please select a document from the document list.");
+ }
+ else
+ {
+ frm_push_mail pushmail = new frm_push_mail();
+ Model model = (Model)cmboboxcreate.SelectedItem;
+ pushmail.push_mail(model.model, 0);
+ this.Close();
+ }
+
+ }
+
+ catch (Exception ex)
+ {
+
+ Connect.handleException(ex);
+ }
+
+ }
+
+ private void btn_main_close_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.resx b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.resx
new file mode 100644
index 00000000000..3c294eb0444
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_create_doc.resx
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAACAgICAAAAKwAAAGw8PDykT09Pu1BQULpAQEChAAAAYgAAAB0AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAFBQUNAAAAanFxcdygoaH/l5eX/5OTk/+ZmJj/o6Kj/6alpv93d3jbCAgIVwkJ
+ CQMAAAAAAAAAAAAAAAAHBwcKIyQkhLCwr/2IiIv+Q0NH/zc4PP9KSlD/b29w/3l5eP+VlJX/srKy/rCw
+ sf87OztxEBAQAgAAAAD///8ADQ0NYMfGxf5lZXv+BwdS/hISdv8MDGb/EBBw/wgIUf8rK0D/X19g/4yM
+ jP7CwsL+xsbG/ywsLEYAAAAAAAAAFqioqdykpLn+ERGH/hsbo/8vMEj/srK5/4OEpP8cHJr/GRmh/w8P
+ Qv9RUVP/nJuc/trZ2f69vb7aAAAAAiQkI1D49/X/YWGp/yUlzv8WFo3/bW1w/9vb2//x8O//oqPH/yUl
+ xv8jI87/Dw9C/2loaP/Ly8v/8vLy/3FxcD2jo6OR/////1tbyf8uLuf/HByh/2VlaP/e3t7//f39////
+ //9dXc//LS3n/yIi0f8rKzj/pqal//7+/v/W1taEycnJqv////9wcOX/ODj3/ygoz/9ERE3/xMTE//v7
+ +//+/v//09Pz/zMz8v80NPn/EBBx/4KCgf/09PT/7e3to9bW1qn/////oqL6/0JC//9BQf//Hx9G/5aW
+ lP/u7u7///////////9MTPf/Ojr8/yIivv9hYWv/7u7u//X19aTY2NmI//////Hx/P84OPD/QED7/xkZ
+ kf9iYmb/xcXF//r6+v//////fX3n/zc3+/8pKdz/WVlm//Pz8//6+vmIvb29O//////////+jIzV/zMz
+ 6P8rK+H/KChP/4yMiv/X19f/+Pj4/42Nyf8pKev/ICDN/3JygP7/////9/f3PgAAAAD5+fnd/////v//
+ //9SUqn/JCTH/xUVmv9SUmn/pqaj/8nJxv9LS4H/Hh7P/w4Oj/7KytH+/v7+5QAAAAAAAAAA5OTkNP//
+ ///+/v7//////2Fhkv8PD4T/DQ1//yYmXP8xMVz/DAyA/xAQmf9iYob///////z8/DsAAAAAAAAAAAAA
+ AAD8/Pxc/v7+//7+/v7////+xcXL/0xMbP8ICEf/AAA+/xISS/6AgJD+//////7+/mgAAAAAAAAAAAAA
+ AAAAAAAAAAAAAPv7+zX+/v7m//////7+/v/////+/////v//////////////7P7+/j4AAAAA+fn5AAAA
+ AAAAAAAAAAAAAAAAAAD///8AAAAAAP7+/kj+/v6S/v7+s/7+/rT+/v6U/v7+TQAAAAAAAAAAAAAAAAAA
+ AAAAAAAA/D8AAPAPAADABwAAwAMAAIABAACAAQAAAAAAAAAAAAAAAAAAAAAAAIABAACAAQAAwAMAAOAH
+ AADwDwAA/D8AAA==
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.Designer.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.Designer.cs
new file mode 100644
index 00000000000..547cdab9354
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.Designer.cs
@@ -0,0 +1,334 @@
+namespace OpenERPOutlookPlugin
+{
+ partial class frm_openerp_configuration
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frm_openerp_configuration));
+ this.btn_main_close = new System.Windows.Forms.Button();
+ this.tbabout = new System.Windows.Forms.TabPage();
+ this.groupBox3 = new System.Windows.Forms.GroupBox();
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.richTextBox1 = new System.Windows.Forms.RichTextBox();
+ this.tbconfigsetting = new System.Windows.Forms.TabPage();
+ this.pnconfig = new System.Windows.Forms.Panel();
+ this.chkpwd = new System.Windows.Forms.CheckBox();
+ this.txt_dbname = new System.Windows.Forms.TextBox();
+ this.combo_config_database = new System.Windows.Forms.ComboBox();
+ this.btn_openerp_connect = new System.Windows.Forms.Button();
+ this.txt_password = new System.Windows.Forms.TextBox();
+ this.txt_username = new System.Windows.Forms.TextBox();
+ this.btn_open_server_url_form = new System.Windows.Forms.Button();
+ this.txt_server_config = new System.Windows.Forms.TextBox();
+ this.lbn_password = new System.Windows.Forms.Label();
+ this.lbn_username = new System.Windows.Forms.Label();
+ this.lbn_dbname = new System.Windows.Forms.Label();
+ this.lbn_server = new System.Windows.Forms.Label();
+ this.tb1 = new System.Windows.Forms.TabControl();
+ this.tbabout.SuspendLayout();
+ this.groupBox3.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+ this.tbconfigsetting.SuspendLayout();
+ this.pnconfig.SuspendLayout();
+ this.tb1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // btn_main_close
+ //
+ this.btn_main_close.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_main_close.Image = global::OpenERPOutlookPlugin.Properties.Resources.Error;
+ this.btn_main_close.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btn_main_close.Location = new System.Drawing.Point(801, 420);
+ this.btn_main_close.Name = "btn_main_close";
+ this.btn_main_close.Size = new System.Drawing.Size(63, 23);
+ this.btn_main_close.TabIndex = 8;
+ this.btn_main_close.Text = "Close ";
+ this.btn_main_close.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_main_close.UseVisualStyleBackColor = true;
+ this.btn_main_close.Click += new System.EventHandler(this.btn_main_close_Click);
+ //
+ // tbabout
+ //
+ this.tbabout.Controls.Add(this.groupBox3);
+ this.tbabout.Location = new System.Drawing.Point(4, 22);
+ this.tbabout.Name = "tbabout";
+ this.tbabout.Padding = new System.Windows.Forms.Padding(3);
+ this.tbabout.Size = new System.Drawing.Size(434, 315);
+ this.tbabout.TabIndex = 2;
+ this.tbabout.Text = "About";
+ this.tbabout.UseVisualStyleBackColor = true;
+ //
+ // groupBox3
+ //
+ this.groupBox3.Controls.Add(this.pictureBox1);
+ this.groupBox3.Controls.Add(this.richTextBox1);
+ this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.groupBox3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.groupBox3.Location = new System.Drawing.Point(3, 3);
+ this.groupBox3.Name = "groupBox3";
+ this.groupBox3.Size = new System.Drawing.Size(428, 309);
+ this.groupBox3.TabIndex = 0;
+ this.groupBox3.TabStop = false;
+ this.groupBox3.Text = "OpenERP Outlook Plugin";
+ //
+ // pictureBox1
+ //
+ this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+ this.pictureBox1.Location = new System.Drawing.Point(109, 92);
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.Size = new System.Drawing.Size(194, 50);
+ this.pictureBox1.TabIndex = 1;
+ this.pictureBox1.TabStop = false;
+ //
+ // richTextBox1
+ //
+ this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.richTextBox1.Location = new System.Drawing.Point(3, 16);
+ this.richTextBox1.Name = "richTextBox1";
+ this.richTextBox1.ReadOnly = true;
+ this.richTextBox1.Size = new System.Drawing.Size(422, 290);
+ this.richTextBox1.TabIndex = 0;
+ this.richTextBox1.Text = resources.GetString("richTextBox1.Text");
+ this.richTextBox1.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.richTextBox1_LinkClicked);
+ //
+ // tbconfigsetting
+ //
+ this.tbconfigsetting.Controls.Add(this.pnconfig);
+ this.tbconfigsetting.Location = new System.Drawing.Point(4, 22);
+ this.tbconfigsetting.Name = "tbconfigsetting";
+ this.tbconfigsetting.Padding = new System.Windows.Forms.Padding(3);
+ this.tbconfigsetting.Size = new System.Drawing.Size(434, 315);
+ this.tbconfigsetting.TabIndex = 0;
+ this.tbconfigsetting.Text = "Configuration Settings";
+ this.tbconfigsetting.UseVisualStyleBackColor = true;
+ //
+ // pnconfig
+ //
+ this.pnconfig.Controls.Add(this.chkpwd);
+ this.pnconfig.Controls.Add(this.txt_dbname);
+ this.pnconfig.Controls.Add(this.combo_config_database);
+ this.pnconfig.Controls.Add(this.btn_openerp_connect);
+ this.pnconfig.Controls.Add(this.txt_password);
+ this.pnconfig.Controls.Add(this.txt_username);
+ this.pnconfig.Controls.Add(this.btn_open_server_url_form);
+ this.pnconfig.Controls.Add(this.txt_server_config);
+ this.pnconfig.Controls.Add(this.lbn_password);
+ this.pnconfig.Controls.Add(this.lbn_username);
+ this.pnconfig.Controls.Add(this.lbn_dbname);
+ this.pnconfig.Controls.Add(this.lbn_server);
+ this.pnconfig.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnconfig.Location = new System.Drawing.Point(3, 3);
+ this.pnconfig.Name = "pnconfig";
+ this.pnconfig.Size = new System.Drawing.Size(428, 309);
+ this.pnconfig.TabIndex = 53;
+ //
+ // chkpwd
+ //
+ this.chkpwd.AutoSize = true;
+ this.chkpwd.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.chkpwd.Location = new System.Drawing.Point(105, 142);
+ this.chkpwd.Name = "chkpwd";
+ this.chkpwd.Size = new System.Drawing.Size(143, 17);
+ this.chkpwd.TabIndex = 67;
+ this.chkpwd.Text = "Remember Password";
+ this.chkpwd.UseVisualStyleBackColor = true;
+ //
+ // txt_dbname
+ //
+ this.txt_dbname.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txt_dbname.Location = new System.Drawing.Point(105, 57);
+ this.txt_dbname.Name = "txt_dbname";
+ this.txt_dbname.Size = new System.Drawing.Size(269, 20);
+ this.txt_dbname.TabIndex = 58;
+ this.txt_dbname.Visible = false;
+ //
+ // combo_config_database
+ //
+ this.combo_config_database.AllowDrop = true;
+ this.combo_config_database.Location = new System.Drawing.Point(105, 57);
+ this.combo_config_database.Name = "combo_config_database";
+ this.combo_config_database.Size = new System.Drawing.Size(269, 21);
+ this.combo_config_database.TabIndex = 59;
+ //
+ // btn_openerp_connect
+ //
+ this.btn_openerp_connect.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_openerp_connect.Image = global::OpenERPOutlookPlugin.Properties.Resources.Success;
+ this.btn_openerp_connect.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btn_openerp_connect.Location = new System.Drawing.Point(295, 137);
+ this.btn_openerp_connect.Name = "btn_openerp_connect";
+ this.btn_openerp_connect.Size = new System.Drawing.Size(79, 23);
+ this.btn_openerp_connect.TabIndex = 62;
+ this.btn_openerp_connect.Text = "C&onnect ";
+ this.btn_openerp_connect.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_openerp_connect.UseVisualStyleBackColor = true;
+ this.btn_openerp_connect.Click += new System.EventHandler(this.btn_openerp_connect_Click);
+ //
+ // txt_password
+ //
+ this.txt_password.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txt_password.Location = new System.Drawing.Point(105, 111);
+ this.txt_password.Name = "txt_password";
+ this.txt_password.PasswordChar = '*';
+ this.txt_password.Size = new System.Drawing.Size(269, 20);
+ this.txt_password.TabIndex = 61;
+ //
+ // txt_username
+ //
+ this.txt_username.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txt_username.Location = new System.Drawing.Point(105, 84);
+ this.txt_username.Name = "txt_username";
+ this.txt_username.Size = new System.Drawing.Size(269, 20);
+ this.txt_username.TabIndex = 60;
+ //
+ // btn_open_server_url_form
+ //
+ this.btn_open_server_url_form.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_open_server_url_form.Image = global::OpenERPOutlookPlugin.Properties.Resources.Search;
+ this.btn_open_server_url_form.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btn_open_server_url_form.Location = new System.Drawing.Point(299, 28);
+ this.btn_open_server_url_form.Name = "btn_open_server_url_form";
+ this.btn_open_server_url_form.Size = new System.Drawing.Size(75, 23);
+ this.btn_open_server_url_form.TabIndex = 57;
+ this.btn_open_server_url_form.Text = "C&hange ";
+ this.btn_open_server_url_form.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_open_server_url_form.UseVisualStyleBackColor = true;
+ this.btn_open_server_url_form.Click += new System.EventHandler(this.btn_open_server_url_form_Click);
+ //
+ // txt_server_config
+ //
+ this.txt_server_config.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txt_server_config.Location = new System.Drawing.Point(105, 30);
+ this.txt_server_config.Name = "txt_server_config";
+ this.txt_server_config.ReadOnly = true;
+ this.txt_server_config.Size = new System.Drawing.Size(186, 20);
+ this.txt_server_config.TabIndex = 56;
+ this.txt_server_config.TabStop = false;
+ this.txt_server_config.TextChanged += new System.EventHandler(this.txt_server_config_TextChanged);
+ //
+ // lbn_password
+ //
+ this.lbn_password.AutoSize = true;
+ this.lbn_password.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbn_password.Location = new System.Drawing.Point(33, 114);
+ this.lbn_password.Name = "lbn_password";
+ this.lbn_password.Size = new System.Drawing.Size(69, 13);
+ this.lbn_password.TabIndex = 66;
+ this.lbn_password.Text = "Password :";
+ //
+ // lbn_username
+ //
+ this.lbn_username.AutoSize = true;
+ this.lbn_username.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbn_username.Location = new System.Drawing.Point(34, 86);
+ this.lbn_username.Name = "lbn_username";
+ this.lbn_username.Size = new System.Drawing.Size(71, 13);
+ this.lbn_username.TabIndex = 65;
+ this.lbn_username.Text = "Username :";
+ //
+ // lbn_dbname
+ //
+ this.lbn_dbname.AutoSize = true;
+ this.lbn_dbname.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbn_dbname.Location = new System.Drawing.Point(34, 57);
+ this.lbn_dbname.Name = "lbn_dbname";
+ this.lbn_dbname.Size = new System.Drawing.Size(69, 13);
+ this.lbn_dbname.TabIndex = 64;
+ this.lbn_dbname.Text = "Database :";
+ //
+ // lbn_server
+ //
+ this.lbn_server.AutoSize = true;
+ this.lbn_server.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lbn_server.Location = new System.Drawing.Point(34, 30);
+ this.lbn_server.Name = "lbn_server";
+ this.lbn_server.Size = new System.Drawing.Size(72, 13);
+ this.lbn_server.TabIndex = 63;
+ this.lbn_server.Text = "Server :";
+ //
+ // tb1
+ //
+ this.tb1.Controls.Add(this.tbconfigsetting);
+ this.tb1.Controls.Add(this.tbabout);
+ this.tb1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tb1.Location = new System.Drawing.Point(0, 0);
+ this.tb1.Name = "tb1";
+ this.tb1.SelectedIndex = 0;
+ this.tb1.Size = new System.Drawing.Size(442, 341);
+ this.tb1.TabIndex = 40;
+ this.tb1.Tag = "";
+ //
+ // frm_openerp_configuration
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(442, 341);
+ this.Controls.Add(this.btn_main_close);
+ this.Controls.Add(this.tb1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.Name = "frm_openerp_configuration";
+ this.Text = "OpenERP Configuration";
+ this.Load += new System.EventHandler(this.frm_openerp_configuration_Load);
+ this.tbabout.ResumeLayout(false);
+ this.groupBox3.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+ this.tbconfigsetting.ResumeLayout(false);
+ this.pnconfig.ResumeLayout(false);
+ this.pnconfig.PerformLayout();
+ this.tb1.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button btn_main_close;
+ private System.Windows.Forms.TabPage tbabout;
+ private System.Windows.Forms.GroupBox groupBox3;
+ private System.Windows.Forms.PictureBox pictureBox1;
+ private System.Windows.Forms.RichTextBox richTextBox1;
+ private System.Windows.Forms.TabPage tbconfigsetting;
+ private System.Windows.Forms.Panel pnconfig;
+ private System.Windows.Forms.CheckBox chkpwd;
+ private System.Windows.Forms.TextBox txt_dbname;
+ private System.Windows.Forms.ComboBox combo_config_database;
+ private System.Windows.Forms.Button btn_openerp_connect;
+ private System.Windows.Forms.TextBox txt_password;
+ private System.Windows.Forms.TextBox txt_username;
+ private System.Windows.Forms.Button btn_open_server_url_form;
+ private System.Windows.Forms.TextBox txt_server_config;
+ private System.Windows.Forms.Label lbn_password;
+ private System.Windows.Forms.Label lbn_username;
+ private System.Windows.Forms.Label lbn_dbname;
+ private System.Windows.Forms.Label lbn_server;
+ private System.Windows.Forms.TabControl tb1;
+
+ }
+} \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.cs
new file mode 100644
index 00000000000..f5f4909511d
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.cs
@@ -0,0 +1,216 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Drawing;
+using System.Windows.Forms;
+using System.Diagnostics;
+using OpenERPClient;
+
+namespace OpenERPOutlookPlugin
+{
+
+
+ public partial class frm_openerp_configuration : Form
+ {
+ public string combodb_val;
+ public string url;
+ private ConfigManager config_manager;
+
+ public frm_openerp_configuration()
+ {
+ InitializeComponent();
+
+ }
+
+ void load_dbname_list()
+ {
+ combo_config_database.Items.Clear();
+ OpenERPOutlookPlugin openerp_outlook = Cache.OpenERPOutlookPlugin;
+ OpenERPConnect openerp_connect = openerp_outlook.Connection;
+ try
+ {
+ if (openerp_connect.URL != null && openerp_connect.URL != "")
+ {
+ object[] res_dblist = openerp_connect.DBList();
+ foreach (var selection in res_dblist)
+ {
+ combo_config_database.Items.Add(selection);
+ }
+ }
+ }
+ catch
+ {
+ this.setdblist(openerp_connect.DBName);
+ }
+ }
+ public void setdblist(string dbname)
+ {
+ txt_dbname.Visible = true;
+ txt_dbname.Text = dbname;
+ combo_config_database.Visible = false;
+ }
+ private void frm_openerp_configuration_Load(object sender, EventArgs e)
+ {
+ try
+ {
+ this.config_manager = new ConfigManager();
+ this.config_manager.LoadConfigurationSetting();
+
+
+ OpenERPOutlookPlugin openerp_outlook = Cache.OpenERPOutlookPlugin;
+ OpenERPConnect openerp_connect = openerp_outlook.Connection;
+ if (this.txt_server_config.Text != "")
+ {
+ openerp_connect.URL = this.txt_server_config.Text;
+ }
+ if (openerp_connect.rempwd == true)
+ {
+ this.txt_password.Text = Tools.DecryptB64Pwd(openerp_connect.pswrd);
+ this.chkpwd.Checked = true;
+ }
+ if (openerp_connect.URL != null)
+ {
+ this.txt_server_config.Text = openerp_connect.URL;
+ this.txt_username.Text = openerp_connect.UserId;
+ try
+ {
+ object[] res_dblist = openerp_connect.DBList();
+ foreach (string selection in res_dblist)
+ {
+ if (openerp_connect.DBName != "" && selection == openerp_connect.DBName)
+ this.combo_config_database.SelectedText = openerp_connect.DBName;
+
+ }
+ this.load_dbname_list();
+ }
+ catch
+ {
+ this.setdblist(openerp_connect.DBName);
+ }
+
+ }
+
+
+ }
+ catch(Exception ex)
+ {
+ Connect.handleException(ex);
+ }
+
+ }
+
+ private void btn_main_close_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void btn_openerp_connect_Click(object sender, EventArgs e)
+ {
+
+ try
+ {
+ url = txt_server_config.Text;
+ string dbname;
+ if (txt_dbname.Visible == true)
+ {
+ dbname = txt_dbname.Text;
+ }
+ else
+ {
+ dbname = combo_config_database.Text;
+ }
+ OpenERPOutlookPlugin openerp_outlook = Cache.OpenERPOutlookPlugin;
+ OpenERPConnect openerp_connect = openerp_outlook.Connection;
+ openerp_connect.URL = url;
+ openerp_connect.DBName = dbname;
+ openerp_connect.UserId = txt_username.Text;
+ openerp_connect.rempwd = chkpwd.Checked;
+ if (chkpwd.Checked)
+ {
+ openerp_connect.pswrd = Tools.EncryptB64Pwd(txt_password.Text);
+ }
+ else
+ openerp_connect.pswrd = "";
+ if (openerp_connect.Login(openerp_connect.DBName, openerp_connect.UserId, txt_password.Text) != 0)
+ {
+ openerp_outlook.Connection = openerp_connect;
+ Cache.OpenERPOutlookPlugin = openerp_outlook;
+ this.config_manager.SaveConfigurationSetting();
+
+ Connect.displayMessage("Successfully login to OpenERP.");
+ this.Close();
+ }
+
+ }
+ catch (Exception)
+ {
+ MessageBox.Show("Authentication Error!\nInvalid Database.", Form.ActiveForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+
+ }
+
+ private void btn_open_server_url_form_Click(object sender, EventArgs e)
+ {
+ frm_openerp_connection openerp_connection = new frm_openerp_connection(this.txt_server_config);
+
+ openerp_connection.Show();
+
+ }
+
+ private void txt_server_config_TextChanged(object sender, EventArgs e)
+ {
+ try
+ {
+ OpenERPOutlookPlugin openerp_outlook = Cache.OpenERPOutlookPlugin;
+ OpenERPConnect openerp_connect = openerp_outlook.Connection;
+ openerp_connect.URL = txt_server_config.Text;
+ this.combo_config_database.Text = "";
+ this.txt_dbname.Text = "";
+ try
+ {
+ openerp_connect.DBList();
+ this.load_dbname_list();
+ if (txt_dbname.Visible)
+ txt_dbname.Visible = false;
+ combo_config_database.Visible = true;
+ }
+ catch
+ {
+ if (combo_config_database.Visible)
+ combo_config_database.Visible = false;
+ this.txt_dbname.Visible = true;
+ }
+ this.txt_username.Text = "";
+ this.txt_password.Text = "";
+ }
+ catch (Exception ex)
+ {
+ Connect.handleException(ex);
+ }
+ }
+
+ private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
+ {
+ System.Diagnostics.Process.Start("http://www.openerp.com",e.LinkText);
+ }
+ }
+
+}
+
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.resx b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.resx
new file mode 100644
index 00000000000..ff190785fec
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_configuration.resx
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAAL4AAAAuCAYAAACWEqPeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAFERJREFUeF7tnWus
+ VcUVx9vEL37zm59M4web1tKIzxqx1JKQlNaQ2MSm1NpGTUhpKWithlLbWqKmvtAYn41W4rsG0JJiLbX4
+ AIpWqYAvRLgCl/cFvPeC78d0fsP5b9eZO3P23oeDveUekp19z95rr1mz5j9r1mP25vPOuc91/3U1MOI0
+ APC7R1cHIw0DXdB3J/6IxMCI7PRIs27d/g5d0bvA71r8EYmBEdnprgXsxjRd4Hct/ojEQEc63f/aa65v
+ /jy3/eab3NYrZrltf7jK7bz9Vrd78T/d3p07vYE9tCzMypUr3WWXXebGjRvnrrvuutL+PfLII+7KK690
+ W7dubaJ9+eWX3VlnneWOOuooN2bMGHfqqad27Dj22GPdueee617zY5PT/6JFi0K7o0aNqt3+ySef7MaO
+ HesmTpzopk2b5u67774h/asy7jfecIMbPXq0g187/T/zzDNDP+GzfPny0rGQTG0Df3DjRrfjzj+6jZO+
+ 59Yd/1X3xpePceuO+4pbd+LocOb3G6O+5DZO/HaYCP2rV1UWqorCOknT39/vdmzf7vbs2ZOVcf369e7y
+ yy8Pg33kkUe6ww47jAKIO/roo91TTz0VngPcDB5gBgiS8aKLLgq0M2bMGML/jjvuCPy43+njxBNOcC++
+ +GJLvSPT4YcffkBtowt4HHPMMW7SpElu8eLFDp1WGSP0Cnilz3Z1QPvocfz48e6WW25xu3fvbtl+beDv
+ 3bUrAHndSaP3g90Dfdv117g9y5a6gTfecIObNrqBta+73Yv+7nqnTN4/AaDzk4PVoIoyPiua3t5eN3Pm
+ zGBxjzjiiHDWwFkZnnvuOYcFTQ0KA3b++ecHqxPfP/vss93s2bPDwE6dOjUAg0lhee/0KyLX2h3wVs8B
+ /BUrVrTU+erVq4PF73T76HHDhg2VxvuBBx4I+u+kDOj6iSeeyLZfC/iA+80J4wtr3jt9qhvcti3LfK+3
+ oLg8Aj8rwKbJF1RSxsEG/9q1a92ECROyYAa0WCPkuPrqqw9oUAA9fJhAskqySLg/TIxODrp4VQE+EyM3
+ qQ9UJqyvdNhqPO+5556OAx/ZWQW0GsftVwb+rgV/Ca5LAPGxX3SAvgo4WSGw9IXl927QlhmXVnq2Cv92
+ aACd3I9Wg4sbw7KJRW9Fd8kllwQF4+ak6LB+khPXg5UFl4lryJICPhME4HLgA9c58JflepT5vTng4/sj
+ tw4Mgf2Nb3/GGWcE+VpZa4xGmdsxZ86cITxYSVlFiR8wHPbg2uTJk4M86A4Zcu4ausCNbQv4u/+x6FOr
+ 7UGP1d83MFAZvLg/co2YAOtPO8Xteebpys+3A+5Wzzz++OMdsbC4CAwAvr2W9QULFjhAwqTRYAAMrFoM
+ flYcBiXlJl188cUHpJ/nn38+gCVn8SRLDviPPvpo5fb7+voc7goTOp74rCatAmzkSAEf3fX09FSWYY0P
+ 4hmLOFbgN4mI2sAfWL+uCbQErvjvdcC4d8cOt9mvENbl6f35T2vxqNNeK1qsD6BqZcGxtvjdZAqWLFni
+ Nm3aFICLlWb55h7KfOihhwJwcZvuuusut3pVcwDPc7fddlvw7ZkcVi4CQLk9TJRYHlakTvW5FZ8c8G1w
+ XlUOnkkF6rh4rXjkgF82YVI8Wali8KP/2sDv/dlPmqz9hrO/W3tA8PW333D9p3y81e/55ljH9apK7RQd
+ 1omAFuUooGU5BHykJnEN4uzORp/BIiVJGtPKsWzZMnfNNdc47r/00kthoqyKwA89bRLExn2YO3ducLlI
+ i8bAnz59+meimxdeeCHp4997772129/m471UvMAkbwf4r776am0Z0GcMfFaPWsB/6z8rmsCKj7/z/voK
+ AeCkPguLj7sz5lT31vP/TnYMemIKAuEdt948hGbf4GB4duusy93Gc38QznsTflxK2ft8zLHl4T+7Z8+Z
+ 5J75+hi36pzvu76SFezp2de7u79wVAjUY55Y+1c8eAbmz3VPnn6ae+aC82pNaFYM/OX/lcXvJPA3vPlm
+ WN3ivpTFGTmL3w7wMSIx8HE7awEfQDWB9ZQTHPn7utY3CXzv5xM7xLz6V77oNnowql3qAJaGeKFpFWrU
+ C5C1lVy4W9tvvMH1nHx8qDP0nnic2+TjFQ6u7bxnzpDnSc8y+US36bwfDQH1vmeXh1oF8kIH350PPVhZ
+ R7msDgHcEN343Dj5cR26T3B9++23V27T8s0Bvx1XB3cuDnQBHYW6dix+HR+fVRr3M+Xjo5/KwAcob37n
+ W01uDsWquqCHPqQ15/ypeRJ97SS362+PFfyCO+Qrv3ai8Te1ALVJOpUgmdoBK4albZUmfcu7Lz3jx4Vs
+ FG3Ajwm0+cJpn04wv3KwknCPwD2kYT29bQN623/qF7G8yGX7VaavHPABEKDBgnJOHdxTQEn2qayt1P0c
+ 8HHDqvLDMuM+prI7gDGVVbG8c1kdXM+77747HMRQOvhN4Y+MEQU4sjupwJqVB9crVU/IpjP75j5cVGSV
+ wmy3ABVA7a1t0+phMjuDvpC0+RcXup6xpzmsqi16bbv26jAABNRkg2SZ9zz1ZBM/XJ7UQO3664KCjsKb
+ pdn12MJPge8nNXIO+qILvJCFswU/fQgT2fvrWy79ZYhTSM32fOP0gg8xEFs4qoKmU3n8O++8s3KbVrYc
+ 8AEMbgMpS4J6e+gaaUQAl6u6wqOKu5IC/oHWEPR8bgJngR+sobV4+PcP3t+WcgNQPEAs8AEWrgSDgHsj
+ S9z/6isFHdYTd4jMEilUwK5BYwsEll88mTAx2IgDtJ0CQMbFNvYX6XncJ55/y7suAvieJc8U2y+CJfcT
+ BRpArxVmcMuW8Lf4xKtC2QQYrsA/UOCR6o2TATldHAzgMxlJNuTazAI/uAaN7Qbad9Nu7h3AWUsOP4Cc
+ EgqwqV1oCLBZDfp8QGrpY+CTLrX3adNOtjgGCLGCT6nSFn1N9c3WL7D+PMME7Z06pWiLyVVUsz0vTeAy
+ wOt+DvhkInAdyg7VCkibVm2zisVvF/ikM3F74g15rWTrJPABPPUR0tCt2swCv9hopr02PiDs9ym7dpSL
+ K2PdAbJDgDnmhY+969H5RXWYGEO7PYdYc++327pA7Ibh1+s+LomtPeDS4PYE0PuVJ+eTs8KJx5Zf/ypM
+ Pqy7zSBZVyqsCgv/WktHOeBPmTIlVDzxjzdv3pw8uAcNleWbbtofu9Q9cq4OFpuaBe6ODn7j5qSqpMQb
+ 1DrKqrQp+XI+PpVw237qb2QiFY2+8PtJK1fRQR74jR2X1t/G5ajCdAhIvVVs8u8JbBMACRvgZl9XAJ/J
+ l/XdNUEalWC7IhCc2kAZN0eBKytI8N39c6wSbKjL9Yn4QpVmVixWiDgTZWMX2hlYs6aWjnLAr1PAokaQ
+ qhNUGasc8OfNm5ftB1mSGPxY2qVLl9bqu+TrROW2Sl8tTWVXBxC2A/xgXQXmxuoRpyglECuDdYmCj5/I
+ scc8cTUs4IgdBG6Au+GsiSHFCHBpGxeobPUa8Dnpwnf3sQ7ZpNiNwb+XuxQyUBX3L9kByAF/uBewCHZj
+ d4jMU1WLa3XQycpt1QmQBX7wj01wC/DLwJJqFDDb1CMASuXMeRbAWtpUwBro/MpDarUITE3Kk/tYdbs3
+ iIkBaHF/ZPnLFESQixtU1BP8KhEXyYb49zfdWNviDVfg271FKV2xDQGgx+Bn3xFbNcr0WwX4VTJCddqp
+ ZPFZ0i148MtTBadWDYf8vS8MFW4OBaMf/zCrFPL0ol3vi2Xk/lP8bUU5+NXe7bF0+OxNfBLFqTKFFbFG
+ YzdqqoIcdqw2VjFSrX0+dVrGN77//wp8+pEqWDER6tYUOlm5rar/rMXHMtoKKtY/zoOXNYIFVzqR53E5
+ cq8ixkUuAtJUPjyuCaQmkp1sqYlRJjd9V/ALsHGPSLnGz9n9RyF/71OxZbyrAj/1tlZd3gBz4cL9Kdjc
+ kfPxyyy++KW2VOPvl+0KHbYWH8FsgQfgAsaqrsI+H3BZf50MDcWh3ACQftx8ycVNhaAUbb8vf8sdIg0Z
+ g43AFutcZeWAPylKXBbbL1wpK7ty/FaeQZ9pIa1p3S1b+a26AS9n8SkMkbGIMytlWQ7u8wwb7wAgO0gP
+ JvDZq5Tan0Nx6/XX84mDYQ18hKNY05Q2/N1vSq0aG8GKoM9PmJAD94FgqwEgmNQWCeIJ0ocxfcj6NLYJ
+ BCuc2QMSb4+Ic/zwDSuMT1fCRwUrtYfLtd5nntTv+D50uFt2SwfpWXhu9fqhiFX1JftOFbByr0XyfkA7
+ wK+zO5M0Ymq7Au8DsGOzbKVKvYFF1og99mXPtnu/NO+LFWNQLfi3zJzhCFrjRrG2xAG4NNDj5mjLQZmA
+ BM42FsDNssC2e3kCsPwkyPHk6w42fYocTKQ9/1oW0qgUs6grICcFs5gPGaBixSCGSPjutNEUAzUSAewt
+ YhKX9Vf32bJ8sN65BTxlwM+9c1tnrw59IahNbV2YNWtWaaqVVSmeOMjObs+qeqxLVwp8GAJ+rCiuThM4
+ vSVnoEn74eMWL6A3Xi+s+mWFULgygaJtA8uLS8OZI67gpjrMBrutv/9tc+XZVKFxlXJ8wvYKP0kkA5Mj
+ FWuEANpkvZhIcZBdZTDYcHWwvrLAKjB/fnPgH8vEJrJUQYqi0JoaNQk2iuX27OB25Xx+VgS2ZaeeJUYp
+ 2+BWRccpmkrA14NYWSz61quuCOlEAMlkIF1IkIklxaLi/9YRCLDZYBJXB8DpgDfpyDp8cbeCK+PlRD7O
+ uCHI3ypOwSXj3QEqwQA5N3kHetaHekCoEXijUNW1sXph1yCfLFHlkVfnOnVggXE1Wn1eZIV/jwAaaON2
+ AWPZaqG+8DUDKqdUkFPyEwCzs5LVLcYFE5PnOOBhn2cylW1proMzS1sL+O02UvYcAabNy7e7/bmsne79
+ +lsaDlWdDQvgU3XV3iDOWOZDVeHdfg2PyTcsgN9UcMKP9+8CdAEyPAByqI5DKfApP7OvWv4ZZ35z2Dwt
+ f+u69mHHz0ITl7NtijLslqRwldhhp3bj3LCuW77QiE73OUse5EuV1SU/g237kmsz1oHlq7YEHP1Wu4Vc
+ jZfQA69GMMmGM+mQADPWKzxFEwegos9tWoOXfcaOp72OLGpXvHipPt5jLzni9lJy2LbFy/ZNvLhnJ5xo
+ +xq64sxzouNsZS/TAbxbAp+trrz7SQDGpika4ysCBCC6xutfMOJrA9Bw5uAaO/yg1U4/rse7/kiL2g1l
+ 5MZjKwNY4E2bVDQ1CalKwh++nFWltDJIXs6SR/R6r5SvAKiftAHQ4Udb0Mbvn1odQMMzyGT7qrboCy9b
+ S07pq5Cr8eUG7tNHDT6/eRb6WK8MtNWHQEfuXbSpd2YlB7z1TNl4apx51vZJYwQm4GcnKjqR7jQmcdvo
+ XOMgWundYiSFQbUpXUKvv8t0ILmzwEcwOgToPv7447D/AqWy+47rfPOEjAF/I/C1114bPs/x0UcfhYMG
+ +CQHz3AADGi4ZoEdtjXoTSpe1o42nNkJxN+ffPJJeB65aJuMAu1xtrLQFnSSlzNtQwM9uWPRiw/95Hjn
+ nXfCPbIa0H7wwQdNMlsdYF2gpYLJWf1TWzIK5LOtbsSDPDo0Aj6DyDUBP6VXC0DpQzzoV0pm7vN6IulT
+ eOvLB2orN57oA9kBoO2TxlDPqx+MNVhBLuR47733Qv/itrnOfatn9UE6zGFQbcoYQ6/xhl8rHZQCn9kI
+ kAEBxOyUgynpJ858jYzO0DgvH9AwM5dB0YxFIHhwcC0FfFtsCgWv6L1Y2ibXSzvw1zdaNPjvv/9+kI+z
+ 5KOdVsDnWfgBbPVHfKQYeMED2vi7MAKtrCF8NFlSwOejTfDDKskypoAPH+Ri56MFPv2moKSiUkofyK3J
+ zLjE7gL34cObSYyH3tEViFLjCeCZIMjEl9XKgC9LnNpVmWo7Bnr8WxjUmMQYRF/QWOCX6aAU+FgGOi5C
+ DQYKYlAYdGjkWwn4CGEHn+tYE5QHP2vxrX9PNgc3R++12lWBv1kxZK0AIgOIHDb20IQsAz6fu4OWz+yp
+ P3GOWcBH3rj4ItCyyiATfdMKlAL+u+++G+7Tf62iKeCTswaUTJAY+FavKX1wjZWJVVhGwupQKxOARz/Q
+ cF/AT42n3Cb6ySdNyoCvVS/+clqu7TLgk/tvhUFkkowydK10YPWRdXVkpZjxgIKZhRAMjlydDz/80DGo
+ MBTYaFiugWYiNAyodQV4JrwX67c/UPWlkqqXz2PQAxo+6S1FAVb2uNBp+bKc+c11WU7kxqJzHRk0cMjH
+ csxgiw+AgF4TQEswtFquJZdAiy40cRh0+qgB4KztubiCrIpyDaG1Lpj6BQhl1Szw4cWKpFUJax7rAx5Y
+ XPqJ1ROwJbP0g+UGUHJ3rKsTj6dcV7WbAv5LDbdMrg4YQa9acYglcm2XAZ+do5ITPhgEi0GeZ6xlpMp0
+ UAn4KJCZri/TMog0Hg+YmDE4CKCDQbBLEFY/Bn4M8Nxv+Xo8jxz6TwewJCyhXEchWn24r4nGfVUv7cDx
+ v4HwHIDkOVljrinIsv2xskkH3Ie/XB0qsZIHfeh7LkwqaNEloMQtygGfe5JdBiXWa04fapsznze0MtM/
+ VidADMBlNGIf3Y6nJrGuSX+SZ553v2LggxHGSDQEt7m2y4Cfw6CNgWT1JWsrHVQCPkQoqRE8FQFrw8IX
+ ll7MGgEtyg7/oMNaKtDVc3GgWAX8DYsb+Iofz8FT8hGEafXhnuThvq432g6AaFgx987bb7v3PB+e179G
+ XFP8bvxRrI7qC9fhrz7xnNWX4iOAFtMm9FjEU0aXRT+sbFYfDd5BNrXNOV6l6F9Mi9zqq2S142l1zfUP
+ 9sdTxT9+v7s/Bixkh0795Tpy5NputFWsZKnfPK9+SX4zPkW/JWsrHahvnEvz+Ja4+3e3qHSoYKALfD/7
+ D5XB7Paj+lh2B70L/BGJgf8CyTGQGzlDYYgAAAAASUVORK5CYII=
+</value>
+ </data>
+ <data name="richTextBox1.Text" xml:space="preserve">
+ <value>
+
+
+ This Outlook Plugin For OpenERP Presently (2011-Today) developed By OpenERP SA.
+
+
+
+
+
+
+
+
+ For More Information, Please Visit Our Website
+
+ http://www.openerp.com/
+
+ Copyright 2006-TODAY OpenERP SA ALL Rights Reserved.</value>
+ </data>
+ <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>39</value>
+ </metadata>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAQEAAAAEAGAAoMgAAFgAAACgAAABAAAAAgAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD////////////////////////////+/v7+/v79/f37+/v7+/v7+/v7+/v9/f39/f3+/v7+/v7+/v7+
+ /v7+/v7+/v7+/v7+/v79/f39/f39/f79/f79/f79/f7+/v79/f3+/v7////9/f38/Pz+/v7+/v7+/v7/
+ ///+/v7+/v7+/v7+/v7+/v7////+/v7+/v7+/v79/f3+/v7+/v7+/v7/////////////////////////
+ ///////////////////////////////////////////////+/v7////+/v719fXw8PDx8fH09PT7+/v/
+ ///////9/f39/f39/f3+/v39/f3+/v7t7u3d3dv8/Pr///7///3///39/f78/f3u7u7q6ur8/P35+fro
+ 6en7+/v////+/v7+/v7+/v79/f39/f3+/v7+/v7+/v7+/v7+/v79/f3////////+/v7+/v7/////////
+ ///////////////////////////////////////////////////////////////9/f3+/v7U1NRvb29e
+ Xl5hYWFycnKTk5O1tbXS0tLo6Oj9/f3////////7/P/u7/7AwdRmZnS2tczV1f/S0//U1f/X2P3a2/OS
+ kpC3t7T////AwLqHiIP09PX+/v77+/z9/f39/f3////////+/v7+/v7+/v79/f3////7+/utra3q6ur/
+ ///9/f3////////////////////////////////////////////////////////////////////////8
+ /Pz+/v6goKAAAAAAAAAAAAAAAAAAAAAHBwcoKChNTU14eHioqKayssePkeJtb+xYWvNCRMpBQok7Pa0u
+ MKM+QbJKTNVaW7ZPUJ55e/SrrN1wcYLMzdz////////////////////GxsaOjo78/Pz////9/f38/Pz/
+ //+goKAAAAC2trb////7+/v/////////////////////////////////////////////////////////
+ ///////////////9/f3+/v7Ly8shISEAAAABAQEAAAAAAAAAAAAAAAAAAAAAAAAQEA4XFyQQEToUFVMV
+ FmccHFsRESAEBBcAABIHBhsQETk6O300NsQqLKJAQXw3OcdPUfWIi++5uc2urquSkpJhYWEjIyMVFRX4
+ +Pj////7+/v///+6uroMDAxSUlLr6+v////9/f3/////////////////////////////////////////
+ ///////////////////////////////9/f39/f34+Phubm4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
+ AQEAAAEAAAAJCQAKChEBAQAAAAAAAAAAAAEAAAABAQALCxUUFCE3OHkuMd0zNegxM50dHkATExgSEhEK
+ CgoCAgIAAABjY2X////6+vn////CwsITExNkZGTr6+v////9/f3+/v7/////////////////////////
+ ///////////////////////////////////////////////+/v79/f3////S0tIqKioAAAABAQIAAAAA
+ AAAAAAAAAAAAAAEAAAAAAAAoKDg5O8EuL4ADAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFjU+P5YmJjwE
+ BAYAAAEAAAACAgIEBAQAAAANDRDl5eX////////GxsYSEhJra2vx8fH7+/v+/v7+/v7+/v7/////////
+ ///////////////////////////////////////////////////////////////+/v7+/v39/f3///+4
+ uLQXFxgAAAEAAAAAAAEAAAAAAAAAAAASEgw1NnwyNOMjJuUpKo8GBgAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAABAQAAAAAAAAAAAAEBAQEAAAAAAAEAAAEAAAEPDxWBg9vu7v/IyMQPDxBnZ2f29vb7+/v9/f3+/v7+
+ /v7////+/v7////////////////////////////////////////////////////////////+/v7////9
+ /f7+/v79/f79/f25uv9BRLYiIkALCxYEBBAHBxIUFCMqK2M6PcUrLuodINclKNhoadVCQkUAAAAAAAAB
+ AQEBAQEAAAAAAAAAAABHR0hmZmgODg4AAAAAAAAAAAAAAAERESFDRZ0WFh8dHmtNT68TEwhiYmT7+/r+
+ /v79/f3+/v7+/v7////+/v7/////////////////////////////////////////////////////////
+ ///+/v/////+/v7+/v/9/f38/P6ys/EqLdggI+QwNOI1N8ElJ6csLrQyNNQsL+khJOEaHdVDRt6ys/H/
+ ///b29plZWUuLi4VFRUFBQUAAAAAAAAAAACWlpb///+Li4sxMTEjIyQ1NTNNTWQ1N7slKfYyNJcREQMN
+ DQshImOho/H5+f7//v3+/v7+/v7+/v7////+/v7/////////////////////////////////////////
+ ///////////////////////+/v/+/v79/f79/f7ExfQzNtscINgkJ9chJNojJuIlKOQkJ+MiJd4jJtgY
+ G9VgYuPc3Pj////9/f3////////b29uvr6+NjY1nZ2dJSUlra2vf39/////////f39/Gxsbj4+L09P+W
+ mPUnKtksLuMzNFwpK3gvM+YjJt2Iiun39/3+/v7+/v7+/v7+/v7////+/v//////////////////////
+ ///////////////////////////////+/v////7+/v/9/f79/f7p6ftKTd8ZHNclKNkkJ9olKNkkJ9gk
+ J9gjJtclKNgVGdZlaOTo6Pr////8/P3+/v79/f3+/v7////////////5+fno6Ojz8/P////9/f39/f3/
+ //////////////7+/v21t/EqLt0tMNQrL90iJdwhJNcdINiAguj7/P39/f3+/v7+/v7+/v/////+/v//
+ ///////////////////////////////////////////////////+/v/+/v77+/3///+Bg+kUF9YmKdkk
+ J9kkJ9klKNolKNokJ9omKdoZHNdQU+Hf4Pn8/f79/f3+/v7+/v/////+/v7+/v79/f3+/v7+/v79/f3+
+ /v7+/v7+/v7+/v7+/v7+/v79/f7+/v79/f7///+/wPMgItkhJNklKNkkJ9kkJ9kYG9eIiur////7+/3+
+ /v7+/v/+/v////7///////////////////////////////////////////////////7+/v/9/f7////Q
+ 0fcfItgiJdklKNokJ9klKNokJ9kkJ9kkJ9kgI9gxM9vGxvX///79/f3+/v7+/v////7////+/v7////+
+ /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////////+/v/+/v7+/v78/P7///+ur/AUGNcmKdokJ9kkJ9km
+ KdkWGdaen+7////8/P7+/v7+/v7////+/v7/////////////////////////////////////////////
+ ///+/v78/P3///9hY+MUF9YoK9kkJ9klKNokJ9olKNolKNokJ9kgI9mIier+/v79/f7+/v7+/v/////+
+ /v/////////////////////////////////////////////////////+/v7////+/v7///77+/7///9/
+ gekSFdYnKtkjJtgkJ9klKNoYG9fAwfT////8/P7+/v7+/v7///////7/////////////////////////
+ //////////////7+/v/8/P7////X1/gdINglKNkkJ9klKNokJ9klKNokJ9olKNkjJtk9P93Y2fj////+
+ /v7+/v7////+/v////////////////////////////////////////////////////////////////7+
+ /v/+/v/+/v7+/v7y8/xGSd8ZHNcmKdkjJtkmKdkhJNkxNNvi4/n////9/f7+/v7+/v7/////////////
+ ///////////////////////+/v/////+/v78/f7///99f+gUGNYoK9okJ9klKNolKNolKNokJ9kmKdkg
+ I9iEhen////+/v79/f7+/v/+/v7/////////////////////////////////////////////////////
+ ///////////+/v/////+/v/+/v78/P39/f65uvIgI9kiJdklKNkjJtknKtkcH9heYeP4+P3///79/f7+
+ /v7+/v7////////////////////////////////////+/v/9/f7///76+v09QN0gI9glKNolKNokJ9kk
+ J9olKNokJ9omKdksL9rQ0fb////8/P3+/v7+/v//////////////////////////////////////////
+ ///////////////////////////////+/v/////+/v7+/v79/f7z8/xqbOUZHdclKNklKNojJtgmKdkg
+ I9iYmu3////+/v7+/v7////+/v7///////////////////////////////7+/v/9/f7////KzPUhJdgm
+ KdokJ9klKNolKNolKNokJ9omKdofIthYWuL///////79/f7+/v7/////////////////////////////
+ ///////////////////////////////////////////////////+/v7////9/f/9/f3///6+vvMsL9oh
+ JNkkJ9okJ9kkJ9khJNg9QN3W1/f////+/v7+/v7////////////////////////////////////+/v78
+ /P3///+Ymu0bHtcnKtokJ9olKNolKNolKNokJ9ooK9oXGteVl+z////8/P3+/v7+/v////7/////////
+ ///////////////////////////////////////////////////////////////////////////+/v/9
+ /f3+/v7v8PxiZOQeIdgkJ9klKNokJ9klKNkdINh7fej29v39/f7+/v7////+/v7/////////////////
+ ///////////+/v7+/v7///91duccH9gnKtokJ9okJ9olKNokJ9okJ9klKNogI9nKy/X////9/f7/////
+ ///+/v//////////////////////////////////////////////////////////////////////////
+ ///////+/v/////9/f79/f3///+nqO8lKNkkJ9kkJ9okJ9kkJ9khJNgsL9rJyvX////+/v7+/v7/////
+ ///////////////////////////+/v7//v7///5bXeIgI9kmKdokJ9olKNolKNokJ9olKNohJNgwM9v3
+ 9/3///79/f7+/v//////////////////////////////////////////////////////////////////
+ ///////////////////////////+/v/+/v79/f3///7i4vlER94iJdklKNolKNokJ9kmKNkXGdZrbuXy
+ 8vz8/P7+/v////7////////////////////////////+/v7///729v1GSN8jJtkkJ9olKNolKNokJ9ok
+ J9omKdobHtdRVOD//////v7+/v7////+/v//////////////////////////////////////////////
+ ///////////////////////////////////////////////+/v/+/v7+/v7///96fOgfItkmKdkkJ9kk
+ J9okJ9ohJNggI9jLy/X+/v79/f3+/v7////+/v/////////////////////+/v7///7w8Pw8P90lKNkk
+ J9klKNolKNolKNokJ9onKtoVGNdwc+b////9/f3+/v7/////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////+/v78/P7///+3
+ ufIjJtknKtkkJ9klKNokJ9knKtkTFtZuceb8/P78/P7+/v7+/v/////////////////////////9/f7/
+ ///j5Po5O9wlKNkkJ9olKNolKNolKNokJ9ooK9oQFNaHiOr////7+/7+/v7/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //7+/v/9/f7////q6vo6PN0kJtkkJ9olKNklKNolKNogI9kkJ9nf3/n////9/f7+/v////7/////////
+ ///////////9/f7////e3/k2OdwkJ9kkJ9olKNolKNokJ9okJ9ooK9oSFtadnu3////7+/7+/v////7/
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////+/v/+/v7+/v7///9laOQcINgmKdokJ9olKNokJ9knKtoRFNaGiOn////7+/3+
+ /v7////+/v/////////////////9/f7////o6Po6PdwlKNkkJ9olKNolKNolKNokJ9onKtoTFtaipO7/
+ ///7+/7/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////+/v/////+/v78/P3///+am+0WGtcoK9okJ9olKNokJ9klKNoe
+ Idg2Odz09P3///79/f7+/v/////////////////////+/v7///7y8vw9P90lKNkkJ9klKNolKNolKNok
+ J9omKdoWGdewsfH////8/P7////+/v//////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////9/f7////Cw/QeIdgmKdok
+ J9kkJ9klKNokJ9knKtkWGda5ufL////8/P7///////7////////////////+/v7///739/1HSt8jJtgl
+ KNokJ9olKNolKNokJ9omKdoZHNe/wPP////8/P7/////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////+/v/9/f7/
+ ///t7fsrLtoiJdklKNokJ9okJ9kkJ9onKtoXGtZvceX////8/P3+/v7////+/v/////////////+/v7/
+ //7///5bXuMgI9kmKdokJ9olKNolKNokJ9omKdoWGdexsvH////8/P7/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///+/v/////+/v7///7///9DRd4eIdgmKdokJ9olKNokJ9olKNohJNk5PNz09P3////9/f7/////////
+ ///////////+/v7+/v7///9xdOYdINgmKdokJ9olKNolKNokJ9onKtoTFtaio+7////7+/7/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////+/v7+/v7///9kZuQXGtcnKtokJ9okJ9olKNokJ9kmKdogI9jMzfX/
+ ///8/P7+/v////7////////////+/v78/P7///+LjesaHdcnKtokJ9olKNokJ9okJ9ooK9oTFtahou7/
+ ///7+/7////+/v7/////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////+/v77/P3///9+f+gSFdYoK9okJ9olKNolKNok
+ J9onKtobHteZmu3////8/P7///7///////////////7+/v/8/P7///+ztPEeIdgnKtokJ9olKNolKNok
+ J9ooK9oQE9aOkOv////7+/7+/v7/////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////77+/7///+TlOwRFNYo
+ K9okJ9olKNolKNokJ9omKdocH9d0dub////+/v7+/v7////////////////////9/f7////h4fkmKdkm
+ KdokJ9klKNolKNokJ9ooK9oSFdZ6fOf////8/P3+/v7/////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////+/v7////7
+ +/7///+io+8TFtYnKtokJ9okJ9olKNokJ9olKNogI9hVV+H9/f7///7+/v7////////////+/v/////+
+ /v7///7///5ISt8eIdgmKdokJ9okJ9okJ9onKtoXG9djZeT////+/v7+/v7/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////8/P7///+3uPIXGtcmKdokJ9olKNolKNolKNokJ9okJ9k+Qd3x8fz///79/f7/////
+ ///////////////+/v/7+/7///97fegWGdYnKtokJ9okJ9kkJ9omKdoeIdhFSN7///////7+/v7/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////8/P7///+9vvIYG9cmKdokJ9olKNolKNolKNokJ9kkJ9k3Odzg
+ 4Pn////9/f7////////////////////////8/P7////Cw/MXGtcmKdkkJ9klKNolKNolKNojJtksLtrx
+ 8fz////9/f7////+/v//////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////8/P7///+8vfIYG9cmKdokJ9olKNolKNol
+ KNokJ9olKdkwNNvQ0Pb////9/f7////////////////////+/v/9/f7///739/07Pt0dINgmKdokJ9kl
+ KNokJ9kmKdogI9jKy/X////8/P7///////7/////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////8/P7///+8vfIYG9cm
+ KdokJ9olKNolKNolKNokJ9olKNkvMtvMzfb////9/f7////////////////+/v/////+/v77+/3///+E
+ hekRFNYnKtokJ9klKNokJ9ooK9oXGtebne3////8/P7+/v7////+/v//////////////////////////
+ ///////////////////////////////////////////////////////////////////////+/v/////8
+ /P7///+9vvMYG9cmKdokJ9olKNolKNolKNokJ9olKNkwMtvNzvb////9/f7/////////////////////
+ //7+/v/9/f7////X2PcfItgiJdklKNolKNokJ9kmKdodINhpa+T////+/v7+/v7+/v//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////+/v/7+/7///+2t/IXGtcmKdokJ9olKNolKNolKNokJ9olKNkwMtvNzvb////9/f7/////
+ ///////////////////+/v/+/v78/P75+v5hY+MUGNYnKtkkJ9klKNolKNojJtk/Qd3w8Pz///79/f7+
+ /v////7/////////////////////////////////////////////////////////////////////////
+ //////////////////////////7////7+/7///+jpO4TFtYnKtokJ9olKNolKNolKNokJ9olKNkvMtvN
+ zfX////9/f7////////////////////+/v/////+/v78/P3+/v6+vvMaHtcjJdklKNokKNokJ9knKtkl
+ J9m9vfP////8/P3+/v7/////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////+/v77+/3///+MjesQE9YoK9okJ9olKNolKNol
+ KNokJ9olKNk1N9za2vj////9/f7///////////////////////////////7+/v/8/P7t7vxWWeIXGtcm
+ KdkkJ9kjJtolKNkgItiAgen////+/v79/f7+/v//////////////////////////////////////////
+ ///////////////////////////////////////////////////////////+/v79/f3///9vceUVGNYn
+ KtokJ9olKNolKNolKNokJ9kkKNk7Pt3t7fv///79/f7////////////////////////////////+/v79
+ /f7+/v60tfIiJdkjJtklKNklKNkkJ9oiJdlFR9/j4/r///79/f3+/v7///7/////////////////////
+ //////////////////////////////////////////////////////////////////////7////+/v7/
+ //7///9IS+AdINcmKdokJ9olKNolKNokJ9olKNoiJdhQUuH7+/7///7+/v7/////////////////////
+ //////////7+/v/+/v7+/v7s7PtgYuMcH9ckJ9kkJ9klKNolKNkmKdmoqfD////9/f39/f7////+/v//
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////+/v79/f7////o6PopLNojJtklKNolKNolKNokJ9kkJ9omKdodINdxc+b////+/v7+/v7/////
+ ///////////////////////+/v/////+/v7+/v7///+8vfMuMdoiJdkkJ9klKNokJ9keIdhfYePt7fv/
+ /v79/f3+/v//////////////////////////////////////////////////////////////////////
+ ///////////////+/v/////+/v78/P3///+vsPEaHdcnKtokJ9klKNolKNolKNokJ9knKtobHteZm+3/
+ ///8/P7+/v7////////////////////////////////+/v7////+/v7+/v77+/53eeceIdgmKdkkJ9kk
+ J9oiJdknKtm1tvL///79/f79/f/////+/v7/////////////////////////////////////////////
+ ///////////////////////////////////+/v/+/v79/f7///9xc+YbHtgnKtokJ9olKNolKNolKNok
+ J9kmKdoiJdjQ0Pf////8/P7+/v////7////////////////////////////////+/v7+/v7+/v7////i
+ 4vk8P90iJdklKNkkJ9klKNkaHddfYePv8Pz9/f7+/v/+/v7////+/v7/////////////////////////
+ /////////////////////////////////////////////////////v/9/f7////l5Pk3OdwkJ9klKNok
+ J9olKNokJ9kkJ9omKdoeIdhHSt////7///79/f7+/v//////////////////////////////////////
+ ///+/v7+/v79/f7///+ztfEdINgoK9okJ9klKNkjJtkbHtiur/D9/f78/P7///7+/v7////+/v//////
+ ///////////////////////////////////////////////////////////+/v/+/v7+/v79/f3///+X
+ mO0gI9gmKdkkJ9klKNolKNolKNokJ9koK9oUF9aNj+v////8/P7+/v/////+/v//////////////////
+ ///////////////////////+/v7+/v79/f7///+Ag+kTFtYoK9ojJtgmKdkcH9g2Otzo6Pr///79/f7+
+ /v/+/v/////+/v/////////////////////////////////////////////////////////+/v/////+
+ /v/+/v7///7m5/pHSt8iJdklKNokJ9klKNokJ9klKNolKNojJtkkJ9nm5vr////9/f3+/v7/////////
+ //////////////////////////////////////7+/v/+/v/+/v7+/v7///9bXuIXGtcnKtkjJtgoK9kS
+ FdZjZeP7+/78/P7+/v7+/v/+/v7///7////////////////////////////////////////////////+
+ /v/////+/v79/f/+/v7+/v7///+PkewgJNglKNkkJ9klKNokJ9klKNokJ9knKtkTFtZ5e+f////8/P3+
+ /v7////+/v7////////////////////////////////////////+/v/////+/v/+/v79/f7///7u7/xJ
+ S+AaHdcmKdkkJ9koK9oRFNaDhOn7+/79/f79/f7+/v7+/v7+/v7////+/v//////////////////////
+ ///////////+/v7////+/v/+/v/+/v79/f3+/v7Cw/QyNNsgI9gkJ9klKNokJ9klKNokJ9klKNoeItgr
+ Ltrj5Pr///79/f7///////7////////////////////////////////////////////////+/v/////+
+ /v7+/v78/P7///7e3vlER98aHdclKNkkJ9kmKdoWGdaOj+v29v3///79/f79/f7///7+/v7////////+
+ /v/////////////////+/v/////////+/v7+/v7+/v78/P3+/v7X2PhMT+AaHdclKNkkJ9olKNolKNok
+ J9kkJ9kkJ9kWGdecne3////8/P3+/v/+/v7/////////////////////////////////////////////
+ ///////////+/v7////+/v7+/v79/f7+//7R0vdKTd8ZHNcmKNklJ9kkJ9kfIth6e+fs7Pv////9/f79
+ /f7+/v/////+/v////////////////7///7////+/v/+/v/+/v79/f77+/3////c3PlQUuEZHNclKNkk
+ J9kkJ9kkJ9klKNokJ9klKNkWGddjZeTx8fz+/v7+/v7+/v/////+/v//////////////////////////
+ ///////////////////////////////+/v7////9/f7+/v79/v7+/v7Z2fhXWeIWGdYmKdklKNojJtkg
+ I9hWWOHIyfX///////78/P78/P79/f7+/v7+/v7+/v7+/v/+/v/+/v7+/v79/f78/P7+/v7////HyPVF
+ SN8bHtclKNkkJ9kkJ9klKNolKNokJ9kmKdkZHdhCRd7V1vj9/f7+/v7+/v7+/v//////////////////
+ //////////////////////////////////////////////////////7+/v/9/f7+/v7+/v7///7r7Ptx
+ c+YUF9YjJtkoK9okJ9kgI9gqLdp6fOjk5Pr///////7///78/f38/P78/P78/P78/P78/P39/f7///7/
+ ///4+f2PkessL9sgI9glKNkkJ9kkJ9klKNolKNojJtknKtkeIdg1ONzHyPX+/v79/v7+/v7+/v7////+
+ /v/////////////////////////////////////////////////////////////////+/v////7+/v/+
+ /v7+/v7+/v78/P3///+kpe8iJtgXG9coK9omKdolKNkaHdcoK9pwcubExfT09Pz///7///7/////////
+ //////7////l5vqam+0+Qd0bHtgmKdkkJ9kkJ9klKNolKNokJ9kkJ9koK9oeIdgxM9vIyfX////9/f3+
+ /v79/f7////+/v7/////////////////////////////////////////////////////////////////
+ ///////////+/v7////+/v7+/v79/f77+/3////h4fldX+MaHdggI9gmKdkoK9okJ9kWGtYVGNYyNdxZ
+ W+F9fuiUleyZmu2Vlu13eOdPUeAmKdoTFtYfItgnKtkkJ9okJ9klKNolKNokJ9olKNkmKdkaHddKTd/d
+ 3vn////8/P3+/v7+/v////7+/v//////////////////////////////////////////////////////
+ ///////////////////////////////+/v7////+/v7+/v7+/v78/P7///////61tvJPUeAmKdofItgi
+ JdkmKdknKtkfItgXG9cTF9YRFNUQE9UQE9UTFtYYG9chJdgoK9olKNokJ9klKNolKNolKNkjJtkiJdke
+ ItgtMNuIiur8/P3////8/P3+/v7+/v/+/v7/////////////////////////////////////////////
+ ///////////////////////////////////////////////////+/v7////+/v/+/v/+/v79/f79/f7/
+ ///4+P21tvJsbuU8Pt0kJ9kcH9ceIdghJNgkJ9kmKdknKtkoK9ooK9onKtomKdolKNokJ9kjJtkgI9kd
+ IdgcH9ghJdg7Pt11d+fT0/f////+/v78/P7+/v7+/v/+/v7////+/v//////////////////////////
+ ///////////////////////////////////////////////////////////////////////+/v//////
+ ///+/v7////9/f39/f7///7////9/f7T1Pepq/B8fuhVV+E5O90oK9obHtcYG9cXG9cXGtcXGtcXG9cX
+ GtcXGtcbHdcpLNlAQt5oauScne3V1vf///7////8/P3+/v7+/v7+/v7////////+/v//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////+/v7////+/v7+/v7+/v79/f79/f7+/v7///7////5+v3l5fnU1ffCwvSurvCanO2K
+ jOp9fuh+f+h9f+iBg+mTleyrrPDDxfTZ2fjv7/v////////+/v79/f79/f3////+/v7////+/v7/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////+/v7+/v7+/v7+/v79/f79/f39/f79/f7+
+ /v7////+/v77+/74+P319f319f319f329v35+f79/f7////+/v78/P79/f7+/v7+/v7+/v7+/v7/////
+ ///+/v7/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////+/v7////////+/v/+/v/+
+ /v/+/v7+/v7+/v79/f39/f79/f79/f78/P78/P78/P78/P78/P78/P79/f7+/v79/f7+/v/+/v7///7+
+ /v7+/v7////+/v7///////////////////////////////////////////////////8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.Designer.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.Designer.cs
new file mode 100644
index 00000000000..aeca33da72f
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.Designer.cs
@@ -0,0 +1,162 @@
+namespace OpenERPOutlookPlugin
+{
+ partial class frm_openerp_connection
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frm_openerp_connection));
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.chkSSL = new System.Windows.Forms.CheckBox();
+ this.txt_server_port = new System.Windows.Forms.TextBox();
+ this.txt_server_host = new System.Windows.Forms.TextBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.btn_server_ok = new System.Windows.Forms.Button();
+ this.btn_server_close = new System.Windows.Forms.Button();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.chkSSL);
+ this.groupBox1.Controls.Add(this.txt_server_port);
+ this.groupBox1.Controls.Add(this.txt_server_host);
+ this.groupBox1.Controls.Add(this.label3);
+ this.groupBox1.Controls.Add(this.label2);
+ this.groupBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.groupBox1.Location = new System.Drawing.Point(22, 13);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(202, 123);
+ this.groupBox1.TabIndex = 14;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Connection Parameter";
+ //
+ // chkSSL
+ //
+ this.chkSSL.AutoSize = true;
+ this.chkSSL.Location = new System.Drawing.Point(15, 86);
+ this.chkSSL.Name = "chkSSL";
+ this.chkSSL.Size = new System.Drawing.Size(89, 17);
+ this.chkSSL.TabIndex = 19;
+ this.chkSSL.Text = "SSL (https)";
+ this.chkSSL.UseVisualStyleBackColor = true;
+ //
+ // txt_server_port
+ //
+ this.txt_server_port.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txt_server_port.Location = new System.Drawing.Point(58, 60);
+ this.txt_server_port.Name = "txt_server_port";
+ this.txt_server_port.Size = new System.Drawing.Size(138, 20);
+ this.txt_server_port.TabIndex = 18;
+ this.txt_server_port.Text = "8069";
+ //
+ // txt_server_host
+ //
+ this.txt_server_host.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txt_server_host.Location = new System.Drawing.Point(58, 34);
+ this.txt_server_host.Name = "txt_server_host";
+ this.txt_server_host.Size = new System.Drawing.Size(138, 20);
+ this.txt_server_host.TabIndex = 17;
+ this.txt_server_host.Text = "localhost";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(24, 59);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(34, 13);
+ this.label3.TabIndex = 16;
+ this.label3.Text = "Port:";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(12, 34);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(48, 13);
+ this.label2.TabIndex = 15;
+ this.label2.Text = "Server:";
+ //
+ // btn_server_ok
+ //
+ this.btn_server_ok.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_server_ok.Image = global::OpenERPOutlookPlugin.Properties.Resources.Success;
+ this.btn_server_ok.ImageAlign = System.Drawing.ContentAlignment.TopLeft;
+ this.btn_server_ok.Location = new System.Drawing.Point(96, 149);
+ this.btn_server_ok.Name = "btn_server_ok";
+ this.btn_server_ok.Size = new System.Drawing.Size(49, 23);
+ this.btn_server_ok.TabIndex = 13;
+ this.btn_server_ok.Text = "&OK ";
+ this.btn_server_ok.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_server_ok.UseVisualStyleBackColor = true;
+ this.btn_server_ok.Click += new System.EventHandler(this.btn_server_ok_Click);
+ //
+ // btn_server_close
+ //
+ this.btn_server_close.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_server_close.Image = global::OpenERPOutlookPlugin.Properties.Resources.Error;
+ this.btn_server_close.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btn_server_close.Location = new System.Drawing.Point(160, 149);
+ this.btn_server_close.Name = "btn_server_close";
+ this.btn_server_close.Size = new System.Drawing.Size(64, 23);
+ this.btn_server_close.TabIndex = 12;
+ this.btn_server_close.Text = "&Close ";
+ this.btn_server_close.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_server_close.UseVisualStyleBackColor = true;
+ this.btn_server_close.Click += new System.EventHandler(this.btn_server_close_Click);
+ //
+ // frm_openerp_connection
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(246, 184);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.btn_server_ok);
+ this.Controls.Add(this.btn_server_close);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Name = "frm_openerp_connection";
+ this.Text = "OpenERP Connection";
+ this.Load += new System.EventHandler(this.frm_openerp_connection_Load);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button btn_server_ok;
+ private System.Windows.Forms.Button btn_server_close;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.CheckBox chkSSL;
+ private System.Windows.Forms.TextBox txt_server_port;
+ private System.Windows.Forms.TextBox txt_server_host;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label2;
+ }
+} \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.cs
new file mode 100644
index 00000000000..1c663f58fe2
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.cs
@@ -0,0 +1,79 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Windows.Forms;
+using OpenERPClient;
+
+namespace OpenERPOutlookPlugin
+{
+ public partial class frm_openerp_connection : Form
+ {
+ TextBox txtServerURL;
+ public frm_openerp_connection()
+ {
+ InitializeComponent();
+ }
+ public frm_openerp_connection(TextBox txt)
+ {
+ InitializeComponent();
+ this.txtServerURL = txt;
+ }
+
+ private void frm_openerp_connection_Load(object sender, EventArgs e)
+ {
+ if (this.txtServerURL.Text != "")
+ {
+ string[] url = Tools.SplitURL(this.txtServerURL.Text);
+ this.txt_server_port.Text = url[2];
+ this.txt_server_host.Text = url[1];
+ if (url[0] == "https")
+ this.chkSSL.Checked = true;
+ else
+ this.chkSSL.Checked = false;
+ }
+ }
+
+
+ private void btn_server_ok_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ OpenERPOutlookPlugin openerp_outlook = Cache.OpenERPOutlookPlugin;
+ OpenERPConnect openerp_connect = openerp_outlook.Connection;
+ string url = Tools.JoinURL(this.txt_server_host.Text, this.txt_server_port.Text, this.chkSSL.Checked);
+ this.txtServerURL.Text = url;
+ openerp_connect.check_connectivity();
+ this.Close();
+ }
+ catch (Exception ex)
+ {
+ Connect.handleException(ex);
+ }
+ }
+
+ private void btn_server_close_Click(object sender, EventArgs e)
+ {
+
+ this.Close();
+ }
+
+
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.resx b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.resx
new file mode 100644
index 00000000000..9477f7baa89
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_openerp_connection.resx
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAICAAAAEAGACoDAAAFgAAACgAAAAgAAAAQAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAxO+0UHsorMtUkJMo6LOY5JN81HsdDLM4/JMdINcBISKJCSpA+RpM9SJo6RJsxPJg2PJ84PKU4OadA
+ Pbs7L8lANd8qJNUiJtIZKModMNcUJOIUHu0iJvsaIOUaJsQuQMkXHNcvNOciJsstLNAvItJSQekqG6xQ
+ QchYSNKOg/3Cw//Q2f/P1f/S2P/T3P/R2P+iqP+7vv9vct8zM6k0Lbg6NcwcGroyN9oiLs4eLdccKOQg
+ KvMkKfYaIuEbJsgnOMkdGuUeHd4+PeseHLxAONI9N7p4edSzt//W1v/k4//h6P/f5v/Dw/+2tf+1t/+0
+ tv/Kzv/Y3f/S1f/U2P/Fyf8iKJlOVNMtM8IuM9UjKtgdJd0aI98bJN8nMOUqNN8dKc0pIPMnIOUvK9g5
+ N8w4NLWGiObR4P/k9//k7//K0/+JkeRWW8I5N78uKcAvLL4wMrxCR8hTWNKOlP/a4v/Z4//W4v+Ai+cx
+ OaooKr4mJ88sLuAjKNsWIMwoMt4yOusZI9QnHO42Le8lIME+Pb2Dg+fk7//o///b9/ff8v+OnN5ET6sx
+ NrE3MdIyKdcvKsszNscxOL0uN7YkKqdvduPc6f/Y6v/f8P/F0v9PUMg1MMc0MNY4OOQlK9AdJs4iLN4c
+ J90sIucvKdovL7lcX8fm6v/q9v/m/vbl//yQocxRXa8jLp4sML83MeIsJNwnJsoxNckjLrRATNBARNIo
+ K6srN4/c7f/a7f/k8//Kzf9pZN0nHrQrJskyNNgkLNMbJdYgK+AxK9wxL8k+RK/N1f/s8v/r9v/Y6uvq
+ +/9UW6o2ObMlKbgpK88vKuMqJt0sL801PcwwP8QaJ7MjIsY1MdBDRL54gtDm9//Y6fzq8//AwP9jWdU0
+ KMAxLdIwMt4hLtgcLdc3NdsfIauFkODo9P/x+v/p8vzx/f+uteY7OKw2L8wtLtYpK90nKeIpKt4qLs0l
+ Lr4iML4yPdUrJ94xKN0yLMc3OKavuuzt+//c5vfv9P/Z0/9rYN8tJsMoKNIjL9UYK9A9Od4hJKS9y//n
+ 9//0///x9/z09v+dl+g8LsoyI+InJ98iKd4iKN8kKtspLdIpMM0qNdMcI8wpJucqH+c8L+kzKL5MTaXs
+ 8//0///w+v/x8f++uf8vKLM0M9YlL9MkNNoxK9Y2OLrc7P/t///4//f7///28v+EeNw8JtkuHu4kJuMe
+ Kd4gKd4iKdwpKdkpKdknK90gJNssKu4iGeUuH+wvIdM9MrCmpOr0/f/r9uz2/P/q7f+XlP8zMcYhKMsf
+ LNYmHtc4OsTk8v/x//73/+39//v28P99b9U7JdssHu4gKOAcK9seKd4iJ+ApJOUrIucmIegjIuYwMu8b
+ GtwiGOczJOowHsVYS7709P/5//r6//Xy/P/d4P87PbkiJMghJdspI+AvML7b6f/x//79//L+/vj68v+N
+ f+Q7J9crIeoeKtwZLtccKtwiJ+IrIeksH+0oHu0iH+YuNOsdItsdGuU3LPgzHt42I7XY0P/6/f/2/+np
+ +ejq8/92fN8rLcgqKeMsKuEyNcDc6f/z//////j///779P+Ngds7LM4rJeIcLdcXMNQbLNsiJ+IsIucu
+ IOouJOwhHt8lL+AfLNwaIuEtLPI0Juo1I8SajOr49f/1/+z4//Dt+//J0v8vLsAvKt8gJc44QMPj7//w
+ +f/8/Pz//P/88v9zabw7L8cpKdscL9QXMNIbLNsiKN8sJeIwJOIzK+QjJdcfK9cdLtsWJt0eJ+MuJ+Y5
+ K9B8bNzv5v/z+fT6//Ln9/3k7/8wMrYsJtEcK70yQbXj8P/w9//79P//+P/78P98csU5McQnK9gbL9QX
+ MNQbLNkkK9kuKtcyK9IxL88qL9EcKNQYKtsXK94YKNknK9g1L8pjVM3m2f/6+P/6//7j8fff7P9fYdcs
+ KsMsN88tOLHb5//z+//////89/n79f+kn+o5NL8nLNUbLtUVL9cbLNsiKtssKtgyK9QsJ8oyM9ceJtcV
+ JdwYLuQWLd0hLtYrL8MxK6LWzv/49//w9fbz///q9v+lqP83NrYjHNk7Oszk7f/d7ez9/+T8/9/2+v/e
+ 4P8wMKwyN9kLHMcgNukZKeAdJuIrJu0uIek1I+IyJOAlJeMbJuYQKOYQKuIXLtgkNcYmL5fm7v/z/P/1
+ /vv2///x9//Y1v9FQKMoHuM3M8+epO/x/f/7/+n9/+T4///f4f8xMqQxOM8WJNAZKt8aKuEaJeEhIOYw
+ Je01IeYzI+InJ98bKd8QKuIOKuIVKt8iMc4wOK/Axv/v9v/4/v/4/v/w8//o5/9APY0pKtg4Os5dX77t
+ 8P/19f/7+v/69v/t6P9OTrgxNsEoMtYWJdUfLt4bKNgdJNEwMNwzJ9kyKtUlMc0bM8sSMdQSLdwZJecl
+ JeM3Lc2Shvzq4//49v/4+v/q7v/s7f8/P40iKtEzOc5BQbXi3v/27v/48P/58v/z7v+OjesuMLQuMtcf
+ KN0iKuEcKNQkMckrMcowKtcsK9UkNcYbOMIVNskXMNQgJeUsJOM6Kc6Zhv/u5P/69//2+//t8//h4v9B
+ P5gbJdYiKcw3N8GLhOz06//79P/z8f/09f/Pzf80MK0qItMsJu8hIOYgJtcwQssjMLwrJ94pJuAiMssc
+ OcAbOMIeNccnLNUzLNBAMrXLvv/4+f/6//vy/frv+P+mpvpAOqkhL+YXIc0xMspEPrXZ0v/49P/6/f/2
+ /P/t7v9cWMIsIcswJO4kGugkJt82RNMiMb0nKtklKN4gMsseNsQgNcYlMsouLNI7L8dBM6Ps5f/5//76
+ //Hu/Pjs9f90btlIPckhMe8YI9gsLtAyLq+PjNzh4f/4///2//zv9/+lp/VFO80yI98tIe0tJustMNgo
+ M8skMssiM8ogNMkiMsskLdUrKNs1JtxALcpNPajy7f/y+/j4//Tt+f/o7f9OQspGM+AUKd8bKdslKNE4
+ NcY/OqOsqefz+f/0///v/P/n8f9hYsozLcI6L+MzK+ohHNUtMd4iMc4gMs0iLtQkKdwpIucwIec7JN5F
+ LsZrXbv08v/0//3z//7n8v/P0P8tH7swG9sYMdUaLNMpLNs0LdQ6LMBbTsGxrfTv9f/s/P/o/P/T5f89
+ S54jKKkwLNI4L/EpIukbINsmLOksJ/gmGvYrFPg6IPZEK99FMrevqPPw9f/k8Prt+//m7v97eOUxI8g0
+ IeIaL9EcLNMnKuAwKOEwINI8K8htYdeene3T3//k/P/J5PnK4/82Rp8uM7ciHcwnH+IsLe0aGuIdFO0x
+ H/4zHPQqFNE9L71jXL3s8f/e7P/q+//m9P+DiN0xLqw3LNY8LewiLdslLN8pKuYvJ+owH+UwHNk5Kc5F
+ Pb+Ume7N3v/d+f/R8P/G3/9FV7A5QcQwM9IqLdwjJd4xKuk8MuosJMUwLqp9hdLa6v/m/f/b9f/j9v+z
+ v/9ARLQrKLk5MdwfFc0oKuMoKeUoJeYoIuUsIusyJe0zJeEvJspBQMBMVLG1y//a9P/Y8f/C2f+Ek/o9
+ SsRATdEyPsYoL7oyN7hXW8uNmOrF2P/h+P/X8v/d9f+KmuYgKpU4OcVEQeQXEsE8N+wqIOksI+gnIuEg
+ H9kiI98tLOgvKuksJ94kIMU8PcsvN6hUYL6Jm+7W6P/E1f/T6P/F5f/R9P/U8P/U6//U5v/d7v/d7//Y
+ 6f+zw/9DULg1PMEtL8oSEL0uKuE6NO0nItsxIugyJ+kvKuMlKdshKNsgKd4hJeIhI+AzMegkIcosK8Ex
+ Nbk9Q7ouNqdmceFHV7e00P+du+yNpd+brO+uuv+epv9kac8rMKM9QsYeJbgoLc8yNuMsLeMoJ+EiHtsl
+ H9w4Ktw1K9wxL90rMd4hL9wZKdoXJdscJt4fI9k8POwnJM41MNM5NNMiGro1Lc5GQNswLbkuKrE2MLdE
+ O8hLPNM/L9A0JM8sIdEjIc8wNd4pNNYcKcsVHsUgJdQ0M+0uKeg1KNAuJs0oJ9EnLtkdLtkWKdgWKt0i
+ MOYeJ9wZGs4zLuMwJdktIdVFNuwvH9gxIdo8KdxBLd1AK9s9Jdc6H9o7IOI5H+40IO4lH+I3O/EQH8IZ
+ Lcg2ROQeJ88eHtYoI+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.cs
new file mode 100644
index 00000000000..37caf4067a3
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.cs
@@ -0,0 +1,77 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Windows.Forms;
+using OpenERPClient;
+
+namespace OpenERPOutlookPlugin
+{
+ public partial class frm_partner : Form
+ {
+
+ public frm_partner()
+ {
+ InitializeComponent();
+ }
+
+ public Form parent_form = null;
+
+ private void btnsave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+
+ if (txt_create_partner.Text == "")
+ {
+ throw new Exception ("You must enter a Partner Name.");
+ }
+
+ else
+ {
+
+
+ Record[] partners = Cache.OpenERPOutlookPlugin.SearchPartnerByName(txt_create_partner.Text);
+ if (partners != null && partners.Length > 0)
+ {
+ throw new Exception("Partner already exist.");
+ }
+ else
+ {
+ frm_select_partner sel_partner = (frm_select_partner)this.parent_form;
+ sel_partner.SelectPartnerText = txt_create_partner.Text;
+ sel_partner.search_lst_partner();
+ this.Close();
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+
+ Connect.handleException(ex);
+ }
+
+ }
+
+ private void btncncl_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.designer.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.designer.cs
new file mode 100644
index 00000000000..41861ea5b62
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.designer.cs
@@ -0,0 +1,106 @@
+namespace OpenERPOutlookPlugin
+{
+ partial class frm_partner
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frm_partner));
+ this.txt_create_partner = new System.Windows.Forms.TextBox();
+ this.lablname = new System.Windows.Forms.Label();
+ this.btncncl = new System.Windows.Forms.Button();
+ this.btnsave = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // txt_create_partner
+ //
+ this.txt_create_partner.Location = new System.Drawing.Point(87, 26);
+ this.txt_create_partner.Name = "txt_create_partner";
+ this.txt_create_partner.Size = new System.Drawing.Size(185, 20);
+ this.txt_create_partner.TabIndex = 0;
+ //
+ // lablname
+ //
+ this.lablname.AutoSize = true;
+ this.lablname.Location = new System.Drawing.Point(43, 29);
+ this.lablname.Name = "lablname";
+ this.lablname.Size = new System.Drawing.Size(38, 13);
+ this.lablname.TabIndex = 1;
+ this.lablname.Text = "Name:";
+ //
+ // btncncl
+ //
+ this.btncncl.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btncncl.Image = global::OpenERPOutlookPlugin.Properties.Resources.Error;
+ this.btncncl.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btncncl.Location = new System.Drawing.Point(205, 75);
+ this.btncncl.Name = "btncncl";
+ this.btncncl.Size = new System.Drawing.Size(67, 23);
+ this.btncncl.TabIndex = 3;
+ this.btncncl.Text = "&Cancel";
+ this.btncncl.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btncncl.UseVisualStyleBackColor = true;
+ this.btncncl.Click += new System.EventHandler(this.btncncl_Click);
+ //
+ // btnsave
+ //
+ this.btnsave.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btnsave.Image = global::OpenERPOutlookPlugin.Properties.Resources.Success;
+ this.btnsave.ImageAlign = System.Drawing.ContentAlignment.TopLeft;
+ this.btnsave.Location = new System.Drawing.Point(139, 75);
+ this.btnsave.Name = "btnsave";
+ this.btnsave.Size = new System.Drawing.Size(60, 23);
+ this.btnsave.TabIndex = 2;
+ this.btnsave.Text = "&Save ";
+ this.btnsave.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btnsave.UseVisualStyleBackColor = true;
+ this.btnsave.Click += new System.EventHandler(this.btnsave_Click);
+ //
+ // frm_partner
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(284, 110);
+ this.Controls.Add(this.btncncl);
+ this.Controls.Add(this.btnsave);
+ this.Controls.Add(this.lablname);
+ this.Controls.Add(this.txt_create_partner);
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Name = "frm_partner";
+ this.Text = "Create a new Partner";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox txt_create_partner;
+ private System.Windows.Forms.Label lablname;
+ private System.Windows.Forms.Button btnsave;
+ private System.Windows.Forms.Button btncncl;
+ }
+} \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.resx b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.resx
new file mode 100644
index 00000000000..9477f7baa89
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_partner.resx
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAICAAAAEAGACoDAAAFgAAACgAAAAgAAAAQAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAxO+0UHsorMtUkJMo6LOY5JN81HsdDLM4/JMdINcBISKJCSpA+RpM9SJo6RJsxPJg2PJ84PKU4OadA
+ Pbs7L8lANd8qJNUiJtIZKModMNcUJOIUHu0iJvsaIOUaJsQuQMkXHNcvNOciJsstLNAvItJSQekqG6xQ
+ QchYSNKOg/3Cw//Q2f/P1f/S2P/T3P/R2P+iqP+7vv9vct8zM6k0Lbg6NcwcGroyN9oiLs4eLdccKOQg
+ KvMkKfYaIuEbJsgnOMkdGuUeHd4+PeseHLxAONI9N7p4edSzt//W1v/k4//h6P/f5v/Dw/+2tf+1t/+0
+ tv/Kzv/Y3f/S1f/U2P/Fyf8iKJlOVNMtM8IuM9UjKtgdJd0aI98bJN8nMOUqNN8dKc0pIPMnIOUvK9g5
+ N8w4NLWGiObR4P/k9//k7//K0/+JkeRWW8I5N78uKcAvLL4wMrxCR8hTWNKOlP/a4v/Z4//W4v+Ai+cx
+ OaooKr4mJ88sLuAjKNsWIMwoMt4yOusZI9QnHO42Le8lIME+Pb2Dg+fk7//o///b9/ff8v+OnN5ET6sx
+ NrE3MdIyKdcvKsszNscxOL0uN7YkKqdvduPc6f/Y6v/f8P/F0v9PUMg1MMc0MNY4OOQlK9AdJs4iLN4c
+ J90sIucvKdovL7lcX8fm6v/q9v/m/vbl//yQocxRXa8jLp4sML83MeIsJNwnJsoxNckjLrRATNBARNIo
+ K6srN4/c7f/a7f/k8//Kzf9pZN0nHrQrJskyNNgkLNMbJdYgK+AxK9wxL8k+RK/N1f/s8v/r9v/Y6uvq
+ +/9UW6o2ObMlKbgpK88vKuMqJt0sL801PcwwP8QaJ7MjIsY1MdBDRL54gtDm9//Y6fzq8//AwP9jWdU0
+ KMAxLdIwMt4hLtgcLdc3NdsfIauFkODo9P/x+v/p8vzx/f+uteY7OKw2L8wtLtYpK90nKeIpKt4qLs0l
+ Lr4iML4yPdUrJ94xKN0yLMc3OKavuuzt+//c5vfv9P/Z0/9rYN8tJsMoKNIjL9UYK9A9Od4hJKS9y//n
+ 9//0///x9/z09v+dl+g8LsoyI+InJ98iKd4iKN8kKtspLdIpMM0qNdMcI8wpJucqH+c8L+kzKL5MTaXs
+ 8//0///w+v/x8f++uf8vKLM0M9YlL9MkNNoxK9Y2OLrc7P/t///4//f7///28v+EeNw8JtkuHu4kJuMe
+ Kd4gKd4iKdwpKdkpKdknK90gJNssKu4iGeUuH+wvIdM9MrCmpOr0/f/r9uz2/P/q7f+XlP8zMcYhKMsf
+ LNYmHtc4OsTk8v/x//73/+39//v28P99b9U7JdssHu4gKOAcK9seKd4iJ+ApJOUrIucmIegjIuYwMu8b
+ GtwiGOczJOowHsVYS7709P/5//r6//Xy/P/d4P87PbkiJMghJdspI+AvML7b6f/x//79//L+/vj68v+N
+ f+Q7J9crIeoeKtwZLtccKtwiJ+IrIeksH+0oHu0iH+YuNOsdItsdGuU3LPgzHt42I7XY0P/6/f/2/+np
+ +ejq8/92fN8rLcgqKeMsKuEyNcDc6f/z//////j///779P+Ngds7LM4rJeIcLdcXMNQbLNsiJ+IsIucu
+ IOouJOwhHt8lL+AfLNwaIuEtLPI0Juo1I8SajOr49f/1/+z4//Dt+//J0v8vLsAvKt8gJc44QMPj7//w
+ +f/8/Pz//P/88v9zabw7L8cpKdscL9QXMNIbLNsiKN8sJeIwJOIzK+QjJdcfK9cdLtsWJt0eJ+MuJ+Y5
+ K9B8bNzv5v/z+fT6//Ln9/3k7/8wMrYsJtEcK70yQbXj8P/w9//79P//+P/78P98csU5McQnK9gbL9QX
+ MNQbLNkkK9kuKtcyK9IxL88qL9EcKNQYKtsXK94YKNknK9g1L8pjVM3m2f/6+P/6//7j8fff7P9fYdcs
+ KsMsN88tOLHb5//z+//////89/n79f+kn+o5NL8nLNUbLtUVL9cbLNsiKtssKtgyK9QsJ8oyM9ceJtcV
+ JdwYLuQWLd0hLtYrL8MxK6LWzv/49//w9fbz///q9v+lqP83NrYjHNk7Oszk7f/d7ez9/+T8/9/2+v/e
+ 4P8wMKwyN9kLHMcgNukZKeAdJuIrJu0uIek1I+IyJOAlJeMbJuYQKOYQKuIXLtgkNcYmL5fm7v/z/P/1
+ /vv2///x9//Y1v9FQKMoHuM3M8+epO/x/f/7/+n9/+T4///f4f8xMqQxOM8WJNAZKt8aKuEaJeEhIOYw
+ Je01IeYzI+InJ98bKd8QKuIOKuIVKt8iMc4wOK/Axv/v9v/4/v/4/v/w8//o5/9APY0pKtg4Os5dX77t
+ 8P/19f/7+v/69v/t6P9OTrgxNsEoMtYWJdUfLt4bKNgdJNEwMNwzJ9kyKtUlMc0bM8sSMdQSLdwZJecl
+ JeM3Lc2Shvzq4//49v/4+v/q7v/s7f8/P40iKtEzOc5BQbXi3v/27v/48P/58v/z7v+OjesuMLQuMtcf
+ KN0iKuEcKNQkMckrMcowKtcsK9UkNcYbOMIVNskXMNQgJeUsJOM6Kc6Zhv/u5P/69//2+//t8//h4v9B
+ P5gbJdYiKcw3N8GLhOz06//79P/z8f/09f/Pzf80MK0qItMsJu8hIOYgJtcwQssjMLwrJ94pJuAiMssc
+ OcAbOMIeNccnLNUzLNBAMrXLvv/4+f/6//vy/frv+P+mpvpAOqkhL+YXIc0xMspEPrXZ0v/49P/6/f/2
+ /P/t7v9cWMIsIcswJO4kGugkJt82RNMiMb0nKtklKN4gMsseNsQgNcYlMsouLNI7L8dBM6Ps5f/5//76
+ //Hu/Pjs9f90btlIPckhMe8YI9gsLtAyLq+PjNzh4f/4///2//zv9/+lp/VFO80yI98tIe0tJustMNgo
+ M8skMssiM8ogNMkiMsskLdUrKNs1JtxALcpNPajy7f/y+/j4//Tt+f/o7f9OQspGM+AUKd8bKdslKNE4
+ NcY/OqOsqefz+f/0///v/P/n8f9hYsozLcI6L+MzK+ohHNUtMd4iMc4gMs0iLtQkKdwpIucwIec7JN5F
+ LsZrXbv08v/0//3z//7n8v/P0P8tH7swG9sYMdUaLNMpLNs0LdQ6LMBbTsGxrfTv9f/s/P/o/P/T5f89
+ S54jKKkwLNI4L/EpIukbINsmLOksJ/gmGvYrFPg6IPZEK99FMrevqPPw9f/k8Prt+//m7v97eOUxI8g0
+ IeIaL9EcLNMnKuAwKOEwINI8K8htYdeene3T3//k/P/J5PnK4/82Rp8uM7ciHcwnH+IsLe0aGuIdFO0x
+ H/4zHPQqFNE9L71jXL3s8f/e7P/q+//m9P+DiN0xLqw3LNY8LewiLdslLN8pKuYvJ+owH+UwHNk5Kc5F
+ Pb+Ume7N3v/d+f/R8P/G3/9FV7A5QcQwM9IqLdwjJd4xKuk8MuosJMUwLqp9hdLa6v/m/f/b9f/j9v+z
+ v/9ARLQrKLk5MdwfFc0oKuMoKeUoJeYoIuUsIusyJe0zJeEvJspBQMBMVLG1y//a9P/Y8f/C2f+Ek/o9
+ SsRATdEyPsYoL7oyN7hXW8uNmOrF2P/h+P/X8v/d9f+KmuYgKpU4OcVEQeQXEsE8N+wqIOksI+gnIuEg
+ H9kiI98tLOgvKuksJ94kIMU8PcsvN6hUYL6Jm+7W6P/E1f/T6P/F5f/R9P/U8P/U6//U5v/d7v/d7//Y
+ 6f+zw/9DULg1PMEtL8oSEL0uKuE6NO0nItsxIugyJ+kvKuMlKdshKNsgKd4hJeIhI+AzMegkIcosK8Ex
+ Nbk9Q7ouNqdmceFHV7e00P+du+yNpd+brO+uuv+epv9kac8rMKM9QsYeJbgoLc8yNuMsLeMoJ+EiHtsl
+ H9w4Ktw1K9wxL90rMd4hL9wZKdoXJdscJt4fI9k8POwnJM41MNM5NNMiGro1Lc5GQNswLbkuKrE2MLdE
+ O8hLPNM/L9A0JM8sIdEjIc8wNd4pNNYcKcsVHsUgJdQ0M+0uKeg1KNAuJs0oJ9EnLtkdLtkWKdgWKt0i
+ MOYeJ9wZGs4zLuMwJdktIdVFNuwvH9gxIdo8KdxBLd1AK9s9Jdc6H9o7IOI5H+40IO4lH+I3O/EQH8IZ
+ Lcg2ROQeJ88eHtYoI+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.cs
new file mode 100644
index 00000000000..b3aa195b68c
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.cs
@@ -0,0 +1,149 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Collections;
+using System.Drawing;
+using System.Windows.Forms;
+using OpenERPClient;
+using outlook = Microsoft.Office.Interop.Outlook;
+
+namespace OpenERPOutlookPlugin
+{
+
+ public partial class frm_push_mail : Form
+ {
+
+ public frm_push_mail()
+ {
+
+ InitializeComponent();
+ cmboboxcreate.Items.Remove("");
+ }
+
+ public bool push_mail(string model, int thread_id)
+ {
+ foreach (outlook.MailItem mailItem in Tools.MailItems())
+ {
+ Cache.OpenERPOutlookPlugin.PushMail(mailItem, model, thread_id);
+
+ }
+ return true;
+ }
+
+ private void btn_attach_mail_to_partner_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (lstview_object.SelectedItems.Count <= 0)
+ {
+ throw new Exception("Plese select item from the list to push");
+ }
+ foreach (ListViewItem lv in lstview_object.SelectedItems)
+ {
+ this.push_mail(lv.SubItems[1].Name, Convert.ToInt32(lv.Name));
+ }
+ this.Close();
+ }
+ catch (Exception ex)
+ {
+ Connect.handleException(ex);
+ }
+ }
+
+
+ private void frm_push_mail_Load(object sender, EventArgs e)
+ {
+ try
+ {
+
+ Model[] document_models = Cache.OpenERPOutlookPlugin.GetMailModels();
+ OpenERPOutlookPlugin openerp_outlook = Cache.OpenERPOutlookPlugin;
+ OpenERPConnect openerp_connect = openerp_outlook.Connection;
+
+ foreach (Model model in document_models)
+ {
+ ListViewItem item = new ListViewItem();
+ item.Name = model.model;
+ item.Text = model.name;
+ cmboboxcreate.Items.Add(model);
+ }
+ }
+ catch (Exception ex)
+ {
+ Connect.handleException(ex);
+ }
+ }
+ private void add_item_recordlist(Record record)
+ {
+ ListViewItem item = new ListViewItem(record.name);
+ item.Name = record.id.ToString();
+ item.Text = record.name;
+ ListViewItem.ListViewSubItem subitem = new ListViewItem.ListViewSubItem();
+ subitem.Name = record.model.model;
+ subitem.Text = cmboboxcreate.SelectedItem.ToString();
+ item.SubItems.Add(subitem);
+ lstview_object.Items.Add(item);
+ }
+
+ void load_data_list()
+ {
+ lstview_object.Items.Clear();
+
+ Model model = (Model)cmboboxcreate.SelectedItem;
+ ArrayList condition_list = new ArrayList();
+ string name = null;
+ if (txt_doc_search.Text != "")
+ {
+ name = txt_doc_search.Text;
+ }
+
+ foreach (Record record in Cache.OpenERPOutlookPlugin.SearchRecord(name,model.model))
+ {
+ this.add_item_recordlist(record);
+ }
+ if (lstview_object.Items.Count <= 0)
+ {
+ Connect.displayMessage("No matching Document(s) found.");
+ }
+ lstview_object.Sort();
+ }
+
+ private void cmboboxcreate_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ try
+ {
+ this.load_data_list();
+ }
+ catch (Exception ex)
+ { Connect.handleException(ex); }
+ }
+
+ private void btn_search_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ this.load_data_list();
+ }
+ catch
+ { Connect.displayMessage("Please Enter Search Text"); }
+ }
+ }
+}
+
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.designer.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.designer.cs
new file mode 100644
index 00000000000..f6282eed6b7
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.designer.cs
@@ -0,0 +1,202 @@
+namespace OpenERPOutlookPlugin
+{
+ partial class frm_push_mail
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frm_push_mail));
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.btn_search = new System.Windows.Forms.Button();
+ this.txt_doc_search = new System.Windows.Forms.TextBox();
+ this.lbtsrch = new System.Windows.Forms.Label();
+ this.cmboboxcreate = new System.Windows.Forms.ComboBox();
+ this.lbtypedoc = new System.Windows.Forms.Label();
+ this.lstview_object = new System.Windows.Forms.ListView();
+ this.colheadname = new System.Windows.Forms.ColumnHeader();
+ this.colheadmodelname = new System.Windows.Forms.ColumnHeader();
+ this.btn_attach_mail_to_partner = new System.Windows.Forms.Button();
+ this.lbldocs = new System.Windows.Forms.Label();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.btn_search);
+ this.groupBox1.Controls.Add(this.txt_doc_search);
+ this.groupBox1.Controls.Add(this.lbtsrch);
+ this.groupBox1.Controls.Add(this.cmboboxcreate);
+ this.groupBox1.Controls.Add(this.lbtypedoc);
+ this.groupBox1.Controls.Add(this.lstview_object);
+ this.groupBox1.Controls.Add(this.btn_attach_mail_to_partner);
+ this.groupBox1.Controls.Add(this.lbldocs);
+ this.groupBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.groupBox1.Location = new System.Drawing.Point(13, 12);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(440, 460);
+ this.groupBox1.TabIndex = 3;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Link to an Existing Document";
+ //
+ // btn_search
+ //
+ this.btn_search.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_search.Image = global::OpenERPOutlookPlugin.Properties.Resources.Search;
+ this.btn_search.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btn_search.Location = new System.Drawing.Point(364, 59);
+ this.btn_search.Name = "btn_search";
+ this.btn_search.Size = new System.Drawing.Size(70, 23);
+ this.btn_search.TabIndex = 15;
+ this.btn_search.Text = "&Search ";
+ this.btn_search.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_search.UseVisualStyleBackColor = true;
+ this.btn_search.Click += new System.EventHandler(this.btn_search_Click);
+ //
+ // txt_doc_search
+ //
+ this.txt_doc_search.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.txt_doc_search.Location = new System.Drawing.Point(104, 59);
+ this.txt_doc_search.Name = "txt_doc_search";
+ this.txt_doc_search.Size = new System.Drawing.Size(254, 20);
+ this.txt_doc_search.TabIndex = 14;
+ //
+ // lbtsrch
+ //
+ this.lbtsrch.AutoSize = true;
+ this.lbtsrch.Location = new System.Drawing.Point(32, 59);
+ this.lbtsrch.Name = "lbtsrch";
+ this.lbtsrch.Size = new System.Drawing.Size(51, 13);
+ this.lbtsrch.TabIndex = 13;
+ this.lbtsrch.Text = "Search:";
+ //
+ // cmboboxcreate
+ //
+ this.cmboboxcreate.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.cmboboxcreate.FormattingEnabled = true;
+ this.cmboboxcreate.Items.AddRange(new object[] {
+ ""});
+ this.cmboboxcreate.Location = new System.Drawing.Point(104, 24);
+ this.cmboboxcreate.Name = "cmboboxcreate";
+ this.cmboboxcreate.Size = new System.Drawing.Size(330, 21);
+ this.cmboboxcreate.TabIndex = 12;
+ this.cmboboxcreate.SelectedIndexChanged += new System.EventHandler(this.cmboboxcreate_SelectedIndexChanged);
+ //
+ // lbtypedoc
+ //
+ this.lbtypedoc.AutoSize = true;
+ this.lbtypedoc.Location = new System.Drawing.Point(15, 24);
+ this.lbtypedoc.Name = "lbtypedoc";
+ this.lbtypedoc.Size = new System.Drawing.Size(68, 13);
+ this.lbtypedoc.TabIndex = 11;
+ this.lbtypedoc.Text = "Document:";
+ //
+ // lstview_object
+ //
+ this.lstview_object.Alignment = System.Windows.Forms.ListViewAlignment.Default;
+ this.lstview_object.AllowColumnReorder = true;
+ this.lstview_object.BackgroundImageTiled = true;
+ this.lstview_object.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.colheadname,
+ this.colheadmodelname});
+ this.lstview_object.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lstview_object.FullRowSelect = true;
+ this.lstview_object.GridLines = true;
+ this.lstview_object.HideSelection = false;
+ this.lstview_object.Location = new System.Drawing.Point(9, 110);
+ this.lstview_object.Name = "lstview_object";
+ this.lstview_object.Size = new System.Drawing.Size(425, 299);
+ this.lstview_object.TabIndex = 10;
+ this.lstview_object.UseCompatibleStateImageBehavior = false;
+ this.lstview_object.View = System.Windows.Forms.View.Details;
+ //
+ // colheadname
+ //
+ this.colheadname.Text = "Name";
+ this.colheadname.Width = 247;
+ //
+ // colheadmodelname
+ //
+ this.colheadmodelname.Text = "Model Name";
+ this.colheadmodelname.Width = 400;
+ //
+ // btn_attach_mail_to_partner
+ //
+ this.btn_attach_mail_to_partner.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_attach_mail_to_partner.Image = global::OpenERPOutlookPlugin.Properties.Resources.Archive;
+ this.btn_attach_mail_to_partner.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btn_attach_mail_to_partner.Location = new System.Drawing.Point(377, 424);
+ this.btn_attach_mail_to_partner.Name = "btn_attach_mail_to_partner";
+ this.btn_attach_mail_to_partner.Size = new System.Drawing.Size(57, 23);
+ this.btn_attach_mail_to_partner.TabIndex = 4;
+ this.btn_attach_mail_to_partner.Text = "P&ush ";
+ this.btn_attach_mail_to_partner.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_attach_mail_to_partner.UseVisualStyleBackColor = true;
+ this.btn_attach_mail_to_partner.Click += new System.EventHandler(this.btn_attach_mail_to_partner_Click);
+ //
+ // lbldocs
+ //
+ this.lbldocs.AutoSize = true;
+ this.lbldocs.Location = new System.Drawing.Point(9, 91);
+ this.lbldocs.Name = "lbldocs";
+ this.lbldocs.Size = new System.Drawing.Size(74, 13);
+ this.lbldocs.TabIndex = 0;
+ this.lbldocs.Text = "Documents:";
+ //
+ // frm_push_mail
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(467, 484);
+ this.Controls.Add(this.groupBox1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.KeyPreview = true;
+ this.MaximizeBox = false;
+ this.Name = "frm_push_mail";
+ this.Text = "Push Mail";
+ this.Load += new System.EventHandler(this.frm_push_mail_Load);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.ListView lstview_object;
+ private System.Windows.Forms.ColumnHeader colheadname;
+ private System.Windows.Forms.ColumnHeader colheadmodelname;
+ private System.Windows.Forms.Button btn_attach_mail_to_partner;
+ private System.Windows.Forms.Label lbldocs;
+ private System.Windows.Forms.ComboBox cmboboxcreate;
+ private System.Windows.Forms.Label lbtypedoc;
+ private System.Windows.Forms.Button btn_search;
+ private System.Windows.Forms.TextBox txt_doc_search;
+ private System.Windows.Forms.Label lbtsrch;
+
+ }
+} \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.resx b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.resx
new file mode 100644
index 00000000000..3c294eb0444
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_push_mail.resx
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAACAgICAAAAKwAAAGw8PDykT09Pu1BQULpAQEChAAAAYgAAAB0AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAFBQUNAAAAanFxcdygoaH/l5eX/5OTk/+ZmJj/o6Kj/6alpv93d3jbCAgIVwkJ
+ CQMAAAAAAAAAAAAAAAAHBwcKIyQkhLCwr/2IiIv+Q0NH/zc4PP9KSlD/b29w/3l5eP+VlJX/srKy/rCw
+ sf87OztxEBAQAgAAAAD///8ADQ0NYMfGxf5lZXv+BwdS/hISdv8MDGb/EBBw/wgIUf8rK0D/X19g/4yM
+ jP7CwsL+xsbG/ywsLEYAAAAAAAAAFqioqdykpLn+ERGH/hsbo/8vMEj/srK5/4OEpP8cHJr/GRmh/w8P
+ Qv9RUVP/nJuc/trZ2f69vb7aAAAAAiQkI1D49/X/YWGp/yUlzv8WFo3/bW1w/9vb2//x8O//oqPH/yUl
+ xv8jI87/Dw9C/2loaP/Ly8v/8vLy/3FxcD2jo6OR/////1tbyf8uLuf/HByh/2VlaP/e3t7//f39////
+ //9dXc//LS3n/yIi0f8rKzj/pqal//7+/v/W1taEycnJqv////9wcOX/ODj3/ygoz/9ERE3/xMTE//v7
+ +//+/v//09Pz/zMz8v80NPn/EBBx/4KCgf/09PT/7e3to9bW1qn/////oqL6/0JC//9BQf//Hx9G/5aW
+ lP/u7u7///////////9MTPf/Ojr8/yIivv9hYWv/7u7u//X19aTY2NmI//////Hx/P84OPD/QED7/xkZ
+ kf9iYmb/xcXF//r6+v//////fX3n/zc3+/8pKdz/WVlm//Pz8//6+vmIvb29O//////////+jIzV/zMz
+ 6P8rK+H/KChP/4yMiv/X19f/+Pj4/42Nyf8pKev/ICDN/3JygP7/////9/f3PgAAAAD5+fnd/////v//
+ //9SUqn/JCTH/xUVmv9SUmn/pqaj/8nJxv9LS4H/Hh7P/w4Oj/7KytH+/v7+5QAAAAAAAAAA5OTkNP//
+ ///+/v7//////2Fhkv8PD4T/DQ1//yYmXP8xMVz/DAyA/xAQmf9iYob///////z8/DsAAAAAAAAAAAAA
+ AAD8/Pxc/v7+//7+/v7////+xcXL/0xMbP8ICEf/AAA+/xISS/6AgJD+//////7+/mgAAAAAAAAAAAAA
+ AAAAAAAAAAAAAPv7+zX+/v7m//////7+/v/////+/////v//////////////7P7+/j4AAAAA+fn5AAAA
+ AAAAAAAAAAAAAAAAAAD///8AAAAAAP7+/kj+/v6S/v7+s/7+/rT+/v6U/v7+TQAAAAAAAAAAAAAAAAAA
+ AAAAAAAA/D8AAPAPAADABwAAwAMAAIABAACAAQAAAAAAAAAAAAAAAAAAAAAAAIABAACAAQAAwAMAAOAH
+ AADwDwAA/D8AAA==
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.Designer.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.Designer.cs
new file mode 100644
index 00000000000..95c478fbb1e
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.Designer.cs
@@ -0,0 +1,141 @@
+namespace OpenERPOutlookPlugin
+{
+ partial class frm_select_partner
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frm_select_partner));
+ this.txt_select_partner = new System.Windows.Forms.TextBox();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.lstbox_select_partner = new System.Windows.Forms.ListBox();
+ this.btn_select_partner_select = new System.Windows.Forms.Button();
+ this.btn_select_partner_close = new System.Windows.Forms.Button();
+ this.btn_select_partner_search = new System.Windows.Forms.Button();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // txt_select_partner
+ //
+ this.txt_select_partner.Location = new System.Drawing.Point(19, 20);
+ this.txt_select_partner.Name = "txt_select_partner";
+ this.txt_select_partner.Size = new System.Drawing.Size(209, 20);
+ this.txt_select_partner.TabIndex = 0;
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.lstbox_select_partner);
+ this.groupBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.groupBox1.Location = new System.Drawing.Point(13, 51);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(307, 368);
+ this.groupBox1.TabIndex = 7;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Partner Name";
+ //
+ // lstbox_select_partner
+ //
+ this.lstbox_select_partner.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lstbox_select_partner.FormattingEnabled = true;
+ this.lstbox_select_partner.Location = new System.Drawing.Point(6, 27);
+ this.lstbox_select_partner.Name = "lstbox_select_partner";
+ this.lstbox_select_partner.Size = new System.Drawing.Size(295, 329);
+ this.lstbox_select_partner.TabIndex = 4;
+ //
+ // btn_select_partner_select
+ //
+ this.btn_select_partner_select.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_select_partner_select.Image = global::OpenERPOutlookPlugin.Properties.Resources.Success;
+ this.btn_select_partner_select.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btn_select_partner_select.Location = new System.Drawing.Point(192, 432);
+ this.btn_select_partner_select.Name = "btn_select_partner_select";
+ this.btn_select_partner_select.Size = new System.Drawing.Size(53, 23);
+ this.btn_select_partner_select.TabIndex = 6;
+ this.btn_select_partner_select.Text = "&Link";
+ this.btn_select_partner_select.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_select_partner_select.UseVisualStyleBackColor = true;
+ this.btn_select_partner_select.Click += new System.EventHandler(this.btn_select_partner_select_Click);
+ //
+ // btn_select_partner_close
+ //
+ this.btn_select_partner_close.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_select_partner_close.Image = global::OpenERPOutlookPlugin.Properties.Resources.Error;
+ this.btn_select_partner_close.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
+ this.btn_select_partner_close.Location = new System.Drawing.Point(251, 432);
+ this.btn_select_partner_close.Name = "btn_select_partner_close";
+ this.btn_select_partner_close.Size = new System.Drawing.Size(64, 23);
+ this.btn_select_partner_close.TabIndex = 5;
+ this.btn_select_partner_close.Text = "&Close ";
+ this.btn_select_partner_close.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_select_partner_close.UseVisualStyleBackColor = true;
+ this.btn_select_partner_close.Click += new System.EventHandler(this.btn_select_partner_close_Click);
+ //
+ // btn_select_partner_search
+ //
+ this.btn_select_partner_search.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btn_select_partner_search.Image = ((System.Drawing.Image)(resources.GetObject("btn_select_partner_search.Image")));
+ this.btn_select_partner_search.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.btn_select_partner_search.Location = new System.Drawing.Point(245, 19);
+ this.btn_select_partner_search.Name = "btn_select_partner_search";
+ this.btn_select_partner_search.Size = new System.Drawing.Size(75, 23);
+ this.btn_select_partner_search.TabIndex = 1;
+ this.btn_select_partner_search.Text = "&Search ";
+ this.btn_select_partner_search.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ this.btn_select_partner_search.UseVisualStyleBackColor = true;
+ this.btn_select_partner_search.Click += new System.EventHandler(this.btn_select_partner_search_Click);
+ //
+ // frm_select_partner
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(350, 467);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.btn_select_partner_select);
+ this.Controls.Add(this.btn_select_partner_close);
+ this.Controls.Add(this.btn_select_partner_search);
+ this.Controls.Add(this.txt_select_partner);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.Name = "frm_select_partner";
+ this.Text = "Select Partner";
+ this.Load += new System.EventHandler(this.frm_select_partner_Load);
+ this.groupBox1.ResumeLayout(false);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox txt_select_partner;
+ private System.Windows.Forms.Button btn_select_partner_search;
+ private System.Windows.Forms.Button btn_select_partner_close;
+ private System.Windows.Forms.Button btn_select_partner_select;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.ListBox lstbox_select_partner;
+ }
+} \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.cs b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.cs
new file mode 100644
index 00000000000..4e3af054c3e
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.cs
@@ -0,0 +1,121 @@
+/*
+ OpenERP, Open Source Business Applications
+ Copyright (c) 2011 OpenERP S.A. <http://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/>.
+*/
+
+
+using System;
+using System.Collections;
+using System.Windows.Forms;
+using OpenERPClient;
+using outlook = Microsoft.Office.Interop.Outlook;
+
+namespace OpenERPOutlookPlugin
+{
+
+ public partial class frm_select_partner : Form
+ {
+ public frm_select_partner()
+ {
+ InitializeComponent();
+
+ }
+ public Form parent_form = null;
+
+ private void btn_select_partner_select_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (lstbox_select_partner.SelectedItem == null)
+ {
+ throw new Exception("Please select a partner from the list.");
+ }
+ else
+ {
+ txt_select_partner.Text = lstbox_select_partner.SelectedItem.ToString();
+ int partner_id = (int)Cache.OpenERPOutlookPlugin.CreatePartnerRecord(lstbox_select_partner.SelectedItem.ToString());
+ foreach (outlook.MailItem mailItem in Tools.MailItems())
+ {
+ Cache.OpenERPOutlookPlugin.CreateContactRecord(partner_id, mailItem.SenderName, mailItem.SenderEmailAddress);
+ }
+ this.Close();
+ }
+ }
+ catch (Exception ex)
+ {
+ Connect.handleException(ex);
+ }
+ }
+
+ private void btn_select_partner_close_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ public void search_lst_partner()
+ {
+ /*
+ * Will search the list of partners as per the given search criteria.
+ */
+ try
+ {
+ lstbox_select_partner.Items.Clear();
+ foreach (Record oo in Cache.OpenERPOutlookPlugin.SearchRecord(txt_select_partner.Text, "res.partner"))
+ {
+ lstbox_select_partner.Items.Add(oo.name);
+ }
+ if (lstbox_select_partner.Items.Count == 0)
+ {
+ Connect.displayMessage("No matching Partner(s) found.");
+ }
+ }
+ catch (Exception ex)
+ {
+ Connect.handleException(ex);
+ }
+ }
+
+ private void btn_select_partner_search_Click(object sender, EventArgs e)
+ {
+ search_lst_partner();
+ }
+
+ public string SelectPartnerText
+ {
+ /*
+ * Will gets and sets the selected partner from the list of partners.
+ */
+ get
+ {
+ return this.txt_select_partner.Text;
+ }
+ set
+ {
+ this.txt_select_partner.Text = value;
+ }
+ }
+
+ private void frm_select_partner_Load(object sender, EventArgs e)
+ {
+ Record[] partenr_list = Cache.OpenERPOutlookPlugin.SearchRecord(null,"res.partner");
+
+ foreach (Record partner in partenr_list)
+ {
+ lstbox_select_partner.Items.Add(partner.name);
+ }
+ }
+ }
+}
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.resx b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.resx
new file mode 100644
index 00000000000..17f1d222db0
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPlugin/frm_select_partner.resx
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="btn_select_partner_search.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ R0lGODlhEAAQAPYAAPb29v7+/v39/fr6+t///+P//+T//9zc3IKDkfP//8X3//Pz99P//5Zxf5qqwZiZ
+ nc98R5K03KS83aG60bbr/8f5/7C61fX09OXm5rzx/////qzI6sr2/7TO6vr//7vt/9n//7rt/+Xl5LLm
+ //2rRKihla683sx6SXp/iuzs9P/+/aC4xd/w+LHl/4+ewuTk5Ih1jpKhucjh7cHAwaGepcfH2bHe+2ps
+ ft7f4Pz8/Ih1jZmYot7d3PPy+Nb//9T//4WJm97f38v5/8LE3cD0/8v9///pybnb8fjgv9z///////v7
+ +/urRnt7hLnk/9Tk86zg/5mZpn+Ajbvm//j+/7nt///aof/58f/589v//5m75dH//8P3/8L3/2trg8z8
+ /4uiwadtSIGMrMaAXZ6hvqKhouz///ysRbvr//39/v/XnZaotvPOmbSwtpl0hv2mOcjO5bu7vry8yd7e
+ 7K+tsLC83ZiuzqyEacrW6P///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAHkALAAAAAAQABAAAAejgHmC
+ g4SFhoILFnYSJjUAh3lpQyw+RB9aZBeGAXBPVE5QI1wRcoY9HRxTIRVCXwoOA4VzRxQtRVkFBCArj4Qp
+ GxlVPwYJZgRrvYMBdTZdDAUeSjJAsYNXSHEuaFtJBnheM4QaaiR3TWJgEzE3ZTmDKkZnEA07PG00dAdL
+ g1hWTGMwpGDIE0CAgEJs3pzQgeIFJEElwrhBIOKhIBwPogSxyNFQIAA7
+</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAEAICAAAAEAGACoDAAAFgAAACgAAAAgAAAAQAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAxO+0UHsorMtUkJMo6LOY5JN81HsdDLM4/JMdINcBISKJCSpA+RpM9SJo6RJsxPJg2PJ84PKU4OadA
+ Pbs7L8lANd8qJNUiJtIZKModMNcUJOIUHu0iJvsaIOUaJsQuQMkXHNcvNOciJsstLNAvItJSQekqG6xQ
+ QchYSNKOg/3Cw//Q2f/P1f/S2P/T3P/R2P+iqP+7vv9vct8zM6k0Lbg6NcwcGroyN9oiLs4eLdccKOQg
+ KvMkKfYaIuEbJsgnOMkdGuUeHd4+PeseHLxAONI9N7p4edSzt//W1v/k4//h6P/f5v/Dw/+2tf+1t/+0
+ tv/Kzv/Y3f/S1f/U2P/Fyf8iKJlOVNMtM8IuM9UjKtgdJd0aI98bJN8nMOUqNN8dKc0pIPMnIOUvK9g5
+ N8w4NLWGiObR4P/k9//k7//K0/+JkeRWW8I5N78uKcAvLL4wMrxCR8hTWNKOlP/a4v/Z4//W4v+Ai+cx
+ OaooKr4mJ88sLuAjKNsWIMwoMt4yOusZI9QnHO42Le8lIME+Pb2Dg+fk7//o///b9/ff8v+OnN5ET6sx
+ NrE3MdIyKdcvKsszNscxOL0uN7YkKqdvduPc6f/Y6v/f8P/F0v9PUMg1MMc0MNY4OOQlK9AdJs4iLN4c
+ J90sIucvKdovL7lcX8fm6v/q9v/m/vbl//yQocxRXa8jLp4sML83MeIsJNwnJsoxNckjLrRATNBARNIo
+ K6srN4/c7f/a7f/k8//Kzf9pZN0nHrQrJskyNNgkLNMbJdYgK+AxK9wxL8k+RK/N1f/s8v/r9v/Y6uvq
+ +/9UW6o2ObMlKbgpK88vKuMqJt0sL801PcwwP8QaJ7MjIsY1MdBDRL54gtDm9//Y6fzq8//AwP9jWdU0
+ KMAxLdIwMt4hLtgcLdc3NdsfIauFkODo9P/x+v/p8vzx/f+uteY7OKw2L8wtLtYpK90nKeIpKt4qLs0l
+ Lr4iML4yPdUrJ94xKN0yLMc3OKavuuzt+//c5vfv9P/Z0/9rYN8tJsMoKNIjL9UYK9A9Od4hJKS9y//n
+ 9//0///x9/z09v+dl+g8LsoyI+InJ98iKd4iKN8kKtspLdIpMM0qNdMcI8wpJucqH+c8L+kzKL5MTaXs
+ 8//0///w+v/x8f++uf8vKLM0M9YlL9MkNNoxK9Y2OLrc7P/t///4//f7///28v+EeNw8JtkuHu4kJuMe
+ Kd4gKd4iKdwpKdkpKdknK90gJNssKu4iGeUuH+wvIdM9MrCmpOr0/f/r9uz2/P/q7f+XlP8zMcYhKMsf
+ LNYmHtc4OsTk8v/x//73/+39//v28P99b9U7JdssHu4gKOAcK9seKd4iJ+ApJOUrIucmIegjIuYwMu8b
+ GtwiGOczJOowHsVYS7709P/5//r6//Xy/P/d4P87PbkiJMghJdspI+AvML7b6f/x//79//L+/vj68v+N
+ f+Q7J9crIeoeKtwZLtccKtwiJ+IrIeksH+0oHu0iH+YuNOsdItsdGuU3LPgzHt42I7XY0P/6/f/2/+np
+ +ejq8/92fN8rLcgqKeMsKuEyNcDc6f/z//////j///779P+Ngds7LM4rJeIcLdcXMNQbLNsiJ+IsIucu
+ IOouJOwhHt8lL+AfLNwaIuEtLPI0Juo1I8SajOr49f/1/+z4//Dt+//J0v8vLsAvKt8gJc44QMPj7//w
+ +f/8/Pz//P/88v9zabw7L8cpKdscL9QXMNIbLNsiKN8sJeIwJOIzK+QjJdcfK9cdLtsWJt0eJ+MuJ+Y5
+ K9B8bNzv5v/z+fT6//Ln9/3k7/8wMrYsJtEcK70yQbXj8P/w9//79P//+P/78P98csU5McQnK9gbL9QX
+ MNQbLNkkK9kuKtcyK9IxL88qL9EcKNQYKtsXK94YKNknK9g1L8pjVM3m2f/6+P/6//7j8fff7P9fYdcs
+ KsMsN88tOLHb5//z+//////89/n79f+kn+o5NL8nLNUbLtUVL9cbLNsiKtssKtgyK9QsJ8oyM9ceJtcV
+ JdwYLuQWLd0hLtYrL8MxK6LWzv/49//w9fbz///q9v+lqP83NrYjHNk7Oszk7f/d7ez9/+T8/9/2+v/e
+ 4P8wMKwyN9kLHMcgNukZKeAdJuIrJu0uIek1I+IyJOAlJeMbJuYQKOYQKuIXLtgkNcYmL5fm7v/z/P/1
+ /vv2///x9//Y1v9FQKMoHuM3M8+epO/x/f/7/+n9/+T4///f4f8xMqQxOM8WJNAZKt8aKuEaJeEhIOYw
+ Je01IeYzI+InJ98bKd8QKuIOKuIVKt8iMc4wOK/Axv/v9v/4/v/4/v/w8//o5/9APY0pKtg4Os5dX77t
+ 8P/19f/7+v/69v/t6P9OTrgxNsEoMtYWJdUfLt4bKNgdJNEwMNwzJ9kyKtUlMc0bM8sSMdQSLdwZJecl
+ JeM3Lc2Shvzq4//49v/4+v/q7v/s7f8/P40iKtEzOc5BQbXi3v/27v/48P/58v/z7v+OjesuMLQuMtcf
+ KN0iKuEcKNQkMckrMcowKtcsK9UkNcYbOMIVNskXMNQgJeUsJOM6Kc6Zhv/u5P/69//2+//t8//h4v9B
+ P5gbJdYiKcw3N8GLhOz06//79P/z8f/09f/Pzf80MK0qItMsJu8hIOYgJtcwQssjMLwrJ94pJuAiMssc
+ OcAbOMIeNccnLNUzLNBAMrXLvv/4+f/6//vy/frv+P+mpvpAOqkhL+YXIc0xMspEPrXZ0v/49P/6/f/2
+ /P/t7v9cWMIsIcswJO4kGugkJt82RNMiMb0nKtklKN4gMsseNsQgNcYlMsouLNI7L8dBM6Ps5f/5//76
+ //Hu/Pjs9f90btlIPckhMe8YI9gsLtAyLq+PjNzh4f/4///2//zv9/+lp/VFO80yI98tIe0tJustMNgo
+ M8skMssiM8ogNMkiMsskLdUrKNs1JtxALcpNPajy7f/y+/j4//Tt+f/o7f9OQspGM+AUKd8bKdslKNE4
+ NcY/OqOsqefz+f/0///v/P/n8f9hYsozLcI6L+MzK+ohHNUtMd4iMc4gMs0iLtQkKdwpIucwIec7JN5F
+ LsZrXbv08v/0//3z//7n8v/P0P8tH7swG9sYMdUaLNMpLNs0LdQ6LMBbTsGxrfTv9f/s/P/o/P/T5f89
+ S54jKKkwLNI4L/EpIukbINsmLOksJ/gmGvYrFPg6IPZEK99FMrevqPPw9f/k8Prt+//m7v97eOUxI8g0
+ IeIaL9EcLNMnKuAwKOEwINI8K8htYdeene3T3//k/P/J5PnK4/82Rp8uM7ciHcwnH+IsLe0aGuIdFO0x
+ H/4zHPQqFNE9L71jXL3s8f/e7P/q+//m9P+DiN0xLqw3LNY8LewiLdslLN8pKuYvJ+owH+UwHNk5Kc5F
+ Pb+Ume7N3v/d+f/R8P/G3/9FV7A5QcQwM9IqLdwjJd4xKuk8MuosJMUwLqp9hdLa6v/m/f/b9f/j9v+z
+ v/9ARLQrKLk5MdwfFc0oKuMoKeUoJeYoIuUsIusyJe0zJeEvJspBQMBMVLG1y//a9P/Y8f/C2f+Ek/o9
+ SsRATdEyPsYoL7oyN7hXW8uNmOrF2P/h+P/X8v/d9f+KmuYgKpU4OcVEQeQXEsE8N+wqIOksI+gnIuEg
+ H9kiI98tLOgvKuksJ94kIMU8PcsvN6hUYL6Jm+7W6P/E1f/T6P/F5f/R9P/U8P/U6//U5v/d7v/d7//Y
+ 6f+zw/9DULg1PMEtL8oSEL0uKuE6NO0nItsxIugyJ+kvKuMlKdshKNsgKd4hJeIhI+AzMegkIcosK8Ex
+ Nbk9Q7ouNqdmceFHV7e00P+du+yNpd+brO+uuv+epv9kac8rMKM9QsYeJbgoLc8yNuMsLeMoJ+EiHtsl
+ H9w4Ktw1K9wxL90rMd4hL9wZKdoXJdscJt4fI9k8POwnJM41MNM5NNMiGro1Lc5GQNswLbkuKrE2MLdE
+ O8hLPNM/L9A0JM8sIdEjIc8wNd4pNNYcKcsVHsUgJdQ0M+0uKeg1KNAuJs0oJ9EnLtkdLtkWKdgWKt0i
+ MOYeJ9wZGs4zLuMwJdktIdVFNuwvH9gxIdo8KdxBLd1AK9s9Jdc6H9o7IOI5H+40IO4lH+I3O/EQH8IZ
+ Lcg2ROQeJ88eHtYoI+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPluginSetup/OpenERPOutlookPluginSetup.vdproj b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPluginSetup/OpenERPOutlookPluginSetup.vdproj
new file mode 100644
index 00000000000..2ecd6c494cf
--- /dev/null
+++ b/addons/outlook/static/openerp-outlook-plugin/OpenERPOutlookPluginSetup/OpenERPOutlookPluginSetup.vdproj
@@ -0,0 +1,988 @@
+"DeployProject"
+{
+"VSVersion" = "3:800"
+"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
+"IsWebType" = "8:FALSE"
+"ProjectName" = "8:OpenERPOutlookPluginSetup"
+"LanguageId" = "3:1033"
+"CodePage" = "3:1252"
+"UILanguageId" = "3:1033"
+"SccProjectName" = "8:"
+"SccLocalPath" = "8:"
+"SccAuxPath" = "8:"
+"SccProvider" = "8:"
+ "Hierarchy"
+ {
+ "Entry"
+ {
+ "MsmKey" = "8:_6AC61E6DAA74BD8A62A56739851214E7"
+ "OwnerKey" = "8:_D219AD7AB7924D44B7E2945648C76CF7"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_7588D46F3D97B108090A11D1415DE5EC"
+ "OwnerKey" = "8:_D219AD7AB7924D44B7E2945648C76CF7"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_9BA1227571F16B6ABCB102A098A4B13F"
+ "OwnerKey" = "8:_6AC61E6DAA74BD8A62A56739851214E7"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_9BA1227571F16B6ABCB102A098A4B13F"
+ "OwnerKey" = "8:_D219AD7AB7924D44B7E2945648C76CF7"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_B66CD6B8E834B37C2AFA64398688811D"
+ "OwnerKey" = "8:_D219AD7AB7924D44B7E2945648C76CF7"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_B66CD6B8E834B37C2AFA64398688811D"
+ "OwnerKey" = "8:_7588D46F3D97B108090A11D1415DE5EC"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_D219AD7AB7924D44B7E2945648C76CF7"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_UNDEFINED"
+ "OwnerKey" = "8:_7588D46F3D97B108090A11D1415DE5EC"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_UNDEFINED"
+ "OwnerKey" = "8:_9BA1227571F16B6ABCB102A098A4B13F"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_UNDEFINED"
+ "OwnerKey" = "8:_6AC61E6DAA74BD8A62A56739851214E7"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_UNDEFINED"
+ "OwnerKey" = "8:_B66CD6B8E834B37C2AFA64398688811D"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_UNDEFINED"
+ "OwnerKey" = "8:_D219AD7AB7924D44B7E2945648C76CF7"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ }
+ "Configurations"
+ {
+ "Debug"
+ {
+ "DisplayName" = "8:Debug"
+ "IsDebugOnly" = "11:TRUE"
+ "IsReleaseOnly" = "11:FALSE"
+ "OutputFilename" = "8:Debug\\OpenERPOutlookPluginSetup.msi"
+ "PackageFilesAs" = "3:2"
+ "PackageFileSize" = "3:-2147483648"
+ "CabType" = "3:1"
+ "Compression" = "3:2"
+ "SignOutput" = "11:FALSE"
+ "CertificateFile" = "8:"
+ "PrivateKeyFile" = "8:"
+ "TimeStampServer" = "8:"
+ "InstallerBootstrapper" = "3:2"
+ "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
+ {
+ "Enabled" = "11:TRUE"
+ "PromptEnabled" = "11:TRUE"
+ "PrerequisitesLocation" = "2:1"
+ "Url" = "8:"
+ "ComponentsUrl" = "8:"
+ "Items"
+ {
+ "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5"
+ {
+ "Name" = "8:.NET Framework 3.5"
+ "ProductCode" = "8:Microsoft.Net.Framework.3.5"
+ }
+ "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
+ {
+ "Name" = "8:Windows Installer 3.1"
+ "ProductCode" = "8:Microsoft.Windows.Installer.3.1"
+ }
+ }
+ }
+ }
+ "Release"
+ {
+ "DisplayName" = "8:Release"
+ "IsDebugOnly" = "11:FALSE"
+ "IsReleaseOnly" = "11:TRUE"
+ "OutputFilename" = "8:Release\\OpenERPOutlookPluginSetup.msi"
+ "PackageFilesAs" = "3:2"
+ "PackageFileSize" = "3:-2147483648"
+ "CabType" = "3:1"
+ "Compression" = "3:2"
+ "SignOutput" = "11:FALSE"
+ "CertificateFile" = "8:"
+ "PrivateKeyFile" = "8:"
+ "TimeStampServer" = "8:"
+ "InstallerBootstrapper" = "3:2"
+ "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
+ {
+ "Enabled" = "11:TRUE"
+ "PromptEnabled" = "11:TRUE"
+ "PrerequisitesLocation" = "2:1"
+ "Url" = "8:"
+ "ComponentsUrl" = "8:"
+ "Items"
+ {
+ "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5"
+ {
+ "Name" = "8:.NET Framework 3.5"
+ "ProductCode" = "8:Microsoft.Net.Framework.3.5"
+ }
+ "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
+ {
+ "Name" = "8:Windows Installer 3.1"
+ "ProductCode" = "8:Microsoft.Windows.Installer.3.1"
+ }
+ }
+ }
+ }
+ }
+ "Deployable"
+ {
+ "CustomAction"
+ {
+ }
+ "DefaultFeature"
+ {
+ "Name" = "8:DefaultFeature"
+ "Title" = "8:"
+ "Description" = "8:"
+ }
+ "ExternalPersistence"
+ {
+ "LaunchCondition"
+ {
+ "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_BFDD92B2291E48D1A8B52DFCA8631CD4"
+ {
+ "Name" = "8:.NET Framework"
+ "Message" = "8:[VSDNETMSG]"
+ "Version" = "8:3.5.21022"
+ "AllowLaterVersions" = "11:FALSE"
+ "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=76617"
+ }
+ }
+ }
+ "File"
+ {
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6AC61E6DAA74BD8A62A56739851214E7"
+ {
+ "AssemblyRegister" = "3:1"
+ "AssemblyIsInGAC" = "11:TRUE"
+ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Interop.Outlook, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
+ "ScatterAssemblies"
+ {
+ "_6AC61E6DAA74BD8A62A56739851214E7"
+ {
+ "Name" = "8:Microsoft.Office.Interop.Outlook.dll"
+ "Attributes" = "3:512"
+ }
+ }
+ "SourcePath" = "8:Microsoft.Office.Interop.Outlook.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_F8355F1930014BA7AC04125197F9FCF8"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7588D46F3D97B108090A11D1415DE5EC"
+ {
+ "AssemblyRegister" = "3:1"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:OpenERPClient, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"
+ "ScatterAssemblies"
+ {
+ "_7588D46F3D97B108090A11D1415DE5EC"
+ {
+ "Name" = "8:OpenERPClient.dll"
+ "Attributes" = "3:512"
+ }
+ }
+ "SourcePath" = "8:OpenERPClient.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_F8355F1930014BA7AC04125197F9FCF8"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9BA1227571F16B6ABCB102A098A4B13F"
+ {
+ "AssemblyRegister" = "3:1"
+ "AssemblyIsInGAC" = "11:TRUE"
+ "AssemblyAsmDisplayName" = "8:office, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
+ "ScatterAssemblies"
+ {
+ "_9BA1227571F16B6ABCB102A098A4B13F"
+ {
+ "Name" = "8:office.dll"
+ "Attributes" = "3:512"
+ }
+ }
+ "SourcePath" = "8:office.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_F8355F1930014BA7AC04125197F9FCF8"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B66CD6B8E834B37C2AFA64398688811D"
+ {
+ "AssemblyRegister" = "3:1"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:CookComputing.XmlRpcV2, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL"
+ "ScatterAssemblies"
+ {
+ "_B66CD6B8E834B37C2AFA64398688811D"
+ {
+ "Name" = "8:CookComputing.XmlRpcV2.dll"
+ "Attributes" = "3:512"
+ }
+ }
+ "SourcePath" = "8:CookComputing.XmlRpcV2.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_F8355F1930014BA7AC04125197F9FCF8"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:TRUE"
+ "IsolateTo" = "8:"
+ }
+ }
+ "FileType"
+ {
+ }
+ "Folder"
+ {
+ "{1525181F-901A-416C-8A58-119130FE478E}:_0AB219A94AD9480C8B328A36290F8500"
+ {
+ "Name" = "8:#1916"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:DesktopFolder"
+ "Folders"
+ {
+ }
+ }
+ "{1525181F-901A-416C-8A58-119130FE478E}:_BE76AEAED62647E882A7E7E462208B6C"
+ {
+ "Name" = "8:#1919"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:ProgramMenuFolder"
+ "Folders"
+ {
+ }
+ }
+ "{3C67513D-01DD-4637-8A68-80971EB9504F}:_F8355F1930014BA7AC04125197F9FCF8"
+ {
+ "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]"
+ "Name" = "8:#1925"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:TARGETDIR"
+ "Folders"
+ {
+ }
+ }
+ }
+ "LaunchCondition"
+ {
+ }
+ "Locator"
+ {
+ }
+ "MsiBootstrapper"
+ {
+ "LangId" = "3:1033"
+ "RequiresElevation" = "11:FALSE"
+ }
+ "Product"
+ {
+ "Name" = "8:Microsoft Visual Studio"
+ "ProductName" = "8:OpenERPOutlookPluginSetup"
+ "ProductCode" = "8:{DB110066-1D22-421E-AE6E-008EFC7D9BA3}"
+ "PackageCode" = "8:{01C16D46-10C4-4867-9DA7-158EA0851BA2}"
+ "UpgradeCode" = "8:{D423841B-05E6-4B05-93A7-3AF0D3F87416}"
+ "RestartWWWService" = "11:FALSE"
+ "RemovePreviousVersions" = "11:FALSE"
+ "DetectNewerInstalledVersion" = "11:TRUE"
+ "InstallAllUsers" = "11:FALSE"
+ "ProductVersion" = "8:1.0.0"
+ "Manufacturer" = "8:OpenERP"
+ "ARPHELPTELEPHONE" = "8:"
+ "ARPHELPLINK" = "8:"
+ "Title" = "8:OpenERPOutlookPluginSetup"
+ "Subject" = "8:"
+ "ARPCONTACT" = "8:OpenERP"
+ "Keywords" = "8:"
+ "ARPCOMMENTS" = "8:"
+ "ARPURLINFOABOUT" = "8:"
+ "ARPPRODUCTICON" = "8:"
+ "ARPIconIndex" = "3:0"
+ "SearchPath" = "8:"
+ "UseSystemSearchPath" = "11:TRUE"
+ "TargetPlatform" = "3:0"
+ "PreBuildEvent" = "8:"
+ "PostBuildEvent" = "8:"
+ "RunPostBuildEvent" = "3:0"
+ }
+ "Registry"
+ {
+ "HKLM"
+ {
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_85BD67F9F053414A885B4BD155C3503A"
+ {
+ "Name" = "8:Software"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EBCD33B942DF4A239ACC7022DD3FEAA6"
+ {
+ "Name" = "8:Microsoft"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:TRUE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_5B7FCC91FAAA4F64BB7C83492A6F2AF0"
+ {
+ "Name" = "8:Office"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:TRUE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1064D50BF01A4D51B868E982FC220247"
+ {
+ "Name" = "8:Outlook"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:TRUE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_137204EE56DC497088E348674D3D8B7F"
+ {
+ "Name" = "8:AddIns"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:TRUE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D274EDB843AA45D79536215DBFA689AE"
+ {
+ "Name" = "8:OpenERPOutlookPlugin.Connect"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:TRUE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_7DAB0B878C2B4AD6961544515CF9F67F"
+ {
+ "Name" = "8:LoadBehavior"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:3"
+ "Value" = "3:3"
+ }
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_E727FA9F9AE4473B86EC5F2749DA6E00"
+ {
+ "Name" = "8:Description"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:OpenERP Outlook Plugin"
+ }
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_F8A784A42EA24C908396CFE4B36C9F21"
+ {
+ "Name" = "8:FriendlyName"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:OpenERP Outlook Plugin"
+ }
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ }
+ "HKCU"
+ {
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_65C75F62BA5342D88380AD586D8CB4A2"
+ {
+ "Name" = "8:Software"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ }
+ "HKCR"
+ {
+ "Keys"
+ {
+ }
+ }
+ "HKU"
+ {
+ "Keys"
+ {
+ }
+ }
+ "HKPU"
+ {
+ "Keys"
+ {
+ }
+ }
+ }
+ "Sequences"
+ {
+ }
+ "Shortcut"
+ {
+ }
+ "UserInterface"
+ {
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_05A1A869F1C748A0AA4687CF7DF17408"
+ {
+ "Name" = "8:#1902"
+ "Sequence" = "3:1"
+ "Attributes" = "3:3"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_5F37EBB554844174BFF8F45DB2607A7D"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Finished"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "UpdateText"
+ {
+ "Name" = "8:UpdateText"
+ "DisplayName" = "8:#1058"
+ "Description" = "8:#1158"
+ "Type" = "3:15"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1258"
+ "DefaultValue" = "8:#1258"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_2237F99549C04193ADB5655D7E6FD5B4"
+ {
+ "Name" = "8:#1901"
+ "Sequence" = "3:1"
+ "Attributes" = "3:2"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8A6734448CF54465BD37D45C0CFF5000"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Progress"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "ShowProgress"
+ {
+ "Name" = "8:ShowProgress"
+ "DisplayName" = "8:#1009"
+ "Description" = "8:#1109"
+ "Type" = "3:5"
+ "ContextData" = "8:1;True=1;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:1"
+ "DefaultValue" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_4B62B60C5A10485EBB000ABEF6F8B0E1"
+ {
+ "UseDynamicProperties" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_7355B2D19A0B4B13A75AFF1D63E8FA4E"
+ {
+ "Name" = "8:#1900"
+ "Sequence" = "3:1"
+ "Attributes" = "3:1"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_77890D6A5244491A93629AEBF7575094"
+ {
+ "Sequence" = "3:300"
+ "DisplayName" = "8:Confirm Installation"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8B76EAAF28A844BBA54D063D07BA2FF8"
+ {
+ "Sequence" = "3:200"
+ "DisplayName" = "8:Installation Folder"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "InstallAllUsersVisible"
+ {
+ "Name" = "8:InstallAllUsersVisible"
+ "DisplayName" = "8:#1059"
+ "Description" = "8:#1159"
+ "Type" = "3:5"
+ "ContextData" = "8:1;True=1;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:1"
+ "DefaultValue" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A16110FB2319496FA65112471161C0FB"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Welcome"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "CopyrightWarning"
+ {
+ "Name" = "8:CopyrightWarning"
+ "DisplayName" = "8:#1002"
+ "Description" = "8:#1102"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1202"
+ "DefaultValue" = "8:#1202"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "Welcome"
+ {
+ "Name" = "8:Welcome"
+ "DisplayName" = "8:#1003"
+ "Description" = "8:#1103"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1203"
+ "DefaultValue" = "8:#1203"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_8BDB1DC6B45345D6A00F54A75DEF1A6B"
+ {
+ "Name" = "8:#1900"
+ "Sequence" = "3:2"
+ "Attributes" = "3:1"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_51562FA73CD74420B54B17BDC66F6983"
+ {
+ "Sequence" = "3:200"
+ "DisplayName" = "8:Installation Folder"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6E30DC2B3F284C148AE722C0E78228F8"
+ {
+ "Sequence" = "3:300"
+ "DisplayName" = "8:Confirm Installation"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A66D47C411F0411780817D51CF722A22"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Welcome"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "CopyrightWarning"
+ {
+ "Name" = "8:CopyrightWarning"
+ "DisplayName" = "8:#1002"
+ "Description" = "8:#1102"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1202"
+ "DefaultValue" = "8:#1202"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "Welcome"
+ {
+ "Name" = "8:Welcome"
+ "DisplayName" = "8:#1003"
+ "Description" = "8:#1103"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1203"
+ "DefaultValue" = "8:#1203"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_A6A71D2398304B649269B7E50D8A0EC4"
+ {
+ "UseDynamicProperties" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_B854718158D047B6B2E6FE698112EC93"
+ {
+ "Name" = "8:#1901"
+ "Sequence" = "3:2"
+ "Attributes" = "3:2"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_BD7FC1FCE04048D986EC3E4F21D525C6"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Progress"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "ShowProgress"
+ {
+ "Name" = "8:ShowProgress"
+ "DisplayName" = "8:#1009"
+ "Description" = "8:#1109"
+ "Type" = "3:5"
+ "ContextData" = "8:1;True=1;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:1"
+ "DefaultValue" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_C3C153DE1CA647C6B2075A0C59ABBBA6"
+ {
+ "Name" = "8:#1902"
+ "Sequence" = "3:2"
+ "Attributes" = "3:3"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_5E814962060F4BDBAEF5C6BD43D6DE3E"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Finished"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ }
+ "MergeModule"
+ {
+ }
+ "ProjectOutput"
+ {
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D219AD7AB7924D44B7E2945648C76CF7"
+ {
+ "SourcePath" = "8:..\\OpenERPOutlookPlugin\\obj\\Debug\\OpenERPOutlookPlugin.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_F8355F1930014BA7AC04125197F9FCF8"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ "ProjectOutputGroupRegister" = "3:2"
+ "OutputConfiguration" = "8:"
+ "OutputGroupCanonicalName" = "8:Built"
+ "OutputProjectGuid" = "8:{F4B2219B-F235-400F-81B4-92F15250BBA4}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ }
+ }
+}
diff --git a/addons/pad/__openerp__.py b/addons/pad/__openerp__.py
index 9630e74c27a..14ee68334a8 100644
--- a/addons/pad/__openerp__.py
+++ b/addons/pad/__openerp__.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
{
- 'name': 'Collaborative Note Pad',
+ 'name': 'Collaborative Pads',
'version': '2.0',
- 'category': 'Hidden',
+ "category": "Project Management",
'complexity': "easy",
'description': """
Adds enhanced support for (Ether)Pad attachments in the web client.
diff --git a/addons/pad_project/__openerp__.py b/addons/pad_project/__openerp__.py
index a9ec6282ab7..be7cb82af2e 100644
--- a/addons/pad_project/__openerp__.py
+++ b/addons/pad_project/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Project PAD',
+ 'name': 'Project Specs as PADs',
'version': '1.0',
- 'category': 'Hidden/Link',
+ "category": "Project Management",
'complexity': "easy",
'description': """
This module adds a PAD in all project kanban views
diff --git a/addons/plugin/__openerp__.py b/addons/plugin/__openerp__.py
index b598690cbf2..2b05305c5ce 100644
--- a/addons/plugin/__openerp__.py
+++ b/addons/plugin/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Common interface for CRM plugin (Thunderbird and Outlook)',
+ 'name': 'CRM Plugins',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
The common interface for pugin.
diff --git a/addons/plugin/plugin_handler.py b/addons/plugin/plugin_handler.py
index c4859771e35..fd5ca7da6c6 100644
--- a/addons/plugin/plugin_handler.py
+++ b/addons/plugin/plugin_handler.py
@@ -35,28 +35,27 @@ class plugin_handler(osv.osv_memory):
@param email: email is a standard RFC2822 email message
@return Dictionary which contain id and the model name of the document linked with the mail
if no document is found the id = 0
- (model_name, res_id, name_get, url)
+ (model_name, res_id, url, name_get)
"""
mail_message_obj = self.pool.get('mail.message')
model = False
res_id = 0
url = False
name = ""
-
msg = mail_message_obj.parse_message(email)
references = [msg.get('message-id')]
refs = msg.get('references',False)
if refs:
references.extend(refs.split())
-
msg_ids = mail_message_obj.search(cr, uid, [('message_id','in',references)])
if msg_ids:
msg = mail_message_obj.browse(cr, uid, msg_ids[0])
res_id = msg.res_id
model = msg.model
url = self._make_url(cr, uid, res_id, model)
- name = self.pool.get(model).name_get(cr, uid, res_id)[1]
- return (model, res_id, url, name)
+ name = self.pool.get(model).name_get(cr, uid, res_id)[0][1]
+ return (model,res_id, url,name)
+
def document_type(self, cr, uid, context=None):
"""
@@ -90,11 +89,8 @@ class plugin_handler(osv.osv_memory):
"""
mail_message = self.pool.get('mail.message')
model_obj = self.pool.get(model)
-
msg = mail_message.parse_message(email)
message_id = msg.get('message-id')
-
-
mail_ids = mail_message.search(cr, uid, [('message_id','=',message_id),('res_id','=',res_id),('model','=',model)])
if message_id and mail_ids :
mail_record = mail_message.browse(cr, uid, mail_ids)[0]
@@ -130,8 +126,7 @@ class plugin_handler(osv.osv_memory):
return ('res.partner', partner_id, url)
# Specific to outlook rfc822 is not available so we split in arguments headerd,body,attachemnts
- def push_message_outlook(self, cr, uid, model, headers, body_text, body_html, attachments):
- pass
+ def push_message_outlook(self, cr, uid, model, headers,res_id=0 ,body_text=False, body_html=False, attachments=False):
# ----------------------------------------
# solution 1
# construct a fake rfc822 from the separated arguement
@@ -142,12 +137,23 @@ class plugin_handler(osv.osv_memory):
# solution 2
# use self.pushmessage only with header and body
# add attachemnt yourself after
-
- #ir_attachment_obj = self.pool.get('ir.attachment')
- #attachment_ids = ir_attachment_obj.search(cr, uid, [('res_model', '=', data.get('res_model')), ('res_id', '=', data.get('res_id')), ('datas_fname', '=', data.get('datas_fname'))])
- #if attachment_ids:
- # return attachment_ids[0]
- #else:
- # vals = {"res_model": data.get('res_model'), "res_id": data.get('res_id'), "name": data.get('name'), "datas" : data.get('datas'), "datas_fname" : data.get('datas_fname')}
- # return ir_attachment_obj.create(cr, uid, vals)
- #return (model, res_id, url, notify)
+ mail_message = self.pool.get('mail.message')
+ ir_attachment_obj = self.pool.get('ir.attachment')
+ attach_ids = []
+ msg = mail_message.parse_message(headers)
+ message_id = msg.get('message-id')
+ push_mail = self.push_message(cr, uid, model, headers, res_id)
+ res_id = push_mail[1]
+ model = push_mail[0]
+ for name in attachments.keys():
+ attachment_ids = ir_attachment_obj.search(cr, uid, [('res_model', '=', model), ('res_id', '=', res_id), ('datas_fname', '=', name)])
+ if attachment_ids:
+ attach_ids.append( attachment_ids[0])
+ else:
+ vals = {"res_model": model, "res_id": res_id, "name": name, "datas" :attachments[name], "datas_fname" : name}
+ attach_ids.append(ir_attachment_obj.create(cr, uid, vals))
+ mail_ids = mail_message.search(cr, uid, [('message_id','=',message_id),('res_id','=',res_id),('model','=',model)])
+ if mail_ids:
+ ids = mail_message.write(cr, uid,mail_ids[0],{ 'attachment_ids': [(6, 0, attach_ids)],'body_text':body_text,'body_html':body_html})
+ url = self._make_url(cr, uid, res_id, model)
+ return (model, res_id, url)
diff --git a/addons/point_of_sale/__openerp__.py b/addons/point_of_sale/__openerp__.py
index 4daeabb9129..e63acfb7881 100644
--- a/addons/point_of_sale/__openerp__.py
+++ b/addons/point_of_sale/__openerp__.py
@@ -52,7 +52,6 @@ Main features :
'wizard/pos_close_statement.xml',
'wizard/pos_box_entries.xml',
'wizard/pos_payment_report_user_view.xml',
- 'wizard/pos_payment_report_date_view.xml',
'wizard/pos_box_out.xml',
'wizard/pos_sales_user.xml',
'wizard/pos_receipt_view.xml',
@@ -79,6 +78,7 @@ Main features :
'test/point_of_sale_report.yml'
],
'installable': True,
+ 'application': True,
'certificate' : '001156338024966477869',
# Web client
'js': ['static/lib/backbone/backbone-0.5.3.js', 'static/src/js/pos.js'],
diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py
index b19405bd43f..74f6fb54368 100644
--- a/addons/point_of_sale/point_of_sale.py
+++ b/addons/point_of_sale/point_of_sale.py
@@ -122,10 +122,10 @@ class pos_order(osv.osv):
'partner_id': fields.many2one('res.partner', 'Customer', change_default=True, select=1, states={'draft': [('readonly', False)], 'paid': [('readonly', False)]}),
'state': fields.selection([('draft', 'New'),
- ('paid', 'Done'),
+ ('cancel', 'Cancelled'),
+ ('paid', 'Paid'),
('done', 'Posted'),
- ('invoiced', 'Invoiced'),
- ('cancel', 'Cancelled')],
+ ('invoiced', 'Invoiced')],
'State', readonly=True),
'invoice_id': fields.many2one('account.invoice', 'Invoice'),
@@ -381,11 +381,12 @@ class pos_order(osv.osv):
inv_ref.button_reset_taxes(cr, uid, [inv_id], context=context)
if not inv_ids: return {}
+
mod_obj = self.pool.get('ir.model.data')
res = mod_obj.get_object_reference(cr, uid, 'account', 'invoice_form')
res_id = res and res[1] or False
return {
- 'name': _('PoS Invoices'),
+ 'name': _('Customer Invoice'),
'view_type': 'form',
'view_mode': 'form',
'view_id': res_id,
@@ -691,10 +692,12 @@ pos_category()
class product_product(osv.osv):
_inherit = 'product.product'
_columns = {
- 'income_pdt': fields.boolean('Product for Input'),
- 'expense_pdt': fields.boolean('Product for Output'),
- 'img': fields.binary('Pos Image, must be 50x50'),
- 'pos_categ_id': fields.many2one('pos.category','POS Category', change_default=True, domain="[('type','=','normal')]" ,help="Select a pos category for the current product")
+ 'income_pdt': fields.boolean('PoS Cash Input', help="This is a product you can use to put cash into a statement for the point of sale backend."),
+ 'expense_pdt': fields.boolean('PoS Cash Output', help="This is a product you can use to take cash from a statement for the point of sale backend, exemple: money lost, transfer to bank, etc."),
+ 'img': fields.binary('Product Image, must be 50x50', help="Use an image size of 50x50."),
+ 'pos_categ_id': fields.many2one('pos.category','PoS Category',
+ domain="[('type','=','normal')]",
+ help="If you want to sell this product through the point of sale, select the category it belongs to.")
}
product_product()
diff --git a/addons/point_of_sale/point_of_sale_demo.xml b/addons/point_of_sale/point_of_sale_demo.xml
index 5e9c00ace54..95270721b8e 100644
--- a/addons/point_of_sale/point_of_sale_demo.xml
+++ b/addons/point_of_sale/point_of_sale_demo.xml
@@ -66,7 +66,6 @@
</record>
<record id="pos_order_pos11" model="pos.order">
<field name="sale_journal" ref="account.sales_journal"/>
- <field eval="0" name="journal_entry"/>
<field name="shop_id" ref="sale.shop"/>
<field name="date_order" eval="time.strftime('%Y-%m-%d %H:%M:%S')"/>
<field name="partner_id" ref="base.res_partner_agrolait"/>
@@ -76,7 +75,6 @@
<field name="state">paid</field>
<field name="pricelist_id" ref="product.list0"/>
<field name="name">POS/019</field>
- <field name="price_type">tax_excluded</field>
<field model="account.invoice" name="invoice_id" search="[('name', '=', u'Invoice from POS: POS/019')]"/>
<field model="stock.picking" name="picking_id" search="[('name', '=', u'OUT/00019')]"/>
</record>
@@ -106,7 +104,6 @@
<record id="stock_picking_out0" model="stock.picking">
<field name="origin">POS/019</field>
- <field model="pos.order" name="pos_order" search="[('name', '=', u'POS/019')]"/>
<field name="date_done" eval="time.strftime('%Y-%m-%d %H:%M:%S')"/>
<field eval="1" name="auto_picking"/>
<field name="move_type">direct</field>
@@ -137,7 +134,6 @@
<field name="name">Stock move (POS 12)</field>
<field eval="[(6,0,[])]" name="move_history_ids2"/>
<field name="product_id" ref="product.product_product_pc1"/>
- <field name="date_planned" eval="time.strftime('%Y-%m-%d %H:%M:%S')"/>
<field name="location_dest_id" ref="stock.stock_location_customers"/>
<field model="stock.picking" name="picking_id" search="[('name', '=', u'OUT/00019')]"/>
</record>
@@ -157,7 +153,6 @@
<field model="sale.shop" name="shop_id" search="[]"/>
<field name="user_id" ref="base.user_root"/>
<field model="res.partner" name="partner_id" search="[]"/>
- <field name="price_type">tax_excluded</field>
<field model="product.pricelist" name="pricelist_id" search="[]"/>
</record>
@@ -165,7 +160,6 @@
<field model="sale.shop" name="shop_id" search="[]"/>
<field name="user_id" ref="base.user_root"/>
<field model="res.partner" name="partner_id" search="[]"/>
- <field name="price_type">tax_excluded</field>
<field model="product.pricelist" name="pricelist_id" search="[]"/>
</record>
@@ -173,11 +167,9 @@
<record id="line1_pos" model="pos.order.line">
<field name="order_id" ref="order_pos1"/>
- <field name="date_planned" eval="time.strftime('%Y-%m-%d')"/>
<field name="name">[PC3] Medium PC</field>
<field name="product_id" ref="product.product_product_pc3"/>
<field model="res.company" name="company_id" search="[]"/>
- <field model="product.uom" name="product_uom" search="[]"/>
<field name="price_unit">450</field>
<field name="qty">2</field>
<field name="notice">No Discount</field>
@@ -185,11 +177,9 @@
<record id="line12_pos" model="pos.order.line">
<field name="order_id" ref="order_pos1"/>
- <field name="date_planned" eval="time.strftime('%Y-%m-%d')"/>
<field name="name">[PC2] Basic+ PC (assembly on order)</field>
<field name="product_id" ref="product.product_product_pc2"/>
<field model="res.company" name="company_id" search="[]"/>
- <field model="product.uom" name="product_uom" search="[]"/>
<field name="price_unit">450</field>
<field name="qty">2</field>
<field name="notice">No Discount</field>
@@ -197,11 +187,9 @@
<record id="line2_pos" model="pos.order.line">
<field name="order_id" ref="order_pos2"/>
- <field name="date_planned" eval="time.strftime('%Y-%m-%d')"/>
<field name="name">[PC1] Basic PC</field>
<field name="product_id" ref="product.product_product_pc1"/>
<field model="res.company" name="company_id" search="[]"/>
- <field model="product.uom" name="product_uom" search="[]"/>
<field name="price_unit">450</field>
<field name="qty">5</field>
<field name="discount">0.10</field>
diff --git a/addons/point_of_sale/point_of_sale_report.xml b/addons/point_of_sale/point_of_sale_report.xml
index b8d5456f1cd..41ce5232ac3 100644
--- a/addons/point_of_sale/point_of_sale_report.xml
+++ b/addons/point_of_sale/point_of_sale_report.xml
@@ -44,17 +44,6 @@
/>
<report
- id="pos_payment_report"
- string="Payment Report For Sale"
- model="pos.order"
- name="pos.payment.report"
- auto="False"
- multi="True"
- menu="True"
- rml="point_of_sale/report/pos_payment_report.rml"
- />
-
- <report
id="pos_sales_user"
string="Sales Report"
model="pos.order"
@@ -77,16 +66,6 @@
/>
<report
- id="pos_payment_report_date"
- string="Payment Report"
- model="pos.order"
- name="pos.payment.report.date"
- auto="False"
- multi="True"
- menu="False"
- rml="point_of_sale/report/pos_payment_report_date.rml"
- />
- <report
id="pos_payment_report_user"
string="Today's Payment By User"
model="pos.order"
diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml
index 1c3dceedc68..ee95e5d0835 100644
--- a/addons/point_of_sale/point_of_sale_view.xml
+++ b/addons/point_of_sale/point_of_sale_view.xml
@@ -1,9 +1,9 @@
<?xml version="1.0"?>
<openerp>
<data>
- <menuitem name="Point of Sale" id="menu_point_root" sequence="21"
+ <menuitem name="PoS Backend" id="menu_point_root" sequence="21"
icon="terp-partner"
- groups="group_pos_manager,group_pos_user"
+ groups="group_pos_manager"
web_icon="images/pos.png"
web_icon_hover="images/pos-hover.png"/>
@@ -12,11 +12,11 @@
<field name="model">pos.order</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Sales Order POS">
+ <form string="PoS Orders">
<group col="7" colspan="4">
<field name="name"/>
<field name="date_order"/>
- <field name="partner_id" on_change="onchange_partner_id(partner_id)" groups="base.group_extended"/>
+ <field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<button name="invoice" string="Invoice" icon="gtk-apply" type="workflow" states="paid" attrs="{'invisible': ['|',('partner_id','=',False),('state','&lt;&gt;','paid')]}"/>
</group>
<notebook colspan="4">
@@ -49,7 +49,7 @@
<separator colspan="4"/>
<group colspan="4" col="8">
- <field name="state" />
+ <field name="state" widget="statusbar" statusbar_visible="draft,paid,done" statusbar_colors='{"cancel":"red"}'/>
<button name="%(action_pos_payment)d" string="Payment" icon="gtk-apply" type="action" states="draft"/>
<button name="refund" string="Return Products" type="object" icon="gtk-ok"
attrs="{'invisible':[('state','=','draft')]}"/>
@@ -59,9 +59,9 @@
<page string="Payment">
<field name="statement_ids" colspan="4" nolabel="1">
<tree editable="bottom" string="Statement lines">
- <field name="amount"/>
<field name="journal_id"/>
<field name="statement_id" />
+ <field name="amount"/>
</tree>
<form string="Statement lines">
<field name="account_id"/>
@@ -99,11 +99,12 @@
</field>
</record>
<record model="ir.actions.act_window" id="action_pos_pos_form">
- <field name="name">Point of Sale</field>
+ <field name="name">PoS Orders</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">pos.order</field>
<field name="view_type">form</field>
- <field name="view_id" ref="view_pos_pos_form"/>
+ <field name="view_mode">tree,form</field>
+ <field name="view_id" eval="False"/>
<field name="domain">[]</field>
</record>
<record model="ir.ui.view" id="view_pos_order_tree">
@@ -154,10 +155,10 @@
</record>
<menuitem name="Daily Operations" id="menu_point_of_sale" parent="menu_point_root" sequence="10" />
- <menuitem name="New Sale Order" parent="menu_point_of_sale" id="menu_point_ofsale" action="action_pos_pos_form" sequence="1" groups="group_pos_manager,group_pos_user"/>
+ <menuitem parent="menu_point_of_sale" id="menu_point_ofsale" action="action_pos_pos_form" sequence="1" groups="group_pos_manager,group_pos_user"/>
<menuitem name="Products" id="menu_point_of_sale_product" parent="menu_point_root" sequence="15" />
- <menuitem action="product.product_normal_action" id="menu_pos_products" parent="menu_point_of_sale_product" sequence="2" name="Products"/>
+ <menuitem action="product.product_normal_action" id="menu_pos_products" parent="menu_point_of_sale_product" sequence="2"/>
<record model="ir.ui.view" id="view_pos_order_line">
<field name="name">Sale lines</field>
@@ -580,6 +581,19 @@
<field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field>
</record>
+ <record id="product_normal_form_pos_view" model="ir.ui.view">
+ <field name="name">product.normal.pos.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="categ_id" position="after">
+ <field name="pos_categ_id"/>
+ </field>
+ </field>
+ </record>
+
+
<record id="product_normal_form_view" model="ir.ui.view">
<field name="name">product.normal.form.inherit</field>
<field name="model">product.product</field>
@@ -599,68 +613,24 @@
<field name="name">pos.category.tree</field>
<field name="model">pos.category</field>
<field name="type">tree</field>
- <field name="field_parent">child_id</field>
+ <field name="field_parent" eval="False"/>
<field name="arch" type="xml">
- <tree toolbar="True" string="Product Pos Categories">
+ <tree string="PoS Categories">
<field name="name"/>
</tree>
</field>
</record>
<record id="pos_category_action" model="ir.actions.act_window">
- <field name="name">Products by POS-Category</field>
+ <field name="name">PoS Categories</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">pos.category</field>
- <field name="domain">[('parent_id','=',False)]</field>
- <field name="view_type">tree</field>
- <field name="view_id" ref="pos_category_tree_view"/>
- <field name="help">Here is a list of all your products classified by POS 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="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ <field name="view_id" eval="False"/>
</record>
<menuitem action="pos_category_action" id="menu_pos_category" parent="menu_point_of_sale_product" sequence="0" />
<!-- END -->
- <record id="product_input_output_form_view" model="ir.ui.view">
- <field name="name">product.normal.form.inherit</field>
- <field name="model">product.product</field>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <form string="Product">
- <group colspan="4" col="6">
- <group colspan="4" col="2">
- <separator string="Product Description" colspan="4"/>
- <field name="name" />
- <field groups="base.group_extended" name="variants" />
- </group>
- <group colspan="1" col="2">
- <separator string="Codes" colspan="2"/>
- <field name="default_code"/>
- <field groups="base.group_extended" name="ean13"/>
- </group>
- </group>
- <notebook colspan="4">
- <page string="Information">
- <group colspan="2" col="2" name="Type">
- <separator string="Product Type" colspan="2"/>
- <field name="categ_id"/>
- <field name="property_account_income" string="Account" required="1"/>
- <field name="type"/>
- </group>
- <group colspan="2" col="2" name="Miscelleanous">
- <separator string="Miscelleanous" colspan="2"/>
- <field name="income_pdt"/>
- <field name="expense_pdt"/>
- <field name="company_id" groups="base.group_extended,base.group_multi_company"/>
- </group>
- <group colspan="2" col="2" name="Prices">
- <separator string="Prices" colspan="2"/>
- <field name="lst_price"/>
- <field name="standard_price"/>
- </group>
- </page>
- </notebook>
- </form>
- </field>
- </record>
-
<menuitem name="Configuration" parent="menu_point_root"
id="menu_point_config_product" sequence="25" groups="group_pos_manager"/>
@@ -673,18 +643,6 @@
<field name="domain">[('expense_pdt','=',True)]</field>
<field name="context">{'default_expense_pdt': True}</field>
</record>
- <record model="ir.actions.act_window.view" id="action_product_input_tree_tag">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="product.product_product_tree_view"/>
- <field name="act_window_id" ref="action_product_input"/>
- </record>
- <record model="ir.actions.act_window.view" id="action_product_input_form_tag">
- <field name="sequence" eval="2"/>
- <field name="view_mode">form</field>
- <field name="view_id" ref="product_input_output_form_view"/>
- <field name="act_window_id" ref="action_product_input"/>
- </record>
<menuitem
parent="menu_point_config_product"
action="action_product_input"
@@ -700,18 +658,6 @@
<field name="domain">[('income_pdt','=',True)]</field>
<field name="context">{'default_income_pdt': True}</field>
</record>
- <record model="ir.actions.act_window.view" id="action_product_output_tree_tag">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="product.product_product_tree_view"/>
- <field name="act_window_id" ref="action_product_output"/>
- </record>
- <record model="ir.actions.act_window.view" id="action_product_output_form_tag">
- <field name="sequence" eval="2"/>
- <field name="view_mode">form</field>
- <field name="view_id" ref="product_input_output_form_view"/>
- <field name="act_window_id" ref="action_product_output"/>
- </record>
<menuitem
parent="menu_point_config_product"
action="action_product_output"
@@ -733,7 +679,7 @@
<field name="res_model">account.journal</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="context">{'default_journal_user': 1}</field>
+ <field name="context" eval="{'default_journal_user': 1, 'default_view_id': ref('account.account_journal_bank_view'), '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>
</record>
@@ -788,8 +734,6 @@
<field name="domain">[('origin','like','POS')]</field>
</record>
- <menuitem icon="STOCK_PRINT" action="action_report_pos_payment_repport_date"
- id="menu_pos_payment_report_date" parent="menu_point_rep" sequence="8" groups="base.group_extended"/>
<menuitem icon="STOCK_PRINT" action="action_report_pos_details"
id="menu_pos_details" parent="menu_point_rep" sequence="6" />
@@ -798,11 +742,15 @@
<field name="tag">pos.ui</field>
</record>
- <record id="menu_pos_pos" model="ir.ui.menu">
- <field name="name">Start Point of Sale</field>
- <field name="sequence" eval="5"/>
- <field name="parent_id" ref="menu_point_root"/>
+ <record id="menu_point_root_touchscreen" model="ir.ui.menu">
+ <field name="name">Point of Sale</field>
+ <field name="sequence" eval="20"/>
<field name="action" ref="action_pos_pos"/>
</record>
+
+ <!-- use menuitem to add web_icon and web_icon_hover above -->
+ <menuitem id="menu_point_root_touchscreen"
+ web_icon="images/pos.png" web_icon_hover="images/pos-hover.png"/>
+
</data>
</openerp>
diff --git a/addons/point_of_sale/report/__init__.py b/addons/point_of_sale/report/__init__.py
index 171f323e337..bc85fb31084 100644
--- a/addons/point_of_sale/report/__init__.py
+++ b/addons/point_of_sale/report/__init__.py
@@ -30,7 +30,6 @@ import pos_details_summary
import pos_payment_report
import pos_sales_user
import pos_sales_user_today
-import pos_payment_report_date
import pos_payment_report_user
import pos_report
import pos_order_report
diff --git a/addons/point_of_sale/report/pos_details.py b/addons/point_of_sale/report/pos_details.py
index 4c23a005674..1590866836a 100644
--- a/addons/point_of_sale/report/pos_details.py
+++ b/addons/point_of_sale/report/pos_details.py
@@ -27,9 +27,9 @@ class pos_details(report_sxw.rml_parse):
def _get_invoice(self,inv_id,user):
res={}
if inv_id:
- self.cr.execute("select name from account_invoice as ac where id = %s", (inv_id,))
+ self.cr.execute("select number from account_invoice as ac where id = %s", (inv_id,))
res = self.cr.fetchone()
- return res[0]
+ return res[0] or 'Draft'
else:
return ''
diff --git a/addons/point_of_sale/report/pos_details.rml b/addons/point_of_sale/report/pos_details.rml
index 7aa2c3a8ea0..12e8618accb 100644
--- a/addons/point_of_sale/report/pos_details.rml
+++ b/addons/point_of_sale/report/pos_details.rml
@@ -199,13 +199,13 @@
<para style="terp_default_8">
<font color="white"> </font>
</para>
- <blockTable colWidths="53.0,44.0,158.0,54.0,76.0,37.0,88.0" style="Table4">
+ <blockTable colWidths="108.0,54.0,159.0,54.0,75.0,30.0,69.0" style="Table4">
<tr>
<td>
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
- <para style="terp_tblheader_Details">Code</para>
+ <para style="terp_tblheader_Details">Order</para>
</td>
<td>
<para style="terp_tblheader_Details">Product</para>
@@ -226,7 +226,7 @@
</blockTable>
<section>
<para style="terp_default_1">[[ repeatIn(pos_sales_details(data['form'],user), 'line_ids') ]]</para>
- <blockTable colWidths="54.0,44.0,159.0,54.0,75.0,36.0,89.0" style="Table6">
+ <blockTable colWidths="108.0,54.0,159.0,54.0,75.0,30.0,69.0" style="Table6">
<tr>
<td>
<para style="terp_default_9">[[ formatLang(line_ids['date_order'],date_time = True) ]]</para>
@@ -258,7 +258,7 @@
<blockTable colWidths="256.0,256.0" style="Table3">
<tr>
<td>
- <para style="terp_tblheader_Details">Mode of Taxes</para>
+ <para style="terp_tblheader_Details">Taxes</para>
</td>
<td>
<para style="terp_default_8">
@@ -289,7 +289,7 @@
<blockTable colWidths="257.0,255.0" style="Table9">
<tr>
<td>
- <para style="terp_tblheader_Details">Mode of Payment</para>
+ <para style="terp_tblheader_Details">Payment</para>
</td>
<td>
<para style="terp_default_8">
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 494dceec93e..4ae53d0ad67 100644
--- a/addons/point_of_sale/report/pos_order_report_view.xml
+++ b/addons/point_of_sale/report/pos_order_report_view.xml
@@ -57,7 +57,7 @@
string="Invoiced"
domain="[('state','=',('invoiced'))]"/>
<filter icon="terp-dolar"
- string="Paid"
+ string="Not Invoiced"
domain="[('state','=',('paid'))]"/>
<separator orientation="vertical"/>
<field name="partner_id"/>
diff --git a/addons/point_of_sale/report/pos_payment_report_date.py b/addons/point_of_sale/report/pos_payment_report_date.py
deleted file mode 100644
index 76cd9c12be7..00000000000
--- a/addons/point_of_sale/report/pos_payment_report_date.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-
-import time
-from report import report_sxw
-
-class pos_payment_report_date(report_sxw.rml_parse):
-
- def __init__(self, cr, uid, name, context):
- super(pos_payment_report_date, self).__init__(cr, uid, name, context=context)
- self.total = 0.0
- self.localcontext.update({
- 'time': time,
- 'pos_payment_date': self.__pos_payment_date__,
- 'pos_payment_date_total':self.__pos_payment_date__total__,
- })
-
- def __pos_payment_date__(self,form):
- dt1 = form['date_start'] + ' 00:00:00'
- dt2 = form['date_end'] + ' 23:59:59'
- data={}
- if form['user_id']:
- self.cr.execute ("select pt.name,pp.default_code as code,pol.qty,pu.name as uom,pol.discount,pol.price_unit, " \
- "(pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0)) as total " \
- "from pos_order as po,pos_order_line as pol,product_product as pp,product_template as pt,product_uom as pu " \
- "where pt.id=pp.product_tmpl_id and pp.id=pol.product_id and po.id = pol.order_id and pu.id=pt.uom_id " \
- "and po.state IN ('paid','invoiced') and po.date_order >= %s and po.date_order <= %s and po.user_id IN %s " \
- ,(dt1,dt2,tuple(form['user_id'])))
- else:
- self.cr.execute ("select pt.name,pp.default_code as code,pol.qty,pu.name as uom,pol.discount,pol.price_unit, " \
- "(pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0)) as total " \
- "from pos_order as po,pos_order_line as pol,product_product as pp,product_template as pt,product_uom as pu " \
- "where pt.id=pp.product_tmpl_id and pp.id=pol.product_id and po.id = pol.order_id and pu.id=pt.uom_id " \
- "and po.state IN ('paid','invoiced') and po.date_order >= %s and po.date_order <= %s" \
- ,(dt1,dt2))
- data=self.cr.dictfetchall()
- return data
-
- def __pos_payment_date__total__(self,form):
- dt1 = form['date_start'] + ' 00:00:00'
- dt2 = form['date_end'] + ' 23:59:59'
- res=[]
- if form['user_id']:
- self.cr.execute ("select sum(pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0)) " \
- "from pos_order as po,pos_order_line as pol,product_product as pp,product_template as pt " \
- "where pt.id=pp.product_tmpl_id and pp.id=pol.product_id and po.id = pol.order_id " \
- "and po.state IN ('paid','invoiced') and po.date_order >= %s and po.date_order <= %s and po.user_id IN %s " \
- ,(dt1,dt2,tuple(form['user_id'])))
- else:
- self.cr.execute ("select sum(pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0)) " \
- "from pos_order as po,pos_order_line as pol,product_product as pp,product_template as pt " \
- "where pt.id=pp.product_tmpl_id and pp.id=pol.product_id and po.id = pol.order_id " \
- "and po.state IN ('paid','invoiced') and po.date_order >= %s and po.date_order <= %s" \
- ,(dt1,dt2))
- res=self.cr.fetchone()[0] or 0.0
- return res
-
-
-report_sxw.report_sxw('report.pos.payment.report.date', 'pos.order', 'addons/point_of_sale/report/pos_payment_report_date.rml', parser=pos_payment_report_date,header='internal')
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file
diff --git a/addons/point_of_sale/report/pos_payment_report_date.rml b/addons/point_of_sale/report/pos_payment_report_date.rml
deleted file mode 100644
index ba7764fed28..00000000000
--- a/addons/point_of_sale/report/pos_payment_report_date.rml
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version="1.0"?>
-<document filename="Payments.pdf">
- <template pageSize="(595.0,842.0)" title="Payments" author="OpenERP S.A.(sales@openerp.com)" allowSplitting="20">
- <pageTemplate id="first">
- <frame id="first" x1="27.0" y1="57.0" width="512" height="728"/>
- </pageTemplate>
- </template>
- <stylesheet>
- <blockTableStyle id="Standard_Outline">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- </blockTableStyle>
- <blockTableStyle id="Table1">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
- <lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
- </blockTableStyle>
- <blockTableStyle id="Table2">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
- <lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
- </blockTableStyle>
- <blockTableStyle id="Table3">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
- <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
- <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
- <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
- <lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
- </blockTableStyle>
- <blockTableStyle id="Table6">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
- </blockTableStyle>
- <blockTableStyle id="Table5">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
- <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/>
- </blockTableStyle>
- <initialize>
- <paraStyle name="all" alignment="justify"/>
- </initialize>
- <paraStyle name="Standard" fontName="Helvetica"/>
- <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
- <paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
- <paraStyle name="Caption" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="Index" fontName="Helvetica"/>
- <paraStyle name="Table Contents" fontName="Helvetica"/>
- <paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER"/>
- <paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="Footer" fontName="Helvetica"/>
- <paraStyle name="Horizontal Line" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
- <paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_8_Italic" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <images/>
- </stylesheet>
- <story>
- <para style="terp_default_8">[[ repeatIn(objects,'order') ]]</para>
- <para style="terp_header_Centre">Sales Lines</para>
- <para style="Standard">
- <font color="white"> </font>
- </para>
- <blockTable colWidths="256.0,256.0" style="Table1">
- <tr>
- <td>
- <para style="terp_tblheader_General_Centre">Company</para>
- </td>
- <td>
- <para style="terp_tblheader_General_Centre">Print Date</para>
- </td>
- </tr>
- </blockTable>
- <blockTable colWidths="256.0,256.0" style="Table2">
- <tr>
- <td>
- <para style="terp_default_Centre_8">[[ company.name ]]</para>
- </td>
- <td>
- <para style="terp_default_Centre_8">[[ formatLang(time.strftime('%Y-%m-%d'),date = True) ]]</para>
- </td>
- </tr>
- </blockTable>
- <para style="Standard">
- <font color="white"> </font>
- </para>
- <para style="Standard">
- <font color="white"> </font>
- </para>
- <blockTable colWidths="256.0,71.0,57.0,57.0,71.0" style="Table3">
- <tr>
- <td>
- <para style="terp_tblheader_Details">Product</para>
- </td>
- <td>
- <para style="terp_tblheader_General_Centre">Qty</para>
- </td>
- <td>
- <para style="terp_tblheader_General_Right">Disc(%)</para>
- </td>
- <td>
- <para style="terp_tblheader_General_Right">Unit Price </para>
- </td>
- <td>
- <para style="terp_tblheader_General_Right">Total </para>
- </td>
- </tr>
- </blockTable>
- <section>
- <para style="terp_default_1">[[ repeatIn(pos_payment_date(data['form']), 'line_ids') ]]</para>
- <blockTable colWidths="256.0,71.0,57.0,57.0,71.0" style="Table6">
- <tr>
- <td>
- <para style="terp_default_9">[ [[ line_ids['code'] ]] ] [[ line_ids['name'] ]]</para>
- </td>
- <td>
- <para style="terp_default_Right_9">[[ formatLang(line_ids['qty']) ]] [[line_ids['uom'] ]]</para>
- </td>
- <td>
- <para style="terp_default_Right_9">[[ formatLang(line_ids['discount'], dp='Sale Price') ]]</para>
- </td>
- <td>
- <para style="terp_default_Right_9">[[ formatLang(line_ids['price_unit'], dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para>
- </td>
- <td>
- <para style="terp_default_Right_9">[[ formatLang(line_ids['total'], dp='Sale Price') ]] [[ company.currency_id.symbol ]]</para>
- </td>
- </tr>
- </blockTable>
- </section>
- <blockTable colWidths="355.0,71.0,85.0" style="Table5">
- <tr>
- <td>
- <para style="Table Contents">
- <font color="white"> </font>
- </para>
- </td>
- <td>
- <para style="terp_tblheader_General_Right">Total:</para>
- </td>
- <td>
- <para style="terp_default_Right_9_Bold">[[ formatLang(pos_payment_date_total(data['form']), dp='Sale Price') or removeParentNode('blockTable')]] [[ company.currency_id.symbol ]]</para>
- </td>
- </tr>
- </blockTable>
- <para style="Standard">
- <font color="white"> </font>
- </para>
- </story>
-</document>
diff --git a/addons/point_of_sale/report/pos_receipt.rml b/addons/point_of_sale/report/pos_receipt.rml
index e3b5583a499..55873887210 100644
--- a/addons/point_of_sale/report/pos_receipt.rml
+++ b/addons/point_of_sale/report/pos_receipt.rml
@@ -75,7 +75,7 @@
<para style="terp_default_Centre_9">[[ address and address.street ]], [[ address and address.zip ]] [[ address and address.city ]]</para>
<para style="terp_default_Centre_9">[[ address and address.country_id.name ]]</para>
<para style="terp_default_Centre_9">Tel : [[ address and address.phone ]]</para>
- <para style="terp_default_Centre_9">E-mail : [[ address and address.email ]]</para>
+ <para style="terp_default_Centre_9">User : [[ o.user_id.name ]]</para>
<para style="terp_default_Centre_9">Shop : [[ o.shop_id.name ]]</para>
<para style="terp_default_Centre_9">Date : [[ o.date_order ]]</para>
<para style="P4">
diff --git a/addons/point_of_sale/security/ir.model.access.csv b/addons/point_of_sale/security/ir.model.access.csv
index db62c9c8361..7642563ba57 100644
--- a/addons/point_of_sale/security/ir.model.access.csv
+++ b/addons/point_of_sale/security/ir.model.access.csv
@@ -65,7 +65,9 @@
"access_account_sequence_fiscalyear_manager","account.sequence.fiscalyear manager","account.model_account_sequence_fiscalyear","group_pos_manager",1,0,0,0
"access_stock_warehouse_manager","stock.warehouse manager","stock.model_stock_warehouse","group_pos_manager",1,0,0,0
"access_stock_location_manager","stock.location manager","stock.model_stock_location","group_pos_manager",1,0,0,0
-"access_product_uom_manager","product.uom manager","product.model_product_uom","group_pos_manager",1,0,0,0
+"access_product_uom_manager","product.uom manager","product.model_product_uom","group_pos_manager",1,1,1,1
"access_res_partner_manager","res.partner manager","base.model_res_partner","group_pos_manager",1,0,0,0
-"access_product_category_manager","product.category manager","product.model_product_category","group_pos_manager",1,0,0,0
+"access_product_category_manager","product.category manager","product.model_product_category","group_pos_manager",1,1,1,1
"access_product_pricelist_manager","product.pricelist manager","product.model_product_pricelist","group_pos_manager",1,0,0,0
+"access_product_category_pos_manager","pos.category manager","model_pos_category","group_pos_manager",1,1,1,1"
+"access_product_category_pos_user","pos.category user","model_pos_category","group_pos_user",1,0,0,0"
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 14c9e96df9e..09f1e8860fd 100644
--- a/addons/point_of_sale/security/point_of_sale_security.xml
+++ b/addons/point_of_sale/security/point_of_sale_security.xml
@@ -7,7 +7,7 @@
</record>
<record id="group_pos_manager" model="res.groups">
<field name="name">Point of Sale / Manager</field>
- <field name="implied_ids" eval="[(4, ref('group_pos_user'))]"/>
+ <field name="implied_ids" eval="[(4, ref('group_pos_user')), (4, ref('stock.group_stock_user'))]"/>
</record>
</data>
diff --git a/addons/point_of_sale/static/src/js/pos.js b/addons/point_of_sale/static/src/js/pos.js
index d1611cd87d8..05adcaf458a 100644
--- a/addons/point_of_sale/static/src/js/pos.js
+++ b/addons/point_of_sale/static/src/js/pos.js
@@ -1,14 +1,9 @@
openerp.point_of_sale = function(db) {
+
db.point_of_sale = {};
- /* Some utility functions defined by Coffee script */
- var __bind = function(fn, me) {
- return function() {
- return fn.apply(me, arguments);
- };
- };
- var __hasProp = Object.prototype.hasOwnProperty;
var __extends = function(child, parent) {
+ var __hasProp = Object.prototype.hasOwnProperty;
for (var key in parent) {
if (__hasProp.call(parent, key))
child[key] = parent[key];
@@ -22,15 +17,6 @@ openerp.point_of_sale = function(db) {
child.__super__ = parent.prototype;
return child;
};
- var __indexOf = Array.prototype.indexOf ||
- function(item) {
- for (var i = 0, l = this.length; i < l; i++) {
- if (this[i] === item)
- return i;
- }
- return -1;
- };
- /* end */
var QWeb = db.web.qweb;
QWeb.add_template("/point_of_sale/static/src/xml/pos.xml");
@@ -65,7 +51,7 @@ openerp.point_of_sale = function(db) {
*/
var Pos = (function() {
function Pos(session) {
- this.build_tree = __bind(this.build_tree, this);
+ this.build_tree = _.bind(this.build_tree, this);
this.session = session;
$.when(this.fetch('pos.category', ['name', 'parent_id', 'child_id']),
this.fetch('product.product', ['name', 'list_price', 'pos_categ_id', 'taxes_id', 'img'], [['pos_categ_id', '!=', 'false']]),
@@ -162,18 +148,12 @@ openerp.point_of_sale = function(db) {
/* global variable */
var pos;
- var App, CashRegister, CashRegisterCollection, Category, CategoryCollection, CategoryWidget,
- NumpadState, NumpadWidget, Order, OrderButtonView, OrderCollection, OrderWidget, Orderline,
- OrderlineCollection, OrderlineWidget, PaymentButtonWidget, PaymentWidget, Paymentline,
- PaymentlineCollection, PaymentlineWidget, PaypadWidget, Product, ProductCollection,
- ProductListWidget, ProductWidget, ReceiptLineWidget, ReceiptWidget, Shop, ShopView, StepsWidget;
-
/*
---
Models
---
*/
- CashRegister = (function() {
+ var CashRegister = (function() {
__extends(CashRegister, Backbone.Model);
function CashRegister() {
CashRegister.__super__.constructor.apply(this, arguments);
@@ -181,7 +161,7 @@ openerp.point_of_sale = function(db) {
return CashRegister;
})();
- CashRegisterCollection = (function() {
+ var CashRegisterCollection = (function() {
__extends(CashRegisterCollection, Backbone.Collection);
function CashRegisterCollection() {
CashRegisterCollection.__super__.constructor.apply(this, arguments);
@@ -190,7 +170,7 @@ openerp.point_of_sale = function(db) {
CashRegisterCollection.prototype.model = CashRegister;
return CashRegisterCollection;
})();
- Product = (function() {
+ var Product = (function() {
__extends(Product, Backbone.Model);
function Product() {
Product.__super__.constructor.apply(this, arguments);
@@ -198,7 +178,7 @@ openerp.point_of_sale = function(db) {
return Product;
})();
- ProductCollection = (function() {
+ var ProductCollection = (function() {
__extends(ProductCollection, Backbone.Collection);
function ProductCollection() {
ProductCollection.__super__.constructor.apply(this, arguments);
@@ -207,7 +187,7 @@ openerp.point_of_sale = function(db) {
ProductCollection.prototype.model = Product;
return ProductCollection;
})();
- Category = (function() {
+ var Category = (function() {
__extends(Category, Backbone.Model);
function Category() {
Category.__super__.constructor.apply(this, arguments);
@@ -215,7 +195,7 @@ openerp.point_of_sale = function(db) {
return Category;
})();
- CategoryCollection = (function() {
+ var CategoryCollection = (function() {
__extends(CategoryCollection, Backbone.Collection);
function CategoryCollection() {
CategoryCollection.__super__.constructor.apply(this, arguments);
@@ -230,7 +210,7 @@ openerp.point_of_sale = function(db) {
To add more of the same product, just update the quantity accordingly.
The Order also contains payment information.
*/
- Orderline = (function() {
+ var Orderline = (function() {
__extends(Orderline, Backbone.Model);
function Orderline() {
Orderline.__super__.constructor.apply(this, arguments);
@@ -261,7 +241,7 @@ openerp.point_of_sale = function(db) {
};
return Orderline;
})();
- OrderlineCollection = (function() {
+ var OrderlineCollection = (function() {
__extends(OrderlineCollection, Backbone.Collection);
function OrderlineCollection() {
OrderlineCollection.__super__.constructor.apply(this, arguments);
@@ -273,7 +253,7 @@ openerp.point_of_sale = function(db) {
/*
Every PaymentLine has all the attributes of the corresponding CashRegister.
*/
- Paymentline = (function() {
+ var Paymentline = (function() {
__extends(Paymentline, Backbone.Model);
function Paymentline() {
Paymentline.__super__.constructor.apply(this, arguments);
@@ -298,7 +278,7 @@ openerp.point_of_sale = function(db) {
};
return Paymentline;
})();
- PaymentlineCollection = (function() {
+ var PaymentlineCollection = (function() {
__extends(PaymentlineCollection, Backbone.Collection);
function PaymentlineCollection() {
PaymentlineCollection.__super__.constructor.apply(this, arguments);
@@ -307,14 +287,15 @@ openerp.point_of_sale = function(db) {
PaymentlineCollection.prototype.model = Paymentline;
return PaymentlineCollection;
})();
- Order = (function() {
+ var Order = (function() {
__extends(Order, Backbone.Model);
function Order() {
Order.__super__.constructor.apply(this, arguments);
}
Order.prototype.defaults = {
- validated: false
+ validated: false,
+ step: 'products',
};
Order.prototype.initialize = function() {
this.set({
@@ -333,8 +314,7 @@ openerp.point_of_sale = function(db) {
};
Order.prototype.validatedChanged = function() {
if (this.get("validated") && !this.previous("validated")) {
- $('.step-screen').hide();
- $('#receipt-screen').show();
+ this.set({'step': 'receipt'});
}
}
Order.prototype.generateUniqueId = function() {
@@ -386,11 +366,11 @@ openerp.point_of_sale = function(db) {
Order.prototype.exportAsJSON = function() {
var orderLines, paymentLines, result;
orderLines = [];
- (this.get('orderLines')).each(__bind( function(item) {
+ (this.get('orderLines')).each(_.bind( function(item) {
return orderLines.push([0, 0, item.exportAsJSON()]);
}, this));
paymentLines = [];
- (this.get('paymentLines')).each(__bind( function(item) {
+ (this.get('paymentLines')).each(_.bind( function(item) {
return paymentLines.push([0, 0, item.exportAsJSON()]);
}, this));
result = {
@@ -406,7 +386,7 @@ openerp.point_of_sale = function(db) {
};
return Order;
})();
- OrderCollection = (function() {
+ var OrderCollection = (function() {
__extends(OrderCollection, Backbone.Collection);
function OrderCollection() {
OrderCollection.__super__.constructor.apply(this, arguments);
@@ -415,7 +395,7 @@ openerp.point_of_sale = function(db) {
OrderCollection.prototype.model = Order;
return OrderCollection;
})();
- Shop = (function() {
+ var Shop = (function() {
__extends(Shop, Backbone.Model);
function Shop() {
Shop.__super__.constructor.apply(this, arguments);
@@ -429,7 +409,7 @@ openerp.point_of_sale = function(db) {
this.set({
cashRegisters: new CashRegisterCollection(pos.store.get('account.bank.statement')),
});
- return (this.get('orders')).bind('remove', __bind( function(removedOrder) {
+ return (this.get('orders')).bind('remove', _.bind( function(removedOrder) {
if ((this.get('orders')).isEmpty()) {
this.addAndSelectOrder(new Order);
}
@@ -452,7 +432,7 @@ openerp.point_of_sale = function(db) {
The numpad handles both the choice of the property currently being modified
(quantity, price or discount) and the edition of the corresponding numeric value.
*/
- NumpadState = (function() {
+ var NumpadState = (function() {
__extends(NumpadState, Backbone.Model);
function NumpadState() {
NumpadState.__super__.constructor.apply(this, arguments);
@@ -530,9 +510,9 @@ openerp.point_of_sale = function(db) {
Views
---
*/
- NumpadWidget = db.web.Widget.extend({
- init: function(parent, element_id, options) {
- this._super(parent, element_id);
+ var NumpadWidget = db.web.Widget.extend({
+ init: function(parent, options) {
+ this._super(parent);
this.state = options.state;
},
start: function() {
@@ -563,9 +543,9 @@ openerp.point_of_sale = function(db) {
/*
Gives access to the payment methods (aka. 'cash registers')
*/
- PaypadWidget = db.web.Widget.extend({
- init: function(parent, element_id, options) {
- this._super(parent, element_id);
+ var PaypadWidget = db.web.Widget.extend({
+ init: function(parent, options) {
+ this._super(parent);
this.shop = options.shop;
},
start: function() {
@@ -574,26 +554,25 @@ openerp.point_of_sale = function(db) {
performPayment: function(event) {
var cashRegister, cashRegisterCollection, cashRegisterId;
/* set correct view */
- $('.step-screen').hide();
- $('#payment-screen').show();
+ this.shop.get('selectedOrder').set({'step': 'payment'});
cashRegisterId = event.currentTarget.attributes['cash-register-id'].nodeValue;
cashRegisterCollection = this.shop.get('cashRegisters');
- cashRegister = cashRegisterCollection.find(__bind( function(item) {
+ cashRegister = cashRegisterCollection.find(_.bind( function(item) {
return (item.get('id')) === parseInt(cashRegisterId, 10);
}, this));
return (this.shop.get('selectedOrder')).addPaymentLine(cashRegister);
},
render_element: function() {
this.$element.empty();
- return (this.shop.get('cashRegisters')).each(__bind( function(cashRegister) {
+ return (this.shop.get('cashRegisters')).each(_.bind( function(cashRegister) {
var button = new PaymentButtonWidget();
button.model = cashRegister;
button.appendTo(this.$element);
}, this));
}
});
- PaymentButtonWidget = db.web.Widget.extend({
+ var PaymentButtonWidget = db.web.Widget.extend({
template_fct: qweb_template('pos-payment-button-template'),
render_element: function() {
this.$element.html(this.template_fct({
@@ -611,36 +590,43 @@ openerp.point_of_sale = function(db) {
It should be possible to go back to any step as long as step 3 hasn't been completed.
Modifying an order after validation shouldn't be allowed.
*/
- StepsWidget = db.web.Widget.extend({
- init: function(parent, element_id) {
- this._super(parent, element_id);
- this.step = "products";
+ var StepsWidget = db.web.Widget.extend({
+ init: function(parent, options) {
+ this._super(parent);
+ this.shop = options.shop;
+ this.change_order();
+ this.shop.bind('change:selectedOrder', this.change_order, this);
},
- start: function() {
- this.$element.find('input.step-button').click(_.bind(this.clickChangeStep, this));
+ change_order: function() {
+ if (this.selected_order) {
+ this.selected_order.unbind('change:step', this.change_step);
+ }
+ this.selected_order = this.shop.get('selectedOrder');
+ if (this.selected_order) {
+ this.selected_order.bind('change:step', this.change_step, this);
+ }
+ this.change_step();
},
- clickChangeStep: function(event) {
- var newStep;
- newStep = event.currentTarget.attributes['data-step'].nodeValue;
+ change_step: function() {
+ var new_step = this.selected_order ? this.selected_order.get('step') : 'products';
$('.step-screen').hide();
- $('#' + newStep + '-screen').show();
- return this.step = newStep;
- }
+ $('#' + new_step + '-screen').show();
+ },
});
/*
Shopping carts.
*/
- OrderlineWidget = db.web.Widget.extend({
+ var OrderlineWidget = db.web.Widget.extend({
tagName: 'tr',
template_fct: qweb_template('pos-orderline-template'),
- init: function(parent, element_id, options) {
- this._super(parent, element_id);
+ init: function(parent, options) {
+ this._super(parent);
this.model = options.model;
- this.model.bind('change', __bind( function() {
+ this.model.bind('change', _.bind( function() {
this.$element.hide();
this.render_element();
}, this));
- this.model.bind('remove', __bind( function() {
+ this.model.bind('remove', _.bind( function() {
return this.$element.remove();
}, this));
this.order = options.order;
@@ -665,9 +651,9 @@ openerp.point_of_sale = function(db) {
return this.order.selected = this.model;
},
});
- OrderWidget = db.web.Widget.extend({
- init: function(parent, element_id, options) {
- this._super(parent, element_id);
+ var OrderWidget = db.web.Widget.extend({
+ init: function(parent, options) {
+ this._super(parent);
this.shop = options.shop;
this.numpadState = options.numpadState;
this.shop.bind('change:selectedOrder', this.changeSelectedOrder, this);
@@ -685,7 +671,7 @@ openerp.point_of_sale = function(db) {
return this.currentOrderLines.bind('remove', this.render, this);
},
addLine: function(newLine) {
- var line = new OrderlineWidget(null, null, {
+ var line = new OrderlineWidget(null, {
model: newLine,
order: this.shop.get('selectedOrder'),
numpadState: this.numpadState
@@ -695,8 +681,8 @@ openerp.point_of_sale = function(db) {
},
render_element: function() {
this.$element.empty();
- this.currentOrderLines.each(__bind( function(orderLine) {
- var line = new OrderlineWidget(null, null, {
+ this.currentOrderLines.each(_.bind( function(orderLine) {
+ var line = new OrderlineWidget(null, {
model: orderLine,
order: this.shop.get('selectedOrder'),
numpadState: this.numpadState
@@ -719,7 +705,7 @@ openerp.point_of_sale = function(db) {
/*
"Products" step.
*/
- CategoryWidget = db.web.Widget.extend({
+ var CategoryWidget = db.web.Widget.extend({
start: function() {
this.$element.find(".oe-pos-categories-list a").click(_.bind(this.changeCategory, this));
},
@@ -754,11 +740,11 @@ openerp.point_of_sale = function(db) {
},
on_change_category: function(id) {},
});
- ProductWidget = db.web.Widget.extend({
+ var ProductWidget = db.web.Widget.extend({
tag_name:'li',
template_fct: qweb_template('pos-product-template'),
- init: function(parent, element_id, options) {
- this._super(parent, element_id);
+ init: function(parent, options) {
+ this._super(parent);
this.model = options.model;
this.shop = options.shop;
},
@@ -776,17 +762,17 @@ openerp.point_of_sale = function(db) {
return this;
},
});
- ProductListWidget = db.web.Widget.extend({
- init: function(parent, element_id, options) {
- this._super(parent, element_id);
+ var ProductListWidget = db.web.Widget.extend({
+ init: function(parent, options) {
+ this._super(parent);
this.model = options.model;
this.shop = options.shop;
this.shop.get('products').bind('reset', this.render_element, this);
},
render_element: function() {
this.$element.empty();
- (this.shop.get('products')).each(__bind( function(product) {
- var p = new ProductWidget(null, null, {
+ (this.shop.get('products')).each(_.bind( function(product) {
+ var p = new ProductWidget(null, {
model: product,
shop: this.shop
});
@@ -798,11 +784,11 @@ openerp.point_of_sale = function(db) {
/*
"Payment" step.
*/
- PaymentlineWidget = db.web.Widget.extend({
+ var PaymentlineWidget = db.web.Widget.extend({
tag_name: 'tr',
template_fct: qweb_template('pos-paymentline-template'),
- init: function(parent, element_id, options) {
- this._super(parent, element_id);
+ init: function(parent, options) {
+ this._super(parent);
this.model = options.model;
this.model.bind('change', this.render_element, this);
},
@@ -827,9 +813,9 @@ openerp.point_of_sale = function(db) {
return this;
},
});
- PaymentWidget = db.web.Widget.extend({
- init: function(parent, element_id, options) {
- this._super(parent, element_id);
+ var PaymentWidget = db.web.Widget.extend({
+ init: function(parent, options) {
+ this._super(parent);
this.model = options.model;
this.shop = options.shop;
this.shop.bind('change:selectedOrder', this.changeSelectedOrder, this);
@@ -845,7 +831,7 @@ openerp.point_of_sale = function(db) {
validateCurrentOrder: function() {
var callback, currentOrder;
currentOrder = this.shop.get('selectedOrder');
- callback = __bind(function() {
+ callback = _.bind(function() {
return currentOrder.set({
validated: true
});
@@ -869,15 +855,15 @@ openerp.point_of_sale = function(db) {
this.render_element();
},
addPaymentLine: function(newPaymentLine) {
- var x = new PaymentlineWidget(null, null, {
+ var x = new PaymentlineWidget(null, {
model: newPaymentLine
});
x.appendTo(this.paymentLineList());
},
render_element: function() {
this.paymentLineList().empty();
- this.currentPaymentLines.each(__bind( function(paymentLine) {
- var x = new PaymentlineWidget(null, null, {
+ this.currentPaymentLines.each(_.bind( function(paymentLine) {
+ var x = new PaymentlineWidget(null, {
model: paymentLine
});
this.paymentLineList().append(x);
@@ -899,7 +885,7 @@ openerp.point_of_sale = function(db) {
/*
"Receipt" step.
*/
- ReceiptLineWidget = db.web.Widget.extend({
+ var ReceiptLineWidget = db.web.Widget.extend({
tag_name: 'tr',
template_fct: qweb_template('pos-receiptline-template'),
init: function(parent, options) {
@@ -912,7 +898,7 @@ openerp.point_of_sale = function(db) {
this.$element.html(this.template_fct(this.model.toJSON()));
},
});
- ReceiptWidget = db.web.Widget.extend({
+ var ReceiptWidget = db.web.Widget.extend({
init: function(parent, options) {
this._super(parent);
this.model = options.model;
@@ -921,12 +907,7 @@ openerp.point_of_sale = function(db) {
this.bindOrderLineEvents();
this.bindPaymentLineEvents();
},
- start: function () {
- $('button#pos-finish-order', this.$element).click(_.bind(this.finishOrder, this));
- },
finishOrder: function() {
- $('.step-screen').hide();
- $('#products-screen').show();
this.shop.get('selectedOrder').destroy();
},
receiptLineList: function() {
@@ -958,7 +939,8 @@ openerp.point_of_sale = function(db) {
},
render_element: function() {
this.$element.html(qweb_template('pos-receipt-view'));
- this.currentOrderLines.each(__bind( function(orderItem) {
+ $('button#pos-finish-order', this.$element).click(_.bind(this.finishOrder, this));
+ this.currentOrderLines.each(_.bind( function(orderItem) {
var x = new ReceiptLineWidget(null, {
model: orderItem
});
@@ -977,132 +959,125 @@ openerp.point_of_sale = function(db) {
$('#receipt-summary-change').html(change.toFixed(2));
},
});
- OrderButtonView = (function() {
- __extends(OrderButtonView, Backbone.View);
- function OrderButtonView() {
- OrderButtonView.__super__.constructor.apply(this, arguments);
- }
-
- OrderButtonView.prototype.tagName = 'li';
- OrderButtonView.prototype.className = 'order-selector-button';
- OrderButtonView.prototype.template = qweb_template('pos-order-selector-button-template');
- OrderButtonView.prototype.initialize = function(options) {
+ var OrderButtonWidget = db.web.Widget.extend({
+ tag_name: 'li',
+ template_fct: qweb_template('pos-order-selector-button-template'),
+ init: function(parent, options) {
+ this._super(parent);
this.order = options.order;
this.shop = options.shop;
- this.order.bind('destroy', __bind( function() {
- return $(this.el).remove();
+ this.order.bind('destroy', _.bind( function() {
+ return this.stop();
}, this));
- return this.shop.bind('change:selectedOrder', __bind( function(shop) {
+ this.shop.bind('change:selectedOrder', _.bind( function(shop) {
var selectedOrder;
selectedOrder = shop.get('selectedOrder');
if (this.order === selectedOrder) {
- return this.setButtonSelected();
+ this.setButtonSelected();
}
}, this));
- };
- OrderButtonView.prototype.events = {
- 'click button.select-order': 'selectOrder',
- 'click button.close-order': 'closeOrder'
- };
- OrderButtonView.prototype.selectOrder = function(event) {
- return this.shop.set({
+ },
+ start: function() {
+ $('button.select-order', this.$element).click(_.bind(this.selectOrder, this));
+ $('button.close-order', this.$element).click(_.bind(this.closeOrder, this));
+ },
+ selectOrder: function(event) {
+ this.shop.set({
selectedOrder: this.order
});
- };
- OrderButtonView.prototype.setButtonSelected = function() {
+ },
+ setButtonSelected: function() {
$('.selected-order').removeClass('selected-order');
- return $(this.el).addClass('selected-order');
- };
- OrderButtonView.prototype.closeOrder = function(event) {
- return this.order.destroy();
- };
- OrderButtonView.prototype.render = function() {
- return $(this.el).html(this.template(this.order.toJSON()));
- };
- return OrderButtonView;
- })();
- ShopView = (function() {
- __extends(ShopView, Backbone.View);
- function ShopView() {
- ShopView.__super__.constructor.apply(this, arguments);
+ this.$element.addClass('selected-order');
+ },
+ closeOrder: function(event) {
+ this.order.destroy();
+ },
+ render_element: function() {
+ this.$element.html(this.template_fct(this.order.toJSON()));
+ this.$element.addClass('order-selector-button');
}
-
- ShopView.prototype.initialize = function(options) {
+ });
+ var ShopWidget = db.web.Widget.extend({
+ init: function(parent, options) {
+ this._super(parent);
this.shop = options.shop;
+ },
+ start: function() {
+ $('button#neworder-button', this.$element).click(_.bind(this.createNewOrder, this));
+
(this.shop.get('orders')).bind('add', this.orderAdded, this);
(this.shop.get('orders')).add(new Order);
this.numpadState = new NumpadState({
shop: this.shop
});
- this.productListView = new ProductListWidget(null, "products-screen-ol", {
+ this.productListView = new ProductListWidget(null, {
shop: this.shop
});
+ this.productListView.$element = $("#products-screen-ol");
this.productListView.render_element();
this.productListView.start();
- this.paypadView = new PaypadWidget(null, 'paypad', {
+ this.paypadView = new PaypadWidget(null, {
shop: this.shop
});
+ this.paypadView.$element = $('#paypad');
this.paypadView.render_element();
this.paypadView.start();
- this.orderView = new OrderWidget(null, 'current-order-content', {
+ this.orderView = new OrderWidget(null, {
shop: this.shop,
numpadState: this.numpadState
});
+ this.orderView.$element = $('#current-order-content');
this.orderView.start();
- this.paymentView = new PaymentWidget(null, 'payment-screen', {
+ this.paymentView = new PaymentWidget(null, {
shop: this.shop
});
+ this.paymentView.$element = $('#payment-screen');
this.paymentView.render_element();
this.paymentView.start();
this.receiptView = new ReceiptWidget(null, {
shop: this.shop,
});
- debugger;
this.receiptView.replace($('#receipt-screen'));
- this.numpadView = new NumpadWidget(null, 'numpad', {
+ this.numpadView = new NumpadWidget(null, {
state: this.numpadState
});
+ this.numpadView.$element = $('#numpad');
this.numpadView.start();
- this.stepsView = new StepsWidget(null, 'steps');
+ this.stepsView = new StepsWidget(null, {shop: this.shop});
+ this.stepsView.$element = $('#steps');
this.stepsView.start();
- this.start();
- };
- ShopView.prototype.events = {
- 'click button#neworder-button': 'createNewOrder'
- };
- ShopView.prototype.start = function() {
- this.productListView.start();
- };
- ShopView.prototype.createNewOrder = function() {
+ },
+ createNewOrder: function() {
var newOrder;
newOrder = new Order;
(this.shop.get('orders')).add(newOrder);
- return this.shop.set({
+ this.shop.set({
selectedOrder: newOrder
});
- };
- ShopView.prototype.orderAdded = function(newOrder) {
+ },
+ orderAdded: function(newOrder) {
var newOrderButton;
- newOrderButton = new OrderButtonView({
+ newOrderButton = new OrderButtonWidget(null, {
order: newOrder,
shop: this.shop
});
- $('#orders').append(newOrderButton.render());
- return newOrderButton.selectOrder();
- };
- return ShopView;
- })();
- App = (function() {
+ newOrderButton.appendTo($('#orders'));
+ newOrderButton.selectOrder();
+ },
+ });
+ var App = (function() {
function App($element) {
this.initialize($element);
}
App.prototype.initialize = function($element) {
this.shop = new Shop;
- this.shopView = new ShopView({
- shop: this.shop,
- el: $element
+ this.shopView = new ShopWidget(null, {
+ shop: this.shop
});
+ this.shopView.$element = $element;
+ this.shopView.start();
this.categoryView = new CategoryWidget(null, 'products-screen-categories');
this.categoryView.on_change_category.add_last(_.bind(this.category, this));
this.category();
@@ -1119,7 +1094,7 @@ openerp.point_of_sale = function(db) {
this.categoryView.start();
products = pos.store.get('product.product').filter( function(p) {
var _ref;
- return _ref = p.pos_categ_id[0], __indexOf.call(c.subtree, _ref) >= 0;
+ return _ref = p.pos_categ_id[0], _.indexOf(c.subtree, _ref) >= 0;
});
(this.shop.get('products')).reset(products);
var self = this;
@@ -1161,12 +1136,17 @@ openerp.point_of_sale = function(db) {
pos = new Pos(this.session);
this.$element.find('#steps').buttonset();
+
+ $('.oe_toggle_secondary_menu').hide();
+ $('.oe_footer').hide();
return pos.ready.then( function() {
pos.app = new App(self.$element);
});
},
stop: function() {
+ $('.oe_footer').show();
+ $('.oe_toggle_secondary_menu').show();
pos = undefined;
this._super();
}
diff --git a/addons/point_of_sale/test/point_of_sale_report.yml b/addons/point_of_sale/test/point_of_sale_report.yml
index f3ea5995b9e..c7583b1549c 100644
--- a/addons/point_of_sale/test/point_of_sale_report.yml
+++ b/addons/point_of_sale/test/point_of_sale_report.yml
@@ -35,23 +35,7 @@
file(os.path.join(tools.config['test_report_directory'], 'point_of_sale-receipt report'+format), 'wb+').write(data)
-
- Create a record for the root user in pos.payment.report.user (used by the next python block).
--
- !record {model: pos.payment.report.user, id: pos_payment_report_user_1}:
- user_id: []
--
- Print the POS Payment Report through the wizard
--
- !python {model: ir.ui.menu}: |
- import time
- ctx={}
- ctx.update({'model': 'ir.ui.menu','active_ids': []})
- data_dict = {'date_start': time.strftime('%Y-%m-%d'), 'date_end': time.strftime('%Y-%m-%d'), 'user_id': [(6,0,[ref('base.user_root')])] }
- from tools import test_reports
- test_reports.try_report_action(cr, uid, 'action_report_pos_payment_repport_date',wiz_data=data_dict, context=ctx, our_module='point_of_sale')
-
--
- Print the POS Details Report through the wizard
+ Print the POS Details Report through the wizard
-
!python {model: ir.ui.menu}: |
import time
diff --git a/addons/point_of_sale/wizard/__init__.py b/addons/point_of_sale/wizard/__init__.py
index 0985ae906be..cb0a6a6da9a 100644
--- a/addons/point_of_sale/wizard/__init__.py
+++ b/addons/point_of_sale/wizard/__init__.py
@@ -30,7 +30,6 @@ import pos_sales_user
import pos_sales_user_today
import pos_receipt
import pos_payment_report_user
-import pos_payment_report_date
import pos_payment_report
import pos_payment
diff --git a/addons/point_of_sale/wizard/pos_confirm.xml b/addons/point_of_sale/wizard/pos_confirm.xml
index 85b43bd115d..d98d0f99eed 100644
--- a/addons/point_of_sale/wizard/pos_confirm.xml
+++ b/addons/point_of_sale/wizard/pos_confirm.xml
@@ -3,13 +3,13 @@
<data>
<!-- Point of Sale Confirm -->
<record id="view_pos_confirm" model="ir.ui.view">
- <field name="name">Post Journal Entries</field>
+ <field name="name">Create Sale Journal Entries</field>
<field name="model">pos.confirm</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Post All Orders">
<separator string="Generate Journal Entries" colspan="4"/>
- <label string="This wizard will generate all journal entries for orders linked to a closed cash register or statement." colspan="4" align="0.0"/>
+ <label string="Generate all sale journal entries for non invoiced orders linked to a closed cash register or statement." colspan="4" align="0.0"/>
<newline/>
<separator colspan="4"/>
<group colspan="4" col="4">
@@ -25,7 +25,7 @@
</record>
<record id="action_pos_confirm" model="ir.actions.act_window">
- <field name="name">Post Journal Entries</field>
+ <field name="name">Create Sale Entries</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">pos.confirm</field>
<field name="view_type">form</field>
diff --git a/addons/point_of_sale/wizard/pos_payment_report_date.py b/addons/point_of_sale/wizard/pos_payment_report_date.py
deleted file mode 100644
index f97391c7f7d..00000000000
--- a/addons/point_of_sale/wizard/pos_payment_report_date.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-
-import time
-
-from osv import osv
-from osv import fields
-
-
-class pos_payment_report_date(osv.osv_memory):
- _name = 'pos.payment.report.date'
- _description = 'POS Payment Report according to date'
-
- def print_report(self, cr, uid, ids, context=None):
- """
- To get the date and print the report
- @param self: The object pointer.
- @param cr: A database cursor
- @param uid: ID of the user currently logged in
- @param context: A standard dictionary
- @return : retrun report
- """
- if context is None:
- context = {}
- datas = {'ids': context.get('active_ids', [])}
- res = self.read(cr, uid, ids, ['date_start', 'date_end', 'user_id'], context=context)
- res = res and res[0] or {}
- datas['form'] = res
- if res.get('id',False):
- datas['ids']=[res['id']]
- return {
- 'type': 'ir.actions.report.xml',
- 'report_name': 'pos.payment.report.date',
- 'datas': datas,
- }
-
- _columns = {
- 'date_start': fields.date('Start Date', required=True),
- 'date_end': fields.date('End Date', required=True),
- 'user_id': fields.many2many('res.users', 'res_user_sale_date', 'user_id', 'sale_id', 'Salesman')
- }
- _defaults = {
- 'date_start': lambda *a: time.strftime('%Y-%m-%d'),
- 'date_end': lambda *a: time.strftime('%Y-%m-%d'),
- }
-
-pos_payment_report_date()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/addons/point_of_sale/wizard/pos_payment_report_date_view.xml b/addons/point_of_sale/wizard/pos_payment_report_date_view.xml
deleted file mode 100644
index 7c74ae1d9be..00000000000
--- a/addons/point_of_sale/wizard/pos_payment_report_date_view.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<openerp>
- <data>
- <record id="pos_payment_report_date_form" model="ir.ui.view">
- <field name="name">pos.payment.report.date.form</field>
- <field name="model">pos.payment.report.date</field>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <form string="Sale by Date and User">
- <group col="4" colspan="4">
- <separator string="Dates" colspan="4"/>
- <field name="date_start"/>
- <field name="date_end"/>
- <separator string="User" colspan="4"/>
- <field name="user_id" nolabel="1" colspan="4"/>
- <separator string="" colspan="4"/>
- <label string="" colspan="2"/>
- <group colspan="2" col="2">
- <button icon='gtk-cancel' special="cancel"
- string="Close" />
- <button name="print_report" string="Print Report"
- colspan="1" type="object" icon="gtk-print" />
- </group>
- </group>
- </form>
- </field>
- </record>
-
- <record id="action_report_pos_payment_repport_date" model="ir.actions.act_window">
- <field name="name">Sales by Products</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">pos.payment.report.date</field>
- <field name="view_type">form</field>
- <field name="view_mode">form</field>
- <field name="target">new</field>
- </record>
- </data>
-</openerp>
diff --git a/addons/portal/__openerp__.py b/addons/portal/__openerp__.py
index 1b3be74c79f..035ee45b4df 100644
--- a/addons/portal/__openerp__.py
+++ b/addons/portal/__openerp__.py
@@ -24,7 +24,7 @@
'version' : "1.0",
'depends' : ["base", "share"],
'author' : "OpenERP SA",
- 'category': 'Hidden',
+ 'category': 'Portal',
'description': """
This module defines 'portals' to customize the access to your OpenERP database
for external users.
@@ -45,7 +45,6 @@ module 'share'.
'wizard/share_wizard_view.xml',
],
'installable': True,
- 'certificate' : '',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/process/__openerp__.py b/addons/process/__openerp__.py
index e35ae2b06ae..4af045ff6bb 100644
--- a/addons/process/__openerp__.py
+++ b/addons/process/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Enterprise Process',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
This module shows the basic processes involved in the selected modules and in the sequence they occur.
======================================================================================================
diff --git a/addons/procurement/i18n/hr.po b/addons/procurement/i18n/hr.po
new file mode 100644
index 00000000000..ae7312f9da2
--- /dev/null
+++ b/addons/procurement/i18n/hr.po
@@ -0,0 +1,890 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-12-11 22:33+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-12 05:17+0000\n"
+"X-Generator: Launchpad (build 14458)\n"
+
+#. module: procurement
+#: view:make.procurement:0
+msgid "Ask New Products"
+msgstr "Traži nove artikle"
+
+#. module: procurement
+#: model:ir.ui.menu,name:procurement.menu_stock_sched
+msgid "Schedulers"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_make_procurement
+msgid "Make Procurements"
+msgstr ""
+
+#. module: procurement
+#: help:procurement.order.compute.all,automatic:0
+msgid ""
+"Triggers an automatic procurement for all products that have a virtual stock "
+"under 0. You should probably not use this option, we suggest using a MTO "
+"configuration on products."
+msgstr ""
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Group By..."
+msgstr "Grupiraj po..."
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,procurement_draft_ids:0
+msgid "Draft procurement of the product and location of that orderpoint"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:288
+#, python-format
+msgid "No supplier defined for this product !"
+msgstr ""
+
+#. module: procurement
+#: field:make.procurement,uom_id:0
+msgid "Unit of Measure"
+msgstr "Jedinica mjere"
+
+#. module: procurement
+#: field:procurement.order,procure_method:0
+msgid "Procurement Method"
+msgstr "Metoda nabave"
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:304
+#, python-format
+msgid "No address defined for the supplier"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.action_procurement_compute
+msgid "Compute Stock Minimum Rules Only"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,company_id:0
+#: field:stock.warehouse.orderpoint,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,product_uos_qty:0
+msgid "UoS Quantity"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+#: field:procurement.order,name:0
+msgid "Reason"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order.compute:0
+msgid "Compute Procurements"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,message:0
+msgid "Latest error"
+msgstr ""
+
+#. module: procurement
+#: help:mrp.property,composition:0
+msgid "Not used in computations, for information purpose only."
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,procurement_id:0
+msgid "Latest procurement"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Notes"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,procure_method:0
+msgid "on order"
+msgstr ""
+
+#. module: procurement
+#: help:procurement.order,message:0
+msgid "Exception occurred while computing procurement orders."
+msgstr ""
+
+#. module: procurement
+#: help:procurement.order,state:0
+msgid ""
+"When a procurement is created the state is set to 'Draft'.\n"
+" If the procurement is confirmed, the state is set to 'Confirmed'. "
+" \n"
+"After confirming the state is set to 'Running'.\n"
+" If any exception arises in the order then the state is set to 'Exception'.\n"
+" Once the exception is removed the state becomes 'Ready'.\n"
+" It is in 'Waiting'. state when the procurement is waiting for another one "
+"to finish."
+msgstr ""
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Minimum Stock Rules Search"
+msgstr ""
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,product_min_qty:0
+msgid ""
+"When the virtual stock goes belong the Min Quantity, OpenERP generates a "
+"procurement to bring the virtual stock to the Max Quantity."
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order.compute.all:0
+msgid "Scheduler Parameters"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_stock_move
+msgid "Stock Move"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Planification"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Ready"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order.compute.all,automatic:0
+msgid "Automatic orderpoint"
+msgstr ""
+
+#. module: procurement
+#: field:mrp.property,composition:0
+msgid "Properties composition"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Confirmed"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Retry"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order.compute:0
+#: view:procurement.orderpoint.compute:0
+msgid "Parameters"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Confirm"
+msgstr ""
+
+#. module: procurement
+#: help:procurement.order,origin:0
+msgid ""
+"Reference of the document that created this Procurement.\n"
+"This is automatically completed by OpenERP."
+msgstr ""
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Procurement Orders to Process"
+msgstr ""
+
+#. module: procurement
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,priority:0
+msgid "Priority"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+#: field:procurement.order,state:0
+msgid "State"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,location_id:0
+#: view:stock.warehouse.orderpoint:0
+#: field:stock.warehouse.orderpoint,location_id:0
+msgid "Location"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_stock_picking
+msgid "Picking List"
+msgstr ""
+
+#. module: procurement
+#: field:make.procurement,warehouse_id:0
+#: view:stock.warehouse.orderpoint:0
+#: field:stock.warehouse.orderpoint,warehouse_id:0
+msgid "Warehouse"
+msgstr ""
+
+#. module: procurement
+#: selection:stock.warehouse.orderpoint,logic:0
+msgid "Best price (not yet active!)"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Product & Location"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_order_compute
+msgid "Compute Procurement"
+msgstr ""
+
+#. module: procurement
+#: model:ir.module.module,shortdesc:procurement.module_meta_information
+#: field:stock.move,procurements:0
+msgid "Procurements"
+msgstr ""
+
+#. module: procurement
+#: field:res.company,schedule_range:0
+msgid "Scheduler Range Days"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,help:procurement.procurement_action
+msgid ""
+"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."
+msgstr ""
+
+#. module: procurement
+#: field:make.procurement,date_planned:0
+msgid "Planned Date"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Group By"
+msgstr ""
+
+#. module: procurement
+#: field:make.procurement,qty:0
+#: field:procurement.order,product_qty:0
+msgid "Quantity"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:377
+#, python-format
+msgid "Not enough stock and no minimum orderpoint rule defined."
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:137
+#, python-format
+msgid "Invalid action !"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "References"
+msgstr ""
+
+#. module: procurement
+#: view:res.company:0
+msgid "Configuration"
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,qty_multiple:0
+msgid "Qty Multiple"
+msgstr ""
+
+#. module: procurement
+#: help:procurement.order,procure_method:0
+msgid ""
+"If you encode manually a Procurement, you probably want to use a make to "
+"order method."
+msgstr ""
+
+#. module: procurement
+#: model:ir.ui.menu,name:procurement.menu_stock_procurement
+msgid "Automatic Procurements"
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,product_max_qty:0
+msgid "Max Quantity"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_order
+#: model:process.process,name:procurement.process_process_procurementprocess0
+#: view:procurement.order:0
+msgid "Procurement"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.procurement_action
+msgid "Procurement Orders"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "To Fix"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Exceptions"
+msgstr ""
+
+#. module: procurement
+#: model:process.node,note:procurement.process_node_serviceonorder0
+msgid "Assignment from Production or Purchase Order."
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_mrp_property
+msgid "Property"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.act_make_procurement
+#: view:make.procurement:0
+msgid "Procurement Request"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.orderpoint.compute:0
+msgid "Compute Stock"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Late"
+msgstr ""
+
+#. module: procurement
+#: model:process.process,name:procurement.process_process_serviceproductprocess0
+msgid "Service"
+msgstr ""
+
+#. module: procurement
+#: model:ir.module.module,description:procurement.module_meta_information
+msgid ""
+"\n"
+" This is the module for computing Procurements.\n"
+" "
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,procurement_draft_ids:0
+msgid "Related Procurement Orders"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.orderpoint.compute:0
+msgid ""
+"Wizard checks all the stock minimum rules and generate procurement order."
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,product_min_qty:0
+msgid "Min Quantity"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Urgent"
+msgstr ""
+
+#. module: procurement
+#: selection:mrp.property,composition:0
+msgid "plus"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:325
+#, python-format
+msgid ""
+"Please check the Quantity in Procurement Order(s), it should not be less "
+"than 1!"
+msgstr ""
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,active:0
+msgid ""
+"If the active field is set to False, it will allow you to hide the "
+"orderpoint without removing it."
+msgstr ""
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,product_max_qty:0
+msgid ""
+"When the virtual stock goes belong the Max Quantity, OpenERP generates a "
+"procurement to bring the virtual stock to the Max Quantity."
+msgstr ""
+
+#. module: procurement
+#: help:procurement.orderpoint.compute,automatic:0
+msgid "If the stock of a product is under 0, it will act like an orderpoint"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Procurement Lines"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order.compute.all:0
+msgid ""
+"This wizard allows you to run all procurement, production and/or purchase "
+"orders that should be processed based on their configuration. By default, "
+"the scheduler is launched automatically every night by OpenERP. You can use "
+"this menu to force it to be launched now. Note that it runs in the "
+"background, you may have to wait for a few minutes until it has finished "
+"computing."
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+#: field:procurement.order,note:0
+msgid "Note"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order.compute:0
+msgid "This wizard will schedule procurements."
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Status"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Normal"
+msgstr ""
+
+#. module: procurement
+#: constraint:stock.move:0
+msgid "You try to assign a lot which is not from the same product"
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,active:0
+msgid "Active"
+msgstr ""
+
+#. module: procurement
+#: model:process.node,name:procurement.process_node_procureproducts0
+msgid "Procure Products"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,date_planned:0
+msgid "Scheduled date"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Exception"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/schedulers.py:179
+#, python-format
+msgid "Automatic OP: %s"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_orderpoint_compute
+msgid "Automatic Order Point"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Extra Information"
+msgstr ""
+
+#. module: procurement
+#: help:procurement.order,name:0
+msgid "Procurement name."
+msgstr ""
+
+#. module: procurement
+#: constraint:stock.move:0
+msgid "You must assign a production lot for this product"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Procurement Reason"
+msgstr ""
+
+#. module: procurement
+#: sql_constraint:stock.warehouse.orderpoint:0
+msgid "Qty Multiple must be greater than zero."
+msgstr ""
+
+#. module: procurement
+#: selection:stock.warehouse.orderpoint,logic:0
+msgid "Order to Max"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,date_close:0
+msgid "Date Closed"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:372
+#, python-format
+msgid "Procurement '%s' is in exception: not enough stock."
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:138
+#, python-format
+msgid "Cannot delete Procurement Order(s) which are in %s State!"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:324
+#, python-format
+msgid "Data Insufficient !"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_mrp_property_group
+#: field:mrp.property,group_id:0
+#: field:mrp.property.group,name:0
+msgid "Property Group"
+msgstr ""
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Misc"
+msgstr ""
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Locations"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,procure_method:0
+msgid "from stock"
+msgstr ""
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "General Information"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Run Procurement"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Done"
+msgstr ""
+
+#. module: procurement
+#: help:stock.warehouse.orderpoint,qty_multiple:0
+msgid "The procurement quantity will by rounded up to this multiple."
+msgstr ""
+
+#. module: procurement
+#: view:make.procurement:0
+#: view:procurement.order:0
+#: selection:procurement.order,state:0
+#: view:procurement.order.compute:0
+#: view:procurement.order.compute.all:0
+#: view:procurement.orderpoint.compute:0
+msgid "Cancel"
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,logic:0
+msgid "Reordering Mode"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,origin:0
+msgid "Source Document"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Not urgent"
+msgstr ""
+
+#. module: procurement
+#: model:ir.model,name:procurement.model_procurement_order_compute_all
+msgid "Compute all schedulers"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Current"
+msgstr ""
+
+#. module: procurement
+#: view:board.board:0
+msgid "Procurements in Exception"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Details"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.procurement_action5
+#: model:ir.actions.act_window,name:procurement.procurement_action_board
+#: model:ir.actions.act_window,name:procurement.procurement_exceptions
+#: model:ir.ui.menu,name:procurement.menu_stock_procurement_action
+msgid "Procurement Exceptions"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.act_procurement_2_stock_warehouse_orderpoint
+#: model:ir.actions.act_window,name:procurement.act_product_product_2_stock_warehouse_orderpoint
+#: model:ir.actions.act_window,name:procurement.act_stock_warehouse_2_stock_warehouse_orderpoint
+#: model:ir.actions.act_window,name:procurement.action_orderpoint_form
+#: model:ir.ui.menu,name:procurement.menu_stock_order_points
+#: view:stock.warehouse.orderpoint:0
+msgid "Minimum Stock Rules"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,close_move:0
+msgid "Close Move at end"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Scheduled Date"
+msgstr ""
+
+#. module: procurement
+#: field:make.procurement,product_id:0
+#: view:procurement.order:0
+#: field:procurement.order,product_id:0
+#: field:stock.warehouse.orderpoint,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Temporary"
+msgstr ""
+
+#. module: procurement
+#: field:mrp.property,description:0
+#: field:mrp.property.group,description:0
+msgid "Description"
+msgstr ""
+
+#. module: procurement
+#: selection:mrp.property,composition:0
+msgid "min"
+msgstr ""
+
+#. module: procurement
+#: view:stock.warehouse.orderpoint:0
+msgid "Quantity Rules"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Running"
+msgstr ""
+
+#. module: procurement
+#: field:stock.warehouse.orderpoint,product_uom:0
+msgid "Product UOM"
+msgstr ""
+
+#. module: procurement
+#: model:process.node,name:procurement.process_node_serviceonorder0
+msgid "Make to Order"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "UOM"
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,state:0
+msgid "Waiting"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,help:procurement.action_orderpoint_form
+msgid ""
+"You can define your minimum stock rules, so that OpenERP will automatically "
+"create draft manufacturing orders or purchase quotations according to the "
+"stock level. Once the virtual stock of a product (= stock on hand minus all "
+"confirmed orders and reservations) is below the minimum quantity, OpenERP "
+"will generate a procurement request to increase the stock up to the maximum "
+"quantity."
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,move_id:0
+msgid "Reservation"
+msgstr ""
+
+#. module: procurement
+#: model:process.node,note:procurement.process_node_procureproducts0
+msgid "The way to procurement depends on the product type."
+msgstr ""
+
+#. module: procurement
+#: view:make.procurement:0
+msgid ""
+"This wizard will plan the procurement for this product. This procurement may "
+"generate task, production orders or purchase orders."
+msgstr ""
+
+#. module: procurement
+#: view:res.company:0
+msgid "MRP & Logistics Scheduler"
+msgstr ""
+
+#. module: procurement
+#: field:mrp.property,name:0
+#: field:stock.warehouse.orderpoint,name:0
+msgid "Name"
+msgstr ""
+
+#. module: procurement
+#: selection:mrp.property,composition:0
+msgid "max"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,product_uos:0
+msgid "Product UoS"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/procurement.py:353
+#, python-format
+msgid "from stock: products assigned."
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,name:procurement.action_compute_schedulers
+#: model:ir.ui.menu,name:procurement.menu_stock_proc_schedulers
+#: view:procurement.order.compute.all:0
+msgid "Compute Schedulers"
+msgstr ""
+
+#. module: procurement
+#: model:ir.actions.act_window,help:procurement.procurement_exceptions
+msgid ""
+"Procurement Orders represent the need for a certain quantity of products, at "
+"a given time, in a given location. Sales Orders are one typical source of "
+"Procurement Orders (but these are distinct documents). Depending on the "
+"procurement parameters and the product configuration, the procurement engine "
+"will attempt to satisfy the need by reserving products from stock, ordering "
+"products from a supplier, or passing a manufacturing order, etc. A "
+"Procurement Exception occurs when the system cannot find a way to fulfill a "
+"procurement. Some exceptions will resolve themselves automatically, but "
+"others require manual intervention (those are identified by a specific error "
+"message)."
+msgstr ""
+
+#. module: procurement
+#: field:procurement.order,product_uom:0
+msgid "Product UoM"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Search Procurement"
+msgstr ""
+
+#. module: procurement
+#: help:res.company,schedule_range:0
+msgid ""
+"This is the time frame analysed by the scheduler when computing "
+"procurements. All procurements that are not between today and today+range "
+"are skipped for future computation."
+msgstr ""
+
+#. module: procurement
+#: selection:procurement.order,priority:0
+msgid "Very Urgent"
+msgstr ""
+
+#. module: procurement
+#: field:procurement.orderpoint.compute,automatic:0
+msgid "Automatic Orderpoint"
+msgstr ""
+
+#. module: procurement
+#: view:procurement.order:0
+msgid "Procurement Details"
+msgstr ""
+
+#. module: procurement
+#: code:addons/procurement/schedulers.py:180
+#, python-format
+msgid "SCHEDULER"
+msgstr ""
diff --git a/addons/procurement/i18n/pt.po b/addons/procurement/i18n/pt.po
index 7fbcfb0ec74..46c8e44879b 100644
--- a/addons/procurement/i18n/pt.po
+++ b/addons/procurement/i18n/pt.po
@@ -8,29 +8,29 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-12-12 02:18+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"PO-Revision-Date: 2011-12-10 13:18+0000\n"
+"Last-Translator: Paulino Ascenção <Unknown>\n"
"Language-Team: Portuguese <pt@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: 2011-11-05 05:48+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-11 05:36+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: procurement
#: view:make.procurement:0
msgid "Ask New Products"
-msgstr ""
+msgstr "Pedir novos produtos"
#. module: procurement
#: model:ir.ui.menu,name:procurement.menu_stock_sched
msgid "Schedulers"
-msgstr ""
+msgstr "Planeadores"
#. module: procurement
#: model:ir.model,name:procurement.model_make_procurement
msgid "Make Procurements"
-msgstr ""
+msgstr "Elaborar aprovisionamentos"
#. module: procurement
#: help:procurement.order.compute.all,automatic:0
@@ -39,6 +39,9 @@ msgid ""
"under 0. You should probably not use this option, we suggest using a MTO "
"configuration on products."
msgstr ""
+"Aciona um aprovisionamento automático para todos os artigos que tenham um "
+"stock virtual abaixo de zero. Não deverá utilizar esta opção, sugerimos a "
+"utilização de uma configuração 'produzir por encomenda' nos artigos."
#. module: procurement
#: view:stock.warehouse.orderpoint:0
@@ -49,6 +52,7 @@ msgstr "Agrupar por..."
#: help:stock.warehouse.orderpoint,procurement_draft_ids:0
msgid "Draft procurement of the product and location of that orderpoint"
msgstr ""
+"Aprovisionamento rascunho do artigo e localização do ponto de encomenda."
#. module: procurement
#: code:addons/procurement/procurement.py:288
@@ -64,7 +68,7 @@ msgstr "Unidade de medida"
#. module: procurement
#: field:procurement.order,procure_method:0
msgid "Procurement Method"
-msgstr ""
+msgstr "Método de aprovisionamento"
#. module: procurement
#: code:addons/procurement/procurement.py:304
@@ -75,7 +79,7 @@ msgstr "Não há um endereço definido para este fornecedor!"
#. module: procurement
#: model:ir.actions.act_window,name:procurement.action_procurement_compute
msgid "Compute Stock Minimum Rules Only"
-msgstr ""
+msgstr "Calcular apenas regras de stock mínimo."
#. module: procurement
#: field:procurement.order,company_id:0
@@ -86,23 +90,23 @@ msgstr "Empresa"
#. module: procurement
#: field:procurement.order,product_uos_qty:0
msgid "UoS Quantity"
-msgstr ""
+msgstr "Quantidade UdV"
#. module: procurement
#: view:procurement.order:0
#: field:procurement.order,name:0
msgid "Reason"
-msgstr ""
+msgstr "Motivo"
#. module: procurement
#: view:procurement.order.compute:0
msgid "Compute Procurements"
-msgstr ""
+msgstr "Processar aprovisionamentos"
#. module: procurement
#: field:procurement.order,message:0
msgid "Latest error"
-msgstr ""
+msgstr "Último erro"
#. module: procurement
#: help:mrp.property,composition:0
@@ -112,22 +116,22 @@ msgstr "Não utilizado em cálculos, apenas para informação."
#. module: procurement
#: field:stock.warehouse.orderpoint,procurement_id:0
msgid "Latest procurement"
-msgstr ""
+msgstr "Último aprovisionamento"
#. module: procurement
#: view:procurement.order:0
msgid "Notes"
-msgstr ""
+msgstr "Notas"
#. module: procurement
#: selection:procurement.order,procure_method:0
msgid "on order"
-msgstr ""
+msgstr "a pedido"
#. module: procurement
#: help:procurement.order,message:0
msgid "Exception occurred while computing procurement orders."
-msgstr ""
+msgstr "Excepção ocorreu ao processar ordens de aprovisionamento"
#. module: procurement
#: help:procurement.order,state:0
@@ -141,11 +145,19 @@ msgid ""
" It is in 'Waiting'. state when the procurement is waiting for another one "
"to finish."
msgstr ""
+"Quando um aprovisionamento (ordem de) é criada, o estado é 'Rascunho'.\n"
+" Se o aprovisionamento é confirmado, o estado passa a 'Confirmado'. "
+" \n"
+"Depois de despoletado, o estado passa a 'Em curso'.\n"
+" Se ocorre alguma escepção, o estado fica como 'Exceção'.\n"
+" Depois de resolvida a exceção, o estado passa para 'Pronto'.\n"
+" O estado 'Em espera' significa que aguarda que outro aprovisionamento "
+"termine."
#. module: procurement
#: view:stock.warehouse.orderpoint:0
msgid "Minimum Stock Rules Search"
-msgstr ""
+msgstr "Pesquisa de regras de stock mínimo"
#. module: procurement
#: help:stock.warehouse.orderpoint,product_min_qty:0
@@ -153,16 +165,19 @@ msgid ""
"When the virtual stock goes belong the Min Quantity, OpenERP generates a "
"procurement to bring the virtual stock to the Max Quantity."
msgstr ""
+"Quando o stock virtual desce abaixo da quantidade mínima, OpenERP gera uma "
+"ordem de aprovisionamento para elevar o stock virtual até à quantidade "
+"máxima."
#. module: procurement
#: view:procurement.order.compute.all:0
msgid "Scheduler Parameters"
-msgstr ""
+msgstr "Parâmetros do planeador"
#. module: procurement
#: model:ir.model,name:procurement.model_stock_move
msgid "Stock Move"
-msgstr ""
+msgstr "Movemento de stock"
#. module: procurement
#: view:procurement.order:0
@@ -172,22 +187,22 @@ msgstr "Planeamento"
#. module: procurement
#: selection:procurement.order,state:0
msgid "Ready"
-msgstr ""
+msgstr "Pronto"
#. module: procurement
#: field:procurement.order.compute.all,automatic:0
msgid "Automatic orderpoint"
-msgstr ""
+msgstr "Ponto de ordem automática"
#. module: procurement
#: field:mrp.property,composition:0
msgid "Properties composition"
-msgstr ""
+msgstr "Composição da spropriedades"
#. module: procurement
#: selection:procurement.order,state:0
msgid "Confirmed"
-msgstr ""
+msgstr "Confirmado"
#. module: procurement
#: view:procurement.order:0
@@ -211,11 +226,13 @@ msgid ""
"Reference of the document that created this Procurement.\n"
"This is automatically completed by OpenERP."
msgstr ""
+"Referência do documento que criou este aprovisionamento.\n"
+"É preenchido automaticamente pelo OpenERP."
#. module: procurement
#: view:stock.warehouse.orderpoint:0
msgid "Procurement Orders to Process"
-msgstr ""
+msgstr "Ordens de aprovisionamento por processar"
#. module: procurement
#: constraint:res.company:0
@@ -238,12 +255,12 @@ msgstr "Estado"
#: view:stock.warehouse.orderpoint:0
#: field:stock.warehouse.orderpoint,location_id:0
msgid "Location"
-msgstr ""
+msgstr "Localização"
#. module: procurement
#: model:ir.model,name:procurement.model_stock_picking
msgid "Picking List"
-msgstr ""
+msgstr "Lista de entrega/receção"
#. module: procurement
#: field:make.procurement,warehouse_id:0
@@ -260,23 +277,23 @@ msgstr "Melhor preço (ainda não activado!)"
#. module: procurement
#: view:procurement.order:0
msgid "Product & Location"
-msgstr ""
+msgstr "Produto e localização"
#. module: procurement
#: model:ir.model,name:procurement.model_procurement_order_compute
msgid "Compute Procurement"
-msgstr ""
+msgstr "Calcular aprovisionamento"
#. module: procurement
#: model:ir.module.module,shortdesc:procurement.module_meta_information
#: field:stock.move,procurements:0
msgid "Procurements"
-msgstr ""
+msgstr "Aprovisionamentos"
#. module: procurement
#: field:res.company,schedule_range:0
msgid "Scheduler Range Days"
-msgstr ""
+msgstr "Dias de alcance do planeador"
#. module: procurement
#: model:ir.actions.act_window,help:procurement.procurement_action
@@ -288,6 +305,12 @@ msgid ""
"operations to fullfil the need: purchase order proposition, manufacturing "
"order, etc."
msgstr ""
+"Uma ordem de aprovisionamento é usada para registar a necessidade de um "
+"artigo num local específico. As ordens de aprovisionamento em regra criadas "
+"automaticamente a partir das ordens de venda, de uma regra logistica 'Pull' "
+"(puxa) ou de uma regra de stock mínimo. Quando a ordem de aprovisionamento é "
+"confirmada, cria automaticamente as operações necessárias para satisfazer a "
+"necessidade: ordens de compra e/ou ordens de produção, etc."
#. module: procurement
#: field:make.procurement,date_planned:0
@@ -309,7 +332,7 @@ msgstr "Quantidade"
#: code:addons/procurement/procurement.py:377
#, python-format
msgid "Not enough stock and no minimum orderpoint rule defined."
-msgstr ""
+msgstr "Sem stock suficiente, nem regra de stock minimo definida."
#. module: procurement
#: code:addons/procurement/procurement.py:137
@@ -330,7 +353,7 @@ msgstr "Configuração"
#. module: procurement
#: field:stock.warehouse.orderpoint,qty_multiple:0
msgid "Qty Multiple"
-msgstr ""
+msgstr "Multiplo de quantidade"
#. module: procurement
#: help:procurement.order,procure_method:0
@@ -338,11 +361,13 @@ msgid ""
"If you encode manually a Procurement, you probably want to use a make to "
"order method."
msgstr ""
+"Se regista um aprovisionamento manualmente, provavelmente quer usar o método "
+"produzir para ordens."
#. module: procurement
#: model:ir.ui.menu,name:procurement.menu_stock_procurement
msgid "Automatic Procurements"
-msgstr ""
+msgstr "Aprovisionamentos automáticos"
#. module: procurement
#: field:stock.warehouse.orderpoint,product_max_qty:0
@@ -354,17 +379,17 @@ msgstr "Quantidade máxima"
#: model:process.process,name:procurement.process_process_procurementprocess0
#: view:procurement.order:0
msgid "Procurement"
-msgstr ""
+msgstr "Aprovisionamento"
#. module: procurement
#: model:ir.actions.act_window,name:procurement.procurement_action
msgid "Procurement Orders"
-msgstr ""
+msgstr "Ordens de aprovisionamento"
#. module: procurement
#: view:procurement.order:0
msgid "To Fix"
-msgstr ""
+msgstr "Por corrigir"
#. module: procurement
#: view:procurement.order:0
@@ -374,7 +399,7 @@ msgstr "Exceções"
#. module: procurement
#: model:process.node,note:procurement.process_node_serviceonorder0
msgid "Assignment from Production or Purchase Order."
-msgstr ""
+msgstr "Atribuição desde ordem de produção ou de compra"
#. module: procurement
#: model:ir.model,name:procurement.model_mrp_property
@@ -385,17 +410,17 @@ msgstr "Propriedade"
#: model:ir.actions.act_window,name:procurement.act_make_procurement
#: view:make.procurement:0
msgid "Procurement Request"
-msgstr ""
+msgstr "Requisição de aprovisionamento"
#. module: procurement
#: view:procurement.orderpoint.compute:0
msgid "Compute Stock"
-msgstr ""
+msgstr "Calcular stock"
#. module: procurement
#: view:procurement.order:0
msgid "Late"
-msgstr ""
+msgstr "Tardio"
#. module: procurement
#: model:process.process,name:procurement.process_process_serviceproductprocess0
@@ -409,17 +434,22 @@ msgid ""
" This is the module for computing Procurements.\n"
" "
msgstr ""
+"\n"
+" Este é o modulo para processamento de aprovisionamentos\n"
+" "
#. module: procurement
#: field:stock.warehouse.orderpoint,procurement_draft_ids:0
msgid "Related Procurement Orders"
-msgstr ""
+msgstr "Ordens de aprovisionamento relacionadas"
#. module: procurement
#: view:procurement.orderpoint.compute:0
msgid ""
"Wizard checks all the stock minimum rules and generate procurement order."
msgstr ""
+"O assistente verifica todas as regras de stock mínimo e gera as ordens de "
+"aprovisionamento"
#. module: procurement
#: field:stock.warehouse.orderpoint,product_min_qty:0
@@ -443,6 +473,8 @@ msgid ""
"Please check the Quantity in Procurement Order(s), it should not be less "
"than 1!"
msgstr ""
+"Verifique a quantidade nas ordens de aprovisionamento, deve ser maior que "
+"zero!"
#. module: procurement
#: help:stock.warehouse.orderpoint,active:0
@@ -450,6 +482,8 @@ msgid ""
"If the active field is set to False, it will allow you to hide the "
"orderpoint without removing it."
msgstr ""
+"Se o campo 'ativo' for falso, perite ocultar o ponto de encomenda, sem o "
+"remover."
#. module: procurement
#: help:stock.warehouse.orderpoint,product_max_qty:0
@@ -462,11 +496,13 @@ msgstr ""
#: help:procurement.orderpoint.compute,automatic:0
msgid "If the stock of a product is under 0, it will act like an orderpoint"
msgstr ""
+"Se o stock de um artigo é inferior a 0, vai comportar-se como um ponto de "
+"encomenda."
#. module: procurement
#: view:procurement.order:0
msgid "Procurement Lines"
-msgstr ""
+msgstr "Linhas de aprovisionamento"
#. module: procurement
#: view:procurement.order.compute.all:0
@@ -483,7 +519,7 @@ msgstr ""
#: view:procurement.order:0
#: field:procurement.order,note:0
msgid "Note"
-msgstr ""
+msgstr "Nota"
#. module: procurement
#: selection:procurement.order,state:0
@@ -493,7 +529,7 @@ msgstr "Rascunho"
#. module: procurement
#: view:procurement.order.compute:0
msgid "This wizard will schedule procurements."
-msgstr ""
+msgstr "O assistente vai programar os aprovisionamentos."
#. module: procurement
#: view:procurement.order:0
@@ -508,17 +544,17 @@ msgstr "Normal"
#. module: procurement
#: constraint:stock.move:0
msgid "You try to assign a lot which is not from the same product"
-msgstr ""
+msgstr "Está a tentar associar a um lote, que não é do mesmo artigo."
#. module: procurement
#: field:stock.warehouse.orderpoint,active:0
msgid "Active"
-msgstr ""
+msgstr "Ativo"
#. module: procurement
#: model:process.node,name:procurement.process_node_procureproducts0
msgid "Procure Products"
-msgstr ""
+msgstr "Artigos a aprovisionar"
#. module: procurement
#: field:procurement.order,date_planned:0
@@ -539,12 +575,12 @@ msgstr ""
#. module: procurement
#: model:ir.model,name:procurement.model_procurement_orderpoint_compute
msgid "Automatic Order Point"
-msgstr ""
+msgstr "Ponto de encomenda automático"
#. module: procurement
#: model:ir.model,name:procurement.model_stock_warehouse_orderpoint
msgid "Minimum Inventory Rule"
-msgstr ""
+msgstr "Regra de inventário mínimo"
#. module: procurement
#: model:ir.model,name:procurement.model_res_company
@@ -559,7 +595,7 @@ msgstr "Informação extra"
#. module: procurement
#: help:procurement.order,name:0
msgid "Procurement name."
-msgstr ""
+msgstr "Nome do aprovisionamento"
#. module: procurement
#: constraint:stock.move:0
@@ -569,12 +605,12 @@ msgstr "Tem de associar um lote de produção a este produto"
#. module: procurement
#: view:procurement.order:0
msgid "Procurement Reason"
-msgstr ""
+msgstr "Motivo do aprovisionamento"
#. module: procurement
#: sql_constraint:stock.warehouse.orderpoint:0
msgid "Qty Multiple must be greater than zero."
-msgstr ""
+msgstr "O multiplo da quantidade deve ser maior que zero."
#. module: procurement
#: selection:stock.warehouse.orderpoint,logic:0
@@ -590,13 +626,13 @@ msgstr ""
#: code:addons/procurement/procurement.py:372
#, python-format
msgid "Procurement '%s' is in exception: not enough stock."
-msgstr ""
+msgstr "O aprovisionamento '%s' está em exceção: stock insuficiente."
#. module: procurement
#: code:addons/procurement/procurement.py:138
#, python-format
msgid "Cannot delete Procurement Order(s) which are in %s State!"
-msgstr ""
+msgstr "Não pode eliminar uma ordem de aprovisionamento no estado '%s'!"
#. module: procurement
#: code:addons/procurement/procurement.py:324
@@ -609,7 +645,7 @@ msgstr "Insuficiência de dados!"
#: field:mrp.property,group_id:0
#: field:mrp.property.group,name:0
msgid "Property Group"
-msgstr ""
+msgstr "Grupo da propriedade"
#. module: procurement
#: view:stock.warehouse.orderpoint:0
@@ -619,32 +655,33 @@ msgstr "Diversos"
#. module: procurement
#: view:stock.warehouse.orderpoint:0
msgid "Locations"
-msgstr ""
+msgstr "Localizações"
#. module: procurement
#: selection:procurement.order,procure_method:0
msgid "from stock"
-msgstr ""
+msgstr "de stock"
#. module: procurement
#: view:stock.warehouse.orderpoint:0
msgid "General Information"
-msgstr ""
+msgstr "Informação genérica"
#. module: procurement
#: view:procurement.order:0
msgid "Run Procurement"
-msgstr ""
+msgstr "Executar o aprovisionamento"
#. module: procurement
#: selection:procurement.order,state:0
msgid "Done"
-msgstr ""
+msgstr "Concluído"
#. module: procurement
#: help:stock.warehouse.orderpoint,qty_multiple:0
msgid "The procurement quantity will by rounded up to this multiple."
msgstr ""
+"A quantidade do aprovisionamento será arredondada para este múltiplo."
#. module: procurement
#: view:make.procurement:0
@@ -659,7 +696,7 @@ msgstr "Cancelar"
#. module: procurement
#: field:stock.warehouse.orderpoint,logic:0
msgid "Reordering Mode"
-msgstr ""
+msgstr "Modo de reordenação"
#. module: procurement
#: field:procurement.order,origin:0
@@ -674,7 +711,7 @@ msgstr "Não urgente"
#. module: procurement
#: model:ir.model,name:procurement.model_procurement_order_compute_all
msgid "Compute all schedulers"
-msgstr ""
+msgstr "Executar todos os planeadores"
#. module: procurement
#: view:procurement.order:0
@@ -684,7 +721,7 @@ msgstr "Atual"
#. module: procurement
#: view:board.board:0
msgid "Procurements in Exception"
-msgstr ""
+msgstr "Aprovisionamentos em exceção"
#. module: procurement
#: view:procurement.order:0
@@ -697,7 +734,7 @@ msgstr "Detalhes"
#: model:ir.actions.act_window,name:procurement.procurement_exceptions
#: model:ir.ui.menu,name:procurement.menu_stock_procurement_action
msgid "Procurement Exceptions"
-msgstr ""
+msgstr "Exceções de aprovisionamento"
#. module: procurement
#: model:ir.actions.act_window,name:procurement.act_procurement_2_stock_warehouse_orderpoint
@@ -707,12 +744,12 @@ msgstr ""
#: model:ir.ui.menu,name:procurement.menu_stock_order_points
#: view:stock.warehouse.orderpoint:0
msgid "Minimum Stock Rules"
-msgstr ""
+msgstr "Regras de stock mínimo"
#. module: procurement
#: field:procurement.order,close_move:0
msgid "Close Move at end"
-msgstr ""
+msgstr "Fechar movimento no fim"
#. module: procurement
#: view:procurement.order:0
@@ -746,7 +783,7 @@ msgstr "mínimo"
#. module: procurement
#: view:stock.warehouse.orderpoint:0
msgid "Quantity Rules"
-msgstr ""
+msgstr "Regras de quantidade"
#. module: procurement
#: selection:procurement.order,state:0
@@ -756,17 +793,17 @@ msgstr "Em execução"
#. module: procurement
#: field:stock.warehouse.orderpoint,product_uom:0
msgid "Product UOM"
-msgstr ""
+msgstr "UdM do artigo"
#. module: procurement
#: model:process.node,name:procurement.process_node_serviceonorder0
msgid "Make to Order"
-msgstr ""
+msgstr "Produzir por encomenda"
#. module: procurement
#: view:procurement.order:0
msgid "UOM"
-msgstr ""
+msgstr "UdM"
#. module: procurement
#: selection:procurement.order,state:0
@@ -800,11 +837,13 @@ msgid ""
"This wizard will plan the procurement for this product. This procurement may "
"generate task, production orders or purchase orders."
msgstr ""
+"Este assistente vai planear o aprovisionamento para este artigo. Este "
+"aprovisionamento pode gerar uma tarefa, uma ordem de produção ou de compra."
#. module: procurement
#: view:res.company:0
msgid "MRP & Logistics Scheduler"
-msgstr ""
+msgstr "Planeador de produção e logistica"
#. module: procurement
#: field:mrp.property,name:0
@@ -820,20 +859,20 @@ msgstr "máximo"
#. module: procurement
#: field:procurement.order,product_uos:0
msgid "Product UoS"
-msgstr ""
+msgstr "UdV do artigo"
#. module: procurement
#: code:addons/procurement/procurement.py:353
#, python-format
msgid "from stock: products assigned."
-msgstr ""
+msgstr "de stock: produtos atribuidos."
#. module: procurement
#: model:ir.actions.act_window,name:procurement.action_compute_schedulers
#: model:ir.ui.menu,name:procurement.menu_stock_proc_schedulers
#: view:procurement.order.compute.all:0
msgid "Compute Schedulers"
-msgstr ""
+msgstr "Executar planeadores"
#. module: procurement
#: model:ir.actions.act_window,help:procurement.procurement_exceptions
@@ -853,12 +892,12 @@ msgstr ""
#. module: procurement
#: field:procurement.order,product_uom:0
msgid "Product UoM"
-msgstr ""
+msgstr "UdM do artigo"
#. module: procurement
#: view:procurement.order:0
msgid "Search Procurement"
-msgstr ""
+msgstr "Pesquisar aprovisionamento"
#. module: procurement
#: help:res.company,schedule_range:0
@@ -876,15 +915,15 @@ msgstr "Muito urgente"
#. module: procurement
#: field:procurement.orderpoint.compute,automatic:0
msgid "Automatic Orderpoint"
-msgstr ""
+msgstr "Ponto de encomenda automático"
#. module: procurement
#: view:procurement.order:0
msgid "Procurement Details"
-msgstr ""
+msgstr "Detalhes do aprovisionamento"
#. module: procurement
#: code:addons/procurement/schedulers.py:180
#, python-format
msgid "SCHEDULER"
-msgstr ""
+msgstr "PLANEADOR"
diff --git a/addons/product/__openerp__.py b/addons/product/__openerp__.py
index 46740140bbe..81ec3a0ae64 100644
--- a/addons/product/__openerp__.py
+++ b/addons/product/__openerp__.py
@@ -24,7 +24,7 @@
"name" : "Products & Pricelists",
"version" : "1.1",
"author" : "OpenERP SA",
- "category" : "Hidden",
+ 'category': 'Sales Management',
"depends" : ["base", "process", "decimal_precision"],
"init_xml" : [],
"demo_xml" : ["product_demo.xml"],
diff --git a/addons/product/i18n/pt.po b/addons/product/i18n/pt.po
index 1c4bd145d6d..33a6361d03b 100644
--- a/addons/product/i18n/pt.po
+++ b/addons/product/i18n/pt.po
@@ -7,14 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-12-15 06:12+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"PO-Revision-Date: 2011-12-10 12:01+0000\n"
+"Last-Translator: António Anacleto (www.biztek.cv) "
+"<antonio.anacleto@biztek.cv>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:19+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-11 05:36+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: product
#: model:product.template,name:product.product_product_ram512_product_template
@@ -1748,7 +1749,7 @@ msgstr "Produtos por Categoria"
#. module: product
#: model:ir.actions.act_window,name:product.product_category_action_form
#: model:ir.ui.menu,name:product.menu_product_category_action_form
-msgid "Product Categories"
+msgid "Products Categories"
msgstr "Categorias de Produtos"
#. module: product
@@ -1862,7 +1863,7 @@ msgstr ""
#. module: product
#: model:product.template,description:product.product_product_cpu1_product_template
msgid "This product is configured with example of push/pull flows"
-msgstr ""
+msgstr "Este produto está configurado com exemplo de fluxos puxe/empurre"
#. module: product
#: field:product.packaging,length:0
diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml
index e95f2b301b3..6d9483f81ab 100644
--- a/addons/product/product_view.xml
+++ b/addons/product/product_view.xml
@@ -194,7 +194,7 @@
</form>
</field>
</record>
-
+
<!-- Product Kanban View -->
<record model="ir.ui.view" id="product_kanban_view">
<field name="name">Product Kanban</field>
diff --git a/addons/product_manufacturer/__openerp__.py b/addons/product_manufacturer/__openerp__.py
index d04d0724137..3b60b21979c 100644
--- a/addons/product_manufacturer/__openerp__.py
+++ b/addons/product_manufacturer/__openerp__.py
@@ -21,7 +21,7 @@
"name" : "Products Attributes & Manufacturers",
"version" : "1.0",
"author" : "OpenERP SA",
- "category" : "Hidden",
+ 'category': 'Purchase Management',
'complexity': "easy",
"depends" : ["stock"],
"init_xml" : [],
diff --git a/addons/product_margin/__openerp__.py b/addons/product_margin/__openerp__.py
index b412e8b63eb..e484ddddff2 100644
--- a/addons/product_margin/__openerp__.py
+++ b/addons/product_margin/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Margins in Product',
+ 'name': 'Margins by Products',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Sales Management',
'description': """
Adds a reporting menu in products that computes sales, purchases, margins and other interesting indicators based on invoices.
=============================================================================================================================
diff --git a/addons/product_visible_discount/__openerp__.py b/addons/product_visible_discount/__openerp__.py
index d05c3a82c11..c49565f8e29 100644
--- a/addons/product_visible_discount/__openerp__.py
+++ b/addons/product_visible_discount/__openerp__.py
@@ -18,10 +18,10 @@
#
##############################################################################
{
- "name": "Visible Discount",
+ "name": "Visible Discounts on SO",
"version": "1.0",
"author": "OpenERP SA",
- "category": "Hidden",
+ 'category': 'Sales Management',
'complexity': "easy",
"description": """
This module lets you calculate discounts on Sale Order lines and Invoice lines base on the partner's pricelist.
diff --git a/addons/profile_tools/__openerp__.py b/addons/profile_tools/__openerp__.py
index bd8790d1496..3036b038d3f 100644
--- a/addons/profile_tools/__openerp__.py
+++ b/addons/profile_tools/__openerp__.py
@@ -21,11 +21,11 @@
{
- "name" : "Miscellaneous Hidden",
+ "name" : "Miscellaneous Tools",
"version" : "1.0",
"depends" : ["base", "base_setup"],
"author" : "OpenERP SA",
- "category" : "Hidden",
+ "category" : "Tools",
'complexity': "easy",
"description": """
Installer for extra Hidden like lunch, survey, idea, share, etc.
diff --git a/addons/profile_tools/static/src/img/icon.png b/addons/profile_tools/static/src/img/icon.png
new file mode 100644
index 00000000000..d6ba0866777
--- /dev/null
+++ b/addons/profile_tools/static/src/img/icon.png
Binary files differ
diff --git a/addons/project/__openerp__.py b/addons/project/__openerp__.py
index 9132636b56f..e23ce653702 100644
--- a/addons/project/__openerp__.py
+++ b/addons/project/__openerp__.py
@@ -55,7 +55,8 @@ Dashboard for project members that includes:
"res_partner_view.xml",
"report/project_report_view.xml",
"board_project_view.xml",
- 'board_project_manager_view.xml'
+ 'board_project_manager_view.xml',
+ 'report/project_cumulative.xml'
],
'demo_xml': [
'project_demo.xml',
@@ -66,6 +67,7 @@ Dashboard for project members that includes:
],
'installable': True,
'active': False,
+ 'application': True,
'certificate': '0075116868317',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project/board_project_view.xml b/addons/project/board_project_view.xml
index 50fa1b4f613..88424be85fa 100644
--- a/addons/project/board_project_view.xml
+++ b/addons/project/board_project_view.xml
@@ -83,11 +83,10 @@
<form string="My Board">
<board style="2-1">
<column>
- <action name="%(my_open_tasks_action)d" string="My Open Tasks"/>
+ <action name="%(my_open_tasks_action)d" string="My Open Tasks" creatable="true"/>
<action name="%(action_view_delegate_task_tree)d" string="My Delegated Tasks"/>
</column>
<column>
- <action name="%(project.action_project_vs_planned_total_hours_graph)d" string="My Projects: Planned vs Total Hours"/>
<action name="%(project.action_project_vs_remaining_hours_graph)d" string="My Remaining Hours by Project"/>
</column>
</board>
diff --git a/addons/project/project.py b/addons/project/project.py
index abebd2d35ff..5c234cf5e26 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -974,6 +974,24 @@ class task(osv.osv):
def prev_type(self, cr, uid, ids, *args):
return self._change_type(cr, uid, ids, False, *args)
+ def _store_history(self, cr, uid, ids, context=None):
+ for task in self.browse(cr, uid, ids, context=context):
+ self.pool.get('project.task.history').create(cr, uid, {
+ 'task_id': task.id,
+ 'remaining_hours': task.remaining_hours,
+ 'kanban_state': task.kanban_state,
+ 'type_id': task.type_id.id,
+ 'state': task.state,
+ 'user_id': task.user_id.id
+
+ }, context=context)
+ return True
+
+ def create(self, cr, uid, vals, context=None):
+ result = super(task, self).create(cr, uid, vals, context=context)
+ self._store_history(cr, uid, [result], context=context)
+ return result
+
# Overridden to reset the kanban_state to normal whenever
# the stage (type_id) of the task changes.
def write(self, cr, uid, ids, vals, context=None):
@@ -985,8 +1003,12 @@ class task(osv.osv):
for t in self.browse(cr, uid, ids, context=context):
write_vals = vals_reset_kstate if t.type_id != new_stage else vals
super(task,self).write(cr, uid, [t.id], write_vals, context=context)
- return True
- return super(task,self).write(cr, uid, ids, vals, context=context)
+ result = True
+ else:
+ result = super(task,self).write(cr, uid, ids, vals, context=context)
+ if ('type_id' in vals) or ('remaining_hours' in vals) or ('user_id' in vals) or ('state' in vals) or ('kanban_state' in vals):
+ self._store_history(cr, uid, ids, context=context)
+ return result
def unlink(self, cr, uid, ids, context=None):
if context == None:
@@ -1084,4 +1106,91 @@ class account_analytic_account(osv.osv):
account_analytic_account()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+#
+# Tasks History, used for cumulative flow charts (Lean/Agile)
+#
+
+class project_task_history(osv.osv):
+ _name = 'project.task.history'
+ _description = 'History of Tasks'
+ _rec_name = 'task_id'
+ _log_access = False
+ def _get_date(self, cr, uid, ids, name, arg, context=None):
+ result = {}
+ for history in self.browse(cr, uid, ids, context=context):
+ if history.state in ('done','cancelled'):
+ result[history.id] = history.date
+ continue
+ cr.execute('''select
+ date
+ from
+ project_task_history
+ where
+ task_id=%s and
+ id>%s
+ order by id limit 1''', (history.task_id.id, history.id))
+ res = cr.fetchone()
+ result[history.id] = res and res[0] or False
+ return result
+
+ def _get_related_date(self, cr, uid, ids, context=None):
+ result = []
+ for history in self.browse(cr, uid, ids, context=context):
+ cr.execute('''select
+ id
+ from
+ project_task_history
+ where
+ task_id=%s and
+ id<%s
+ order by id desc limit 1''', (history.task_id.id, history.id))
+ res = cr.fetchone()
+ if res:
+ result.append(res[0])
+ return result
+
+ _columns = {
+ 'task_id': fields.many2one('project.task', 'Task', ondelete='cascade', required=True, select=True),
+ 'type_id': fields.many2one('project.task.type', 'Stage'),
+ 'state': fields.selection([('draft', 'New'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done'), ('cancelled', 'Cancelled')], 'State'),
+ 'kanban_state': fields.selection([('normal', 'Normal'),('blocked', 'Blocked'),('done', 'Ready To Pull')], 'Kanban State', required=False),
+ 'date': fields.date('Date', select=True),
+ 'end_date': fields.function(_get_date, string='End Date', type="date", store={
+ 'project.task.history': (_get_related_date, None, 20)
+ }),
+ 'remaining_hours': fields.float('Remaining Hours', digits=(16,2)),
+ 'user_id': fields.many2one('res.users', 'Responsible'),
+ }
+ _defaults = {
+ 'date': lambda s,c,u,ctx: time.strftime('%Y-%m-%d')
+ }
+project_task_history()
+
+class project_task_history_cumulative(osv.osv):
+ _name = 'project.task.history.cumulative'
+ _table = 'project_task_history_cumulative'
+ _inherit = 'project.task.history'
+ _auto = False
+ _columns = {
+ 'end_date': fields.date('End Date'),
+ 'project_id': fields.related('task_id', 'project_id', string='Project', type='many2one', relation='project.project')
+ }
+ def init(self, cr):
+ cr.execute(""" CREATE OR REPLACE VIEW project_task_history_cumulative AS (
+ SELECT
+ history.date::varchar||'-'||history.history_id::varchar as id,
+ history.date as end_date,
+ *
+ FROM (
+ SELECT
+ id as history_id,
+ date+generate_series(0, CAST((coalesce(end_date,DATE 'tomorrow')::date - date)AS integer)-1) as date,
+ task_id, type_id, user_id, kanban_state, state,
+ remaining_hours
+ FROM
+ project_task_history
+ ) as history
+ )
+ """)
+project_task_history_cumulative()
+
diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml
index 7592d24a145..42da9fdefff 100644
--- a/addons/project/project_demo.xml
+++ b/addons/project/project_demo.xml
@@ -77,6 +77,7 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Prepare Requirements Document</field>
<field name="type_id" ref="project_tt_specification"/>
+ <field name="color">3</field>
</record>
<record id="project_task_2" model="project.task">
@@ -94,6 +95,7 @@
<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="type_id" ref="project_tt_specification"/>
</record>
@@ -103,6 +105,9 @@
<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="type_id" ref="project_tt_specification"/>
</record>
@@ -112,6 +117,9 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Quality Planning</field>
+ <field name="kanban_state">done</field>
+ <field name="priority">0</field>
+ <field name="date_deadline" eval="time.strftime('%Y-%m-%d')"/>
<field name="type_id" ref="project_tt_specification"/>
</record>
@@ -139,6 +147,7 @@
<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="type_id" ref="project_tt_specification"/>
</record>
@@ -157,6 +166,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Develop Module in Sale Management</field>
+ <field name="kanban_state">blocked</field>
<field name="type_id" ref="project_tt_development"/>
</record>
@@ -220,6 +230,7 @@
<field name="priority">2</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Performance Tuning</field>
+ <field name="description">Test on Runbot</field>
<field name="type_id" ref="project_tt_specification"/>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_16')]"/>
@@ -329,6 +340,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>
</record>
<record id="project_task_186" model="project.task">
<field name="sequence">15</field>
@@ -338,6 +350,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>
</record>
<record id="project_task_188" model="project.task">
<field name="sequence">17</field>
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index a01f92a8e24..c8fe92f4194 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -313,7 +313,7 @@
</field>
</record>
-
+
<!-- Project Task Kanban View -->
<record model="ir.ui.view" id="view_task_kanban">
<field name="name">project.task.kanban</field>
@@ -526,13 +526,23 @@
<field name="name">Tasks</field>
<field name="res_model">project.task</field>
<field name="view_type">form</field>
- <field name="view_mode">tree,form,calendar,gantt,graph,kanban</field>
+ <field name="view_mode">kanban,tree,form,calendar,gantt,graph</field>
<field eval="False" name="filter"/>
- <field name="view_id" ref="view_task_tree2"/>
+ <field name="view_id" eval="False"/>
<field name="context">{"search_default_draft": 1, "search_default_open":1, "search_default_project_id": project_id}</field>
<field name="search_view_id" ref="view_task_search_form"/>
<field name="help">A task represents a work that has to be done. Each user works in his own list of tasks where he can record his task work in hours. He can work and close the task itself or delegate it to another user. If you delegate a task to another user, you get a new task in pending state, which will be reopened when you have to review the work achieved. If you install the project_timesheet module, task work can be invoiced based on the project configuration. With the project_mrp module, sales orders can create tasks automatically when they are confirmed.</field>
</record>
+ <record id="open_view_task_list_kanban" model="ir.actions.act_window.view">
+ <field name="sequence" eval="0"/>
+ <field name="view_mode">kanban</field>
+ <field name="act_window_id" ref="action_view_task"/>
+ </record>
+ <record id="open_view_task_list_tree" model="ir.actions.act_window.view">
+ <field name="sequence" eval="1"/>
+ <field name="view_mode">tree</field>
+ <field name="act_window_id" ref="action_view_task"/>
+ </record>
<menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_project_management" sequence="3"/>
diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml
new file mode 100644
index 00000000000..aff90aea94e
--- /dev/null
+++ b/addons/project/report/project_cumulative.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+
+ <record id="view_task_history_tree" model="ir.ui.view">
+ <field name="name">project.task.history.cumulative.tree</field>
+ <field name="model">project.task.history.cumulative</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="Tasks's Cumulative Flow">
+ <field name="date"/>
+ <field name="project_id"/>
+ <field name="task_id"/>
+ <field name="type_id"/>
+ <field name="user_id"/>
+ <field name="remaining_hours"/>
+ <field name="kanban_state"/>
+ <field name="state"/>
+ </tree>
+ </field>
+ </record>
+ <record id="view_task_history_graph" model="ir.ui.view">
+ <field name="name">project.task.history.cumulative.graph</field>
+ <field name="model">project.task.history.cumulative</field>
+ <field name="type">graph</field>
+ <field name="arch" type="xml">
+ <graph string="Project Tasks" type="bar">
+ <field name="date"/>
+ <field name="remaining_hours" operator="+"/>
+ <field name="type_id" group="True"/>
+ </graph>
+ </field>
+ </record>
+
+ <record id="view_task_history_search" model="ir.ui.view">
+ <field name="name">project.task.history.cumulative.search</field>
+ <field name="model">project.task.history.cumulative</field>
+ <field name="type">search</field>
+ <field name="arch" type="xml">
+ <search string="Task's Cumulative Flow">
+ <group>
+ <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 orientation="vertical"/>
+ <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 orientation="vertical"/>
+ <filter string="Month" icon="terp-go-month" name="this_month"
+ domain="[('date','&lt;=',(datetime.date.today()+relativedelta(day=31)).strftime('%%Y-%%m-%%d')),('date','&gt;=',(datetime.date.today()-relativedelta(day=1)).strftime('%%Y-%%m-%%d'))]"/>
+ <filter icon="terp-go-month" string="Month-1" name="month1"
+ domain="[('date','&lt;=', (datetime.date.today() - relativedelta(day=31, months=1)).strftime('%%Y-%%m-%%d')),('date','&gt;=',(datetime.date.today() - relativedelta(day=1,months=1)).strftime('%%Y-%%m-%%d'))]"/>
+ <filter icon="terp-go-month" string="Month-2" name="month2"
+ domain="[('date','&lt;=', (datetime.date.today() - relativedelta(day=31, months=2)).strftime('%%Y-%%m-%%d')),('date','&gt;=',(datetime.date.today() - relativedelta(day=1,months=2)).strftime('%%Y-%%m-%%d'))]"/>
+ <separator orientation="vertical"/>
+ <field name="project_id">
+ <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-personal"/>
+ </field>
+ <field name="user_id">
+ <filter domain="[('user_id','=',uid)]" help="My Tasks" icon="terp-personal" />
+ <filter domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="terp-personal-" />
+ </field>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record id="action_view_task_history_cumulative" model="ir.actions.act_window">
+ <field name="name">Cumulative Flow</field>
+ <field name="res_model">project.task.history.cumulative</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">graph,tree</field>
+ <field eval="False" name="filter"/>
+ <field name="context">{"search_default_open":1, "search_default_this_month": 1}</field>
+ </record>
+ <menuitem action="action_view_task_history_cumulative"
+ id="menu_action_view_task_history_cumulative"
+ parent="project_report_task" />
+
+
+ </data>
+</openerp>
diff --git a/addons/project/report/project_report_view.xml b/addons/project/report/project_report_view.xml
index cfa667c7590..6348c63fcad 100644
--- a/addons/project/report/project_report_view.xml
+++ b/addons/project/report/project_report_view.xml
@@ -5,6 +5,8 @@
<menuitem id="base.menu_project_report" name="Reporting"
groups="project.group_project_manager"
parent="base.menu_main_pm" sequence="50"/>
+ <menuitem id="project_report_task" name="Tasks"
+ parent="base.menu_project_report"/>
<record id="view_task_project_user_tree" model="ir.ui.view">
<field name="name">report.project.task.user.tree</field>
@@ -152,7 +154,7 @@
<field name="help">This report allows you to analyse the performance of your projects and users. You can analyse the quantities of tasks, the hours spent compared to the planned hours, the average number of days to open or close a task, etc.</field>
</record>
- <menuitem action="action_project_task_user_tree" id="menu_project_task_user_tree" parent="base.menu_project_report"/>
+ <menuitem action="action_project_task_user_tree" id="menu_project_task_user_tree" parent="project_report_task"/>
<!-- Views and action for project dashboard -->
<record id="view_project_vs_remaining_hours_tree" model="ir.ui.view">
@@ -267,28 +269,5 @@
</field>
</record>
- <record id="action_project_vs_planned_total_hours_graph" model="ir.actions.act_window">
-
- <field name="name">Projects: Planned Vs Total hours</field>
- <field name="res_model">project.vs.hours</field>
- <field name="view_type">form</field>
- <field name="view_mode">graph,tree</field>
- <field name="context">{}</field>
- <field name="domain">[('user_id','=',uid),('state','=','open')]</field>
- <field name="view_id" ref="view_project_vs_planned_total_hours_graph"/>
- </record>
-
- <record id="open_view_project_vs_planned_total_hours_tree" model="ir.actions.act_window.view">
- <field eval="2" name="sequence"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_project_vs_planned_total_hours_tree"/>
- <field name="act_window_id" ref="action_project_vs_planned_total_hours_graph"/>
- </record>
- <record id="open_view_project_vs_planned_total_hours_graph" model="ir.actions.act_window.view">
- <field eval="1" name="sequence"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_project_vs_planned_total_hours_graph"/>
- <field name="act_window_id" ref="action_project_vs_planned_total_hours_graph"/>
- </record>
</data>
</openerp>
diff --git a/addons/project/res_partner_view.xml b/addons/project/res_partner_view.xml
index dc0226ba50e..31c88377ddb 100644
--- a/addons/project/res_partner_view.xml
+++ b/addons/project/res_partner_view.xml
@@ -25,6 +25,9 @@
<tree string="Tasks" editable="bottom">
<field name="name"/>
<field name="user_id"/>
+ <field name="date_deadline"/>
+ <button name="do_open" states="pending,draft,done,cancelled" string="Start Task" type="object" icon="gtk-media-play" help="For changing to open state" invisible="context.get('set_visible',False)"/>
+ <button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state"/>
</tree>
</field>
</page>
diff --git a/addons/project/security/ir.model.access.csv b/addons/project/security/ir.model.access.csv
index 659948bc4d0..955a6ef0c97 100644
--- a/addons/project/security/ir.model.access.csv
+++ b/addons/project/security/ir.model.access.csv
@@ -22,3 +22,5 @@
"access_project_task_sale_user","project.task salesman","model_project_task","base.group_sale_salesman",1,0,0,0
"access_project_project_sale_user","project.project salesman","model_project_project","base.group_sale_salesman",1,0,0,0
"access_account_analytic_line_project","account.analytic.line project","analytic.model_account_analytic_line","project.group_project_manager",1,1,1,1
+"access_project_task_history","project.task.history project","project.model_project_task_history","project.group_project_user",1,1,1,0
+"access_project_task_history_cumulative","project.task.history project","project.model_project_task_history_cumulative","project.group_project_manager",1,0,0,0
diff --git a/addons/project/static/src/img/icon.png b/addons/project/static/src/img/icon.png
new file mode 100644
index 00000000000..20ba49f07c8
--- /dev/null
+++ b/addons/project/static/src/img/icon.png
Binary files differ
diff --git a/addons/project_caldav/__openerp__.py b/addons/project_caldav/__openerp__.py
index 6e716a2e9d0..6055a1f9f3d 100644
--- a/addons/project_caldav/__openerp__.py
+++ b/addons/project_caldav/__openerp__.py
@@ -23,7 +23,7 @@
"name": "CalDAV for Task Management",
"version": "1.1",
"author": "OpenERP SA",
- "category": "Hidden",
+ "category": "Project Management",
"description": """
Synchronization between Project Task and Caldav Vtodo.
======================================================
diff --git a/addons/project_caldav/project_caldav_view.xml b/addons/project_caldav/project_caldav_view.xml
index 0d566be4619..c88892eae11 100644
--- a/addons/project_caldav/project_caldav_view.xml
+++ b/addons/project_caldav/project_caldav_view.xml
@@ -57,20 +57,6 @@
</field>
</field>
</record>
-
- <record id="view_project_caldav_task_form2" model="ir.ui.view">
- <field name="name">project.task.caldav.form2</field>
- <field name="model">project.task</field>
- <field name="inherit_id" ref="project.view_task_form2" />
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="progress" position="after">
- <!-- Recurrency of task not well implemented for now, remove the option-->
- <field name="recurrency" invisible="1"/>
- <field name="edit_all" attrs="{'invisible':[('recurrency','=', False)]}"/>
- </field>
- </field>
- </record>
<record id="view_project_caldav_task_form3" model="ir.ui.view">
<field name="name">project.task.caldav.form3</field>
diff --git a/addons/project_gtd/__openerp__.py b/addons/project_gtd/__openerp__.py
index 761b2b44708..61ed601829f 100644
--- a/addons/project_gtd/__openerp__.py
+++ b/addons/project_gtd/__openerp__.py
@@ -21,7 +21,7 @@
{
- 'name': 'Todo List based on the GTD methodology',
+ 'name': 'Todo Lists',
'version': '1.0',
'category': 'Project Management',
'complexity': "easy",
@@ -60,6 +60,7 @@ performing those tasks.
'test/gtd_test.yml'
],
'installable': True,
+ 'application': True,
'active': False,
'certificate': '0043525236301',
}
diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py
index e77499df3d0..215e4971bf2 100644
--- a/addons/project_issue/__openerp__.py
+++ b/addons/project_issue/__openerp__.py
@@ -59,6 +59,7 @@ and decide on their status as they evolve.
],
'installable': True,
'active': False,
+ 'application': True,
'certificate' : '001236490750848623845',
}
diff --git a/addons/project_issue/board_project_issue_view.xml b/addons/project_issue/board_project_issue_view.xml
index 216f01eba9f..4553276057f 100644
--- a/addons/project_issue/board_project_issue_view.xml
+++ b/addons/project_issue/board_project_issue_view.xml
@@ -56,14 +56,14 @@
<field name="model">board.board</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="My Board">
- <board style="1-1">
+ <form string="Issues Dashboard">
+ <board style="2-1">
<column>
<action name="%(action_view_current_project_issue_tree)d" string="Current Issues"/>
<action name="%(action_view_pending_project_issue_tree)d" string="Pending Issues"/>
</column>
<column>
- <action name="%(action_project_issue_graph_state)d" string="Issues By State" />
+ <action name="%(action_project_issue_graph_state)d" string="Issues By State" />
<action name="%(action_project_issue_graph_stage)d" string="Issues By Stage" />
</column>
</board>
@@ -80,7 +80,7 @@
<field name="view_id" ref="board_project_issue_form"/>
</record>
<menuitem id="menu_deshboard_project_issue" name="Project Issue Dashboard" parent="project.next_id_86"
- icon="terp-graph"
+ icon="terp-graph"
action="open_board_project_issue"/>
<!-- For Project Dashboard -->
@@ -147,12 +147,12 @@
<field name="type">form</field>
<field name="inherit_id" ref="project.board_project_form"/>
<field name="arch" type="xml">
- <xpath expr="/form/board/column/action[@string='My Delegated Tasks']" position="after">
- <action name="%(action_view_my_project_issue_tree)d" string="My Issues"/>
- </xpath>
- <xpath expr="/form/board/column/action[@string='My Remaining Hours by Project']" position="after">
- <action name="%(action_view_my_open_project_issue_tree)d" string="My Open Issues by Creation Date"/>
- </xpath>
+ <xpath expr="/form/board/column/action[@string='My Delegated Tasks']" position="after">
+ <action name="%(action_view_my_project_issue_tree)d" string="My Issues"/>
+ </xpath>
+ <xpath expr="/form/board/column/action[@string='My Remaining Hours by Project']" position="after">
+ <action name="%(action_view_my_open_project_issue_tree)d" string="My Open Issues by Creation Date"/>
+ </xpath>
</field>
</record>
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index b83efbc4996..22cc02b8645 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -312,7 +312,7 @@ class project_issue(crm.crm_case, osv.osv):
'name': bug.name,
'partner_id': bug.partner_id.id,
'description':bug.description,
- 'date': bug.date,
+ 'date_deadline': bug.date,
'project_id': bug.project_id.id,
'priority': bug.priority,
'user_id': bug.user_id.id,
diff --git a/addons/project_issue/project_issue_menu.xml b/addons/project_issue/project_issue_menu.xml
index 5830fcb37fb..9d88418720b 100644
--- a/addons/project_issue/project_issue_menu.xml
+++ b/addons/project_issue/project_issue_menu.xml
@@ -8,13 +8,19 @@
<field name="name">Issues</field>
<field name="res_model">project.issue</field>
<field name="view_type">form</field>
- <field name="view_mode">tree,calendar,kanban</field>
- <field name="view_id" ref="project_issue_tree_view"/>
+ <field name="view_mode">kanban,tree,calendar</field>
+ <field name="view_id" eval="False"/>
<field name="domain" eval=""/>
<field name="context">{"search_default_user_id": uid, "search_default_draft": 1,"search_default_todo": 1, "search_default_project_id":project_id}</field>
<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>
-
+ </record>
+
+ <record model="ir.actions.act_window.view" id="action_crm_tag_kanban_view0">
+ <field name="sequence" eval="0"/>
+ <field name="view_mode">kanban</field>
+ <field name="view_id" ref="project_issue_kanban_view"/>
+ <field name="act_window_id" ref="project_issue_categ_act0"/>
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_view0">
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 2d61a599405..d50501279fd 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -96,7 +96,7 @@
<group colspan="4">
<field colspan="4" name="email_cc" string="Global CC" widget="url"/>
</group>
- <field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
+ <field name="message_ids" colspan="4" nolabel="1" mode="tree" readonly="1">
<tree string="History">
<field name="display_text" string="History Information"/>
<field name="email_from" invisible="1"/>
@@ -106,32 +106,6 @@
context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
icon="terp-mail-replied" type="action" />
</tree>
- <form string="History">
- <group col="4" colspan="4">
- <field name="email_from"/>
- <field name="date"/>
- <field name="email_to" widget="char" size="512"/>
- <field name="email_cc" widget="char" size="512"/>
- <field name="subject" colspan="4" widget="char" size="512"/>
- </group>
- <notebook colspan="4">
- <page string="Details">
- <group attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="body_text" colspan="4" nolabel="1" height="250"/>
- <button colspan="4" string="Reply"
- name="%(mail.action_email_compose_message_wizard)d"
- context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
- icon="terp-mail-replied" type="action"/>
- </group>
- <group attrs="{'invisible': [('email_from', '!=', False)]}">
- <field name="display_text" colspan="4" nolabel="1" height="250"/>
- </group>
- </page>
- <page string="Attachments">
- <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
- </page>
- </notebook>
- </form>
</field>
<separator colspan="4"/>
<button string="Add Internal Note"
diff --git a/addons/project_issue_sheet/__openerp__.py b/addons/project_issue_sheet/__openerp__.py
index 972245533ad..0914be9d335 100644
--- a/addons/project_issue_sheet/__openerp__.py
+++ b/addons/project_issue_sheet/__openerp__.py
@@ -21,9 +21,9 @@
##############################################################################
{
- 'name': 'Add the Timesheet support for Issue Management in Project Management',
+ 'name': 'Timesheet on Issues',
'version': '1.0',
- 'category': 'Hidden/Link',
+ "category": "Project Management",
'description': """
This module adds the Timesheet support for the Issues/Bugs Management in Project.
=================================================================================
diff --git a/addons/project_long_term/__openerp__.py b/addons/project_long_term/__openerp__.py
index f4b8ce34ad0..84ac057bbb4 100644
--- a/addons/project_long_term/__openerp__.py
+++ b/addons/project_long_term/__openerp__.py
@@ -20,7 +20,7 @@
##############################################################################
{
- "name": "Long Term Planning",
+ "name": "Long Term Projects",
"version": "1.1",
"author": "OpenERP SA",
"website": "http://www.openerp.com",
@@ -43,14 +43,7 @@ Features
"init_xml": [],
"demo_xml": ["project_long_term_demo.xml"],
"test": [
- 'test/test_schedule_phases_case1.yml',
- 'test/schedule_project_phases.yml',
- 'test/schedule_project_tasks.yml',
- 'test/test_schedule_phases_case2.yml',
- 'test/project_schedule_consecutive_day.yml',
- 'test/project_schedule_without_wroking_hour.yml',
- 'test/phase_constraint.yml',
- 'test/test_schedule_tasks_case1.yml',
+ 'test/phase_process.yml',
],
"update_xml": [
"security/ir.model.access.csv",
diff --git a/addons/project_long_term/project_long_term_demo.xml b/addons/project_long_term/project_long_term_demo.xml
index fe3f8c8e510..4cd6d5cdec4 100644
--- a/addons/project_long_term/project_long_term_demo.xml
+++ b/addons/project_long_term/project_long_term_demo.xml
@@ -5,6 +5,10 @@
This Demo data file Human Resources, Phases and Resources,Tasks allocation and also run scheduling of phase and tasks.
-->
+ <record id="project.project_integrate_openerp" model="project.project">
+ <field name="resource_calendar_id" ref="resource.timesheet_group1"/>
+ </record>
+
<!-- Project Phases -->
<record id="project_phase_1" model="project.phase">
@@ -13,6 +17,7 @@
<field name="product_uom" ref="product.uom_day"/>
<field eval="1" name="sequence"/>
<field name="duration">30</field>
+ <field name="constraint_date_start" eval="time.strftime('%Y-%m-01 10:00:00')"></field>
<field name="project_id" ref="project.project_integrate_openerp"/>
</record>
@@ -37,9 +42,9 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
</record>
<function model="project.phase" name="set_open" eval="[ref('project_phase_3')]"/>
-
+
<record id="project_phase_4" model="project.phase">
- <field eval="[(6, 0, [ref('project_phase_2')])]" name="previous_phase_ids"/>
+ <field eval="[(6, 0, [ref('project_phase_3')])]" name="previous_phase_ids"/>
<field name="name">Development and Integration</field>
<field name="product_uom" ref="product.uom_day"/>
<field eval="4" name="sequence"/>
@@ -60,7 +65,7 @@
<field eval="[(6, 0, [ref('project_phase_5')])]" name="previous_phase_ids"/>
<field name="name">Deployement and Training</field>
<field name="product_uom" ref="product.uom_day"/>
- <field eval="5" name="sequence"/>
+ <field eval="6" name="sequence"/>
<field name="duration">10</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
</record>
diff --git a/addons/project_long_term/test/phase_constraint.yml b/addons/project_long_term/test/phase_constraint.yml
deleted file mode 100644
index f4fa09e6e38..00000000000
--- a/addons/project_long_term/test/phase_constraint.yml
+++ /dev/null
@@ -1,118 +0,0 @@
--
- Given that I have a project 'Test Phases'.
--
- !record {model: project.project, id: project_project_developyamlproject0}:
- name: "Develop Yaml Project Module"
- date_start: !eval time.strftime('%Y-%m-%d')
- resource_calendar_id: resource.timesheet_group1
- members:
- - base.user_admin
--
- And I create three human ressources to work on this project, an analyst.
--
- !record {model: resource.resource, id: resource_resource_analyst1}:
- calendar_id: resource.timesheet_group1
- name: Analyst
- resource_type: user
- time_efficiency: 1.0
- user_id: base.user_admin
--
- I define a developer HR.
--
- !record {model: resource.resource, id: resource_resource_develop0}:
- calendar_id: resource.timesheet_group1
- name: Developer
- resource_type: user
- time_efficiency: 1.0
- user_id: base.user_admin
--
- I define a tester HR.
--
- !record {model: resource.resource, id: resource_resource_tester1}:
- calendar_id: resource.timesheet_group1
- name: tester
- resource_type: user
- time_efficiency: 1.0
- user_id: base.user_admin
--
- Then I create three phases for my projects; Analysis, Development, Testing.
--
- The first phase is 'Analysis' and has a duration of 6 days.
--
- !record {model: project.phase, id: project_phase_analysisflowforyaml0}:
- date_start: !eval time.strftime('%Y-%m-%d')
- duration: 6.0
- name: "Analysis"
- product_uom: product.uom_day
- project_id: project_project_developyamlproject0
- state: draft
-
--
- I update the constrain and the analysis phase to not start before 4 days.
--
- !python {model : project.phase }: |
- pass
- import datetime
- from dateutil.relativedelta import *
- start = datetime.date.today() + relativedelta(days=4)
- self.write(cr,uid, [(ref("project_phase_analysisflowforyaml0"))], {'constraint_date_start': start})
--
- The second phase is 'Development' and depend on the 'Analysis', with a duration of 6 days.
--
- !record {model: project.phase, id: project_phase_developyaml0}:
- duration: 6.0
- name: Development
- product_uom: product.uom_day
- project_id: project_project_developyamlproject0
- previous_phase_ids:
- - project_phase_analysisflowforyaml0
-
--
- I update the Constrain Date Start adn Date End for phase Develop yaml
--
- !python {model : project.phase }: |
- pass
- import datetime
- #from dateutil.relativedelta import *
- #start = datetime.date.today() - relativedelta(days=5)
- #end = datetime.date.today() + relativedelta(days=10)
- #self.write(cr,uid, [(ref("project_phase_developyaml0"))], {'constraint_date_start': start, 'constraint_date_end':end})
--
- The third phase is 'Testing' and depend on the 'Develop' phase, with a duration of 6 days.
--
- !record {model: project.phase, id: project_phase_testyaml0}:
- duration: 6.0
- name: Testing
- product_uom: product.uom_day
- project_id: project_project_developyamlproject0
- previous_phase_ids:
- - project_phase_developyaml0
--
- Then I launch the scheduler to compute starting and ending phases on all phases of this project.
--
- !record {model: project.compute.phases, id: project_compute_phases_0}:
- project_id: project_project_developyamlproject0
- target_project: one
--
- !python {model: project.project}: |
- self.schedule_phases(cr, uid, [ref("project_project_developyamlproject0")])
--
- After scheduling, I check the starting date and ending date on the phases are correct.
--
- !python {model: project.phase}: |
- import datetime
- from dateutil.relativedelta import *
- minstart = (datetime.date.today() + relativedelta(days=4)).strftime('%Y-%m-%d')
- minend = (datetime.date.today() + relativedelta(days=11)).strftime('%Y-%m-%d')
-
- phase1=self.browse(cr, uid, ref('project_phase_analysisflowforyaml0'))
- assert phase1.date_start>=minstart, 'Error, the Analysis phase '+phase1.date_start+' should start after '+str(minstart)
- assert phase1.date_end>=minend, 'Error, the Analysis phase should end after '+str(minend)
-
- phase2=self.browse(cr, uid, ref('project_phase_developyaml0'))
- assert phase2.date_start>=phase1.date_end, 'Error, the phase Development should start after the end of the Analysis phase'
-
- phase3=self.browse(cr, uid, ref('project_phase_testyaml0'))
- assert phase3.date_start>=phase2.date_end, 'Error, the phase Testing should start after the end of the Development phase'
- assert phase3.date_start<phase3.date_end, 'Error, the phase Testing should start before ending'
-
diff --git a/addons/project_long_term/test/phase_process.yml b/addons/project_long_term/test/phase_process.yml
new file mode 100644
index 00000000000..725c5b2a97d
--- /dev/null
+++ b/addons/project_long_term/test/phase_process.yml
@@ -0,0 +1,79 @@
+-
+ In order to test process of Phases,
+-
+ I create a record to schedule the phase of project.
+-
+ !record {model: project.compute.phases, id: project_compute_phases01}:
+ target_project: 'one'
+ project_id: project.project_integrate_openerp
+-
+ I schedule the phases.
+-
+ !python {model: project.compute.phases}: |
+ self.check_selection(cr, uid, [ref("project_compute_phases01")])
+-
+ I check the starting date and ending date on the phases after scheduling.
+-
+ !python {model: project.project}: |
+ project = self.browse(cr, uid, ref("project.project_integrate_openerp"), context=context)
+ def _convert(date):
+ import time
+ return time.strptime(date, '%Y-%m-%d %H:%M:%S')
+ def _check(phase, _convert, _check): #TOFIX: why need to pass function ?
+ for next_phase in phase.next_phase_ids:
+ assert _convert(next_phase.date_start) >= _convert(phase.date_end), "Phase does not start in proper date."
+ _check(next_phase, _convert, _check)
+ return True
+
+ for phase in project.phase_ids:
+
+ assert phase.date_start, "Start date should be computed."
+ assert phase.date_end, "End date should be computed."
+ if not phase.previous_phase_ids and phase.constraint_date_start:
+ assert _convert(phase.date_start) >= _convert(phase.constraint_date_start), "Phase does not start in proper date."
+ _check(phase, _convert, _check)
+-
+ I open phase.
+-
+ !python {model: project.phase}: |
+ self.set_open(cr, uid, [ref("project_phase_1")])
+-
+ I check state of phase after opened.
+-
+ !assert {model: project.phase, id: project_phase_1, severity: error, string: Phase should be in open state}:
+ - state == "open"
+-
+ I put phase in pending state.
+-
+ !python {model: project.phase}: |
+ self.set_pending(cr, uid, [ref("project_phase_1")])
+-
+ I check state of phase after put in pending.
+-
+ !assert {model: project.phase, id: project_phase_1, severity: error, string: Phase should be in pending state}:
+ - state == "pending"
+-
+ I make Phase in cancel state.
+-
+ !python {model: project.phase}: |
+ self.set_cancel(cr, uid, [ref("project_phase_1")])
+-
+ I check state of phase after cancelled.
+-
+ !assert {model: project.phase, id: project_phase_1, severity: error, string: Phase should be in cancel state}:
+ - state == "cancelled"
+-
+ I put again in draft phase.
+-
+ !python {model: project.phase}: |
+ self.set_draft(cr, uid, [ref("project_phase_1")])
+-
+ I close phase.
+-
+ !python {model: project.phase}: |
+ self.set_done(cr, uid, [ref("project_phase_1")])
+-
+ I check state of phase after closed.
+-
+ !assert {model: project.phase, id: project_phase_1, severity: error, string: Phase should be in done state}:
+ - state == "done"
diff --git a/addons/project_long_term/test/project_schedule_consecutive_day.yml b/addons/project_long_term/test/project_schedule_consecutive_day.yml
deleted file mode 100644
index cffe06a9ff9..00000000000
--- a/addons/project_long_term/test/project_schedule_consecutive_day.yml
+++ /dev/null
@@ -1,127 +0,0 @@
--
- Create a project 'Develop yaml Project Module'.
--
- !record {model: project.project, id: project_project_developyamlproject_2}:
- name: "Develop Yaml Project Module"
- date_start: !eval time.strftime('%Y-%m-%d')
- members:
- - base.user_admin
-
--
- I have set Working Time from Monday to Friday from 9am to 17pm.
--
- !record {model: resource.calendar, id: resource_calendar_hoursweekstest_P2}:
- name: "from Monday to Friday, from 9am to 17pm"
-
--
- I have set Day1 Working Time for Monday to Friday from 9am to 17pm working hour
--
- !record {model: resource.calendar.attendance, id: resource_calendar_hoursweekstest_P2day1}:
- name: "Day1"
- hour_from : 09.00
- hour_to : 17.00
- dayofweek : "0"
- calendar_id : resource_calendar_hoursweekstest_P2
-
--
- I have set Day2 Working Time for Monday to Friday from 9am to 17pm working hour
--
- !record {model: resource.calendar.attendance, id: rresource_calendar_hoursweekstest_P2day2}:
- name: "Day2"
- hour_from : 09.00
- hour_to : 17.00
- dayofweek : "1"
- calendar_id : resource_calendar_hoursweekstest_P2
-
--
- I have set Day3 Working Time for Monday to Friday from 9am to 17pm working hour
--
- !record {model: resource.calendar.attendance, id: resource_calendar_hoursweekstest_P2day3}:
- name: "Day3"
- hour_from : 09.00
- hour_to : 17.00
- dayofweek : "2"
- calendar_id : resource_calendar_hoursweekstest_P2
-
--
- I have set Day4 Working Time for Monday to Friday from 9am to 17pm working hour
--
- !record {model: resource.calendar.attendance, id: resource_calendar_hoursweekstest_P2day4}:
- name: "Day4"
- hour_from: 09.00
- hour_to: 17.00
- dayofweek: "3"
- calendar_id: resource_calendar_hoursweekstest_P2
-
--
- I have set Day5 Working Time for Monday to Friday from 9am to 17pm working hour
--
- !record {model: resource.calendar.attendance, id: resource_calendar_hoursweekstest_P2day5}:
- name: "Day5"
- hour_from: 09.00
- hour_to: 17.00
- dayofweek: "4"
- calendar_id: resource_calendar_hoursweekstest_P2
-
--
- Now Set working period to Project 'Develop yaml Project Module'
--
- !python {model: project.project}: |
- self.write(cr, uid, [ref("project_project_developyamlproject_2")], {'resource_calendar_id': ref("resource_calendar_hoursweekstest_P2")})
-
--
- Create 3 a project phase.
- First 'Analysis Flow for Yaml'Project Phase
--
- !record {model: project.phase, id: project_project_developyamlproject_2_Phase1}:
- date_start: !eval time.strftime('%Y-%m-%d')
- duration: 5.0
- name: "Analysis Flow for Yaml"
- product_uom: product.uom_day
- project_id: project_project_developyamlproject_2
- state: draft
-
--
- Create project phase 'Develop yaml'
--
- !record {model: project.phase, id: project_project_developyamlproject_2_Phase2}:
- duration: 5.0
- name: Develop Yaml
- product_uom: product.uom_day
- project_id: project_project_developyamlproject_2
- previous_phase_ids:
- - project_project_developyamlproject_2_Phase1
-
--
- Create project phase 'Test Yaml'
--
- !record {model: project.phase, id: project_project_developyamlproject_2_Phase3}:
- duration: 5.0
- name: Testing Yaml
- product_uom: product.uom_day
- project_id: project_project_developyamlproject_2
- previous_phase_ids:
- - project_project_developyamlproject_2_Phase2
-
--
- Compute Schedule of phases For One project
--
- !record {model: project.compute.phases, id: project_compute_phases_0}:
- project_id: project_project_developyamlproject_2
- target_project: one
--
- Schedule project phases using Compute Phase Scheduling
--
- !python {model: project.project}: |
- self.schedule_phases(cr, uid, [ref("project_project_developyamlproject_2")])
-
--
- After scheduling, Check that phases scheduled, check that either of phase's start_date, end_date not null.
--
- !python {model: project.project}: |
- proj=self.browse(cr, uid, [ref("project_project_developyamlproject_2")])[0]
- for phase in proj.phase_ids:
- if (not phase.date_start) or (not phase.date_end):
- raise AssertionError("Phases not scheduled")
-
-
diff --git a/addons/project_long_term/test/project_schedule_without_wroking_hour.yml b/addons/project_long_term/test/project_schedule_without_wroking_hour.yml
deleted file mode 100644
index 4fe7687425b..00000000000
--- a/addons/project_long_term/test/project_schedule_without_wroking_hour.yml
+++ /dev/null
@@ -1,76 +0,0 @@
--
- Create a project 'Develop yaml Implementation Module'.
--
- !record {model: project.project, id: project_project_developyamlproject_2}:
- name: "Develop Yaml Project Module"
- date_start: !eval time.strftime('%Y-%m-%d')
-
--
- Create 4 Project phase.
- First Project Phase 'Analysis Flow for Yaml'
--
- !record {model: project.phase, id: project_project_developyamlproject_2_phase_1}:
- date_start: !eval time.strftime('%Y-%m-%d')
- duration: 6.0
- product_uom: product.uom_day
- name: "Analysis Flow for Yaml"
- project_id: project_project_developyamlproject_2
- state: draft
-
--
- Create project phase 'Develop yaml'
--
- !record {model: project.phase, id: project_project_developyamlproject_2_phase_2}:
- duration: 6.0
- name: "Develop yaml"
- product_uom: product.uom_day
- project_id: project_project_developyamlproject_2
- previous_phase_ids:
- - project_project_developyamlproject_2_phase_1
- state: draft
--
- Create project phase 'Test Yaml'
--
- !record {model: project.phase, id: project_project_developyamlproject_2_phase_3}:
- duration: 6.0
- name: Testing Yaml
- product_uom: product.uom_day
- project_id: project_project_developyamlproject_2
- previous_phase_ids:
- - project_project_developyamlproject_2_phase_2
- state: draft
-
--
- Create project phase 'Implement Yaml'
--
- !record {model: project.phase, id: project_project_developyamlproject_2_phase_4}:
- duration: 6.0
- name: Testing Yaml
- product_uom: product.uom_day
- project_id: project_project_developyamlproject_2
- previous_phase_ids:
- - project_project_developyamlproject_2_phase_3
- state: draft
--
- Compute Schedule of phases For One project
--
- !record {model: project.compute.phases, id: project_compute_phases_0}:
- project_id: project_project_developyamlproject_2
- target_project: one
-
--
- Schedule project phases using Compute Phase Scheduling
--
- !python {model: project.project}: |
- self.schedule_phases(cr, uid, [ref("project_project_developyamlproject_2")])
-
--
- After scheduling, Check that phases scheduled, check that either of phase's start_date, end_date not null.
--
- !python {model: project.project}: |
- proj=self.browse(cr, uid, [ref("project_project_developyamlproject_2")])[0]
- for phase in proj.phase_ids:
- if (not phase.date_start) or (not phase.date_end):
- raise AssertionError("Phases not scheduled")
-
-
diff --git a/addons/project_long_term/test/schedule_project_phases.yml b/addons/project_long_term/test/schedule_project_phases.yml
deleted file mode 100644
index 550787fe867..00000000000
--- a/addons/project_long_term/test/schedule_project_phases.yml
+++ /dev/null
@@ -1,180 +0,0 @@
--
- Create a project 'World Bank's Project'
--
- !record {model: project.project, id: project_project_worldbanksproject0}:
- name: "World Bank's Project"
- priority: 4
- members:
- - project.res_users_analyst
- - project.res_users_project_manager
- - project.res_users_technical_leader
- - project.res_users_developer
- - project.res_users_designer
- - project.res_users_tester
-
--
- Create a project phase 'Defining Client's Basic Idea of Project'
--
- !record {model: project.phase, id: project_phase_definingclientsbasicideaofproject0}:
- date_start: !eval time.strftime('%Y-%m-%d')
- duration: 15.0
- name: "Defining Client's Basic Idea of Project"
- product_uom: product.uom_day
- project_id: project_project_worldbanksproject0
-
--
- Create project phase 'Establishing Project Feasibility'
--
- !record {model: project.phase, id: project_phase_establishingprojectfeasibility0}:
- date_start: !eval time.strftime('%Y-%m-%d')
- duration: 30.0
- name: Establishing Project Feasibility
- product_uom: product.uom_day
- project_id: project_project_worldbanksproject0
--
- Create the phase task 'Develop GUI for Server Configuration'
--
- !record {model: project.task, id: project_task_t0}:
- name: Develop GUI for Server Configuration
- planned_hours: 20.0
- state: draft
- phase_id: project_phase_definingclientsbasicideaofproject0
- project_id: project_project_worldbanksproject0
-
--
- Create the phase task 'Develop GUI for Modules Configuration'
--
- !record {model: project.task, id: project_task_t1}:
- name: Develop GUI for Modules Configuration
- planned_hours: 25.0
- remaining_hours: 25.0
- state: draft
- phase_id: project_phase_definingclientsbasicideaofproject0
- project_id: project_project_worldbanksproject0
-
--
- Create project phase 'Preparation of Engineering Designs'
--
- !record {model: project.phase, id: project_phase_preparationofengineeringdesigns0}:
- date_start: !eval time.strftime('%Y-%m-%d')
- duration: 100.0
- name: Preparation of Engineering Designs
- product_uom: product.uom_hour
- project_id: project_project_worldbanksproject0
-
--
- Create the phase task 'Develop GUI for Client Configuration'
--
- !record {model: project.task, id: project_task_t2}:
- name: Develop GUI for Server Configuration
- planned_hours: 20.0
- remaining_hours: 20.0
- state: draft
- phase_id: project_phase_preparationofengineeringdesigns0
- project_id: project_project_worldbanksproject0
-
--
- Create the phase task 'Develop GUI for Client Module Configuration'
--
- !record {model: project.task, id: project_task_t3}:
- name: Develop GUI for Modules Configuration
- planned_hours: 25.0
- remaining_hours: 25.0
- state: draft
- phase_id: project_phase_preparationofengineeringdesigns0
- project_id: project_project_worldbanksproject0
-
-
--
- Create project phase 'Procurement of Works and Goods'
--
- !record {model: project.phase, id: project_phase_procurementofworksandgoods0}:
- date_start: !eval time.strftime('%Y-%m-%d')
- duration: 24.0
- name: Procurement of Works and Goods
- product_uom: product.uom_hour
- project_id: project_project_worldbanksproject0
-
--
- Create project phase 'Project Construction'
--
- !record {model: project.phase, id: project_phase_projectconstruction0}:
- date_start: !eval time.strftime('%Y-%m-%d')
- duration: 4320.0
- name: Project Construction
- product_uom: product.uom_hour
- project_id: project_project_worldbanksproject0
-
-
--
- Create project phase 'Project Completion'
--
- !record {model: project.phase, id: project_phase_projectcompletion0}:
- date_start: !eval time.strftime('%Y-%m-%d')
- duration: 240.0
- name: Project Completion
- product_uom: product.uom_hour
- project_id: project_project_worldbanksproject0
-
--
- Set previous phase for phase 'Establishing Project Feasibility'
--
- !record {model: project.phase, id: project_phase_establishingprojectfeasibility0}:
- previous_phase_ids:
- - project_phase_definingclientsbasicideaofproject0
-
-
--
- Set previous phase for phase 'Preparation of Engineering Designs'
--
- !record {model: project.phase, id: project_phase_preparationofengineeringdesigns0}:
- previous_phase_ids:
- - project_phase_establishingprojectfeasibility0
-
--
- Set previous phase for phase 'Procurement of Works and Goods'
--
- !record {model: project.phase, id: project_phase_procurementofworksandgoods0}:
- previous_phase_ids:
- - project_phase_preparationofengineeringdesigns0
-
--
- Set previous phase for phase 'Project Construction'
--
- !record {model: project.phase, id: project_phase_projectconstruction0}:
- previous_phase_ids:
- - project_phase_procurementofworksandgoods0
-
-
--
- Set previous phase for phase 'Project Completion'
--
- !record {model: project.phase, id: project_phase_projectcompletion0}:
- previous_phase_ids:
- - project_phase_projectconstruction0
-
-
--
- Get the project to schedule phases
--
- !record {model: project.compute.phases, id: project_compute_phases_0}:
- project_id: project_project_worldbanksproject0
- target_project: one
-
-
--
- Schedule project phases
--
- !python {model: project.project}: |
- self.schedule_phases(cr, uid, ref("project_project_worldbanksproject0"))
-
--
- Check if phases scheduled, check that either of phase's start_date, end_date and user_id is not null
--
- !python {model: project.project}: |
- prj=self.browse(cr, uid, [ref("project_project_worldbanksproject0")])[0]
- for phase in prj.phase_ids:
- if (not phase.date_start) or (not phase.date_end):
- raise AssertionError("Tasks not scheduled")
-
-
diff --git a/addons/project_long_term/test/schedule_project_tasks.yml b/addons/project_long_term/test/schedule_project_tasks.yml
deleted file mode 100644
index 17db7ef8038..00000000000
--- a/addons/project_long_term/test/schedule_project_tasks.yml
+++ /dev/null
@@ -1,86 +0,0 @@
--
- Create project 'Develop a thunderbird-openerp synchronization plugin'
--
- !record {model: project.project, id: project_project_project1}:
- name: Develop a thunderbird-openerp synchronization plugin
- members:
- - project.res_users_project_manager
- - project.res_users_technical_leader
- - project.res_users_developer
- - project.res_users_designer
- - project.res_users_tester
- - project.res_users_analyst
- - project.res_users_finacial_manager
-
--
- Create phase 'Develop GUI' in thunderbird
--
- !record {model: project.phase, id: project_phase_phase1}:
- date_start: !eval time.strftime('%Y-%m-%d %H:%M:%S')
- duration: 200.0
- name: Develop GUI in thunderbird
- product_uom: product.uom_day
- project_id: project_project_project1
- state: draft
--
- Create the phase task 'Develop GUI for Server Configuration'
--
- !record {model: project.task, id: project_task_t10}:
- name: Develop GUI for Server Configuration
- planned_hours: 20.0
- remaining_hours: 20.0
- state: draft
- phase_id: project_phase_phase1
- project_id: project_project_project1
- user_id: project.res_users_developer
-
--
- Create the phase task 'Develop GUI for Modules Configuration'
--
- !record {model: project.task, id: project_task_t11}:
- name: Develop GUI for Modules Configuration
- planned_hours: 25.0
- remaining_hours: 25.0
- state: draft
- phase_id: project_phase_phase1
- project_id: project_project_project1
- user_id: project.res_users_developer
--
- Create the phase task 'Develop GUI for OpenERP Synchronisation'
--
- !record {model: project.task, id: project_task_t12}:
- name: Develop GUI for OpenERP Synchronisation
- planned_hours: 30.0
- remaining_hours: 30.0
- state: draft
- phase_id: project_phase_phase1
- project_id: project_project_project1
- user_id: project.res_users_developer
--
- Create the phase task 'Design required GUI/Menus'
--
- !record {model: project.task, id: project_task_13}:
- name: Design required GUI/Menus
- planned_hours: 25.0
- remaining_hours: 25.0
- state: draft
- phase_id: project_phase_phase1
- project_id: project_project_project1
- user_id: project.res_users_designer
-
--
- Schedule tasks
--
- !python {model: project.project}: |
- self.schedule_tasks(cr, uid, ref("project_project_project1"))
-
--
- Check if tasks scheduled, check that either of task's start_date, end_date and user_id is not null
--
- !python {model: project.project}: |
- prj = self.browse(cr, uid, [ref("project_project_project1")])[0]
- for task in prj.tasks:
- if task.state in ('done','cancelled'):
- continue
- if (not task.user_id) or (not task.date_start) or (not task.date_end):
- raise AssertionError("Project tasks not scheduled!")
diff --git a/addons/project_long_term/test/test_schedule_phases_case1.yml b/addons/project_long_term/test/test_schedule_phases_case1.yml
deleted file mode 100644
index 8b9ff5f3705..00000000000
--- a/addons/project_long_term/test/test_schedule_phases_case1.yml
+++ /dev/null
@@ -1,76 +0,0 @@
--
- In order to test scheduling of project phases, I create two different phases and
- test it with two different dates for scheduling.
--
- I create a project Development and Testing.
--
- !record {model: project.project, id: project_project_project_case1}:
- name: "Development and Testing"
- date_start: !eval time.strftime('%Y-%m-%d')
- balance: 0.0
- credit: 0.0
- currency_id: base.EUR
- debit: 0.0
- effective_hours: 0.0
- members:
- - base.user_admin
-
- planned_hours: 0.0
- progress_rate: 0.0
- quantity: 0.0
- quantity_max: 0.0
- state: open
- type_ids:
- - project.project_tt_specification
- - project.project_tt_development
- - project.project_tt_testing
- - project.project_tt_merge
--
- I create first phase of the project.
--
- !record {model: project.phase, id: project_phase_firstphase0_case1}:
- duration: 2.0
- name: First Phase
- product_uom: product.uom_day
- project_id: project_project_project_case1
- state: draft
--
- I create second phase of the project.
--
- !record {model: project.phase, id: project_phase_secondphase0_case2}:
- duration: 3.0
- name: Second Phase
- previous_phase_ids:
- - project_phase_firstphase0_case1
- product_uom: product.uom_day
- project_id: project_project_project_case1
- state: draft
--
- Now I create a record to compute the phase of project.
--
- !record {model: project.compute.phases, id: project_compute_phases0}:
- target_project: 'one'
- project_id: project_project_project_case1
--
- I schedule the phases.
--
- !python {model: project.compute.phases}: |
- self.check_selection(cr, uid, [ref("project_compute_phases0")])
--
- I check the starting and ending dates of both phases.
--
- !python {model: project.phase}: |
- import datetime
- from dateutil.relativedelta import *
- start = (datetime.date.today()).strftime('%Y-%m-%d')
- end = (datetime.date.today() + relativedelta(days=1)).strftime('%Y-%m-%d 17:00:00')
- first_phase = self.browse(cr, uid, ref('project_phase_firstphase0_case1'))
- assert (first_phase.date_start[:10] >= start),'Start dates are wrong: %s < %s !' % (first_phase.date_start[:10], start)
- assert (first_phase.date_end >= end),'End dates are wrong: %s <%s!' % (first_phase.date_end, end)
-
- second_phase = self.browse(cr, uid, ref('project_phase_secondphase0_case2'))
- start = first_phase.date_end
- end = (datetime.date.today() + relativedelta(days=4)).strftime('%Y-%m-%d')
- assert second_phase.date_start >= start, 'Dates are wrong on second phase: %s < %s!' % (second_phase.date_start, start)
- assert second_phase.date_end >= end, 'Dates are wrong on second phase %s < %s!' % (second_phase.date_end, end)
-
diff --git a/addons/project_long_term/test/test_schedule_phases_case2.yml b/addons/project_long_term/test/test_schedule_phases_case2.yml
deleted file mode 100644
index 35173a897a3..00000000000
--- a/addons/project_long_term/test/test_schedule_phases_case2.yml
+++ /dev/null
@@ -1,193 +0,0 @@
--
- In order to test scheduling of project phases, I create two different
- working periods and resources. And schedule the phases.
--
- I create first working period 'Working Time A'.
--
- !record {model: resource.calendar, id: resource_calendar_workingtimea0}:
- attendance_ids:
- - dayofweek: '0'
- hour_from: 10.0
- hour_to: 16.0
- name: Monday
- - dayofweek: '1'
- hour_from: 10.0
- hour_to: 16.0
- name: Tuesday
- - dayofweek: '2'
- hour_from: 10.0
- hour_to: 16.0
- name: Wednesday
- - dayofweek: '3'
- hour_from: 10.0
- hour_to: 16.0
- name: Thursday
- name: Working Time A
-
--
- Creating a resource.calendar.attendance record
--
- !record {model: resource.calendar.attendance, id: resource_calendar_attendance_monday0}:
- calendar_id: resource_calendar_workingtimea0
- dayofweek: '0'
- hour_from: 10.0
- hour_to: 16.0
- name: Monday
--
- Creating a resource.calendar.attendance record
--
- !record {model: resource.calendar.attendance, id: resource_calendar_attendance_tuesday0}:
- calendar_id: resource_calendar_workingtimea0
- dayofweek: '1'
- hour_from: 10.0
- hour_to: 16.0
- name: Tuesday
--
- Creating a resource.calendar.attendance record
--
- !record {model: resource.calendar.attendance, id: resource_calendar_attendance_wednesday0}:
- calendar_id: resource_calendar_workingtimea0
- dayofweek: '2'
- hour_from: 10.0
- hour_to: 16.0
- name: Wednesday
--
- Creating a resource.calendar.attendance record
--
- !record {model: resource.calendar.attendance, id: resource_calendar_attendance_thursday0}:
- calendar_id: resource_calendar_workingtimea0
- dayofweek: '3'
- hour_from: 10.0
- hour_to: 16.0
- name: Thursday
--
- I create second working period 'Working Time B'.
--
- !record {model: resource.calendar, id: resource_calendar_workingtimeb0}:
- attendance_ids:
- - dayofweek: '4'
- hour_from: 9.0
- hour_to: 18.0
- name: Friday
- name: Working Time B
--
- Creating a resource.calendar.attendance record
--
- !record {model: resource.calendar.attendance, id: resource_calendar_attendance_friday0}:
- calendar_id: resource_calendar_workingtimeb0
- dayofweek: '4'
- hour_from: 9.0
- hour_to: 18.0
- name: Friday
--
- I create first resource say 'Resource X' without assigning working period.
--
- !record {model: resource.resource, id: resource_resource_resourcex0}:
- name: Resource X
- resource_type: user
- time_efficiency: 1.0
- user_id: base.user_admin
--
- I create first resource say 'Resource Y' with working period 'Working Time B'.
--
- !record {model: resource.resource, id: resource_resource_resourcey0}:
- calendar_id: resource_calendar_workingtimeb0
- name: Resource Y
- resource_type: user
- time_efficiency: 1.0
- user_id: base.user_admin
--
- I create a project 'Development and Testing' and assign working period 'Working Time A'.
--
- !record {model: project.project, id: project_project_project0}:
- balance: 0.0
- credit: 0.0
- currency_id: base.EUR
- debit: 0.0
- effective_hours: 0.0
- members:
- - base.user_admin
- name: Development and Testing
- planned_hours: 20.0
- progress_rate: 0.0
- quantity: 0.0
- quantity_max: 0.0
- resource_calendar_id: resource_calendar_workingtimea0
- state: open
- tasks:
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task 1
- planned_hours: 10.0
- remaining_hours: 10.0
- state: draft
- total_hours: 10.0
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task 2
- planned_hours: 10.0
- remaining_hours: 10.0
- state: draft
- total_hours: 10.0
- total_hours: 10.0
- members:
- - project.res_users_analyst
- - project.res_users_project_manager
- - project.res_users_technical_leader
- - project.res_users_developer
- - project.res_users_designer
- - project.res_users_tester
- type_ids:
- - project.project_tt_specification
- - project.project_tt_development
- - project.project_tt_testing
- - project.project_tt_merge
-
--
- I create a phase 'Initial Phase' for project 'Development and Testing'.
--
- !record {model: project.phase, id: project_phase_phase0}:
- date_start: '2011-01-03 08:00:00'
- duration: 0.0
- name: Initial Phase
- product_uom: product.uom_day
- project_id: project_project_project0
- state: draft
--
- I create first task 'Developing module' and assign 10h.
--
- !record {model: project.task, id: project_task_task0}:
- delay_hours: 0.0
- effective_hours: 0.0
- name: Developing module
- planned_hours: 10.0
- project_id: project_project_project0
- remaining_hours: 10.0
- state: draft
- total_hours: 10.0
- phase_id: project_phase_phase0
--
- I create first task 'Testing module' and assign 10h.
--
- !record {model: project.task, id: project_task_task1}:
- delay_hours: 0.0
- effective_hours: 0.0
- name: Testing module
- planned_hours: 10.0
- project_id: project_project_project0
- remaining_hours: 10.0
- state: draft
- total_hours: 10.0
- phase_id: project_phase_phase0
--
- Now I create a record to compute the phase of project.
--
- !record {model: project.compute.phases, id: project_compute_phases0}:
- target_project: 'one'
- project_id: project_project_project0
--
- I schedule the phases.
--
- !python {model: project.compute.phases}: |
- self.check_selection(cr, uid, [ref("project_compute_phases0")])
-
diff --git a/addons/project_long_term/test/test_schedule_tasks_case1.yml b/addons/project_long_term/test/test_schedule_tasks_case1.yml
deleted file mode 100644
index 3bb0ea87c43..00000000000
--- a/addons/project_long_term/test/test_schedule_tasks_case1.yml
+++ /dev/null
@@ -1,246 +0,0 @@
--
- In order to test scheduling of tasks, I create four tasks with different sequences and schedule them.
--
- I create first user.
--
- !record {model: res.users, id: res_users_user0}:
- company_id: base.main_company
- context_lang: en_US
- groups_id:
- - base.group_partner_manager
- - base.group_user
- login: user1
- name: User 1
- password: user1
--
- I create second user.
--
- !record {model: res.users, id: res_users_user1}:
- company_id: base.main_company
- context_lang: en_US
- groups_id:
- - base.group_partner_manager
- - base.group_user
- login: user2
- name: User 2
- password: user2
--
- I create a Project.
--
- !record {model: project.project, id: project_project_projecta0}:
- balance: 0.0
- credit: 0.0
- currency_id: base.EUR
- debit: 0.0
- effective_hours: 0.0
- name: Project A
- members:
- - res_users_user0
- - res_users_user1
- phase_ids:
- - date_start: '2011-01-06 08:00:00'
- duration: 2.0
- name: Phase A
- product_uom: product.uom_day
- state: draft
- task_ids:
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task D
- planned_hours: 5.0
- remaining_hours: 5.0
- state: draft
- total_hours: 5.0
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task C
- planned_hours: 5.0
- remaining_hours: 5.0
- sequence: 11
- state: draft
- total_hours: 5.0
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task B
- planned_hours: 5.0
- remaining_hours: 5.0
- sequence: 13
- state: draft
- total_hours: 5.0
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task A
- planned_hours: 5.0
- remaining_hours: 5.0
- sequence: 14
- state: draft
- total_hours: 5.0
- planned_hours: 20.0
- progress_rate: 0.0
- quantity: 0.0
- quantity_max: 0.0
- state: open
- tasks:
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task D
- planned_hours: 5.0
- remaining_hours: 5.0
- state: draft
- total_hours: 5.0
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task C
- planned_hours: 5.0
- remaining_hours: 5.0
- sequence: 11
- state: draft
- total_hours: 5.0
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task B
- planned_hours: 5.0
- remaining_hours: 5.0
- sequence: 13
- state: draft
- total_hours: 5.0
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task A
- planned_hours: 5.0
- remaining_hours: 5.0
- sequence: 14
- state: draft
- total_hours: 5.0
- total_hours: 15.0
--
- I create first task with highest sequence.
--
- !record {model: project.task, id: project_task_taska0}:
- delay_hours: 0.0
- effective_hours: 0.0
- name: Task A
- planned_hours: 5.0
- project_id: project_project_projecta0
- remaining_hours: 5.0
- sequence: 14
- state: draft
- total_hours: 5.0
--
- I create second task.
--
- !record {model: project.task, id: project_task_taskb0}:
- delay_hours: 0.0
- effective_hours: 0.0
- name: Task B
- planned_hours: 5.0
- project_id: project_project_projecta0
- remaining_hours: 5.0
- sequence: 13
- state: draft
- total_hours: 5.0
--
- I create third task.
--
- !record {model: project.task, id: project_task_taskc0}:
- delay_hours: 0.0
- effective_hours: 0.0
- name: Task C
- planned_hours: 5.0
- project_id: project_project_projecta0
- remaining_hours: 5.0
- sequence: 11
- state: draft
- total_hours: 5.0
--
- I create fourth task with lowest sequence.
--
- !record {model: project.task, id: project_task_taskd0}:
- delay_hours: 0.0
- effective_hours: 0.0
- name: Task D
- planned_hours: 5.0
- project_id: project_project_projecta0
- remaining_hours: 5.0
- state: draft
- total_hours: 5.0
--
- Now I create a resource for first user.
--
- !record {model: resource.resource, id: resource_resource_user0}:
- name: User 1
- resource_type: user
- time_efficiency: 1.0
- user_id: res_users_user0
--
- I create a resource for second user.
--
- !record {model: resource.resource, id: resource_resource_user1}:
- name: User 2
- resource_type: user
- time_efficiency: 1.0
- user_id: res_users_user1
--
- Now I create one phase for the project.
--
- !record {model: project.phase, id: project_phase_phasea0}:
- date_start: '2011-01-06 08:00:00'
- duration: 2.0
- name: Phase A
- product_uom: product.uom_day
- project_id: project_project_projecta0
- state: draft
- task_ids:
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task D
- planned_hours: 5.0
- project_id: project_project_projecta0
- remaining_hours: 5.0
- state: draft
- total_hours: 5.0
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task C
- planned_hours: 5.0
- project_id: project_project_projecta0
- remaining_hours: 5.0
- sequence: 11
- state: draft
- total_hours: 5.0
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task B
- planned_hours: 5.0
- project_id: project_project_projecta0
- remaining_hours: 5.0
- sequence: 13
- state: draft
- total_hours: 5.0
- - delay_hours: 0.0
- effective_hours: 0.0
- name: Task A
- planned_hours: 5.0
- project_id: project_project_projecta0
- remaining_hours: 5.0
- sequence: 14
- state: draft
- total_hours: 5.0
--
- Now I create a record to schedule the tasks of project.
--
- !record {model: project.compute.tasks, id: project_compute_tasks0}:
- project_id: project_project_projecta0
--
- I schedule the tasks.
--
- !python {model: project.compute.tasks}: |
- self.compute_date(cr, uid, [ref("project_compute_tasks0")])
--
- I check that whether the tasks now allocated to respected resources or not.
--
- !python {model: project.task}: |
- task_ids = self.search(cr, uid, [('project_id','=',ref('project_project_projecta0'))])
- for task in self.browse(cr, uid, task_ids):
- if (not task.date_start) or (not task.date_end):
- raise AssertionError("Tasks are not scheduled.")
diff --git a/addons/project_mailgate/__openerp__.py b/addons/project_mailgate/__openerp__.py
index ba3e2e57ba5..7f55c580fb8 100644
--- a/addons/project_mailgate/__openerp__.py
+++ b/addons/project_mailgate/__openerp__.py
@@ -21,11 +21,11 @@
{
- "name": "Project Tasks - Mail Integration",
+ "name": "Tasks Mail Integration",
"version": "1.1",
"author": "OpenERP SA",
"website": "http://www.openerp.com",
- "category": "Hidden",
+ "category": "Project Management",
'complexity': "easy",
"images": ["images/project_mailgate_task.jpeg"],
"depends": ["project", "mail"],
diff --git a/addons/project_mailgate/project_mailgate_view.xml b/addons/project_mailgate/project_mailgate_view.xml
index c3cd4bf9db2..6bf9855f98a 100644
--- a/addons/project_mailgate/project_mailgate_view.xml
+++ b/addons/project_mailgate/project_mailgate_view.xml
@@ -9,32 +9,10 @@
<field name="arch" type="xml">
<xpath expr="/form/notebook/page[@string='Extra Info']" position="before">
<page string="History">
- <field name="message_ids" colspan="4" nolabel="1" mode="tree,form" readonly="1">
+ <field name="message_ids" colspan="4" nolabel="1" mode="tree" readonly="1">
<tree string="History">
<field name="display_text" string="History Information"/>
</tree>
- <form string="History">
- <group col="4" colspan="4">
- <field name="email_from"/>
- <field name="date"/>
- <field name="email_to" widget="char" size="512"/>
- <field name="email_cc" widget="char" size="512"/>
- <field name="subject" colspan="4" widget="char" size="512"/>
- </group>
- <notebook colspan="4">
- <page string="Details">
- <group attrs="{'invisible': [('email_from', '=', False)]}">
- <field name="body_text" colspan="4" nolabel="1" height="250"/>
- </group>
- <group attrs="{'invisible': [('email_from', '!=', False)]}">
- <field name="display_text" colspan="4" nolabel="1" height="250"/>
- </group>
- </page>
- <page string="Attachments">
- <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
- </page>
- </notebook>
- </form>
</field>
</page>
</xpath>
diff --git a/addons/project_messages/__openerp__.py b/addons/project_messages/__openerp__.py
index f7e50110784..a146056e921 100644
--- a/addons/project_messages/__openerp__.py
+++ b/addons/project_messages/__openerp__.py
@@ -26,7 +26,7 @@
"images": ["images/project_message.jpeg"],
"depends": ["project"],
"author": "OpenERP SA",
- "category": 'Hidden',
+ "category": "Project Management",
'complexity': "easy",
"description": """
This module provides the functionality to send messages within a project.
diff --git a/addons/project_messages/project_messages_view.xml b/addons/project_messages/project_messages_view.xml
index f8c98d15785..85e2c02f8ff 100644
--- a/addons/project_messages/project_messages_view.xml
+++ b/addons/project_messages/project_messages_view.xml
@@ -15,15 +15,6 @@
<field name="from_id"/>
<field name="to_id"/>
</tree>
- <form>
- <group>
- <field name="from_id"/>
- <field name="to_id"/>
- <newline/>
- <separator colspan="4" string="Message"/>
- <field nolabel="1" name="message" colspan="4"/>
- </group>
- </form>
</field>
</page>
</xpath>
diff --git a/addons/project_mrp/__openerp__.py b/addons/project_mrp/__openerp__.py
index 3cb2fb40179..e5722b92da9 100644
--- a/addons/project_mrp/__openerp__.py
+++ b/addons/project_mrp/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Automatic task creation from procurement lines',
+ 'name': 'Create Tasks on SO',
'version': '1.0',
- 'category': 'Hidden/Link',
+ "category": "Project Management",
'complexity': "easy",
'description': """
Automatically creates project tasks from procurement lines
diff --git a/addons/project_mrp/i18n/hr.po b/addons/project_mrp/i18n/hr.po
index a5bf98634cf..e0658f8525f 100644
--- a/addons/project_mrp/i18n/hr.po
+++ b/addons/project_mrp/i18n/hr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2010-08-03 09:34+0000\n"
-"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
+"PO-Revision-Date: 2011-12-12 00:12+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: Vinteh\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:23+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-12 05:17+0000\n"
+"X-Generator: Launchpad (build 14458)\n"
"Language: hr\n"
#. module: project_mrp
@@ -25,7 +25,7 @@ msgstr "Za svaki proizvod, pri vrsti usluge i pri narudžbi"
#. module: project_mrp
#: model:process.transition,name:project_mrp.process_transition_procuretask0
msgid "Procurement Task"
-msgstr ""
+msgstr "Procurement Task"
#. module: project_mrp
#: model:ir.module.module,shortdesc:project_mrp.module_meta_information
@@ -45,28 +45,28 @@ msgstr "Ako je tip proizvoda 'usluga' tada kreira zadatak"
#. module: project_mrp
#: constraint:project.task:0
msgid "Error ! You cannot create recursive tasks."
-msgstr ""
+msgstr "Greška! Rekurzivni zadaci."
#. module: project_mrp
#: model:ir.model,name:project_mrp.model_product_product
msgid "Product"
-msgstr ""
+msgstr "Proizvod"
#. module: project_mrp
#: constraint:product.product:0
msgid "Error: Invalid ean code"
-msgstr ""
+msgstr "Greška: Neispravan barkod!"
#. module: project_mrp
#: field:product.product,project_id:0
msgid "Project"
-msgstr ""
+msgstr "Projekt"
#. module: project_mrp
#: model:ir.model,name:project_mrp.model_procurement_order
#: field:project.task,procurement_id:0
msgid "Procurement"
-msgstr "Nabava"
+msgstr "Procurement"
#. module: project_mrp
#: model:ir.model,name:project_mrp.model_project_task
@@ -74,7 +74,7 @@ msgstr "Nabava"
#: model:process.node,name:project_mrp.process_node_procuretasktask0
#: field:procurement.order,task_id:0
msgid "Task"
-msgstr "Zadatak"
+msgstr "Task"
#. module: project_mrp
#: model:process.node,note:project_mrp.process_node_mrptask0
@@ -84,12 +84,12 @@ msgstr "Stvara se zadatak kako bi se pružila usluga"
#. module: project_mrp
#: model:process.transition,name:project_mrp.process_transition_ordertask0
msgid "Order Task"
-msgstr "Zadatak narudžbe"
+msgstr "Zadatak naloga"
#. module: project_mrp
#: model:process.node,name:project_mrp.process_node_saleordertask0
msgid "Sale Order Task"
-msgstr "Zadatak Prodajne Narudžbe"
+msgstr "Zadatak prodajnog naloga"
#. module: project_mrp
#: model:process.transition,name:project_mrp.process_transition_createtask0
@@ -125,12 +125,12 @@ msgstr ""
#. module: project_mrp
#: model:process.transition,note:project_mrp.process_transition_ordertask0
msgid "If procurement method is Make to order and supply method is produce"
-msgstr ""
+msgstr "If procurement method is Make to order and supply method is produce"
#. module: project_mrp
#: model:process.node,note:project_mrp.process_node_saleordertask0
msgid "In case you sell services on sale order"
-msgstr "U slučaju da prodajete usluge prema narudžbi prodaje"
+msgstr "U slučaju kada prodajete usluge na prodajnim nalozima"
#~ msgid "Procure Task"
#~ msgstr "Zadatak nabave"
@@ -142,3 +142,75 @@ msgstr "U slučaju da prodajete usluge prema narudžbi prodaje"
#~ msgid "Project Management - MRP and Sale Integration"
#~ msgstr "Upravljanje projektima - MRP i Integracija Prodaje"
+
+#~ msgid "Order Reference must be unique per Company!"
+#~ msgstr "Order Reference must be unique per Company!"
+
+#~ msgid "Create Tasks on SO"
+#~ msgstr "Create Tasks on SO"
+
+#~ msgid "Sale Order Line"
+#~ msgstr "Sale Order Line"
+
+#~ msgid ""
+#~ "\n"
+#~ "Automatically creates project tasks from procurement lines\n"
+#~ "==========================================================\n"
+#~ "\n"
+#~ "This module will automatically create a new task for each procurement\n"
+#~ "order line (e.g. for sale order lines), if the corresponding product\n"
+#~ "meets the following characteristics:\n"
+#~ "\n"
+#~ " * Type = Service\n"
+#~ " * Procurement method (Order fulfillment) = MTO (make to order)\n"
+#~ " * Supply/Procurement method = Produce\n"
+#~ "\n"
+#~ "If on top of that a projet is specified on the product form (in the "
+#~ "Procurement\n"
+#~ "tab), then the new task will be created in that specific project.\n"
+#~ "Otherwise, the new task will not belong to any project, and may be added to "
+#~ "a\n"
+#~ "project manually later.\n"
+#~ "\n"
+#~ "When the project task is completed or cancelled, the workflow of the "
+#~ "corresponding\n"
+#~ "procurement line is updated accordingly. For example if this procurement "
+#~ "corresponds\n"
+#~ "to a sale order line, the sale order line will be considered delivered when "
+#~ "the\n"
+#~ "task is completed.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Automatically creates project tasks from procurement lines\n"
+#~ "==========================================================\n"
+#~ "\n"
+#~ "This module will automatically create a new task for each procurement\n"
+#~ "order line (e.g. for sale order lines), if the corresponding product\n"
+#~ "meets the following characteristics:\n"
+#~ "\n"
+#~ " * Type = Service\n"
+#~ " * Procurement method (Order fulfillment) = MTO (make to order)\n"
+#~ " * Supply/Procurement method = Produce\n"
+#~ "\n"
+#~ "If on top of that a projet is specified on the product form (in the "
+#~ "Procurement\n"
+#~ "tab), then the new task will be created in that specific project.\n"
+#~ "Otherwise, the new task will not belong to any project, and may be added to "
+#~ "a\n"
+#~ "project manually later.\n"
+#~ "\n"
+#~ "When the project task is completed or cancelled, the workflow of the "
+#~ "corresponding\n"
+#~ "procurement line is updated accordingly. For example if this procurement "
+#~ "corresponds\n"
+#~ "to a sale order line, the sale order line will be considered delivered when "
+#~ "the\n"
+#~ "task is completed.\n"
+#~ "\n"
+
+#~ msgid "Sale order line"
+#~ msgstr "Sale order line"
+
+#~ msgid "Sales Order"
+#~ msgstr "Prodajni nalog"
diff --git a/addons/project_planning/__openerp__.py b/addons/project_planning/__openerp__.py
index 9ce5e8a2d9a..23d900d86ff 100644
--- a/addons/project_planning/__openerp__.py
+++ b/addons/project_planning/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Planning Management Module',
'version': '1.0',
- 'category': 'Hidden',
+ "category": "Project Management",
'complexity': "easy",
'description': """Keep track of your planning
This module helps you to manage your plannings.
diff --git a/addons/project_retro_planning/__openerp__.py b/addons/project_retro_planning/__openerp__.py
index 68ea9d5d78e..5ca01a3a0e1 100644
--- a/addons/project_retro_planning/__openerp__.py
+++ b/addons/project_retro_planning/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Project Retro planning',
+ 'name': 'Project Retro-planning',
'version': '0.1',
- 'category': 'Hidden',
+ 'category': 'Project Management',
'description': """
Changes dates according to change in project End Date.
======================================================
diff --git a/addons/project_scrum/i18n/hr.po b/addons/project_scrum/i18n/hr.po
index dcdffaf8c28..4b8f473050c 100644
--- a/addons/project_scrum/i18n/hr.po
+++ b/addons/project_scrum/i18n/hr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2009-02-03 06:26+0000\n"
-"Last-Translator: <>\n"
+"PO-Revision-Date: 2011-12-09 14:20+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:57+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-10 04:56+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: project_scrum
#: help:project.scrum.email,scrum_master_email:0
@@ -24,23 +24,23 @@ msgstr ""
#. module: project_scrum
#: view:project.scrum.backlog.assign.sprint:0
msgid "_Assign"
-msgstr ""
+msgstr "_Dodjeli"
#. module: project_scrum
#: field:project.scrum.meeting,name:0
msgid "Meeting Name"
-msgstr ""
+msgstr "Naziv skupa"
#. module: project_scrum
#: model:process.transition,note:project_scrum.process_transition_backlogtask0
msgid "From backlog create task."
-msgstr ""
+msgstr "Kreiraj zadatak iz backloga"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
#: field:project.scrum.product.backlog,user_id:0
msgid "Author"
-msgstr ""
+msgstr "Autor"
#. module: project_scrum
#: model:ir.module.module,description:project_scrum.module_meta_information
@@ -68,12 +68,35 @@ msgid ""
" * http://controlchaos.com\n"
" "
msgstr ""
+"\n"
+" Ovaj modul implemetira sve koncepte definirane u SRUM metodologiji\n"
+" za upravljanje projektima u IT kompanijama:\n"
+" * Projekti sa susretima (sprintovima), vlasnik produkta, scrum master\n"
+" * Sprintovi sa pregledima, dnevnim sastancima, povratnim informacijama\n"
+" * Backlog produkta\n"
+" * Backlog sprinta\n"
+"\n"
+" Dodaje neke koncepte modulu Upravljanja projektima: \n"
+" * Srednjoročni i dugoročni putokaz\n"
+" * Korisnički/Funkcionalni zahtjevi naspram tehničkih\n"
+"\n"
+" Također kreira i novi sustav izvještavanja:\n"
+" * Burn-down chart - grafikon preostalog posla\n"
+"\n"
+" Scrum projekti i zadaci nasljeđuju iz pravih projekata i zadataka,\n"
+" tako da je moguće nastaviti raditi na normalnim zadacima koji ukljućuju "
+"\n"
+" i zadatke iz Scrum projekata.\n"
+" \n"
+" Više informacija o metodologiji:\n"
+" * http://controlchaos.com\n"
+" "
#. module: project_scrum
#: view:project.scrum.meeting:0
#: view:project.scrum.sprint:0
msgid "What did you do since the last meeting?"
-msgstr ""
+msgstr "Što ste radili od zadnjeg sastanka?"
#. module: project_scrum
#: model:ir.actions.act_window,help:project_scrum.action_sprint_all_tree
@@ -83,46 +106,51 @@ msgid ""
"which the team implements a list of product backlogs. The sprint review is "
"organized when the team presents its work to the customer and product owner."
msgstr ""
+"Scrum agilna metodologija se koristi u projektima razvoja softvera. U ovoj "
+"metodologiji sprint je kratki period vremena (npr. 1 mjesec) u kojem tim "
+"implementira listu backlogova (preostalih poslova) produkta. Pregled sprinta "
+"se organizira kad tim prezetira svoj rad klijentu i vlasniku produkta."
#. module: project_scrum
#: view:project.scrum.meeting:0
#: view:project.scrum.product.backlog:0
#: view:project.scrum.sprint:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupiraj po..."
#. module: project_scrum
#: model:process.node,note:project_scrum.process_node_productbacklog0
msgid "Create task from backlogs"
-msgstr ""
+msgstr "Kreiraj zadatak iz preostalih zadataka"
#. module: project_scrum
#: model:ir.module.module,shortdesc:project_scrum.module_meta_information
msgid "Scrum, Agile Development Method"
-msgstr ""
+msgstr "Scrum, agilna metoda razvoja"
#. module: project_scrum
#: field:project.scrum.product.backlog,progress:0
msgid "Progress"
-msgstr ""
+msgstr "Napredak"
#. module: project_scrum
#: field:project.scrum.meeting,user_id:0
#: view:project.scrum.sprint:0
#: field:project.scrum.sprint,scrum_master_id:0
msgid "Scrum Master"
-msgstr ""
+msgstr "Scrum Master"
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:83
#, python-format
msgid "The sprint '%s' has been opened."
-msgstr ""
+msgstr "Sprint '%s' je otvoren."
#. module: project_scrum
#: constraint:project.project:0
msgid "Error! project start-date must be lower then project end-date."
msgstr ""
+"Greška! Početni datum projekta mora biti manji od završnog datuma projekta."
#. module: project_scrum
#: view:project.scrum.meeting:0
@@ -133,50 +161,50 @@ msgstr ""
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Retrospective"
-msgstr ""
+msgstr "Pogled unazad"
#. module: project_scrum
#: view:project.scrum.meeting:0
msgid "Send Email"
-msgstr ""
+msgstr "Pošalji e-mail"
#. module: project_scrum
#: constraint:project.task:0
msgid "Error ! You cannot create recursive tasks."
-msgstr ""
+msgstr "Greška! Ne možete kreirati rekurzivne zadatke."
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.dblc_proj
msgid "View project's backlog"
-msgstr ""
+msgstr "Pogledaj preostale zadatke projekta"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
#: view:project.scrum.sprint:0
msgid "Set to Draft"
-msgstr ""
+msgstr "Postavi kao nacrt"
#. module: project_scrum
#: model:ir.model,name:project_scrum.model_project_scrum_backlog_merge
msgid "Merge Product Backlogs"
-msgstr ""
+msgstr "Spoji preostale zadatke produkta"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_scrum_backlog_merge
#: view:project.scrum.backlog.merge:0
msgid "Merge Backlogs"
-msgstr ""
+msgstr "Spoji preostale zadatke"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_email.py:53
#, python-format
msgid "Scrum Meeting : %s"
-msgstr ""
+msgstr "Scrum sastanak: %s"
#. module: project_scrum
#: view:project.task:0
msgid "Backlog"
-msgstr ""
+msgstr "Preostali zadaci"
#. module: project_scrum
#: model:ir.model,name:project_scrum.model_project_scrum_email
@@ -186,27 +214,27 @@ msgstr ""
#. module: project_scrum
#: constraint:project.project:0
msgid "Error! You cannot assign escalation to the same project!"
-msgstr ""
+msgstr "Greška! Ne možete dodjeliti eskalaciju istom projektu!"
#. module: project_scrum
#: field:project.scrum.sprint,name:0
msgid "Sprint Name"
-msgstr ""
+msgstr "Ime sprinta"
#. module: project_scrum
#: model:ir.model,name:project_scrum.model_project_task
msgid "Task"
-msgstr ""
+msgstr "Zadatak"
#. module: project_scrum
#: view:postpone.wizard:0
msgid "Ok"
-msgstr ""
+msgstr "U redu"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Spent hours"
-msgstr ""
+msgstr "Utrošeni sati"
#. module: project_scrum
#: model:ir.actions.act_window,help:project_scrum.action_meeting_form
@@ -215,30 +243,37 @@ msgid ""
"this methodology, a daily meeting is organized by the scrum master with his "
"team in order to detect the difficulties the team faced/will face."
msgstr ""
+"The scrum agile methodology is used in software development projects. In "
+"this methodology, a daily meeting is organized by the scrum master with his "
+"team in order to detect the difficulties the team faced/will face.\r\n"
+"Scrum agilna metodologija se koristi u projektima razvoja softvera. U ovoj "
+"metodologiji, Scrum master organizira dnevne sastanke sa svojim timom kako "
+"bi otkrio poteškoće s kojima se tim susreo ili će se susresti."
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:316
#, python-format
msgid "Please provide email address for product owner defined on sprint."
msgstr ""
+"Molim upišite e-mail adresu vlasnika produkta definiranog na sprintu."
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:327
#, python-format
msgid "Scrum Meeting of %s"
-msgstr ""
+msgstr "Srum sastanak %s"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_backlog_sprint.py:57
#, python-format
msgid "Product Backlog '%s' is converted into Task %d."
-msgstr ""
+msgstr "Preostali zadatak produkta '%s' je pretvoren u zadatak %d."
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_backlog_sprint.py:62
#, python-format
msgid "Product Backlog '%s' is assigned sprint:%s"
-msgstr ""
+msgstr "Preostali zadatak produkta '%s' je dodjeljen sprintu: %s"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_backlog_sprint.py:57
@@ -248,7 +283,7 @@ msgstr ""
#: field:project.task,product_backlog_id:0
#, python-format
msgid "Product Backlog"
-msgstr ""
+msgstr "Preostali zadaci produkta"
#. module: project_scrum
#: model:ir.model,name:project_scrum.model_project_project
@@ -259,12 +294,12 @@ msgstr ""
#: view:project.scrum.sprint:0
#: field:project.scrum.sprint,project_id:0
msgid "Project"
-msgstr ""
+msgstr "Projekt"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Start Task"
-msgstr ""
+msgstr "Započni zadatak"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_email.py:90
@@ -272,7 +307,7 @@ msgstr ""
#: code:addons/project_scrum/wizard/project_scrum_email.py:96
#, python-format
msgid "None"
-msgstr ""
+msgstr "Ništa"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
@@ -282,44 +317,44 @@ msgstr ""
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Sprint Info"
-msgstr ""
+msgstr "Sprint info"
#. module: project_scrum
#: field:project.scrum.sprint,date_stop:0
msgid "Ending Date"
-msgstr ""
+msgstr "Završni datum"
#. module: project_scrum
#: view:project.scrum.meeting:0
#: view:project.scrum.sprint:0
msgid "Links"
-msgstr ""
+msgstr "Poveznice"
#. module: project_scrum
#: help:project.scrum.sprint,effective_hours:0
msgid "Computed using the sum of the task work done."
-msgstr ""
+msgstr "Izračunato kao zbroj izvršenog rada na zadatku"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_email.py:91
#, python-format
msgid "Task for Today"
-msgstr ""
+msgstr "Zadaci za danas"
#. module: project_scrum
#: field:project.scrum.backlog.assign.sprint,state_open:0
msgid "Open Backlog"
-msgstr ""
+msgstr "Otvori popis preostalih zadatka"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Total Spent Hours"
-msgstr ""
+msgstr "Ukupno utrošeno sati"
#. module: project_scrum
#: field:project.scrum.sprint,date_start:0
msgid "Starting Date"
-msgstr ""
+msgstr "Početni datum"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_email.py:94
@@ -330,14 +365,14 @@ msgstr ""
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Planning"
-msgstr ""
+msgstr "Planiranje"
#. module: project_scrum
#: view:project.scrum.backlog.assign.sprint:0
#: view:project.scrum.backlog.create.task:0
#: view:project.scrum.email:0
msgid "_Cancel"
-msgstr ""
+msgstr "_Otkaži"
#. module: project_scrum
#: help:project.scrum.sprint,scrum_master_id:0
@@ -349,12 +384,12 @@ msgstr ""
#: field:project.scrum.product.backlog,expected_hours:0
#: field:project.scrum.sprint,expected_hours:0
msgid "Planned Hours"
-msgstr ""
+msgstr "Planirani sati"
#. module: project_scrum
#: field:project.scrum.email,subject:0
msgid "Subject"
-msgstr ""
+msgstr "Predmet"
#. module: project_scrum
#: view:board.board:0
@@ -364,28 +399,28 @@ msgstr ""
#: view:project.scrum.product.backlog:0
#: view:project.scrum.sprint:0
msgid "Sprints"
-msgstr ""
+msgstr "Sprintevi"
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:314
#, python-format
msgid "Email notification could not be sent to the product owner %s"
-msgstr ""
+msgstr "Obavjest e-mailom nije mogla biti poslana vlasniku produkta %s"
#. module: project_scrum
#: field:project.scrum.backlog.assign.sprint,convert_to_task:0
msgid "Convert To Task"
-msgstr ""
+msgstr "Pretvori u zadatak"
#. module: project_scrum
#: view:project.scrum.backlog.merge:0
msgid "Are you sure you want to merge these Backlogs?"
-msgstr ""
+msgstr "Jeste li sigurni da želite spojiti ove preostale zadatke"
#. module: project_scrum
#: help:project.scrum.backlog.create.task,user_id:0
msgid "Responsible user who can work on task"
-msgstr ""
+msgstr "Odgovorni korisnik koji može raditi na zadataku"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
@@ -393,17 +428,17 @@ msgstr ""
#: view:project.scrum.sprint:0
#: field:project.scrum.sprint,state:0
msgid "State"
-msgstr ""
+msgstr "Status"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_sprint_task_open
msgid "View sprint Tasks"
-msgstr ""
+msgstr "Pogledaj zadatke sprinta"
#. module: project_scrum
#: field:project.scrum.sprint,meeting_ids:0
msgid "Daily Scrum"
-msgstr ""
+msgstr "Dnevni Scrum"
#. module: project_scrum
#: view:project.scrum.backlog.create.task:0
@@ -415,7 +450,7 @@ msgstr ""
#: model:ir.ui.menu,name:project_scrum.menu_action_product_backlog_form
#: view:project.scrum.product.backlog:0
msgid "Product Backlogs"
-msgstr ""
+msgstr "Preostali zadaci produkta"
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:301
@@ -424,78 +459,78 @@ msgstr ""
#: code:addons/project_scrum/project_scrum.py:316
#, python-format
msgid "Error !"
-msgstr ""
+msgstr "Greška !"
#. module: project_scrum
#: field:project.scrum.product.backlog,create_date:0
msgid "Creation Date"
-msgstr ""
+msgstr "Datum kreiranja"
#. module: project_scrum
#: view:project.scrum.meeting:0
#: view:project.scrum.sprint:0
msgid "Are there anything blocking you?"
-msgstr ""
+msgstr "Da li vas nešto blokira?"
#. module: project_scrum
#: model:ir.ui.menu,name:project_scrum.menu_scrum
msgid "Scrum"
-msgstr ""
+msgstr "Scrum"
#. module: project_scrum
#: field:project.scrum.meeting,question_today:0
msgid "Tasks for today"
-msgstr ""
+msgstr "Današnji zadaci"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_email.py:88
#: field:project.scrum.meeting,question_yesterday:0
#, python-format
msgid "Tasks since yesterday"
-msgstr ""
+msgstr "Zadaci od jučer"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_backlog_merger.py:39
#: code:addons/project_scrum/wizard/project_scrum_backlog_merger.py:71
#, python-format
msgid "Warning"
-msgstr ""
+msgstr "Upozorenje"
#. module: project_scrum
#: model:ir.model,name:project_scrum.model_project_scrum_backlog_assign_sprint
msgid "Assign sprint to backlogs"
-msgstr ""
+msgstr "Dodjeli sprintove preostali zadacima"
#. module: project_scrum
#: help:project.scrum.sprint,expected_hours:0
msgid "Estimated time to do the task."
-msgstr ""
+msgstr "Procjenjeno potrebno vrijeme za dovršetak zadatka."
#. module: project_scrum
#: field:project.scrum.product.backlog,task_hours:0
msgid "Task Hours"
-msgstr ""
+msgstr "Sati zadatka"
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Dates"
-msgstr ""
+msgstr "Datumi"
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Send to Scrum Master"
-msgstr ""
+msgstr "Pošalji Scrum masteru"
#. module: project_scrum
#: selection:project.scrum.product.backlog,state:0
#: selection:project.scrum.sprint,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "Poništeno"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.dblc_proj2
msgid "View project's tasks"
-msgstr ""
+msgstr "Pogledaj zadatke projekta"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_email.py:56
@@ -504,43 +539,45 @@ msgid ""
"Hello , \n"
"I am sending you Scrum Meeting : %s for the Sprint '%s' of Project '%s'"
msgstr ""
+"Pozdrav,\n"
+"Šaljem vam Scrum sastanak. %s sprinta '%s' projekta '%s'"
#. module: project_scrum
#: view:project.scrum.meeting:0
msgid "Daily"
-msgstr ""
+msgstr "Dnevno"
#. module: project_scrum
#: field:project.scrum.sprint,backlog_ids:0
msgid "Sprint Backlog"
-msgstr ""
+msgstr "Preostali zadaci sprinta"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Delegate"
-msgstr ""
+msgstr "Delegiraj"
#. module: project_scrum
#: view:board.board:0
msgid "My Board"
-msgstr ""
+msgstr "Moja ploča"
#. module: project_scrum
#: view:postpone.wizard:0
msgid "Postpone Backlog"
-msgstr ""
+msgstr "Odgodi preostale zadatke"
#. module: project_scrum
#: view:board.board:0
#: model:ir.actions.act_window,name:project_scrum.action_view_task_progress_graph
#: view:project.task:0
msgid "Task Progress"
-msgstr ""
+msgstr "Napredak zadatka"
#. module: project_scrum
#: field:project.scrum.meeting,date:0
msgid "Meeting Date"
-msgstr ""
+msgstr "Datum sastanka"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.act_scrum_sprint_2_project_task
@@ -549,112 +586,116 @@ msgstr ""
#: view:project.scrum.product.backlog:0
#: view:project.scrum.sprint:0
msgid "Tasks"
-msgstr ""
+msgstr "Zadaci"
#. module: project_scrum
#: field:project.scrum.email,product_owner_email:0
msgid "Product Owner Email"
-msgstr ""
+msgstr "E-mail vlasnika produkta"
#. module: project_scrum
#: view:project.scrum.email:0
msgid "_Send"
-msgstr ""
+msgstr "_Pošalji"
#. module: project_scrum
#: help:project.scrum.backlog.assign.sprint,sprint_id:0
msgid "Select Sprint to assign backlog."
-msgstr ""
+msgstr "Odaberite sprint za dodjelu preostalih zadataka"
#. module: project_scrum
#: help:project.scrum.product.backlog,progress:0
#: help:project.scrum.sprint,progress:0
msgid "Computed as: Time Spent / Total Time."
-msgstr ""
+msgstr "Izračunato kao: Utrošeno vrijeme/Ukupno vrijeme"
#. module: project_scrum
#: view:project.scrum.meeting:0
#: view:project.scrum.sprint:0
msgid "Month"
-msgstr ""
+msgstr "Mjesec"
#. module: project_scrum
#: field:project.scrum.meeting,question_blocks:0
msgid "Blocks encountered"
-msgstr ""
+msgstr "Pronađene blokade"
#. module: project_scrum
#: help:project.scrum.backlog.assign.sprint,state_open:0
msgid "Change the state of product backlogs to open if its in draft state"
msgstr ""
+"Promjeni status preostalih zahtjeva produkta radi otvaranja ako je u statusu "
+"nacrta."
#. module: project_scrum
#: view:project.scrum.email:0
#: field:project.scrum.email,message:0
msgid "Message"
-msgstr ""
+msgstr "Obavijest"
#. module: project_scrum
#: field:project.scrum.email,scrum_master_email:0
msgid "Scrum Master Email"
-msgstr ""
+msgstr "E-mail Scrum mastera"
#. module: project_scrum
#: help:project.project,product_owner_id:0
#: help:project.scrum.sprint,product_owner_id:0
msgid "The person who is responsible for the product"
-msgstr ""
+msgstr "Osoba koja je odgovorna za produkt"
#. module: project_scrum
#: view:project.scrum.meeting:0
#: view:project.scrum.sprint:0
msgid "Scrum Sprint"
-msgstr ""
+msgstr "Scrum sprint"
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Product owner"
-msgstr ""
+msgstr "Vlasnik produkta"
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Review"
-msgstr ""
+msgstr "Provjera"
#. module: project_scrum
#: field:project.scrum.sprint,retrospective:0
msgid "Sprint Retrospective"
-msgstr ""
+msgstr "Sprint pogled unazad"
#. module: project_scrum
#: field:project.scrum.product.backlog,note:0
msgid "Note"
-msgstr ""
+msgstr "Bilješka"
#. module: project_scrum
#: selection:project.scrum.product.backlog,state:0
#: selection:project.scrum.sprint,state:0
msgid "Draft"
-msgstr ""
+msgstr "Nacrt"
#. module: project_scrum
#: help:project.task,product_backlog_id:0
msgid ""
"Related product backlog that contains this task. Used in SCRUM methodology"
msgstr ""
+"Povezani preostali zadaci produkta koji sadrže zadatak. Korišteni u SCRUM "
+"metodologiji."
#. module: project_scrum
#: view:project.scrum.meeting:0
#: view:project.scrum.sprint:0
msgid "What do you plan to do till the next meeting?"
-msgstr ""
+msgstr "Što planirate raditi do sljedećeg sastanka?"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_postpone_wizard
#: view:postpone.wizard:0
#: view:project.scrum.product.backlog:0
msgid "Postpone"
-msgstr ""
+msgstr "Odgodi"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
@@ -662,87 +703,88 @@ msgstr ""
#: view:project.scrum.sprint:0
#: selection:project.scrum.sprint,state:0
msgid "Pending"
-msgstr ""
+msgstr "Na čekanju"
#. module: project_scrum
#: view:project.scrum.meeting:0
#: view:project.scrum.sprint:0
msgid "Optional Info"
-msgstr ""
+msgstr "Dodatne informacije"
#. module: project_scrum
#: model:ir.model,name:project_scrum.model_project_scrum_backlog_create_task
msgid "Create Tasks from Product Backlogs"
-msgstr ""
+msgstr "Kreiraj zadatke iz preostalih zadataka produkta"
#. module: project_scrum
#: help:project.project,sprint_size:0
msgid "Number of days allocated for sprint"
-msgstr ""
+msgstr "Broj dana dodjeljnih sprintu"
#. module: project_scrum
#: field:project.project,product_owner_id:0
#: field:project.scrum.sprint,product_owner_id:0
msgid "Product Owner"
-msgstr ""
+msgstr "Vlasnik produkta"
#. module: project_scrum
#: help:project.scrum.product.backlog,sequence:0
msgid "Gives the sequence order when displaying a list of product backlog."
msgstr ""
+"Daje poredak sekvence prilikom prikaza liste preostalih zadataka produkta."
#. module: project_scrum
#: model:process.node,name:project_scrum.process_node_productbacklog0
#: view:project.scrum.product.backlog:0
msgid "Product backlog"
-msgstr ""
+msgstr "Preostali zadaci produkta"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.act_scrum_sprint_2_product_backlog
msgid "Backlogs"
-msgstr ""
+msgstr "Preostali zadaci"
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:326
#, python-format
msgid "Thank you"
-msgstr ""
+msgstr "Hvala"
#. module: project_scrum
#: help:project.scrum.backlog.assign.sprint,convert_to_task:0
msgid "Create Task for Product Backlog"
-msgstr ""
+msgstr "Kreiraj zadatke za preostale zadatke produkta"
#. module: project_scrum
#: field:project.scrum.product.backlog,active:0
msgid "Active"
-msgstr ""
+msgstr "Aktivan"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_meeting_form
#: model:ir.ui.menu,name:project_scrum.menu_action_meeting_form
msgid "Scrum Meetings"
-msgstr ""
+msgstr "Scrum sastanci"
#. module: project_scrum
#: help:project.scrum.product.backlog,expected_hours:0
msgid "Estimated total time to do the Backlog"
-msgstr ""
+msgstr "Procjenjeno ukupno vrijeme za izvršenje preostalih zadataka"
#. module: project_scrum
#: help:project.scrum.backlog.merge,project_id:0
msgid "Select project for the new product backlog"
-msgstr ""
+msgstr "Odaberi projekt za novu listu preostalih zadataka produkta"
#. module: project_scrum
#: view:project.scrum.backlog.merge:0
msgid "Merge"
-msgstr ""
+msgstr "Spoji"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_sprint_backlog_open
msgid "View sprint backlog"
-msgstr ""
+msgstr "Pogledaj preostale zadatke sprinta"
#. module: project_scrum
#: field:project.scrum.meeting,question_backlog:0
@@ -754,7 +796,7 @@ msgstr ""
#: view:project.scrum.backlog.create.task:0
#: view:project.scrum.product.backlog:0
msgid "Convert to Task"
-msgstr ""
+msgstr "Pretvori u zadatak"
#. module: project_scrum
#: help:project.scrum.sprint,project_id:0
@@ -762,49 +804,51 @@ msgid ""
"If you have [?] in the project name, it means there are no analytic account "
"linked to this project."
msgstr ""
+"Ako imate (?) u imenu projekta, znači da nema analitičkog konta vezanog uz "
+"projekt."
#. module: project_scrum
#: field:project.scrum.product.backlog,sequence:0
msgid "Sequence"
-msgstr ""
+msgstr "Sekvenca"
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Send to Product Owner"
-msgstr ""
+msgstr "Pošalji vlasniku produkta"
#. module: project_scrum
#: view:board.board:0
#: model:ir.actions.act_window,name:project_scrum.action_view_backlog_progress_graph
#: view:project.scrum.product.backlog:0
msgid "Backlog Progress"
-msgstr ""
+msgstr "Napredak preostalih zadataka"
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:301
#, python-format
msgid "Email notification could not be sent to the scrum master %s"
-msgstr ""
+msgstr "E-mail obavjest nije mogla biti poslana Scrum masteru %s"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
#: selection:project.scrum.product.backlog,state:0
#: selection:project.scrum.sprint,state:0
msgid "Done"
-msgstr ""
+msgstr "Izvršeno"
#. module: project_scrum
#: view:project.scrum.backlog.merge:0
#: view:project.scrum.product.backlog:0
msgid "Cancel"
-msgstr ""
+msgstr "Odustani"
#. module: project_scrum
#: view:postpone.wizard:0
#: view:project.scrum.product.backlog:0
#: view:project.scrum.sprint:0
msgid "Close"
-msgstr ""
+msgstr "Zatvori"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
@@ -812,33 +856,33 @@ msgstr ""
#: view:project.scrum.sprint:0
#: selection:project.scrum.sprint,state:0
msgid "Open"
-msgstr ""
+msgstr "_"
#. module: project_scrum
#: view:project.scrum.sprint:0
#: field:project.scrum.sprint,effective_hours:0
msgid "Effective hours"
-msgstr ""
+msgstr "Efektivni sati"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Information"
-msgstr ""
+msgstr "Informacija"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Remaining Hours"
-msgstr ""
+msgstr "Preostali sati"
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Responsible"
-msgstr ""
+msgstr "Odgovoran"
#. module: project_scrum
#: field:project.scrum.product.backlog,name:0
msgid "Feature"
-msgstr ""
+msgstr "Značajka"
#. module: project_scrum
#: view:project.scrum.meeting:0
@@ -846,17 +890,17 @@ msgstr ""
#: view:project.scrum.sprint:0
#: view:project.task:0
msgid "Current"
-msgstr ""
+msgstr "Trenutno"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "My Backlogs"
-msgstr ""
+msgstr "Moji presotali zadaci"
#. module: project_scrum
#: view:project.scrum.email:0
msgid "Send Email for Scrum Meeting Details"
-msgstr ""
+msgstr "Pošalji e-mail za detalje Scrum sastanka"
#. module: project_scrum
#: model:ir.actions.act_window,help:project_scrum.action_product_backlog_form
@@ -866,17 +910,22 @@ msgid ""
"can be planified in a development sprint and may be split into several "
"tasks. The product backlog is managed by the product owner of the project."
msgstr ""
+"Scrum agilna metodologija se koristi u procesu razvoja softvera. Preostali "
+"zadaci produkta je lista značajki za implementaciju. Preostali zadaci "
+"produkta planiraju se u razvojnom sprintu (skupu) i mogu biti razdvojeni na "
+"više zadataka. Listom preostalih zadaka produkta upravlja vlasnik produkta "
+"na projektu."
#. module: project_scrum
#: model:process.transition,name:project_scrum.process_transition_backlogtask0
msgid "Backlog Task"
-msgstr ""
+msgstr "Zadatak liste preostalih zadataka"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
#: view:project.scrum.sprint:0
msgid "Planned hours"
-msgstr ""
+msgstr "Planirani sati"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_project_scrum_email
@@ -885,38 +934,38 @@ msgstr ""
#: view:project.scrum.meeting:0
#: view:project.scrum.sprint:0
msgid "Scrum Meeting"
-msgstr ""
+msgstr "Scrum sastanak"
#. module: project_scrum
#: model:ir.actions.report.xml,name:project_scrum.report_scrum_sprint_burndown_chart
#: view:project.scrum.sprint:0
msgid "Burndown Chart"
-msgstr ""
+msgstr "Burndown chart - prikaz preostalog posla"
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Daily Meetings"
-msgstr ""
+msgstr "Dnevni sastanci"
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Expected hours"
-msgstr ""
+msgstr "Očekivani sati"
#. module: project_scrum
#: field:project.project,sprint_size:0
msgid "Sprint Days"
-msgstr ""
+msgstr "Dani sprinta"
#. module: project_scrum
#: help:project.scrum.email,product_owner_email:0
msgid "Email Id of Product Owner"
-msgstr ""
+msgstr "ID e-maila vlasnika produkta"
#. module: project_scrum
#: field:project.scrum.sprint,progress:0
msgid "Progress (0-100)"
-msgstr ""
+msgstr "Napredak (0-100)"
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:324
@@ -926,6 +975,9 @@ msgid ""
" \n"
"I am sending you Daily Meeting Details of date %s for the Sprint %s\n"
msgstr ""
+"Pozdrav %s,\n"
+"\n"
+"šaljem vam detalje dnevnog sastanka datuma %s, za sprint %s\n"
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:325
@@ -940,6 +992,14 @@ msgid ""
"*Blocks encountered:\n"
"_______________________ %s"
msgstr ""
+"\n"
+"*Zadaci od jučer:\n"
+"_______________________%s\n"
+"*Zadaci za danas:\n"
+"_______________________ %s\n"
+"\n"
+"*Pronađene blokade:\n"
+"_______________________ %s"
#. module: project_scrum
#: help:project.scrum.product.backlog,active:0
@@ -947,31 +1007,33 @@ msgid ""
"If Active field is set to true, it will allow you to hide the product "
"backlog without removing it."
msgstr ""
+"Ako je aktivno polje postavljeno na DA, omogućit će vam skrivanje liste "
+"preostalih zadataka produkta bez uklanjanja."
#. module: project_scrum
#: help:project.scrum.product.backlog,task_hours:0
msgid "Estimated time of the total hours of the tasks"
-msgstr ""
+msgstr "Procjenjeno vrijeme ukupnih sati zadataka"
#. module: project_scrum
#: view:project.project:0
msgid "Scrum Data"
-msgstr ""
+msgstr "Scrum podaci"
#. module: project_scrum
#: field:project.project,scrum:0
msgid "Is a Scrum Project"
-msgstr ""
+msgstr "je Scrum projekt"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Edit"
-msgstr ""
+msgstr "Uredi"
#. module: project_scrum
#: field:project.scrum.product.backlog,tasks_id:0
msgid "Tasks Details"
-msgstr ""
+msgstr "Detalji zadatka"
#. module: project_scrum
#: model:ir.model,name:project_scrum.model_postpone_wizard
@@ -981,7 +1043,7 @@ msgstr ""
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Total Planned Hours"
-msgstr ""
+msgstr "Ukupno planirani sati"
#. module: project_scrum
#: view:project.scrum.backlog.merge:0
@@ -989,83 +1051,87 @@ msgid ""
"This wizard merge backlogs and create one new backlog with draft state (Old "
"backlogs Will be deleted). And it also merge old tasks from backlogs"
msgstr ""
+"Ovaj asistent spaja liste preostalih zadataka i kreira jednu novu listu u "
+"statusu Nacrt (stare liste preostalih zadataka će biti izbrisane). Također "
+"spaja stare zadatke iz liste preostalih zadataka."
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:303
#, python-format
msgid "Please provide email address for scrum master defined on sprint."
-msgstr ""
+msgstr "Molim upišite e-mail adresu scrum mastera definiranog na sprintu."
#. module: project_scrum
#: view:project.scrum.backlog.merge:0
msgid "Select the project for merged backlogs"
-msgstr ""
+msgstr "Odaberite projekt za spojene liste preostalih zadataka"
#. module: project_scrum
#: view:board.board:0
#: model:ir.actions.act_window,name:project_scrum.action_view_my_scrum_sprint_tree
msgid "My Sprint"
-msgstr ""
+msgstr "Moj sprint"
#. module: project_scrum
#: field:project.scrum.product.backlog,effective_hours:0
msgid "Spent Hours"
-msgstr ""
+msgstr "Utrošeni sati"
#. module: project_scrum
#: help:project.scrum.product.backlog,effective_hours:0
msgid "Computed using the sum of the time spent on every related tasks"
msgstr ""
+"Izračunato korištenjem sume utrošenog vremena svakog povezanog zadatka"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.open_board_project_scrum
#: model:ir.ui.menu,name:project_scrum.menu_deshboard_scurm
msgid "Scrum Dashboard"
-msgstr ""
+msgstr "Scrum nadzorna ploča"
#. module: project_scrum
#: model:ir.model,name:project_scrum.model_project_scrum_sprint
msgid "Project Scrum Sprint"
-msgstr ""
+msgstr "Scrum sprint projekta"
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Feature Description"
-msgstr ""
+msgstr "Opis značajki"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_backlog_merger.py:71
#, python-format
msgid "Please select any Project."
-msgstr ""
+msgstr "Molim odaberite neki projekt"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_email.py:97
#, python-format
msgid "Thank you,"
-msgstr ""
+msgstr "Hvala"
#. module: project_scrum
#: code:addons/project_scrum/project_scrum.py:90
#, python-format
msgid "The sprint '%s' has been closed."
-msgstr ""
+msgstr "Sprint %s je zatvoren"
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_scrum_backlog_to_sprint
#: view:project.scrum.backlog.assign.sprint:0
msgid "Assign Sprint"
-msgstr ""
+msgstr "Dodjeli sprint"
#. module: project_scrum
#: field:project.scrum.backlog.create.task,user_id:0
msgid "Assign To"
-msgstr ""
+msgstr "Dodjeljen"
#. module: project_scrum
#: view:postpone.wizard:0
msgid "Are you sure to postpone Backlog ?"
-msgstr ""
+msgstr "Jeste li sigurni da želite odgoditi listu preostalih zadataka"
#. module: project_scrum
#: field:project.scrum.backlog.assign.sprint,sprint_id:0
@@ -1076,15 +1142,15 @@ msgstr ""
#: view:project.task:0
#: field:project.task,sprint_id:0
msgid "Sprint"
-msgstr ""
+msgstr "Sprint"
#. module: project_scrum
#: code:addons/project_scrum/wizard/project_scrum_backlog_merger.py:39
#, python-format
msgid "Please select at least two product Backlogs"
-msgstr ""
+msgstr "Molim odaberite bar dvije liste preostalih zadataka produkta"
#. module: project_scrum
#: field:project.scrum.sprint,review:0
msgid "Sprint Review"
-msgstr ""
+msgstr "Pregled sprinta"
diff --git a/addons/project_timesheet/project_timesheet_view.xml b/addons/project_timesheet/project_timesheet_view.xml
index 8152862c448..07873c00592 100644
--- a/addons/project_timesheet/project_timesheet_view.xml
+++ b/addons/project_timesheet/project_timesheet_view.xml
@@ -107,9 +107,6 @@ the project form.</field>
-->
<menuitem id="menu_project_working_hours" parent="base.menu_project_management_time_tracking" action="hr_timesheet.act_hr_timesheet_line_evry1_all_form"/>
- <menuitem id="menu_invoicing" name="Billing" parent="base.menu_main_pm" sequence="4"/>
-
-
<record id="action_account_analytic_overdue" model="ir.actions.act_window">
<field name="name">Customer Projects</field>
<field name="res_model">account.analytic.account</field>
@@ -120,7 +117,7 @@ the project form.</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>
</record>
- <menuitem id="menu_invoicing_contracts" parent="menu_invoicing" sequence="4"
+ <menuitem id="menu_invoicing_contracts" parent="menu_project_billing" sequence="4"
action="account_analytic_analysis.action_account_analytic_overdue"/>
</data>
diff --git a/addons/purchase/__openerp__.py b/addons/purchase/__openerp__.py
index b4f3a9adf30..010b0369edf 100644
--- a/addons/purchase/__openerp__.py
+++ b/addons/purchase/__openerp__.py
@@ -78,5 +78,6 @@ Dashboard for purchase management that includes:
'installable': True,
'active': False,
'certificate': '0057234283549',
+ 'application': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/purchase/board_purchase_view.xml b/addons/purchase/board_purchase_view.xml
index 04a9b47abe3..0bb34e3713b 100644
--- a/addons/purchase/board_purchase_view.xml
+++ b/addons/purchase/board_purchase_view.xml
@@ -13,7 +13,8 @@
<field name="res_model">purchase.order</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
- <field name="domain">[('date_order','&gt;',time.strftime('%Y-01-01 00:00:00')),('date_order','&lt;',time.strftime('%Y-12-31 23:59:59')), ('state','=','draft')]</field>
+ <field name="domain">[('state','=','draft')]</field>
+ <field name="context">{'quotation_only': True}</field>
</record>
<record id="purchase_waiting" model="ir.actions.act_window">
<field name="name">Purchase Order Waiting Approval</field>
@@ -24,7 +25,7 @@
<field name="domain">[('date_order','&gt;',time.strftime('%Y-01-01 00:00:00')),('date_order','&lt;',time.strftime('%Y-12-31 23:59:59')), ('state','in',('wait','confirmed'))]</field>
</record>
- <record model="ir.ui.view" id="view_purchase_order_monthly_categ_tree">
+ <record model="ir.ui.view" id="view_purchase_order_monthly_categ_tree">
<field name="name">purchase.order.monthly.categ.tree</field>
<field name="model">purchase.report</field>
<field name="type">tree</field>
@@ -47,7 +48,7 @@
</tree>
</field>
</record>
- <record model="ir.ui.view" id="view_purchase_order_monthly_categ_graph">
+ <record model="ir.ui.view" id="view_purchase_order_monthly_categ_graph">
<field name="name">purchase.order.monthly.categ.graph</field>
<field name="model">purchase.report</field>
<field name="type">graph</field>
@@ -59,92 +60,41 @@
</graph>
</field>
</record>
- <record id="action_purchase_order_monthly_categ_graph" model="ir.actions.act_window">
- <field name="name">Monthly Purchase by Category</field>
- <field name="res_model">purchase.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">graph,tree</field>
- <field name="context">{'group_by':['month','category_id'],'group_by_no_leaf':1}</field>
- <field name="view_id" ref="view_purchase_order_monthly_categ_graph"></field>
- </record>
- <record id="open_view_purchase_order_monthly_categ_tree" model="ir.actions.act_window.view">
+ <record id="action_purchase_order_monthly_categ_graph" model="ir.actions.act_window">
+ <field name="name">Monthly Purchase by Category</field>
+ <field name="res_model">purchase.report</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">graph,tree</field>
+ <field name="context">{'group_by':['month','category_id'],'group_by_no_leaf':1}</field>
+ <field name="domain">[('state','in',('approved','except_picking','except_invoice','done'))]</field>
+ <field name="view_id" ref="view_purchase_order_monthly_categ_graph"></field>
+ </record>
+ <record id="open_view_purchase_order_monthly_categ_tree" model="ir.actions.act_window.view">
<field eval="2" name="sequence"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_purchase_order_monthly_categ_tree"/>
<field name="act_window_id" ref="action_purchase_order_monthly_categ_graph"/>
- </record>
- <record id="open_view_purchase_order_monthly_categ_graph" model="ir.actions.act_window.view">
- <field eval="1" name="sequence"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_purchase_order_monthly_categ_graph"/>
- <field name="act_window_id" ref="action_purchase_order_monthly_categ_graph"/>
- </record>
-
- <record model="ir.ui.view" id="view_negotiation_by_supplier_tree">
- <field name="name">negotiation.by.supplier.tree</field>
- <field name="model">purchase.report</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Negotiation by Supplier">
- <field name="partner_id"/>
- <field name="negociation"/>
- </tree>
- </field>
</record>
- <record model="ir.ui.view" id="view_negotiation_by_supplier_graph">
- <field name="name">negotiation.by.supplier.graph</field>
- <field name="model">purchase.report</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph string="Negotiation by Supplier" type="bar">
- <field name="partner_id"/>
- <field name="negociation"/>
- </graph>
- </field>
+ <record id="open_view_purchase_order_monthly_categ_graph" model="ir.actions.act_window.view">
+ <field eval="1" name="sequence"/>
+ <field name="view_mode">graph</field>
+ <field name="view_id" ref="view_purchase_order_monthly_categ_graph"/>
+ <field name="act_window_id" ref="action_purchase_order_monthly_categ_graph"/>
</record>
- <record id="action_negotiation_by_supplier" model="ir.actions.act_window">
- <field name="name">Negotiation by Supplier</field>
- <field name="res_model">purchase.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">graph,tree</field>
- <field name="context">{'group_by':['partner_id'],'group_by_no_leaf':1}</field>
- <field name="view_id" ref="view_negotiation_by_supplier_graph"/>
- </record>
- <record id="open_view_negotiation_by_supplier_tree" model="ir.actions.act_window.view">
- <field eval="2" name="sequence"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_negotiation_by_supplier_tree"/>
- <field name="act_window_id" ref="action_negotiation_by_supplier"/>
- </record>
- <record id="open_view_negotiation_by_supplier_graph" model="ir.actions.act_window.view">
- <field eval="1" name="sequence"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_negotiation_by_supplier_graph"/>
- <field name="act_window_id" ref="action_negotiation_by_supplier"/>
- </record>
+
<record id="board_purchase_form" model="ir.ui.view">
<field name="name">board.purchase.form</field>
<field name="model">board.board</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="My Board">
- <board style="1-1">
+ <form string="Purchase Dashboard">
+ <board style="2-1">
<column>
- <!--
- <action name="%(purchase.action_current_purchases)d" string="Current purchases"/>
- <action name="%(purchase.action_po_per_month_tree)d" string="Purchase order per month"/>
- -->
- <action name="%(purchase_draft)d" string="Request for Quotations"/>
+ <action name="%(purchase_draft)d" string="Request for Quotations"/>
</column>
<column>
- <action name="%(action_purchase_order_monthly_categ_graph)d" string="Monthly Purchase by Category"/>
- <!--
- <action name="%(purchase.action_purchase_by_supplier)d" string="Purchase by supplier"/>
- <action name="%(purchase.action_total_price_by_product_by_state)d" string="Total price by product by state"/>
- <action name="%(purchase.action_qty_per_product)d" string="Total Quantity per product"/>
- -->
-
+ <action name="%(action_purchase_order_monthly_categ_graph)d" string="Monthly Purchases by Category"/>
</column>
</board>
</form>
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index 90acbf4ecfd..b61a33ed73b 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -315,11 +315,10 @@
<field name="date_order" />
<field name="partner_id"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
- <field name="location_id"/>
- <field name="minimum_planned_date"/>
+ <field name="minimum_planned_date" invisible="context.get('quotation_only', False)"/>
<field name="origin"/>
- <field name="invoiced_rate" widget="progressbar"/>
- <field name="shipped_rate" widget="progressbar"/>
+ <field name="invoiced_rate" widget="progressbar" invisible="context.get('quotation_only', False)"/>
+ <field name="shipped_rate" widget="progressbar" invisible="context.get('quotation_only', False)"/>
<field name="amount_untaxed" sum="Total Untaxed amount"/>
<field name="amount_total" sum="Total amount"/>
<field name="state"/>
diff --git a/addons/purchase/report/purchase_report_view.xml b/addons/purchase/report/purchase_report_view.xml
index 68323bc9146..095f17090da 100644
--- a/addons/purchase/report/purchase_report_view.xml
+++ b/addons/purchase/report/purchase_report_view.xml
@@ -99,7 +99,7 @@
<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"/>
+ <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 UOM" name="group_product_uom" icon="terp-mrp" context="{'group_by':'product_uom'}"/>
@@ -187,98 +187,5 @@
</record>
<menuitem action="action_stock_move_report_po" id="menu_action_stock_move_report_po" parent="base.next_id_73" sequence="8"/>
- <record model="ir.ui.view" id="view_purchase_by_supplier_graph">
- <field name="name">purchase.by.supplier.graph</field>
- <field name="model">purchase.report</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph string="Purchase by supplier" type="bar">
- <field name="partner_id"/>
- <field name="nbr" operator="+"/>
- </graph>
- </field>
- </record>
- <record id="action_purchase_by_supplier" model="ir.actions.act_window">
- <field name="name">Purchase by supplier</field>
- <field name="res_model">purchase.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree</field>
- <field name="domain">[('state','=','done'),('date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]</field>
- <field name="context">{'group_by_no_leaf':1,'group_by':['partner_id']}</field>
- <field name="view_id" ref="view_purchase_by_supplier_graph"/>
- </record>
-
- <record model="ir.ui.view" id="view_total_price_by_product_by_state_graph">
- <field name="name">total.price.by.product.by.state.graph</field>
- <field name="model">purchase.report</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph string="Total price by product by state" type="pie">
- <field name="product_id"/>
- <field name="price_total" operator="+"/>
-
- </graph>
- </field>
- </record>
- <record id="action_total_price_by_product_by_state" model="ir.actions.act_window">
- <field name="name">Total price by product by state</field>
- <field name="res_model">purchase.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="context">{'group_by_no_leaf':1,'group_by':['product_id','state']}</field>
- <field name="view_id" ref="view_total_price_by_product_by_state_graph"/>
- </record>
-
- <record model="ir.ui.view" id="view_qty_per_product_graph">
- <field name="name">qty.per.product.graph</field>
- <field name="model">purchase.report</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph string="Qty. per product" type="bar">
- <field name="product_id"/>
- <field name="quantity" operator="+"/>
- </graph>
- </field>
- </record>
- <record id="action_qty_per_product" model="ir.actions.act_window">
- <field name="name">Qty. per product</field>
- <field name="res_model">purchase.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree</field>
- <field name="domain">[('state','=','done')]</field>
- <field name="context">{'group_by_no_leaf':1,'group_by':['product_id']}</field>
- <field name="view_id" ref="view_qty_per_product_graph"/>
- </record>
-
- <record model="ir.ui.view" id="view_po_per_month_tree">
- <field name="name">qty.per.product.tree</field>
- <field name="model">purchase.report</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Purchase order per month" >
- <field name="month"/>
- <field name="product_id" invisible="1"/>
- <field name="nbr" operator="+"/>
- </tree>
- </field>
- </record>
- <record id="action_po_per_month_tree" model="ir.actions.act_window">
- <field name="name">Purchase order per month</field>
- <field name="res_model">purchase.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree</field>
- <field name="domain">[('date','&gt;',time.strftime('%Y-01-01 00:00:00')),('date','&lt;',time.strftime('%Y-12-31 23:59:59')),('state','=','done')]</field>
- <field name="context">{'group_by_no_leaf':1,'group_by':['month','product_id']}</field>
- <field name="view_id" ref="view_po_per_month_tree"/>
- </record>
-
- <record id="action_current_purchases" model="ir.actions.act_window">
- <field name="name">Current purchases</field>
- <field name="res_model">purchase.order</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="domain">[('state','in',('draft','confirmed'))]</field>
- <field name="view_id" ref="purchase.purchase_order_tree"/>
- </record>
</data>
</openerp>
diff --git a/addons/purchase/static/src/img/icon.png b/addons/purchase/static/src/img/icon.png
new file mode 100644
index 00000000000..094705cecc3
--- /dev/null
+++ b/addons/purchase/static/src/img/icon.png
Binary files differ
diff --git a/addons/purchase_double_validation/__openerp__.py b/addons/purchase_double_validation/__openerp__.py
index cd379afdb59..eda89e81aa8 100644
--- a/addons/purchase_double_validation/__openerp__.py
+++ b/addons/purchase_double_validation/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- "name" : "Double Validation for Purchase",
+ "name" : "Double Validation on Purchases",
"version" : "1.1",
- "category": 'Hidden',
+ 'category': 'Purchase Management',
'complexity': "easy",
"images" : ["images/purchase_validation.jpeg"],
"depends" : ["base","purchase"],
diff --git a/addons/purchase_requisition/i18n/hr.po b/addons/purchase_requisition/i18n/hr.po
new file mode 100644
index 00000000000..ef664e8d8cd
--- /dev/null
+++ b/addons/purchase_requisition/i18n/hr.po
@@ -0,0 +1,436 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-12-11 22:15+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-12 05:17+0000\n"
+"X-Generator: Launchpad (build 14458)\n"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+#: selection:purchase.requisition,state:0
+msgid "In Progress"
+msgstr "U tijeku"
+
+#. module: purchase_requisition
+#: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:44
+#, python-format
+msgid "No Product in Tender"
+msgstr "Nema artikla u tenderu"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Confirm"
+msgstr "Potvrdi"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+#: field:purchase.requisition,user_id:0
+msgid "Responsible"
+msgstr "Odgovoran"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Group By..."
+msgstr "Grupiraj po..."
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+#: field:purchase.requisition,state:0
+msgid "State"
+msgstr "Status"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+#: selection:purchase.requisition,state:0
+msgid "Draft"
+msgstr "Nacrt"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+msgid "Supplier"
+msgstr "Dobavljač"
+
+#. module: purchase_requisition
+#: field:purchase.requisition,exclusive:0
+msgid "Requisition Type"
+msgstr "Vrsta zahtjeva"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+msgid "Product Detail"
+msgstr "Detalji artikla"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+#: field:purchase.requisition,date_start:0
+msgid "Requisition Date"
+msgstr "Datum zahtjeva"
+
+#. module: purchase_requisition
+#: model:ir.actions.act_window,name:purchase_requisition.action_purchase_requisition_partner
+#: model:ir.actions.report.xml,name:purchase_requisition.report_purchase_requisition
+#: model:ir.model,name:purchase_requisition.model_purchase_requisition
+#: field:product.product,purchase_requisition:0
+#: field:purchase.order,requisition_id:0
+#: view:purchase.requisition:0
+#: field:purchase.requisition.line,requisition_id:0
+#: view:purchase.requisition.partner:0
+msgid "Purchase Requisition"
+msgstr "Zahtjev za nabavom"
+
+#. module: purchase_requisition
+#: model:ir.model,name:purchase_requisition.model_purchase_requisition_line
+msgid "Purchase Requisition Line"
+msgstr "Stavka zahtjeva za nabavom"
+
+#. module: purchase_requisition
+#: model:ir.model,name:purchase_requisition.model_product_product
+#: field:purchase.requisition.line,product_id:0
+msgid "Product"
+msgstr "Artikl"
+
+#. module: purchase_requisition
+#: sql_constraint:purchase.order:0
+msgid "Order Reference must be unique !"
+msgstr "Oznaka naloga mora biti jedinstvena"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+#: field:purchase.requisition,description:0
+msgid "Description"
+msgstr "Opis"
+
+#. module: purchase_requisition
+#: help:product.product,purchase_requisition:0
+msgid ""
+"Check this box so that requisitions generates purchase requisitions instead "
+"of directly requests for quotations."
+msgstr ""
+"Označi ovu kučicu kako bi zahtjev generirao zahtjev za nabavom umjesto "
+"direktno upit."
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+msgid "Type"
+msgstr "Vrsta"
+
+#. module: purchase_requisition
+#: field:purchase.requisition,company_id:0
+#: field:purchase.requisition.line,company_id:0
+msgid "Company"
+msgstr "Organizacija"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Request a Quotation"
+msgstr "Upit"
+
+#. module: purchase_requisition
+#: selection:purchase.requisition,exclusive:0
+msgid "Multiple Requisitions"
+msgstr "Višestruki zahtjevi"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Approved by Supplier"
+msgstr "Odobrio dobavljač"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Reset to Draft"
+msgstr "Vrati u nacrt"
+
+#. module: purchase_requisition
+#: model:ir.module.module,description:purchase_requisition.module_meta_information
+msgid ""
+"\n"
+" This module allows you to manage your Purchase Requisition.\n"
+" When a purchase order is created, you now have the opportunity to save "
+"the related requisition.\n"
+" This new object will regroup and will allow you to easily keep track and "
+"order all your purchase orders.\n"
+msgstr ""
+"\n"
+" Ovaj modul omogućuje upravljanje zahtjevima u nabavi.\n"
+" Kad se kreira nabavni nalog, imate priliku snimiti povezani zahtjev.\n"
+" Novi objekt će se pregrupirati i mogućiti vam lako praćenje i "
+"naručivanje svih vaših nabavnih naloga.\n"
+
+#. module: purchase_requisition
+#: field:purchase.requisition.partner,partner_address_id:0
+msgid "Address"
+msgstr "Adresa"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+msgid "Order Reference"
+msgstr "Oznaka narudžbe"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Start Date"
+msgstr "Početni datum"
+
+#. module: purchase_requisition
+#: model:ir.actions.act_window,help:purchase_requisition.action_purchase_requisition
+msgid ""
+"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."
+msgstr ""
+"Zahtjev u nabavi je korak prije upita. U zahtjevu za nabavom (ili nabavnom "
+"tenderu), možete zabilježiti sve artikle\r\n"
+"koje morate kupiti i pokrenuti kreiranje upita dobavljačima. Nakon pregovora "
+"nakon što se razmotrili sve ponude dobavljača možete potvrditi neke, a "
+"odustati od drugih."
+
+#. module: purchase_requisition
+#: field:purchase.requisition.line,product_qty:0
+msgid "Quantity"
+msgstr "Količina"
+
+#. module: purchase_requisition
+#: model:ir.actions.act_window,name:purchase_requisition.action_purchase_requisition
+#: model:ir.ui.menu,name:purchase_requisition.menu_purchase_requisition_pro_mgt
+msgid "Purchase Requisitions"
+msgstr "Zahtjevi u nabavi"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "End Date"
+msgstr "Završni datum"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+#: field:purchase.requisition,name:0
+msgid "Requisition Reference"
+msgstr "Oznaka zahtjeva"
+
+#. module: purchase_requisition
+#: field:purchase.requisition,line_ids:0
+msgid "Products to Purchase"
+msgstr "Artikli za nabavu"
+
+#. module: purchase_requisition
+#: field:purchase.requisition,date_end:0
+msgid "Requisition Deadline"
+msgstr "Konačan rok zahtjeva"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Search Purchase Requisition"
+msgstr "Pretraži zahtjeve u nabavi"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Notes"
+msgstr "Bilješke"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+msgid "Date Ordered"
+msgstr "Datum narudžbe"
+
+#. module: purchase_requisition
+#: help:purchase.requisition,exclusive:0
+msgid ""
+"Purchase Requisition (exclusive): On the confirmation of a purchase order, "
+"it cancels the remaining purchase order.\n"
+"Purchase Requisition(Multiple): It allows to have multiple purchase "
+"orders.On confirmation of a purchase order it does not cancel the remaining "
+"orders"
+msgstr ""
+"Zahtjev u nabavi (ekskluzivni): Prilikom potvrde nabavnog naloga , "
+"poništava preostale nabavne naloge.\n"
+"Zahtjevi u nabavi(Višestruki): Omogućuje više nabavnih naloga. Prilikom "
+"potvrde nabavnog naloga ne poništava preostale naloge."
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Cancel Purchase Order"
+msgstr "Poništi nabavni nalog"
+
+#. module: purchase_requisition
+#: model:ir.model,name:purchase_requisition.model_purchase_order
+#: view:purchase.requisition:0
+msgid "Purchase Order"
+msgstr "Nalog za nabavu"
+
+#. module: purchase_requisition
+#: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:44
+#, python-format
+msgid "Error!"
+msgstr "Greška!"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+#: field:purchase.requisition.line,product_uom_id:0
+msgid "Product UoM"
+msgstr "JM proizvoda"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Products"
+msgstr "Artikli"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Order Date"
+msgstr "Datum naloga"
+
+#. module: purchase_requisition
+#: selection:purchase.requisition,state:0
+msgid "Cancelled"
+msgstr "Poništeno"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+msgid "["
+msgstr "["
+
+#. module: purchase_requisition
+#: model:ir.model,name:purchase_requisition.model_purchase_requisition_partner
+msgid "Purchase Requisition Partner"
+msgstr "Partner za zahtjev u nabavi"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+msgid "]"
+msgstr "]"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+msgid "Quotation Detail"
+msgstr "Detalji upita"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+msgid "Purchase for Requisitions"
+msgstr "Nabava za zahtjev"
+
+#. module: purchase_requisition
+#: model:ir.actions.act_window,name:purchase_requisition.act_res_partner_2_purchase_order
+msgid "Purchase orders"
+msgstr "Nalozi u nabavi"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+#: view:purchase.requisition:0
+#: field:purchase.requisition,origin:0
+msgid "Origin"
+msgstr ""
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Reference"
+msgstr "Vezna oznaka"
+
+#. module: purchase_requisition
+#: model:ir.model,name:purchase_requisition.model_procurement_order
+msgid "Procurement"
+msgstr "Nabava"
+
+#. module: purchase_requisition
+#: field:purchase.requisition,warehouse_id:0
+msgid "Warehouse"
+msgstr "Skladište"
+
+#. module: purchase_requisition
+#: field:procurement.order,requisition_id:0
+msgid "Latest Requisition"
+msgstr "Zadnji zahtjev"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Quotations"
+msgstr "Upiti"
+
+#. module: purchase_requisition
+#: report:purchase.requisition:0
+msgid "Qty"
+msgstr "Kol."
+
+#. module: purchase_requisition
+#: selection:purchase.requisition,exclusive:0
+msgid "Purchase Requisition (exclusive)"
+msgstr "Zahtjev u nabavi (ekskluzivan)"
+
+#. module: purchase_requisition
+#: view:purchase.requisition.partner:0
+msgid "Create Quotation"
+msgstr "Kreiraj upit"
+
+#. module: purchase_requisition
+#: constraint:product.product:0
+msgid "Error: Invalid ean code"
+msgstr "Greška: neispravan EAN kod"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+#: selection:purchase.requisition,state:0
+msgid "Done"
+msgstr "Izvršeno"
+
+#. module: purchase_requisition
+#: view:purchase.requisition.partner:0
+msgid "_Cancel"
+msgstr "_Otkaži"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Confirm Purchase Order"
+msgstr "Potvrdi nabavni nalog"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Cancel"
+msgstr "Odustani"
+
+#. module: purchase_requisition
+#: field:purchase.requisition.partner,partner_id:0
+msgid "Partner"
+msgstr "Partner"
+
+#. module: purchase_requisition
+#: model:ir.module.module,shortdesc:purchase_requisition.module_meta_information
+msgid "Purchase - Purchase Requisition"
+msgstr "Nabava - Zahtjevi u nabavi"
+
+#. module: purchase_requisition
+#: view:purchase.requisition:0
+msgid "Unassigned"
+msgstr "Nedodjeljen"
+
+#. module: purchase_requisition
+#: view:purchase.order:0
+msgid "Requisition"
+msgstr "Zahtjev"
+
+#. module: purchase_requisition
+#: field:purchase.requisition,purchase_ids:0
+msgid "Purchase Orders"
+msgstr "Nalozi u nabavi"
+
+#. module: purchase_requisition
+#: code:addons/purchase_requisition/wizard/purchase_requisition_partner.py:90
+#, python-format
+msgid ""
+"You have already one %s purchase order for this partner, you must cancel "
+"this purchase order to create a new quotation."
+msgstr ""
+"Već imate jedan %s nabavni nalog za tog partnera. Morate poništiti ovaj "
+"nabavni nalog kako bi kreirali novi upit."
diff --git a/addons/report_designer/__openerp__.py b/addons/report_designer/__openerp__.py
index fd29d2b96ee..77b37fd507b 100644
--- a/addons/report_designer/__openerp__.py
+++ b/addons/report_designer/__openerp__.py
@@ -21,11 +21,11 @@
{
- "name" : "Reporting Hidden Installer",
+ "name" : "Report Designer",
"version" : "1.0",
"depends" : ["base", "base_setup"],
"author" : "OpenERP SA",
- "category": "Hidden",
+ "category": "Tools",
"description": """
Installer for reporting Hidden.
==============================
diff --git a/addons/report_intrastat/__openerp__.py b/addons/report_intrastat/__openerp__.py
index 6c80e0f2b81..2f0bb6b46d9 100644
--- a/addons/report_intrastat/__openerp__.py
+++ b/addons/report_intrastat/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Intrastat Reporting',
'version': '1.0',
- 'category': 'Hidden',
+ "category": 'Accounting & Finance',
'description': """
A module that adds intrastat reports.
=====================================
diff --git a/addons/report_webkit/__openerp__.py b/addons/report_webkit/__openerp__.py
index 56496a2d130..5db184a8c58 100644
--- a/addons/report_webkit/__openerp__.py
+++ b/addons/report_webkit/__openerp__.py
@@ -84,7 +84,7 @@ TODO
"version" : "0.9",
"depends" : ["base"],
"author" : "Camptocamp",
- "category": "Hidden", # i.e a technical module, not shown in Application install menu
+ "category": "Tools", # i.e a technical module, not shown in Application install menu
"url": "http://http://www.camptocamp.com/",
"data": [ "security/ir.model.access.csv",
"data.xml",
diff --git a/addons/report_webkit/i18n/hr.po b/addons/report_webkit/i18n/hr.po
new file mode 100644
index 00000000000..01ec38be92b
--- /dev/null
+++ b/addons/report_webkit/i18n/hr.po
@@ -0,0 +1,613 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-11 21:52+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-12 05:17+0000\n"
+"X-Generator: Launchpad (build 14458)\n"
+
+#. module: report_webkit
+#: field:ir.actions.report.xml,webkit_header:0
+msgid "WebKit Header"
+msgstr "Zaglavlje Webkita"
+
+#. module: report_webkit
+#: view:ir.actions.report.xml:0
+msgid "Webkit Template (used if Report File is not found)"
+msgstr "Predložak Webkita (koristi se ako datoteka izvještaja nije nađena)"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "Tabloid 29 279.4 x 431.8 mm"
+msgstr ""
+
+#. module: report_webkit
+#: model:ir.actions.act_window,name:report_webkit.action_header_img
+#: model:ir.ui.menu,name:report_webkit.menu_header_img
+msgid "Header IMG"
+msgstr ""
+
+#. module: report_webkit
+#: field:res.company,lib_path:0
+msgid "Webkit Executable Path"
+msgstr "Webkit izvršna putanja"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "Ledger 28 431.8 x 279.4 mm"
+msgstr ""
+
+#. module: report_webkit
+#: help:ir.header_img,type:0
+msgid "Image type(png,gif,jpeg)"
+msgstr "Vrsta slike (png,gif,jpeg)"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "Executive 4 7.5 x 10 inches, 190.5 x 254 mm"
+msgstr ""
+
+#. module: report_webkit
+#: field:ir.header_img,company_id:0
+#: field:ir.header_webkit,company_id:0
+msgid "Company"
+msgstr "Organizacija"
+
+#. module: report_webkit
+#: code:addons/report_webkit/webkit_report.py:97
+#, python-format
+msgid "path to Wkhtmltopdf is not absolute"
+msgstr "putanja do Wkhtmltopdf nije apsolutna"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "DLE 26 110 x 220 mm"
+msgstr ""
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "B7 21 88 x 125 mm"
+msgstr "B7 21 88 x 125 mm"
+
+#. module: report_webkit
+#: code:addons/report_webkit/webkit_report.py:306
+#: code:addons/report_webkit/webkit_report.py:320
+#: code:addons/report_webkit/webkit_report.py:338
+#: code:addons/report_webkit/webkit_report.py:354
+#, python-format
+msgid "Webkit render"
+msgstr ""
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "Folio 27 210 x 330 mm"
+msgstr ""
+
+#. module: report_webkit
+#: code:addons/report_webkit/webkit_report.py:67
+#, python-format
+msgid ""
+"Please install executable on your system'+\n"
+" ' (sudo apt-get install wkhtmltopdf) or "
+"download it from here:'+\n"
+" ' "
+"http://code.google.com/p/wkhtmltopdf/downloads/list and set the'+\n"
+" ' path to the executable on the Company form."
+msgstr ""
+"Molim instalirajte izvršnu datoteku u vaš sustav'+\n"
+" ' (sudo apt-get install wkhtmltopdf) ili "
+"skinite odavde:'+\n"
+" ' "
+"http://code.google.com/p/wkhtmltopdf/downloads/list i postavite'+\n"
+" ' putanju do izvršne datoteke na formi "
+"organizacije."
+
+#. module: report_webkit
+#: help:ir.header_img,name:0
+msgid "Name of Image"
+msgstr "Naziv slike"
+
+#. module: report_webkit
+#: code:addons/report_webkit/webkit_report.py:91
+#, python-format
+msgid ""
+"Wrong Wkhtmltopdf path set in company'+\n"
+" 'Given path is not executable or path is "
+"wrong"
+msgstr ""
+"Pogrešna Wkhtmltopdf putanja postavljena u organizaciji'+\n"
+" 'Odabrana putanja nije izvršna datoteka ili "
+"je putanja pogrešna"
+
+#. module: report_webkit
+#: code:addons/report_webkit/webkit_report.py:166
+#, python-format
+msgid "Webkit raise an error"
+msgstr "Webkit je uzrokovao grešku"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "Legal 3 8.5 x 14 inches, 215.9 x 355.6 mm"
+msgstr "Legal 3 8.5 x 14 inches, 215.9 x 355.6 mm"
+
+#. module: report_webkit
+#: model:ir.model,name:report_webkit.model_ir_header_webkit
+msgid "ir.header_webkit"
+msgstr "ir.header_webkit"
+
+#. module: report_webkit
+#: model:ir.actions.act_window,name:report_webkit.action_header_webkit
+#: model:ir.ui.menu,name:report_webkit.menu_header_webkit
+msgid "Header HTML"
+msgstr "HTML zaglavlja"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "A4 0 210 x 297 mm, 8.26 x 11.69 inches"
+msgstr "A4 0 210 x 297 mm, 8.26 x 11.69 inches"
+
+#. module: report_webkit
+#: view:report.webkit.actions:0
+msgid "_Cancel"
+msgstr "_Otkaži"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "B2 17 500 x 707 mm"
+msgstr "B2 17 500 x 707 mm"
+
+#. module: report_webkit
+#: model:ir.model,name:report_webkit.model_ir_header_img
+msgid "ir.header_img"
+msgstr "ir.header_img"
+
+#. module: report_webkit
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr "Pogreška! Ne možete kreirati rekurzivne organizacije."
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "A0 5 841 x 1189 mm"
+msgstr "A0 5 841 x 1189 mm"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "C5E 24 163 x 229 mm"
+msgstr "C5E 24 163 x 229 mm"
+
+#. module: report_webkit
+#: field:ir.header_img,type:0
+msgid "Type"
+msgstr "Vrsta"
+
+#. module: report_webkit
+#: code:addons/report_webkit/wizard/report_webkit_actions.py:134
+#, python-format
+msgid "Client Actions Connections"
+msgstr "Veze klijentskih radnji"
+
+#. module: report_webkit
+#: field:res.company,header_image:0
+msgid "Available Images"
+msgstr "Raspložive slike"
+
+#. module: report_webkit
+#: field:ir.header_webkit,html:0
+msgid "webkit header"
+msgstr "zaglavlje webkita"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "B1 15 707 x 1000 mm"
+msgstr "B1 15 707 x 1000 mm"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "A1 6 594 x 841 mm"
+msgstr "A1 6 594 x 841 mm"
+
+#. module: report_webkit
+#: help:ir.actions.report.xml,webkit_header:0
+msgid "The header linked to the report"
+msgstr "zaglavlje povezano s izvještajem"
+
+#. module: report_webkit
+#: code:addons/report_webkit/webkit_report.py:78
+#, python-format
+msgid "Wkhtmltopdf library path is not set in company"
+msgstr "Wkhtmltopdf library putanja nije povezana s organizacijom"
+
+#. module: report_webkit
+#: model:ir.module.module,description:report_webkit.module_meta_information
+msgid ""
+"This module adds a new Report Engine based on WebKit library (wkhtmltopdf) "
+"to support reports designed in HTML + CSS.\n"
+"The module structure and some code is inspired by the report_openoffice "
+"module.\n"
+"The module allows:\n"
+" -HTML report definition\n"
+" -Multi header support \n"
+" -Multi logo\n"
+" -Multi company support\n"
+" -HTML and CSS-3 support (In the limit of the actual WebKIT version)\n"
+" -JavaScript support \n"
+" -Raw HTML debugger\n"
+" -Book printing capabilities\n"
+" -Margins definition \n"
+" -Paper size definition\n"
+"and much more\n"
+"\n"
+"Multiple headers and logos can be defined per company.\n"
+"CSS style, header and footer body are defined per company\n"
+"\n"
+"The library to install can be found here\n"
+"http://code.google.com/p/wkhtmltopdf/\n"
+"The system libraries are available for Linux, Mac OS X i386 and Windows 32.\n"
+"\n"
+"After installing the wkhtmltopdf library on the OpenERP Server machine, you "
+"need to set the\n"
+"path to the wkthtmltopdf executable file on the Company.\n"
+"\n"
+"For a sample report see also the webkit_report_sample module, and this "
+"video:\n"
+" http://files.me.com/nbessi/06n92k.mov \n"
+"\n"
+"\n"
+"TODO :\n"
+"JavaScript support activation deactivation\n"
+"Collated and book format support\n"
+"Zip return for separated PDF\n"
+"Web client WYSIWYG\n"
+" "
+msgstr ""
+"Ovaj modul dodaje novu izvještajnu platformu na Webkit library (wkhtmltopdf) "
+"za podršku izvještajima dizajniranim u HTML + CSS.\n"
+"Struktura modula i dio koda je inspiriran sa modulom report_openoffice.\n"
+"Modul omogućuje:\n"
+" -Definicije HTML izvještaja\n"
+" -Podršku za više zaglavlja\n"
+" -Više loga\n"
+" -Podrušku za više kompanija\n"
+" -Podršku za HTML i CSS-3 (U granicama WebKIT verzije)\n"
+" -Podršku za JavaScript\n"
+" -Debuger za HTML\n"
+" -Mogućnost ispisa knjiga\n"
+" -Definiranje margina\n"
+" -Definiranje veličine papira\n"
+"i još mnogo toga\n"
+"\n"
+"Višestruka zaglavlja i loga se mogu definirati po organizaciji.\n"
+"Stilovi CSS-a, tijela zaglavlja i podnožja se definiraju po organizaciji\n"
+"Library za instalaciju se može naći ovdje\n"
+"http://code.google.com/p/wkhtmltopdf/\n"
+"Sistemski library je dobavljiv za Linux, Mac OS X i386 i Windows 32.\n"
+"\n"
+"Nakon instalacije wkhtmltopdf library na OpenERP poslužitelju, morate "
+"postaviti putanju \n"
+"do izvršne datoteke wkthtmltopdf na organizaciji.\n"
+"\n"
+"Za primjer izvještaja pogledajte modul webkit_report_sample i sljedeći "
+"video:\n"
+" http://files.me.com/nbessi/06n92k.mov \n"
+"\n"
+"\n"
+"TODO :\n"
+"Podrška za aktivaciju deaktivaciju JavaScripta\n"
+"\n"
+"Podrška za razvrstavanje i knjižni format\n"
+"Zip povrat za odvojeni PDF\n"
+"Web klijent WYSIWYG\n"
+" "
+
+#. module: report_webkit
+#: view:ir.actions.report.xml:0
+#: view:res.company:0
+msgid "Webkit"
+msgstr "Webkit"
+
+#. module: report_webkit
+#: help:ir.header_webkit,format:0
+msgid "Select Proper Paper size"
+msgstr "Odaberite odgovarajuću veličinu papira"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "B5 1 176 x 250 mm, 6.93 x 9.84 inches"
+msgstr "B5 1 176 x 250 mm, 6.93 x 9.84 inches"
+
+#. module: report_webkit
+#: view:ir.header_webkit:0
+msgid "Content and styling"
+msgstr "Sadržaj i stilsko oblikovanje"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "A7 11 74 x 105 mm"
+msgstr "A7 11 74 x 105 mm"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "A6 10 105 x 148 mm"
+msgstr "A6 10 105 x 148 mm"
+
+#. module: report_webkit
+#: help:ir.actions.report.xml,report_webkit_data:0
+msgid "This template will be used if the main report file is not found"
+msgstr ""
+"Ovaj predložak će se koristiti ako glavna datoteka izvještaja nije pronađena"
+
+#. module: report_webkit
+#: field:ir.header_webkit,margin_top:0
+msgid "Top Margin (mm)"
+msgstr "Gornja margina (mm)"
+
+#. module: report_webkit
+#: code:addons/report_webkit/webkit_report.py:261
+#, python-format
+msgid "Please set a header in company settings"
+msgstr "Molim postavite zaglavlje u postavkama organizacije"
+
+#. module: report_webkit
+#: view:report.webkit.actions:0
+msgid "_Ok"
+msgstr "_U redu"
+
+#. module: report_webkit
+#: help:report.webkit.actions,print_button:0
+msgid ""
+"Check this to add a Print action for this Report in the sidebar of the "
+"corresponding document types"
+msgstr ""
+"Označite ovo za dodavanje akcije ispisa za ovaj izvještaj na bočnoj traci "
+"odgovarajuće vrste dokumenta"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "B3 18 353 x 500 mm"
+msgstr "B3 18 353 x 500 mm"
+
+#. module: report_webkit
+#: help:ir.actions.report.xml,webkit_debug:0
+msgid "Enable the webkit engine debugger"
+msgstr "Omogući debuger webkit platforme"
+
+#. module: report_webkit
+#: field:ir.header_img,img:0
+msgid "Image"
+msgstr "Slika"
+
+#. module: report_webkit
+#: field:res.company,header_webkit:0
+msgid "Available html"
+msgstr "Raspoloživ html"
+
+#. module: report_webkit
+#: help:report.webkit.actions,open_action:0
+msgid ""
+"Check this to view the newly added internal print action after creating it "
+"(technical view) "
+msgstr ""
+"Označi ovo da bi pogledali novododanu internu akciju ispisa nakon kreiranja "
+"(tehnički pogled) "
+
+#. module: report_webkit
+#: view:res.company:0
+msgid "Images"
+msgstr "Slike"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,orientation:0
+msgid "Portrait"
+msgstr "Portret"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,orientation:0
+msgid "Landscape"
+msgstr "Pejzažno"
+
+#. module: report_webkit
+#: view:ir.header_webkit:0
+msgid "page setup"
+msgstr "postava stranice"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "B8 22 62 x 88 mm"
+msgstr "B8 22 62 x 88 mm"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "A2 7 420 x 594 mm"
+msgstr "A2 7 420 x 594 mm"
+
+#. module: report_webkit
+#: field:report.webkit.actions,print_button:0
+msgid "Add print button"
+msgstr "Dodaj gumb za ispis"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "A9 13 37 x 52 mm"
+msgstr "A9 13 37 x 52 mm"
+
+#. module: report_webkit
+#: model:ir.model,name:report_webkit.model_res_company
+msgid "Companies"
+msgstr "Organizacije"
+
+#. module: report_webkit
+#: field:ir.header_webkit,margin_bottom:0
+msgid "Bottom Margin (mm)"
+msgstr "Donja margina (mm)"
+
+#. module: report_webkit
+#: model:ir.model,name:report_webkit.model_report_webkit_actions
+msgid "Webkit Actions"
+msgstr "Webkit akcije"
+
+#. module: report_webkit
+#: field:report.webkit.actions,open_action:0
+msgid "Open added action"
+msgstr "Otvori dodanu akciju"
+
+#. module: report_webkit
+#: field:ir.header_webkit,margin_right:0
+msgid "Right Margin (mm)"
+msgstr "Desna margina (mm)"
+
+#. module: report_webkit
+#: field:ir.header_webkit,orientation:0
+msgid "Orientation"
+msgstr "Orijentacija"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "B6 20 125 x 176 mm"
+msgstr "B6 20 125 x 176 mm"
+
+#. module: report_webkit
+#: help:ir.header_webkit,html:0
+msgid "Set Webkit Report Header"
+msgstr "Postavi zaglavlje Webkit izvještaja"
+
+#. module: report_webkit
+#: field:ir.header_webkit,format:0
+msgid "Paper size"
+msgstr "Veličina papira"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid ":B10 16 31 x 44 mm"
+msgstr ":B10 16 31 x 44 mm"
+
+#. module: report_webkit
+#: field:ir.header_webkit,css:0
+msgid "Header CSS"
+msgstr "Zaglavlje CSS"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "B4 19 250 x 353 mm"
+msgstr "B4 19 250 x 353 mm"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "A3 8 297 x 420 mm"
+msgstr "A3 8 297 x 420 mm"
+
+#. module: report_webkit
+#: code:addons/report_webkit/webkit_report.py:240
+#, python-format
+msgid ""
+"'))\n"
+" header = report_xml.webkit_header.html\n"
+" footer = report_xml.webkit_header.footer_html\n"
+" if not header and report_xml.header:\n"
+" raise except_osv(\n"
+" _('No header defined for this Webkit report!"
+msgstr ""
+
+#. module: report_webkit
+#: help:res.company,lib_path:0
+msgid "Complete (Absolute) path to the wkhtmltopdf executable."
+msgstr "Dovrši (apsolutnu) putanju do izvršen datoteke wkhtmltopdf"
+
+#. module: report_webkit
+#: field:ir.header_webkit,footer_html:0
+msgid "webkit footer"
+msgstr "podnožje webkita"
+
+#. module: report_webkit
+#: field:ir.actions.report.xml,webkit_debug:0
+msgid "Webkit debug"
+msgstr "Webkit debug"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "Letter 2 8.5 x 11 inches, 215.9 x 279.4 mm"
+msgstr "Letter 2 8.5 x 11 inches, 215.9 x 279.4 mm"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "B0 14 1000 x 1414 mm"
+msgstr "B0 14 1000 x 1414 mm"
+
+#. module: report_webkit
+#: field:ir.actions.report.xml,report_webkit_data:0
+msgid "Webkit Template"
+msgstr "Predložak Webkita"
+
+#. module: report_webkit
+#: model:ir.module.module,shortdesc:report_webkit.module_meta_information
+msgid "Webkit Report Engine"
+msgstr "Platforma Webkit izvještaja"
+
+#. module: report_webkit
+#: field:ir.header_img,name:0
+#: field:ir.header_webkit,name:0
+msgid "Name"
+msgstr "Naziv"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "A5 9 148 x 210 mm"
+msgstr "A5 9 148 x 210 mm"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "A8 12 52 x 74 mm"
+msgstr "A8 12 52 x 74 mm"
+
+#. module: report_webkit
+#: model:ir.actions.act_window,name:report_webkit.wizard_ofdo_report_actions
+#: view:report.webkit.actions:0
+msgid "Add Print Buttons"
+msgstr "Dodaj gumbe za ispis"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "Comm10E 25 105 x 241 mm, U.S. Common 10 Envelope"
+msgstr "Comm10E 25 105 x 241 mm, U.S. normalna 10 omotnica"
+
+#. module: report_webkit
+#: code:addons/report_webkit/webkit_report.py:255
+#, python-format
+msgid "Webkit Report template not found !"
+msgstr "Predložak Webkit izvještaja nije pronađen"
+
+#. module: report_webkit
+#: field:ir.header_webkit,margin_left:0
+msgid "Left Margin (mm)"
+msgstr "Lijeva margina (mm)"
+
+#. module: report_webkit
+#: view:res.company:0
+msgid "Headers"
+msgstr "Zaglavlja"
+
+#. module: report_webkit
+#: help:ir.header_webkit,footer_html:0
+msgid "Set Webkit Report Footer."
+msgstr "Postavi podnožje Webkit izvještaja"
+
+#. module: report_webkit
+#: selection:ir.header_webkit,format:0
+msgid "B9 23 33 x 62 mm"
+msgstr "B9 23 33 x 62 mm"
+
+#. module: report_webkit
+#: model:ir.model,name:report_webkit.model_ir_actions_report_xml
+msgid "ir.actions.report.xml"
+msgstr "ir.actions.report.xml"
diff --git a/addons/report_webkit_sample/__openerp__.py b/addons/report_webkit_sample/__openerp__.py
index 4e144736c24..9fb1f713d24 100644
--- a/addons/report_webkit_sample/__openerp__.py
+++ b/addons/report_webkit_sample/__openerp__.py
@@ -43,7 +43,7 @@ You have to create the print buttons by calling the wizard. For more details see
""",
"version" : "0.9",
"depends" : ["base", "account", "report_webkit"],
- "category": "Hidden",
+ "category": "Tools",
"author" : "Camptocamp SA - NBessi",
"url": "http://www.camptocamp.com/",
"data": ["report_webkit_html_view.xml",
diff --git a/addons/report_webkit_sample/i18n/hr.po b/addons/report_webkit_sample/i18n/hr.po
new file mode 100644
index 00000000000..184eca13c99
--- /dev/null
+++ b/addons/report_webkit_sample/i18n/hr.po
@@ -0,0 +1,153 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-11 20:28+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-12 05:17+0000\n"
+"X-Generator: Launchpad (build 14458)\n"
+
+#. module: report_webkit_sample
+#: model:ir.actions.report.xml,name:report_webkit_sample.report_webkit_html
+msgid "WebKit invoice"
+msgstr "WebKit račun"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:35
+msgid "Supplier Invoice"
+msgstr "Ulazni račun"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:49
+msgid "Unit Price"
+msgstr "Jedinična cijena"
+
+#. module: report_webkit_sample
+#: model:ir.module.module,description:report_webkit_sample.module_meta_information
+msgid ""
+"Samples for Webkit Report Engine (report_webkit module).\n"
+"\n"
+" A sample invoice report is included in this module, as well as a wizard "
+"to\n"
+" add Webkit Report entries on any Document in the system.\n"
+" \n"
+" You have to create the print buttons by calling the wizard. For more "
+"details see:\n"
+" http://files.me.com/nbessi/06n92k.mov \n"
+" "
+msgstr ""
+"Samples for Webkit Report Engine (report_webkit module).\n"
+"Primjeri Webkit izvještajne platforme (report_webkit modul).\n"
+"\n"
+" U modul je uključen primjer izvještaja računa, kao i asistent za \n"
+" dodavanje stavaka Webkit izvještaja na bilo koji dokument u sustavu.\n"
+"\n"
+" Morate kreirati gumbe za ispis pozivajući asistenta. Za više detalja "
+"pogledajte: \n"
+" http://files.me.com/nbessi/06n92k.mov \n"
+" "
+
+#. module: report_webkit_sample
+#: model:ir.module.module,shortdesc:report_webkit_sample.module_meta_information
+msgid "Webkit Report Samples"
+msgstr "Primjeri Webkit izvještaja"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:49
+msgid "Disc.(%)"
+msgstr "Popust (%)"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:22
+msgid "Fax"
+msgstr "Fax"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:44
+msgid "Document"
+msgstr "Dokument"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:49
+msgid "Description"
+msgstr "Opis"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:49
+msgid "Price"
+msgstr "Cijena"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:44
+msgid "Invoice Date"
+msgstr "Datum računa"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:49
+msgid "QTY"
+msgstr "Kol."
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:64
+msgid "Base"
+msgstr "Osnovica"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:44
+msgid "Partner Ref."
+msgstr "Partnerova oznaka"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:49
+msgid "Taxes"
+msgstr "Porezi"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:64
+msgid "Amount"
+msgstr "Iznos"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:28
+msgid "VAT"
+msgstr "PDV"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:37
+msgid "Refund"
+msgstr "Povrat"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:19
+msgid "Tel"
+msgstr "Tel"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:25
+msgid "E-mail"
+msgstr "E-pošta"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:33
+msgid "Invoice"
+msgstr "Račun"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:39
+msgid "Supplier Refund"
+msgstr "Odobrenje dobavljača"
+
+#. module: report_webkit_sample
+#: report:report.webkitaccount.invoice:76
+msgid "Total"
+msgstr "Ukupno"
diff --git a/addons/resource/__openerp__.py b/addons/resource/__openerp__.py
index f1e020215a6..2b8c27359d8 100644
--- a/addons/resource/__openerp__.py
+++ b/addons/resource/__openerp__.py
@@ -23,7 +23,7 @@
"name" : "Resource",
"version" : "1.1",
"author" : "OpenERP SA",
- "category" : "Hidden",
+ "category" : "Tools",
"website" : "http://www.openerp.com",
"description": """
Module for resource management.
diff --git a/addons/resource/i18n/hr.po b/addons/resource/i18n/hr.po
index 4e113fd9f49..8f18314bc61 100644
--- a/addons/resource/i18n/hr.po
+++ b/addons/resource/i18n/hr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-09-10 16:28+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2011-12-11 19:39+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: Croatian <hr@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: 2011-11-05 05:45+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-12 05:17+0000\n"
+"X-Generator: Launchpad (build 14458)\n"
#. module: resource
#: help:resource.calendar.leaves,resource_id:0
@@ -23,27 +23,29 @@ msgid ""
"If empty, this is a generic holiday for the company. If a resource is set, "
"the holiday/leave is only for this resource"
msgstr ""
+"Ako je prazno, ovo je generički praznik za organizaciju. Ako je resurs "
+"postavljen, praznik/odsustvo je samo za taj resurs."
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Friday"
-msgstr ""
+msgstr "petak"
#. module: resource
#: field:resource.resource,resource_type:0
msgid "Resource Type"
-msgstr ""
+msgstr "Tip resursa"
#. module: resource
#: model:ir.model,name:resource.model_resource_calendar_leaves
#: view:resource.calendar.leaves:0
msgid "Leave Detail"
-msgstr ""
+msgstr "Detalji o odsustvu"
#. module: resource
#: model:ir.actions.act_window,name:resource.resource_calendar_resources_leaves
msgid "Resources Leaves"
-msgstr ""
+msgstr "Odsustva resursa"
#. module: resource
#: model:ir.actions.act_window,name:resource.action_resource_calendar_form
@@ -51,59 +53,60 @@ msgstr ""
#: field:resource.calendar,attendance_ids:0
#: view:resource.calendar.attendance:0
msgid "Working Time"
-msgstr ""
+msgstr "Radno vrijeme"
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Thursday"
-msgstr ""
+msgstr "četvrtak"
#. module: resource
#: view:resource.calendar.leaves:0
#: view:resource.resource:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupiraj po..."
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Sunday"
-msgstr ""
+msgstr "Nedelja"
#. module: resource
#: view:resource.resource:0
msgid "Search Resource"
-msgstr ""
+msgstr "Pretraži resurse"
#. module: resource
#: view:resource.resource:0
msgid "Type"
-msgstr ""
+msgstr "Vrsta"
#. module: resource
#: model:ir.actions.act_window,name:resource.action_resource_resource_tree
#: view:resource.resource:0
msgid "Resources"
-msgstr ""
+msgstr "Resursi"
#. module: resource
#: field:resource.calendar,manager:0
msgid "Workgroup manager"
-msgstr ""
+msgstr "Voditelj radne grupe"
#. module: resource
#: help:resource.calendar.attendance,hour_from:0
msgid "Working time will start from"
-msgstr ""
+msgstr "Radno vrijeme počinje od"
#. module: resource
#: constraint:resource.calendar.leaves:0
msgid "Error! leave start-date must be lower then leave end-date."
msgstr ""
+"Greška! Datum početka odsustva mora biti manji od završnog datuma odsustva"
#. module: resource
#: model:ir.model,name:resource.model_resource_calendar
msgid "Resource Calendar"
-msgstr ""
+msgstr "Kalendar resursa"
#. module: resource
#: field:resource.calendar,company_id:0
@@ -112,48 +115,48 @@ msgstr ""
#: view:resource.resource:0
#: field:resource.resource,company_id:0
msgid "Company"
-msgstr ""
+msgstr "Organizacija"
#. module: resource
#: selection:resource.resource,resource_type:0
msgid "Material"
-msgstr ""
+msgstr "Materijal"
#. module: resource
#: field:resource.calendar.attendance,dayofweek:0
msgid "Day of week"
-msgstr ""
+msgstr "Dan u tjednu"
#. module: resource
#: help:resource.calendar.attendance,hour_to:0
msgid "Working time will end at"
-msgstr ""
+msgstr "Radno vrijeme će završiti u"
#. module: resource
#: field:resource.calendar.attendance,date_from:0
msgid "Starting date"
-msgstr ""
+msgstr "Početni datum"
#. module: resource
#: view:resource.calendar:0
msgid "Search Working Time"
-msgstr ""
+msgstr "Pretraži radno vrijeme"
#. module: resource
#: view:resource.calendar.leaves:0
msgid "Reason"
-msgstr ""
+msgstr "Razlog"
#. module: resource
#: view:resource.resource:0
#: field:resource.resource,user_id:0
msgid "User"
-msgstr ""
+msgstr "Korisnik"
#. module: resource
#: view:resource.calendar.leaves:0
msgid "Date"
-msgstr ""
+msgstr "Datum"
#. module: resource
#: view:resource.calendar.leaves:0
@@ -163,7 +166,7 @@ msgstr ""
#. module: resource
#: field:resource.calendar.leaves,date_to:0
msgid "End Date"
-msgstr ""
+msgstr "Završni datum"
#. module: resource
#: model:ir.actions.act_window,name:resource.resource_calendar_closing_days
@@ -177,7 +180,7 @@ msgstr ""
#: field:resource.calendar.leaves,resource_id:0
#: view:resource.resource:0
msgid "Resource"
-msgstr ""
+msgstr "Resurs"
#. module: resource
#: view:resource.calendar:0
@@ -186,7 +189,7 @@ msgstr ""
#: field:resource.calendar.leaves,name:0
#: field:resource.resource,name:0
msgid "Name"
-msgstr ""
+msgstr "Naziv"
#. module: resource
#: model:ir.module.module,description:resource.module_meta_information
@@ -200,11 +203,21 @@ msgid ""
"\n"
" "
msgstr ""
+"\n"
+" Module for resource management\n"
+" Modul za upravljanje resursima\n"
+" Resurs predstavlja nešto što može biti dodjeljeno\n"
+" (programer na zadataku ili proizvodni centar na radnom nalogu "
+"proizvodnje).\n"
+" Ovaj modul upravlja kalendarom resursa dodjeljenom svakom resursu.\n"
+" Također upravlja odsustvima svih resursa.\n"
+"\n"
+" "
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Wednesday"
-msgstr ""
+msgstr "Srijeda"
#. module: resource
#: view:resource.calendar.leaves:0
@@ -216,12 +229,12 @@ msgstr ""
#. module: resource
#: model:ir.model,name:resource.model_resource_resource
msgid "Resource Detail"
-msgstr ""
+msgstr "Detalji resursa"
#. module: resource
#: field:resource.resource,active:0
msgid "Active"
-msgstr ""
+msgstr "Aktivan"
#. module: resource
#: help:resource.resource,active:0
@@ -229,11 +242,12 @@ msgid ""
"If the active field is set to False, it will allow you to hide the resource "
"record without removing it."
msgstr ""
+"Ako je ovo polje postavljeno na NE, moežte sakriti resurs bez da ga uklonite."
#. module: resource
#: field:resource.calendar.attendance,calendar_id:0
msgid "Resource's Calendar"
-msgstr ""
+msgstr "Kalendar resursa"
#. module: resource
#: help:resource.resource,user_id:0
@@ -253,17 +267,17 @@ msgstr ""
#. module: resource
#: field:resource.resource,code:0
msgid "Code"
-msgstr ""
+msgstr "Šifra"
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Monday"
-msgstr ""
+msgstr "Ponedjeljak"
#. module: resource
#: field:resource.calendar.attendance,hour_to:0
msgid "Work to"
-msgstr ""
+msgstr "Radi do"
#. module: resource
#: help:resource.resource,time_efficiency:0
@@ -273,27 +287,31 @@ msgid ""
"show a load of 100% for this phase by default, but if we put a efficency of "
"200%, then his load will only be 50%."
msgstr ""
+"Ovo polje prikazuje efikasnost svakog resursa u izvršavanju zadataka. Npr. "
+"resurs se ostavi sam na 5 dana, sa 5 dodjeljenih zadataka. Predefinirano se "
+"prikazuje opterećenje od 100%, ali ako stavimo efikasnost od 200%, tada je "
+"njegovo opterećenje samo 50%."
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Tuesday"
-msgstr ""
+msgstr "Utorak"
#. module: resource
#: field:resource.calendar.leaves,calendar_id:0
msgid "Working time"
-msgstr ""
+msgstr "Radno vrijeme"
#. module: resource
#: model:ir.actions.act_window,name:resource.action_resource_calendar_leave_tree
#: model:ir.ui.menu,name:resource.menu_view_resource_calendar_leaves_search
msgid "Resource Leaves"
-msgstr ""
+msgstr "Odsustva resursa"
#. module: resource
#: view:resource.resource:0
msgid "General Information"
-msgstr ""
+msgstr "Opći podaci"
#. module: resource
#: model:ir.actions.act_window,help:resource.action_resource_resource_tree
@@ -302,45 +320,48 @@ msgid ""
"in a specific project phase. You can also set their efficiency level and "
"workload based on their weekly working hours."
msgstr ""
+"Resursi vam omogućuju kreiranje i upravljanje resursima koji trebaju biti "
+"uključeni u neku fazu projekta. Također možete postaviti njihovu razinu "
+"efikasnosti i opterećenje na osnovi njihovih tjednih radnih sati."
#. module: resource
#: view:resource.resource:0
msgid "Inactive"
-msgstr ""
+msgstr "Neaktivan"
#. module: resource
#: code:addons/resource/faces/resource.py:340
#, python-format
msgid "(vacation)"
-msgstr ""
+msgstr "(odmor)"
#. module: resource
#: field:resource.resource,time_efficiency:0
msgid "Efficiency factor"
-msgstr ""
+msgstr "Faktor efikasnosti"
#. module: resource
#: selection:resource.resource,resource_type:0
msgid "Human"
-msgstr ""
+msgstr "Čovjek"
#. module: resource
#: model:ir.model,name:resource.model_resource_calendar_attendance
msgid "Work Detail"
-msgstr ""
+msgstr "Detalj posla"
#. module: resource
#: field:resource.calendar.leaves,date_from:0
msgid "Start Date"
-msgstr ""
+msgstr "Početni datum"
#. module: resource
#: code:addons/resource/resource.py:246
#, python-format
msgid " (copy)"
-msgstr ""
+msgstr " (kopija)"
#. module: resource
#: selection:resource.calendar.attendance,dayofweek:0
msgid "Saturday"
-msgstr ""
+msgstr "Subota"
diff --git a/addons/sale/board_sale_view.xml b/addons/sale/board_sale_view.xml
index 8944a0f3724..99eb8c831c4 100644
--- a/addons/sale/board_sale_view.xml
+++ b/addons/sale/board_sale_view.xml
@@ -9,7 +9,7 @@
<form string="Sales Manager Dashboard">
<board style="2-1">
<column>
- <action name="%(sale.action_quotation_for_sale)d" string="Quotations"/>
+ <action name="%(sale.action_quotation_for_sale)d" string="Quotations" creatable="true"/>
<action name="%(sale.action_view_sales_by_month)d" string="Sales by Month"/>
</column>
<column>
diff --git a/addons/sale/i18n/fr.po b/addons/sale/i18n/fr.po
index 9e1c20409be..645dbcc4e38 100644
--- a/addons/sale/i18n/fr.po
+++ b/addons/sale/i18n/fr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2011-01-18 13:16+0000\n"
-"Last-Translator: Aline (OpenERP) <Unknown>\n"
+"PO-Revision-Date: 2011-12-07 09:17+0000\n"
+"Last-Translator: Numérigraphe <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:16+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-08 05:36+0000\n"
+"X-Generator: Launchpad (build 14443)\n"
#. module: sale
#: code:addons/sale/sale.py:620
@@ -315,7 +315,7 @@ msgstr "Tableau de bord du responsable des ventes"
#. module: sale
#: field:sale.order.line,product_packaging:0
msgid "Packaging"
-msgstr "Colis"
+msgstr "Conditionnement"
#. module: sale
#: model:process.transition,name:sale.process_transition_saleinvoice0
@@ -600,8 +600,8 @@ msgid ""
"For every sales order line, a procurement order is created to supply the "
"sold product."
msgstr ""
-"Pour chaque ligne de vente, un ordre d'approvisionnement est créé pour "
-"approvisionner le produit vendu."
+"Pour chaque ligne de commande, un ordre d'approvisionnement est créé pour "
+"fournir le produit vendu."
#. module: sale
#: help:sale.order,incoterm:0
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 2188f6dee5f..9f53b5cfd24 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -206,8 +206,8 @@ class sale_order(osv.osv):
('invoice_except', 'Invoice Exception'),
('done', 'Done'),
('cancel', 'Cancelled')
- ], 'Order State', readonly=True, help="Givwizard = self.browse(cr, uid, ids)[0]es the state of the quotation or sales order. \nThe exception state is automatically set when a cancel operation occurs in the invoice validation (Invoice Exception) or in the picking list process (Shipping Exception). \nThe 'Waiting Schedule' state is set when the invoice is confirmed but waiting for the scheduler to run on the date 'Ordered Date'.", select=True),
- 'date_order': fields.date('Ordered Date', required=True, readonly=True, select=True, states={'draft': [('readonly', False)]}),
+ ], 'Order State', readonly=True, help="Givwizard = self.browse(cr, uid, ids)[0]es the state of the quotation or sales order. \nThe exception state is automatically set when a cancel operation occurs in the invoice validation (Invoice Exception) or in the picking list process (Shipping Exception). \nThe 'Waiting Schedule' state is set when the invoice is confirmed but waiting for the scheduler to run on the order date.", select=True),
+ 'date_order': fields.date('Date', required=True, readonly=True, select=True, states={'draft': [('readonly', False)]}),
'create_date': fields.datetime('Creation Date', readonly=True, select=True, help="Date on which sales order is created."),
'date_confirm': fields.date('Confirmation Date', readonly=True, select=True, help="Date on which sales order is confirmed."),
'user_id': fields.many2one('res.users', 'Salesman', states={'draft': [('readonly', False)]}, select=True),
@@ -333,6 +333,16 @@ class sale_order(osv.osv):
}
return {'warning': warning}
+ def onchange_partner_order_id(self, cr, uid, ids, order_id, invoice_id=False, shipping_id=False, context={}):
+ if not order_id:
+ return {}
+ val = {}
+ if not invoice_id:
+ val['partner_invoice_id'] = order_id
+ if not shipping_id:
+ val['partner_shipping_id'] = order_id
+ return {'value': val}
+
def onchange_partner_id(self, cr, uid, ids, part):
if not part:
return {'value': {'partner_invoice_id': False, 'partner_shipping_id': False, 'partner_order_id': False, 'payment_term': False, 'fiscal_position': False}}
@@ -691,6 +701,8 @@ class sale_order(osv.osv):
'location_id': order.shop_id.warehouse_id.lot_stock_id.id,
'procure_method': line.type,
'move_id': move_id,
+ # Added by mrp, but mrp is not a dependency, this will trigger a warning
+ # if mrp is not installed.
'property_ids': [(6, 0, [x.id for x in line.property_ids])],
'company_id': order.company_id.id,
}
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 72c231071ca..0fec240b127 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -84,7 +84,6 @@
<tree string="Sales Orders" colors="grey:state=='cancel';blue:state in ('waiting_date','manual');red:state in ('invoice_except','shipping_except')">
<field name="name"/>
<field name="date_order"/>
- <field name="client_order_ref" groups="base.group_extended"/>
<field name="partner_id"/>
<field name="user_id"/>
<field name="picked_rate" widget="progressbar"/>
@@ -113,7 +112,7 @@
<notebook colspan="5">
<page string="Sales Order">
<field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" required="1"/>
- <field domain="[('partner_id','=',partner_id)]" name="partner_order_id"/>
+ <field domain="[('partner_id','=',partner_id)]" name="partner_order_id" on_change="onchange_partner_order_id(partner_order_id, partner_invoice_id, partner_shipping_id)"/>
<field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id" groups="base.group_extended"/>
<field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id" groups="base.group_extended"/>
<field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended" on_change="onchange_pricelist_id(pricelist_id,order_line)"/>
@@ -259,7 +258,8 @@
<separator orientation="vertical"/>
<filter icon="terp-dolar_ok!" string="To Invoice" domain="[('state','=','manual')]" help="Sales Order ready to be invoiced"/>
<separator orientation="vertical"/>
- <field name="name"/>
+ <field name="name"
+ filter_domain="['|', ('name','ilike',self),('client_order_ref','ilike',self)]"/>
<field name="partner_id"/>
<field name="user_id">
<filter domain="[('user_id','=',uid)]" help="My Sale Orders" icon="terp-personal"/>
diff --git a/addons/sale_analytic_plans/__openerp__.py b/addons/sale_analytic_plans/__openerp__.py
index 1850fbf8b2a..453a51fc724 100644
--- a/addons/sale_analytic_plans/__openerp__.py
+++ b/addons/sale_analytic_plans/__openerp__.py
@@ -20,9 +20,9 @@
##############################################################################
{
- 'name': 'Sales Analytic Distribution Management',
+ 'name': 'Sales Analytic Distribution',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
The base module to manage analytic distribution and sales orders.
=================================================================
diff --git a/addons/sale_crm/board_sale_crm_view.xml b/addons/sale_crm/board_sale_crm_view.xml
index 9d383a4ac28..b34e8880a10 100644
--- a/addons/sale_crm/board_sale_crm_view.xml
+++ b/addons/sale_crm/board_sale_crm_view.xml
@@ -9,22 +9,8 @@
<field name="arch" type="xml">
<xpath expr="/form/board/column/action[@string='My Quotations']" position="before">
<action name="%(crm.act_my_oppor)d"
- string="My Open Opportunities"
+ string="My Opportunities"
/>
- <!--groups="base.group_sale_salesman,base.group_sale_manager"-->
- </xpath>
- </field>
- </record>
-
- <record model="ir.ui.view" id="board_crm_form_inherit_replace2">
- <field name="name">board.crm.form.inherit.replace1</field>
- <field name="model">board.board</field>
- <field name="type">form</field>
- <field name="inherit_id" ref="sale.board_sales_form"/>
- <field name="arch" type="xml">
- <xpath expr="/form/board/column/action[@string='My Quotations']" position="after">
- <action name="%(crm.act_my_meetings)d"
- string="My Meetings"/>
</xpath>
</field>
</record>
@@ -39,7 +25,6 @@
<action name="%(crm.act_my_oppor_stage)d"
string="My Planned Revenues by Stage"
/>
- <!--groups="base.group_sale_salesman,base.group_sale_manager"-->
</xpath>
</field>
</record>
diff --git a/addons/sale_journal/i18n/pt.po b/addons/sale_journal/i18n/pt.po
index e4d7ef6f137..afa57440ceb 100644
--- a/addons/sale_journal/i18n/pt.po
+++ b/addons/sale_journal/i18n/pt.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-12-04 09:20+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"PO-Revision-Date: 2011-12-10 12:02+0000\n"
+"Last-Translator: Paulino Ascenção <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:22+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-11 05:36+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: sale_journal
#: field:sale_journal.invoice.type,note:0
@@ -24,7 +24,7 @@ msgstr "Nota"
#. module: sale_journal
#: help:res.partner,property_invoice_type:0
msgid "The type of journal used for sales and picking."
-msgstr ""
+msgstr "O tipo de diário usado nas vendas e remessas"
#. module: sale_journal
#: sql_constraint:sale.order:0
diff --git a/addons/sale_layout/i18n/hr.po b/addons/sale_layout/i18n/hr.po
new file mode 100644
index 00000000000..e88466c8651
--- /dev/null
+++ b/addons/sale_layout/i18n/hr.po
@@ -0,0 +1,302 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-10 08:37+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-11 05:36+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Sub Total"
+msgstr "Međuzbroj"
+
+#. module: sale_layout
+#: model:ir.module.module,description:sale_layout.module_meta_information
+msgid ""
+"\n"
+" This module provides features to improve the layout of the Sales Order.\n"
+"\n"
+" It gives you the possibility to\n"
+" * order all the lines of a sales order\n"
+" * add titles, comment lines, sub total lines\n"
+" * draw horizontal lines and put page breaks\n"
+"\n"
+" "
+msgstr ""
+"\n"
+" Ovaj modul omogućuje značajke za poboljšanje naloga u prodaji \n"
+" \n"
+" Omogućavam vam: \n"
+" It gives you the possibility to\n"
+" * uređivanje svih redaka prodajnog naloga\n"
+" * dodavanje naslova, komentara i međuzbrojeva\n"
+" * crtanje hrozontalinih linija i umetanje prijeloma stranica\n"
+"\n"
+" "
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Title"
+msgstr "Naziv"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Disc. (%)"
+msgstr "Popust (%)"
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Note"
+msgstr "Bilješka"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Unit Price"
+msgstr "Jedinična cijena"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Order N°"
+msgstr ""
+
+#. module: sale_layout
+#: field:sale.order,abstract_line_ids:0
+msgid "Order Lines"
+msgstr "Stavke naloga"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Disc.(%)"
+msgstr "Popust (%)"
+
+#. module: sale_layout
+#: field:sale.order.line,layout_type:0
+msgid "Layout Type"
+msgstr "Vrsta rasporeda"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Seq."
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "UoM"
+msgstr "JM"
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Product"
+msgstr "Artikl"
+
+#. module: sale_layout
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique !"
+msgstr "Referenca naloga mora biti jedinstvena"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Description"
+msgstr "Opis"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Manual Description"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Our Salesman"
+msgstr "Naš prodavač"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Automatic Declaration"
+msgstr "Automatska deklaracija"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Invoice Lines"
+msgstr "Stavke računa"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Quantity"
+msgstr "Količina"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Quotation N°"
+msgstr "Ponuda broj"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "VAT"
+msgstr "PDV"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Make Invoice"
+msgstr "Napravi račun"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Properties"
+msgstr "Značajke"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Invoice address :"
+msgstr "Adresa fakture :"
+
+#. module: sale_layout
+#: model:ir.module.module,shortdesc:sale_layout.module_meta_information
+msgid "Sale Order Layout"
+msgstr "Raspored naloga u prodaji"
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Page Break"
+msgstr "Prijelom stranice"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Notes"
+msgstr "Bilješke"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Date Ordered"
+msgstr "Datum narudžbe"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Shipping address :"
+msgstr "Adresa otpreme"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Taxes"
+msgstr "Porezi"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Net Total :"
+msgstr ""
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Tel. :"
+msgstr "Tel. :"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Total :"
+msgstr "Ukupno :"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Payment Terms"
+msgstr "Uvjeti plaćanja"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "History"
+msgstr "Povijest"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Sale Order Lines"
+msgstr "Stavke prodajnog naloga"
+
+#. module: sale_layout
+#: selection:sale.order.line,layout_type:0
+msgid "Separator Line"
+msgstr "Linija za razdvajanje"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Your Reference"
+msgstr "Vaša oznaka"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Quotation Date"
+msgstr "Datum ponude"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "TVA :"
+msgstr ""
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Qty"
+msgstr "Kol."
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "States"
+msgstr "Statusi"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Sales order lines"
+msgstr "Stavke prodajnog naloga"
+
+#. module: sale_layout
+#: model:ir.actions.report.xml,name:sale_layout.sale_order_1
+msgid "Order with Layout"
+msgstr "Nalog s rasporedom"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Extra Info"
+msgstr "Dodatne informacije"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Taxes :"
+msgstr "Porezi :"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Fax :"
+msgstr "Faks:"
+
+#. module: sale_layout
+#: model:ir.model,name:sale_layout.model_sale_order
+msgid "Sales Order"
+msgstr "Prodajni nalog"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Order Line"
+msgstr "Stavka naloga"
+
+#. module: sale_layout
+#: report:sale.order.layout:0
+msgid "Price"
+msgstr "Cijena"
+
+#. module: sale_layout
+#: model:ir.model,name:sale_layout.model_sale_order_line
+msgid "Sales Order Line"
+msgstr "Stavka prodajnog naloga"
+
+#. module: sale_layout
+#: view:sale.order:0
+msgid "Stock Moves"
+msgstr "Skladišni prijenosi"
diff --git a/addons/sale_margin/i18n/hr.po b/addons/sale_margin/i18n/hr.po
new file mode 100644
index 00000000000..45468a03ef3
--- /dev/null
+++ b/addons/sale_margin/i18n/hr.po
@@ -0,0 +1,415 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-10 07:37+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-11 05:36+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Category"
+msgstr "Kategorija"
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Customer Refund"
+msgstr "Odobrenje kupcu"
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Customer Invoice"
+msgstr "Izlazni račun"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "February"
+msgstr "veljača"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Current"
+msgstr "Trenutno"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Group By..."
+msgstr "Grupiraj po..."
+
+#. module: sale_margin
+#: field:report.account.invoice,state:0
+#: field:report.account.invoice.category,state:0
+#: field:report.account.invoice.partner,state:0
+#: field:report.account.invoice.partner.product,state:0
+#: field:report.account.invoice.product,state:0
+msgid "State"
+msgstr "Status"
+
+#. module: sale_margin
+#: model:ir.module.module,description:sale_margin.module_meta_information
+msgid ""
+" \n"
+" This module adds the 'Margin' on sales order,\n"
+" which gives the profitability by calculating the difference between the "
+"Unit Price and Cost Price\n"
+" "
+msgstr ""
+" \n"
+" Ovaj modul dodaje RUC na prodajni nalog\n"
+" koji prikazuje profitabilnost računajući razliku između jedinične "
+"cijene i troška.\n"
+" "
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Draft"
+msgstr "Nacrt"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Paid"
+msgstr "Plaćeno"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_stock_picking
+msgid "Picking List"
+msgstr ""
+
+#. module: sale_margin
+#: help:sale.order,margin:0
+msgid ""
+"It gives profitability by calculating the difference between the Unit Price "
+"and Cost Price."
+msgstr ""
+"Daje profitabilnost računajući razliku između jedinične cijene jediničnog "
+"troška."
+
+#. module: sale_margin
+#: field:report.account.invoice,type:0
+#: field:report.account.invoice.category,type:0
+#: field:report.account.invoice.partner,type:0
+#: field:report.account.invoice.partner.product,type:0
+#: field:report.account.invoice.product,type:0
+#: wizard_field:stock.invoice_onshipping,init,type:0
+msgid "Type"
+msgstr "Vrsta"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_report_account_invoice_product
+msgid "Invoice Statistics"
+msgstr "Statistika računa"
+
+#. module: sale_margin
+#: field:report.account.invoice.partner.product,product_id:0
+#: field:report.account.invoice.product,product_id:0
+msgid "Product"
+msgstr "Artikl"
+
+#. module: sale_margin
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique !"
+msgstr "Referenca naloga mora biti jedinstvena"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Invoice by Partner"
+msgstr "Računi po partneru"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "August"
+msgstr "kolovoz"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Pro-forma"
+msgstr "Pro-forma"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "May"
+msgstr "svibanj"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "June"
+msgstr "lipanj"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Date Invoiced"
+msgstr "Datum fakturiranja"
+
+#. module: sale_margin
+#: model:ir.module.module,shortdesc:sale_margin.module_meta_information
+msgid "Margins in Sales Order"
+msgstr "RUC u prodajnim nalozima"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Search Margin"
+msgstr "Traži RUC"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "This Year"
+msgstr "Ove godine"
+
+#. module: sale_margin
+#: field:report.account.invoice.product,date:0
+msgid "Date"
+msgstr "Datum"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "July"
+msgstr "srpanj"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Extended Filters..."
+msgstr "Prošireni filtri..."
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_this_month_product
+msgid "This Month"
+msgstr "Ovaj mjesec"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+#: field:report.account.invoice.product,day:0
+msgid "Day"
+msgstr "Dan"
+
+#. module: sale_margin
+#: field:report.account.invoice.category,categ_id:0
+msgid "Categories"
+msgstr "Kategorije"
+
+#. module: sale_margin
+#: field:account.invoice.line,cost_price:0
+#: field:report.account.invoice,cost_price:0
+#: field:report.account.invoice.category,cost_price:0
+#: field:report.account.invoice.partner,cost_price:0
+#: field:report.account.invoice.partner.product,cost_price:0
+#: field:report.account.invoice.product,cost_price:0
+#: field:sale.order.line,purchase_price:0
+msgid "Cost Price"
+msgstr "Cijena koštanja"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "October"
+msgstr "listopad"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "January"
+msgstr "siječanj"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+#: field:report.account.invoice.product,year:0
+msgid "Year"
+msgstr "Godina"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "September"
+msgstr "rujan"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "April"
+msgstr "travanj"
+
+#. module: sale_margin
+#: field:report.account.invoice,amount:0
+#: field:report.account.invoice.category,amount:0
+#: field:report.account.invoice.partner,amount:0
+#: field:report.account.invoice.partner.product,amount:0
+#: field:report.account.invoice.product,amount:0
+msgid "Amount"
+msgstr "Iznos"
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Supplier Refund"
+msgstr "Odobrenje dobavljača"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "March"
+msgstr "ožujak"
+
+#. module: sale_margin
+#: field:report.account.invoice,margin:0
+#: field:report.account.invoice.category,margin:0
+#: field:report.account.invoice.partner,margin:0
+#: field:report.account.invoice.partner.product,margin:0
+#: field:report.account.invoice.product,margin:0
+#: field:sale.order,margin:0
+#: field:sale.order.line,margin:0
+msgid "Margin"
+msgstr "RUC"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "November"
+msgstr "studeni"
+
+#. module: sale_margin
+#: field:report.account.invoice,quantity:0
+#: field:report.account.invoice.category,quantity:0
+#: field:report.account.invoice.partner,quantity:0
+#: field:report.account.invoice.partner.product,quantity:0
+#: field:report.account.invoice.product,quantity:0
+msgid "Quantity"
+msgstr "Količina"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Invoices by product"
+msgstr "Računi po artiklu"
+
+#. module: sale_margin
+#: selection:report.account.invoice,type:0
+#: selection:report.account.invoice.category,type:0
+#: selection:report.account.invoice.partner,type:0
+#: selection:report.account.invoice.partner.product,type:0
+#: selection:report.account.invoice.product,type:0
+msgid "Supplier Invoice"
+msgstr "Ulazni račun"
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_all_invoice_by_invoices
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_by_invoices
+#: view:report.account.invoice:0
+#: view:stock.picking:0
+#: field:stock.picking,invoice_ids:0
+msgid "Invoices"
+msgstr "Računi"
+
+#. module: sale_margin
+#: selection:report.account.invoice.product,month:0
+msgid "December"
+msgstr "prosinac"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_account_invoice_line
+msgid "Invoice Line"
+msgstr "Stavka računa"
+
+#. module: sale_margin
+#: field:report.account.invoice,name:0
+#: field:report.account.invoice.category,name:0
+#: field:report.account.invoice.partner,name:0
+#: field:report.account.invoice.partner.product,name:0
+#: field:report.account.invoice.product,name:0
+msgid "Month"
+msgstr "Mjesec"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Canceled"
+msgstr "Poništeno"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,help:sale_margin.action_report_account_invoice_report
+msgid ""
+"This report gives you an overview of all the invoices generated by the "
+"system. You can sort and group your results by specific selection criteria "
+"to quickly find what you are looking for."
+msgstr ""
+"Ovaj izvještaj vam daje pregled svih računa napravljenih u sustavu. Možete "
+"sortirati i grupirati rezultate prema\r\n"
+"specifičnim kriterijima kako bi brzo pronašli ono što tražite."
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product
+msgid "Invoice Report"
+msgstr "Izvještaj računa"
+
+#. module: sale_margin
+#: view:report.account.invoice.product:0
+msgid "Done"
+msgstr "Izvršeno"
+
+#. module: sale_margin
+#: model:ir.ui.menu,name:sale_margin.menu_report_account_invoice_product
+msgid "Invoice"
+msgstr "Račun"
+
+#. module: sale_margin
+#: view:stock.picking:0
+msgid "Customer Invoices"
+msgstr "Izlazni računi"
+
+#. module: sale_margin
+#: field:report.account.invoice.partner,partner_id:0
+#: field:report.account.invoice.partner.product,partner_id:0
+msgid "Partner"
+msgstr "Partner"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_sale_order
+msgid "Sales Order"
+msgstr "Prodajni nalog"
+
+#. module: sale_margin
+#: selection:report.account.invoice,state:0
+#: selection:report.account.invoice.category,state:0
+#: selection:report.account.invoice.partner,state:0
+#: selection:report.account.invoice.partner.product,state:0
+#: selection:report.account.invoice.product,state:0
+msgid "Open"
+msgstr "Otvoren"
+
+#. module: sale_margin
+#: model:ir.actions.act_window,name:sale_margin.action_report_account_invoice_report
+msgid "Invoice Analysis"
+msgstr "Analiza računa"
+
+#. module: sale_margin
+#: model:ir.model,name:sale_margin.model_sale_order_line
+msgid "Sales Order Line"
+msgstr "Stavka prodajnog naloga"
diff --git a/addons/sale_mrp/i18n/ar.po b/addons/sale_mrp/i18n/ar.po
new file mode 100644
index 00000000000..3ab51c9a489
--- /dev/null
+++ b/addons/sale_mrp/i18n/ar.po
@@ -0,0 +1,66 @@
+# Arabic translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-05 11:55+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Arabic <ar@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: 2011-12-06 05:28+0000\n"
+"X-Generator: Launchpad (build 14435)\n"
+
+#. module: sale_mrp
+#: help:mrp.production,sale_ref:0
+msgid "Indicate the Customer Reference from sales order."
+msgstr ""
+
+#. module: sale_mrp
+#: field:mrp.production,sale_ref:0
+msgid "Sales Reference"
+msgstr ""
+
+#. module: sale_mrp
+#: model:ir.model,name:sale_mrp.model_mrp_production
+msgid "Manufacturing Order"
+msgstr ""
+
+#. module: sale_mrp
+#: model:ir.module.module,description:sale_mrp.module_meta_information
+msgid ""
+"\n"
+" This module provides facility to the user to install mrp and sales "
+"modules\n"
+" at a time. It is basically used when we want to keep track of "
+"production\n"
+" orders generated from sales order.\n"
+" It adds sales name and sales Reference on production order\n"
+" "
+msgstr ""
+
+#. module: sale_mrp
+#: field:mrp.production,sale_name:0
+msgid "Sales Name"
+msgstr ""
+
+#. module: sale_mrp
+#: model:ir.module.module,shortdesc:sale_mrp.module_meta_information
+msgid "Sales and MRP Management"
+msgstr ""
+
+#. module: sale_mrp
+#: constraint:mrp.production:0
+msgid "Order quantity cannot be negative or zero !"
+msgstr ""
+
+#. module: sale_mrp
+#: help:mrp.production,sale_name:0
+msgid "Indicate the name of sales order."
+msgstr ""
diff --git a/addons/sale_mrp/i18n/hr.po b/addons/sale_mrp/i18n/hr.po
new file mode 100644
index 00000000000..a48201c1c49
--- /dev/null
+++ b/addons/sale_mrp/i18n/hr.po
@@ -0,0 +1,72 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-10 07:22+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-11 05:36+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: sale_mrp
+#: help:mrp.production,sale_ref:0
+msgid "Indicate the Customer Reference from sales order."
+msgstr "Označi kupčevu referencu iz prodajnog naloga"
+
+#. module: sale_mrp
+#: field:mrp.production,sale_ref:0
+msgid "Sales Reference"
+msgstr "Prodajna referenca"
+
+#. module: sale_mrp
+#: model:ir.model,name:sale_mrp.model_mrp_production
+msgid "Manufacturing Order"
+msgstr "Nalog za proizvodnju"
+
+#. module: sale_mrp
+#: model:ir.module.module,description:sale_mrp.module_meta_information
+msgid ""
+"\n"
+" This module provides facility to the user to install mrp and sales "
+"modules\n"
+" at a time. It is basically used when we want to keep track of "
+"production\n"
+" orders generated from sales order.\n"
+" It adds sales name and sales Reference on production order\n"
+" "
+msgstr ""
+"\n"
+" Ovaj modulomogućava korisniku instalaciju MRP i prodajnog modula.\n"
+" Koristi se kad želimo pratiti radne naloge u proizvodnji nastale iz \n"
+" prodajnih naloga. \n"
+" Dodaje naziv prodaje i prodajnu referencu na nalog za proizvodnju.\n"
+" "
+
+#. module: sale_mrp
+#: field:mrp.production,sale_name:0
+msgid "Sales Name"
+msgstr "Naziv prodaje"
+
+#. module: sale_mrp
+#: model:ir.module.module,shortdesc:sale_mrp.module_meta_information
+msgid "Sales and MRP Management"
+msgstr "Upravljanje prodajom i MRP"
+
+#. module: sale_mrp
+#: constraint:mrp.production:0
+msgid "Order quantity cannot be negative or zero !"
+msgstr "Količina na nalogu ne smije biti negativna ili nula!"
+
+#. module: sale_mrp
+#: help:mrp.production,sale_name:0
+msgid "Indicate the name of sales order."
+msgstr "Navedi ime prodajnog naloga"
diff --git a/addons/sale_mrp/i18n/pt.po b/addons/sale_mrp/i18n/pt.po
index dcfd11c49e8..e863ce80491 100644
--- a/addons/sale_mrp/i18n/pt.po
+++ b/addons/sale_mrp/i18n/pt.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-12-03 07:41+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"PO-Revision-Date: 2011-12-10 12:06+0000\n"
+"Last-Translator: Paulino Ascenção <Unknown>\n"
"Language-Team: Portuguese <pt@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: 2011-11-05 05:44+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-11 05:36+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: sale_mrp
#: help:mrp.production,sale_ref:0
@@ -44,6 +44,11 @@ msgid ""
" It adds sales name and sales Reference on production order\n"
" "
msgstr ""
+"\n"
+" Este módulo serve para manter o controle das ordens de\n"
+" produção geradas a partir de ordens de venda.\n"
+" Regista o nome e referência da venda na ordem de produção.\n"
+" "
#. module: sale_mrp
#: field:mrp.production,sale_name:0
@@ -53,7 +58,7 @@ msgstr "Nome da Venda"
#. module: sale_mrp
#: model:ir.module.module,shortdesc:sale_mrp.module_meta_information
msgid "Sales and MRP Management"
-msgstr ""
+msgstr "Gestão de vendas e fabrico"
#. module: sale_mrp
#: constraint:mrp.production:0
diff --git a/addons/sale_order_dates/i18n/hr.po b/addons/sale_order_dates/i18n/hr.po
new file mode 100644
index 00000000000..bb845637559
--- /dev/null
+++ b/addons/sale_order_dates/i18n/hr.po
@@ -0,0 +1,74 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-09 14:35+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-10 04:56+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: sale_order_dates
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique !"
+msgstr "Referenca naloga mora biti jedinstvena"
+
+#. module: sale_order_dates
+#: help:sale.order,requested_date:0
+msgid "Date on which customer has requested for sales."
+msgstr ""
+
+#. module: sale_order_dates
+#: field:sale.order,commitment_date:0
+msgid "Commitment Date"
+msgstr ""
+
+#. module: sale_order_dates
+#: field:sale.order,effective_date:0
+msgid "Effective Date"
+msgstr "Efektivni datum"
+
+#. module: sale_order_dates
+#: model:ir.module.module,shortdesc:sale_order_dates.module_meta_information
+msgid "Sales Order Dates"
+msgstr "Datumi naloga u prodaji"
+
+#. module: sale_order_dates
+#: help:sale.order,effective_date:0
+msgid "Date on which picking is created."
+msgstr ""
+
+#. module: sale_order_dates
+#: field:sale.order,requested_date:0
+msgid "Requested Date"
+msgstr "Traženi datum"
+
+#. module: sale_order_dates
+#: model:ir.model,name:sale_order_dates.model_sale_order
+msgid "Sales Order"
+msgstr "Prodajni nalog"
+
+#. module: sale_order_dates
+#: model:ir.module.module,description:sale_order_dates.module_meta_information
+msgid ""
+"\n"
+"Add commitment, requested and effective dates on the sales order.\n"
+msgstr ""
+"\n"
+"Add commitment, requested and effective dates on the sales order.\n"
+"Dodaj datum prihvaćanja obveze, traženi i efektivni datum na prodajnom "
+"nalogu.\n"
+
+#. module: sale_order_dates
+#: help:sale.order,commitment_date:0
+msgid "Date on which delivery of products is to be made."
+msgstr "Datum kada bi trebalo dostaviti artikl."
diff --git a/addons/share/__openerp__.py b/addons/share/__openerp__.py
index b9077109c3c..7a78783348c 100644
--- a/addons/share/__openerp__.py
+++ b/addons/share/__openerp__.py
@@ -22,11 +22,11 @@
{
- "name" : "Web Share",
+ "name" : "Share any Document",
"version" : "2.0",
"depends" : ["base", "mail"],
"author" : "OpenERP SA",
- "category": 'Hidden',
+ "category": 'Tools',
'complexity': "easy",
"description": """
This module adds generic sharing tools to your current OpenERP database.
diff --git a/addons/share/i18n/hr.po b/addons/share/i18n/hr.po
index 29c2187a5d2..8b1c7f29d88 100644
--- a/addons/share/i18n/hr.po
+++ b/addons/share/i18n/hr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-09-08 09:05+0000\n"
+"PO-Revision-Date: 2011-12-08 17:51+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Croatian <hr@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: 2011-11-05 05:45+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: share
#: code:addons/share/web/editors.py:15
@@ -38,7 +38,7 @@ msgstr ""
#. module: share
#: help:res.groups,share:0
msgid "Group created to set access rights for sharing data with some users."
-msgstr ""
+msgstr "Group created to set access rights for sharing data with some users."
#. module: share
#: model:ir.module.module,shortdesc:share.module_meta_information
@@ -48,7 +48,7 @@ msgstr ""
#. module: share
#: sql_constraint:res.users:0
msgid "You can not have two users with the same login !"
-msgstr ""
+msgstr "Ne možete imati dva korisnika sa istim korisničkim imenom !"
#. module: share
#: code:addons/share/wizard/share_wizard.py:76
@@ -76,22 +76,24 @@ msgstr ""
#: constraint:res.users:0
msgid "The chosen company is not in the allowed companies for this user"
msgstr ""
+"Odabrana organizacija nije među dozvoljenim organizacijama za ovog korisnika"
#. module: share
#: model:ir.model,name:share.model_res_users
msgid "res.users"
-msgstr ""
+msgstr "res.users"
#. module: share
#: view:share.wizard:0
msgid "Next"
-msgstr ""
+msgstr "Next"
#. module: share
#: help:share.wizard,action_id:0
msgid ""
"The action that opens the screen containing the data you wish to share."
msgstr ""
+"The action that opens the screen containing the data you wish to share."
#. module: share
#: code:addons/share/wizard/share_wizard.py:68
@@ -113,7 +115,7 @@ msgstr ""
#. module: share
#: field:share.wizard.result.line,newly_created:0
msgid "Newly created"
-msgstr ""
+msgstr "Newly created"
#. module: share
#: field:share.wizard,share_root_url:0
@@ -131,7 +133,7 @@ msgstr ""
#. module: share
#: view:res.groups:0
msgid "Regular groups only (no share groups"
-msgstr ""
+msgstr "Regular groups only (no share groups"
#. module: share
#: selection:share.wizard,access_mode:0
@@ -163,7 +165,7 @@ msgstr ""
#. module: share
#: field:res.users,share:0
msgid "Share User"
-msgstr ""
+msgstr "Udio korisnika"
#. module: share
#: code:addons/share/wizard/share_wizard.py:452
@@ -210,7 +212,7 @@ msgstr ""
#. module: share
#: sql_constraint:res.groups:0
msgid "The name of the group must be unique !"
-msgstr ""
+msgstr "Naziv grupe mora biti jedinstven!"
#. module: share
#: selection:share.wizard,user_type:0
@@ -226,7 +228,7 @@ msgstr ""
#. module: share
#: view:res.groups:0
msgid "Groups"
-msgstr ""
+msgstr "Grupe"
#. module: share
#: view:share.wizard:0
@@ -236,14 +238,14 @@ msgstr ""
#. module: share
#: field:res.groups,share:0
msgid "Share Group"
-msgstr ""
+msgstr "Grupa dijeljenja"
#. module: share
#: code:addons/share/wizard/share_wizard.py:459
#: field:share.wizard.result.line,password:0
#, python-format
msgid "Password"
-msgstr ""
+msgstr "Lozinka"
#. module: share
#: view:share.wizard:0
@@ -298,6 +300,8 @@ msgid ""
"Please select the action that opens the screen containing the data you want "
"to share."
msgstr ""
+"Please select the action that opens the screen containing the data you want "
+"to share."
#. module: share
#: selection:share.wizard,user_type:0
@@ -308,12 +312,12 @@ msgstr ""
#: view:share.wizard:0
#: field:share.wizard,result_line_ids:0
msgid "Summary"
-msgstr ""
+msgstr "Sažetak"
#. module: share
#: field:share.wizard,user_type:0
msgid "Users to share with"
-msgstr ""
+msgstr "Users to share with"
#. module: share
#: code:addons/share/wizard/share_wizard.py:304
@@ -339,6 +343,8 @@ msgid ""
"Optionally, you may specify an additional domain restriction that will be "
"applied to the shared data."
msgstr ""
+"Optionally, you may specify an additional domain restriction that will be "
+"applied to the shared data."
#. module: share
#: view:share.wizard:0
@@ -356,17 +362,17 @@ msgstr ""
#. module: share
#: view:res.users:0
msgid "Regular users only (no share user)"
-msgstr ""
+msgstr "Redoviti korisnici samo (bez podijeljenih korisnika)"
#. module: share
#: field:share.wizard.result.line,share_url:0
msgid "Share URL"
-msgstr ""
+msgstr "Share URL"
#. module: share
#: field:share.wizard,domain:0
msgid "Domain"
-msgstr ""
+msgstr "Domena"
#. module: share
#: code:addons/share/wizard/share_wizard.py:314
@@ -380,12 +386,12 @@ msgstr ""
#. module: share
#: field:share.wizard,access_mode:0
msgid "Access Mode"
-msgstr ""
+msgstr "Način pristupa"
#. module: share
#: view:share.wizard:0
msgid "Access info"
-msgstr ""
+msgstr "Access info"
#. module: share
#: code:addons/share/wizard/share_wizard.py:454
@@ -398,13 +404,13 @@ msgstr ""
#. module: share
#: field:share.wizard,action_id:0
msgid "Action to share"
-msgstr ""
+msgstr "Action to share"
#. module: share
#: code:addons/share/web/editors.py:18
#, python-format
msgid "Share"
-msgstr ""
+msgstr "Podjeli"
#. module: share
#: code:addons/share/wizard/share_wizard.py:434
@@ -420,7 +426,7 @@ msgstr ""
#. module: share
#: model:ir.model,name:share.model_share_wizard_result_line
msgid "share.wizard.result.line"
-msgstr ""
+msgstr "share.wizard.result.line"
#. module: share
#: code:addons/share/wizard/share_wizard.py:313
@@ -435,22 +441,22 @@ msgstr ""
#: model:ir.ui.menu,name:share.menu_action_share_wizard
#: field:share.wizard.result.line,share_wizard_id:0
msgid "Share Wizard"
-msgstr ""
+msgstr "Asistent dijeljenja"
#. module: share
#: help:share.wizard,user_type:0
msgid "Select the type of user(s) you would like to share data with."
-msgstr ""
+msgstr "Odaberite vrstu korisnika (e) s kojima želite dijeliti podatke."
#. module: share
#: view:share.wizard:0
msgid "Cancel"
-msgstr ""
+msgstr "Odustani"
#. module: share
#: view:share.wizard:0
msgid "Close"
-msgstr ""
+msgstr "Zatvori"
#. module: share
#: help:res.users,share:0
@@ -458,11 +464,13 @@ msgid ""
"External user with limited access, created only for the purpose of sharing "
"data."
msgstr ""
+"External user with limited access, created only for the purpose of sharing "
+"data."
#. module: share
#: help:share.wizard,domain:0
msgid "Optional domain for further data filtering"
-msgstr ""
+msgstr "Optional domain for further data filtering"
#. module: share
#: selection:share.wizard,access_mode:0
@@ -474,3 +482,6 @@ msgstr ""
#, python-format
msgid "*usual password*"
msgstr ""
+
+#~ msgid "Access Groups"
+#~ msgstr "Access Groups"
diff --git a/addons/stock/__openerp__.py b/addons/stock/__openerp__.py
index 9608aa9d8ad..882f0f78e97 100644
--- a/addons/stock/__openerp__.py
+++ b/addons/stock/__openerp__.py
@@ -88,6 +88,7 @@ Thanks to the double entry management, the inventory controlling is powerful and
'test/stock_demo_backorder.yml'
],
'installable': True,
+ 'application': True,
'active': False,
'certificate': '0055421559965',
}
diff --git a/addons/stock/board_warehouse_view.xml b/addons/stock/board_warehouse_view.xml
index 6a4e437bf3d..656f0caffd7 100644
--- a/addons/stock/board_warehouse_view.xml
+++ b/addons/stock/board_warehouse_view.xml
@@ -22,7 +22,7 @@
</record>
<record model="ir.actions.act_window" id="action_stock_incoming_product_delay">
- <field name="name">Incoming Products Delay</field>
+ <field name="name">Incoming Products</field>
<field name="res_model">report.stock.move</field>
<field name="view_type">form</field>
<field name="view_mode">graph,tree</field>
@@ -31,7 +31,7 @@
<field name="context">{'search_default_in':1}</field>
</record>
<record model="ir.actions.act_window" id="action_stock_outgoing_product_delay">
- <field name="name">Outgoing Products Delay</field>
+ <field name="name">Outgoing Products</field>
<field name="res_model">report.stock.move</field>
<field name="view_type">form</field>
<field name="view_mode">graph,tree</field>
@@ -52,8 +52,8 @@
</column>
<column>
- <action name="%(action_stock_incoming_product_delay)d" string="Incoming Products Delay"/>
- <action name="%(action_stock_outgoing_product_delay)d" string="Outgoing Products Delay"/>
+ <action name="%(action_stock_incoming_product_delay)d" string="Incoming Products" creatable="true"/>
+ <action name="%(action_stock_outgoing_product_delay)d" string="Outgoing Products" creatable="true"/>
</column>
</board>
</form>
diff --git a/addons/stock/i18n/ar.po b/addons/stock/i18n/ar.po
index fcc9d11f91c..867df8a22ca 100644
--- a/addons/stock/i18n/ar.po
+++ b/addons/stock/i18n/ar.po
@@ -2408,7 +2408,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/bg.po b/addons/stock/i18n/bg.po
index 373159d3b9f..6224096db5e 100644
--- a/addons/stock/i18n/bg.po
+++ b/addons/stock/i18n/bg.po
@@ -2439,7 +2439,7 @@ msgstr "Преглед на склад с продукти"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/bs.po b/addons/stock/i18n/bs.po
index 0dce966cc34..b9e465eb193 100644
--- a/addons/stock/i18n/bs.po
+++ b/addons/stock/i18n/bs.po
@@ -2408,7 +2408,7 @@ msgstr "Pregled zaliha proizvoda"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/ca.po b/addons/stock/i18n/ca.po
index 55233026269..0e53e4eecb7 100644
--- a/addons/stock/i18n/ca.po
+++ b/addons/stock/i18n/ca.po
@@ -2621,7 +2621,7 @@ msgstr "Veure estoc de productes"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Albarà intern"
#. module: stock
diff --git a/addons/stock/i18n/cs.po b/addons/stock/i18n/cs.po
index c74ce13948f..59d910a70ab 100644
--- a/addons/stock/i18n/cs.po
+++ b/addons/stock/i18n/cs.po
@@ -2439,7 +2439,7 @@ msgstr "Zobrazit zásoby výrobků"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Vnitřní naváděcí seznam"
#. module: stock
diff --git a/addons/stock/i18n/da.po b/addons/stock/i18n/da.po
index 007c15baa00..5a4deba51cb 100644
--- a/addons/stock/i18n/da.po
+++ b/addons/stock/i18n/da.po
@@ -2409,7 +2409,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/de.po b/addons/stock/i18n/de.po
index 9c60193d1f1..aaea5ee2691 100644
--- a/addons/stock/i18n/de.po
+++ b/addons/stock/i18n/de.po
@@ -2614,7 +2614,7 @@ msgstr "Zeige Lagerorte der Produkte"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Interne Lieferauftragsliste"
#. module: stock
diff --git a/addons/stock/i18n/el.po b/addons/stock/i18n/el.po
index 2de9e65b1bc..a4266fad473 100644
--- a/addons/stock/i18n/el.po
+++ b/addons/stock/i18n/el.po
@@ -2428,7 +2428,7 @@ msgstr "Προβολή Αποθέματος Προϊόντων"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/es.po b/addons/stock/i18n/es.po
index 3b030cfef80..b2e791189de 100644
--- a/addons/stock/i18n/es.po
+++ b/addons/stock/i18n/es.po
@@ -2631,7 +2631,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Albarán interno"
#. module: stock
diff --git a/addons/stock/i18n/es_AR.po b/addons/stock/i18n/es_AR.po
index abe5da9e081..d2a6279f8b7 100644
--- a/addons/stock/i18n/es_AR.po
+++ b/addons/stock/i18n/es_AR.po
@@ -2412,7 +2412,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/es_CL.po b/addons/stock/i18n/es_CL.po
index ea086475e65..d25cf3a883c 100644
--- a/addons/stock/i18n/es_CL.po
+++ b/addons/stock/i18n/es_CL.po
@@ -2629,7 +2629,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Albarán interno"
#. module: stock
diff --git a/addons/stock/i18n/es_EC.po b/addons/stock/i18n/es_EC.po
index 89adf47cf6e..5275452160b 100644
--- a/addons/stock/i18n/es_EC.po
+++ b/addons/stock/i18n/es_EC.po
@@ -2583,7 +2583,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Lista movimiento internos"
#. module: stock
diff --git a/addons/stock/i18n/es_MX.po b/addons/stock/i18n/es_MX.po
index 37a72b5d89f..0f3b4b96f30 100644
--- a/addons/stock/i18n/es_MX.po
+++ b/addons/stock/i18n/es_MX.po
@@ -2635,7 +2635,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Albarán interno"
#. module: stock
diff --git a/addons/stock/i18n/es_MX.po.moved b/addons/stock/i18n/es_MX.po.moved
index ddb33a01138..696ebe8e9a7 100644
--- a/addons/stock/i18n/es_MX.po.moved
+++ b/addons/stock/i18n/es_MX.po.moved
@@ -2282,7 +2282,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Lista de empaque interna"
#. module: stock
diff --git a/addons/stock/i18n/es_VE.po b/addons/stock/i18n/es_VE.po
index 37a72b5d89f..0f3b4b96f30 100644
--- a/addons/stock/i18n/es_VE.po
+++ b/addons/stock/i18n/es_VE.po
@@ -2635,7 +2635,7 @@ msgstr "Ver stock de productos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Albarán interno"
#. module: stock
diff --git a/addons/stock/i18n/et.po b/addons/stock/i18n/et.po
index f6955029f12..3577e185b16 100644
--- a/addons/stock/i18n/et.po
+++ b/addons/stock/i18n/et.po
@@ -2396,7 +2396,7 @@ msgstr "Vaata toodete laoseisu"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/fi.po b/addons/stock/i18n/fi.po
index 1d0d50b89a5..ecd82c8f78b 100644
--- a/addons/stock/i18n/fi.po
+++ b/addons/stock/i18n/fi.po
@@ -2490,7 +2490,7 @@ msgstr "Näytä tuotteiden varasto"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Sisäinen keräilylista"
#. module: stock
diff --git a/addons/stock/i18n/fr.po b/addons/stock/i18n/fr.po
index 92d99777e8e..ccc3725170c 100644
--- a/addons/stock/i18n/fr.po
+++ b/addons/stock/i18n/fr.po
@@ -2649,7 +2649,7 @@ msgstr "Voir les stocks produits"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Bon de transfert interne"
#. module: stock
diff --git a/addons/stock/i18n/gl.po b/addons/stock/i18n/gl.po
index a1341961104..c98825c2304 100644
--- a/addons/stock/i18n/gl.po
+++ b/addons/stock/i18n/gl.po
@@ -2409,7 +2409,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/hr.po b/addons/stock/i18n/hr.po
index cb76c9fba0e..b33c8c571d9 100644
--- a/addons/stock/i18n/hr.po
+++ b/addons/stock/i18n/hr.po
@@ -1,4 +1,4 @@
-# Translation of OpenERP Server.
+## Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * stock
#
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-09-29 09:23+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 16:12+0000\n"
+"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-12 04:51+0000\n"
-"X-Generator: Launchpad (build 14277)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: stock
#: field:product.product,track_outgoing:0
msgid "Track Outgoing Lots"
-msgstr "Prati izlazne lotove"
+msgstr "Prati lot-ove na izlazu"
#. module: stock
#: model:ir.model,name:stock.model_stock_ups_upload
@@ -42,7 +42,7 @@ msgstr "Ulančana lokacija ako je namještena"
#: view:stock.move:0
#: view:stock.picking:0
msgid "Put in a new pack"
-msgstr ""
+msgstr "U novi paket"
#. module: stock
#: field:stock.move.split.lines,action:0
@@ -52,36 +52,36 @@ msgstr ""
#. module: stock
#: view:stock.production.lot:0
msgid "Upstream Traceability"
-msgstr ""
+msgstr "Upstream Traceability"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_stock_line_date
#: model:ir.ui.menu,name:stock.menu_report_stock_line_date
msgid "Last Product Inventories"
-msgstr ""
+msgstr "Zadnje inventure"
#. module: stock
#: view:stock.move:0
msgid "Today"
-msgstr ""
+msgstr "Danas"
#. module: stock
#: field:stock.production.lot.revision,indice:0
msgid "Revision Number"
-msgstr ""
+msgstr "Revision Number"
#. module: stock
#: view:stock.move.memory.in:0
#: view:stock.move.memory.out:0
msgid "Product Moves"
-msgstr ""
+msgstr "Product Moves"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_stock_move_report
#: model:ir.ui.menu,name:stock.menu_action_stock_move_report
#: view:report.stock.move:0
msgid "Moves Analysis"
-msgstr ""
+msgstr "Analiza skl. prijenosa"
#. module: stock
#: help:stock.production.lot,ref:0
@@ -89,6 +89,7 @@ msgid ""
"Internal reference number in case it differs from the manufacturer's serial "
"number"
msgstr ""
+"Interni broj za slučajeve kada se razlikuje od proizvođačeva serijskog broja"
#. module: stock
#: model:ir.actions.act_window,help:stock.action_inventory_form
@@ -97,11 +98,14 @@ msgid ""
"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."
msgstr ""
+"Povremene inventure se koriste za utvrđivanje stvarnih zaliha svih ili nekih "
+"proizvoda na nekoj lokaciji. Možete ih organizirati jednom godišnje ili po "
+"potrebi."
#. module: stock
#: view:stock.picking:0
msgid "Picking list"
-msgstr ""
+msgstr "Skladišnica"
#. module: stock
#: report:lot.stock.overview:0
@@ -133,12 +137,14 @@ msgid ""
"This is the list of all delivery orders that have to be prepared, according "
"to your different sales orders and your logistics rules."
msgstr ""
+"Ovo je popis svih otpremnica koje treba pripremiti. Nastale su iz prodajnih "
+"naloga i pravila logistike."
#. module: stock
#: view:report.stock.move:0
#: field:report.stock.move,day:0
msgid "Day"
-msgstr ""
+msgstr "Dan"
#. module: stock
#: view:stock.inventory:0
@@ -156,19 +162,19 @@ msgstr "JM"
#: model:ir.ui.menu,name:stock.menu_action_inventory_form
#, python-format
msgid "Physical Inventories"
-msgstr ""
+msgstr "Fizičke inventure"
#. module: stock
#: field:product.category,property_stock_journal:0
#: view:report.stock.move:0
#: field:stock.change.standard.price,stock_journal:0
msgid "Stock journal"
-msgstr "Dnevnik zalihe"
+msgstr "Stock journal"
#. module: stock
#: view:report.stock.move:0
msgid "Incoming"
-msgstr ""
+msgstr "Ulazna"
#. module: stock
#: help:product.category,property_stock_account_output_categ:0
@@ -189,7 +195,7 @@ msgstr ""
#. module: stock
#: model:ir.actions.act_window,name:stock.action_partial_move
msgid "Deliver/Receive Products"
-msgstr ""
+msgstr "Isporuči/zaprimi proizvode"
#. module: stock
#: code:addons/stock/report/report_stock.py:78
@@ -210,29 +216,29 @@ msgstr ""
#. module: stock
#: selection:stock.picking,invoice_state:0
msgid "Not Applicable"
-msgstr ""
+msgstr "Not Applicable"
#. module: stock
#: help:stock.tracking,serial:0
msgid "Other reference or serial number"
-msgstr ""
+msgstr "Druga oznaka ili serijski broj"
#. module: stock
#: field:stock.move,origin:0
#: view:stock.picking:0
#: field:stock.picking,origin:0
msgid "Origin"
-msgstr ""
+msgstr "Izvor"
#. module: stock
#: view:report.stock.lines.date:0
msgid "Non Inv"
-msgstr ""
+msgstr "Non Inv"
#. module: stock
#: view:stock.tracking:0
msgid "Pack Identification"
-msgstr ""
+msgstr "Identifikacija paketa"
#. module: stock
#: view:stock.move:0
@@ -240,7 +246,7 @@ msgstr ""
#: field:stock.picking,name:0
#: view:stock.production.lot:0
msgid "Reference"
-msgstr "Referenca"
+msgstr "Vezna oznaka"
#. module: stock
#: code:addons/stock/stock.py:661
@@ -259,6 +265,8 @@ msgid ""
"If checked, all product quantities will be set to zero to help ensure a real "
"physical inventory is done"
msgstr ""
+"If checked, all product quantities will be set to zero to help ensure a real "
+"physical inventory is done"
#. module: stock
#: model:ir.model,name:stock.model_stock_move_split_lines
@@ -282,7 +290,7 @@ msgstr ""
#. module: stock
#: field:stock.invoice.onshipping,group:0
msgid "Group by partner"
-msgstr "Grupiraj prema partneru"
+msgstr "Grupiraj po partneru"
#. module: stock
#: model:ir.model,name:stock.model_res_partner
@@ -301,13 +309,13 @@ msgstr "Partner"
#: help:stock.move.memory.in,currency:0
#: help:stock.move.memory.out,currency:0
msgid "Currency in which Unit cost is expressed"
-msgstr ""
+msgstr "Currency in which Unit cost is expressed"
#. module: stock
#: code:addons/stock/wizard/stock_return_picking.py:135
#, python-format
msgid "No invoicing"
-msgstr ""
+msgstr "No invoicing"
#. module: stock
#: model:ir.model,name:stock.model_stock_production_lot
@@ -319,23 +327,23 @@ msgstr "Proizvodni lot"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_uom_categ_form_action
msgid "Units of Measure Categories"
-msgstr ""
+msgstr "Kategorije jedinica mjere"
#. module: stock
#: help:stock.incoterms,code:0
msgid "Code for Incoterms"
-msgstr ""
+msgstr "Code for Incoterms"
#. module: stock
#: field:stock.tracking,move_ids:0
msgid "Moves for this pack"
-msgstr ""
+msgstr "Skl. prijenosi za ovaj paket"
#. module: stock
#: selection:report.stock.inventory,location_type:0
#: selection:stock.location,usage:0
msgid "Internal Location"
-msgstr "Unutarnja lokacija"
+msgstr "Interna lokacija"
#. module: stock
#: view:stock.inventory:0
@@ -366,12 +374,12 @@ msgstr "Prava vrijednost zalihe"
#. module: stock
#: field:report.stock.move,day_diff2:0
msgid "Lag (Days)"
-msgstr ""
+msgstr "Kašnjenje(dani)"
#. module: stock
#: model:ir.model,name:stock.model_action_traceability
msgid "Action traceability "
-msgstr ""
+msgstr "Action traceability "
#. module: stock
#: field:stock.location,posy:0
@@ -393,13 +401,13 @@ msgstr "JM"
#: view:stock.production.lot:0
#: field:stock.production.lot,stock_available:0
msgid "Available"
-msgstr "Raspoloživo"
+msgstr "Available"
#. module: stock
#: view:stock.picking:0
#: field:stock.picking,min_date:0
msgid "Expected Date"
-msgstr ""
+msgstr "Očekivani datum"
#. module: stock
#: view:board.board:0
@@ -411,12 +419,12 @@ msgstr ""
#: model:ir.actions.act_window,help:stock.action_warehouse_form
msgid ""
"Create and manage your warehouses and assign them a location from here"
-msgstr ""
+msgstr "Kreirajte i upravljajte skladištima i dodjelite im lokacije"
#. module: stock
#: field:report.stock.move,product_qty_in:0
msgid "In Qty"
-msgstr ""
+msgstr "Kol. ulaza"
#. module: stock
#: code:addons/stock/wizard/stock_fill_inventory.py:115
@@ -433,12 +441,12 @@ msgstr "Izlaz lokacije"
#: model:ir.actions.act_window,name:stock.split_into
#: model:ir.model,name:stock.model_stock_split_into
msgid "Split into"
-msgstr ""
+msgstr "Razdvoji u"
#. module: stock
#: field:stock.move,price_currency_id:0
msgid "Currency for average price"
-msgstr ""
+msgstr "Valuta prosječne cijene"
#. module: stock
#: help:product.template,property_stock_account_input:0
@@ -458,22 +466,22 @@ msgstr "Tip lokacije"
#: help:report.stock.move,type:0
#: help:stock.picking,type:0
msgid "Shipping type specify, goods coming in or going out."
-msgstr ""
+msgstr "Shipping type specify, goods coming in or going out."
#. module: stock
#: model:ir.actions.report.xml,name:stock.report_move_labels
msgid "Item Labels"
-msgstr ""
+msgstr "Labela"
#. module: stock
#: model:ir.model,name:stock.model_report_stock_move
msgid "Moves Statistics"
-msgstr ""
+msgstr "Moves Statistics"
#. module: stock
#: view:stock.production.lot:0
msgid "Product Lots Filter"
-msgstr ""
+msgstr "Product Lots Filter"
#. module: stock
#: report:lot.stock.overview:0
@@ -489,11 +497,13 @@ msgid ""
"Current quantity of products with this Production Lot Number available in "
"company warehouses"
msgstr ""
+"Trenutna količina proizvoda s ovim proizvodnim lot-om dostupna u skladištima "
+"organizacije"
#. module: stock
#: field:stock.move,move_history_ids:0
msgid "Move History (child moves)"
-msgstr ""
+msgstr "Povijest promjena (child moves)"
#. module: stock
#: code:addons/stock/stock.py:1984
@@ -513,7 +523,7 @@ msgstr "Interni prijenosi"
#. module: stock
#: field:stock.move,location_dest_id:0
msgid "Destination Location"
-msgstr ""
+msgstr "Odredišna lokacija"
#. module: stock
#: code:addons/stock/stock.py:751
@@ -530,7 +540,7 @@ msgstr "Pakiranje"
#. module: stock
#: report:stock.picking.list:0
msgid "Order(Origin)"
-msgstr "Narudžba(ishodište)"
+msgstr "Nalog(Izvor)"
#. module: stock
#: report:lot.stock.overview:0
@@ -546,11 +556,15 @@ msgid ""
"buttons on the right of each line. You can filter the products to deliver by "
"customer, products or sale order (using the Origin field)."
msgstr ""
+"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)."
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_inventory_control
msgid "Inventory Control"
-msgstr ""
+msgstr "Kontrola inventure"
#. module: stock
#: view:stock.location:0
@@ -562,7 +576,7 @@ msgstr "Dodatne informacije"
#: report:lot.stock.overview:0
#: report:lot.stock.overview_all:0
msgid "Location / Product"
-msgstr ""
+msgstr "Lokacija / Proizvod"
#. module: stock
#: code:addons/stock/stock.py:1306
@@ -573,7 +587,7 @@ msgstr ""
#. module: stock
#: field:stock.tracking,serial:0
msgid "Additional Reference"
-msgstr ""
+msgstr "Additional Reference"
#. module: stock
#: view:stock.production.lot.revision:0
@@ -586,6 +600,8 @@ msgid ""
"Forces to specify a Production Lot for all moves containing this product and "
"going to a Customer Location"
msgstr ""
+"Forces to specify a Production Lot for all moves containing this product and "
+"going to a Customer Location"
#. module: stock
#: model:ir.actions.act_window,help:stock.action_stock_journal_form
@@ -595,6 +611,10 @@ msgid ""
"worker/team that should perform the operation. Examples of stock journals "
"may be: quality control, pick lists, packing, etc."
msgstr ""
+"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."
#. module: stock
#: field:stock.location,complete_name:0
@@ -605,7 +625,7 @@ msgstr "Naziv lokacije"
#. module: stock
#: view:stock.inventory:0
msgid "Posted Inventory"
-msgstr ""
+msgstr "Posted Inventory"
#. module: stock
#: view:stock.move:0
@@ -616,12 +636,12 @@ msgstr "Detalji prijenosa"
#. module: stock
#: view:report.stock.move:0
msgid "Outgoing"
-msgstr ""
+msgstr "Outgoing"
#. module: stock
#: selection:report.stock.move,month:0
msgid "August"
-msgstr ""
+msgstr "Kolovoz"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_tracking_form
@@ -629,22 +649,22 @@ msgstr ""
#: model:ir.ui.menu,name:stock.menu_action_tracking_form
#: view:stock.tracking:0
msgid "Packs"
-msgstr ""
+msgstr "Paketi"
#. module: stock
#: constraint:stock.move:0
msgid "You try to assign a lot which is not from the same product"
-msgstr ""
+msgstr "Pokušavate pridružiti lot koji nije iz istog proizvoda"
#. module: stock
#: view:res.partner:0
msgid "Sales & Purchases"
-msgstr "Prodaje i kupovine"
+msgstr "Prodaja i nabava"
#. module: stock
#: selection:report.stock.move,month:0
msgid "June"
-msgstr ""
+msgstr "Lipanj"
#. module: stock
#: field:product.template,property_stock_procurement:0
@@ -670,17 +690,17 @@ msgstr "Primatelj"
#: model:ir.actions.act_window,name:stock.action_location_tree
#: model:ir.ui.menu,name:stock.menu_action_location_tree
msgid "Location Structure"
-msgstr ""
+msgstr "Stuktura lokacija"
#. module: stock
#: selection:report.stock.move,month:0
msgid "October"
-msgstr ""
+msgstr "Listopad"
#. module: stock
#: model:ir.model,name:stock.model_stock_inventory_line
msgid "Inventory Line"
-msgstr ""
+msgstr "Stavka inventure"
#. module: stock
#: help:product.category,property_stock_journal:0
@@ -688,11 +708,13 @@ msgid ""
"When doing real-time inventory valuation, this is the Accounting Journal in "
"which entries will be automatically posted when stock moves are processed."
msgstr ""
+"When doing real-time inventory valuation, this is the Accounting Journal in "
+"which entries will be automatically posted when stock moves are processed."
#. module: stock
#: model:ir.actions.act_window,name:stock.action_partial_picking
msgid "Process Picking"
-msgstr ""
+msgstr "Izvrši prijem/otpremu"
#. module: stock
#: code:addons/stock/product.py:355
@@ -707,11 +729,13 @@ msgid ""
"Check this option to select existing lots in the list below, otherwise you "
"should enter new ones line by line."
msgstr ""
+"Provjerite opciju za odabir postojećeg lota sa popisa ispod, u suprotnom "
+"potrebno je unijeti nove retke."
#. module: stock
#: field:stock.move,move_dest_id:0
msgid "Destination Move"
-msgstr ""
+msgstr "Prijenos odredišta"
#. module: stock
#: view:stock.move:0
@@ -738,17 +762,17 @@ msgstr "Ulaz lokacije"
#. module: stock
#: help:stock.picking,date:0
msgid "Date of Order"
-msgstr ""
+msgstr "Datum naloga"
#. module: stock
#: selection:product.product,valuation:0
msgid "Periodical (manual)"
-msgstr ""
+msgstr "Ručno (po potrebi)"
#. module: stock
#: model:stock.location,name:stock.location_procurement
msgid "Procurements"
-msgstr "Nabave"
+msgstr "Nabava"
#. module: stock
#: model:stock.location,name:stock.stock_location_3
@@ -758,25 +782,25 @@ msgstr "IT dobavljači"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_inventory_form_draft
msgid "Draft Physical Inventories"
-msgstr ""
+msgstr "Nacrti fizičkih inventura"
#. module: stock
#: selection:report.stock.inventory,location_type:0
#: selection:stock.location,usage:0
msgid "Transit Location for Inter-Companies Transfers"
-msgstr ""
+msgstr "Tranzitna lokacija za transfere između organizacija"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_view_change_product_quantity
#: model:ir.model,name:stock.model_stock_change_product_qty
#: view:stock.change.product.qty:0
msgid "Change Product Quantity"
-msgstr ""
+msgstr "Promjeni količinu proizvoda"
#. module: stock
#: model:ir.model,name:stock.model_stock_inventory_merge
msgid "Merge Inventory"
-msgstr ""
+msgstr "Spoji zalihu"
#. module: stock
#: code:addons/stock/product.py:371
@@ -789,14 +813,14 @@ msgstr ""
#: model:ir.ui.menu,name:stock.menu_action_picking_tree4
#: view:stock.picking:0
msgid "Incoming Shipments"
-msgstr ""
+msgstr "Primke"
#. module: stock
#: view:report.stock.inventory:0
#: view:stock.move:0
#: view:stock.picking:0
msgid "Scrap"
-msgstr ""
+msgstr "Scrap"
#. module: stock
#: field:stock.location,child_ids:0
@@ -806,12 +830,12 @@ msgstr "Sadrži"
#. module: stock
#: view:board.board:0
msgid "Incoming Products Delay"
-msgstr ""
+msgstr "Kašnjenje ulaza"
#. module: stock
#: view:stock.location:0
msgid "Stock Locations"
-msgstr ""
+msgstr "Skladišne lokacije"
#. module: stock
#: report:lot.stock.overview:0
@@ -828,12 +852,12 @@ msgstr ""
#. module: stock
#: field:stock.move,date_expected:0
msgid "Scheduled Date"
-msgstr ""
+msgstr "Planirani datum"
#. module: stock
#: view:stock.tracking:0
msgid "Pack Search"
-msgstr ""
+msgstr "Traži pakete"
#. module: stock
#: selection:stock.move,priority:0
@@ -844,7 +868,7 @@ msgstr "Hitno"
#: view:stock.picking:0
#: report:stock.picking.list:0
msgid "Journal"
-msgstr ""
+msgstr "Dnevnik"
#. module: stock
#: code:addons/stock/stock.py:1315
@@ -859,16 +883,19 @@ msgid ""
"needed.Set a location if you produce at a fixed location. This can be a "
"partner location if you subcontract the manufacturing operations."
msgstr ""
+"Keep empty if you produce at the location where the finished products are "
+"needed.Set a location if you produce at a fixed location. This can be a "
+"partner location if you subcontract the manufacturing operations."
#. module: stock
#: view:res.partner:0
msgid "Inventory Properties"
-msgstr ""
+msgstr "Inventura"
#. module: stock
#: field:report.stock.move,day_diff:0
msgid "Execution Lead Time (Days)"
-msgstr ""
+msgstr "Vodeće vrijeme izvršenja (dana)"
#. module: stock
#: model:ir.actions.act_window,name:stock.act_stock_product_location_open
@@ -881,17 +908,21 @@ msgid ""
"Optional address where goods are to be delivered, specifically used for "
"allotment"
msgstr ""
+"Optional address where goods are to be delivered, specifically used for "
+"allotment"
#. module: stock
#: view:report.stock.move:0
msgid "Month-1"
-msgstr ""
+msgstr "Month-1"
#. module: stock
#: help:stock.location,active:0
msgid ""
"By unchecking the active field, you may hide a location without deleting it."
msgstr ""
+"Neaktivne lokacije se ne pojavljuju u listama odabira. Lokacije koje se više "
+"ne koriste označite kao neaktivne."
#. module: stock
#: model:ir.actions.report.xml,name:stock.report_picking_list
@@ -901,7 +932,7 @@ msgstr "Lista pakiranja"
#. module: stock
#: field:stock.location,stock_virtual:0
msgid "Virtual Stock"
-msgstr "Virtualna zaliha"
+msgstr "Efektivna zaliha"
#. module: stock
#: selection:report.stock.inventory,location_type:0
@@ -912,7 +943,7 @@ msgstr "Pogled"
#. module: stock
#: field:stock.location,parent_left:0
msgid "Left Parent"
-msgstr ""
+msgstr "Left Parent"
#. module: stock
#: code:addons/stock/wizard/stock_partial_move.py:132
@@ -929,7 +960,7 @@ msgstr ""
#. module: stock
#: constraint:product.product:0
msgid "Error: Invalid ean code"
-msgstr ""
+msgstr "Greška: Neispravan barkod!"
#. module: stock
#: code:addons/stock/product.py:148
@@ -941,12 +972,12 @@ msgstr ""
#. module: stock
#: field:product.template,property_stock_production:0
msgid "Production Location"
-msgstr "Lokacije proizvodnje"
+msgstr "Lokacija proizvodnje"
#. module: stock
#: help:stock.picking,address_id:0
msgid "Address of partner"
-msgstr ""
+msgstr "Adresa partnera"
#. module: stock
#: model:res.company,overdue_msg:stock.res_company_shop0
@@ -996,6 +1027,28 @@ msgid ""
"location consumes the raw material and produces finished products\n"
" "
msgstr ""
+"* Lokacija dobavljača: Virtualna lokacija koja predstavlja izvorišnu "
+"lokaciju za proizvode koje nabavljate od dobavljača\n"
+" \n"
+"* Pogled: Virtualna lokacija koju koristite za kreiranje hijerarhije "
+"lokacija. Lokacije vrste Pogled će zbrajati podređene lokacije, a same ne "
+"sadrže proizvode\n"
+" \n"
+"* Interna lokacija: Fizička lokacija u vašem skladištu,\n"
+" \n"
+"* Lokacija kupca: Virtualna lokacija koja predstavlja odredišnu lokaciju "
+"isporuka kupcima\n"
+" \n"
+"* Inventura: Virtualna lokacija koja služi kao protuteža "
+"viškovima/manjkovima inventure (fizičke inventure)\n"
+" \n"
+"* Nabava: Virtualna lokacija koja služi kao privremena protuteža kada još "
+"nije poznat izvor (proizvodnja ili dobavljač). ova lokacija bi trebala biti "
+"prazna nakon pokretanja automatske nabave.\n"
+" \n"
+"* Proizvodnja: Virtualna protuteža za prijenose proizvodnje. Ovdje "
+"\"nestaju\" sirovine i nastaju gotovi (polu)proizvodi\n"
+" "
#. module: stock
#: field:stock.production.lot.revision,author_id:0
@@ -1022,12 +1075,12 @@ msgstr "Ručna operacija"
#: view:stock.location:0
#: view:stock.move:0
msgid "Supplier"
-msgstr ""
+msgstr "Dobavljač"
#. module: stock
#: field:stock.picking,date_done:0
msgid "Date Done"
-msgstr "Datum završen"
+msgstr "Datum izvršenja"
#. module: stock
#: report:stock.picking.list:0
@@ -1042,7 +1095,7 @@ msgstr ""
#. module: stock
#: selection:report.stock.move,month:0
msgid "March"
-msgstr ""
+msgstr "Ožujak"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_view_stock_inventory_line_split
@@ -1050,12 +1103,12 @@ msgstr ""
#: view:stock.inventory:0
#: view:stock.inventory.line:0
msgid "Split inventory lines"
-msgstr ""
+msgstr "Podijeli retke inventara"
#. module: stock
#: view:stock.inventory:0
msgid "Physical Inventory"
-msgstr ""
+msgstr "Fizička zaliha"
#. module: stock
#: help:stock.location,chained_company_id:0
@@ -1063,6 +1116,8 @@ msgid ""
"The company the Picking List containing the chained move will belong to "
"(leave empty to use the default company determination rules"
msgstr ""
+"The company the Picking List containing the chained move will belong to "
+"(leave empty to use the default company determination rules"
#. module: stock
#: help:stock.location,chained_picking_type:0
@@ -1071,11 +1126,14 @@ msgid ""
"empty to automatically detect the type based on the source and destination "
"locations)."
msgstr ""
+"Shipping Type of the Picking List that will contain the chained move (leave "
+"empty to automatically detect the type based on the source and destination "
+"locations)."
#. module: stock
#: view:stock.move.split:0
msgid "Lot number"
-msgstr ""
+msgstr "Lot number"
#. module: stock
#: field:stock.inventory.line,product_uom:0
@@ -1093,13 +1151,13 @@ msgstr "Lokacije partnera"
#: view:report.stock.inventory:0
#: view:report.stock.move:0
msgid "Total quantity"
-msgstr ""
+msgstr "Ukupna količina"
#. module: stock
#: model:ir.actions.act_window,name:stock.move_consume
#: view:stock.move.consume:0
msgid "Consume Move"
-msgstr ""
+msgstr "Skl. prijenos utroška"
#. module: stock
#: model:stock.location,name:stock.stock_location_7
@@ -1109,12 +1167,12 @@ msgstr "Europski kupci"
#. module: stock
#: help:stock.location,chained_delay:0
msgid "Delay between original move and chained move in days"
-msgstr ""
+msgstr "Delay between original move and chained move in days"
#. module: stock
#: view:stock.fill.inventory:0
msgid "Import current product inventory from the following location"
-msgstr ""
+msgstr "Import current product inventory from the following location"
#. module: stock
#: help:stock.location,chained_auto_packing:0
@@ -1125,11 +1183,16 @@ msgid ""
"move has to be validated by a worker. With 'Automatic No Step Added', the "
"location is replaced in the original move."
msgstr ""
+"This is used only if you select a chained location type.\n"
+"The 'Automatic Move' value will create a stock move after the current one "
+"that will be validated automatically. With 'Manual Operation', the stock "
+"move has to be validated by a worker. With 'Automatic No Step Added', the "
+"location is replaced in the original move."
#. module: stock
#: view:stock.production.lot:0
msgid "Downstream Traceability"
-msgstr ""
+msgstr "Downstream Traceability"
#. module: stock
#: help:product.template,property_stock_production:0
@@ -1138,6 +1201,8 @@ msgid ""
"default one, as the source location for stock moves generated by production "
"orders"
msgstr ""
+"Za ovaj proizvod će se koristiti ova skladišna lokacija, umjesto uobičajene, "
+"kao izvorišna lokacija za prijenose generirane proizvodnjom"
#. module: stock
#: code:addons/stock/stock.py:1975
@@ -1159,6 +1224,8 @@ msgid ""
"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."
msgstr ""
+"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."
#. module: stock
#: model:ir.model,name:stock.model_stock_ups_final
@@ -1168,18 +1235,18 @@ msgstr ""
#. module: stock
#: field:stock.location,chained_auto_packing:0
msgid "Chaining Type"
-msgstr ""
+msgstr "Tip lanca"
#. module: stock
#: code:addons/stock/wizard/stock_return_picking.py:135
#, python-format
msgid "To be refunded/invoiced"
-msgstr ""
+msgstr "To be refunded/invoiced"
#. module: stock
#: model:stock.location,name:stock.stock_location_shop0
msgid "Shop 1"
-msgstr ""
+msgstr "Shop 1"
#. module: stock
#: view:stock.change.product.qty:0
@@ -1193,22 +1260,22 @@ msgstr ""
#: view:stock.picking:0
#: view:stock.split.into:0
msgid "_Cancel"
-msgstr ""
+msgstr "_Cancel"
#. module: stock
#: view:stock.move:0
msgid "Ready"
-msgstr ""
+msgstr "Spremno"
#. module: stock
#: view:stock.picking:0
msgid "Calendar View"
-msgstr "Kalendarski pogled"
+msgstr "Calendar View"
#. module: stock
#: view:stock.picking:0
msgid "Additional Info"
-msgstr ""
+msgstr "Dodatni podaci"
#. module: stock
#: code:addons/stock/stock.py:1602
@@ -1231,7 +1298,7 @@ msgstr ""
#: view:stock.picking:0
#: field:stock.picking,invoice_state:0
msgid "Invoice Control"
-msgstr "Kontrola faktura"
+msgstr "Kontrola računa"
#. module: stock
#: model:ir.model,name:stock.model_stock_production_lot_revision
@@ -1241,7 +1308,7 @@ msgstr "Revizije lota proizvodnje"
#. module: stock
#: view:stock.picking:0
msgid "Internal Picking List"
-msgstr ""
+msgstr "Međuskladišnica (interni prijenos)"
#. module: stock
#: selection:report.stock.inventory,state:0
@@ -1249,7 +1316,7 @@ msgstr ""
#: selection:stock.move,state:0
#: selection:stock.picking,state:0
msgid "Waiting"
-msgstr "Čekanje"
+msgstr "Waiting"
#. module: stock
#: view:stock.move:0
@@ -1261,7 +1328,7 @@ msgstr "Razdijeli"
#. module: stock
#: view:stock.picking:0
msgid "Search Stock Picking"
-msgstr ""
+msgstr "Traži skladišnice"
#. module: stock
#: code:addons/stock/product.py:93
@@ -1273,7 +1340,7 @@ msgstr ""
#: view:report.stock.move:0
#: field:stock.partial.move,type:0
msgid "Type"
-msgstr "Tip"
+msgstr "Vrsta"
#. module: stock
#: model:stock.location,name:stock.stock_location_5
@@ -1283,7 +1350,7 @@ msgstr "Generički IT dobavljači"
#. module: stock
#: report:stock.picking.list:0
msgid "Picking List:"
-msgstr ""
+msgstr "Skladišnica:"
#. module: stock
#: field:stock.inventory,date:0
@@ -1291,7 +1358,7 @@ msgstr ""
#: field:stock.production.lot,date:0
#: field:stock.tracking,date:0
msgid "Creation Date"
-msgstr ""
+msgstr "Datum kreiranja"
#. module: stock
#: field:report.stock.lines.date,id:0
@@ -1301,7 +1368,7 @@ msgstr "ID stavke inventara"
#. module: stock
#: help:stock.location,address_id:0
msgid "Address of customer or supplier."
-msgstr ""
+msgstr "Address of customer or supplier."
#. module: stock
#: view:report.stock.move:0
@@ -1332,7 +1399,7 @@ msgstr ""
#: model:ir.actions.report.xml,name:stock.report_location_overview
#: report:lot.stock.overview:0
msgid "Location Inventory Overview"
-msgstr ""
+msgstr "Location Inventory Overview"
#. module: stock
#: model:ir.model,name:stock.model_stock_replacement
@@ -1342,17 +1409,17 @@ msgstr ""
#. module: stock
#: view:stock.inventory:0
msgid "General Informations"
-msgstr "Opće informacije"
+msgstr "Općenite informacije"
#. module: stock
#: selection:stock.location,chained_location_type:0
msgid "None"
-msgstr "Nijedan"
+msgstr "Ništa"
#. module: stock
#: view:stock.tracking:0
msgid "Downstream traceability"
-msgstr ""
+msgstr "Downstream traceability"
#. module: stock
#: code:addons/stock/wizard/stock_invoice_onshipping.py:113
@@ -1376,18 +1443,19 @@ msgstr ""
msgid ""
"By unchecking the active field, you may hide an INCOTERM without deleting it."
msgstr ""
+"By unchecking the active field, you may hide an INCOTERM without deleting it."
#. module: stock
#: view:stock.move:0
#: view:stock.picking:0
#: field:stock.picking,date:0
msgid "Order Date"
-msgstr ""
+msgstr "Datum naloga"
#. module: stock
#: field:stock.location,location_id:0
msgid "Parent Location"
-msgstr "Nadređena lokacija"
+msgstr "Parent Location"
#. module: stock
#: help:stock.picking,state:0
@@ -1400,11 +1468,18 @@ msgid ""
"* Done: has been processed, can't be modified or cancelled anymore\n"
"* Cancelled: has been cancelled, can't be confirmed anymore"
msgstr ""
+"* Draft: not confirmed yet and will not be scheduled until confirmed\n"
+"* Confirmed: still waiting for the availability of products\n"
+"* Available: products reserved, simply waiting for confirmation.\n"
+"* Waiting: waiting for another move to proceed before it becomes "
+"automatically available (e.g. in Make-To-Order flows)\n"
+"* Done: has been processed, can't be modified or cancelled anymore\n"
+"* Cancelled: has been cancelled, can't be confirmed anymore"
#. module: stock
#: help:stock.location,company_id:0
msgid "Let this field empty if this location is shared between all companies"
-msgstr ""
+msgstr "Ostavite polje prazno ako se lokacija koristi između svih kopanija"
#. module: stock
#: code:addons/stock/stock.py:2198
@@ -1415,7 +1490,7 @@ msgstr ""
#. module: stock
#: field:stock.location,chained_delay:0
msgid "Chaining Lead Time"
-msgstr ""
+msgstr "Vrijeme ulančavanja"
#. module: stock
#: code:addons/stock/wizard/stock_partial_move.py:85
@@ -1426,7 +1501,7 @@ msgstr ""
#. module: stock
#: model:ir.model,name:stock.model_stock_invoice_onshipping
msgid "Stock Invoice Onshipping"
-msgstr ""
+msgstr "Račun nakon isporuke"
#. module: stock
#: help:stock.move,state:0
@@ -1438,6 +1513,12 @@ msgid ""
" When the picking is done the state is 'Done'. \n"
"The state is 'Waiting' if the move is waiting for another one."
msgstr ""
+"When the stock move is created it is in the 'Draft' state.\n"
+" After that, it is set to 'Not Available' state if the scheduler did not "
+"find the products.\n"
+" When products are reserved it is set to 'Available'.\n"
+" When the picking is done the state is 'Done'. \n"
+"The state is 'Waiting' if the move is waiting for another one."
#. module: stock
#: selection:report.stock.inventory,location_type:0
@@ -1461,7 +1542,7 @@ msgstr ""
#. module: stock
#: selection:report.stock.move,month:0
msgid "September"
-msgstr ""
+msgstr "Rujan"
#. module: stock
#: help:stock.picking,backorder_id:0
@@ -1469,22 +1550,24 @@ msgid ""
"If this picking was split this field links to the picking that contains the "
"other part that has been processed already."
msgstr ""
+"Nakon djelomične isporuke/primke ovo polje vodi do prethodnih povezanih "
+"isporuka."
#. module: stock
#: model:ir.model,name:stock.model_report_stock_inventory
msgid "Stock Statistics"
-msgstr ""
+msgstr "Stock Statistics"
#. module: stock
#: field:stock.move.memory.in,currency:0
#: field:stock.move.memory.out,currency:0
msgid "Currency"
-msgstr ""
+msgstr "Valuta"
#. module: stock
#: field:product.product,track_production:0
msgid "Track Manufacturing Lots"
-msgstr ""
+msgstr "Prati lot-ove proizvodnje"
#. module: stock
#: code:addons/stock/wizard/stock_inventory_merge.py:44
@@ -1503,7 +1586,7 @@ msgstr ""
#: view:stock.production.lot:0
#: view:stock.tracking:0
msgid "Stock Moves"
-msgstr "Prijenosi zalihe"
+msgstr "Skladišni prijenosi"
#. module: stock
#: selection:report.stock.move,type:0
@@ -1520,7 +1603,7 @@ msgstr "Otkaži dostupnost"
#. module: stock
#: help:stock.move,date_expected:0
msgid "Scheduled date for the processing of this move"
-msgstr ""
+msgstr "Odabrani datum za obradu ovog događaja"
#. module: stock
#: field:stock.inventory,move_ids:0
@@ -1530,33 +1613,33 @@ msgstr "Kreirani prijenosi"
#. module: stock
#: model:stock.location,name:stock.stock_location_14
msgid "Shelf 2"
-msgstr ""
+msgstr "Shelf 2"
#. module: stock
#: field:stock.report.tracklots,tracking_id:0
msgid "Tracking lot"
-msgstr ""
+msgstr "Tracking lot"
#. module: stock
#: view:stock.picking:0
msgid "Back Orders"
-msgstr ""
+msgstr "Zaostali nalozi"
#. module: stock
#: view:product.product:0
#: view:product.template:0
msgid "Counter-Part Locations Properties"
-msgstr ""
+msgstr "Counter-Part Locations Properties"
#. module: stock
#: view:stock.location:0
msgid "Localization"
-msgstr ""
+msgstr "Lokacija"
#. module: stock
#: model:ir.model,name:stock.model_stock_report_tracklots
msgid "Stock report by tracking lots"
-msgstr ""
+msgstr "Stock report by tracking lots"
#. module: stock
#: code:addons/stock/product.py:367
@@ -1569,12 +1652,12 @@ msgstr ""
#: view:stock.inventory.line.split:0
#: view:stock.move.split:0
msgid "Split in lots"
-msgstr ""
+msgstr "Split in lots"
#. module: stock
#: view:stock.move.split:0
msgid "Production Lot Numbers"
-msgstr ""
+msgstr "Production Lot Numbers"
#. module: stock
#: view:report.stock.inventory:0
@@ -1596,7 +1679,7 @@ msgstr "Datum"
#: view:stock.move:0
#: view:stock.picking:0
msgid "Extended Filters..."
-msgstr ""
+msgstr "Prošireni filtri..."
#. module: stock
#: field:stock.warehouse,lot_stock_id:0
@@ -1612,7 +1695,7 @@ msgstr ""
#. module: stock
#: model:ir.ui.menu,name:stock.menu_dashboard_stock
msgid "Dashboard"
-msgstr ""
+msgstr "Kokpit"
#. module: stock
#: model:ir.model,name:stock.model_stock_move_track
@@ -1627,13 +1710,13 @@ msgstr "Šifra"
#. module: stock
#: view:stock.inventory.line.split:0
msgid "Lots Number"
-msgstr ""
+msgstr "Lots Number"
#. module: stock
#: model:ir.actions.act_window,name:stock.open_board_warehouse
#: model:ir.ui.menu,name:stock.menu_board_warehouse
msgid "Warehouse Dashboard"
-msgstr ""
+msgstr "Kokpit skladišta"
#. module: stock
#: code:addons/stock/stock.py:510
@@ -1647,7 +1730,7 @@ msgstr ""
#: view:stock.move.scrap:0
#: view:stock.picking:0
msgid "Scrap Products"
-msgstr ""
+msgstr "Otpis proizvoda"
#. module: stock
#: code:addons/stock/stock.py:1135
@@ -1662,13 +1745,13 @@ msgstr ""
#: view:stock.move.split:0
#: view:stock.picking:0
msgid "Cancel"
-msgstr "odustani"
+msgstr "Odustani"
#. module: stock
#: model:ir.actions.act_window,name:stock.act_stock_return_picking
#: model:ir.model,name:stock.model_stock_return_picking
msgid "Return Picking"
-msgstr ""
+msgstr "Povrat robe"
#. module: stock
#: view:stock.inventory:0
@@ -1710,7 +1793,7 @@ msgstr "Adresa otpreme :"
#: code:addons/stock/wizard/stock_return_picking.py:120
#, python-format
msgid "Provide the quantities of the returned products."
-msgstr ""
+msgstr "Upis količina povrata proizvoda."
#. module: stock
#: code:addons/stock/stock.py:1978
@@ -1723,18 +1806,18 @@ msgstr ""
#. module: stock
#: view:stock.change.standard.price:0
msgid "Cost Price"
-msgstr ""
+msgstr "Cijena Koštanja"
#. module: stock
#: view:product.product:0
#: field:product.product,valuation:0
msgid "Inventory Valuation"
-msgstr ""
+msgstr "Popis Vrednovanja"
#. module: stock
#: view:stock.picking:0
msgid "Create Invoice"
-msgstr ""
+msgstr "Kreiraj račun"
#. module: stock
#: view:stock.move:0
@@ -1748,8 +1831,8 @@ msgid ""
"This stock location will be used, instead of the default one, as the source "
"location for goods you receive from the current partner"
msgstr ""
-"Ova lokacija zalihe se koristi umjesto predefinirane kao početna lokacija za "
-"robu koju zaprimate od partnera"
+"Ova lokacija zalihe se koristi umjesto uobičajene kao ulazna lokacija za "
+"robu koju nabavljate od ovog partnera"
#. module: stock
#: field:stock.warehouse,partner_address_id:0
@@ -1762,6 +1845,9 @@ msgid ""
"Technical field used to record the product cost set by the user during a "
"picking confirmation (when average price costing method is used)"
msgstr ""
+"Nabavna cijena za proizvode koji se vode metodom prosječnih cijena. Prilikom "
+"zaprimanja robe od dobavljača ovdje se upisuje nabavna cijena s dobavljačeve "
+"otpremnice koja utječe na prosječnu cijenu proizvoda."
#. module: stock
#: model:ir.actions.act_window,help:stock.action_stock_move_report
@@ -1770,21 +1856,24 @@ msgid ""
"moves. Use this report when you want to analyse the different routes taken "
"by your products and inventory management performance."
msgstr ""
+"Moves Analysis allows you to easily check and analyse your company stock "
+"moves. Use this report when you want to analyse the different routes taken "
+"by your products and inventory management performance."
#. module: stock
#: field:report.stock.move,day_diff1:0
msgid "Planned Lead Time (Days)"
-msgstr ""
+msgstr "Planirano vodeće vrijeme (dani)"
#. module: stock
#: field:stock.change.standard.price,new_price:0
msgid "Price"
-msgstr ""
+msgstr "Cijena"
#. module: stock
#: view:stock.inventory:0
msgid "Search Inventory"
-msgstr ""
+msgstr "Search Inventory"
#. module: stock
#: field:stock.move.track,quantity:0
@@ -1808,7 +1897,7 @@ msgstr ""
#. module: stock
#: field:stock.production.lot,ref:0
msgid "Internal Reference"
-msgstr ""
+msgstr "Interna oznaka"
#. module: stock
#: help:stock.production.lot,prefix:0
@@ -1816,13 +1905,15 @@ msgid ""
"Optional prefix to prepend when displaying this serial number: PREFIX/SERIAL "
"[INT_REF]"
msgstr ""
+"Optional prefix to prepend when displaying this serial number: PREFIX/SERIAL "
+"[INT_REF]"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_view_stock_fill_inventory
#: model:ir.model,name:stock.model_stock_fill_inventory
#: view:stock.fill.inventory:0
msgid "Import Inventory"
-msgstr ""
+msgstr "Uvezi inventuru"
#. module: stock
#: field:stock.incoterms,name:0
@@ -1868,27 +1959,29 @@ msgid ""
"default one, as the source location for stock moves generated when you do an "
"inventory"
msgstr ""
+"Koristi ovu skladišnu lokaciju, umjesto uobičajene, kao izvorišnu lokaciju "
+"za prijenose inventure"
#. module: stock
#: view:report.stock.lines.date:0
msgid "Stockable"
-msgstr ""
+msgstr "Uskladištiv"
#. module: stock
#: selection:product.product,valuation:0
msgid "Real Time (automated)"
-msgstr ""
+msgstr "Automatsko"
#. module: stock
#: help:stock.move,tracking_id:0
msgid "Logistical shipping unit: pallet, box, pack ..."
-msgstr ""
+msgstr "Logistical shipping unit: pallet, box, pack ..."
#. module: stock
#: view:stock.change.product.qty:0
#: view:stock.change.standard.price:0
msgid "_Apply"
-msgstr ""
+msgstr "_Primjeni"
#. module: stock
#: report:lot.stock.overview:0
@@ -1907,7 +2000,7 @@ msgstr "Lokacija inventara"
#: view:report.stock.inventory:0
#: view:report.stock.move:0
msgid "Total value"
-msgstr ""
+msgstr "Ukupna vrijednost"
#. module: stock
#: help:stock.location,chained_journal_id:0
@@ -1915,6 +2008,8 @@ msgid ""
"Inventory Journal in which the chained move will be written, if the Chaining "
"Type is not Transparent (no journal is used if left empty)"
msgstr ""
+"Inventory Journal in which the chained move will be written, if the Chaining "
+"Type is not Transparent (no journal is used if left empty)"
#. module: stock
#: view:board.board:0
@@ -1925,31 +2020,31 @@ msgstr ""
#. module: stock
#: view:stock.move:0
msgid "Creation"
-msgstr ""
+msgstr "Kreiranje"
#. module: stock
#: field:stock.move.memory.in,cost:0
#: field:stock.move.memory.out,cost:0
msgid "Cost"
-msgstr ""
+msgstr "Trošak"
#. module: stock
#: field:product.category,property_stock_account_input_categ:0
#: field:product.template,property_stock_account_input:0
#: field:stock.change.standard.price,stock_account_input:0
msgid "Stock Input Account"
-msgstr "Konto zalihe ulaza"
+msgstr "Stock Input Account"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_warehouse_mgmt
#: model:ir.ui.menu,name:stock.menu_warehouse_config
msgid "Warehouse Management"
-msgstr ""
+msgstr "Upravljanje skladištem"
#. module: stock
#: selection:stock.picking,move_type:0
msgid "Partial Delivery"
-msgstr ""
+msgstr "Djelomična isporuka"
#. module: stock
#: selection:stock.location,chained_auto_packing:0
@@ -1967,11 +2062,13 @@ msgid ""
"Move date: scheduled date until move is done, then date of actual move "
"processing"
msgstr ""
+"Move date: scheduled date until move is done, then date of actual move "
+"processing"
#. module: stock
#: field:report.stock.lines.date,date:0
msgid "Latest Inventory Date"
-msgstr ""
+msgstr "Datum zadnje inventure"
#. module: stock
#: view:report.stock.inventory:0
@@ -1981,7 +2078,7 @@ msgstr ""
#: view:stock.picking:0
#: view:stock.production.lot:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupiraj po..."
#. module: stock
#: view:stock.location:0
@@ -2002,14 +2099,14 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
msgid "Input Picking List"
-msgstr ""
+msgstr "Primka"
#. module: stock
#: field:stock.move,product_uom:0
#: field:stock.move.memory.in,product_uom:0
#: field:stock.move.memory.out,product_uom:0
msgid "Unit of Measure"
-msgstr ""
+msgstr "Jedinica mjere"
#. module: stock
#: code:addons/stock/product.py:176
@@ -2023,6 +2120,8 @@ msgid ""
"Forces to specify a Production Lot for all moves containing this product and "
"generated by a Manufacturing Order"
msgstr ""
+"Forces to specify a Production Lot for all moves containing this product and "
+"generated by a Manufacturing Order"
#. module: stock
#: model:ir.actions.act_window,name:stock.track_line_old
@@ -2033,23 +2132,23 @@ msgstr "Praćenje prijenosa"
#. module: stock
#: view:product.product:0
msgid "Update"
-msgstr ""
+msgstr "Ažuriraj"
#. module: stock
#: view:stock.inventory:0
msgid "Set to Draft"
-msgstr ""
+msgstr "Postavi na nacrt"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_stock_journal_form
#: model:ir.ui.menu,name:stock.menu_action_stock_journal_form
msgid "Stock Journals"
-msgstr ""
+msgstr "Dnevnici zalihe"
#. module: stock
#: selection:report.stock.move,type:0
msgid "Others"
-msgstr ""
+msgstr "Ostalo"
#. module: stock
#: code:addons/stock/product.py:90
@@ -2066,22 +2165,22 @@ msgstr ""
#: model:stock.location,name:stock.stock_location_scrapped
#: field:stock.move,scrapped:0
msgid "Scrapped"
-msgstr ""
+msgstr "Scrapped"
#. module: stock
#: view:stock.inventory:0
msgid "Products "
-msgstr ""
+msgstr "Proizvodi "
#. module: stock
#: field:product.product,track_incoming:0
msgid "Track Incoming Lots"
-msgstr ""
+msgstr "Prati lot-ove na ulazu"
#. module: stock
#: view:board.board:0
msgid "Warehouse board"
-msgstr ""
+msgstr "Kokpit skladišta"
#. module: stock
#: code:addons/stock/product.py:377
@@ -2092,7 +2191,7 @@ msgstr ""
#. module: stock
#: field:product.category,property_stock_valuation_account_id:0
msgid "Stock Valuation Account"
-msgstr ""
+msgstr "Stock Valuation Account"
#. module: stock
#: field:stock.move,note:0
@@ -2105,7 +2204,7 @@ msgstr "Bilješke"
#: report:lot.stock.overview:0
#: report:lot.stock.overview_all:0
msgid "Value"
-msgstr "Vrijednost"
+msgstr "Value"
#. module: stock
#: field:report.stock.move,type:0
@@ -2128,24 +2227,24 @@ msgstr ""
#: view:stock.picking:0
#, python-format
msgid "Products"
-msgstr "Proizvodi"
+msgstr "Products"
#. module: stock
#: view:stock.change.standard.price:0
msgid "Change Price"
-msgstr ""
+msgstr "Promjeni cijenu"
#. module: stock
#: field:stock.picking,move_type:0
msgid "Delivery Method"
-msgstr "Metoda dostave"
+msgstr "Delivery Method"
#. module: stock
#: help:report.stock.move,location_dest_id:0
#: help:stock.move,location_dest_id:0
#: help:stock.picking,location_dest_id:0
msgid "Location where the system will stock the finished products."
-msgstr ""
+msgstr "Lokacija gotovih proizvoda"
#. module: stock
#: help:product.category,property_stock_valuation_account_id:0
@@ -2153,6 +2252,8 @@ msgid ""
"When real-time inventory valuation is enabled on a product, this account "
"will hold the current value of the products."
msgstr ""
+"When real-time inventory valuation is enabled on a product, this account "
+"will hold the current value of the products."
#. module: stock
#: model:ir.actions.act_window,help:stock.action_reception_picking_move
@@ -2163,27 +2264,32 @@ msgid ""
"the supplier or the purchase order reference. Then you can confirm all "
"products received using the buttons on the right of each line."
msgstr ""
+"Ovdje ćete pronaći sve proizvode koje očekujete od dobavljača. Stavke su "
+"nastale potvrdom naloga za nabavu i/ili upisom primki u stanju \"Nacrt\". "
+"Nakon fizičkog zaprimanja proizvoda filtrirajte ovaj popis po dobavljaču ili "
+"broju naloga za nabavu, te potvrdite prijem proizvoda. Možete koristiti "
+"gumbe na desnoj strani svake stavke."
#. module: stock
#: model:ir.model,name:stock.model_stock_move
msgid "Stock Move"
-msgstr "Prijenosi zalihe"
+msgstr "Skladišni prijenosi"
#. module: stock
#: view:report.stock.move:0
msgid "Delay(Days)"
-msgstr ""
+msgstr "Delay(Days)"
#. module: stock
#: field:stock.move.memory.in,move_id:0
#: field:stock.move.memory.out,move_id:0
msgid "Move"
-msgstr ""
+msgstr "Temeljnica"
#. module: stock
#: help:stock.picking,min_date:0
msgid "Expected date for the picking to be processed"
-msgstr ""
+msgstr "Očekivani datum obrade"
#. module: stock
#: code:addons/stock/product.py:373
@@ -2200,7 +2306,7 @@ msgstr "Revizije"
#. module: stock
#: view:stock.picking:0
msgid "This operation will cancel the shipment. Do you want to continue?"
-msgstr ""
+msgstr "Ova operacija će otkazati isporuku. Nastaviti?"
#. module: stock
#: help:product.product,valuation:0
@@ -2211,6 +2317,11 @@ msgid ""
"current inventory value, and the stock input and stock output account will "
"hold the counterpart moves for incoming and outgoing products."
msgstr ""
+"If real-time valuation is enabled for a product, the system will "
+"automatically write journal entries corresponding to stock moves.The "
+"inventory variation account set on the product category will represent the "
+"current inventory value, and the stock input and stock output account will "
+"hold the counterpart moves for incoming and outgoing products."
#. module: stock
#: model:ir.actions.act_window,help:stock.action_stock_inventory_report
@@ -2219,6 +2330,9 @@ msgid ""
"levels. Sort and group by selection criteria in order to better analyse and "
"manage your company activities."
msgstr ""
+"Inventory Analysis allows you to easily check and analyse your company stock "
+"levels. Sort and group by selection criteria in order to better analyse and "
+"manage your company activities."
#. module: stock
#: help:report.stock.move,location_id:0
@@ -2227,6 +2341,8 @@ msgid ""
"Sets a location if you produce at a fixed location. This can be a partner "
"location if you subcontract the manufacturing operations."
msgstr ""
+"Postavlja se lokacija ukoliko se proizvodi uvijek na fiksnoj lokaciji. To "
+"može biti mjesto partnera u slučaju podugovaranja procesa proizvodnje."
#. module: stock
#: model:ir.actions.act_window,help:stock.action_location_form
@@ -2241,17 +2357,26 @@ msgid ""
"location to the Stock location. Each report can be performed on physical, "
"partner or virtual locations."
msgstr ""
+"Lokacije odražavaju strukturu i organizaciju vaših skladišta. OpenERP "
+"razlikuje fizičke lokacije (skladišta, redove, police, ...), lokacije "
+"partnera (kupaca i dobavljača) i virtualne lokacije koje su protuteža "
+"skladišnim prijenosima kao što je potrošnja sirovina u proizvodnji, "
+"inventura , i sli.. Svaki skladišni prijenos (operacija) u OpenERP-u "
+"premješta proizvode sa jedne lokacije na drugu. Na primjer, ako zaprimite "
+"proizvode od dobavljača, OpenERP će napraviti prijenos proizvoda sa "
+"virtualne lokacije dobavljača na fizičku lokaciju skladišta. Svi izvještaji "
+"se mogu dobiti za fizičke, partnerske i virtualne lokacije."
#. module: stock
#: view:stock.invoice.onshipping:0
msgid "Create"
-msgstr ""
+msgstr "Stvori"
#. module: stock
#: view:stock.move:0
#: view:stock.picking:0
msgid "Dates"
-msgstr ""
+msgstr "Datumi"
#. module: stock
#: field:stock.move,priority:0
@@ -2261,7 +2386,7 @@ msgstr "Prioritet"
#. module: stock
#: view:stock.move:0
msgid "Source"
-msgstr ""
+msgstr "Source"
#. module: stock
#: code:addons/stock/stock.py:2557
@@ -2272,18 +2397,18 @@ msgstr ""
#: selection:stock.location,usage:0
#, python-format
msgid "Inventory"
-msgstr "Inventar"
+msgstr "Inventura"
#. module: stock
#: model:ir.model,name:stock.model_stock_picking
msgid "Picking List"
-msgstr ""
+msgstr "Skladišni dokument"
#. module: stock
#: sql_constraint:stock.production.lot:0
msgid ""
"The combination of serial number and internal reference must be unique !"
-msgstr ""
+msgstr "Kombinacija serijskog broja i interne oznake mora biti jedinstvena !"
#. module: stock
#: model:ir.model,name:stock.model_stock_ups
@@ -2318,7 +2443,7 @@ msgstr ""
#: model:ir.ui.menu,name:stock.menu_stock_unit_measure_stock
#: model:ir.ui.menu,name:stock.menu_stock_uom_form_action
msgid "Units of Measure"
-msgstr ""
+msgstr "Jedinice mjere"
#. module: stock
#: selection:stock.location,chained_location_type:0
@@ -2328,12 +2453,12 @@ msgstr "Fiksna lokacija"
#. module: stock
#: selection:report.stock.move,month:0
msgid "July"
-msgstr ""
+msgstr "Srpanj"
#. module: stock
#: view:report.stock.lines.date:0
msgid "Consumable"
-msgstr ""
+msgstr "Consumable"
#. module: stock
#: model:ir.actions.act_window,help:stock.action_stock_line_date
@@ -2343,11 +2468,14 @@ msgid ""
"need this report in order to ensure that the stock of each product is "
"controlled at least once a year."
msgstr ""
+"Prikaz zadnjih inventura po proizvodima. Ako radite povremene i djelomične "
+"inventure, koristite ovaj izvještaj kako bi osigurali da je inventura "
+"učinjena barem jednom godišnje za svaki proizvod."
#. module: stock
#: model:ir.actions.report.xml,name:stock.report_product_history
msgid "Stock Level Forecast"
-msgstr ""
+msgstr "Prognoza stanja zaliha"
#. module: stock
#: model:ir.model,name:stock.model_stock_journal
@@ -2362,7 +2490,7 @@ msgstr "Dnevnik zalihe"
#: selection:report.stock.inventory,location_type:0
#: selection:stock.location,usage:0
msgid "Procurement"
-msgstr "Nabava"
+msgstr "Procurement"
#. module: stock
#: model:stock.location,name:stock.stock_location_4
@@ -2379,13 +2507,13 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
msgid "Force Availability"
-msgstr "Koristi dostupnost"
+msgstr "Forsiraj dostupnost"
#. module: stock
#: model:ir.actions.act_window,name:stock.move_scrap
#: view:stock.move.scrap:0
msgid "Scrap Move"
-msgstr ""
+msgstr "Premjesti Otpad"
#. module: stock
#: code:addons/stock/wizard/stock_partial_move.py:138
@@ -2394,7 +2522,7 @@ msgstr ""
#: view:stock.move:0
#, python-format
msgid "Receive Products"
-msgstr ""
+msgstr "Prihvat proizvoda"
#. module: stock
#: code:addons/stock/wizard/stock_partial_move.py:131
@@ -2402,7 +2530,7 @@ msgstr ""
#: model:ir.ui.menu,name:stock.menu_action_pdct_out
#, python-format
msgid "Deliver Products"
-msgstr ""
+msgstr "Isporuči proizvode"
#. module: stock
#: view:stock.location.product:0
@@ -2418,23 +2546,24 @@ msgstr ""
#: view:report.stock.move:0
#: field:report.stock.move,month:0
msgid "Month"
-msgstr ""
+msgstr "Mjesec"
#. module: stock
#: help:stock.picking,date_done:0
msgid "Date of Completion"
-msgstr ""
+msgstr "Datum izvršenja"
#. module: stock
#: help:stock.production.lot,name:0
msgid "Unique production lot, will be displayed as: PREFIX/SERIAL [INT_REF]"
-msgstr ""
+msgstr "Unique production lot, will be displayed as: PREFIX/SERIAL [INT_REF]"
#. module: stock
#: help:stock.tracking,active:0
msgid ""
"By unchecking the active field, you may hide a pack without deleting it."
msgstr ""
+"By unchecking the active field, you may hide a pack without deleting it."
#. module: stock
#: view:stock.inventory.merge:0
@@ -2444,12 +2573,12 @@ msgstr "Da"
#. module: stock
#: field:stock.inventory,inventory_line_id:0
msgid "Inventories"
-msgstr "Inventoriji"
+msgstr "Inventure"
#. module: stock
#: view:report.stock.move:0
msgid "Todo"
-msgstr ""
+msgstr "Za obaviti"
#. module: stock
#: view:report.stock.inventory:0
@@ -2465,13 +2594,13 @@ msgstr ""
#: field:stock.production.lot.revision,company_id:0
#: field:stock.warehouse,company_id:0
msgid "Company"
-msgstr ""
+msgstr "Organizacija"
#. module: stock
#: view:stock.move:0
#: view:stock.picking:0
msgid "Unit Of Measure"
-msgstr ""
+msgstr "Jedinica mjere"
#. module: stock
#: code:addons/stock/product.py:122
@@ -2489,7 +2618,7 @@ msgstr ""
#. module: stock
#: field:stock.location,stock_real:0
msgid "Real Stock"
-msgstr "Stvarna zaliha"
+msgstr "Dostupna zaliha"
#. module: stock
#: view:stock.fill.inventory:0
@@ -2501,6 +2630,8 @@ msgstr "Popuni inventuru"
msgid ""
"Error: The default UOM and the purchase UOM must be in the same category."
msgstr ""
+"Greška: Zadana jedinica mjere i jedinica mjere nabave moraju biti iz iste "
+"kategorije jedinica mjera."
#. module: stock
#: help:product.category,property_stock_account_input_categ:0
@@ -2529,7 +2660,7 @@ msgstr "Lot"
#. module: stock
#: view:stock.move.split:0
msgid "Production Lot Number"
-msgstr ""
+msgstr "Production Lot Number"
#. module: stock
#: field:stock.move,product_uos_qty:0
@@ -2551,12 +2682,12 @@ msgstr "Postavi raspoloživo"
#. module: stock
#: report:stock.picking.list:0
msgid "Contact Address :"
-msgstr ""
+msgstr "Kontakt adresa :"
#. module: stock
#: field:stock.move,backorder_id:0
msgid "Back Order"
-msgstr ""
+msgstr "Back Order"
#. module: stock
#: field:stock.incoterms,active:0
@@ -2586,7 +2717,7 @@ msgstr ""
#: model:ir.model,name:stock.model_stock_incoterms
#: view:stock.incoterms:0
msgid "Incoterms"
-msgstr ""
+msgstr "Incoterms"
#. module: stock
#: report:lot.stock.overview:0
@@ -2602,6 +2733,9 @@ msgid ""
"costs and responsibilities between buyer and seller and reflect state-of-the-"
"art transportation practices."
msgstr ""
+"Incoterms are series of sales terms.They are used to divide transaction "
+"costs and responsibilities between buyer and seller and reflect state-of-the-"
+"art transportation practices."
#. module: stock
#: help:stock.fill.inventory,recursive:0
@@ -2609,6 +2743,8 @@ msgid ""
"If checked, products contained in child locations of selected location will "
"be included as well."
msgstr ""
+"Ukoliko je označeno. proizvodi sadržani u podređenim lokacijama odabranih "
+"lokacija biti će također uključeni."
#. module: stock
#: field:stock.move.track,tracking_prefix:0
@@ -2618,7 +2754,7 @@ msgstr ""
#. module: stock
#: field:stock.inventory,name:0
msgid "Inventory Reference"
-msgstr ""
+msgstr "Inventura broj"
#. module: stock
#: code:addons/stock/stock.py:1307
@@ -2629,18 +2765,18 @@ msgstr ""
#. module: stock
#: view:stock.location.product:0
msgid "Open Product"
-msgstr ""
+msgstr "Open Product"
#. module: stock
#: field:stock.location.product,to_date:0
msgid "To"
-msgstr "Za"
+msgstr "Do"
#. module: stock
#: view:stock.move:0
#: view:stock.picking:0
msgid "Process"
-msgstr ""
+msgstr "Process"
#. module: stock
#: field:stock.production.lot.revision,name:0
@@ -2661,6 +2797,9 @@ msgid ""
"filter all resources of the day for the 'From' date and 23:59:59 for the "
"'To' date)"
msgstr ""
+"(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)"
#. module: stock
#: view:product.category:0
@@ -2670,7 +2809,7 @@ msgstr "Postavke računovodstvene zalihe"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_picking_tree_out
msgid "Customers Packings"
-msgstr ""
+msgstr "Customers Packings"
#. module: stock
#: selection:report.stock.inventory,state:0
@@ -2682,14 +2821,14 @@ msgstr ""
#: view:stock.picking:0
#: selection:stock.picking,state:0
msgid "Done"
-msgstr "Završeno"
+msgstr "Izvršeno"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_view_change_standard_price
#: model:ir.model,name:stock.model_stock_change_standard_price
#: view:stock.change.standard.price:0
msgid "Change Standard Price"
-msgstr ""
+msgstr "Change Standard Price"
#. module: stock
#: model:stock.location,name:stock.stock_location_locations_virtual
@@ -2704,7 +2843,7 @@ msgstr "Za fakturiranje"
#. module: stock
#: field:stock.inventory,date_done:0
msgid "Date done"
-msgstr "Datum završen"
+msgstr "Datum izvršenja"
#. module: stock
#: code:addons/stock/stock.py:983
@@ -2716,7 +2855,7 @@ msgstr ""
#. module: stock
#: selection:stock.move,priority:0
msgid "Not urgent"
-msgstr "Nije hitno"
+msgstr "Not urgent"
#. module: stock
#: view:stock.move:0
@@ -2732,7 +2871,7 @@ msgstr "Skladišta"
#. module: stock
#: field:stock.journal,user_id:0
msgid "Responsible"
-msgstr ""
+msgstr "Odgovoran"
#. module: stock
#: field:stock.move,returned_price:0
@@ -2744,7 +2883,7 @@ msgstr ""
#: model:ir.ui.menu,name:stock.menu_action_stock_inventory_report
#: view:report.stock.inventory:0
msgid "Inventory Analysis"
-msgstr ""
+msgstr "Analiza zaliha"
#. module: stock
#: field:stock.invoice.onshipping,journal_id:0
@@ -2788,7 +2927,7 @@ msgstr "Proizvod"
#: code:addons/stock/wizard/stock_return_picking.py:135
#, python-format
msgid "Invoicing"
-msgstr ""
+msgstr "Fakturiranje"
#. module: stock
#: code:addons/stock/stock.py:2237
@@ -2800,7 +2939,7 @@ msgstr ""
#. module: stock
#: field:stock.move,product_uos:0
msgid "Product UOS"
-msgstr "JS proizvoda"
+msgstr "JP Proizvoda"
#. module: stock
#: field:stock.location,posz:0
@@ -2816,7 +2955,7 @@ msgstr ""
#: model:ir.model,name:stock.model_stock_move_consume
#: view:stock.move.consume:0
msgid "Consume Products"
-msgstr ""
+msgstr "Utroši proizvode"
#. module: stock
#: code:addons/stock/stock.py:1646
@@ -2827,23 +2966,23 @@ msgstr ""
#. module: stock
#: field:stock.location,parent_right:0
msgid "Right Parent"
-msgstr ""
+msgstr "Desni roditelj"
#. module: stock
#: field:stock.picking,address_id:0
msgid "Address"
-msgstr ""
+msgstr "Adresa"
#. module: stock
#: report:lot.stock.overview:0
#: report:lot.stock.overview_all:0
msgid "Variants"
-msgstr "Varijanti"
+msgstr "Inačice"
#. module: stock
#: field:stock.location,posx:0
msgid "Corridor (X)"
-msgstr ""
+msgstr "Corridor (X)"
#. module: stock
#: model:stock.location,name:stock.stock_location_suppliers
@@ -2854,23 +2993,23 @@ msgstr "Dobavljači"
#: field:report.stock.inventory,value:0
#: field:report.stock.move,value:0
msgid "Total Value"
-msgstr ""
+msgstr "Ukupna vrijednost"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_product_by_category_stock_form
msgid "Products by Category"
-msgstr ""
+msgstr "Proizvodi po kategorijama"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_product_category_config_stock
msgid "Product Categories"
-msgstr ""
+msgstr "Kategorije proizvoda"
#. module: stock
#: field:stock.move.memory.in,wizard_id:0
#: field:stock.move.memory.out,wizard_id:0
msgid "Wizard"
-msgstr ""
+msgstr "Asistent"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_view_stock_location_product
@@ -2881,12 +3020,12 @@ msgstr "Proizvodi po lokaciji"
#. module: stock
#: field:stock.fill.inventory,recursive:0
msgid "Include children"
-msgstr ""
+msgstr "Uključi podređene"
#. module: stock
#: model:stock.location,name:stock.stock_location_components
msgid "Shelf 1"
-msgstr ""
+msgstr "Shelf 1"
#. module: stock
#: model:ir.actions.act_window,help:stock.action_picking_tree6
@@ -2898,43 +3037,49 @@ msgid ""
"preconfigured logistics rules, but you can also record manual stock "
"operations."
msgstr ""
+"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."
#. module: stock
#: view:stock.move:0
msgid "Order"
-msgstr ""
+msgstr "Order"
#. module: stock
#: field:stock.tracking,name:0
msgid "Pack Reference"
-msgstr ""
+msgstr "Pakiranje br."
#. module: stock
#: view:report.stock.move:0
#: field:report.stock.move,location_id:0
#: field:stock.move,location_id:0
msgid "Source Location"
-msgstr "Lokacija izvora"
+msgstr "Izvorna lokacija"
#. module: stock
#: view:product.template:0
msgid "Accounting Entries"
-msgstr "Računovodstveni ulazi"
+msgstr "Stavke računovodstva"
#. module: stock
#: report:stock.picking.list:0
msgid "Total"
-msgstr ""
+msgstr "Ukupno"
#. module: stock
#: model:stock.location,name:stock.stock_location_intermediatelocation0
msgid "Internal Shippings"
-msgstr ""
+msgstr "Interne otpreme"
#. module: stock
#: field:stock.change.standard.price,enable_stock_in_out_acc:0
msgid "Enable Related Account"
-msgstr ""
+msgstr "Omogući povezani konto"
#. module: stock
#: field:stock.location,stock_virtual_value:0
@@ -2946,18 +3091,18 @@ msgstr "Virtualna vrijednost zalihe"
#: view:stock.inventory.line.split:0
#: view:stock.move.split:0
msgid "Lots"
-msgstr "Lotovi"
+msgstr "Lots"
#. module: stock
#: view:stock.move:0
#: view:stock.picking:0
msgid "New pack"
-msgstr ""
+msgstr "Novi paket"
#. module: stock
#: view:stock.move:0
msgid "Destination"
-msgstr ""
+msgstr "Odredište"
#. module: stock
#: selection:stock.picking,move_type:0
@@ -2981,34 +3126,34 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
msgid "To Invoice"
-msgstr ""
+msgstr "Za fakturiranje"
#. module: stock
#: code:addons/stock/wizard/stock_return_picking.py:120
#, python-format
msgid "Return lines"
-msgstr ""
+msgstr "Linija Povrata"
#. module: stock
#: model:ir.model,name:stock.model_report_stock_lines_date
#: view:report.stock.lines.date:0
msgid "Dates of Inventories"
-msgstr "Datumi inventara"
+msgstr "Datumi inventura"
#. module: stock
#: view:report.stock.move:0
msgid "Total incoming quantity"
-msgstr ""
+msgstr "Uk. kol. ulaza"
#. module: stock
#: field:report.stock.move,product_qty_out:0
msgid "Out Qty"
-msgstr ""
+msgstr "Kol. izlaza"
#. module: stock
#: field:stock.production.lot,move_ids:0
msgid "Moves for this production lot"
-msgstr ""
+msgstr "Moves for this production lot"
#. module: stock
#: model:ir.model,name:stock.model_stock_move_memory_out
@@ -3025,7 +3170,7 @@ msgstr ""
#: view:stock.move:0
#: view:stock.picking:0
msgid "Put in current pack"
-msgstr ""
+msgstr "U trenutni paket."
#. module: stock
#: view:stock.inventory:0
@@ -3035,7 +3180,7 @@ msgstr "Inventar lotova"
#. module: stock
#: view:stock.move:0
msgid "Reason"
-msgstr ""
+msgstr "Razlog"
#. module: stock
#: report:stock.picking.list:0
@@ -3052,6 +3197,12 @@ msgid ""
"'Available' button to get all the lots you produced, received or delivered "
"to customers."
msgstr ""
+"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."
#. module: stock
#: field:stock.location,icon:0
@@ -3120,17 +3271,19 @@ msgstr "Želite li spojiti ove inventare ?"
#: selection:stock.move,state:0
#: selection:stock.picking,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "Otkazani"
#. module: stock
#: view:stock.move:0
msgid "Picking"
-msgstr ""
+msgstr "Skladišnice"
#. module: stock
#: help:stock.picking,move_type:0
msgid "It specifies goods to be delivered all at once or by direct delivery"
msgstr ""
+"Određuje se da li će roba biti isporučena odjednom ili neposrednim "
+"isporukama."
#. module: stock
#: code:addons/stock/wizard/stock_invoice_onshipping.py:83
@@ -3159,6 +3312,15 @@ msgid ""
"* Fixed Location: The chained location is taken from the next field: Chained "
"Location if Fixed."
msgstr ""
+"Određuje da li je ova lokacija povezana s drugom lokacijom, odnosno da li "
+"ulaz proizvoda na ovu lokaciju \n"
+"treba proizvesti prijenos na slijedeću lokaciju.\n"
+"Vrste ulančanih lokacija :\n"
+"* Ništa: Nema automatskih prijenosa\n"
+"* Kupac: Lokacija se uzima iz polja Lokacija kupca sa kartice kupca koji je "
+"naveden u skl. dokumentu ulaza proizvoda.\n"
+"* Fiksna lokacija: Uzima se ovdje navedena lokacija: Ulančana lokacija ako "
+"je fiksna."
#. module: stock
#: code:addons/stock/wizard/stock_inventory_merge.py:43
@@ -3179,7 +3341,7 @@ msgstr ""
#: model:ir.ui.menu,name:stock.menu_action_picking_tree
#: view:stock.picking:0
msgid "Delivery Orders"
-msgstr "Narudžbe dostave"
+msgstr "Delivery Orders"
#. module: stock
#: help:res.partner,property_stock_customer:0
@@ -3187,7 +3349,7 @@ msgid ""
"This stock location will be used, instead of the default one, as the "
"destination location for goods you send to this partner"
msgstr ""
-"Ova lokacija zalihe će se koristiti, umjesto predefinirane, kao odredišna "
+"Ova skladišna lokacija će se koristiti, umjesto uobičajene, kao odredišna "
"lokacija za robu koju šaljete ovom partneru"
#. module: stock
@@ -3207,50 +3369,50 @@ msgstr "Potvrdi"
#. module: stock
#: help:stock.location,icon:0
msgid "Icon show in hierarchical tree view"
-msgstr ""
+msgstr "Icon show in hierarchical tree view"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_view_stock_merge_inventories
#: view:stock.inventory.merge:0
msgid "Merge inventories"
-msgstr "Spoji inventare"
+msgstr "Spoji inventure"
#. module: stock
#: help:stock.change.product.qty,new_quantity:0
msgid "This quantity is expressed in the Default UoM of the product."
-msgstr ""
+msgstr "Ova količina je izražena u uobičajenoj jedinici mjere proizvoda."
#. module: stock
#: report:stock.picking.list:0
msgid "Reception:"
-msgstr ""
+msgstr "Reception:"
#. module: stock
#: help:stock.location,scrap_location:0
msgid ""
"Check this box to allow using this location to put scrapped/damaged goods."
-msgstr ""
+msgstr "Označite za lokaciju otpisanih/oštećenih proizvoda."
#. module: stock
#: model:ir.actions.act_window,name:stock.act_relate_picking
msgid "Related Picking"
-msgstr ""
+msgstr "Vezana skladišnica"
#. module: stock
#: view:report.stock.move:0
msgid "Total outgoing quantity"
-msgstr ""
+msgstr "Ukupna izlazna količina"
#. module: stock
#: field:stock.picking,backorder_id:0
msgid "Back Order of"
-msgstr ""
+msgstr "Zaostali nalog od"
#. module: stock
#: help:stock.move.memory.in,cost:0
#: help:stock.move.memory.out,cost:0
msgid "Unit Cost for this product line"
-msgstr ""
+msgstr "Unit Cost for this product line"
#. module: stock
#: model:ir.model,name:stock.model_product_category
@@ -3259,7 +3421,7 @@ msgstr ""
#: view:report.stock.move:0
#: field:report.stock.move,categ_id:0
msgid "Product Category"
-msgstr ""
+msgstr "Grupa proizvoda"
#. module: stock
#: code:addons/stock/wizard/stock_change_product_qty.py:88
@@ -3281,24 +3443,24 @@ msgstr ""
#. module: stock
#: view:stock.split.into:0
msgid "Quantity to leave in the current pack"
-msgstr ""
+msgstr "Količina koja ostaje u trenutnom pakiranju"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_stock_invoice_onshipping
#: view:stock.invoice.onshipping:0
msgid "Create invoice"
-msgstr "Kreiraj fakturu"
+msgstr "Kreiraj račun"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_configuration
msgid "Configuration"
-msgstr "Konfiguracija"
+msgstr "Postava"
#. module: stock
#: field:stock.inventory.line.split,use_exist:0
#: field:stock.move.split,use_exist:0
msgid "Existing Lots"
-msgstr ""
+msgstr "Postojeći lotovi"
#. module: stock
#: field:product.product,location_id:0
@@ -3315,11 +3477,16 @@ msgid ""
"If cost price is decreased, stock variation account will be creadited and "
"stock input account will be debited."
msgstr ""
+"If cost price is increased, stock variation account will be debited and "
+"stock output account will be credited with the value = (difference of amount "
+"* quantity available).\n"
+"If cost price is decreased, stock variation account will be creadited and "
+"stock input account will be debited."
#. module: stock
#: field:stock.location,chained_journal_id:0
msgid "Chaining Journal"
-msgstr ""
+msgstr "Dnevnik ulančavanja"
#. module: stock
#: code:addons/stock/stock.py:729
@@ -3358,19 +3525,19 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
msgid "Additional info"
-msgstr ""
+msgstr "Dodatne inf."
#. module: stock
#: view:stock.move:0
#: field:stock.move,tracking_id:0
msgid "Pack"
-msgstr ""
+msgstr "Pakiranje/teret"
#. module: stock
#: view:stock.move:0
#: view:stock.picking:0
msgid "Date Expected"
-msgstr ""
+msgstr "Očekivano"
#. module: stock
#: model:ir.actions.act_window,help:stock.action_picking_tree4
@@ -3389,17 +3556,17 @@ msgstr "Automatska potvrda"
#. module: stock
#: report:stock.picking.list:0
msgid "Weight"
-msgstr ""
+msgstr "Težina"
#. module: stock
#: model:ir.model,name:stock.model_product_template
msgid "Product Template"
-msgstr ""
+msgstr "Predložak proizvoda"
#. module: stock
#: selection:report.stock.move,month:0
msgid "December"
-msgstr ""
+msgstr "Prosinac"
#. module: stock
#: selection:stock.location,chained_auto_packing:0
@@ -3413,16 +3580,19 @@ msgid ""
"specific product. You can filter on the product to see all the past or "
"future movements for the product."
msgstr ""
+"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."
#. module: stock
#: view:stock.picking:0
msgid "Return Products"
-msgstr ""
+msgstr "Return Products"
#. module: stock
#: view:stock.inventory:0
msgid "Validate Inventory"
-msgstr ""
+msgstr "Validate Inventory"
#. module: stock
#: help:stock.move,price_currency_id:0
@@ -3430,11 +3600,13 @@ msgid ""
"Technical field used to record the currency chosen by the user during a "
"picking confirmation (when average price costing method is used)"
msgstr ""
+"Technical field used to record the currency chosen by the user during a "
+"picking confirmation (when average price costing method is used)"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_stock_products_moves
msgid "Products Moves"
-msgstr ""
+msgstr "Skladišni prijenosi"
#. module: stock
#: selection:stock.picking,invoice_state:0
@@ -3449,17 +3621,17 @@ msgstr ""
#. module: stock
#: field:stock.picking,max_date:0
msgid "Max. Expected Date"
-msgstr ""
+msgstr "Max. Expected Date"
#. module: stock
#: field:stock.picking,auto_picking:0
msgid "Auto-Picking"
-msgstr ""
+msgstr "Auto-skladišnica"
#. module: stock
#: model:stock.location,name:stock.stock_location_shop1
msgid "Shop 2"
-msgstr ""
+msgstr "Shop 2"
#. module: stock
#: constraint:res.partner:0
@@ -3474,7 +3646,7 @@ msgstr ""
#: selection:stock.location,chained_picking_type:0
#: selection:stock.picking,type:0
msgid "Internal"
-msgstr "Unutarnje"
+msgstr "Interno"
#. module: stock
#: selection:report.stock.inventory,state:0
@@ -3489,7 +3661,7 @@ msgstr "Nacrt"
#: model:ir.actions.report.xml,name:stock.report_stock_inventory_move
#: report:stock.inventory.move:0
msgid "Stock Inventory"
-msgstr ""
+msgstr "Stock Inventory"
#. module: stock
#: help:report.stock.inventory,state:0
@@ -3500,11 +3672,17 @@ msgid ""
" When the picking it done the state is 'Done'. \n"
"The state is 'Waiting' if the move is waiting for another one."
msgstr ""
+"Nakon kreiranja skladišni prijenos je u stanju 'Nacrt' .\n"
+" Nakon toga se postavlja u stanje 'Potvrđen'.\n"
+" Ako postoje dostatne stvarne količine na zalihi stanje prelazi u "
+"'Dostupno'.\n"
+" Nakon izdavanja stanje je 'Izvršen'. \n"
+"Stanje je 'Na čekanju' kada prijenos čeka izvršenje drugog prijenosa."
#. module: stock
#: view:board.board:0
msgid "Outgoing Products Delay"
-msgstr ""
+msgstr "Outgoing Products Delay"
#. module: stock
#: field:stock.move.split.lines,use_exist:0
@@ -3523,6 +3701,8 @@ msgid ""
"For the current product, this stock location will be used, instead of the "
"default one, as the source location for stock moves generated by procurements"
msgstr ""
+"Koristiti ovu skladišnu lokaciju, umjesto uobičajene, kao izvorišnu lokaciju "
+"za prijenose generirane nabavom"
#. module: stock
#: code:addons/stock/stock.py:1319
@@ -3533,12 +3713,12 @@ msgstr ""
#. module: stock
#: help:stock.picking,origin:0
msgid "Reference of the document that produced this picking."
-msgstr ""
+msgstr "Referenca na dokument koji je generirao ovu skladišnicu."
#. module: stock
#: field:stock.fill.inventory,set_stock_zero:0
msgid "Set to zero"
-msgstr ""
+msgstr "Set to zero"
#. module: stock
#: code:addons/stock/wizard/stock_invoice_onshipping.py:85
@@ -3549,7 +3729,7 @@ msgstr ""
#. module: stock
#: selection:report.stock.move,month:0
msgid "November"
-msgstr ""
+msgstr "Studeni"
#. module: stock
#: code:addons/stock/product.py:101
@@ -3567,7 +3747,7 @@ msgstr ""
#. module: stock
#: field:stock.location,chained_company_id:0
msgid "Chained Company"
-msgstr ""
+msgstr "Chained Company"
#. module: stock
#: view:stock.picking:0
@@ -3577,7 +3757,7 @@ msgstr "Provjeri dostupnost"
#. module: stock
#: selection:report.stock.move,month:0
msgid "January"
-msgstr ""
+msgstr "Siječanj"
#. module: stock
#: help:product.product,track_incoming:0
@@ -3585,6 +3765,8 @@ msgid ""
"Forces to specify a Production Lot for all moves containing this product and "
"coming from a Supplier Location"
msgstr ""
+"Forces to specify a Production Lot for all moves containing this product and "
+"coming from a Supplier Location"
#. module: stock
#: model:ir.actions.act_window,name:stock.act_product_stock_move_futur_open
@@ -3594,7 +3776,7 @@ msgstr "Budući prijenosi zalihe"
#. module: stock
#: field:stock.move,move_history_ids2:0
msgid "Move History (parent moves)"
-msgstr ""
+msgstr "Move History (parent moves)"
#. module: stock
#: code:addons/stock/product.py:361
@@ -3619,7 +3801,7 @@ msgstr ""
#. module: stock
#: view:stock.change.product.qty:0
msgid "Select Quantity"
-msgstr ""
+msgstr "Odaberi količinu"
#. module: stock
#: model:ir.actions.act_window,help:stock.action_location_tree
@@ -3628,6 +3810,9 @@ msgid ""
"click on a location to get the list of the products and their stock level in "
"this particular location and all its children."
msgstr ""
+"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."
#. module: stock
#: model:res.request.link,name:stock.req_link_tracking
@@ -3641,7 +3826,7 @@ msgstr ""
#: view:stock.production.lot:0
#: field:stock.production.lot,name:0
msgid "Production Lot"
-msgstr "Produkcijska serija"
+msgstr "Lot proizvodnje"
#. module: stock
#: model:ir.ui.menu,name:stock.menu_traceability
@@ -3655,7 +3840,7 @@ msgstr "Sljedivost"
#. module: stock
#: view:stock.picking:0
msgid "To invoice"
-msgstr ""
+msgstr "Za fakturiranje"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_location_form
@@ -3667,12 +3852,12 @@ msgstr "Lokacije"
#. module: stock
#: view:stock.picking:0
msgid "General Information"
-msgstr "Opće informacije"
+msgstr "Opći podaci"
#. module: stock
#: field:stock.production.lot,prefix:0
msgid "Prefix"
-msgstr ""
+msgstr "Prefix"
#. module: stock
#: code:addons/stock/wizard/stock_splitinto.py:53
@@ -3689,20 +3874,21 @@ msgstr ""
#: field:stock.partial.picking,product_moves_in:0
#: field:stock.partial.picking,product_moves_out:0
msgid "Moves"
-msgstr "Prijenosi"
+msgstr "Temeljnice"
#. module: stock
#: view:report.stock.move:0
#: field:report.stock.move,location_dest_id:0
#: field:stock.picking,location_dest_id:0
msgid "Dest. Location"
-msgstr "Odredišna lokacija"
+msgstr "Lokacija isporuke"
#. module: stock
#: help:stock.move,product_packaging:0
msgid ""
"It specifies attributes of packaging like type, quantity of packaging,etc."
msgstr ""
+"It specifies attributes of packaging like type, quantity of packaging,etc."
#. module: stock
#: code:addons/stock/stock.py:2386
@@ -3719,24 +3905,24 @@ msgstr ""
#. module: stock
#: constraint:stock.move:0
msgid "You must assign a production lot for this product"
-msgstr ""
+msgstr "Morate pridijeliti lot proizvodnje ovom proizvodu"
#. module: stock
#: view:stock.move:0
msgid "Expected"
-msgstr ""
+msgstr "Očekivano"
#. module: stock
#: selection:report.stock.inventory,location_type:0
#: model:stock.location,name:stock.location_production
#: selection:stock.location,usage:0
msgid "Production"
-msgstr "Produkcija"
+msgstr "Proizvodnja"
#. module: stock
#: view:stock.split.into:0
msgid "Split Move"
-msgstr ""
+msgstr "Split Move"
#. module: stock
#: code:addons/stock/wizard/stock_return_picking.py:97
@@ -3749,12 +3935,12 @@ msgstr ""
#. module: stock
#: model:ir.model,name:stock.model_stock_move_split
msgid "Split in Production lots"
-msgstr ""
+msgstr "Split in Production lots"
#. module: stock
#: view:report.stock.inventory:0
msgid "Real"
-msgstr ""
+msgstr "Realan"
#. module: stock
#: report:stock.picking.list:0
@@ -3766,7 +3952,7 @@ msgstr "Opis"
#. module: stock
#: selection:report.stock.move,month:0
msgid "May"
-msgstr ""
+msgstr "Svibanj"
#. module: stock
#: code:addons/stock/wizard/stock_partial_move.py:133
@@ -3785,13 +3971,13 @@ msgstr ""
#. module: stock
#: view:stock.tracking:0
msgid "Upstream traceability"
-msgstr ""
+msgstr "Upstream sljedivost"
#. module: stock
#: model:ir.actions.report.xml,name:stock.report_location_overview_all
#: report:lot.stock.overview_all:0
msgid "Location Content"
-msgstr ""
+msgstr "Location Content"
#. module: stock
#: code:addons/stock/product.py:385
@@ -3804,7 +3990,7 @@ msgstr ""
#: field:product.template,property_stock_account_output:0
#: field:stock.change.standard.price,stock_account_output:0
msgid "Stock Output Account"
-msgstr "Izlazni konto zalihe"
+msgstr "Stock Output Account"
#. module: stock
#: field:stock.location,chained_location_type:0
@@ -3814,7 +4000,7 @@ msgstr "Ulančani tip lokacije"
#. module: stock
#: model:ir.model,name:stock.model_stock_report_prodlots
msgid "Stock report by production lots"
-msgstr "Izvještaj zalihe za proizvodne lotove"
+msgstr "Zalihe po proizvodnim lotovima"
#. module: stock
#: view:stock.location:0
@@ -3826,34 +4012,34 @@ msgstr "Kupac"
#. module: stock
#: selection:report.stock.move,month:0
msgid "February"
-msgstr ""
+msgstr "Veljača"
#. module: stock
#: view:stock.production.lot:0
msgid "Production Lot Identification"
-msgstr ""
+msgstr "Proizvodna Lot Identifikacija"
#. module: stock
#: field:stock.location,scrap_location:0
#: view:stock.move.scrap:0
msgid "Scrap Location"
-msgstr ""
+msgstr "Lokacija otpisa"
#. module: stock
#: selection:report.stock.move,month:0
msgid "April"
-msgstr ""
+msgstr "Travanj"
#. module: stock
#: view:report.stock.inventory:0
#: view:stock.move:0
msgid "Future"
-msgstr ""
+msgstr "Budućnost"
#. module: stock
#: field:stock.invoice.onshipping,invoice_date:0
msgid "Invoiced date"
-msgstr ""
+msgstr "Datum računa"
#. module: stock
#: code:addons/stock/stock.py:729
@@ -3884,13 +4070,13 @@ msgstr ""
#. module: stock
#: help:stock.move,move_dest_id:0
msgid "Optional: next stock move when chaining them"
-msgstr ""
+msgstr "Optional: next stock move when chaining them"
#. module: stock
#: view:report.stock.move:0
#: field:report.stock.move,year:0
msgid "Year"
-msgstr ""
+msgstr "Godina"
#. module: stock
#: model:stock.location,name:stock.stock_location_locations
@@ -3907,12 +4093,12 @@ msgstr ""
#: help:stock.location,posy:0
#: help:stock.location,posz:0
msgid "Optional localization details, for information purpose only"
-msgstr ""
+msgstr "Komentar lokacije"
#. module: stock
#: view:product.product:0
msgid "Expected Stock Variations"
-msgstr ""
+msgstr "Expected Stock Variations"
#~ msgid "LIFO"
#~ msgstr "LIFO"
@@ -4138,9 +4324,6 @@ msgstr ""
#~ msgid "terp-stock"
#~ msgstr "terp-stock"
-#~ msgid "Packing List:"
-#~ msgstr "Lista pakiranja:"
-
#~ msgid "STOCK_MEDIA_RECORD"
#~ msgstr "STOCK_MEDIA_RECORD"
@@ -4441,9 +4624,6 @@ msgstr ""
#~ msgid "Split move lines in two"
#~ msgstr "Razdijeli stavke prijenosa u dva dijela"
-#~ msgid "Return"
-#~ msgstr "Vrati"
-
#~ msgid "Auto-Packing"
#~ msgstr "Auto-pakiranje"
@@ -4657,3 +4837,12 @@ msgstr ""
#~ msgid "Move State"
#~ msgstr "Stanje prijenosa"
+
+#~ msgid "Stock Management"
+#~ msgstr "Stock Management"
+
+#~ msgid "Packing List:"
+#~ msgstr "Packing List:"
+
+#~ msgid "Return"
+#~ msgstr "Return"
diff --git a/addons/stock/i18n/hu.po b/addons/stock/i18n/hu.po
index 4508ac3a2ea..b0b89b04192 100644
--- a/addons/stock/i18n/hu.po
+++ b/addons/stock/i18n/hu.po
@@ -2497,7 +2497,7 @@ msgstr "Termékek készletének megtekintése"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Belső kiszedési lista"
#. module: stock
diff --git a/addons/stock/i18n/id.po b/addons/stock/i18n/id.po
index db9fec8893d..83d3f217828 100644
--- a/addons/stock/i18n/id.po
+++ b/addons/stock/i18n/id.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2011-02-06 15:41+0000\n"
+"PO-Revision-Date: 2011-12-09 16:41+0000\n"
"Last-Translator: moelyana <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-12 04:50+0000\n"
-"X-Generator: Launchpad (build 14277)\n"
+"X-Launchpad-Export-Date: 2011-12-10 04:56+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: stock
#: field:product.product,track_outgoing:0
@@ -81,7 +81,7 @@ msgstr "Produk Bergerak"
#: model:ir.ui.menu,name:stock.menu_action_stock_move_report
#: view:report.stock.move:0
msgid "Moves Analysis"
-msgstr ""
+msgstr "Analisa Perpindahan"
#. module: stock
#: help:stock.production.lot,ref:0
diff --git a/addons/stock/i18n/it.po b/addons/stock/i18n/it.po
index 0253e9048e3..919beb2ec4b 100644
--- a/addons/stock/i18n/it.po
+++ b/addons/stock/i18n/it.po
@@ -2495,7 +2495,7 @@ msgstr "Visualizza giacenza prodotti"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Picking list interna"
#. module: stock
diff --git a/addons/stock/i18n/ko.po b/addons/stock/i18n/ko.po
index 5aa17a9f249..455d0393c0e 100644
--- a/addons/stock/i18n/ko.po
+++ b/addons/stock/i18n/ko.po
@@ -2409,7 +2409,7 @@ msgstr "재고 보기"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/lt.po b/addons/stock/i18n/lt.po
index 5a7e42629cd..f18d4e7fac3 100644
--- a/addons/stock/i18n/lt.po
+++ b/addons/stock/i18n/lt.po
@@ -2412,7 +2412,7 @@ msgstr "Peržiūrėti produktų atsargas"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/lv.po b/addons/stock/i18n/lv.po
index ccefa9e0789..53bb4860baf 100644
--- a/addons/stock/i18n/lv.po
+++ b/addons/stock/i18n/lv.po
@@ -2409,7 +2409,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/mn.po b/addons/stock/i18n/mn.po
index efb2c61166f..bae4978d770 100644
--- a/addons/stock/i18n/mn.po
+++ b/addons/stock/i18n/mn.po
@@ -2423,7 +2423,7 @@ msgstr "Барааны агуулах харах"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/nb.po b/addons/stock/i18n/nb.po
index 49de8775c60..58b3f1521d6 100644
--- a/addons/stock/i18n/nb.po
+++ b/addons/stock/i18n/nb.po
@@ -2412,7 +2412,7 @@ msgstr "Vis lager med produkter"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/nl.po b/addons/stock/i18n/nl.po
index 8abcaba9620..acca46679e6 100644
--- a/addons/stock/i18n/nl.po
+++ b/addons/stock/i18n/nl.po
@@ -2412,7 +2412,7 @@ msgstr "Beeld productenvoorraad"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/nl_BE.po b/addons/stock/i18n/nl_BE.po
index 931aab77bb4..53fe39b40d5 100644
--- a/addons/stock/i18n/nl_BE.po
+++ b/addons/stock/i18n/nl_BE.po
@@ -2408,7 +2408,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/pl.po b/addons/stock/i18n/pl.po
index c775b418ffb..e40a191271d 100644
--- a/addons/stock/i18n/pl.po
+++ b/addons/stock/i18n/pl.po
@@ -2592,7 +2592,7 @@ msgstr "Podgląd zapasów"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Pobranie wewnętrzne (MM)"
#. module: stock
diff --git a/addons/stock/i18n/pt.po b/addons/stock/i18n/pt.po
index 14080abf4e7..a8b20192939 100644
--- a/addons/stock/i18n/pt.po
+++ b/addons/stock/i18n/pt.po
@@ -2414,7 +2414,7 @@ msgstr "Ver Stock de Produtos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/pt_BR.po b/addons/stock/i18n/pt_BR.po
index 8fc6f64629d..a77385b8d61 100644
--- a/addons/stock/i18n/pt_BR.po
+++ b/addons/stock/i18n/pt_BR.po
@@ -2561,7 +2561,7 @@ msgstr "Ver Estoque dos Produtos"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Lista de Separação Interna"
#. module: stock
diff --git a/addons/stock/i18n/ro.po b/addons/stock/i18n/ro.po
index 2180abf6baa..910ad8a8014 100644
--- a/addons/stock/i18n/ro.po
+++ b/addons/stock/i18n/ro.po
@@ -2432,7 +2432,7 @@ msgstr "Afişare stoc după produse"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Liste interne de preluare"
#. module: stock
diff --git a/addons/stock/i18n/ru.po b/addons/stock/i18n/ru.po
index 4b6157b6ce3..b8583613cc1 100644
--- a/addons/stock/i18n/ru.po
+++ b/addons/stock/i18n/ru.po
@@ -2564,7 +2564,7 @@ msgstr "Просмотр товаров на складах"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Внутренний комплектовочный лист"
#. module: stock
diff --git a/addons/stock/i18n/sl.po b/addons/stock/i18n/sl.po
index 5c6a2d6897c..176b60e5011 100644
--- a/addons/stock/i18n/sl.po
+++ b/addons/stock/i18n/sl.po
@@ -2408,7 +2408,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/sq.po b/addons/stock/i18n/sq.po
index 4578cf591c8..b1d48915c3d 100644
--- a/addons/stock/i18n/sq.po
+++ b/addons/stock/i18n/sq.po
@@ -2409,7 +2409,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/sr.po b/addons/stock/i18n/sr.po
index 11aa6fa3c22..d67021e15a3 100644
--- a/addons/stock/i18n/sr.po
+++ b/addons/stock/i18n/sr.po
@@ -2424,7 +2424,7 @@ msgstr "Pregled zaliha proizvoda"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/sr@latin.po b/addons/stock/i18n/sr@latin.po
index 304232c90c9..c2381578db1 100644
--- a/addons/stock/i18n/sr@latin.po
+++ b/addons/stock/i18n/sr@latin.po
@@ -2424,7 +2424,7 @@ msgstr "Pregled zaliha proizvoda"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/stock.pot b/addons/stock/i18n/stock.pot
index e926d7d863b..6b1c0e51833 100644
--- a/addons/stock/i18n/stock.pot
+++ b/addons/stock/i18n/stock.pot
@@ -2268,7 +2268,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/sv.po b/addons/stock/i18n/sv.po
index 48175389c27..5a056336832 100644
--- a/addons/stock/i18n/sv.po
+++ b/addons/stock/i18n/sv.po
@@ -2410,7 +2410,7 @@ msgstr "View Stock of Products"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/th.po b/addons/stock/i18n/th.po
index 07fec36da46..c6e2b3a3723 100644
--- a/addons/stock/i18n/th.po
+++ b/addons/stock/i18n/th.po
@@ -2409,7 +2409,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/tlh.po b/addons/stock/i18n/tlh.po
index 64ff4690650..d2886f36ad9 100644
--- a/addons/stock/i18n/tlh.po
+++ b/addons/stock/i18n/tlh.po
@@ -2408,7 +2408,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/tr.po b/addons/stock/i18n/tr.po
index b26cdf51fc6..63f840e7659 100644
--- a/addons/stock/i18n/tr.po
+++ b/addons/stock/i18n/tr.po
@@ -2599,7 +2599,7 @@ msgstr "Ürün Stoğunu Göster"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Dahili Alım listesi"
#. module: stock
diff --git a/addons/stock/i18n/uk.po b/addons/stock/i18n/uk.po
index 0a0d954763a..2fcce267038 100644
--- a/addons/stock/i18n/uk.po
+++ b/addons/stock/i18n/uk.po
@@ -2412,7 +2412,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/vi.po b/addons/stock/i18n/vi.po
index 856da579eb3..071225bd727 100644
--- a/addons/stock/i18n/vi.po
+++ b/addons/stock/i18n/vi.po
@@ -2412,7 +2412,7 @@ msgstr "Xem tồn kho của các sản phẩm"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr ""
#. module: stock
diff --git a/addons/stock/i18n/zh_CN.po b/addons/stock/i18n/zh_CN.po
index 6eeb8827879..57d5dc7d802 100644
--- a/addons/stock/i18n/zh_CN.po
+++ b/addons/stock/i18n/zh_CN.po
@@ -2466,7 +2466,7 @@ msgstr "查看库存产品"
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "内部装箱单"
#. module: stock
diff --git a/addons/stock/i18n/zh_TW.po b/addons/stock/i18n/zh_TW.po
index 2663d8c7190..d2170ec09a6 100644
--- a/addons/stock/i18n/zh_TW.po
+++ b/addons/stock/i18n/zh_TW.po
@@ -2419,7 +2419,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "內部提貨清單"
#. module: stock
diff --git a/addons/stock/product_view.xml b/addons/stock/product_view.xml
index 2c21a792412..b11fe36d8d8 100644
--- a/addons/stock/product_view.xml
+++ b/addons/stock/product_view.xml
@@ -107,7 +107,7 @@
<separator string="Stocks" colspan="4"/>
<field name="qty_available"/>
<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"/>
+ type="action" icon="gtk-execute" groups="stock.group_stock_manager,stock.group_stock_user"/>
<newline/>
<field name="virtual_available"/>
</group>
@@ -125,13 +125,13 @@
</group>
</field>
</record>
-
+
<record model="ir.ui.view" id="product.product_kanban_view">
<field name="name">Product Kanban</field>
<field name="model">product.product</field>
<field name="type">kanban</field>
<field name="arch" type="xml">
- <kanban default_group_by="type">
+ <kanban>
<field name="color"/>
<field name="type"/>
<field name="product_image"/>
diff --git a/addons/stock/report/report_stock_move_view.xml b/addons/stock/report/report_stock_move_view.xml
index 9d4498139bd..2aa889d8174 100644
--- a/addons/stock/report/report_stock_move_view.xml
+++ b/addons/stock/report/report_stock_move_view.xml
@@ -44,7 +44,7 @@
<field name="arch" type="xml">
<graph string="Moves Analysis" type="bar">
<field name="product_id"/>
- <field name="day_diff2" operator="+"/>
+ <field name="product_qty" operator="+"/>
</graph>
</field>
</record>
@@ -55,7 +55,7 @@
<field name="arch" type="xml">
<graph string="Moves Analysis" type="bar">
<field name="day"/>
- <field name="day_diff2" operator="+" string="Delay(Days)"/>
+ <field name="product_qty" operator="avg"/>
</graph>
</field>
</record>
diff --git a/addons/stock/static/src/img/icon.png b/addons/stock/static/src/img/icon.png
new file mode 100644
index 00000000000..a70ccfe18d5
--- /dev/null
+++ b/addons/stock/static/src/img/icon.png
Binary files differ
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 0e859a8b2d8..aeb809330e7 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -692,7 +692,7 @@
<field name="type">form</field>
<field eval="12" name="priority"/>
<field name="arch" type="xml">
- <form string="Internal Picking list">
+ <form string="Internal Picking List">
<group colspan="4" col="6">
<group colspan="4" col="4">
<field name="name" readonly="1"/>
diff --git a/addons/stock/test/stock_test.yml b/addons/stock/test/stock_test.yml
index 63650ffeb38..6e41849ea51 100644
--- a/addons/stock/test/stock_test.yml
+++ b/addons/stock/test/stock_test.yml
@@ -307,7 +307,6 @@
}
split_id = self.pool.get('stock.move.split').create(cr, uid, partial_datas, context={})
split_move_data= {
- 'lot_id': split_id,
'quantity': 10,
'name': 'lot',
}
diff --git a/addons/stock_invoice_directly/__openerp__.py b/addons/stock_invoice_directly/__openerp__.py
index 69acadeb8bd..072f7af2aa5 100644
--- a/addons/stock_invoice_directly/__openerp__.py
+++ b/addons/stock_invoice_directly/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Invoice Picking Directly',
'version': '1.0',
- 'category': 'Hidden',
+ "category" : "Warehouse Management",
'complexity': "easy",
'description': """
Invoice Wizard for Delivery.
diff --git a/addons/stock_invoice_directly/i18n/hr.po b/addons/stock_invoice_directly/i18n/hr.po
index 11f69134802..cc0a4119049 100644
--- a/addons/stock_invoice_directly/i18n/hr.po
+++ b/addons/stock_invoice_directly/i18n/hr.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-03 16:58+0000\n"
-"PO-Revision-Date: 2010-08-03 01:31+0000\n"
-"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 16:56+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:40+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: stock_invoice_directly
#: model:ir.model,name:stock_invoice_directly.model_stock_partial_picking
msgid "Partial Picking"
-msgstr ""
+msgstr "Djelomični prijenos"
#. module: stock_invoice_directly
#: model:ir.module.module,description:stock_invoice_directly.module_meta_information
@@ -29,6 +29,10 @@ msgid ""
" the invoicing wizard if the delivery is to be invoiced.\n"
" "
msgstr ""
+"\n"
+" Kada šaljete ili otpremate robu, ovaj modul automatski pokreće\n"
+" asistenta za fakturiranje ako će se otpremnica fakturirati.\n"
+" "
#. module: stock_invoice_directly
#: model:ir.module.module,shortdesc:stock_invoice_directly.module_meta_information
diff --git a/addons/stock_location/i18n/hr.po b/addons/stock_location/i18n/hr.po
index e4c11dce945..ea27ca5037b 100644
--- a/addons/stock_location/i18n/hr.po
+++ b/addons/stock_location/i18n/hr.po
@@ -7,40 +7,40 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-08-03 01:10+0000\n"
-"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 17:51+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:37+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: stock_location
#: selection:product.pulled.flow,picking_type:0
#: selection:stock.location.path,picking_type:0
msgid "Sending Goods"
-msgstr ""
+msgstr "slanje dobara"
#. module: stock_location
#: view:product.product:0
msgid "Pulled Paths"
-msgstr ""
+msgstr "Pulled Paths"
#. module: stock_location
#: selection:product.pulled.flow,type_proc:0
msgid "Move"
-msgstr ""
+msgstr "Temeljnica"
#. module: stock_location
#: model:ir.model,name:stock_location.model_stock_location_path
msgid "Pushed Flows"
-msgstr ""
+msgstr "Pushed Flows"
#. module: stock_location
#: selection:stock.location.path,auto:0
msgid "Automatic No Step Added"
-msgstr "Automatski bez dodavanja koraka"
+msgstr "Automatski se ne dodaje korak"
#. module: stock_location
#: view:product.product:0
@@ -50,28 +50,28 @@ msgstr "Parametri"
#. module: stock_location
#: field:stock.location.path,location_from_id:0
msgid "Source Location"
-msgstr "Izvorna Lokacija"
+msgstr "Izvorna lokacija"
#. module: stock_location
#: help:product.pulled.flow,cancel_cascade:0
msgid "Allow you to cancel moves related to the product pull flow"
-msgstr ""
+msgstr "Allow you to cancel moves related to the product pull flow"
#. module: stock_location
#: model:ir.model,name:stock_location.model_product_pulled_flow
#: field:product.product,flow_pull_ids:0
msgid "Pulled Flows"
-msgstr ""
+msgstr "Pulled Flows"
#. module: stock_location
#: constraint:stock.move:0
msgid "You must assign a production lot for this product"
-msgstr ""
+msgstr "Morate pridijeliti lot proizvodnje ovom proizvodu"
#. module: stock_location
#: help:product.pulled.flow,location_src_id:0
msgid "Location used by Destination Location to supply"
-msgstr ""
+msgstr "Lokacija koja se koristi kao lokacija dostave za isporuku"
#. module: stock_location
#: selection:product.pulled.flow,picking_type:0
@@ -96,12 +96,12 @@ msgstr "Lokacija"
#: field:product.pulled.flow,invoice_state:0
#: field:stock.location.path,invoice_state:0
msgid "Invoice Status"
-msgstr "Status fakture"
+msgstr "Stanje računa"
#. module: stock_location
#: help:product.pulled.flow,name:0
msgid "This field will fill the packing Origin and the name of its moves"
-msgstr ""
+msgstr "This field will fill the packing Origin and the name of its moves"
#. module: stock_location
#: help:stock.location.path,auto:0
@@ -133,17 +133,17 @@ msgstr "Uvjeti"
#. module: stock_location
#: model:stock.location,name:stock_location.location_pack_zone
msgid "Pack Zone"
-msgstr ""
+msgstr "Pack Zone"
#. module: stock_location
#: model:stock.location,name:stock_location.location_gate_b
msgid "Gate B"
-msgstr ""
+msgstr "Gate B"
#. module: stock_location
#: model:stock.location,name:stock_location.location_gate_a
msgid "Gate A"
-msgstr ""
+msgstr "Gate A"
#. module: stock_location
#: selection:product.pulled.flow,type_proc:0
@@ -153,58 +153,58 @@ msgstr "Kupi"
#. module: stock_location
#: view:product.product:0
msgid "Pushed flows"
-msgstr ""
+msgstr "Pushed flows"
#. module: stock_location
#: model:stock.location,name:stock_location.location_dispatch_zone
msgid "Dispatch Zone"
-msgstr ""
+msgstr "Dispečerska zona"
#. module: stock_location
#: model:ir.model,name:stock_location.model_stock_move
msgid "Stock Move"
-msgstr ""
+msgstr "Skladišni prijenosi"
#. module: stock_location
#: view:product.product:0
msgid "Pulled flows"
-msgstr ""
+msgstr "Pulled flows"
#. module: stock_location
#: field:product.pulled.flow,company_id:0
#: field:stock.location.path,company_id:0
msgid "Company"
-msgstr ""
+msgstr "Organizacija"
#. module: stock_location
#: view:product.product:0
msgid "Logistics Flows"
-msgstr ""
+msgstr "Logistički tokovi"
#. module: stock_location
#: help:stock.move,cancel_cascade:0
msgid "If checked, when this move is cancelled, cancel the linked move too"
-msgstr ""
+msgstr "Otkazivanjem ovog prijenosa otkaži i povezani prijenos"
#. module: stock_location
#: selection:product.pulled.flow,type_proc:0
msgid "Produce"
-msgstr ""
+msgstr "Produce"
#. module: stock_location
#: selection:product.pulled.flow,procure_method:0
msgid "Make to Order"
-msgstr ""
+msgstr "Po narudžbi (MTO)"
#. module: stock_location
#: selection:product.pulled.flow,procure_method:0
msgid "Make to Stock"
-msgstr ""
+msgstr "Sa skladišta (MTS)"
#. module: stock_location
#: field:product.pulled.flow,partner_address_id:0
msgid "Partner Address"
-msgstr "Adresa partnera"
+msgstr "Partner Address"
#. module: stock_location
#: selection:product.pulled.flow,invoice_state:0
@@ -308,12 +308,12 @@ msgstr ""
#. module: stock_location
#: field:product.pulled.flow,type_proc:0
msgid "Type of Procurement"
-msgstr ""
+msgstr "Vrsta nabave"
#. module: stock_location
#: help:product.pulled.flow,company_id:0
msgid "Is used to know to which company belong packings and moves"
-msgstr ""
+msgstr "Is used to know to which company belong packings and moves"
#. module: stock_location
#: field:product.pulled.flow,name:0
@@ -331,24 +331,24 @@ msgstr ""
#. module: stock_location
#: selection:stock.location.path,auto:0
msgid "Manual Operation"
-msgstr "Manuelna Operacija"
+msgstr "Ručna operacija"
#. module: stock_location
#: model:ir.model,name:stock_location.model_product_product
#: field:product.pulled.flow,product_id:0
msgid "Product"
-msgstr "Artikl"
+msgstr "Proizvod"
#. module: stock_location
#: field:product.pulled.flow,procure_method:0
msgid "Procure Method"
-msgstr ""
+msgstr "Procure Method"
#. module: stock_location
#: field:product.pulled.flow,picking_type:0
#: field:stock.location.path,picking_type:0
msgid "Shipping Type"
-msgstr ""
+msgstr "Tip otpreme"
#. module: stock_location
#: help:product.pulled.flow,procure_method:0
@@ -357,11 +357,14 @@ msgid ""
"supplying. 'Make to Order': When needed, purchase or produce for the "
"procurement request."
msgstr ""
+"'Prebaci na zalihu': Kada je potrebno, uzima sa zalihe ili čeka do ponovne "
+"opskrbe. 'Kreiraj narudžbu': Kada je potrebno, kupuje ili proizvodi prema "
+"zahtjevu nabave."
#. module: stock_location
#: help:product.pulled.flow,location_id:0
msgid "Is the destination location that needs supplying"
-msgstr ""
+msgstr "To je odredišna lokacija koja treba nabavu"
#. module: stock_location
#: field:stock.location.path,product_id:0
@@ -377,13 +380,13 @@ msgstr ""
#. module: stock_location
#: model:stock.location,name:stock_location.stock_location_qualitytest0
msgid "Quality Control"
-msgstr ""
+msgstr "Kontrola kvalitete"
#. module: stock_location
#: selection:product.pulled.flow,invoice_state:0
#: selection:stock.location.path,invoice_state:0
msgid "Not Applicable"
-msgstr ""
+msgstr "Not Applicable"
#. module: stock_location
#: field:stock.location.path,delay:0
@@ -401,7 +404,7 @@ msgstr ""
#. module: stock_location
#: field:product.product,path_ids:0
msgid "Pushed Flow"
-msgstr ""
+msgstr "Pushed Flow"
#. module: stock_location
#: code:addons/stock_location/procurement_pull.py:89
@@ -414,39 +417,39 @@ msgstr ""
#. module: stock_location
#: constraint:stock.move:0
msgid "You try to assign a lot which is not from the same product"
-msgstr ""
+msgstr "Pokušavate pridružiti lot koji nije iz istog proizvoda"
#. module: stock_location
#: model:ir.model,name:stock_location.model_procurement_order
msgid "Procurement"
-msgstr ""
+msgstr "Procurement"
#. module: stock_location
#: field:stock.location.path,location_dest_id:0
msgid "Destination Location"
-msgstr "Odredišna Lokacija"
+msgstr "Odredišna lokacija"
#. module: stock_location
#: field:stock.location.path,auto:0
#: selection:stock.location.path,auto:0
msgid "Automatic Move"
-msgstr "Automatski Pokret"
+msgstr "Automatski prijenos"
#. module: stock_location
#: selection:product.pulled.flow,picking_type:0
#: selection:stock.location.path,picking_type:0
msgid "Getting Goods"
-msgstr ""
+msgstr "Dobavljanje robe"
#. module: stock_location
#: view:product.product:0
msgid "Action Type"
-msgstr ""
+msgstr "Vrsta akcije"
#. module: stock_location
#: constraint:product.product:0
msgid "Error: Invalid ean code"
-msgstr "Pogreška: Neispravna EAN šifra"
+msgstr "Greška: Neispravan barkod!"
#. module: stock_location
#: help:product.pulled.flow,picking_type:0
@@ -455,11 +458,12 @@ msgid ""
"Depending on the company, choose whatever you want to receive or send "
"products"
msgstr ""
+"Ovisno o organizaciji, odaberite što želite za prijem/isporuku proizvoda"
#. module: stock_location
#: model:stock.location,name:stock_location.location_order
msgid "Order Processing"
-msgstr ""
+msgstr "Proces naručivanja"
#. module: stock_location
#: field:stock.location.path,name:0
@@ -483,7 +487,7 @@ msgstr "Dnevnik"
#: field:product.pulled.flow,cancel_cascade:0
#: field:stock.move,cancel_cascade:0
msgid "Cancel Cascade"
-msgstr ""
+msgstr "Cancel Cascade"
#. module: stock_location
#: selection:product.pulled.flow,invoice_state:0
diff --git a/addons/stock_no_autopicking/__openerp__.py b/addons/stock_no_autopicking/__openerp__.py
index bd5629579cc..8b3458e0f73 100644
--- a/addons/stock_no_autopicking/__openerp__.py
+++ b/addons/stock_no_autopicking/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Stock No Auto-Picking',
'version': '1.0',
- 'category': 'Hidden',
+ "category" : "Warehouse Management",
'description': """
This module allows an intermediate picking process to provide raw materials to production orders.
=================================================================================================
diff --git a/addons/stock_no_autopicking/i18n/hr.po b/addons/stock_no_autopicking/i18n/hr.po
index d4669d1fc5a..241042589c9 100644
--- a/addons/stock_no_autopicking/i18n/hr.po
+++ b/addons/stock_no_autopicking/i18n/hr.po
@@ -7,19 +7,19 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-03 16:58+0000\n"
-"PO-Revision-Date: 2010-08-03 03:13+0000\n"
-"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 16:49+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:33+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: stock_no_autopicking
#: model:ir.model,name:stock_no_autopicking.model_product_product
msgid "Product"
-msgstr ""
+msgstr "Artikl"
#. module: stock_no_autopicking
#: model:ir.module.module,description:stock_no_autopicking.module_meta_information
@@ -37,36 +37,47 @@ msgid ""
" supplier in the routing of the assembly operation.\n"
" "
msgstr ""
+"\n"
+" Ovaj modul omogućava proces izuzimanja kako bi se osigurale sirovine\n"
+" za proizvodnju.\n"
+" Primjer korištenja ovog modula je upravljanje proizvodnjom vašeg "
+"dobavljača\n"
+" (podugovarač). Kako bi to ostvarili postavite sastavljeni artikl koji je "
+"predmet \n"
+" podugovaranja na \"Bez prijenosa\" i usmjerite lokaciju dobavljača prema "
+"\n"
+" operaciji sastavljanja.\n"
+" "
#. module: stock_no_autopicking
#: model:ir.model,name:stock_no_autopicking.model_mrp_production
msgid "Manufacturing Order"
-msgstr ""
+msgstr "Nalog za proizvodnju"
#. module: stock_no_autopicking
#: field:product.product,auto_pick:0
msgid "Auto Picking"
-msgstr "Automatski odabir"
+msgstr "Automatski prijenos"
#. module: stock_no_autopicking
#: help:product.product,auto_pick:0
msgid "Auto picking for raw materials of production orders."
-msgstr "Automatski odabir sirovina naloga u proizvodnji"
+msgstr "Automatski prijenos sirovina za naloge u proizvodnji"
#. module: stock_no_autopicking
#: constraint:product.product:0
msgid "Error: Invalid ean code"
-msgstr ""
+msgstr "Greška: Neispravan barkod!"
#. module: stock_no_autopicking
#: model:ir.module.module,shortdesc:stock_no_autopicking.module_meta_information
msgid "Stock No Auto-Picking"
-msgstr "Dionica bez automatskog biranja"
+msgstr "Bez prijenosa zaliha"
#. module: stock_no_autopicking
#: constraint:mrp.production:0
msgid "Order quantity cannot be negative or zero !"
-msgstr ""
+msgstr "KOličina na nalogu ne smije biti negativna ili nula!"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "Nevažeći XML za arhitekturu prikaza!"
diff --git a/addons/stock_planning/__openerp__.py b/addons/stock_planning/__openerp__.py
index e3043758b94..1ccb8f93e19 100644
--- a/addons/stock_planning/__openerp__.py
+++ b/addons/stock_planning/__openerp__.py
@@ -23,7 +23,7 @@
"name": "Master Procurement Schedule",
"version": "1.2",
"author": "OpenERP SA and Grzegorz Grzelak (OpenGLOBE)",
- "category": "Hidden",
+ "category" : "Manufacturing",
"images": ["images/master_procurement_schedule.jpeg","images/sales_forecast.jpeg","images/stock_planning_line.jpeg","images/stock_sales_period.jpeg"],
"depends": ["crm", "stock","sale"],
"complexity": "expert",
diff --git a/addons/stock_planning/i18n/hr.po b/addons/stock_planning/i18n/hr.po
index 87d68b22771..b6d0ff1b123 100644
--- a/addons/stock_planning/i18n/hr.po
+++ b/addons/stock_planning/i18n/hr.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-09-29 11:15+0000\n"
-"Last-Translator: OpenERP Administrators <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 17:51+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: Croatian <hr@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: 2011-11-05 05:49+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: stock_planning
#: code:addons/stock_planning/wizard/stock_planning_createlines.py:73
@@ -33,9 +33,9 @@ msgid ""
"selected calculation is made for input, stock and output location of "
"warehouse."
msgstr ""
-"Označite za kalkulaciju lokacije zalihe samo za odabrano skladište. Ako nije "
-"označeno, izvršava se kalkulacija za ulaznu lokaciju, lokaciju zalihe i "
-"izlaznu lokaciju skladišta."
+"Check to calculate stock location of selected warehouse only. If not "
+"selected calculation is made for input, stock and output location of "
+"warehouse."
#. module: stock_planning
#: field:stock.planning,maximum_op:0
@@ -90,9 +90,8 @@ msgid ""
"Warehouse which forecasts will concern. If during stock planning you will "
"need sales forecast for all warehouses choose any warehouse now."
msgstr ""
-"Tiče se skladišta sa predviđanjem zalihe. Ako vam je tijekom planiranja "
-"zalihe potrebno predviđanje prodaje za sva skladišta odaberite skladište "
-"sada."
+"Skladište predviđanja. Ako vam je tijekom planiranja zalihe potrebno "
+"predviđanje prodaje za sva skladišta odaberite bilo koje skladište sada."
#. module: stock_planning
#: field:stock.planning,outgoing_left:0
@@ -122,7 +121,7 @@ msgstr "Kreiraj stavke predviđanja"
#. module: stock_planning
#: help:stock.planning,outgoing:0
msgid "Quantity of all confirmed outgoing moves in calculated Period."
-msgstr "Količina svih potvrđenih prijenosa izlaza u periodu kalkulacije"
+msgstr "Količina svih potvrđenih izlaznih prijenosa u periodu kalkulacije"
#. module: stock_planning
#: view:stock.period.createlines:0
@@ -137,7 +136,7 @@ msgstr "Kreiraj dnevne periode"
#: field:stock.sale.forecast,company_id:0
#: field:stock.sale.forecast.createlines,company_id:0
msgid "Company"
-msgstr "Tvrtka"
+msgstr "Organizacija"
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:640
@@ -155,9 +154,7 @@ msgstr ""
msgid ""
"All sales forecasts for selected Warehouse of selected Product during "
"selected Period."
-msgstr ""
-"Sva predviđanja prodaje za odabrano skladište odabranog proizvoda za vrijeme "
-"odabranog perioda."
+msgstr "Sve prognoze prodaje za skladište, proizvod i period."
#. module: stock_planning
#: model:ir.ui.menu,name:stock_planning.menu_stock_period_creatlines
@@ -202,7 +199,7 @@ msgstr "Stanje trenutnog perioda"
#. module: stock_planning
#: view:stock.period.createlines:0
msgid "Create Monthly Periods"
-msgstr "Kreiraj mjesečne periode"
+msgstr "Stvori mjesečna razdoblja"
#. module: stock_planning
#: help:stock.planning,supply_warehouse_id:0
@@ -230,13 +227,13 @@ msgstr "Svi proizvodi sa predviđanjem"
#. module: stock_planning
#: view:stock.sale.forecast:0
msgid "Periods :"
-msgstr "Periodi:"
+msgstr "Razdoblja:"
#. module: stock_planning
#: help:stock.planning,already_in:0
msgid ""
"Quantity which is already picked up to this warehouse in current period."
-msgstr "Količina već poslana u ovo skladište za trenutni period."
+msgstr "Količina koja je primljena u skladište u trenutnom periodu."
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:644
@@ -273,7 +270,7 @@ msgstr "Simulacija zalihe"
#. module: stock_planning
#: model:ir.model,name:stock_planning.model_stock_planning_createlines
msgid "stock.planning.createlines"
-msgstr "stock.planning.createlines"
+msgstr "zaliha.plairanje.createlines"
#. module: stock_planning
#: help:stock.planning,incoming_before:0
@@ -299,7 +296,7 @@ msgstr "Period5 ovog korisnika"
#. module: stock_planning
#: help:stock.planning,history:0
msgid "History of procurement or internal supply of this planning line."
-msgstr "Povijest nabave ili unutarnje opskrbe za ovu stavku planiranja."
+msgstr "Povijest nabava ili internih nabava za ovu stavku planiranja."
#. module: stock_planning
#: help:stock.planning,company_forecast:0
@@ -307,7 +304,7 @@ msgid ""
"All sales forecasts for whole company (for all Warehouses) of selected "
"Product during selected Period."
msgstr ""
-"Sva predviđanja prodaje za cijelu tvrtku (za sva skladišta) za odabrani "
+"Sva predviđanja prodaje na nivou organizacije (sva skladišta) za odabrani "
"proizvod tijekom odabranog perioda."
#. module: stock_planning
@@ -353,7 +350,7 @@ msgstr ""
#: view:stock.planning.createlines:0
#: view:stock.sale.forecast.createlines:0
msgid "Create"
-msgstr "Kreiraj"
+msgstr "Stvori"
#. module: stock_planning
#: model:ir.actions.act_window,name:stock_planning.action_view_stock_planning_form
@@ -429,7 +426,7 @@ msgstr ""
#. module: stock_planning
#: help:stock.sale.forecast,analyze_company:0
msgid "Check this box to see the sales for whole company."
-msgstr "Označite kućicu da vidite prodaju za cijelu tvrtku."
+msgstr "Označite kućicu da vidite prodaju za cijelu organizaciju."
#. module: stock_planning
#: field:stock.sale.forecast,name:0
@@ -439,7 +436,7 @@ msgstr "Naziv"
#. module: stock_planning
#: view:stock.planning:0
msgid "Search Stock Planning"
-msgstr "Pretraži planiranje zalihe"
+msgstr "Traži planiranje zalihe"
#. module: stock_planning
#: field:stock.planning,incoming_before:0
@@ -450,7 +447,7 @@ msgstr "Prethodno očekivani ulaz"
#: field:stock.planning.createlines,product_categ_id:0
#: field:stock.sale.forecast.createlines,product_categ_id:0
msgid "Product Category"
-msgstr "Kategorija proizvoda"
+msgstr "Grupa proizvoda"
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:621
@@ -568,12 +565,12 @@ msgstr "Napomena: Ne duplicira postojeće stavke koje ste već kreirali."
#. module: stock_planning
#: view:stock.period:0
msgid "Stock and Sales Period"
-msgstr "Period zalihe i prodaje"
+msgstr "Skladišno i prodajno razdoblje"
#. module: stock_planning
#: field:stock.planning,company_forecast:0
msgid "Company Forecast"
-msgstr "Predviđanje za tvrtku"
+msgstr "Predviđanje za organizaciju"
#. module: stock_planning
#: help:stock.planning,product_uom:0
@@ -602,7 +599,7 @@ msgstr "Predviđanja prodaje:"
#: field:stock.period,name:0
#: field:stock.period.createlines,name:0
msgid "Period Name"
-msgstr "Naziv perioda"
+msgstr "Naziv Perioda"
#. module: stock_planning
#: field:stock.sale.forecast,user_id:0
@@ -612,33 +609,33 @@ msgstr "Kreirao/Potvrdio"
#. module: stock_planning
#: view:stock.planning:0
msgid "Internal Supply"
-msgstr "Unutarnja opskrba"
+msgstr "Interna nabava"
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_period4_per_company:0
msgid "This Company Period4"
-msgstr "Period4 ove tvtke"
+msgstr "Period4 ove organizacije"
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_period5_per_company:0
msgid "This Company Period5"
-msgstr "Period5 ove tvtke"
+msgstr "Period5 ove organizacije"
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_period2_per_company:0
msgid "This Company Period2"
-msgstr "Period2 ove tvtke"
+msgstr "Period2 ove organizacije"
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_period3_per_company:0
msgid "This Company Period3"
-msgstr "Period3 ove tvtke"
+msgstr "Period3 ove organizacije"
#. module: stock_planning
#: field:stock.period,date_start:0
#: field:stock.period.createlines,date_start:0
msgid "Start Date"
-msgstr "Datum početka"
+msgstr "Početni datum"
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:642
@@ -662,9 +659,8 @@ msgid ""
"Planning will be created for products from Product Category selected by this "
"field. This field is ignored when you check \"All Forecasted Product\" box."
msgstr ""
-"Planiranje će se kreirati za proizvode iz kategorije odabrane u ovom polju. "
-"Ovo polje se ne koristi kada je označena kućica \"Svi proizvodi "
-"predviđanja\"."
+"Planiranje će se kreirati za proizvode iz odabrane grupe. Ovo polje se ne "
+"koristi kada je označeno \"Svi proizvodi predviđanja\"."
#. module: stock_planning
#: field:stock.planning,planned_outgoing:0
@@ -679,7 +675,7 @@ msgstr "Po odjelu:"
#. module: stock_planning
#: view:stock.planning:0
msgid "Forecast"
-msgstr "Predviđanje"
+msgstr "Prognoza"
#. module: stock_planning
#: selection:stock.period,state:0
@@ -691,7 +687,7 @@ msgstr "Nacrt"
#. module: stock_planning
#: view:stock.period:0
msgid "Closed"
-msgstr "Zatvoreno"
+msgstr "Zatvoren"
#. module: stock_planning
#: view:stock.planning:0
@@ -724,8 +720,8 @@ msgid ""
msgstr ""
"Unesite planiranu izlaznu količinu odabranog proizvoda iz odabranog "
"skladišta za unijeti period. Za planiranje ove vrijednosti pogledajte "
-"Potvrđeni izlaz ili Predviđanja prodaja. Ova vrijednost bi trebala biti ista "
-"ili veća od Potvrđenog izlaza."
+"potvrđeni izlaz ili predviđanja prodaje. Ova vrijednost bi trebala biti ista "
+"ili veća od potvrđenog izlaza."
#. module: stock_planning
#: model:ir.module.module,description:stock_planning.module_meta_information
@@ -1257,7 +1253,7 @@ msgstr ""
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_period4_id:0
msgid "Period4"
-msgstr "Period4"
+msgstr "Razdoblje4"
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:642
@@ -1269,7 +1265,7 @@ msgstr " Već ušlo: "
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_period2_id:0
msgid "Period2"
-msgstr "Period2"
+msgstr "Razdoblje2"
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_period3_id:0
@@ -1309,7 +1305,7 @@ msgstr "Opći podaci"
#. module: stock_planning
#: model:ir.actions.act_window,name:stock_planning.action_view_stock_sale_forecast_form
msgid "Sales Forecast"
-msgstr "Predviđanje prodaje"
+msgstr "Prognoza prodaje"
#. module: stock_planning
#: view:stock.planning:0
@@ -1341,7 +1337,7 @@ msgstr "Povijest prodaje"
#. module: stock_planning
#: field:stock.planning,supply_warehouse_id:0
msgid "Source Warehouse"
-msgstr "Početno skladište"
+msgstr "Izvorno skladište"
#. module: stock_planning
#: help:stock.sale.forecast,product_qty:0
@@ -1356,7 +1352,7 @@ msgstr "Zaliha"
#. module: stock_planning
#: field:stock.planning,stock_supply_location:0
msgid "Stock Supply Location"
-msgstr "Lokacija zalihe"
+msgstr "Lokacija nabave"
#. module: stock_planning
#: help:stock.period.createlines,date_stop:0
@@ -1375,7 +1371,7 @@ msgid ""
"selected Warehouse and Period. Product Category field will be ignored."
msgstr ""
"Označite ovu kućicu da kreirate planiranje za sve proizvode koji koriste "
-"predviđanje za odabrano skladište i period. Polje kategorije proizvoda se "
+"predviđanje za odabrano skladište i period. Polje grupe proizvoda se "
"ignorira."
#. module: stock_planning
@@ -1388,7 +1384,7 @@ msgstr "Već ušlo"
#: field:stock.planning,product_uos_categ:0
#: field:stock.sale.forecast,product_uom_categ:0
msgid "Product UoM Category"
-msgstr "Kategorija JM proizvoda"
+msgstr "Kategorija JM"
#. module: stock_planning
#: field:stock.planning,incoming:0
@@ -1423,12 +1419,12 @@ msgstr "Određuje proizvode na koje se odnosi ovo predviđanje."
#. module: stock_planning
#: selection:stock.planning,state:0
msgid "Done"
-msgstr "Završeno"
+msgstr "Izvršeno"
#. module: stock_planning
#: field:stock.period.createlines,period_ids:0
msgid "Periods"
-msgstr "Periodi"
+msgstr "Razdoblja"
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:638
@@ -1454,18 +1450,18 @@ msgstr "Zatvori"
#: view:stock.sale.forecast:0
#: selection:stock.sale.forecast,state:0
msgid "Validated"
-msgstr "Potvrđen"
+msgstr "Provjereno"
#. module: stock_planning
#: view:stock.period:0
#: selection:stock.period,state:0
msgid "Open"
-msgstr "Otvori"
+msgstr "Otvoreno"
#. module: stock_planning
#: help:stock.sale.forecast.createlines,copy_forecast:0
msgid "Copy quantities from last Stock and Sale Forecast."
-msgstr "Kopiray količine iz prethodnog predviđanja zalihe i prodaje."
+msgstr "Kopiraj količine iz prethodnog predviđanja zalihe i prodaje."
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_period1_per_dept:0
@@ -1505,7 +1501,7 @@ msgstr "Period3 ovog skladišta"
#. module: stock_planning
#: field:stock.planning,outgoing:0
msgid "Confirmed Out"
-msgstr "potvrđen izlaz"
+msgstr "Potvrđeni izlaz"
#. module: stock_planning
#: field:stock.sale.forecast,create_uid:0
@@ -1515,7 +1511,7 @@ msgstr "Odgovoran"
#. module: stock_planning
#: view:stock.sale.forecast:0
msgid "Default UOM"
-msgstr "Predefinirana JM"
+msgstr "Uobičajena JM"
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_period4_per_warehouse:0
@@ -1530,7 +1526,7 @@ msgstr "Period5 ovog skladišta"
#. module: stock_planning
#: view:stock.period:0
msgid "Current"
-msgstr "Trenutni"
+msgstr "Trenutno"
#. module: stock_planning
#: model:ir.model,name:stock_planning.model_stock_planning
@@ -1613,7 +1609,7 @@ msgstr "Povijest nabave"
#. module: stock_planning
#: help:stock.period.createlines,date_start:0
msgid "Starting date for planning period."
-msgstr "početni datum za period planiranja."
+msgstr "Početni datum za period planiranja."
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:641
@@ -1625,7 +1621,7 @@ msgstr " Očekivan ulaz: "
#. module: stock_planning
#: field:stock.sale.forecast,analyze_company:0
msgid "Per Company"
-msgstr "Po tvrtki:"
+msgstr "Po organizaciji"
#. module: stock_planning
#: help:stock.planning,incoming_left:0
@@ -1642,14 +1638,13 @@ msgstr ""
#. module: stock_planning
#: help:stock.planning,incoming:0
msgid "Quantity of all confirmed incoming moves in calculated Period."
-msgstr ""
-"Količina svih potvrđenih prijenosa ulaza pripada periodu kalkulacije."
+msgstr "Količina svih potvrđenih prijenosa ulaza u periodu kalkulacije."
#. module: stock_planning
#: field:stock.period,date_stop:0
#: field:stock.period.createlines,date_stop:0
msgid "End Date"
-msgstr "Datum završetka"
+msgstr "Završni Datum"
#. module: stock_planning
#: help:stock.planning,stock_supply_location:0
@@ -1665,7 +1660,7 @@ msgstr ""
#. module: stock_planning
#: view:stock.planning:0
msgid "No Requisition"
-msgstr "Bez rekvizicije"
+msgstr "Bez zahtjevnica"
#. module: stock_planning
#: help:stock.planning,minimum_op:0
@@ -1710,7 +1705,7 @@ msgstr ""
#. module: stock_planning
#: field:stock.sale.forecast,product_uom:0
msgid "Product UoM"
-msgstr "JM proizvoda"
+msgstr "JM Proizvoda"
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:627
@@ -1761,8 +1756,7 @@ msgstr "Odobri"
msgid ""
"Period for this planning. Requisition will be created for beginning of the "
"period."
-msgstr ""
-"Period ovog planiranja. Rekvizicija će se kreirati za početak perioda."
+msgstr "Period ovog planiranja. Nabava će se kreirati za početak perioda."
#. module: stock_planning
#: view:stock.sale.forecast:0
@@ -1786,7 +1780,7 @@ msgstr ""
#. module: stock_planning
#: field:stock.sale.forecast,analyzed_period5_id:0
msgid "Period5"
-msgstr "Period5"
+msgstr "Razdoblje5"
#. module: stock_planning
#: model:ir.actions.act_window,name:stock_planning.action_stock_period_createlines_form
@@ -1810,7 +1804,7 @@ msgstr "Period zalihe i prodaje"
#. module: stock_planning
#: help:stock.sale.forecast,user_id:0
msgid "Shows who created this forecast, or who validated."
-msgstr "Pokazuje tko je kreirao ovo predviđanje, ili tko ga je potvrdio."
+msgstr "Shows who created this prognoza, or who validated."
#. module: stock_planning
#: code:addons/stock_planning/stock_planning.py:644
diff --git a/addons/stock_planning/test/stock_planning.yml b/addons/stock_planning/test/stock_planning.yml
index df2f53dbb6e..f9608461f8a 100644
--- a/addons/stock_planning/test/stock_planning.yml
+++ b/addons/stock_planning/test/stock_planning.yml
@@ -168,7 +168,6 @@
!python {model: stock.sale.forecast}: |
forecast_ids = self.search(cr, uid, [('product_id','=',ref('product.product_product_pc1'))])
write_dict = {'product_qty': 30.0,
- 'analyzed_section_id': ref("crm.section_sales_department"),
'analyzed_period1_id': ref("stock_period_03"),
'analyzed_user_id': ref("base.user_root"),
'analyzed_warehouse_id': ref("stock.warehouse0")}
diff --git a/addons/subscription/__openerp__.py b/addons/subscription/__openerp__.py
index 581d54c9c4b..a58d4453665 100644
--- a/addons/subscription/__openerp__.py
+++ b/addons/subscription/__openerp__.py
@@ -23,7 +23,7 @@
{
'name': 'Recurring Documents',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
Create recurring documents.
===========================
diff --git a/addons/subscription/i18n/hr.po b/addons/subscription/i18n/hr.po
index 6c34ec2fc9c..424b81722e2 100644
--- a/addons/subscription/i18n/hr.po
+++ b/addons/subscription/i18n/hr.po
@@ -7,89 +7,89 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2009-02-03 06:26+0000\n"
-"Last-Translator: <>\n"
+"PO-Revision-Date: 2011-12-08 16:32+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 04:52+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: subscription
#: field:subscription.subscription,doc_source:0
#: field:subscription.subscription.history,document_id:0
msgid "Source Document"
-msgstr ""
+msgstr "Izvorni dokument"
#. module: subscription
#: field:subscription.document,model:0
msgid "Object"
-msgstr ""
+msgstr "Objekt"
#. module: subscription
#: view:subscription.subscription:0
msgid "This Week"
-msgstr ""
+msgstr "Ovaj tjedan"
#. module: subscription
#: view:subscription.subscription:0
msgid "Search Subscription"
-msgstr ""
+msgstr "Pretraži pretplate"
#. module: subscription
#: field:subscription.subscription,date_init:0
msgid "First Date"
-msgstr ""
+msgstr "Početak"
#. module: subscription
#: field:subscription.document.fields,field:0
msgid "Field"
-msgstr ""
+msgstr "Polje"
#. module: subscription
#: view:subscription.subscription:0
#: field:subscription.subscription,state:0
msgid "State"
-msgstr ""
+msgstr "Status"
#. module: subscription
#: model:ir.model,name:subscription.model_subscription_subscription_history
msgid "Subscription history"
-msgstr ""
+msgstr "Povjest pretplate"
#. module: subscription
#: selection:subscription.subscription,state:0
msgid "Draft"
-msgstr ""
+msgstr "Nacrt"
#. module: subscription
#: selection:subscription.document.fields,value:0
msgid "Current Date"
-msgstr ""
+msgstr "Trenutni datum"
#. module: subscription
#: selection:subscription.subscription,interval_type:0
msgid "Weeks"
-msgstr ""
+msgstr "Tjedana"
#. module: subscription
#: view:subscription.subscription:0
msgid "Today"
-msgstr ""
+msgstr "Danas"
#. module: subscription
#: code:addons/subscription/subscription.py:44
#, python-format
msgid "Error !"
-msgstr ""
+msgstr "Greška !"
#. module: subscription
#: model:ir.actions.act_window,name:subscription.action_subscription_form
#: model:ir.ui.menu,name:subscription.menu_action_subscription_form
#: view:subscription.subscription:0
msgid "Subscriptions"
-msgstr ""
+msgstr "Pretplate"
#. module: subscription
#: field:subscription.subscription,interval_number:0
@@ -99,50 +99,52 @@ msgstr ""
#. module: subscription
#: view:subscription.subscription:0
msgid "Stop"
-msgstr ""
+msgstr "Zaustavi"
#. module: subscription
#: view:subscription.subscription:0
msgid "Set to Draft"
-msgstr ""
+msgstr "Postavi kao nacrt"
#. module: subscription
#: model:ir.module.module,description:subscription.module_meta_information
msgid ""
"Module allows to create new documents and add subscription on that document."
msgstr ""
+"Modul dozvoljava kreiranje novih dokumenata i dodavanje pretplate na taj "
+"dokument."
#. module: subscription
#: view:subscription.subscription:0
#: selection:subscription.subscription,state:0
msgid "Running"
-msgstr ""
+msgstr "Pokrenuto"
#. module: subscription
#: view:subscription.subscription.history:0
msgid "Subscription History"
-msgstr ""
+msgstr "Povjest pretplate"
#. module: subscription
#: view:subscription.subscription:0
#: field:subscription.subscription,user_id:0
msgid "User"
-msgstr ""
+msgstr "Korisnik"
#. module: subscription
#: field:subscription.subscription,interval_type:0
msgid "Interval Unit"
-msgstr ""
+msgstr "Jedinica intervala"
#. module: subscription
#: field:subscription.subscription.history,date:0
msgid "Date"
-msgstr ""
+msgstr "Datum"
#. module: subscription
#: field:subscription.subscription,exec_init:0
msgid "Number of documents"
-msgstr ""
+msgstr "Broj dokumenata"
#. module: subscription
#: help:subscription.document,active:0
@@ -150,17 +152,21 @@ msgid ""
"If the active field is set to False, it will allow you to hide the "
"subscription document without removing it."
msgstr ""
+"If the active field is set to False, it will allow you to hide the "
+"subscription document without removing it.\r\n"
+"Ako je aktivno polje postavljeno na NE, možete sakriti dokument pretplate "
+"bez da ga uklonite."
#. module: subscription
#: selection:subscription.subscription.history,document_id:0
msgid "Sale Order"
-msgstr ""
+msgstr "Prodajni nalog"
#. module: subscription
#: field:subscription.document,name:0
#: field:subscription.subscription,name:0
msgid "Name"
-msgstr ""
+msgstr "Naziv"
#. module: subscription
#: code:addons/subscription/subscription.py:44
@@ -169,79 +175,81 @@ msgid ""
"You cannot modify the Object linked to the Document Type!\n"
"Create another Document instead !"
msgstr ""
+"Ne možete promjeniti objekt povezan s tipom dokumenta!\n"
+"Kreirajte novi dokument!"
#. module: subscription
#: field:subscription.document,field_ids:0
msgid "Fields"
-msgstr ""
+msgstr "Polja"
#. module: subscription
#: view:subscription.subscription:0
#: field:subscription.subscription,note:0
#: field:subscription.subscription,notes:0
msgid "Notes"
-msgstr ""
+msgstr "Bilješke"
#. module: subscription
#: selection:subscription.subscription,interval_type:0
msgid "Months"
-msgstr ""
+msgstr "Mjeseci"
#. module: subscription
#: selection:subscription.subscription,interval_type:0
msgid "Days"
-msgstr ""
+msgstr "Dani"
#. module: subscription
#: field:subscription.document,active:0
#: field:subscription.subscription,active:0
msgid "Active"
-msgstr ""
+msgstr "Aktivan"
#. module: subscription
#: field:subscription.subscription,cron_id:0
msgid "Cron Job"
-msgstr ""
+msgstr "Zakazani zadatak"
#. module: subscription
#: model:ir.model,name:subscription.model_subscription_subscription
#: field:subscription.subscription.history,subscription_id:0
msgid "Subscription"
-msgstr ""
+msgstr "Pretplata"
#. module: subscription
#: view:subscription.subscription:0
#: field:subscription.subscription,partner_id:0
msgid "Partner"
-msgstr ""
+msgstr "Partner"
#. module: subscription
#: help:subscription.subscription,cron_id:0
msgid "Scheduler which runs on subscription"
-msgstr ""
+msgstr "Upravitelj zakazivanja zadataka kod pretplata"
#. module: subscription
#: model:ir.ui.menu,name:subscription.config_recuuring_event
#: model:ir.ui.menu,name:subscription.next_id_45
msgid "Recurring Events"
-msgstr ""
+msgstr "Ponavljajući događaji"
#. module: subscription
#: view:subscription.subscription:0
msgid "Subsription Data"
-msgstr ""
+msgstr "Podaci o pretplati"
#. module: subscription
#: help:subscription.subscription,note:0
msgid "Description or Summary of Subscription"
-msgstr ""
+msgstr "Opis ili sažetak pretplate"
#. module: subscription
#: model:ir.model,name:subscription.model_subscription_document
#: view:subscription.document:0
#: field:subscription.document.fields,document_id:0
msgid "Subscription Document"
-msgstr ""
+msgstr "Dokument pretplate"
#. module: subscription
#: help:subscription.subscription,active:0
@@ -249,66 +257,70 @@ msgid ""
"If the active field is set to False, it will allow you to hide the "
"subscription without removing it."
msgstr ""
+"Ako je aktivno polje postavljeno na NE, dozvolit će vam skrivanje pretplate "
+"bez uklanja iste."
#. module: subscription
#: help:subscription.document.fields,value:0
msgid "Default value is considered for field when new document is generated."
msgstr ""
+"Predefinirana vrijednost se uzima za polje kod generiranja novog dokumenta."
#. module: subscription
#: selection:subscription.document.fields,value:0
msgid "False"
-msgstr ""
+msgstr "NE"
#. module: subscription
#: view:subscription.subscription:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupiraj po..."
#. module: subscription
#: view:subscription.subscription:0
msgid "Process"
-msgstr ""
+msgstr "Proces"
#. module: subscription
#: model:ir.module.module,shortdesc:subscription.module_meta_information
msgid "Subscription and recurring operations"
-msgstr ""
+msgstr "Pretplate i ponavljajuće operacije"
#. module: subscription
#: help:subscription.subscription,doc_source:0
msgid ""
"User can choose the source document on which he wants to create documents"
msgstr ""
+"Korisnik može izabrati izvorni dokument prema kojem želi kreirati dokumente"
#. module: subscription
#: model:ir.actions.act_window,name:subscription.action_document_form
#: model:ir.ui.menu,name:subscription.menu_action_document_form
msgid "Document Types"
-msgstr ""
+msgstr "Tipovi dokumenata"
#. module: subscription
#: code:addons/subscription/subscription.py:115
#, python-format
msgid "Wrong Source Document !"
-msgstr ""
+msgstr "Pogrešan izvorni dokument!"
#. module: subscription
#: model:ir.model,name:subscription.model_subscription_document_fields
#: view:subscription.document.fields:0
msgid "Subscription Document Fields"
-msgstr ""
+msgstr "Polja dokumenta pretplate"
#. module: subscription
#: view:subscription.subscription:0
#: selection:subscription.subscription,state:0
msgid "Done"
-msgstr ""
+msgstr "Izvršeno"
#. module: subscription
#: selection:subscription.subscription.history,document_id:0
msgid "Invoice"
-msgstr ""
+msgstr "Račun"
#. module: subscription
#: code:addons/subscription/subscription.py:115
@@ -317,14 +329,16 @@ msgid ""
"Please provide another source document.\n"
"This one does not exist !"
msgstr ""
+"Molim odaberite drugi izvorni dokument.\n"
+"Ovaj ne postoji!"
#. module: subscription
#: field:subscription.document.fields,value:0
msgid "Default Value"
-msgstr ""
+msgstr "Predefinirana vrijednost"
#. module: subscription
#: view:subscription.subscription:0
#: field:subscription.subscription,doc_lines:0
msgid "Documents created"
-msgstr ""
+msgstr "Dokument kreiran"
diff --git a/addons/survey/__openerp__.py b/addons/survey/__openerp__.py
index e9bd92f5840..f522ff5a36f 100644
--- a/addons/survey/__openerp__.py
+++ b/addons/survey/__openerp__.py
@@ -22,7 +22,7 @@
{
'name': 'Survey',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'description': """
This module is used for surveying.
==================================
diff --git a/addons/survey/i18n/hr.po b/addons/survey/i18n/hr.po
index 77968003a18..1ee18a4a563 100644
--- a/addons/survey/i18n/hr.po
+++ b/addons/survey/i18n/hr.po
@@ -8,21 +8,21 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-06-06 23:46+0000\n"
-"Last-Translator: Drazen Bosak <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 17:09+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: Vinteh\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:42+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
"Language: hr\n"
#. module: survey
#: view:survey.print:0
#: view:survey.print.answer:0
msgid "Print Option"
-msgstr ""
+msgstr "Print Option"
#. module: survey
#: code:addons/survey/survey.py:422
@@ -32,6 +32,8 @@ msgid ""
"greater than the number of answer. "
"Please use a number that is smaller than %d."
msgstr ""
+"Minimalna zahtjevani odgovor koji ste unijeli je veći od broja odgovora. "
+"Molimo Vas da koristite broj koji je manji od% d."
#. module: survey
#: view:survey.question.wiz:0
@@ -42,7 +44,7 @@ msgstr "Vaše poruke"
#: field:survey.question,comment_valid_type:0
#: field:survey.question,validation_type:0
msgid "Text Validation"
-msgstr ""
+msgstr "Text Validation"
#. module: survey
#: code:addons/survey/survey.py:434
@@ -52,17 +54,20 @@ msgid ""
"your maximum is greater than the number of answer. "
" Please use a number that is smaller than %d."
msgstr ""
+"Maximum Required Answer you entered for "
+"your maximum is greater than the number of answer. "
+" Please use a number that is smaller than %d."
#. module: survey
#: view:survey:0
#: field:survey,invited_user_ids:0
msgid "Invited User"
-msgstr ""
+msgstr "Pozvani korisnik"
#. module: survey
#: selection:survey.answer,type:0
msgid "Character"
-msgstr ""
+msgstr "Character"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_survey_form1
@@ -76,12 +81,12 @@ msgstr "Upitnici"
#. module: survey
#: view:survey:0
msgid "Set to draft"
-msgstr "Vrati na Nacrt"
+msgstr "Postavi na nacrt"
#. module: survey
#: field:survey.question,in_visible_answer_type:0
msgid "Is Answer Type Invisible?"
-msgstr ""
+msgstr "Da li je Vrsta odgovora nevidljiv?"
#. module: survey
#: view:survey:0
@@ -89,32 +94,32 @@ msgstr ""
#: view:survey.question:0
#: view:survey.request:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupiraj po..."
#. module: survey
#: view:survey.send.invitation.log:0
msgid "Results :"
-msgstr "Rezultati :"
+msgstr "Rezultat :"
#. module: survey
#: view:survey.request:0
msgid "Survey Request"
-msgstr ""
+msgstr "Zahtjev upitnika"
#. module: survey
#: selection:survey.question,required_type:0
msgid "A Range"
-msgstr ""
+msgstr "Raspon"
#. module: survey
#: view:survey.response.line:0
msgid "Table Answer"
-msgstr ""
+msgstr "Table Answer"
#. module: survey
#: field:survey.history,date:0
msgid "Date started"
-msgstr "Datum započinjanja"
+msgstr "Datum početka"
#. module: survey
#: field:survey,history:0
@@ -128,11 +133,13 @@ msgid ""
"You must enter one or more menu choices in "
"column heading (white spaces not allowed)"
msgstr ""
+"Morate unijeti i odabrati jedan ili više izbornika u naslovu stupca (prazno "
+"nije dopušteno)"
#. module: survey
#: field:survey.question.column.heading,in_visible_menu_choice:0
msgid "Is Menu Choice Invisible??"
-msgstr ""
+msgstr "Da li je odabir izbornika nevidljiv??"
#. module: survey
#: field:survey.send.invitation,mail:0
@@ -148,43 +155,43 @@ msgstr "Dopustite polje upisa Komentara"
#: selection:survey.print,paper_size:0
#: selection:survey.print.answer,paper_size:0
msgid "A4 (210mm x 297mm)"
-msgstr ""
+msgstr "A4 (210mm x 297mm)"
#. module: survey
#: field:survey.question,comment_maximum_date:0
#: field:survey.question,validation_maximum_date:0
msgid "Maximum date"
-msgstr ""
+msgstr "Maximum date"
#. module: survey
#: field:survey.question,in_visible_menu_choice:0
msgid "Is Menu Choice Invisible?"
-msgstr ""
+msgstr "Da li je izbvor menija nevidljiv?"
#. module: survey
#: view:survey:0
msgid "Completed"
-msgstr ""
+msgstr "Completed"
#. module: survey
#: selection:survey.question,required_type:0
msgid "Exactly"
-msgstr ""
+msgstr "Exactly"
#. module: survey
#: view:survey:0
msgid "Open Date"
-msgstr ""
+msgstr "Datum otvaranja"
#. module: survey
#: view:survey.request:0
msgid "Set to Draft"
-msgstr ""
+msgstr "Postavi na nacrt"
#. module: survey
#: field:survey.question,is_comment_require:0
msgid "Add Comment Field"
-msgstr ""
+msgstr "Dodaj polje za komentar"
#. module: survey
#: code:addons/survey/survey.py:401
@@ -194,16 +201,19 @@ msgid ""
"than the number of answer. Please use a "
"number that is smaller than %d."
msgstr ""
+"#Required Answer you entered is greater "
+"than the number of answer. Please use a "
+"number that is smaller than %d."
#. module: survey
#: field:survey.question,tot_resp:0
msgid "Total Answer"
-msgstr ""
+msgstr "Total Answer"
#. module: survey
#: field:survey.tbl.column.heading,name:0
msgid "Row Number"
-msgstr ""
+msgstr "Redak br."
#. module: survey
#: model:ir.model,name:survey.model_survey_name_wiz
@@ -218,7 +228,7 @@ msgstr "Pitanja Upitnika"
#. module: survey
#: selection:survey.question,type:0
msgid "Matrix of Choices (Only One Answers Per Row)"
-msgstr ""
+msgstr "Matrix of Choices (Only One Answers Per Row)"
#. module: survey
#: code:addons/survey/survey.py:475
@@ -227,6 +237,8 @@ msgid ""
"Maximum Required Answer you entered for your maximum is greater than the "
"number of answer. Please use a number that is smaller than %d."
msgstr ""
+"Maximum Required Answer you entered for your maximum is greater than the "
+"number of answer. Please use a number that is smaller than %d."
#. module: survey
#: model:ir.actions.act_window,name:survey.action_view_survey_question_message
@@ -240,20 +252,20 @@ msgstr "Pitanja Upitnika"
#. module: survey
#: view:survey.question.column.heading:0
msgid "Use if question type is rating_scale"
-msgstr ""
+msgstr "Use if question type is rating_scale"
#. module: survey
#: field:survey.print,page_number:0
#: field:survey.print.answer,page_number:0
msgid "Include Page Number"
-msgstr ""
+msgstr "Ispiši redni br. stranice"
#. module: survey
#: view:survey.page:0
#: view:survey.question:0
#: view:survey.send.invitation.log:0
msgid "Ok"
-msgstr ""
+msgstr "U redu"
#. module: survey
#: field:survey.page,title:0
@@ -263,7 +275,7 @@ msgstr "Naslov stranice"
#. module: survey
#: model:ir.ui.menu,name:survey.menu_define_survey
msgid "Define Surveys"
-msgstr ""
+msgstr "Definiranje upitnika"
#. module: survey
#: model:ir.model,name:survey.model_survey_history
@@ -280,61 +292,61 @@ msgstr "Bilješke"
#: view:survey:0
#: view:survey.request:0
msgid "Search Survey"
-msgstr ""
+msgstr "Traži upitnike"
#. module: survey
#: field:survey.response.answer,answer:0
#: field:survey.tbl.column.heading,value:0
msgid "Value"
-msgstr ""
+msgstr "Value"
#. module: survey
#: field:survey.question,column_heading_ids:0
msgid " Column heading"
-msgstr ""
+msgstr " Naslov stupca"
#. module: survey
#: model:ir.ui.menu,name:survey.menu_run_survey_form
msgid "Answer a Survey"
-msgstr ""
+msgstr "Ispuni anketu"
#. module: survey
#: code:addons/survey/wizard/survey_answer.py:92
#, python-format
msgid "Error!"
-msgstr ""
+msgstr "Error!"
#. module: survey
#: field:survey,tot_comp_survey:0
msgid "Total Completed Survey"
-msgstr "Ukupno ispunjeno Upitnika"
+msgstr "Ukupno ispunjeno upitnika"
#. module: survey
#: view:survey.response.answer:0
msgid "(Use Only Question Type is matrix_of_drop_down_menus)"
-msgstr ""
+msgstr "(Use Only Question Type is matrix_of_drop_down_menus)"
#. module: survey
#: model:ir.actions.report.xml,name:survey.survey_analysis
msgid "Survey Statistics"
-msgstr ""
+msgstr "Survey Statistics"
#. module: survey
#: selection:survey,state:0
#: view:survey.request:0
#: selection:survey.request,state:0
msgid "Cancelled"
-msgstr "Otkazan"
+msgstr "Otkazani"
#. module: survey
#: selection:survey.question,type:0
msgid "Rating Scale"
-msgstr ""
+msgstr "Rating Scale"
#. module: survey
#: field:survey.question,comment_field_type:0
msgid "Comment Field Type"
-msgstr ""
+msgstr "Vrsta polja za komentar"
#. module: survey
#: code:addons/survey/survey.py:375
@@ -387,7 +399,7 @@ msgstr "Upozorenje!"
#. module: survey
#: selection:survey.question,comment_field_type:0
msgid "Single Line Of Text"
-msgstr ""
+msgstr "Jedan redak teksta"
#. module: survey
#: view:survey.send.invitation:0
@@ -398,48 +410,49 @@ msgstr "Pošalji podsjetnik postojećem korisniku"
#. module: survey
#: selection:survey.question,type:0
msgid "Multiple Choice (Multiple Answer)"
-msgstr ""
+msgstr "Multiple Choice (Multiple Answer)"
#. module: survey
#: view:survey:0
msgid "Edit Survey"
-msgstr ""
+msgstr "Edit Survey"
#. module: survey
#: view:survey.response.line:0
msgid "Survey Answer Line"
-msgstr ""
+msgstr "Survey Answer Line"
#. module: survey
#: field:survey.question.column.heading,menu_choice:0
msgid "Menu Choice"
-msgstr ""
+msgstr "Menu Choice"
#. module: survey
#: selection:survey.question,required_type:0
msgid "At Most"
-msgstr ""
+msgstr "At Most"
#. module: survey
#: field:survey.question,is_validation_require:0
msgid "Validate Text"
-msgstr ""
+msgstr "Validate Text"
#. module: survey
#: field:survey.response.line,single_text:0
msgid "Text"
-msgstr ""
+msgstr "Tekst"
#. module: survey
#: constraint:res.users:0
msgid "The chosen company is not in the allowed companies for this user"
msgstr ""
+"Odabrana organizacija nije među dozvoljenim organizacijama za ovog korisnika"
#. module: survey
#: selection:survey.print,paper_size:0
#: selection:survey.print.answer,paper_size:0
msgid "Letter (8.5\" x 11\")"
-msgstr ""
+msgstr "Letter (8.5\" x 11\")"
#. module: survey
#: view:survey:0
@@ -450,7 +463,7 @@ msgstr "Odgovoran"
#. module: survey
#: model:ir.model,name:survey.model_survey_request
msgid "survey.request"
-msgstr ""
+msgstr "survey.request"
#. module: survey
#: field:survey.send.invitation,mail_subject:0
@@ -462,17 +475,17 @@ msgstr "Predmet"
#: field:survey.question,comment_maximum_float:0
#: field:survey.question,validation_maximum_float:0
msgid "Maximum decimal number"
-msgstr ""
+msgstr "Maximum decimal number"
#. module: survey
#: view:survey.request:0
msgid "Late"
-msgstr ""
+msgstr "Kasni"
#. module: survey
#: sql_constraint:res.users:0
msgid "You can not have two users with the same login !"
-msgstr ""
+msgstr "Ne možete imati dva korisnika sa istim korisničkim imenom !"
#. module: survey
#: field:survey.send.invitation,mail_from:0
@@ -483,13 +496,13 @@ msgstr "Od"
#: selection:survey.question,comment_valid_type:0
#: selection:survey.question,validation_type:0
msgid "Don't Validate Comment Text."
-msgstr ""
+msgstr "Don't Validate Comment Text."
#. module: survey
#: selection:survey.question,comment_valid_type:0
#: selection:survey.question,validation_type:0
msgid "Must Be A Whole Number"
-msgstr ""
+msgstr "Must Be A Whole Number"
#. module: survey
#: field:survey.answer,question_id:0
@@ -503,7 +516,7 @@ msgstr "Pitanje"
#. module: survey
#: view:survey.page:0
msgid "Search Survey Page"
-msgstr ""
+msgstr "Search Survey Page"
#. module: survey
#: view:survey.send.invitation:0
@@ -522,6 +535,8 @@ msgid ""
"You must enter one or more menu choices in "
"column heading"
msgstr ""
+"You must enter one or more menu choices in "
+"column heading"
#. module: survey
#: model:ir.actions.act_window,help:survey.action_survey_form1
@@ -532,84 +547,89 @@ msgid ""
"etc. You can edit survey manually or click on the 'Edit Survey' for a "
"WYSIWYG interface."
msgstr ""
+"Upitnici se mogu koristiti za razne namjene: intervjui kod zapošljavanja, "
+"evaluacije radnika, marketinške kampanje, itd. Upitnik se sastoji od više "
+"stranica s pitanjima na koja se odgovara upisom teksta, odabirom jednog ili "
+"više odgovora, i sl.. Upitnik možete uređivati ručno ili pomoću \"Uredi "
+"upitnik\" za WYSIWYG sučelje u kojemu odmah kontrolirate i izgled upitnika."
#. module: survey
#: view:survey:0
#: view:survey.request:0
#: field:survey.request,state:0
msgid "State"
-msgstr ""
+msgstr "Stanje"
#. module: survey
#: view:survey.request:0
msgid "Evaluation Plan Phase"
-msgstr ""
+msgstr "Faza plana ocjenjivanja"
#. module: survey
#: view:survey:0
#: view:survey.page:0
#: view:survey.question:0
msgid "Between"
-msgstr ""
+msgstr "Između"
#. module: survey
#: view:survey.print:0
#: view:survey.print.answer:0
#: view:survey.print.statistics:0
msgid "Print"
-msgstr ""
+msgstr "Ispis"
#. module: survey
#: field:survey.question,make_comment_field:0
msgid "Make Comment Field an Answer Choice"
-msgstr ""
+msgstr "Make Comment Field an Answer Choice"
#. module: survey
#: view:survey:0
#: field:survey,type:0
msgid "Type"
-msgstr ""
+msgstr "Vrsta"
#. module: survey
#: selection:survey.answer,type:0
msgid "Email"
-msgstr ""
+msgstr "E-mail"
#. module: survey
#: model:ir.ui.menu,name:survey.menu_answer_surveys
msgid "Answer Surveys"
-msgstr ""
+msgstr "Answer Surveys"
#. module: survey
#: selection:survey.response,state:0
msgid "Not Finished"
-msgstr ""
+msgstr "Nije završeno"
#. module: survey
#: view:survey.print:0
msgid "Survey Print"
-msgstr ""
+msgstr "Survey Print"
#. module: survey
#: view:survey.send.invitation:0
msgid "Select Partner"
-msgstr "Odaberi Partnera"
+msgstr "Odaberi partnera"
#. module: survey
#: field:survey.question,type:0
msgid "Question Type"
-msgstr ""
+msgstr "Question Type"
#. module: survey
#: code:addons/survey/wizard/survey_answer.py:131
#, python-format
msgid "You can not answer this survey more than %s times"
-msgstr ""
+msgstr "You can not answer this survey more than %s times"
#. module: survey
#: model:ir.actions.act_window,name:survey.act_survey_answer
msgid "Answers"
-msgstr ""
+msgstr "Odgovori"
#. module: survey
#: model:ir.module.module,description:survey.module_meta_information
@@ -625,12 +645,24 @@ msgid ""
"invitation of the survey\n"
" "
msgstr ""
+"\n"
+" This module is used for surveying.\n"
+"==================================\n"
+"\n"
+"It depends on the answers or reviews of some questions by different users.\n"
+"A survey may have multiple pages. Each page may contain multiple questions "
+"and each question may have multiple answers.\n"
+"Different users may give different answers of question and according to that "
+"survey is done.\n"
+"Partners are also sent mails with user name and password for the invitation "
+"of the survey\n"
+" "
#. module: survey
#: code:addons/survey/wizard/survey_answer.py:124
#, python-format
msgid "You can not answer because the survey is not open"
-msgstr ""
+msgstr "You can not answer because the survey is not open"
#. module: survey
#: selection:survey.response,response_type:0
@@ -642,12 +674,12 @@ msgstr "Veza"
#: model:ir.model,name:survey.model_survey_type
#: view:survey.type:0
msgid "Survey Type"
-msgstr ""
+msgstr "Survey Type"
#. module: survey
#: field:survey.page,sequence:0
msgid "Page Nr"
-msgstr ""
+msgstr "Page Nr"
#. module: survey
#: view:survey:0
@@ -656,12 +688,12 @@ msgstr ""
#: field:survey.question,descriptive_text:0
#: selection:survey.question,type:0
msgid "Descriptive Text"
-msgstr ""
+msgstr "Opis"
#. module: survey
#: field:survey.question,minimum_req_ans:0
msgid "Minimum Required Answer"
-msgstr ""
+msgstr "Minimum Required Answer"
#. module: survey
#: code:addons/survey/survey.py:484
@@ -670,74 +702,77 @@ msgid ""
"You must enter one or more menu choices in column heading (white spaces not "
"allowed)"
msgstr ""
+"You must enter one or more menu choices in column heading (white spaces not "
+"allowed)"
#. module: survey
#: field:survey.question,req_error_msg:0
msgid "Error Message"
-msgstr ""
+msgstr "Error Message"
#. module: survey
#: code:addons/survey/survey.py:482
#, python-format
msgid "You must enter one or more menu choices in column heading"
msgstr ""
+"Morate unijeti jedan ili više izbornik mogučnosti u zaglavlje kolone."
#. module: survey
#: field:survey.request,date_deadline:0
msgid "Deadline date"
-msgstr ""
+msgstr "Krajnji rok"
#. module: survey
#: selection:survey.question,comment_valid_type:0
#: selection:survey.question,validation_type:0
msgid "Must Be A Date"
-msgstr ""
+msgstr "Must Be A Date"
#. module: survey
#: model:ir.model,name:survey.model_survey_print
msgid "survey.print"
-msgstr ""
+msgstr "survey.print"
#. module: survey
#: view:survey.question.column.heading:0
#: field:survey.question.column.heading,title:0
msgid "Column Heading"
-msgstr ""
+msgstr "Column Heading"
#. module: survey
#: field:survey.question,is_require_answer:0
msgid "Require Answer to Question"
-msgstr ""
+msgstr "Obavezan odgovor na pitanje"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_survey_request_tree
#: model:ir.ui.menu,name:survey.menu_survey_type_form1
msgid "Survey Requests"
-msgstr ""
+msgstr "Zahtjevi upitnika"
#. module: survey
#: code:addons/survey/survey.py:375
#: code:addons/survey/survey.py:462
#, python-format
msgid "You must enter one or more column heading."
-msgstr ""
+msgstr "You must enter one or more column heading."
#. module: survey
#: code:addons/survey/wizard/survey_answer.py:758
#: code:addons/survey/wizard/survey_answer.py:953
#, python-format
msgid "Please enter an integer value"
-msgstr ""
+msgstr "Please enter an integer value"
#. module: survey
#: model:ir.model,name:survey.model_survey_browse_answer
msgid "survey.browse.answer"
-msgstr ""
+msgstr "survey.browse.answer"
#. module: survey
#: selection:survey.question,comment_field_type:0
msgid "Paragraph of Text"
-msgstr ""
+msgstr "Odlomak teksta"
#. module: survey
#: code:addons/survey/survey.py:428
@@ -747,31 +782,34 @@ msgid ""
"your maximum is greater than the number of answer. "
" Please use a number that is smaller than %d."
msgstr ""
+"Maximum Required Answer you entered for "
+"your maximum is greater than the number of answer. "
+" Please use a number that is smaller than %d."
#. module: survey
#: selection:survey.request,state:0
#: view:survey.request:0
msgid "Waiting Answer"
-msgstr ""
+msgstr "Čeka odgovor"
#. module: survey
#: view:survey:0
#: view:survey.page:0
#: view:survey.question:0
msgid "When the question is not answered, display this error message:"
-msgstr ""
+msgstr "When the question is not answered, display this error message:"
#. module: survey
#: view:survey:0
#: view:survey.page:0
#: view:survey.question:0
msgid "Options"
-msgstr ""
+msgstr "Options"
#. module: survey
#: model:ir.ui.menu,name:survey.menu_browse_survey_response
msgid "Browse Answers"
-msgstr ""
+msgstr "Pregled odgovora"
#. module: survey
#: field:survey.response.answer,comment_field:0
@@ -792,53 +830,53 @@ msgstr "Odgovor Upitnika"
#. module: survey
#: selection:survey.answer,type:0
msgid "Selection"
-msgstr ""
+msgstr "Odabir"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_browse_survey_response
#: view:survey:0
msgid "Answer Survey"
-msgstr ""
+msgstr "Ispuni anketu"
#. module: survey
#: view:survey:0
#: view:survey.page:0
#: view:survey.question:0
msgid "Comment Field"
-msgstr ""
+msgstr "Comment Field"
#. module: survey
#: selection:survey.response,response_type:0
msgid "Manually"
-msgstr "Manualno"
+msgstr "Ručno"
#. module: survey
#: help:survey,responsible_id:0
msgid "User responsible for survey"
-msgstr ""
+msgstr "User responsible for survey"
#. module: survey
#: field:survey.question,comment_column:0
msgid "Add comment column in matrix"
-msgstr ""
+msgstr "Add comment column in matrix"
#. module: survey
#: field:survey.answer,response:0
msgid "#Answer"
-msgstr ""
+msgstr "#Odgovor"
#. module: survey
#: field:survey.print,without_pagebreak:0
#: field:survey.print.answer,without_pagebreak:0
msgid "Print Without Page Breaks"
-msgstr ""
+msgstr "Print Without Page Breaks"
#. module: survey
#: view:survey:0
#: view:survey.page:0
#: view:survey.question:0
msgid "When the comment is an invalid format, display this error message"
-msgstr ""
+msgstr "Kada je komentar u pogrešnom formatu, prikaži grešku"
#. module: survey
#: code:addons/survey/wizard/survey_selection.py:138
@@ -847,17 +885,20 @@ msgid ""
"You can not give more response. Please contact the author of this survey for "
"further assistance."
msgstr ""
+"You can not give more response. Please contact the author of this survey for "
+"further assistance."
#. module: survey
#: model:ir.actions.act_window,name:survey.act_survey_page_question
#: model:ir.actions.act_window,name:survey.act_survey_question
msgid "Questions"
-msgstr ""
+msgstr "Pitanja"
#. module: survey
#: help:survey,response_user:0
msgid "Set to one if you require only one Answer per user"
msgstr ""
+"Postavite na jedan ukoliko vam je potrebna samo jedan odgovor po korisniku"
#. module: survey
#: field:survey,users:0
@@ -873,12 +914,12 @@ msgstr "Poruka"
#: view:survey:0
#: view:survey.request:0
msgid "MY"
-msgstr ""
+msgstr "MY"
#. module: survey
#: field:survey.question,maximum_req_ans:0
msgid "Maximum Required Answer"
-msgstr ""
+msgstr "Maximum Required Answer"
#. module: survey
#: field:survey.name.wiz,page_no:0
@@ -889,32 +930,32 @@ msgstr "Broj stranice"
#: code:addons/survey/wizard/survey_answer.py:92
#, python-format
msgid "Cannot locate survey for the question wizard!"
-msgstr ""
+msgstr "Ne može se pronaći pretraživanje unutar pitanja čarobnjaka!"
#. module: survey
#: view:survey:0
#: view:survey.page:0
#: view:survey.question:0
msgid "and"
-msgstr ""
+msgstr "i"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_view_survey_print_statistics
#: view:survey.print.statistics:0
msgid "Survey Print Statistics"
-msgstr ""
+msgstr "Survey Print Statistics"
#. module: survey
#: field:survey.send.invitation.log,note:0
msgid "Log"
-msgstr "Zapis"
+msgstr "Zapisnik"
#. module: survey
#: view:survey:0
#: view:survey.page:0
#: view:survey.question:0
msgid "When the choices do not add up correctly, display this error message"
-msgstr ""
+msgstr "Kod neispravnog odabira opcija prikaži ovu poruku"
#. module: survey
#: field:survey,date_close:0
@@ -924,30 +965,32 @@ msgstr "Datum zatvaranja Upitnika"
#. module: survey
#: field:survey,date_open:0
msgid "Survey Open Date"
-msgstr "Datum otvaranja Upitnika"
+msgstr "Datum otvaranja upitnika"
#. module: survey
#: field:survey.question.column.heading,in_visible_rating_weight:0
msgid "Is Rating Scale Invisible ??"
-msgstr ""
+msgstr "Is Rating Scale Invisible ??"
#. module: survey
#: view:survey.browse.answer:0
#: view:survey.name.wiz:0
msgid "Start"
-msgstr "Početak"
+msgstr "Start"
#. module: survey
#: code:addons/survey/survey.py:477
#, python-format
msgid "Maximum Required Answer is greater than Minimum Required Answer"
msgstr ""
+"Maksimalan odgvor koji se zahtjeva je veći od minimalnog zahtjevanog "
+"odgovora."
#. module: survey
#: field:survey.question,comment_maximum_no:0
#: field:survey.question,validation_maximum_no:0
msgid "Maximum number"
-msgstr ""
+msgstr "Maximum number"
#. module: survey
#: selection:survey,state:0
@@ -959,17 +1002,17 @@ msgstr "Nacrt"
#. module: survey
#: model:ir.model,name:survey.model_survey_print_statistics
msgid "survey.print.statistics"
-msgstr ""
+msgstr "survey.print.statistics"
#. module: survey
#: selection:survey,state:0
msgid "Closed"
-msgstr "Zaključen"
+msgstr "Zatvoren"
#. module: survey
#: selection:survey.question,type:0
msgid "Matrix of Drop-down Menus"
-msgstr ""
+msgstr "Matrix of Drop-down Menus"
#. module: survey
#: view:survey:0
@@ -996,12 +1039,12 @@ msgstr "Odgovor"
#. module: survey
#: field:survey,max_response_limit:0
msgid "Maximum Answer Limit"
-msgstr ""
+msgstr "Maksimalna odgovorna linija"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_act_view_survey_send_invitation
msgid "Send Invitations"
-msgstr ""
+msgstr "Send Invitations"
#. module: survey
#: field:survey.name.wiz,store_ans:0
@@ -1011,7 +1054,7 @@ msgstr "Spremi odgovor"
#. module: survey
#: selection:survey.question,type:0
msgid "Date and Time"
-msgstr ""
+msgstr "Datum i vrijeme"
#. module: survey
#: field:survey,state:0
@@ -1023,45 +1066,45 @@ msgstr "Status"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_view_survey_print
msgid "Print Survey"
-msgstr ""
+msgstr "Print Survey"
#. module: survey
#: field:survey,send_response:0
msgid "E-mail Notification on Answer"
-msgstr ""
+msgstr "E-mail nakon odgovora"
#. module: survey
#: field:survey.response.answer,value_choice:0
msgid "Value Choice"
-msgstr ""
+msgstr "Value Choice"
#. module: survey
#: view:survey:0
msgid "Started"
-msgstr ""
+msgstr "Započeto"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_view_survey_print_answer
#: view:survey:0
#: view:survey.print.answer:0
msgid "Print Answer"
-msgstr ""
+msgstr "Print Answer"
#. module: survey
#: selection:survey.question,type:0
msgid "Multiple Textboxes"
-msgstr ""
+msgstr "Višestruki tekstovi"
#. module: survey
#: selection:survey.print,orientation:0
#: selection:survey.print.answer,orientation:0
msgid "Landscape(Horizontal)"
-msgstr ""
+msgstr "Položeno (Landscape)"
#. module: survey
#: field:survey.question,no_of_rows:0
msgid "No of Rows"
-msgstr ""
+msgstr "Br. redaka"
#. module: survey
#: view:survey:0
@@ -1072,30 +1115,30 @@ msgstr "Detalji Upitnika"
#. module: survey
#: selection:survey.question,type:0
msgid "Multiple Textboxes With Different Type"
-msgstr ""
+msgstr "Višestruki tekstovi sa različitim vrstama"
#. module: survey
#: view:survey.question.column.heading:0
msgid "Menu Choices (each choice on separate lines)"
-msgstr ""
+msgstr "Menu Choices (each choice on separate lines)"
#. module: survey
#: field:survey.response,response_type:0
msgid "Answer Type"
-msgstr ""
+msgstr "Tip odgovora"
#. module: survey
#: view:survey:0
#: view:survey.page:0
#: view:survey.question:0
msgid "Validation"
-msgstr ""
+msgstr "Validacija"
#. module: survey
#: selection:survey.question,comment_valid_type:0
#: selection:survey.question,validation_type:0
msgid "Must Be A Decimal Number"
-msgstr ""
+msgstr "Must Be A Decimal Number"
#. module: survey
#: field:res.users,survey_id:0
@@ -1106,17 +1149,17 @@ msgstr "Grupe"
#: selection:survey.answer,type:0
#: selection:survey.question,type:0
msgid "Date"
-msgstr ""
+msgstr "Datum"
#. module: survey
#: selection:survey.answer,type:0
msgid "Integer"
-msgstr ""
+msgstr "Cijeli broj"
#. module: survey
#: model:ir.model,name:survey.model_survey_send_invitation
msgid "survey.send.invitation"
-msgstr ""
+msgstr "survey.send.invitation"
#. module: survey
#: field:survey.history,user_id:0
@@ -1140,23 +1183,23 @@ msgstr "Preskočen"
#: field:survey.print,paper_size:0
#: field:survey.print.answer,paper_size:0
msgid "Paper Size"
-msgstr ""
+msgstr "Paper Size"
#. module: survey
#: field:survey.response.answer,column_id:0
#: field:survey.tbl.column.heading,column_id:0
msgid "Column"
-msgstr ""
+msgstr "Kolona"
#. module: survey
#: model:ir.model,name:survey.model_survey_tbl_column_heading
msgid "survey.tbl.column.heading"
-msgstr ""
+msgstr "survey.tbl.column.heading"
#. module: survey
#: model:ir.model,name:survey.model_survey_response_line
msgid "Survey Response Line"
-msgstr ""
+msgstr "Survey Response Line"
#. module: survey
#: code:addons/survey/wizard/survey_selection.py:134
@@ -1183,17 +1226,17 @@ msgstr "Na ovo pitanje ne možete odgovoriti više od %s puta"
#: field:survey.request,survey_id:0
#: field:survey.response,survey_id:0
msgid "Survey"
-msgstr "Upitnik"
+msgstr "Survey"
#. module: survey
#: field:survey.question,in_visible_rating_weight:0
msgid "Is Rating Scale Invisible?"
-msgstr ""
+msgstr "Is Rating Scale Invisible?"
#. module: survey
#: selection:survey.question,type:0
msgid "Numerical Textboxes"
-msgstr ""
+msgstr "Brojčane vrijednosti"
#. module: survey
#: model:ir.model,name:survey.model_survey_question_wiz
@@ -1210,22 +1253,23 @@ msgstr "Povijest"
msgid ""
"If this field is empty, all answers of the selected survey will be print."
msgstr ""
+"Ako je ovo polje prazno, svi odgovori odabranog pregleda će se ispisati."
#. module: survey
#: field:survey.type,code:0
msgid "Code"
-msgstr ""
+msgstr "Šifra"
#. module: survey
#: model:ir.ui.menu,name:survey.menu_print_survey_statistics
msgid "Surveys Statistics"
-msgstr ""
+msgstr "Statistika upitnika"
#. module: survey
#: field:survey.print,orientation:0
#: field:survey.print.answer,orientation:0
msgid "Orientation"
-msgstr ""
+msgstr "Orientation"
#. module: survey
#: view:survey:0
@@ -1233,55 +1277,55 @@ msgstr ""
#: view:survey.page:0
#: view:survey.question:0
msgid "Seq"
-msgstr "Seq"
+msgstr "Red."
#. module: survey
#: field:survey.request,email:0
msgid "E-mail"
-msgstr ""
+msgstr "E-pošta"
#. module: survey
#: field:survey.question,comment_minimum_no:0
#: field:survey.question,validation_minimum_no:0
msgid "Minimum number"
-msgstr ""
+msgstr "Minimalan broj"
#. module: survey
#: field:survey.question,req_ans:0
msgid "#Required Answer"
-msgstr ""
+msgstr "#Obavezni odgovor"
#. module: survey
#: field:survey.answer,sequence:0
#: field:survey.question,sequence:0
msgid "Sequence"
-msgstr "Slijed"
+msgstr "Sekvenca"
#. module: survey
#: field:survey.question,comment_label:0
msgid "Field Label"
-msgstr ""
+msgstr "Labela polja"
#. module: survey
#: view:survey:0
msgid "Other"
-msgstr "Drugi"
+msgstr "Ostale"
#. module: survey
#: view:survey.request:0
#: selection:survey.request,state:0
msgid "Done"
-msgstr "Gotovo"
+msgstr "Izvršeno"
#. module: survey
#: view:survey:0
msgid "Test Survey"
-msgstr ""
+msgstr "Test Survey"
#. module: survey
#: field:survey.question,rating_allow_one_column_require:0
msgid "Allow Only One Answer per Column (Forced Ranking)"
-msgstr ""
+msgstr "Samo jedan odgovor po stupcu (Forsirano rangiranje)"
#. module: survey
#: view:survey:0
@@ -1297,24 +1341,24 @@ msgstr "Odustani"
#. module: survey
#: view:survey:0
msgid "Close"
-msgstr "Zaključi"
+msgstr "Zatvori"
#. module: survey
#: field:survey.question,comment_minimum_float:0
#: field:survey.question,validation_minimum_float:0
msgid "Minimum decimal number"
-msgstr ""
+msgstr "Minimum decimal number"
#. module: survey
#: view:survey:0
#: selection:survey,state:0
msgid "Open"
-msgstr "Otvori"
+msgstr "Otvoreno"
#. module: survey
#: field:survey,tot_start_survey:0
msgid "Total Started Survey"
-msgstr "Ukupno pokrenuto Upitnika"
+msgstr "Ukupno aktivnih upitnika"
#. module: survey
#: code:addons/survey/survey.py:467
@@ -1323,46 +1367,48 @@ msgid ""
"#Required Answer you entered is greater than the number of answer. Please "
"use a number that is smaller than %d."
msgstr ""
+"#Required Answer you entered is greater than the number of answer. Please "
+"use a number that is smaller than %d."
#. module: survey
#: help:survey,max_response_limit:0
msgid "Set to one if survey is answerable only once"
-msgstr ""
+msgstr "Set to one if survey is answerable only once"
#. module: survey
#: selection:survey.response,state:0
msgid "Finished "
-msgstr ""
+msgstr "Finished "
#. module: survey
#: model:ir.model,name:survey.model_survey_question_column_heading
msgid "Survey Question Column Heading"
-msgstr ""
+msgstr "Survey Question Column Heading"
#. module: survey
#: field:survey.answer,average:0
msgid "#Avg"
-msgstr "#Avg"
+msgstr "#Pros."
#. module: survey
#: selection:survey.question,type:0
msgid "Matrix of Choices (Multiple Answers Per Row)"
-msgstr ""
+msgstr "Matrica odgovora (VIšestruki odgovori po retku)"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_view_survey_name
msgid "Give Survey Answer"
-msgstr ""
+msgstr "Give Survey Answer"
#. module: survey
#: model:ir.model,name:survey.model_res_users
msgid "res.users"
-msgstr ""
+msgstr "res.users"
#. module: survey
#: view:survey:0
msgid "Current"
-msgstr ""
+msgstr "Trenutno"
#. module: survey
#: selection:survey.response.line,state:0
@@ -1373,22 +1419,22 @@ msgstr "Odgovoren"
#: code:addons/survey/wizard/survey_answer.py:432
#, python-format
msgid "Complete Survey Answer"
-msgstr ""
+msgstr "Odgovor na anketno pitanje"
#. module: survey
#: selection:survey.question,type:0
msgid "Comment/Essay Box"
-msgstr ""
+msgstr "Comment/Essay Box"
#. module: survey
#: field:survey.answer,type:0
msgid "Type of Answer"
-msgstr ""
+msgstr "Vrsta odgovora"
#. module: survey
#: field:survey.question,required_type:0
msgid "Respondent must answer"
-msgstr ""
+msgstr "Respondent must answer"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_view_survey_send_invitation
@@ -1400,12 +1446,12 @@ msgstr "Poslan poziv"
#: code:addons/survey/wizard/survey_answer.py:792
#, python-format
msgid "You cannot select the same answer more than one time"
-msgstr ""
+msgstr "You cannot select the same answer more than one time"
#. module: survey
#: view:survey.question:0
msgid "Search Question"
-msgstr ""
+msgstr "Search Question"
#. module: survey
#: field:survey,title:0
@@ -1415,7 +1461,7 @@ msgstr "Naziv Upitnika"
#. module: survey
#: selection:survey.question,type:0
msgid "Single Textbox"
-msgstr ""
+msgstr "Redak teksta"
#. module: survey
#: field:survey,note:0
@@ -1434,25 +1480,25 @@ msgstr "Odaberi Upitnik"
#. module: survey
#: selection:survey.question,required_type:0
msgid "At Least"
-msgstr ""
+msgstr "Najmanje"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_view_survey_send_invitation_log
#: model:ir.model,name:survey.model_survey_send_invitation_log
msgid "survey.send.invitation.log"
-msgstr ""
+msgstr "survey.send.invitation.log"
#. module: survey
#: selection:survey.print,orientation:0
#: selection:survey.print.answer,orientation:0
msgid "Portrait(Vertical)"
-msgstr ""
+msgstr "Portrait(Vertical)"
#. module: survey
#: selection:survey.question,comment_valid_type:0
#: selection:survey.question,validation_type:0
msgid "Must Be Specific Length"
-msgstr ""
+msgstr "Must Be Specific Length"
#. module: survey
#: view:survey:0
@@ -1475,12 +1521,14 @@ msgid ""
"Minimum Required Answer you entered is greater than the number of answer. "
"Please use a number that is smaller than %d."
msgstr ""
+"Minimum Required Answer you entered is greater than the number of answer. "
+"Please use a number that is smaller than %d."
#. module: survey
#: code:addons/survey/survey.py:458
#, python-format
msgid "You must enter one or more answer."
-msgstr ""
+msgstr "You must enter one or more answer."
#. module: survey
#: model:ir.actions.report.xml,name:survey.survey_browse_response
@@ -1491,17 +1539,17 @@ msgstr "Odgovori Upitnika"
#. module: survey
#: view:survey.browse.answer:0
msgid "Select Survey and related answer"
-msgstr ""
+msgstr "Select Survey and related answer"
#. module: survey
#: model:ir.ui.menu,name:survey.menu_print_survey_answer
msgid "Surveys Answers"
-msgstr ""
+msgstr "Odgovori na upitnike"
#. module: survey
#: model:ir.actions.act_window,name:survey.act_survey_pages
msgid "Pages"
-msgstr ""
+msgstr "Pages"
#. module: survey
#: code:addons/survey/survey.py:406
@@ -1511,33 +1559,36 @@ msgid ""
"than the number of answer. Please use a "
"number that is smaller than %d."
msgstr ""
+"#Required Answer you entered is greater "
+"than the number of answer. Please use a "
+"number that is smaller than %d."
#. module: survey
#: code:addons/survey/wizard/survey_answer.py:984
#, python-format
msgid "You cannot select same answer more than one time'"
-msgstr ""
+msgstr "You cannot select same answer more than one time'"
#. module: survey
#: selection:survey.print,paper_size:0
#: selection:survey.print.answer,paper_size:0
msgid "Legal (8.5\" x 14\")"
-msgstr ""
+msgstr "Legal (8.5\" x 14\")"
#. module: survey
#: field:survey.type,name:0
msgid "Name"
-msgstr ""
+msgstr "Naziv"
#. module: survey
#: view:survey.page:0
msgid "#Questions"
-msgstr "#Questions"
+msgstr "#Pitanja"
#. module: survey
#: model:ir.model,name:survey.model_survey_response
msgid "survey.response"
-msgstr ""
+msgstr "survey.response"
#. module: survey
#: field:survey.question,comment_valid_err_msg:0
@@ -1545,7 +1596,7 @@ msgstr ""
#: field:survey.question,numeric_required_sum_err_msg:0
#: field:survey.question,validation_valid_err_msg:0
msgid "Error message"
-msgstr ""
+msgstr "Error message"
#. module: survey
#: model:ir.module.module,shortdesc:survey.module_meta_information
@@ -1562,7 +1613,7 @@ msgstr "Pošalji mail novom korisniku"
#: code:addons/survey/survey.py:387
#, python-format
msgid "You must enter one or more Answer."
-msgstr ""
+msgstr "Morate unijeti jedan ili više odgovora."
#. module: survey
#: code:addons/survey/survey.py:416
@@ -1572,18 +1623,21 @@ msgid ""
"greater than the number of answer. Please "
"use a number that is smaller than %d."
msgstr ""
+"Minimum Required Answer you entered is "
+"greater than the number of answer. Please "
+"use a number that is smaller than %d."
#. module: survey
#: field:survey.answer,menu_choice:0
msgid "Menu Choices"
-msgstr ""
+msgstr "Izbor menija"
#. module: survey
#: field:survey,page_ids:0
#: view:survey.question:0
#: field:survey.response.line,page_id:0
msgid "Page"
-msgstr "Stranica"
+msgstr "Page"
#. module: survey
#: code:addons/survey/survey.py:438
@@ -1592,6 +1646,8 @@ msgid ""
"Maximum Required Answer is greater than "
"Minimum Required Answer"
msgstr ""
+"Maximum Required Answer is greater than "
+"Minimum Required Answer"
#. module: survey
#: view:survey.send.invitation.log:0
@@ -1601,59 +1657,59 @@ msgstr "Kreirao korisnik"
#. module: survey
#: selection:survey.question,required_type:0
msgid "All"
-msgstr ""
+msgstr "Sve"
#. module: survey
#: selection:survey.question,comment_valid_type:0
#: selection:survey.question,validation_type:0
msgid "Must Be An Email Address"
-msgstr ""
+msgstr "Must Be An Email Address"
#. module: survey
#: selection:survey.question,type:0
msgid "Multiple Choice (Only One Answer)"
-msgstr ""
+msgstr "Multiple Choice (Only One Answer)"
#. module: survey
#: field:survey.answer,in_visible_answer_type:0
msgid "Is Answer Type Invisible??"
-msgstr ""
+msgstr "Is Answer Type Invisible??"
#. module: survey
#: model:ir.model,name:survey.model_survey_print_answer
msgid "survey.print.answer"
-msgstr ""
+msgstr "survey.print.answer"
#. module: survey
#: view:survey.answer:0
msgid "Menu Choices (each choice on separate by lines)"
-msgstr ""
+msgstr "Menu Choices (each choice on separate by lines)"
#. module: survey
#: selection:survey.answer,type:0
msgid "Float"
-msgstr ""
+msgstr "Decimalni"
#. module: survey
#: view:survey.response.line:0
msgid "Single Textboxes"
-msgstr ""
+msgstr "Single Textboxes"
#. module: survey
#: code:addons/survey/wizard/survey_send_invitation.py:74
#, python-format
msgid "%sSurvey is not in open state"
-msgstr "%sSurvey is not in open state"
+msgstr "%s Upitnik nije u stanju otvoren"
#. module: survey
#: field:survey.question.column.heading,rating_weight:0
msgid "Weight"
-msgstr ""
+msgstr "Težina"
#. module: survey
#: selection:survey.answer,type:0
msgid "Date & Time"
-msgstr ""
+msgstr "Datum i vrijeme"
#. module: survey
#: field:survey.response,date_create:0
@@ -1664,7 +1720,7 @@ msgstr "Kreiraj datum"
#. module: survey
#: field:survey.question,column_name:0
msgid "Column Name"
-msgstr ""
+msgstr "Naziv stupca"
#. module: survey
#: model:ir.actions.act_window,name:survey.action_survey_page_form
@@ -1677,30 +1733,30 @@ msgstr "Stranice Upitnika"
#. module: survey
#: field:survey.question,numeric_required_sum:0
msgid "Sum of all choices"
-msgstr ""
+msgstr "Sum of all choices"
#. module: survey
#: selection:survey.question,type:0
#: view:survey.response.line:0
msgid "Table"
-msgstr ""
+msgstr "Table"
#. module: survey
#: code:addons/survey/survey.py:642
#, python-format
msgid "You cannot duplicate the resource!"
-msgstr ""
+msgstr "Ne možete duplicirati resurs !"
#. module: survey
#: field:survey.question,comment_minimum_date:0
#: field:survey.question,validation_minimum_date:0
msgid "Minimum date"
-msgstr ""
+msgstr "Minimum date"
#. module: survey
#: field:survey,response_user:0
msgid "Maximum Answer per User"
-msgstr ""
+msgstr "Maximum Answer per User"
#. module: survey
#: field:survey.name.wiz,page:0
@@ -1759,9 +1815,6 @@ msgstr "Pozicija stranice"
#~ msgid "Skipped Question"
#~ msgstr "Preskočeno pitanje"
-#~ msgid "_Ok"
-#~ msgstr "_Ok"
-
#~ msgid "Configuration"
#~ msgstr "Konfiguracija"
@@ -1861,3 +1914,9 @@ msgstr "Pozicija stranice"
#~ msgid "All Surveys"
#~ msgstr "Svi Upitnici"
+
+#~ msgid "Watting Answer"
+#~ msgstr "Čekanje odgovora"
+
+#~ msgid "_Ok"
+#~ msgstr "_U redu"
diff --git a/addons/survey/survey_demo.xml b/addons/survey/survey_demo.xml
index 2b96d3c17d2..1d8eae17fb6 100644
--- a/addons/survey/survey_demo.xml
+++ b/addons/survey/survey_demo.xml
@@ -30,7 +30,6 @@
<field name="page_id" ref="survey_page_who_are_you" />
<field name="type">single_textbox</field>
<field name="in_visible_rating_weight">1</field>
- <field name="in_visible_menu_choice">1</field>
<field eval="1" name="sequence"/>
<field name="in_visible_answer_type">1</field>
</record>
@@ -39,7 +38,6 @@
<field name="question">What is your company's size?</field>
<field name="page_id" ref="survey_page_who_are_you" />
<field name="type">multiple_choice_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
<field eval="2" name="sequence"/>
<field name="in_visible_answer_type">1</field>
</record>
@@ -95,7 +93,6 @@
<field name="question">Where are you located?</field>
<field name="page_id" ref="survey_page_who_are_you" />
<field name="type">multiple_choice_multiple_ans</field>
- <field name="in_visible_single_text">1</field>
<field eval="3" name="sequence"/>
</record>
<record id="survey_question_company_size_Europ" model="survey.answer">
@@ -139,7 +136,6 @@
<field name="question">When did you become an OpenERP official partner?</field>
<field name="page_id" ref="survey_page_who_are_you" />
<field name="type">multiple_choice_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
<field eval="4" name="sequence"/>
</record>
<record id="survey_question_company_size_2009" model="survey.answer">
@@ -181,7 +177,6 @@
<field name="question">What kind of solutions do you sell to your customers? </field>
<field name="page_id" ref="survey_page_who_are_you" />
<field name="type">multiple_choice_multiple_ans</field>
- <field name="in_visible_single_text">1</field>
<field eval="5" name="sequence"/>
</record>
<record id="survey_answer_specific_devlopments" model="survey.answer">
@@ -215,7 +210,6 @@
<field name="question">What do you think about the partnership contract?</field>
<field name="page_id" ref="survey_page_Contracts" />
<field name="type">multiple_choice_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
<field eval="1" name="sequence"/>
</record>
<record id="survey_answer_Ambiguous" model="survey.answer">
@@ -253,7 +247,6 @@
<field name="type">multiple_choice_only_one_ans</field>
<field name="comment_field_type">text</field>
<field name="comment_label">Why?</field>
- <field name="in_visible_single_text">1</field>
<field eval="2" name="sequence"/>
<field name="is_comment_require">True</field>
</record>
@@ -284,7 +277,7 @@
<field name="question">Which maintenance contract do you sell to your customers.</field>
<field name="page_id" ref="survey_page_Contracts" />
<field name="type">multiple_choice_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
+
<field eval="3" name="sequence"/>
</record>
<record id="survey_answer_maintenance_contract" model="survey.answer">
@@ -320,7 +313,7 @@
<field name="question">Give your opinion about Launchpad reporting :</field>
<field name="page_id" ref="survey_page_communication" />
<field name="type">matrix_of_choices_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
+
<field eval="2" name="sequence"/>
</record>
<record id="survey_answer_find_openobject_website1" model="survey.answer">
@@ -370,7 +363,7 @@
<field name="question">Leads</field>
<field name="page_id" ref="survey_page_communication" />
<field name="type">matrix_of_choices_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
+
</record>
<record id="survey_answer_find_openobject_website" model="survey.answer">
<field name="in_visible_answer_type">1</field>
@@ -420,7 +413,7 @@
<field name="question">How is OpenERP SA's communication with partners about...</field>
<field name="page_id" ref="survey_page_communication" />
<field name="type">matrix_of_choices_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
+
<field eval="3" name="sequence"/>
</record>
<record id="survey_answer_Maintenance_contracts" model="survey.answer">
@@ -477,8 +470,6 @@
<field name="question">In your opinion, how could OpenERP SA better communicate with partners and on which subjects?</field>
<field name="page_id" ref="survey_page_communication" />
<field name="type">comment</field>
- <field name="in_visible_rating_weight">1</field>
- <field name="in_visible_menu_choice">1</field>
<field eval="4" name="sequence"/>
</record>
@@ -506,8 +497,6 @@
<field name="question">What is your company's name?</field>
<field name="page_id" ref="survey_page_odoo_who_are_you" />
<field name="type">single_textbox</field>
- <field name="in_visible_rating_weight">1</field>
- <field name="in_visible_menu_choice">1</field>
<field name="sequence" eval="1"/>
</record>
@@ -516,7 +505,7 @@
<field name="question">What is your company's sector?</field>
<field name="page_id" ref="survey_page_odoo_who_are_you" />
<field name="type">multiple_choice_multiple_ans</field>
- <field name="in_visible_single_text">1</field>
+
<field name="sequence" eval="2"/>
</record>
<record id="survey_question_Agriculture" model="survey.answer">
@@ -644,7 +633,6 @@
<field name="question">Which activities do you plan to manage with Odoo ?</field>
<field name="page_id" ref="survey_page_odoo_who_are_you" />
<field name="type">multiple_choice_multiple_ans</field>
- <field name="in_visible_single_text">1</field>
<field name="sequence" eval="3"/>
</record>
<record id="survey_question_Customer_Relationship_Management" model="survey.answer">
@@ -706,7 +694,6 @@
<field name="question">How did you discover Odoo ?</field>
<field name="page_id" ref="survey_page_odoo_who_are_you" />
<field name="type">multiple_choice_multiple_ans</field>
- <field name="in_visible_single_text">1</field>
<field name="sequence" eval="4"/>
</record>
<record id="survey_question_OpenERP_website" model="survey.answer">
@@ -762,7 +749,6 @@
<field name="question">Why did you subscribe to Odoo?</field>
<field name="page_id" ref="survey_page_odoo_Subscription_and_configuration" />
<field name="type">multiple_choice_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
<field name="sequence" eval="1"/>
</record>
<record id="survey_answer_switch_to_online_offer1" model="survey.answer">
@@ -801,7 +787,6 @@
<field name="question">How much time did you spend to configure the application?</field>
<field name="page_id" ref="survey_page_odoo_Subscription_and_configuration" />
<field name="type">matrix_of_choices_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
<field name="sequence" eval="2"/>
</record>
<record id="survey_answer_switch_to_online_offer" model="survey.answer">
@@ -872,7 +857,6 @@
<field name="type">multiple_choice_only_one_ans</field>
<field name="comment_field_type">text</field>
<field name="comment_label">No...Why?</field>
- <field name="in_visible_single_text">1</field>
<field name="sequence" eval="3"/>
<field name="is_comment_require">True</field>
</record>
@@ -902,7 +886,6 @@
<field name="question">Which interface would you prefer to use?</field>
<field name="page_id" ref="survey_page_odoo_using_odoo" />
<field name="type">multiple_choice_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
<field name="sequence" eval="1"/>
</record>
<record id="survey_answer_web_interface" model="survey.answer">
@@ -932,7 +915,6 @@
<field name="question">Give your opinion :</field>
<field name="page_id" ref="survey_page_odoo_using_odoo" />
<field name="type">matrix_of_choices_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
<field name="sequence" eval="2"/>
</record>
<record id="survey_answer_appropriately_structured" model="survey.answer">
@@ -958,8 +940,6 @@
<field name="answer">Is the Control Center user-friendly?</field>
<field name="question_id" ref="survey_question_odoo_give_your_opinion" />
<field name="sequence" eval="4"/>
- <field name="in_visible_rating_weight">1</field>
- <field name="in_visible_menu_choice">1</field>
</record>
<record id="survey_column_no_opinion" model="survey.question.column.heading">
<field name="title">No Opinion</field>
@@ -1002,9 +982,7 @@
<field name="question">What do you think about ... </field>
<field name="page_id" ref="survey_page_odoo_using_odoo" />
<field name="type">matrix_of_choices_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
<field name="in_visible_rating_weight">1</field>
- <field name="in_visible_menu_choice">1</field>
<field name="sequence" eval="1"/>
</record>
<record id="survey_answer_database_new_version" model="survey.answer">
@@ -1080,7 +1058,6 @@
<field name="page_id" ref="survey_page_odoo_using_odoo" />
<field name="type">single_textbox</field>
<field name="in_visible_rating_weight">1</field>
- <field name="in_visible_menu_choice">1</field>
<field name="sequence" eval="2"/>
</record>
@@ -1096,7 +1073,6 @@
<field name="question">How often would you prefer to receive your prepaid bill?</field>
<field name="page_id" ref="survey_page_odoo_the_offer" />
<field name="type">multiple_choice_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
<field name="sequence" eval="1"/>
</record>
<record id="survey_answer_Monthly" model="survey.answer">
@@ -1128,7 +1104,6 @@
<field name="type">multiple_choice_only_one_ans</field>
<field name="comment_field_type">text</field>
<field name="comment_label">Comment</field>
- <field name="in_visible_single_text">1</field>
<field name="sequence" eval="2"/>
<field name="is_comment_require">True</field>
</record>
@@ -1153,7 +1128,6 @@
<field name="question">How satisfied are you with Odoo's support services :</field>
<field name="page_id" ref="survey_page_odoo_the_offer" />
<field name="type">matrix_of_choices_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
<field name="sequence" eval="3"/>
</record>
<record id="survey_answer_our_answer_is" model="survey.answer">
@@ -1209,7 +1183,7 @@
<field name="question">Give your opinion about Odoo's</field>
<field name="page_id" ref="survey_page_odoo_the_offer" />
<field name="type">matrix_of_choices_only_one_ans</field>
- <field name="in_visible_single_text">1</field>
+
<field name="sequence" eval="1"/>
</record>
<record id="survey_answer_pricing_criteria" model="survey.answer">
@@ -1271,7 +1245,7 @@
<field name="question">If you have any additional comments, write them here :</field>
<field name="page_id" ref="survey_page_odoo_the_offer" />
<field name="type">comment</field>
- <field name="in_visible_single_text">1</field>
+
<field name="sequence" eval="2"/>
</record>
</data>
@@ -1346,7 +1320,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
<data>
@@ -1366,7 +1339,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
<data>
@@ -1386,7 +1358,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
@@ -1408,7 +1379,6 @@
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
<field name="in_visible_rating_weight">1</field>
- <field name="in_visible_menu_choice">1</field>
</record>
</data>
<data>
@@ -1428,7 +1398,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
<data>
@@ -1448,7 +1417,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
<data>
@@ -1468,7 +1436,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
<data>
@@ -1488,7 +1455,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
<data>
@@ -1508,7 +1474,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
<data>
@@ -1528,7 +1493,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
<data>
@@ -1549,7 +1513,6 @@
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
<field name="in_visible_rating_weight">1</field>
- <field name="in_visible_menu_choice">1</field>
</record>
</data>
<data>
@@ -1570,7 +1533,6 @@
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
<field name="in_visible_rating_weight">1</field>
- <field name="in_visible_menu_choice">1</field>
</record>
</data>
<data>
@@ -1590,7 +1552,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
<data>
@@ -1610,7 +1571,6 @@
<field eval="&quot;&quot;&quot;do_not_validate&quot;&quot;&quot;" name="validation_type"/>
<field eval="&quot;&quot;&quot;Other&quot;&quot;&quot;" name="comment_label"/>
<field eval="0" name="allow_comment"/>
- <field name="in_visible_single_text">1</field>
</record>
</data>
<data>
@@ -2191,7 +2151,6 @@
<field eval="1" name="req_ans"/>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
- <field eval="1" name="in_visible_menu_choice"/>
<field eval="1" name="in_visible_answer_type"/>
<field name="page_id" ref="survey_page_0_Community"/>
<field name="required_type">at least</field>
@@ -2220,7 +2179,6 @@
<field eval="1" name="req_ans"/>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
- <field eval="1" name="in_visible_menu_choice"/>
<field eval="1" name="in_visible_answer_type"/>
<field name="page_id" ref="survey_page_0_Community"/>
<field name="required_type">at least</field>
@@ -2249,7 +2207,6 @@
<field eval="1" name="req_ans"/>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
- <field eval="1" name="in_visible_menu_choice"/>
<field eval="1" name="in_visible_answer_type"/>
<field name="page_id" ref="survey_page_0_Community"/>
<field name="required_type">at least</field>
@@ -2278,7 +2235,6 @@
<field eval="1" name="req_ans"/>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
- <field eval="1" name="in_visible_menu_choice"/>
<field eval="1" name="in_visible_answer_type"/>
<field name="page_id" ref="survey_page_1_Community"/>
<field name="required_type">at least</field>
@@ -2307,7 +2263,6 @@
<field eval="1" name="req_ans"/>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
- <field eval="1" name="in_visible_menu_choice"/>
<field eval="1" name="in_visible_answer_type"/>
<field name="page_id" ref="survey_page_1_Community"/>
<field name="required_type">at least</field>
@@ -2336,7 +2291,6 @@
<field eval="1" name="req_ans"/>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
- <field eval="1" name="in_visible_menu_choice"/>
<field eval="1" name="in_visible_answer_type"/>
<field name="page_id" ref="survey_page_1_Community"/>
<field name="required_type">at least</field>
@@ -2365,7 +2319,6 @@
<field eval="1" name="req_ans"/>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
- <field eval="1" name="in_visible_menu_choice"/>
<field eval="1" name="in_visible_answer_type"/>
<field name="page_id" ref="survey_page_1_Community"/>
<field name="required_type">at least</field>
@@ -2394,7 +2347,6 @@
<field eval="1" name="req_ans"/>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
- <field eval="1" name="in_visible_menu_choice"/>
<field eval="1" name="in_visible_answer_type"/>
<field name="page_id" ref="survey_page_1_Community"/>
<field name="required_type">at least</field>
@@ -2423,7 +2375,6 @@
<field eval="1" name="req_ans"/>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
- <field eval="1" name="in_visible_menu_choice"/>
<field eval="0" name="in_visible_answer_type"/>
<field name="page_id" ref="survey_page_2_Community"/>
<field name="required_type">at least</field>
@@ -2452,7 +2403,6 @@
<field eval="1" name="req_ans"/>
<field name="comment_valid_err_msg">The comment you entered is in an invalid format.</field>
<field eval="0" name="make_comment_field"/>
- <field eval="1" name="in_visible_menu_choice"/>
<field eval="1" name="in_visible_answer_type"/>
<field name="page_id" ref="survey_page_2_Community"/>
<field name="required_type">at least</field>
diff --git a/addons/survey/wizard/survey_answer.py b/addons/survey/wizard/survey_answer.py
index f913f922c55..b49c9c7d156 100644
--- a/addons/survey/wizard/survey_answer.py
+++ b/addons/survey/wizard/survey_answer.py
@@ -528,8 +528,8 @@ class survey_question_wiz(osv.osv_memory):
Create the Answer of survey and store in survey.response object, and if set validation of question then check the value of question if value is wrong then raise the exception.
"""
if context is None: context = {}
-
- survey_question_wiz_id = super(survey_question_wiz,self).create(cr, uid, vals, context=context)
+
+ survey_question_wiz_id = super(survey_question_wiz,self).create(cr, uid, {'name': vals.get('name')}, context=context)
if context.has_key('active') and context.get('active',False):
return survey_question_wiz_id
diff --git a/addons/thunderbird/i18n/hr.po b/addons/thunderbird/i18n/hr.po
index cdbe896d5b7..2216d9132e8 100644
--- a/addons/thunderbird/i18n/hr.po
+++ b/addons/thunderbird/i18n/hr.po
@@ -8,21 +8,21 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-06-06 23:47+0000\n"
-"Last-Translator: Drazen Bosak <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 15:55+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: Vinteh\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:41+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
"Language: hr\n"
#. module: thunderbird
#: field:thunderbird.installer,plugin_file:0
#: field:thunderbird.installer,thunderbird:0
msgid "Thunderbird Plug-in"
-msgstr ""
+msgstr "Thunderbird Plug-in"
#. module: thunderbird
#: help:thunderbird.installer,plugin_file:0
@@ -30,6 +30,8 @@ msgid ""
"Thunderbird plug-in file. Save as this file and install this plug-in in "
"thunderbird."
msgstr ""
+"Thunderbird plug-in datoteka. Snimi kako ovu datoteku i instaliraj ovaj plug-"
+"in u Thunderbird."
#. module: thunderbird
#: help:thunderbird.installer,thunderbird:0
@@ -37,26 +39,28 @@ msgid ""
"Allows you to select an object that you would like to add to your email and "
"its attachments."
msgstr ""
+"Dozvoljava vam da odaberete objekt koji želite dodati vašoj elektroničkoj "
+"poruci kao privitak."
#. module: thunderbird
#: help:thunderbird.installer,pdf_file:0
msgid "The documentation file :- how to install Thunderbird Plug-in."
-msgstr ""
+msgstr "Datoteka s dokumentacijom : Kako instalirati Thunderbird Plug-in."
#. module: thunderbird
#: model:ir.model,name:thunderbird.model_email_server_tools
msgid "Email Server Tools"
-msgstr ""
+msgstr "Alati E-mail poslužitelja"
#. module: thunderbird
#: view:thunderbird.installer:0
msgid "_Close"
-msgstr ""
+msgstr "_Zatvori"
#. module: thunderbird
#: field:thunderbird.installer,pdf_file:0
msgid "Installation Manual"
-msgstr ""
+msgstr "Priručnik za instalaciju"
#. module: thunderbird
#: field:thunderbird.installer,description:0
@@ -66,7 +70,7 @@ msgstr "Opis"
#. module: thunderbird
#: view:thunderbird.installer:0
msgid "title"
-msgstr ""
+msgstr "Naziv"
#. module: thunderbird
#: model:ir.ui.menu,name:thunderbird.menu_base_config_plugins_thunderbird
@@ -80,6 +84,10 @@ msgid ""
"This plug-in allows you to link your e-mail to OpenERP's documents. You can "
"attach it to any existing one in OpenERP or create a new one."
msgstr ""
+"This plug-in allows you to link your e-mail to OpenERP's documents. You can "
+"attach it to any existing one in OpenERP or create a new one.\r\n"
+"Ovaj plug-in omogućuje povezivanje vaših el. poruka sa OpenERP dokumentima. "
+"Možete dodjeliti neki postojeći u OpenERP-u ili kreirati novi."
#. module: thunderbird
#: model:ir.module.module,shortdesc:thunderbird.module_meta_information
@@ -95,44 +103,44 @@ msgstr ""
#: field:thunderbird.installer,name:0
#: field:thunderbird.installer,pdf_name:0
msgid "File name"
-msgstr ""
+msgstr "Naziv datoteke"
#. module: thunderbird
#: view:thunderbird.installer:0
msgid "Installation and Configuration Steps"
-msgstr ""
+msgstr "Koraci instalacije i konfiguracije"
#. module: thunderbird
#: field:thunderbird.installer,progress:0
msgid "Configuration Progress"
-msgstr ""
+msgstr "Napredak konfiguracije"
#. module: thunderbird
#: model:ir.actions.act_window,name:thunderbird.action_thunderbird_installer
#: model:ir.actions.act_window,name:thunderbird.action_thunderbird_wizard
#: view:thunderbird.installer:0
msgid "Thunderbird Plug-In Configuration"
-msgstr ""
+msgstr "Konfiguracija Thunderbird plug-ina"
#. module: thunderbird
#: model:ir.model,name:thunderbird.model_thunderbird_partner
msgid "Thunderbid Plugin Tools"
-msgstr ""
+msgstr "Alati Thunderbird plugina"
#. module: thunderbird
#: view:thunderbird.installer:0
msgid "Configure"
-msgstr ""
+msgstr "Podešavanje"
#. module: thunderbird
#: view:thunderbird.installer:0
msgid "Skip"
-msgstr ""
+msgstr "Preskoči"
#. module: thunderbird
#: field:thunderbird.installer,config_logo:0
msgid "Image"
-msgstr ""
+msgstr "Slika"
#. module: thunderbird
#: model:ir.module.module,description:thunderbird.module_meta_information
@@ -150,6 +158,18 @@ msgid ""
"\n"
" "
msgstr ""
+"\n"
+" Ovaj modul je nužan za ispravan rad Thunderbird plugina.\n"
+" Plugin omogućava arhiviranje e-mailova i njihovih privitaka za "
+"odabrani objekt.\n"
+" Možete izabrati partnera, zadatak, projekt, analitički račun, ili bilo "
+"koji drugi objekt \n"
+" i pridružiti odabrani e-mail ako eml datoteku u privitku ili "
+"odabranom zapisu. \n"
+" Možete kreirati dokumente za CRM kontakte ili projekte iz izabranih "
+"el. poruka.\n"
+"\n"
+" "
#~ msgid ""
#~ "The Object name must start with x_ and not contain any special character !"
diff --git a/addons/users_ldap/__openerp__.py b/addons/users_ldap/__openerp__.py
index adab3ff892c..52eba24b3ce 100644
--- a/addons/users_ldap/__openerp__.py
+++ b/addons/users_ldap/__openerp__.py
@@ -19,7 +19,7 @@
##############################################################################
{
- "name" : "Authenticate users with LDAP server",
+ "name" : "Authentication via LDAP",
"version" : "1.0",
"depends" : ["base"],
"images" : ["images/ldap_configuration.jpeg"],
@@ -116,10 +116,11 @@ will disable LDAP authentication if installed at the same time.
"website" : "http://www.openerp.com",
- "category" : "Hidden",
+ "category" : "Tools",
"data" : [
"users_ldap_view.xml",
"user_ldap_installer.xml",
+ "security/ir.model.access.csv",
],
"active": False,
"installable": True,
diff --git a/addons/users_ldap/i18n/hr.po b/addons/users_ldap/i18n/hr.po
new file mode 100644
index 00000000000..32a0e301490
--- /dev/null
+++ b/addons/users_ldap/i18n/hr.po
@@ -0,0 +1,128 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-08 15:31+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: users_ldap
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr ""
+
+#. module: users_ldap
+#: constraint:res.users:0
+msgid "The chosen company is not in the allowed companies for this user"
+msgstr ""
+
+#. module: users_ldap
+#: field:res.company,ldaps:0
+msgid "LDAP Parameters"
+msgstr ""
+
+#. module: users_ldap
+#: view:res.company:0
+msgid "LDAP Configuration"
+msgstr ""
+
+#. module: users_ldap
+#: field:res.company.ldap,ldap_binddn:0
+msgid "LDAP binddn"
+msgstr ""
+
+#. module: users_ldap
+#: help:res.company.ldap,create_user:0
+msgid "Create the user if not in database"
+msgstr ""
+
+#. module: users_ldap
+#: help:res.company.ldap,user:0
+msgid "Model used for user creation"
+msgstr ""
+
+#. module: users_ldap
+#: field:res.company.ldap,company:0
+msgid "Company"
+msgstr ""
+
+#. module: users_ldap
+#: field:res.company.ldap,ldap_server:0
+msgid "LDAP Server address"
+msgstr ""
+
+#. module: users_ldap
+#: field:res.company.ldap,ldap_server_port:0
+msgid "LDAP Server port"
+msgstr ""
+
+#. module: users_ldap
+#: field:res.company.ldap,ldap_base:0
+msgid "LDAP base"
+msgstr ""
+
+#. module: users_ldap
+#: model:ir.model,name:users_ldap.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: users_ldap
+#: field:res.company.ldap,ldap_password:0
+msgid "LDAP password"
+msgstr ""
+
+#. module: users_ldap
+#: model:ir.model,name:users_ldap.model_res_company_ldap
+msgid "res.company.ldap"
+msgstr ""
+
+#. module: users_ldap
+#: model:ir.module.module,description:users_ldap.module_meta_information
+msgid "Adds support for authentication by ldap server"
+msgstr ""
+
+#. module: users_ldap
+#: field:res.company.ldap,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: users_ldap
+#: sql_constraint:res.users:0
+msgid "You can not have two users with the same login !"
+msgstr ""
+
+#. module: users_ldap
+#: model:ir.module.module,shortdesc:users_ldap.module_meta_information
+msgid "Authenticate users with ldap server"
+msgstr ""
+
+#. module: users_ldap
+#: field:res.company.ldap,user:0
+msgid "Model User"
+msgstr ""
+
+#. module: users_ldap
+#: model:ir.model,name:users_ldap.model_res_users
+msgid "res.users"
+msgstr ""
+
+#. module: users_ldap
+#: field:res.company.ldap,ldap_filter:0
+msgid "LDAP filter"
+msgstr "LDAP filtar"
+
+#. module: users_ldap
+#: field:res.company.ldap,create_user:0
+msgid "Create user"
+msgstr "Kreiraj korisnika"
diff --git a/addons/users_ldap/security/ir.model.access.csv b/addons/users_ldap/security/ir.model.access.csv
new file mode 100644
index 00000000000..d26bd0a6d48
--- /dev/null
+++ b/addons/users_ldap/security/ir.model.access.csv
@@ -0,0 +1,2 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_res_company_ldap","res_company_ldap","model_res_company_ldap","base.group_system",1,1,1,1
diff --git a/addons/warning/__openerp__.py b/addons/warning/__openerp__.py
index c299d830ed9..0d462529ced 100644
--- a/addons/warning/__openerp__.py
+++ b/addons/warning/__openerp__.py
@@ -21,9 +21,9 @@
{
- 'name': 'Display Warning Messages',
+ 'name': 'Warning Messages and Alerts',
'version': '1.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
Module to trigger warnings in OpenERP objects.
diff --git a/addons/warning/i18n/hr.po b/addons/warning/i18n/hr.po
index aa89ee62028..e449842d5a4 100644
--- a/addons/warning/i18n/hr.po
+++ b/addons/warning/i18n/hr.po
@@ -7,26 +7,26 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2010-08-02 14:56+0000\n"
-"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 17:07+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: Vinteh\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:38+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
"Language: hr\n"
#. module: warning
#: model:ir.model,name:warning.model_purchase_order_line
#: field:product.product,purchase_line_warn:0
msgid "Purchase Order Line"
-msgstr "Niz Prodajne Narudžbe"
+msgstr "Stavka naloga nabave"
#. module: warning
#: field:product.product,sale_line_warn_msg:0
msgid "Message for Sale Order Line"
-msgstr "Poruka za liniju prodaje"
+msgstr "Poruka za stavku prodajnog naloga"
#. module: warning
#: field:product.product,purchase_line_warn_msg:0
@@ -41,12 +41,12 @@ msgstr ""
#. module: warning
#: model:ir.model,name:warning.model_stock_picking
msgid "Picking List"
-msgstr ""
+msgstr "Skladišni dokument"
#. module: warning
#: field:product.product,sale_line_warn:0
msgid "Sale Order Line"
-msgstr "Linija prodaje"
+msgstr "Sale Order Line"
#. module: warning
#: view:product.product:0
@@ -56,7 +56,7 @@ msgstr "Upozorenje kod kupnje ovog proizvoda"
#. module: warning
#: model:ir.model,name:warning.model_product_product
msgid "Product"
-msgstr ""
+msgstr "Proizvod"
#. module: warning
#: sql_constraint:purchase.order:0
@@ -78,7 +78,7 @@ msgstr "Upozorenja"
#: selection:res.partner,purchase_warn:0
#: selection:res.partner,sale_warn:0
msgid "Warning"
-msgstr "Upozorenje"
+msgstr "Warning"
#. module: warning
#: selection:product.product,purchase_line_warn:0
@@ -93,7 +93,7 @@ msgstr "Blokiranje poruke"
#. module: warning
#: view:res.partner:0
msgid "Warning on the Invoice"
-msgstr "Upozorenje na račun"
+msgstr "Upozorenje na računu"
#. module: warning
#: selection:product.product,purchase_line_warn:0
@@ -124,28 +124,28 @@ msgstr "Upozorenje kod prodaje ovog proizvoda"
#. module: warning
#: field:res.partner,sale_warn:0
msgid "Sale Order"
-msgstr "Prodajna narudžba"
+msgstr "Sale Order"
#. module: warning
#: field:res.partner,picking_warn:0
msgid "Stock Picking"
-msgstr "Preuzimanje zaliha"
+msgstr "Skladišnica"
#. module: warning
#: model:ir.model,name:warning.model_purchase_order
#: field:res.partner,purchase_warn:0
msgid "Purchase Order"
-msgstr "Kupovna narudžba"
+msgstr "Nalog za nabavu"
#. module: warning
#: field:res.partner,sale_warn_msg:0
msgid "Message for Sale Order"
-msgstr "Poruka uz Prodajnu narudžnu"
+msgstr "Poruka za prodajni nalog"
#. module: warning
#: field:res.partner,purchase_warn_msg:0
msgid "Message for Purchase Order"
-msgstr "Prodaja uz kupovnu narudžbu"
+msgstr "Poruka za narudžbu (nabave)"
#. module: warning
#: code:addons/warning/warning.py:32
@@ -179,7 +179,7 @@ msgstr ""
#. module: warning
#: field:res.partner,invoice_warn_msg:0
msgid "Message for Invoice"
-msgstr "Poruka uz Račun"
+msgstr "Poruka uz račun"
#. module: warning
#: model:ir.module.module,description:warning.module_meta_information
@@ -189,7 +189,7 @@ msgstr "Module for Warnings form onchange Event."
#. module: warning
#: view:res.partner:0
msgid "Warning on the Picking"
-msgstr "Upozorenje vezano uz preuzimanje"
+msgstr "Upozorenje na skladišnicama"
#. module: warning
#: view:res.partner:0
@@ -210,32 +210,32 @@ msgstr ""
#. module: warning
#: view:res.partner:0
msgid "Warning on the Sale Order"
-msgstr "Upozorenje vezano uz kupovnu narudžbu"
+msgstr "Upozorenje vezano uz prodajni nalog"
#. module: warning
#: constraint:product.product:0
msgid "Error: Invalid ean code"
-msgstr ""
+msgstr "Greška: Neispravan barkod!"
#. module: warning
#: field:res.partner,picking_warn_msg:0
msgid "Message for Stock Picking"
-msgstr "Poruka uz preuzimanje zaliha"
+msgstr "Poruka za skladišnicu"
#. module: warning
#: model:ir.model,name:warning.model_res_partner
msgid "Partner"
-msgstr ""
+msgstr "Partner"
#. module: warning
#: model:ir.model,name:warning.model_sale_order
msgid "Sales Order"
-msgstr ""
+msgstr "Prodajni nalog"
#. module: warning
#: model:ir.model,name:warning.model_sale_order_line
msgid "Sales Order Line"
-msgstr ""
+msgstr "Stavka prodajnog naloga"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "Nepravilan XML format za View Architecture!"
diff --git a/addons/web_livechat/__openerp__.py b/addons/web_livechat/__openerp__.py
index 66d365b5636..c8ef0fe0b23 100644
--- a/addons/web_livechat/__openerp__.py
+++ b/addons/web_livechat/__openerp__.py
@@ -21,7 +21,7 @@
{
'name': 'Live Chat Support',
'version': '2.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
Enable live chat support for those who have a maintenance contract.
diff --git a/addons/web_livechat/i18n/hr.po b/addons/web_livechat/i18n/hr.po
new file mode 100644
index 00000000000..7899f56b8d5
--- /dev/null
+++ b/addons/web_livechat/i18n/hr.po
@@ -0,0 +1,41 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-08 15:20+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: web_livechat
+#: sql_constraint:publisher_warranty.contract:0
+msgid ""
+"Your publisher warranty contract is already subscribed in the system !"
+msgstr ""
+"Your publisher warranty contract is already subscribed in the system !\r\n"
+"Vaš garancijski ugovor je već unesen u sustav!"
+
+#. module: web_livechat
+#: model:ir.module.module,shortdesc:web_livechat.module_meta_information
+msgid "Live Chat Support"
+msgstr "Podrška za Live Chat"
+
+#. module: web_livechat
+#: model:ir.model,name:web_livechat.model_publisher_warranty_contract
+msgid "publisher_warranty.contract"
+msgstr "garancijski ugovor"
+
+#. module: web_livechat
+#: model:ir.module.module,description:web_livechat.module_meta_information
+msgid "Enable live chat support for whom have a maintenance contract"
+msgstr "Omogući podršku za Live Chat za one koji imaju ugovor o održavanju"
diff --git a/addons/web_livechat/publisher_warranty.py b/addons/web_livechat/publisher_warranty.py
index b0a7e793ecf..a3b59811ff8 100644
--- a/addons/web_livechat/publisher_warranty.py
+++ b/addons/web_livechat/publisher_warranty.py
@@ -26,7 +26,7 @@ def _gen_cache_clear(method):
def func(self, cr, *args, **kwargs):
s = super(publisher_warranty_contract, self)
r = getattr(s, method)(cr, *args, **kwargs)
- self.is_livechat_enable.clear_cache(cr.dbname)
+ self.is_livechat_enable.clear_cache(self)
return r
return func
@@ -44,7 +44,7 @@ class publisher_warranty_contract(osv.osv):
@cache(skiparg=3)
def get_default_livechat_text(self, cr, uid):
- return '<a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank"><img src="/web_livechat/static/src/img/busy.png"/>Support</a>'
+ return '<a href="#" target="_blank"><img src="/web_livechat/static/src/img/busy.png"/>Support</a>'
publisher_warranty_contract()
diff --git a/addons/web_livechat/static/src/js/web_livechat.js b/addons/web_livechat/static/src/js/web_livechat.js
index 13c4bbe28d4..e35b726ef77 100644
--- a/addons/web_livechat/static/src/js/web_livechat.js
+++ b/addons/web_livechat/static/src/js/web_livechat.js
@@ -33,7 +33,16 @@ openerp.web_livechat.Livechat = openerp.web.Widget.extend({
var pwc = new openerp.web.Model(self.session, "publisher_warranty.contract");
pwc.get_func('get_default_livechat_text')().then(function(text) {
self.$element.html(text);
+ console.log('receiving text', text);
self.do_update();
+ pwc.get_func('is_livechat_enable')().then(function(res) {
+ console.log('result', res);
+ if(res) {
+ self.$element.click(self.do_load_livechat);
+ } else {
+ self.do_action({type: 'ir.act.url', url: 'http://www.openerp.com/support-or-publisher-warranty-contract'});
+ }
+ })
});
openerp.webclient.header.do_update.add_last(this.do_update);
@@ -45,7 +54,14 @@ openerp.web_livechat.Livechat = openerp.web.Widget.extend({
self.$element.remove();
return;
}
-
+ },
+
+ do_load_livechat: function(evt) {
+ evt.preventDefault();
+ var self = this;
+
+ this.$element.unbind('click', this.do_load_livechat);
+
var lc_id = _.uniqueId('livechat_');
this.$element.attr('id', lc_id);
@@ -56,6 +72,8 @@ openerp.web_livechat.Livechat = openerp.web.Widget.extend({
if(!res) {
//return;
}
+ // connect to LiveChat
+ __lc_load();
__lc_buttons.push({
elementId: lc_id, //'livechat_status',
@@ -77,17 +95,28 @@ if (openerp.webclient) {
params = '',
lang = 'en',
skill = '0';
- __lc_load = function (p) { if (typeof __lc_loaded != 'function')
- if (p) { var d = document, l = d.createElement('script'), s =
- d.getElementsByTagName('script')[0], a = unescape('%26'),
- h = ('https:' == d.location.protocol ? 'https://' : 'http://'); l.type = 'text/javascript'; l.async = true;
- l.src = h + 'gis' + p +'.livechatinc.com/gis.cgi?serverType=control'+a+'licenseID='+license+a+'jsonp=__lc_load';
- if (!(typeof p['server'] !== 'string' || typeof __lc_serv === 'string')) {
- l.src = h + (__lc_serv = p['server']) + '/licence/'+license+'/script.cgi?lang='+lang+a+'groups='+skill;
- l.src += (params == '') ? '' : a+'params='+encodeURIComponent(encodeURIComponent(params)); s.parentNode.insertBefore(l, s);
- } else setTimeout(__lc_load, 1000); if(typeof __lc_serv != 'string'){ s.parentNode.insertBefore(l, s);}
- } else __lc_load(Math.ceil(Math.random()*5)); }
- __lc_load();
+ __lc_load = function (p) {
+ if (typeof __lc_loaded != 'function')
+ if (p) {
+ var d = document,
+ l = d.createElement('script'),
+ s = d.getElementsByTagName('script')[0],
+ a = unescape('%26'),
+ h = ('https:' == d.location.protocol ? 'https://' : 'http://');
+ l.type = 'text/javascript';
+ l.async = true;
+ l.src = h + 'gis' + p +'.livechatinc.com/gis.cgi?serverType=control'+a+'licenseID='+license+a+'jsonp=__lc_load';
+ if (!(typeof p['server'] !== 'string' || typeof __lc_serv === 'string')) {
+ l.src = h + (__lc_serv = p['server']) + '/licence/'+license+'/script.cgi?lang='+lang+a+'groups='+skill;
+ l.src += (params == '') ? '' : a+'params='+encodeURIComponent(encodeURIComponent(params));
+ s.parentNode.insertBefore(l, s);
+ } else
+ setTimeout(__lc_load, 1000);
+ if(typeof __lc_serv != 'string'){
+ s.parentNode.insertBefore(l, s);
+ }
+ } else __lc_load(Math.ceil(Math.random()*5));
+ }
// and add widget to webclient
openerp.webclient.livechat = new openerp.web_livechat.Livechat(openerp.webclient);
diff --git a/addons/web_uservoice/__openerp__.py b/addons/web_uservoice/__openerp__.py
index 41f80d4f7d1..03e312179af 100644
--- a/addons/web_uservoice/__openerp__.py
+++ b/addons/web_uservoice/__openerp__.py
@@ -21,7 +21,7 @@
{
'name': 'Receive User Feedback',
'version': '2.0',
- 'category': 'Hidden',
+ 'category': 'Tools',
'complexity': "easy",
'description': """
Add Feedback button in header.
diff --git a/addons/web_uservoice/i18n/hr.po b/addons/web_uservoice/i18n/hr.po
new file mode 100644
index 00000000000..64370eab463
--- /dev/null
+++ b/addons/web_uservoice/i18n/hr.po
@@ -0,0 +1,29 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-12 16:15+0000\n"
+"PO-Revision-Date: 2011-12-08 15:15+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: web_uservoice
+#: model:ir.module.module,shortdesc:web_uservoice.module_meta_information
+msgid "Add uservoice button in header"
+msgstr "Dodaj gumb glasa korisnika u zaglavlje"
+
+#. module: web_uservoice
+#: code:addons/web_uservoice/web/editors.py:72
+#, python-format
+msgid "feedback"
+msgstr "Povratna informacija"
diff --git a/addons/wiki/i18n/hr.po b/addons/wiki/i18n/hr.po
index fe6a66b2a23..15d85738228 100644
--- a/addons/wiki/i18n/hr.po
+++ b/addons/wiki/i18n/hr.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:16+0000\n"
-"PO-Revision-Date: 2011-09-20 02:17+0000\n"
-"Last-Translator: wooer <Unknown>\n"
+"PO-Revision-Date: 2011-12-08 16:14+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-11-05 05:35+0000\n"
-"X-Generator: Launchpad (build 14231)\n"
+"X-Launchpad-Export-Date: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
#. module: wiki
#: field:wiki.groups,template:0
@@ -52,12 +52,12 @@ msgstr "Izbornik"
#. module: wiki
#: field:wiki.wiki,section:0
msgid "Section"
-msgstr "Odlomak"
+msgstr "Grupa"
#. module: wiki
#: help:wiki.wiki,toc:0
msgid "Indicates that this pages have a table of contents or not"
-msgstr "Ukazuje da li ove stranice imaju tablicu sadržaja ili ne"
+msgstr "Indicates that this pages have a table of contents or not"
#. module: wiki
#: model:ir.model,name:wiki.model_wiki_wiki_history
@@ -79,18 +79,18 @@ msgstr "Sadržaj"
#. module: wiki
#: field:wiki.wiki,child_ids:0
msgid "Child Pages"
-msgstr ""
+msgstr "Podređene stranice"
#. module: wiki
#: field:wiki.wiki,parent_id:0
msgid "Parent Page"
-msgstr ""
+msgstr "Parent Page"
#. module: wiki
#: view:wiki.wiki:0
#: field:wiki.wiki,write_uid:0
msgid "Last Contributor"
-msgstr "Zadnji suradnik"
+msgstr "Zadnji doprinos"
#. module: wiki
#: field:wiki.create.menu,menu_parent_id:0
@@ -100,7 +100,7 @@ msgstr "Nadređeni izbornik"
#. module: wiki
#: help:wiki.wiki,group_id:0
msgid "Topic, also called Wiki Group"
-msgstr ""
+msgstr "Topic, poznat kao Wiki Group"
#. module: wiki
#: field:wiki.groups,name:0
@@ -117,12 +117,12 @@ msgstr "Naslov"
#. module: wiki
#: model:ir.model,name:wiki.model_wiki_create_menu
msgid "Wizard Create Menu"
-msgstr "Čarobnjak za stvaranje izbornika"
+msgstr "Wizard Create Menu"
#. module: wiki
#: field:wiki.wiki,history_id:0
msgid "History Lines"
-msgstr "Redovi povijesti"
+msgstr "Povijesni niz"
#. module: wiki
#: view:wiki.wiki:0
@@ -159,7 +159,7 @@ msgstr "Opis"
#. module: wiki
#: field:wiki.wiki,review:0
msgid "Needs Review"
-msgstr "Potrebno pregledati"
+msgstr "Traži provjeru"
#. module: wiki
#: help:wiki.wiki,review:0
@@ -167,7 +167,8 @@ msgid ""
"Indicates that this page should be reviewed, raising the attention of other "
"contributors"
msgstr ""
-"Ukazuje da ovu stranicu treba pregledati, skrećući pozornost drugih suradnika"
+"Indicates that this page should be reviewed, raising the attention of other "
+"contributors"
#. module: wiki
#: view:wiki.create.menu:0
@@ -183,7 +184,7 @@ msgstr "Povijest stranice"
#. module: wiki
#: selection:wiki.groups,method:0
msgid "Tree"
-msgstr ""
+msgstr "Stablo"
#. module: wiki
#: view:wiki.groups:0
@@ -193,7 +194,7 @@ msgstr "Predložak stranice"
#. module: wiki
#: field:wiki.wiki,tags:0
msgid "Keywords"
-msgstr ""
+msgstr "Ključne riječi"
#. module: wiki
#: model:ir.actions.act_window,help:wiki.action_wiki
@@ -203,6 +204,10 @@ msgid ""
"(CRM, Sales, etc.). You can use keywords to ease access to your wiki pages. "
"There is a basic wiki editing for text format."
msgstr ""
+"With Wiki Pages you can share ideas and questions with your coworkers. You "
+"can create a new document that can be linked to one or several applications "
+"(CRM, Sales, etc.). You can use keywords to ease access to your wiki pages. "
+"There is a basic wiki editing for text format."
#. module: wiki
#: code:addons/wiki/wizard/wiki_show_diff.py:54
@@ -230,17 +235,17 @@ msgstr "Želite li kreirati indeks na označenim stranicama ? "
#: model:ir.actions.act_window,name:wiki.action_view_wiki_show_diff_values
#: view:wizard.wiki.history.show_diff:0
msgid "Difference"
-msgstr ""
+msgstr "Razlika"
#. module: wiki
#: field:wiki.groups,page_ids:0
msgid "Pages"
-msgstr "Stranice"
+msgstr "Pages"
#. module: wiki
#: view:wiki.groups:0
msgid "Group Description"
-msgstr ""
+msgstr "Group Description"
#. module: wiki
#: help:wiki.wiki,section:0
@@ -250,7 +255,7 @@ msgstr "Koristite numeriranje odlomaka na stranici poput 1.2.1"
#. module: wiki
#: view:wiki.wiki.page.open:0
msgid "Want to open a wiki page? "
-msgstr ""
+msgstr "Want to open a wiki page? "
#. module: wiki
#: field:wiki.groups,section:0
@@ -265,7 +270,7 @@ msgstr "Područje teksta"
#. module: wiki
#: view:wiki.wiki:0
msgid "Meta Information"
-msgstr ""
+msgstr "Meta informacije"
#. module: wiki
#: model:ir.module.module,description:wiki.module_meta_information
@@ -286,12 +291,12 @@ msgstr "Bilješke"
#. module: wiki
#: help:wiki.groups,home:0
msgid "Required to select home page if display method is Home Page"
-msgstr ""
+msgstr "Required to select home page if display method is Home Page"
#. module: wiki
#: selection:wiki.groups,method:0
msgid "List"
-msgstr ""
+msgstr "List"
#. module: wiki
#: field:wiki.wiki,summary:0
@@ -317,12 +322,12 @@ msgstr "wiki.wiki"
#. module: wiki
#: help:wiki.groups,method:0
msgid "Define the default behaviour of the menu created on this group"
-msgstr ""
+msgstr "Definirajte uobičajeno ponašanje izbornika za ovu grupu"
#. module: wiki
#: view:wizard.wiki.history.show_diff:0
msgid "Close"
-msgstr ""
+msgstr "Zatvori"
#. module: wiki
#: model:ir.model,name:wiki.model_wizard_wiki_history_show_diff
@@ -338,17 +343,17 @@ msgstr "Wiki Id"
#: field:wiki.groups,home:0
#: selection:wiki.groups,method:0
msgid "Home Page"
-msgstr ""
+msgstr "Home Page"
#. module: wiki
#: help:wiki.wiki,parent_id:0
msgid "Allows you to link with the other page with in the current topic"
-msgstr ""
+msgstr "Allows you to link with the other page with in the current topic"
#. module: wiki
#: view:wiki.wiki:0
msgid "Modification Information"
-msgstr ""
+msgstr "Informacije o promjeni"
#. module: wiki
#: model:ir.ui.menu,name:wiki.menu_wiki_configuration
@@ -364,7 +369,7 @@ msgstr "Datum promjene"
#. module: wiki
#: view:wiki.groups:0
msgid "Configuration"
-msgstr "Postavke"
+msgstr "Postava"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.action_view_wiki_make_index
@@ -383,7 +388,7 @@ msgstr "Potrebno je odabrati najmanje 1 do najviše 2 povijesne revizije!"
#. module: wiki
#: view:wiki.wiki:0
msgid "Group By..."
-msgstr ""
+msgstr "Grupiraj po..."
#. module: wiki
#: model:ir.actions.act_window,name:wiki.action_wiki_create_menu
@@ -391,7 +396,7 @@ msgstr ""
#: view:wiki.groups:0
#: view:wiki.make.index:0
msgid "Create Menu"
-msgstr "Kreiraj izbornik"
+msgstr "Stvori izbornik"
#. module: wiki
#: field:wiki.wiki.history,minor_edit:0
@@ -410,7 +415,7 @@ msgstr "Wiki grupe"
#. module: wiki
#: view:wiki.wiki:0
msgid "Topic"
-msgstr ""
+msgstr "Naslov"
#. module: wiki
#: field:wiki.wiki.history,write_uid:0
@@ -428,12 +433,12 @@ msgstr "Sadržaj"
#: view:wiki.groups:0
#: view:wiki.wiki.page.open:0
msgid "Open Wiki Page"
-msgstr ""
+msgstr "Open Wiki Page"
#. module: wiki
#: model:ir.model,name:wiki.model_wiki_wiki_page_open
msgid "wiz open page"
-msgstr ""
+msgstr "wiz open page"
#. module: wiki
#: view:wiki.create.menu:0
@@ -455,12 +460,12 @@ msgstr "Potrebna provjera"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.action_wiki_review
msgid "Pages Waiting Review"
-msgstr ""
+msgstr "Čekanje pregleda stranice"
#. module: wiki
#: model:ir.actions.act_window,name:wiki.act_wiki_group_open
msgid "Search Page"
-msgstr ""
+msgstr "Search Page"
#~ msgid "Child Groups"
#~ msgstr "Podgrupe"
diff --git a/addons/wiki_faq/i18n/hr.po b/addons/wiki_faq/i18n/hr.po
new file mode 100644
index 00000000000..b4086bcee42
--- /dev/null
+++ b/addons/wiki_faq/i18n/hr.po
@@ -0,0 +1,32 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-08 15:09+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: wiki_faq
+#: model:ir.module.module,description:wiki_faq.module_meta_information
+msgid ""
+"This module provides a wiki FAQ Template\n"
+" "
+msgstr ""
+"Ovaj modul nudi obrazac za wiki često postavljana pitanja\n"
+" "
+
+#. module: wiki_faq
+#: model:ir.module.module,shortdesc:wiki_faq.module_meta_information
+msgid "Document Management - Wiki - FAQ"
+msgstr "Upravljanje dokumentima - Wiki - Često postavljanja pitanja"
diff --git a/addons/wiki_quality_manual/i18n/hr.po b/addons/wiki_quality_manual/i18n/hr.po
new file mode 100644
index 00000000000..bae2fb85d1e
--- /dev/null
+++ b/addons/wiki_quality_manual/i18n/hr.po
@@ -0,0 +1,32 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-08 15:10+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: wiki_quality_manual
+#: model:ir.module.module,description:wiki_quality_manual.module_meta_information
+msgid ""
+"Quality Manual Template\n"
+" "
+msgstr ""
+"Predložak priručnika kvalitete\n"
+" "
+
+#. module: wiki_quality_manual
+#: model:ir.module.module,shortdesc:wiki_quality_manual.module_meta_information
+msgid "Document Management - Wiki - Quality Manual"
+msgstr "Upravljanje dokumentima - Wiki - Priručnik kvalitete"
diff --git a/addons/wiki_sale_faq/i18n/hr.po b/addons/wiki_sale_faq/i18n/hr.po
new file mode 100644
index 00000000000..9a534fa2941
--- /dev/null
+++ b/addons/wiki_sale_faq/i18n/hr.po
@@ -0,0 +1,81 @@
+# Croatian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:16+0000\n"
+"PO-Revision-Date: 2011-12-08 15:04+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+"Language-Team: Croatian <hr@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: 2011-12-09 04:46+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+
+#. module: wiki_sale_faq
+#: model:ir.actions.act_window,name:wiki_sale_faq.action_document_form
+#: model:ir.ui.menu,name:wiki_sale_faq.menu_document_files
+#: model:ir.ui.menu,name:wiki_sale_faq.menu_sales
+msgid "Documents"
+msgstr "Dokumenti"
+
+#. module: wiki_sale_faq
+#: model:ir.actions.act_window,name:wiki_sale_faq.action_wiki_test
+msgid "Wiki Pages"
+msgstr "Wiki stranice"
+
+#. module: wiki_sale_faq
+#: model:ir.ui.menu,name:wiki_sale_faq.menu_action_wiki_wiki
+msgid "FAQ"
+msgstr "Često postavljana pitanja"
+
+#. module: wiki_sale_faq
+#: model:ir.module.module,description:wiki_sale_faq.module_meta_information
+msgid ""
+"This module provides a wiki FAQ Template\n"
+" "
+msgstr ""
+"Ovaj modul nudi obrazac za wiki često postavljana pitanja\n"
+" "
+
+#. module: wiki_sale_faq
+#: model:ir.actions.act_window,help:wiki_sale_faq.action_wiki_test
+msgid ""
+"Wiki pages allow you to share ideas and questions with coworkers. You can "
+"create a new document that can be linked to one or several applications "
+"(specifications of a project, FAQ for sales teams, etc.). Keywords can be "
+"used to easily tag wiki pages. You should use this application with the "
+"OpenERP web client interface."
+msgstr ""
+"Wiki stranice dozvoljavaju razmjenu ideja i pitanja sa suradnicima. Možete "
+"kreirati novi dokument kojeg je moguće povezati s jednom ili više aplikacija "
+"(specifikacije projekata, često postavljana pitanja za prodajne timove, "
+"itd.). Pomoću ključnih riječi može se lako istaknuti wiki stranice. Ovu "
+"aplikaciju bi trebali koristiti kroz OpenERP web sučelje."
+
+#. module: wiki_sale_faq
+#: model:ir.module.module,shortdesc:wiki_sale_faq.module_meta_information
+msgid "Wiki -Sale - FAQ"
+msgstr "Wiki-Prodaja-često postavljana pitanja"
+
+#. module: wiki_sale_faq
+#: model:ir.actions.act_window,help:wiki_sale_faq.action_document_form
+msgid ""
+"Documents give you access to all files attached to any record. It is a "
+"repository of all documents such as emails, project-related attachments or "
+"any other documents. From this view, you can search through the content of "
+"the documents. OpenERP automatically assign meta data based on the record "
+"like the related partner and indexes the content of .DOC, .ODT, .TXT, .SXW "
+"and .PDF documents."
+msgstr ""
+"Dokumenti vam daju pristup svih datotekama dodjeljenim bilo kojem zapisu. To "
+"je repozitorij svih dokumenata poput el. poruka, privitaka vezanih uz neki "
+"projekt, ili bilo koji drugi dokument. Iz ovog pregleda možete pretraživati "
+"sadržaj dokumenata. OpenERP automatski dodjeljuje meta podatke bazirane na "
+"zapisima poput povezanog partnera i indeksira sadržaj .DOC, .ODT, .TXT, .SXW "
+"i .PDF dokumente."