diff --git a/addons/account/account_bank_view.xml b/addons/account/account_bank_view.xml index 6ee69184ce1..4b3436c8a51 100644 --- a/addons/account/account_bank_view.xml +++ b/addons/account/account_bank_view.xml @@ -42,7 +42,17 @@ form tree,form - Configure your company's bank account and select those that must appear on the report footer. You can reorder banks in the list view. If you use the accounting application of OpenERP, journals and accounts will be created automatically based on these data. + +

+ Click to setup a new bank account. +

+ Configure your company's bank account and select those that must + appear on the report footer. +

+ If you use the accounting application of OpenERP, journals and + accounts will be created automatically based on these data. +

+
new
- - Accounting - 5 - - - 3 automatic diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 393c468c952..501a50b96c2 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -442,32 +442,22 @@ search - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - @@ -519,11 +509,18 @@ [('type','=','out_invoice')] {'default_type':'out_invoice', 'type':'out_invoice', 'journal_type': 'sale'} - - Click here to create a new Invoice. - <p> - An invoice can be generated automatically from a sale order or a delivery order. - The invoice can be send by email. + +

+ Click to create a customer invoice. +

+ OpenERP's electronic invoicing allows to ease and fasten the + collection of customer payments. Your customer receives the + invoice by email and he can pay online and/or import it + in his own system. +

+ The discussions with your customer are automatically displayed at + the bottom of each invoice. +

@@ -552,11 +549,14 @@ [('type','=','in_invoice')] {'default_type': 'in_invoice', 'type': 'in_invoice', 'journal_type': 'purchase'} - - Click here to create Supplier invoice. - <p> - You can control the invoice from your supplier according to what you purchased or received. - OpenERP can also generate draft invoices automatically from purchase orders or receipts. + +

+ Click to record a new supplier invoice. +

+ You can control the invoice from your supplier according to + what you purchased or received. OpenERP can also generate + draft invoices automatically from purchase orders or receipts. +

@@ -570,11 +570,16 @@ [('type','=','out_refund')] {'default_type':'out_refund', 'type':'out_refund', 'journal_type': 'sale_refund'} - - Click here to create a new customer refund. - <p> - A refund is a document that credits an invoice completely or partially. - You can also generate refunds and reconcile them directly from the invoice form. + +

+ Click to create a customer refund. +

+ A refund is a document that credits an invoice completely or + partially. +

+ Instead of manually creating a customer refund, you + can generate it directly from the related customer invoice. +

@@ -601,11 +606,13 @@ [('type','=','in_refund')] {'default_type': 'in_refund', 'type': 'in_refund', 'journal_type': 'purchase_refund'} - - Click here to create a new supplier refund. - <p> - Track refunds you receive from your suppliers. - You can also generate refunds and reconcile them directly from the invoice form. + +

+ Click to register a refund you received from a supplier. +

+ Instead of creating the supplier refund manually, you can generate + refunds and reconcile them directly from the related supplier invoice. +

diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index d342dc5d3b9..24d21cff3e8 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -63,15 +63,10 @@ search - - - - - - - - - + + + + @@ -83,7 +78,19 @@ account.fiscalyear form tree,form - Define your company's financial year according to your needs. A financial year is a period at the end of which a company's accounts are made up (usually 12 months). The financial year is usually referred to by the date in which it ends. For example, if a company's financial year ends November 30, 2011, then everything between December 1, 2010 and November 30, 2011 would be referred to as FY 2011. You are not obliged to follow the actual calendar year. + +

+ Click to start a new fiscal year. +

+ Define your company's financial year according to your needs. A + financial year is a period at the end of which a company's + accounts are made up (usually 12 months). The financial year is + usually referred to by the date in which it ends. For example, + if a company's financial year ends November 30, 2011, then + everything between December 1, 2010 and November 30, 2011 + would be referred to as FY 2011. +

+
@@ -146,11 +153,8 @@ search - - - - - + + @@ -161,7 +165,14 @@ form tree,form {'search_default_draft': 1} - Here you can define a financial period, an interval of time in your company's financial year. An accounting period typically is a month or a quarter. It usually corresponds to the periods of the tax declaration. Create and manage periods from here and decide whether a period should be closed or left open depending on your company's activities over a specific period. + +

+ Click to add a fiscal period. +

+ An accounting period typically is a month or a quarter. It + usually corresponds to the periods of the tax declaration. +

+
@@ -217,18 +228,12 @@ search - - - - - - - - - + + + + - @@ -274,7 +279,18 @@ tree,form,graph - Create and manage the accounts you need to record journal entries. An account is part of a ledger allowing your company to register all kinds of debit and credit transactions. Companies present their annual accounts in two main parts: the balance sheet and the income statement (profit and loss account). The annual accounts of a company are required by law to disclose a certain amount of information. They have to be certified by an external auditor annually. + +

+ Click to add an account. +

+ An account is part of a ledger allowing your company + to register all kinds of debit and credit transactions. + Companies present their annual accounts in two main parts: the + balance sheet and the income statement (profit and loss + account). The annual accounts of a company are required by law + to disclose a certain amount of information. +

+
@@ -334,7 +350,17 @@ tree [('currency_id','!=',False)] - When doing multi-currency transactions, you may loose or gain some amount due to changes of exchange rate. This menu gives you a forecast of the Gain or Loss you'd realized if those transactions were ended today. Only for accounts having a secondary currency set. + +

+ Click to add an account. +

+ When doing multi-currency transactions, you may loose or gain + some amount due to changes of exchange rate. This menu gives + you a forecast of the Gain or Loss you'd realized if those + transactions were ended today. Only for accounts having a + secondary currency set. +

+
form
tree,form - 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. + +

+ Click to specify lists of columns to display for a type of journal. +

+ 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. +

+ On the journal definition form, you can select the view you + want to use to display journal items related to this journal. +

+
@@ -440,21 +477,15 @@ search - - - - - - - - + + @@ -532,7 +563,18 @@ account.journal form tree,form - Create and manage your company's journals from this menu. A journal is used to record transactions of all accounting data related to the day-to-day business of your company using double-entry bookkeeping system. Depending on the nature of its activities and the number of daily transactions, a company may keep several types of specialized journals such as a cash journal, purchase journal, sales journal... + +

+ Click to add a journal. +

+ A journal is used to record transactions of all accounting data + related to the day-to-day business. +

+ A typical company may use one journal per payment method (cash, + bank accounts, checks), one purchase journal, one sale journal + and one for miscellaneous information. +

+
@@ -542,22 +584,15 @@ search - - - - - - - - - - - - + + + + + + - @@ -587,22 +622,15 @@ search - - - - - - - - - - - - + + + + + + - @@ -696,7 +724,18 @@ [('journal_id.type', '=', 'bank')] {'journal_type':'bank'} - 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. + +

+ Click to register a bank statement. +

+ A bank statement is a summary of all financial transactions + occurring over a given period of time on a bank account. You + should receive this periodicaly from your bank. +

+ OpenERP allows you to reconcile a statement line directly with + the related sale or puchase invoices. +

+
@@ -775,7 +814,17 @@ form tree,form - 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. + +

+ Click to define a new account type. +

+ 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). +

+
@@ -550,7 +551,6 @@ Set Your Accounting Options - automatic diff --git a/addons/account/i18n/es_EC.po b/addons/account/i18n/es_EC.po index 7eff1938061..14beb1f5d65 100644 --- a/addons/account/i18n/es_EC.po +++ b/addons/account/i18n/es_EC.po @@ -10,15 +10,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-08 00:35+0000\n" -"PO-Revision-Date: 2011-12-31 16:16+0000\n" -"Last-Translator: Christopher Ormaza - (Ecuadorenlinea.net) " -"\n" +"PO-Revision-Date: 2012-07-30 03:26+0000\n" +"Last-Translator: Cristian Salamea (Gnuthink) \n" "Language-Team: Spanish (Ecuador) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-14 05:58+0000\n" -"X-Generator: Launchpad (build 15614)\n" +"X-Launchpad-Export-Date: 2012-08-01 04:43+0000\n" +"X-Generator: Launchpad (build 15719)\n" #. module: account #: view:account.invoice.report:0 @@ -446,7 +445,7 @@ msgstr "Total crédito" #. module: account #: view:account.move.line.unreconcile.select:0 msgid "Open for Unreconciliation" -msgstr "" +msgstr "Abrir para romper conciliación" #. module: account #: field:account.account.template,chart_template_id:0 @@ -1612,7 +1611,7 @@ msgstr "Base Imponible" #. module: account #: view:account.partner.reconcile.process:0 msgid "Go to Next Partner" -msgstr "" +msgstr "Ir a la siguiente empresa" #. module: account #: view:account.bank.statement:0 @@ -2859,7 +2858,7 @@ msgstr "" #: model:ir.actions.act_window,name:account.action_tax_code_list #: model:ir.ui.menu,name:account.menu_action_tax_code_list msgid "Tax Codes" -msgstr "" +msgstr "Códigos de impuestos" #. module: account #: view:account.account:0 @@ -3229,7 +3228,7 @@ msgstr "Plantillas para el plan contable" #. module: account #: model:ir.actions.act_window,name:account.action_wizard_multi_chart msgid "Set Your Accounting Options" -msgstr "" +msgstr "Configurar tu Contabilidad" #. module: account #: view:report.account.sales:0 @@ -4405,7 +4404,7 @@ msgstr "Reconcile Writeoff" #. module: account #: view:report.account.receivable:0 msgid "Accounts by Type" -msgstr "" +msgstr "Cuentas por tipo" #. module: account #: view:account.bank.statement:0 @@ -4447,7 +4446,7 @@ msgstr "res_config_contents" #. module: account #: view:account.unreconcile:0 msgid "Unreconciliate Transactions" -msgstr "" +msgstr "Transacciones no conciliadas" #. module: account #: help:account.chart.template,visible:0 @@ -4650,7 +4649,7 @@ msgstr "Fecha de realizacion" #. module: account #: view:account.unreconcile.reconcile:0 msgid "Unreconciliation Transactions" -msgstr "" +msgstr "Desconcialiación de Transacciones" #. module: account #: field:account.tax,ref_tax_code_id:0 @@ -4785,7 +4784,7 @@ msgstr "Pagado" #. module: account #: view:account.period.close:0 msgid "Are you sure?" -msgstr "" +msgstr "¿Está Seguro?" #. module: account #: help:account.move.line,statement_id:0 @@ -5183,7 +5182,7 @@ msgstr "Cuenta impuesto" #. module: account #: view:account.automatic.reconcile:0 msgid "Reconciliation Result" -msgstr "" +msgstr "Resultado de conciliación" #. module: account #: model:account.financial.report,name:account.account_financial_report_balancesheet0 @@ -6173,7 +6172,7 @@ msgstr "Impuesto de venta(%)" #. module: account #: view:account.addtmpl.wizard:0 msgid "Create an Account Based on this Template" -msgstr "" +msgstr "Crear una cuenta basada en esta plantilla" #. module: account #: view:account.account.type:0 diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index 76aaaf7df6a..b95e1c16bfd 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -30,22 +30,15 @@ search - - - - - - - - - - - - + + + + + + - @@ -107,7 +100,21 @@ tree [('parent_id','=',False)] - The normal chart of accounts has a structure defined by the legal requirement of the country. The analytic chart of accounts structure should reflect your own business needs in term of costs/revenues reporting. They are usually structured by contracts, projects, products or departements. Most of the OpenERP operations (invoices, timesheets, expenses, etc) generate analytic entries on the related account. + +

+ Click to add a new analytic account. +

+ The normal chart of accounts has a structure defined by the + legal requirement of the country. The analytic chart of + accounts structure should reflect your own business needs in + term of costs/revenues reporting. +

+ They are usually structured by contracts, projects, products or + departements. Most of the OpenERP operations (invoices, + timesheets, expenses, etc) generate analytic entries on the + related account. +

+
search
- - - - - - - - - - - - - - + + + + + + + + + - - @@ -304,11 +304,8 @@ search - - - - - + + diff --git a/addons/account/report/account_analytic_entries_report_view.xml b/addons/account/report/account_analytic_entries_report_view.xml index 7c9870ca07e..35031180523 100644 --- a/addons/account/report/account_analytic_entries_report_view.xml +++ b/addons/account/report/account_analytic_entries_report_view.xml @@ -34,31 +34,21 @@ search - - - - - - - - - - - - + + + + + + - - - - diff --git a/addons/account/report/account_entries_report_view.xml b/addons/account/report/account_entries_report_view.xml index 54275f6a4b3..8c445052094 100644 --- a/addons/account/report/account_entries_report_view.xml +++ b/addons/account/report/account_entries_report_view.xml @@ -67,54 +67,35 @@ search - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + - - - - - diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml index 7d6a4003b53..e3e0b210f20 100644 --- a/addons/account/report/account_invoice_report_view.xml +++ b/addons/account/report/account_invoice_report_view.xml @@ -55,68 +55,32 @@ search - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - diff --git a/addons/account/report/account_treasury_report_view.xml b/addons/account/report/account_treasury_report_view.xml index 9e07c196f3c..f0096b561bb 100644 --- a/addons/account/report/account_treasury_report_view.xml +++ b/addons/account/report/account_treasury_report_view.xml @@ -36,12 +36,9 @@ search - - - - - - + + + diff --git a/addons/account/res_config.py b/addons/account/res_config.py index 16f37f05301..120d901a006 100644 --- a/addons/account/res_config.py +++ b/addons/account/res_config.py @@ -37,82 +37,82 @@ class account_config_settings(osv.osv_memory): 'company_id': fields.many2one('res.company', 'Company', required=True), 'has_default_company': fields.boolean('Has default company', readonly=True), 'expects_chart_of_accounts': fields.related('company_id', 'expects_chart_of_accounts', type='boolean', - string='This Company Has its Own Chart of Accounts', + string='This company has its own chart of accounts', help="""Check this box if this company is a legal entity."""), 'currency_id': fields.related('company_id', 'currency_id', type='many2one', relation='res.currency', required=True, - string='Default Company Currency', help="Main currency of the company."), + string='Default company currency', help="Main currency of the company."), 'paypal_account': fields.related('company_id', 'paypal_account', type='char', size=128, - string='Paypal Account', help="Paypal account (email) for receiving online payments (credit card, etc.) If you set a paypal account, the customer will be able to pay your invoices or quotations with a button \"Pay with Paypal\" in automated emails or through the OpenERP portal."), + string='Paypal account', help="Paypal account (email) for receiving online payments (credit card, etc.) If you set a paypal account, the customer will be able to pay your invoices or quotations with a button \"Pay with Paypal\" in automated emails or through the OpenERP portal."), 'company_footer': fields.related('company_id', 'rml_footer2', type='char', size=250, readonly=True, - string='Bank Accounts on Reports', help="Bank accounts as printed in the footer of each customer document. This is for information purpose only, you should configure these bank accounts through the above button \"Configure Bank Accounts\"."), + string='Bank accounts on reports will display as followed', help="Bank accounts as printed in the footer of each customer document. This is for information purpose only, you should configure these bank accounts through the above button \"Configure Bank Accounts\"."), 'has_chart_of_accounts': fields.boolean('Company has a chart of accounts'), - 'chart_template_id': fields.many2one('account.chart.template', 'Chart Template', domain="[('visible','=', True)]"), - 'code_digits': fields.integer('# of Digits', help="No. of Digits to use for account code"), + 'chart_template_id': fields.many2one('account.chart.template', 'Template', domain="[('visible','=', True)]"), + 'code_digits': fields.integer('# of Digits', help="No. of digits to use for account code"), 'tax_calculation_rounding_method': fields.related('company_id', 'tax_calculation_rounding_method', type='selection', selection=[ ('round_per_line', 'Round per Line'), ('round_globally', 'Round Globally'), - ], string='Tax Calculation Rounding Method', + ], string='Tax calculation rounding method', help="If you select 'Round per Line' : for each tax, the tax amount will first be computed and rounded for each PO/SO/invoice line and then these rounded amounts will be summed, leading to the total amount for that tax. If you select 'Round Globally': for each tax, the tax amount will be computed for each PO/SO/invoice line, then these amounts will be summed and eventually this total tax amount will be rounded. If you sell with tax included, you should choose 'Round per line' because you certainly want the sum of your tax-included line subtotals to be equal to the total amount with taxes."), - 'sale_tax': fields.many2one("account.tax.template", "Default Sale Tax"), - 'purchase_tax': fields.many2one("account.tax.template", "Default Purchase Tax"), - 'sale_tax_rate': fields.float('Sales Tax (%)'), - 'purchase_tax_rate': fields.float('Purchase Tax (%)'), - 'complete_tax_set': fields.boolean('Complete Set of Taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sales and purchase rates or use the usual m2o fields. This last choice assumes that the set of tax defined for the chosen template is complete'), + 'sale_tax': fields.many2one("account.tax.template", "Default sale tax"), + 'purchase_tax': fields.many2one("account.tax.template", "Default purchase tax"), + 'sale_tax_rate': fields.float('Sales tax (%)'), + 'purchase_tax_rate': fields.float('Purchase tax (%)'), + 'complete_tax_set': fields.boolean('Complete set of taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sales and purchase rates or use the usual m2o fields. This last choice assumes that the set of tax defined for the chosen template is complete'), 'has_fiscal_year': fields.boolean('Company has a fiscal year'), - 'date_start': fields.date('Start Date', required=True), - 'date_stop': fields.date('End Date', required=True), + 'date_start': fields.date('Start date', required=True), + 'date_stop': fields.date('End date', required=True), 'period': fields.selection([('month', 'Monthly'), ('3months','3 Monthly')], 'Periods', required=True), - 'sale_journal_id': fields.many2one('account.journal', 'Sale Journal'), - 'sale_sequence_prefix': fields.related('sale_journal_id', 'sequence_id', 'prefix', type='char', string='Invoice Sequence'), - 'sale_sequence_next': fields.related('sale_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Invoice Number'), - 'sale_refund_journal_id': fields.many2one('account.journal', 'Sale Refund Journal'), - 'sale_refund_sequence_prefix': fields.related('sale_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Credit Note Sequence'), - 'sale_refund_sequence_next': fields.related('sale_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Credit Note Number'), + 'sale_journal_id': fields.many2one('account.journal', 'Sale journal'), + 'sale_sequence_prefix': fields.related('sale_journal_id', 'sequence_id', 'prefix', type='char', string='Invoice sequence'), + 'sale_sequence_next': fields.related('sale_journal_id', 'sequence_id', 'number_next', type='integer', string='Next invoice number'), + 'sale_refund_journal_id': fields.many2one('account.journal', 'Sale refund journal'), + 'sale_refund_sequence_prefix': fields.related('sale_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Credit note sequence'), + 'sale_refund_sequence_next': fields.related('sale_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next credit note number'), 'purchase_journal_id': fields.many2one('account.journal', 'Purchase Journal'), - 'purchase_sequence_prefix': fields.related('purchase_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier Invoice Sequence'), - 'purchase_sequence_next': fields.related('purchase_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Supplier Invoice Number'), - 'purchase_refund_journal_id': fields.many2one('account.journal', 'Purchase Refund Journal'), - 'purchase_refund_sequence_prefix': fields.related('purchase_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier Credit Note Sequence'), - 'purchase_refund_sequence_next': fields.related('purchase_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Supplier Credit Note Number'), + 'purchase_sequence_prefix': fields.related('purchase_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier invoice sequence'), + 'purchase_sequence_next': fields.related('purchase_journal_id', 'sequence_id', 'number_next', type='integer', string='Next supplier invoice number'), + 'purchase_refund_journal_id': fields.many2one('account.journal', 'Purchase refund journal'), + 'purchase_refund_sequence_prefix': fields.related('purchase_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier credit note sequence'), + 'purchase_refund_sequence_next': fields.related('purchase_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next supplier credit note number'), - 'module_account_check_writing': fields.boolean('Check Writing', + 'module_account_check_writing': fields.boolean('pay your supplier by check', help="""This allows you to check writing and printing. This installs the module account_check_writing."""), - 'module_account_accountant': fields.boolean('Accountant Features', + 'module_account_accountant': fields.boolean('accountant features', help="""If you do not check this box, you will be able to do invoicing & payments, but not accounting (Journal Items, Chart of Accounts, ...)"""), - 'module_account_asset': fields.boolean('Assets Management', + 'module_account_asset': fields.boolean('assets management', help="""This allows you to manage the assets owned by a company or a person. It keeps track of the depreciation occurred on those assets, and creates account move for those depreciation lines. This installs the module account_asset. If you do not check this box, you will be able to do invoicing & payments, but not accounting (Journal Items, Chart of Accounts, ...)"""), - 'module_account_budget': fields.boolean('Budget Management', + 'module_account_budget': fields.boolean('budget management', help="""This allows accountants to manage analytic and crossovered budgets. Once the master budgets and the budgets are defined, the project managers can set the planned amount on each analytic account. This installs the module account_budget."""), - 'module_account_payment': fields.boolean('Manage Payment Orders', + 'module_account_payment': fields.boolean('manage payment orders', help="""This allows you to create and manage your payment orders, with purposes to * serve as base for an easy plug-in of various automated payment mechanisms, and * provide a more efficient way to manage invoice payments. This installs the module account_payment."""), - 'module_account_voucher': fields.boolean('Manage Customer Payments', + 'module_account_voucher': fields.boolean('anage customer payments', help="""This includes all the basic requirements of voucher entries for bank, cash, sales, purchase, expense, contra, etc. This installs the module account_voucher."""), - 'module_account_followup': fields.boolean('Manage Customer Payment Follow-ups', + 'module_account_followup': fields.boolean('manage customer payment follow-ups', help="""This allows to automate letters for unpaid invoices, with multi-level recalls. This installs the module account_followup."""), - 'group_proforma_invoices': fields.boolean('Allow Pro-forma Invoices', + 'group_proforma_invoices': fields.boolean('allow pro-forma invoices', implied_group='account.group_proforma_invoices', help="Allows you to put invoices in pro-forma state."), - 'default_sale_tax': fields.many2one('account.tax', 'Default Sale Tax', + 'default_sale_tax': fields.many2one('account.tax', 'Default sale tax', help="This sale tax will be assigned by default on new products."), - 'default_purchase_tax': fields.many2one('account.tax', 'Default Purchase Tax', + 'default_purchase_tax': fields.many2one('account.tax', 'Default purchase tax', help="This purchase tax will be assigned by default on new products."), - 'decimal_precision': fields.integer('Decimal Precision on Journal Entries', + 'decimal_precision': fields.integer('Decimal precision on journal entries', help="""As an example, a decimal precision of 2 will allow journal entries like: 9.99 EUR, whereas a decimal precision of 4 will allow journal entries like: 0.0231 EUR."""), } diff --git a/addons/account/res_config_view.xml b/addons/account/res_config_view.xml index a79b8fe2ed7..fd0fa552238 100644 --- a/addons/account/res_config_view.xml +++ b/addons/account/res_config_view.xml @@ -15,106 +15,235 @@ account.config.settings form -
+
+ - + - - - - - - - - - - - - - - +
@@ -129,7 +129,7 @@
  • Delete
  • -
  • Remove from Wall
  • +
  • Hide
  • - Attachment - Attachments () + 1 Attachment + Attachments
  • diff --git a/addons/marketing/res_config_view.xml b/addons/marketing/res_config_view.xml index c2c7cb543c0..a5364524747 100644 --- a/addons/marketing/res_config_view.xml +++ b/addons/marketing/res_config_view.xml @@ -1,3 +1,4 @@ + @@ -6,17 +7,30 @@ marketing.config.settings form -
    +
    - - - - + + + diff --git a/addons/marketing_campaign/marketing_campaign_demo.xml b/addons/marketing_campaign/marketing_campaign_demo.xml index aaf5a98c6bc..54897cd111a 100644 --- a/addons/marketing_campaign/marketing_campaign_demo.xml +++ b/addons/marketing_campaign/marketing_campaign_demo.xml @@ -4,7 +4,7 @@ Template for New Partner - info@tinyerp.com + info@openerp.com Welcome in OpenERP Partner Channel! ${object.email or ''} @@ -12,7 +12,7 @@ Template for Silver Partner - info@tinyerp.com + info@openerp.com Congratulation! You become now our Silver Partner. ${object.email or ''} @@ -21,7 +21,7 @@ Template for Gold Partner - info@tinyerp.com + info@openerp.com Congratulation! You become our Gold Partner. ${object.email or ''} diff --git a/addons/marketing_campaign/marketing_campaign_view.xml b/addons/marketing_campaign/marketing_campaign_view.xml index 6a06cb33f1d..9af709c19a5 100644 --- a/addons/marketing_campaign/marketing_campaign_view.xml +++ b/addons/marketing_campaign/marketing_campaign_view.xml @@ -4,19 +4,14 @@ - + + context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"/> + view_type="form"/> marketing.campaign.form @@ -43,10 +38,10 @@
    @@ -633,37 +641,28 @@ search - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - @@ -696,7 +695,15 @@ {} - Tasks allow you to organize your work into a project. Click on button "Create" to create a new task. + +

    + Click to create a new task. +

    + OpenERP's project management allows you to manage the pipeline + of tasks in order to get things done efficiently. You can + track progress, discuss on tasks, attach documents, etc. +

    +
    @@ -745,11 +752,8 @@ search - - - - - + + @@ -794,7 +798,16 @@ project.task.type form - Define the steps that will be used in the project from the creation of the task, up to the closing of the task or issue. You will use these stages in order to track the progress in solving a task or an issue. + +

    + Click to add a stage in the task pipeline. +

    + Define the steps that will be used in the project from the + creation of the task, up to the closing of the task or issue. + You will use these stages in order to track the progress in + solving a task or an issue. +

    +
    @@ -820,7 +833,7 @@
    - + diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml index 3f7f3b26d96..ae87b3f2fe2 100644 --- a/addons/project/report/project_cumulative.xml +++ b/addons/project/report/project_cumulative.xml @@ -53,21 +53,20 @@ project.task.history.cumulative search - - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/addons/project/report/project_report_view.xml b/addons/project/report/project_report_view.xml index 40235ad03b7..ab880536ced 100644 --- a/addons/project/report/project_report_view.xml +++ b/addons/project/report/project_report_view.xml @@ -58,60 +58,32 @@ search - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + - - - - diff --git a/addons/project/res_config.py b/addons/project/res_config.py index b112506e073..fcb3ecc9e21 100644 --- a/addons/project/res_config.py +++ b/addons/project/res_config.py @@ -27,38 +27,38 @@ class project_configuration(osv.osv_memory): _inherit = 'res.config.settings' _columns = { - 'module_project_mrp': fields.boolean('Create Tasks from a Sale Order', + 'module_project_mrp': fields.boolean('generate tasks from sale orders', help ="""This feature automatically creates project tasks from service products in sale orders. More precisely, tasks are created for procurement lines with product of type 'Service', procurement method 'Make to Order', and supply method 'Produce'. This installs the module project_mrp."""), - 'module_pad': fields.boolean("Use Collaborative Note Pads for Tasks", + 'module_pad': fields.boolean("use integrated collaborative note pads on task", help="""Lets the company customize which Pad installation should be used to link to new pads (by default, http://ietherpad.com/). This installs the module pad."""), - 'module_project_timesheet': fields.boolean("Timesheets per Task", + 'module_project_timesheet': fields.boolean("record timesheet lines per tasks", help="""This allows you to transfer the entries under tasks defined for Project Management to the timesheet line entries for particular date and user, with the effect of creating, editing and deleting either ways. This installs the module project_timesheet."""), - 'module_project_long_term': fields.boolean("Manage Gantt and Resource Planning", + 'module_project_long_term': fields.boolean("manage resources planning on gantt view", help="""A long term project management module that tracks planning, scheduling, and resource allocation. This installs the module project_long_term."""), - 'module_project_issue': fields.boolean("Issues and Bug Tracking", + 'module_project_issue': fields.boolean("track issues and bugs", help="""Provides management of issues/bugs in projects. This installs the module project_issue."""), - 'time_unit': fields.many2one('product.uom', 'Working Time Unit', required=True, + 'time_unit': fields.many2one('product.uom', 'Working time unit', required=True, help="""This will set the unit of measure used in projects and tasks."""), - 'module_project_issue_sheet': fields.boolean("Track and Invoice Issues Working Time", + 'module_project_issue_sheet': fields.boolean("invoice working time on issues", help="""Provides timesheet support for the issues/bugs management in project. This installs the module project_issue_sheet."""), - 'group_tasks_work_on_tasks': fields.boolean("Task's Work on Tasks", + 'group_tasks_work_on_tasks': fields.boolean("compute work activities on tasks", implied_group='project.group_tasks_work_on_tasks', help="Allows you to compute work on tasks."), - 'group_time_work_estimation_tasks': fields.boolean("Time Estimation on Tasks", + 'group_time_work_estimation_tasks': fields.boolean("manage time estimation on tasks", implied_group='project.group_time_work_estimation_tasks', help="Allows you to compute Time Estimation on tasks."), - 'group_manage_delegation_task': fields.boolean("Manage Task Delegation", + 'group_manage_delegation_task': fields.boolean("allow task delegation", implied_group='project.group_delegate_task', help="Allows you to delegate tasks to other users."), } diff --git a/addons/project/res_config_view.xml b/addons/project/res_config_view.xml index 6248efde5d2..a3783bc7e3b 100644 --- a/addons/project/res_config_view.xml +++ b/addons/project/res_config_view.xml @@ -1,4 +1,18 @@ + + + + + Open Project Menu + reload + + + + + automatic + 100 + + project settings @@ -6,30 +20,68 @@ form - +
    + - - - - - - - - - - - - - - - - - + + + + + +
    diff --git a/addons/project/res_partner_view.xml b/addons/project/res_partner_view.xml index 09170c43434..e16c18d1582 100644 --- a/addons/project/res_partner_view.xml +++ b/addons/project/res_partner_view.xml @@ -28,7 +28,5 @@
    -
    - diff --git a/addons/project/static/src/js/project.js b/addons/project/static/src/js/project.js index 510fcbb99e7..c8250edcafd 100644 --- a/addons/project/static/src/js/project.js +++ b/addons/project/static/src/js/project.js @@ -1,25 +1,61 @@ openerp.project = function(openerp) { openerp.web_kanban.KanbanView.include({ - on_groups_started: function() { + project_display_members_names: function() { + /* + * Set avatar title for members. + * In kanban views, many2many fields only return a list of ids. + * We can implement return value of m2m fields like [(1,"Adminstration"),...]. + */ var self = this; - self._super.apply(this, arguments); - if (this.dataset.model === 'project.project') { - /* Set avatar title for members. - In many2many fields, returns only list of ids. - we can implement return value of m2m fields like [(1,"Adminstration"),...]. - */ - var members_ids = []; - this.$element.find('.oe_kanban_project_avatars img').each(function() { - members_ids.push($(this).data('member_id')); - }); - var dataset = new openerp.web.DataSetSearch(this, 'res.users', self.session.context, [['id', 'in', _.uniq(members_ids)]]); - dataset.read_slice(['id', 'name']).then(function(result) { - _.each(result, function(v, k) { - self.$element.find('.oe_kanban_project_avatars img[data-member_id=' + v.id + ']').attr('title', v.name).tipsy({ - offset: 10 - }); + var members_ids = []; + + // Collect members ids + self.$element.find('img[data-member_id]').each(function() { + members_ids.push($(this).data('member_id')); + }); + + // Find their matching names + var dataset = new openerp.web.DataSetSearch(self, 'res.users', self.session.context, [['id', 'in', _.uniq(members_ids)]]); + dataset.read_slice(['id', 'name']).then(function(result) { + _.each(result, function(v, k) { + // Set the proper value in the DOM + self.$element.find('img[data-member_id=' + v.id + ']').attr('title', v.name).tipsy({ + offset: 10 }); }); + }); + }, + project_display_categ_names: function() { + /* + * Set proper names to project categories. + * In kanban views, many2many fields only return a list of ids. + * Therefore, we have to fetch the matching data by ourselves. + */ + var self = this; + var categ_ids = []; + + // Collect categories ids + self.$element.find('span[data-categ_id]').each(function() { + categ_ids.push($(this).data('categ_id')); + }); + + // Find their matching names + var dataset = new openerp.web.DataSetSearch(self, 'project.category', self.session.context, [['id', 'in', _.uniq(categ_ids)]]); + dataset.read_slice(['id', 'name']).then(function(result) { + _.each(result, function(v, k) { + // Set the proper value in the DOM and display the element + self.$element.find('span[data-categ_id=' + v.id + ']').text(v.name); + }); + }); + }, + on_groups_started: function() { + var self = this; + self._super.apply(self, arguments); + + if (self.dataset.model === 'project.project') { + self.project_display_members_names(); + } else if (self.dataset.model === 'project.task') { + self.project_display_categ_names(); } } }); diff --git a/addons/project_gtd/project_gtd_data.xml b/addons/project_gtd/project_gtd_data.xml index 38cc247fc32..dc1df93dc46 100644 --- a/addons/project_gtd/project_gtd_data.xml +++ b/addons/project_gtd/project_gtd_data.xml @@ -30,12 +30,7 @@ Module Todo Lists has been installed - - Add todo items on project tasks, to help you organize your work. - This module supports the methodology Getting Things Done (GTD), - created by David Allen, and described in the book of the same - name. - + Add todo items on project tasks, to help you organize your work. This module supports the methodology Getting Things Done (GTD), created by David Allen, and described in the book of the same name. diff --git a/addons/project_gtd/project_gtd_view.xml b/addons/project_gtd/project_gtd_view.xml index 5b48f6b4648..cce02ab329d 100644 --- a/addons/project_gtd/project_gtd_view.xml +++ b/addons/project_gtd/project_gtd_view.xml @@ -112,9 +112,9 @@ - + diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py index fa7d002f571..8aeecf2985e 100644 --- a/addons/project_issue/__openerp__.py +++ b/addons/project_issue/__openerp__.py @@ -25,7 +25,7 @@ 'version': '1.0', 'category': 'Project Management', "sequence": 22, - "summary": "Multi Level Support", + "summary": "Support, Bug Traker, Helpdesk", 'description': """ This module provides Issues/Bugs Management in Project. ======================================================= @@ -39,7 +39,7 @@ and decide on their status as they evolve. 'website': 'http://www.openerp.com', 'images': ['images/issue_analysis.jpeg','images/project_issue.jpeg'], 'depends': [ - 'base_status', + 'base_status', 'crm', 'project', ], @@ -66,6 +66,9 @@ and decide on their status as they evolve. 'auto_install': False, 'application': True, 'certificate' : '001236490750848623845', + 'js': [ + 'static/src/js/project_issue.js', + ], } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_issue/board_project_issue_view.xml b/addons/project_issue/board_project_issue_view.xml index cedcd85d4fc..8bc34177d7d 100644 --- a/addons/project_issue/board_project_issue_view.xml +++ b/addons/project_issue/board_project_issue_view.xml @@ -18,7 +18,7 @@ - + diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index a7c9d2b5bc3..4c973eed068 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -236,7 +236,7 @@ class project_issue(base_stage, osv.osv): 'date_closed': fields.datetime('Closed', readonly=True,select=True), 'date': fields.datetime('Date'), 'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."), - 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('object_id.model', '=', 'crm.project.bug')]"), + 'categ_ids': fields.many2many('project.category', string='Categories'), 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True), 'version_id': fields.many2one('project.issue.version', 'Version'), 'stage_id': fields.many2one ('project.task.type', 'Stage', @@ -279,7 +279,6 @@ class project_issue(base_stage, osv.osv): 'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c), 'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c), 'priority': crm.AVAILABLE_PRIORITIES[2][0], - 'categ_id' : lambda *a: False, } _group_by_full = { @@ -304,11 +303,11 @@ class project_issue(base_stage, osv.osv): def convert_issue_task(self, cr, uid, ids, context=None): if context is None: context = {} - + case_obj = self.pool.get('project.issue') data_obj = self.pool.get('ir.model.data') task_obj = self.pool.get('project.task') - + result = data_obj._get_id(cr, uid, 'project', 'view_task_search_form') res = data_obj.read(cr, uid, result, ['res_id']) id2 = data_obj._get_id(cr, uid, 'project', 'view_task_form2') @@ -351,23 +350,6 @@ class project_issue(base_stage, osv.osv): 'nodestroy': True } - - def _convert(self, cr, uid, ids, xml_id, context=None): - data_obj = self.pool.get('ir.model.data') - id2 = data_obj._get_id(cr, uid, 'project_issue', xml_id) - categ_id = False - if id2: - categ_id = data_obj.browse(cr, uid, id2, context=context).res_id - if categ_id: - self.write(cr, uid, ids, {'categ_id': categ_id}) - return True - - def convert_to_feature(self, cr, uid, ids, context=None): - return self._convert(cr, uid, ids, 'feature_request_categ', context=context) - - def convert_to_bug(self, cr, uid, ids, context=None): - return self._convert(cr, uid, ids, 'bug_categ', context=context) - def copy(self, cr, uid, id, default=None, context=None): issue = self.read(cr, uid, id, ['name'], context=context) if not default: @@ -376,7 +358,7 @@ class project_issue(base_stage, osv.osv): default['name'] = issue['name'] + _(' (copy)') return super(project_issue, self).copy(cr, uid, id, default=default, context=context) - + def write(self, cr, uid, ids, vals, context=None): #Update last action date every time the user change the stage, the state or send a new email logged_fields = ['stage_id', 'state', 'message_ids'] @@ -463,7 +445,7 @@ class project_issue(base_stage, osv.osv): # ------------------------------------------------------- # Mail gateway # ------------------------------------------------------- - + def message_new(self, cr, uid, msg, custom_values=None, context=None): """ Overrides mail_thread message_new that is called by the mailgateway through message_process. @@ -485,7 +467,7 @@ class project_issue(base_stage, osv.osv): custom_values.update(self.message_partner_by_email(cr, uid, msg.get('from'), context=context)) res_id = super(project_issue, self).message_new(cr, uid, msg, custom_values=custom_values, context=context) - self.convert_to_bug(cr, uid, [res_id], context=context) + # self.convert_to_bug(cr, uid, [res_id], context=context) return res_id def message_update(self, cr, uid, ids, msg, update_vals=None, context=None): @@ -515,7 +497,7 @@ class project_issue(base_stage, osv.osv): update_vals[key] = res.group(2).lower() return super(project_issue, self).message_update(cr, uid, ids, update_vals=update_vals, context=context) - + # ------------------------------------------------------- # OpenChatter methods and notifications # ------------------------------------------------------- @@ -588,18 +570,18 @@ project() class account_analytic_account(osv.osv): _inherit = 'account.analytic.account' _description = 'Analytic Account' - + _columns = { 'use_issues' : fields.boolean('Issues Tracking', help="Check this field if this project manages issues"), } - + def on_change_template(self, cr, uid, ids, template_id, context=None): res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, context=context) if template_id and 'value' in res: template = self.browse(cr, uid, template_id, context=context) res['value']['use_issues'] = template.use_issues return res - + def _trigger_project_creation(self, cr, uid, vals, context=None): res = super(account_analytic_account, self)._trigger_project_creation(cr, uid, vals, context=context) return res or vals.get('use_issues') diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml index add2ce99c19..a191cb4454f 100644 --- a/addons/project_issue/project_issue_data.xml +++ b/addons/project_issue/project_issue_data.xml @@ -35,15 +35,10 @@ - Module Issues Tracker has been installed - Manage the issues you might face in a project, like bugs in a - system, client complaints or material breakdowns. You can - record issues, assign them to some responsible person, and keep - track of their status as they evolve over time. + Module Issues Tracker has been installed. + Manage the issues you might face in a project, like bugs in a system, client complaints or material breakdowns. You can record issues, assign them to some responsible person, and keep track of their status as they evolve over time. - You can access issues from the top menu Project, and access the - issues of a specific project from the projects gallery view. - +You can access issues from the top menu Project, and access the issues of a specific project from the projects gallery view. diff --git a/addons/project_issue/project_issue_demo.xml b/addons/project_issue/project_issue_demo.xml index b3fb4582cf2..298dd6a25d9 100644 --- a/addons/project_issue/project_issue_demo.xml +++ b/addons/project_issue/project_issue_demo.xml @@ -1,236 +1,239 @@ - + - - - - - - - - - - - - - - + + + Little problem + + + PBCK + + + Deadly bug + - - - - - - - - - - - - - + + + + 5 + + + + + + + Bug in Accounts module + agr@agrolait.com + + + - - - - - - - - - - - - + + + 3 + + + + + + Program not giving proper output + + + - - - - - - - - - - - - - + + + 4 + + + + + + Output incorrect + + + - - - - - - - - - - - - - + + + 3 + + + + + + + Problem loading page + + - - - - - - - - - - - - - + + + 3 + + + + + + + Page not Found + + - - - - - - - - - - - - - + + + 3 + + + + + + + Programming Error + + + - - - - - - - - - - - - - + + + 2 + + + + + + + Logical Error in Program + + - - - - - - - - - - - - + + + 2 + + + + + + + Constraint Error + + - - - - - - - - - - - - - + + + 2 + + + + + + Error in Program + + - - - - - - - - - - - - - + + + 2 + + + + + + + Patches Error in Program + + - - - - - - - - - - - - - - + + + 4 + + + + + + + New Features To Be Added + + - - - - - - - - - - - - - - + + + 1 + + + + + + + Add menus to the module + info@opensides.be + + - - - - - - - - - - - - - + + + 3 + + + + + + + Include Attendance sheet in Project + contact@tecsas.fr + + - - - - - - - - - - - - - + + + 3 + + + + + + + Create new object + + - - - - - - - - - - - - - + + + 4 + + + + + + + Improve Reports in HRMS + + - - + + + 2 + + + + + + + Improve Reports in PMS + + - + + + + diff --git a/addons/project_issue/project_issue_menu.xml b/addons/project_issue/project_issue_menu.xml index 8044d149901..78841f56156 100644 --- a/addons/project_issue/project_issue_menu.xml +++ b/addons/project_issue/project_issue_menu.xml @@ -13,7 +13,15 @@ - 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) + +

    + Click to report a new issue. +

    + The OpenERP issues tacker allows you to efficiantly manage things + like internal requests, software development bugs, customer + complaints, project troubles, material breakdowns, etc. +

    +
    diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml index e730805fb46..271b665483f 100644 --- a/addons/project_issue/project_issue_view.xml +++ b/addons/project_issue/project_issue_view.xml @@ -16,9 +16,9 @@ action_project_issue_unread - + action - + project.issue client_action_multi @@ -34,9 +34,9 @@ action_project_issue_read - + action - + project.issue client_action_multi @@ -48,7 +48,6 @@ - @@ -70,7 +69,14 @@ Versions project.issue.version form - You can use the issues tracker in OpenERP to handle bugs in the software development project, to handle claims in after-sales services, etc. Define here the different versions of your products on which you can work on issues. + +

    + Click to add a new version. +

    + Define here the different versions of your products on which + you can work on issues. +

    +
    @@ -133,14 +139,12 @@ +
    - - - @@ -194,7 +198,7 @@ - + @@ -206,46 +210,26 @@ search - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + @@ -265,79 +249,81 @@ - + - - Project Issue Kanban - project.issue - kanban - - - - - - - - - -
      -
    • Project:
    • -
    • Category:
    • -
    -
    - -
    -
    - i -
    -
    -
    -
    -
    - -
    - + -
    -
    - +
    +