[MERGE]: Merge with latest trunk-addons

bzr revid: rpa@tinyerp.com-20120803045532-wsgei101ogh0o44d
bzr revid: rpa@tinyerp.com-20120806050952-xecwmyhg4p2fs4id
This commit is contained in:
Rucha (Open ERP) 2012-08-06 10:39:52 +05:30
commit b7daa1fb31
203 changed files with 3261 additions and 1158 deletions

View File

@ -42,7 +42,17 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{'default_partner_id':ref('base.main_partner'), 'company_hide':False, 'default_company_id':ref('base.main_company'), 'search_default_my_bank':1}"/>
<field name="help">Configure your company's bank account and select those that must appear on the report footer. You can reorder banks in the list view. If you use the accounting application of OpenERP, journals and accounts will be created automatically based on these data.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to setup a new bank account.
</p><p>
Configure your company's bank account and select those that must
appear on the report footer.
</p><p>
If you use the accounting application of OpenERP, journals and
accounts will be created automatically based on these data.
</p>
</field>
</record>
<menuitem
sequence="0"

View File

@ -40,14 +40,8 @@
<field name="target">new</field>
</record>
<record id="category_accounting_configuration" model="ir.actions.todo.category">
<field name="name">Accounting</field>
<field name="sequence">5</field>
</record>
<record id="account_configuration_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_account_configuration_installer"/>
<field name="category_id" ref="category_accounting_configuration"/>
<field name="sequence">3</field>
<field name="type">automatic</field>
</record>

View File

@ -509,11 +509,18 @@
<field name="domain">[('type','=','out_invoice')]</field>
<field name="context">{'default_type':'out_invoice', 'type':'out_invoice', 'journal_type': 'sale'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
<field name="help">
Click here to create a new Invoice.
&lt;p&gt;
An invoice can be generated automatically from a sale order or a delivery order.
The invoice can be send by email.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a customer invoice.
</p><p>
OpenERP's electronic invoicing allows to ease and fasten the
collection of customer payments. Your customer receives the
invoice by email and he can pay online and/or import it
in his own system.
</p><p>
The discussions with your customer are automatically displayed at
the bottom of each invoice.
</p>
</field>
</record>
@ -542,11 +549,14 @@
<field name="domain">[('type','=','in_invoice')]</field>
<field name="context">{'default_type': 'in_invoice', 'type': 'in_invoice', 'journal_type': 'purchase'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
<field name="help">
Click here to create Supplier invoice.
&lt;p&gt;
You can control the invoice from your supplier according to what you purchased or received.
OpenERP can also generate draft invoices automatically from purchase orders or receipts.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to record a new supplier invoice.
</p><p>
You can control the invoice from your supplier according to
what you purchased or received. OpenERP can also generate
draft invoices automatically from purchase orders or receipts.
</p>
</field>
</record>
<menuitem action="action_invoice_tree2" id="menu_action_invoice_tree2" parent="menu_finance_payables"/>
@ -560,11 +570,16 @@
<field name="domain">[('type','=','out_refund')]</field>
<field name="context">{'default_type':'out_refund', 'type':'out_refund', 'journal_type': 'sale_refund'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
<field name="help">
Click here to create a new customer refund.
&lt;p&gt;
A refund is a document that credits an invoice completely or partially.
You can also generate refunds and reconcile them directly from the invoice form.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a customer refund.
</p><p>
A refund is a document that credits an invoice completely or
partially.
</p><p>
Instead of manually creating a customer refund, you
can generate it directly from the related customer invoice.
</p>
</field>
</record>
@ -591,11 +606,13 @@
<field name="domain">[('type','=','in_refund')]</field>
<field name="context">{'default_type': 'in_refund', 'type': 'in_refund', 'journal_type': 'purchase_refund'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
<field name="help">
Click here to create a new supplier refund.
&lt;p&gt;
Track refunds you receive from your suppliers.
You can also generate refunds and reconcile them directly from the invoice form.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to register a refund you received from a supplier.
</p><p>
Instead of creating the supplier refund manually, you can generate
refunds and reconcile them directly from the related supplier invoice.
</p>
</field>
</record>
<menuitem action="action_invoice_tree4" id="menu_action_invoice_tree4" parent="menu_finance_payables"/>

View File

@ -78,7 +78,19 @@
<field name="res_model">account.fiscalyear</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">Define your company's financial year according to your needs. A financial year is a period at the end of which a company's accounts are made up (usually 12 months). The financial year is usually referred to by the date in which it ends. For example, if a company's financial year ends November 30, 2011, then everything between December 1, 2010 and November 30, 2011 would be referred to as FY 2011. You are not obliged to follow the actual calendar year.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to start a new fiscal year.
</p><p>
Define your company's financial year according to your needs. A
financial year is a period at the end of which a company's
accounts are made up (usually 12 months). The financial year is
usually referred to by the date in which it ends. For example,
if a company's financial year ends November 30, 2011, then
everything between December 1, 2010 and November 30, 2011
would be referred to as FY 2011.
</p>
</field>
</record>
<menuitem id="next_id_23" name="Periods" parent="account.menu_finance_configuration" sequence="5" />
<menuitem action="action_account_fiscalyear_form" id="menu_action_account_fiscalyear_form" parent="next_id_23"/>
@ -153,7 +165,14 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_draft': 1}</field>
<field name="help">Here you can define a financial period, an interval of time in your company's financial year. An accounting period typically is a month or a quarter. It usually corresponds to the periods of the tax declaration. Create and manage periods from here and decide whether a period should be closed or left open depending on your company's activities over a specific period.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a fiscal period.
</p><p>
An accounting period typically is a month or a quarter. It
usually corresponds to the periods of the tax declaration.
</p>
</field>
</record>
<menuitem action="action_account_period_form" id="menu_action_account_period_form" parent="account.next_id_23" groups="base.group_no_one"/>
@ -260,7 +279,18 @@
<field name="view_mode">tree,form,graph</field>
<field name="search_view_id" ref="view_account_search"/>
<field name="view_id" ref="view_account_list"/>
<field name="help">Create and manage the accounts you need to record journal entries. An account is part of a ledger allowing your company to register all kinds of debit and credit transactions. Companies present their annual accounts in two main parts: the balance sheet and the income statement (profit and loss account). The annual accounts of a company are required by law to disclose a certain amount of information. They have to be certified by an external auditor annually.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add an account.
</p><p>
An account is part of a ledger allowing your company
to register all kinds of debit and credit transactions.
Companies present their annual accounts in two main parts: the
balance sheet and the income statement (profit and loss
account). The annual accounts of a company are required by law
to disclose a certain amount of information.
</p>
</field>
</record>
<menuitem id="account_account_menu" name="Accounts" parent="account.menu_finance_configuration" sequence="15"/>
<menuitem action="action_account_form" id="menu_action_account_form" parent="account_account_menu"/>
@ -320,7 +350,17 @@
<field name="view_mode">tree</field>
<field name="view_id" ref="view_account_gain_loss_tree"/>
<field name="domain">[('currency_id','!=',False)]</field>
<field name="help">When doing multi-currency transactions, you may loose or gain some amount due to changes of exchange rate. This menu gives you a forecast of the Gain or Loss you'd realized if those transactions were ended today. Only for accounts having a secondary currency set.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add an account.
</p><p>
When doing multi-currency transactions, you may loose or gain
some amount due to changes of exchange rate. This menu gives
you a forecast of the Gain or Loss you'd realized if those
transactions were ended today. Only for accounts having a
secondary currency set.
</p>
</field>
</record>
<menuitem
@ -397,7 +437,18 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_account_journal_view_search"/>
<field name="help">Here you can customize an existing journal view or create a new view. Journal views determine the way you can record entries in your journal. Select the fields you want to appear in a journal and determine the sequence in which they will appear. Then you can create a new journal and link your view to it.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to specify lists of columns to display for a type of journal.
</p><p>
Journal views determine the way you can record entries in
your journal. Select the fields you want to appear in a journal
and determine the sequence in which they will appear.
</p><p>
On the journal definition form, you can select the view you
want to use to display journal items related to this journal.
</p>
</field>
</record>
<menuitem action="action_account_journal_view" id="menu_action_account_journal_view" parent="account.menu_journals" sequence="20"/>
@ -512,7 +563,18 @@
<field name="res_model">account.journal</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">Create and manage your company's journals from this menu. A journal is used to record transactions of all accounting data related to the day-to-day business of your company using double-entry bookkeeping system. Depending on the nature of its activities and the number of daily transactions, a company may keep several types of specialized journals such as a cash journal, purchase journal, sales journal...</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a journal.
</p><p>
A journal is used to record transactions of all accounting data
related to the day-to-day business.
</p><p>
A typical company may use one journal per payment method (cash,
bank accounts, checks), one purchase journal, one sale journal
and one for miscellaneous information.
</p>
</field>
</record>
<menuitem action="action_account_journal_form" id="menu_action_account_journal_form" parent="menu_journals"/>
@ -662,7 +724,18 @@
<field name="domain">[('journal_id.type', '=', 'bank')]</field>
<field name="context">{'journal_type':'bank'}</field>
<field name="search_view_id" ref="view_bank_statement_search"/>
<field name="help">A bank statement is a summary of all financial transactions occurring over a given period of time on a deposit account, a credit card or any other type of financial account. The starting balance will be proposed automatically and the closing balance is to be found on your statement. When you are in the Payment column of a line, you can press F1 to open the reconciliation form.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to register a bank statement.
</p><p>
A bank statement is a summary of all financial transactions
occurring over a given period of time on a bank account. You
should receive this periodicaly from your bank.
</p><p>
OpenERP allows you to reconcile a statement line directly with
the related sale or puchase invoices.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="action_bank_statement_tree_bank">
<field name="sequence" eval="1"/>
@ -741,7 +814,17 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_account_type_search"/>
<field name="help">An account type is used to determine how an account is used in each journal. The deferral method of an account type determines the process for the annual closing. Reports such as the Balance Sheet and the Profit and Loss report use the category (profit/loss or balance sheet). For example, the account type could be linked to an asset account, expense account or payable account. From this view, you can create and manage the account types you need for your company.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new account type.
</p><p>
An account type is used to determine how an account is used in
each journal. The deferral method of an account type determines
the process for the annual closing. Reports such as the Balance
Sheet and the Profit and Loss report use the category
(profit/loss or balance sheet).
</p>
</field>
</record>
<menuitem action="action_account_type_form" sequence="20" id="menu_action_account_type_form" parent="account_account_menu" groups="base.group_no_one"/>
<!--
@ -853,7 +936,16 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_tax_code_tree"/>
<field name="search_view_id" ref="view_tax_code_search"/>
<field name="help">The tax code definition depends on the tax declaration of your country. OpenERP allows you to define the tax structure and manage it from this menu. You can define both numeric and alphanumeric tax codes.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new tax code.
</p><p>
Depending on the country, a tax code is usually a cell to fill
in your legal tax statement. OpenERP allows you to define the
tax structure and each tax computation will be registered in
one or several tax code.
</p>
</field>
</record>
<menuitem id="next_id_27" name="Taxes" parent="account.menu_finance_configuration" sequence="20"/>
<menuitem action="action_tax_code_list" id="menu_action_tax_code_list" parent="next_id_27" sequence="12" groups="base.group_no_one"/>
@ -984,7 +1076,6 @@
<field name="domain">[('parent_id','=',False)]</field>
<field name="view_type">tree</field>
<field name="view_id" ref="view_tax_code_tree"/>
<field name="help">The chart of taxes is used to generate your periodical tax statement. You will see the taxes with codes related to your legal statement according to your country.</field>
</record>
<!--
@ -1190,7 +1281,17 @@
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
<field name="search_view_id" ref="view_account_move_line_filter"/>
<field name="help">This view can be used by accountants in order to quickly record entries in OpenERP. If you want to record a supplier invoice, start by recording the line of the expense account. OpenERP will propose to you automatically the Tax related to this account and the counterpart "Account Payable".</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to register a new journal item.
</p><p>
This view can be used by accountants in order to quickly record
entries in OpenERP. If you want to record a supplier invoice,
start by recording the line of the expense account. OpenERP
will propose to you automatically the Tax related to this
account and the counterpart "Account Payable".
</p>
</field>
</record>
<menuitem
@ -1423,7 +1524,19 @@
<field name="view_mode">tree,form,graph</field>
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_account_move_filter"/>
<field name="help">A journal entry consists of several journal items, each of which is either a debit or a credit transaction. OpenERP automatically creates one journal entry per accounting document: invoice, refund, supplier payment, bank statements, etc.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a journal entry.
</p><p>
A journal entry consists of several journal items, each of
which is either a debit or a credit transaction.
</p><p>
OpenERP automatically creates one journal entry per accounting
document: invoice, refund, supplier payment, bank statements,
etc. So, you should record journal entries manually only/mainly
for miscellaneous operations.
</p>
</field>
</record>
<menuitem
@ -1531,7 +1644,6 @@
<field name="name">Journals</field>
<field name="res_model">account.journal.period</field>
<field name="view_type">tree</field>
<field name="help">You can search for individual account entries through useful information. To search for account entries, open a journal, then select a record line.</field>
</record>
<!--
@ -1842,7 +1954,16 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_subscription_search"/>
<field name="help">A recurring entry is a miscellaneous entry that occurs on a recurrent basis from a specific date, i.e. corresponding to the signature of a contract or an agreement with a customer or a supplier. With Define Recurring Entries, you can create such entries to automate the postings in the system.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new recurring entry.
</p><p>
A recurring entry occurs on a recurrent basis from a specific
date, i.e. corresponding to the signature of a contract or an
agreement with a customer or a supplier. You can create such
entries to automate the postings in the system.
</p>
</field>
</record>
<menuitem
name="Define Recurring Entries" action="action_subscription_form"
@ -2621,7 +2742,17 @@ action = pool.get('res.config').next(cr, uid, [], context)
<field name="search_view_id" ref="view_account_bank_statement_filter"/>
<field name="domain">[('journal_id.type', '=', 'cash')]</field>
<field name="context">{'journal_type':'cash'}</field>
<field name="help">A Cash Register allows you to manage cash entries in your cash journals. This feature provides an easy way to follow up cash payments on a daily basis. You can enter the coins that are in your cash box, and then post entries when money comes in or goes out of the cash box.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new cash log.
</p><p>
A Cash Register allows you to manage cash entries in your cash
journals. This feature provides an easy way to follow up cash
payments on a daily basis. You can enter the coins that are in
your cash box, and then post entries when money comes in or
goes out of the cash box.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="act_cash_statement1_all">
<field name="sequence" eval="1"/>
@ -2723,7 +2854,6 @@ action = pool.get('res.config').next(cr, uid, [], context)
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_account_financial_report_search"/>
<field name="view_id" ref="view_account_financial_report_tree"/>
<field name="help">Makes a generic system to draw financial reports easily.</field>
</record>
<menuitem id="menu_account_financial_reports_tree" name="Account Reports" parent="menu_account_reports" action="action_account_financial_report_tree"/>

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- Types -->
@ -550,7 +551,6 @@
<record id="action_wizard_multi_chart_todo" model="ir.actions.todo">
<field name="name">Set Your Accounting Options</field>
<field name="action_id" ref="account.action_wizard_multi_chart"/>
<field name="category_id" ref="account.category_accounting_configuration"/>
<field name="type">automatic</field>
</record>

View File

@ -100,7 +100,21 @@
<field name="view_type">tree</field>
<field name="view_id" ref="view_account_analytic_account_tree"/>
<field name="domain">[('parent_id','=',False)]</field>
<field name="help">The normal chart of accounts has a structure defined by the legal requirement of the country. The analytic chart of accounts structure should reflect your own business needs in term of costs/revenues reporting. They are usually structured by contracts, projects, products or departements. Most of the OpenERP operations (invoices, timesheets, expenses, etc) generate analytic entries on the related account.</field>
<field name="help" type="html">
<p>
Click to add a new analytic account.
</p><p>
The normal chart of accounts has a structure defined by the
legal requirement of the country. The analytic chart of
accounts structure should reflect your own business needs in
term of costs/revenues reporting.
</p><p>
They are usually structured by contracts, projects, products or
departements. Most of the OpenERP operations (invoices,
timesheets, expenses, etc) generate analytic entries on the
related account.
</p>
</field>
</record>
<menuitem groups="analytic.group_analytic_accounting" id="next_id_40"

View File

@ -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."""),
}

View File

@ -15,106 +15,235 @@
<field name="model">account.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Configure Accounting" version="7.0">
<form string="Configure Accounting" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<field name="has_default_company" invisible="1" />
<field name="has_chart_of_accounts" invisible="1"/>
<field name="complete_tax_set" invisible="1"/>
<field name="has_fiscal_year" invisible="1"/>
<separator string="Chart of Accounts" groups="base.group_multi_company"/>
<group groups="base.group_multi_company">
<field name="company_id" string="Select Company" widget="selection"
on_change="onchange_company_id(company_id)"
attrs="{'invisible': [('has_default_company', '=', True)]}"/>
<field name="expects_chart_of_accounts"/>
</group>
<group string="Select a Chart of Accounts to Install"
attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}">
<group>
<field name="chart_template_id" widget="selection" domain="[('visible','=', True)]"
on_change="onchange_chart_template_id(chart_template_id)"/>
<field name="code_digits" groups="account.group_account_user"/>
<field name="sale_tax" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}"
domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"/>
<field name="purchase_tax" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}"
domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('purchase', 'all'))]"/>
<field name="sale_tax_rate" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}" on_change="onchange_tax_rate(sale_tax_rate)"/>
<field name="purchase_tax_rate" attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}"/>
</group>
<button string="Install More Chart Templates" icon="gtk-go-forward"
name="%(open_account_charts_modules)d" type="action"/>
</group>
<group string="No Fiscal Year Defined for This Company"
attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_fiscal_year','=',True)]}">
<label for="date_start" string="Date Range"/>
<label for="id" string="Chart of Accounts"/>
<div>
<field name="date_start" on_change="onchange_start_date(date_start)" class="oe_inline"/> -
<field name="date_stop" class="oe_inline"/>
<div attrs="{'invisible': [('has_default_company', '=', True)]}">
<label for="company_id" string="Select Company"/>
<field name="company_id"
widget="selection"
on_change="onchange_company_id(company_id)"
class="oe_inline"/>
</div>
<div>
<field name="expects_chart_of_accounts" class="oe_inline"/>
<label for="expects_chart_of_accounts"/>
</div>
</div>
<field name="period"/>
</group>
<separator string="Chart of Account and Fiscal Year" attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}"/>
<group attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}">
<label for="id" string="Chart of Account"/>
<div>
<div>
<label for="chart_template_id"/>
<field name="chart_template_id"
widget="selection"
domain="[('visible','=', True)]"
on_change="onchange_chart_template_id(chart_template_id)"
class="oe_inline"/>
<button string="Install more chart templates"
icon="gtk-go-forward"
name="%(open_account_charts_modules)d"
type="action"
class="oe_link"/>
</div>
<div groups="account.group_account_user">
<label for="code_digits"/>
<field name="code_digits" class="oe_inline"/>
</div>
<div attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}">
<label for="sale_tax"/>
<field name="sale_tax"
domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('sale','all'))]"
class="oe_inline"/>
</div>
<div attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',False)]}">
<label for="purchase_tax"/>
<field name="purchase_tax"
domain="[('chart_template_id', '=', chart_template_id),('parent_id','=',False),('type_tax_use','in',('purchase', 'all'))]"
class="oe_inline"/>
</div>
<div attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}">
<label for="sale_tax_rate"/>
<field name="sale_tax_rate" on_change="onchange_tax_rate(sale_tax_rate)"/>
</div>
<div attrs="{'invisible': ['|', ('chart_template_id','=',False), ('complete_tax_set','=',True)]}">
<label for="purchase_tax_rate"/>
<field name="purchase_tax_rate" />
</div>
</div>
</group>
<separator string="No Fiscal Year Defined for This Company" attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_fiscal_year','=',True)]}"/>
<group attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_fiscal_year','=',True)]}">
<label for="id" string="Fiscal Year"/>
<div>
<div>
<label for="date_start" string="Date Range"/>
<field name="date_start"
on_change="onchange_start_date(date_start)"
class="oe_inline"/> -
<field name="date_stop" class="oe_inline"/>
</div>
<div>
<label for="period"/>
<field name="period" class="oe_inline"/>
</div>
</div>
</group>
<separator string="eInvoicing &amp; Payments"/>
<group>
<group name="account_config">
<separator string="Accounting Configuration" colspan="2"/>
<field name="default_sale_tax" domain="[('type_tax_use','=','sale'), ('company_id','=',company_id)]"
attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
<field name="module_account_accountant"/>
<field name="currency_id"/>
<field name="decimal_precision"/>
<field name="default_purchase_tax" domain="[('type_tax_use','=','purchase'), ('company_id','=',company_id)]"
attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
<field name="tax_calculation_rounding_method"/>
<field name="module_account_asset"/>
<field name="module_account_budget"/>
<separator string="Customer Invoices" colspan="2"/>
<label for="sale_sequence_next"/>
<group>
<field name="sale_sequence_prefix" class="oe_inline" nolabel="1"
<label for="id" string="Customer"/>
<div>
<div attrs="{'invisible': [('has_chart_of_accounts','=',False)]}">
<label for="default_sale_tax"/>
<field name="default_sale_tax"
domain="[('type_tax_use','=','sale'), ('company_id','=',company_id)]"
class="oe_inline"/>
</div>
<div>
<label for="sale_sequence_next"/>
<field name="sale_sequence_prefix"
class="oe_inline"
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
<field name="sale_sequence_next" class="oe_inline" nolabel="1" attrs="{'readonly': [('sale_journal_id','=',False)]}"/>
</group>
<label for="sale_refund_sequence_next"/>
<group>
<field name="sale_refund_sequence_prefix" class="oe_inline" nolabel="1"
<field name="sale_sequence_next"
class="oe_inline"
attrs="{'readonly': [('sale_journal_id','=',False)]}"/>
</div>
<div>
<label for="sale_refund_sequence_next"/>
<field name="sale_refund_sequence_prefix"
class="oe_inline"
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
<field name="sale_refund_sequence_next" nolabel="1" class="oe_inline" attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
</group>
<field name="module_account_voucher"/>
<field name="module_account_followup"/>
<field name="group_proforma_invoices"/>
<separator name="analytic_accounting" invisible="1" string="Analytic Accounting"/>
</group>
<group name="other_cofing">
<separator string="Supplier Invoices" colspan="2"/>
<label for="purchase_sequence_next"/>
<group>
<field name="purchase_sequence_prefix" class="oe_inline" nolabel="1"
<field name="sale_refund_sequence_next"
class="oe_inline"
attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
</div>
<div>
<field name="group_proforma_invoices" class="oe_inline"/>
<label for="group_proforma_invoices"/>
</div>
<div>
<field name="module_account_voucher" class="oe_inline"/>
<label for="module_account_voucher"/>
</div>
<div>
<field name="module_account_followup" class="oe_inline"/>
<label for="module_account_followup"/>
</div>
</div>
</group>
<group>
<label for="id" string="Supplier"/>
<div name="other_cofing">
<div attrs="{'invisible': [('has_chart_of_accounts','=',False)]}">
<label for="default_purchase_tax"/>
<field name="default_purchase_tax"
domain="[('type_tax_use','=','purchase'), ('company_id','=',company_id)]"
class="oe_inline"/>
</div>
<div>
<label for="purchase_sequence_next"/>
<field name="purchase_sequence_prefix"
class="oe_inline"
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
<field name="purchase_sequence_next" nolabel="1" class="oe_inline" attrs="{'readonly': [('purchase_journal_id','=',False)]}"/>
</group>
<label for="purchase_refund_sequence_next"/>
<group>
<field name="purchase_refund_sequence_prefix" class="oe_inline" nolabel="1"
<field name="purchase_sequence_next"
class="oe_inline"
attrs="{'readonly': [('purchase_journal_id','=',False)]}"/>
</div>
<div>
<label for="purchase_refund_sequence_next"/>
<field name="purchase_refund_sequence_prefix"
class="oe_inline"
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
<field name="purchase_refund_sequence_next" class="oe_inline"
attrs="{'readonly': [('purchase_refund_journal_id','=',False)]}" nolabel="1"/>
</group>
<field name="module_account_payment"/>
<separator string="Electronic Payments" colspan="2"/>
<field name="paypal_account" placeholder="sales@openerp.com"/>
<separator string="Bank &amp; Cash" colspan="2"/>
<label for="id" string="Configure Bank Accounts"/>
<button name="%(action_bank_tree)d" string="Configure Bank Accounts" icon="gtk-go-forward" type="action"/>
<field name="company_footer"/>
<field name="module_account_check_writing"/>
</group>
<field name="purchase_refund_sequence_next"
class="oe_inline"
attrs="{'readonly': [('purchase_refund_journal_id','=',False)]}"/>
</div>
<div>
<field name="module_account_payment" class="oe_inline"/>
<label for="module_account_payment"/>
</div>
<div>
<field name="module_account_check_writing" class="oe_inline"/>
<label for="module_account_check_writing"/>
</div>
</div>
</group>
<separator string="Bank &amp; Cash"/>
<group>
<label for="id" string="Configuration"/>
<div>
<div>
<label string="Configure your bank accounts"/>
<button name="%(action_bank_tree)d"
string="Configure"
icon="gtk-go-forward"
type="action"
class="oe_inline oe_link"/>
</div>
<p>
<label for="company_footer"/>: <field name="company_footer" class="oe_inline"/>
</p>
<div>
<label for="paypal_account"/>
<field name="paypal_account" placeholder="sales@openerp.com" class="oe_inline"/>
</div>
</div>
</group>
<separator string="Accounting &amp; Finance"/>
<group>
<label for="id" string="Options"/>
<div name="account_config">
<div>
<label for="currency_id"/>
<field name="currency_id" class="oe_inline"/>
</div>
<div>
<label for="decimal_precision"/>
<field name="decimal_precision" class="oe_inline"/>
</div>
<div>
<label for="tax_calculation_rounding_method"/>
<field name="tax_calculation_rounding_method" class="oe_inline"/>
</div>
</div>
<label for="id" string="Features"/>
<div>
<div>
<field name="module_account_accountant" class="oe_inline"/>
<label for="module_account_accountant"/>
</div>
<div>
<field name="module_account_asset" class="oe_inline"/>
<label for="module_account_asset"/>
</div>
<div>
<field name="module_account_budget" class="oe_inline"/>
<label for="module_account_budget"/>
</div>
</div>
</group>
<separator name="analytic_account" string="Analytic Accounting" invisible="1"/>
<group name="analytic_account_sale" invisible="1">
<label for="id" string="Sale"/>
<div/>
</group>
<group name="analytic_account_purchase" invisible="1">
<label for="id" string="Purchase"/>
<div/>
</group>
<field name="sale_journal_id" invisible="1"/>
<field name="sale_refund_journal_id" invisible="1"/>

View File

@ -36,7 +36,6 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_account_chart"/>
<field name="target">new</field>
<field name="help">Display your company chart of accounts per fiscal year and filter by period. Have a complete tree view of all journal items per account code by clicking on an account.</field>
</record>
<menuitem icon="STOCK_INDENT" action="action_account_chart"

View File

@ -26,7 +26,6 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_account_move_bank_reconcile"/>
<field name="target">new</field>
<field name="help">Bank Reconciliation consists of verifying that your bank statement corresponds with the entries (or records) of that account in your accounting system.</field>
</record>
</data>

View File

@ -27,7 +27,6 @@
<field name="view_id" ref="account_partner_balance_view"/>
<field name="context">{}</field>
<field name="target">new</field>
<field name="help">This report is analysis by partner. It is a PDF report containing one line per partner representing the cumulative credit balance.</field>
</record>
<menuitem icon="STOCK_PRINT"

View File

@ -32,7 +32,6 @@
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="view_id" ref="view_account_tax_chart"/>
<field name="help">Chart of Taxes is a tree view reflecting the structure of the Tax Cases (or tax codes) and shows the current tax situation. The tax chart represents the amount of each area of the tax declaration for your country. Its presented in a hierarchical structure, which can be modified to fit your needs.</field>
<field name="target">new</field>
</record>

View File

@ -36,7 +36,6 @@
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
<field name="help">This menu print a tax declaration based on invoices or payments. You can select one or several periods of the fiscal year. Information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. Thats very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter.</field>
</record>
<menuitem

View File

@ -7,17 +7,29 @@
</record>
</data>
<data noupdate="1">
<!-- After installation of the module, open the related menu -->
<record id="action_client_account_menu" model="ir.actions.client">
<field name="name">Open Accounting Menu</field>
<field name="tag">reload</field>
<field name="params" eval="{'menu_id': ref('account.menu_finance')}"/>
</record>
<record id="todo_open_account_menu" model="ir.actions.todo">
<field name="action_id" ref="action_client_account_menu"/>
<field name="type">automatic</field>
<field name="sequence">100</field>
</record>
</data>
<data noupdate="1">
<!-- notify all employees of module installation -->
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Accounting and Finance has been installed</value>
<value>From the top menu Accounting, manage all of your accounting:
general accounting, cost/analytic accounting, third party
accounting, taxes, budgets, customer and supplier invoices,
bank statements, reconciliation process.
</value>
<value>Module Accounting and Finance has been installed.</value>
<value>With OpenERP's accounting, you can get an instant access to all your financial data, setup your analytic accounting, forecast your taxes, control your budgets, easily create and send invoices, record bank statements, etc.
The accounting features are fully integrated with others OpenERP applications to automate all your processes: creation of customer invoices, control of supplier invoices, point-of-sale integration, automated follow-ups, etc.</value>
</function>
</data>
</openerp>

View File

@ -53,7 +53,19 @@
<field name="context">{'search_default_user_id':uid, 'search_default_draft':1, 'search_default_pending':1, 'search_default_open':1, 'search_default_renew':1}</field>
<field name="domain">[('type','=','contract')]</field>
<field name="search_view_id" ref="view_account_analytic_account_overdue_search"/>
<field name="help">You will find here the contracts to be renewed because the deadline is passed or the working hours are higher than the allocated hours. OpenERP automatically sets these analytic accounts to the pending state, in order to raise a warning during the timesheets recording. Salesmen should review all pending accounts and reopen or close the according to the negotiation with the customer.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new contract.
</p><p>
You will find here the contracts to be renewed because the
end date is passed or the working effort is higher than the
maximum authorized one.
</p><p>
OpenERP automatically sets contracts to be renewed in a pending
state. After the negociation, the salesman should close or renew
pending contracts.
</p>
</field>
</record>
<menuitem action="action_account_analytic_overdue" id="menu_action_account_analytic_overdue" sequence="50" parent="base.menu_invoiced"/>

View File

@ -22,7 +22,7 @@
"name": "Anglo-Saxon Accounting",
"version": "1.2",
"author": "OpenERP SA, Veritos",
"website": "http://tinyerp.com - http://veritos.nl",
"website": "http://openerp.com - http://veritos.nl",
"description": """
This module supports the Anglo-Saxon accounting methodology by changing the accounting logic with stock transactions.
=====================================================================================================================

View File

@ -75,7 +75,13 @@
<field name="view_mode">tree,graph</field>
<field name="search_view_id" ref="view_asset_asset_report_search"/>
<field name="context">{'search_default_year':1,'search_default_this_month':1,'search_default_asset_category':1, 'search_default_posted':1, 'group_by':[], 'group_by_no_leaf':1}</field>
<field name="help">From this report, you can have an overview on all depreciation. The tool search can also be used to personalise your Assets reports and so, match this analysis to your needs;</field>
<field name="help" type="html">
<p>
From this report, you can have an overview on all depreciation. The
tool search can also be used to personalise your Assets reports and
so, match this analysis to your needs;
</p>
</field>
</record>
<menuitem action="action_asset_asset_report"

View File

@ -27,7 +27,6 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_confirm_statement_line"/>
<field name="help">Confirm selected statement lines.</field>
<field name="target">new</field>
</record>

View File

@ -218,7 +218,20 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="crossovered_budget_view_tree"/>
<field name="search_view_id" ref="view_crossovered_budget_search"/>
<field name="help">A budget is a forecast of your company's income and expenses expected for a period in the future. With a budget, a company is able to carefully look at how much money they are taking in during a given period, and figure out the best way to divide it among various categories. By keeping track of where your money goes, you may be less likely to overspend, and more likely to meet your financial goals. Forecast a budget by detailing the expected revenue per analytic account and monitor its evolution based on the actuals realised during that period.</field>
<field name="help" type="html">
<p>
A budget is a forecast of your company's income and/or expenses
expected for a period in the future. A budget is defined on some
financial accounts and/or analytic accounts (that may represent
projects, departments, categories of products, etc.)
</p><p>
By keeping track of where your money goes, you may be less
likely to overspend, and more likely to meet your financial
goals. Forecast a budget by detailing the expected revenue per
analytic account and monitor its evolution based on the actuals
realised during that period.
</p>
</field>
</record>
<menuitem parent="next_id_31"
id="menu_act_crossovered_budget_view"

View File

@ -34,7 +34,17 @@
<field name="context">{'type':'payment','write_check':True}</field>
<field name="search_view_id" ref="account_voucher.view_voucher_filter"/>
<field name="target">current</field>
<field name="help">The check payment form allows you to track the payment you do to your suppliers specially by check. When you select a supplier, the payment method and an amount for the payment, OpenERP will propose to reconcile your payment with the open supplier invoices or bills.You can print the check</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new check.
</p><p>
The check payment form allows you to track the payment you do
to your suppliers using checks. When you select a supplier, the
payment method and an amount for the payment, OpenERP will
propose to reconcile your payment with the open supplier
invoices or bills.
</p>
</field>
</record>
<record id="action_write_check_form" model="ir.actions.act_window.view">

View File

@ -0,0 +1,199 @@
# Swedish translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
"PO-Revision-Date: 2012-08-01 23:35+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-08-03 05:48+0000\n"
"X-Generator: Launchpad (build 15734)\n"
#. module: account_check_writing
#: selection:res.company,check_layout:0
msgid "Check on Top"
msgstr ""
#. module: account_check_writing
#: model:ir.actions.act_window,help:account_check_writing.action_write_check
msgid ""
"The check payment form allows you to track the payment you do to your "
"suppliers specially by check. When you select a supplier, the payment method "
"and an amount for the payment, OpenERP will propose to reconcile your "
"payment with the open supplier invoices or bills.You can print the check"
msgstr ""
#. module: account_check_writing
#: view:account.voucher:0
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top
msgid "Print Check"
msgstr "Skriv ut check"
#. module: account_check_writing
#: selection:res.company,check_layout:0
msgid "Check in middle"
msgstr ""
#. module: account_check_writing
#: help:res.company,check_layout:0
msgid ""
"Check on top is compatible with Quicken, QuickBooks and Microsoft Money. "
"Check in middle is compatible with Peachtree, ACCPAC and DacEasy. Check on "
"bottom is compatible with Peachtree, ACCPAC and DacEasy only"
msgstr ""
#. module: account_check_writing
#: selection:res.company,check_layout:0
msgid "Check on bottom"
msgstr ""
#. module: account_check_writing
#: constraint:res.company:0
msgid "Error! You can not create recursive companies."
msgstr "Fel! Du kan inte skapa rekursiva företag."
#. module: account_check_writing
#: help:account.journal,allow_check_writing:0
msgid "Check this if the journal is to be used for writing checks."
msgstr ""
#. module: account_check_writing
#: field:account.journal,allow_check_writing:0
msgid "Allow Check writing"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Description"
msgstr "Beskrivning"
#. module: account_check_writing
#: model:ir.model,name:account_check_writing.model_account_journal
msgid "Journal"
msgstr "Journal"
#. module: account_check_writing
#: model:ir.actions.act_window,name:account_check_writing.action_write_check
#: model:ir.ui.menu,name:account_check_writing.menu_action_write_check
msgid "Write Checks"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Discount"
msgstr "Rabatt"
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Original Amount"
msgstr "Ursprungligt belopp"
#. module: account_check_writing
#: view:res.company:0
msgid "Configuration"
msgstr ""
#. module: account_check_writing
#: field:account.voucher,allow_check:0
msgid "Allow Check Writing"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Payment"
msgstr "Betalning"
#. module: account_check_writing
#: field:account.journal,use_preprint_check:0
msgid "Use Preprinted Check"
msgstr ""
#. module: account_check_writing
#: sql_constraint:res.company:0
msgid "The company name must be unique !"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Due Date"
msgstr ""
#. module: account_check_writing
#: model:ir.model,name:account_check_writing.model_res_company
msgid "Companies"
msgstr "Företag"
#. module: account_check_writing
#: view:res.company:0
msgid "Default Check Layout"
msgstr ""
#. module: account_check_writing
#: constraint:account.journal:0
msgid ""
"Configuration error! The currency chosen should be shared by the default "
"accounts too."
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
msgid "Balance Due"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.bottom:0
#: report:account.print.check.middle:0
#: report:account.print.check.top:0
msgid "Check Amount"
msgstr ""
#. module: account_check_writing
#: model:ir.model,name:account_check_writing.model_account_voucher
msgid "Accounting Voucher"
msgstr ""
#. module: account_check_writing
#: sql_constraint:account.journal:0
msgid "The name of the journal must be unique per company !"
msgstr "Journalnamnet måste vara unikt per företag!"
#. module: account_check_writing
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
msgstr "Journalkoden måste vara unik per företag!"
#. module: account_check_writing
#: field:account.voucher,amount_in_word:0
msgid "Amount in Word"
msgstr ""
#. module: account_check_writing
#: report:account.print.check.top:0
msgid "Open Balance"
msgstr ""
#. module: account_check_writing
#: field:res.company,check_layout:0
msgid "Choose Check layout"
msgstr ""

View File

@ -83,7 +83,16 @@
<field name="res_model">account_followup.followup</field>
<field name="search_view_id" ref="view_account_followup_filter"/>
<field name="view_type">form</field>
<field name="help">Define follow-up levels and their related messages and delay. For each step, specify the message and the day of delay. Use the legend to know the using code to adapt the email content to the good context (good name, good date) and you can manage the multi language of messages.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define follow-up levels and their related messages.
</p><p>
For each step, specify the message and the day of delay. Use
the legend to know the using code to adapt the email content to
the good context (good name, good date) and you can manage the
multi language of messages.
</p>
</field>
</record>
<menuitem action="action_account_followup_definition_form" id="account_followup_menu" parent="account.menu_configuration_misc"/>

View File

@ -66,7 +66,6 @@
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_followup_level':1}</field>
<field name="search_view_id" ref="view_account_followup_stat_search"/>
<field name="help">Follow-up on the reminders sent over to your partners for unpaid invoices.</field>
</record>
<menuitem action="action_followup_stat" id="menu_action_followup_stat_follow" parent="account.next_id_22" groups="account.group_account_user"/>

View File

@ -234,7 +234,14 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_payment_order_search"/>
<field name="help">A payment order is a payment request from your company to pay a supplier invoice or a customer credit note. Here you can register all payment orders that should be done, keep track of all payment orders and mention the invoice reference and the partner the payment should be done for.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a payment order.
</p><p>
A payment order is a payment request from your company to pay a
supplier invoice or a customer refund.
</p>
</field>
</record>
<menuitem action="action_payment_order_tree" id="menu_action_payment_order_form" parent="menu_main_payment" sequence="3"/>

View File

@ -47,7 +47,6 @@
<record id="account_seq_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_account_seq_installer"/>
<field name="category_id" ref="account.category_accounting_configuration"/>
<field name="sequence">3</field>
<field name="type">automatic</field>
</record>

View File

@ -35,7 +35,7 @@ eInvoicing & Payments module manage all Voucher Entries such as "Reconciliation
""",
"category": 'Accounting & Finance',
"sequence": 4,
"website" : "http://tinyerp.com",
"website" : "http://openerp.com",
"images" : ["images/customer_payment.jpeg","images/journal_voucher.jpeg","images/sales_receipt.jpeg","images/supplier_voucher.jpeg"],
"depends" : ["account"],
"init_xml" : [

View File

@ -5,15 +5,12 @@
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module eInvoicing &amp; Payments has been installed</value>
<value>From the top menu Invoicing, manage your customer and supplier
invoices. You can also manage refunds, receipts and register
payments.
<value>Module eInvoicing &amp; Payments has been installed.</value>
<value>OpenERP's electronic invoicing allows to ease and fasten the creation of invoices and collection of customer payments. Invoices are created in a few clicks and your customers receive them by email. They can pay online and/or import them in their own system.
In order to manage all accounting features (journal items,
chart of accounts, etc), you should install the module
"Accounting and Finance".
</value>
You can track customer payments easily and automate the reminders. You get an overview of the discussion with your customers on each invoice to ensure a full traceability.
If you want to use advanced accounting features, you should install the "Accounting and Finance" module.</value>
</function>
</data>
</openerp>

View File

@ -83,7 +83,14 @@
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_year':1,'search_default_month':1,'search_default_current':1, 'search_default_partner':1, 'search_default_customer':1, 'group_by':[], 'group_by_no_leaf':1,}</field>
<field name="search_view_id" ref="view_sale_receipt_report_search"/>
<field name="help">From this report, you can have an overview of the amount invoiced to your customer as well as payment delays. The tool search can also be used to personalise your Invoices reports and so, match this analysis to your needs.</field>
<field name="help" type="html">
<p>
From this report, you can have an overview of the amount invoiced
to your customer as well as payment delays. The tool search can
also be used to personalise your Invoices reports and so, match
this analysis to your needs.
</p>
</field>
</record>

View File

@ -258,9 +258,14 @@
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_voucher_filter_vendor_pay"/>
<field name="target">current</field>
<field name="help">Click on "Create" to register a supplier payment.
&lt;p&gt;
Track payments you do to your supplier and amounts you pay.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new supplier payment.
</p><p>
OpenERP helps you easily track payments you do and remining
balance to pay to your supplier.
</p>
</field>
</record>
<record id="action_vendor_payment_tree" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
@ -422,10 +427,15 @@
<field name="search_view_id" ref="view_voucher_filter_customer_pay"/>
<field name="view_id" eval="False"/>
<field name="target">current</field>
<field name="help">
Click on create to register a payment.
&lt;p&gt;
Enter the customer and the payment method and then, either create manually a payment record or OpenERP will propose to you automatically the reconciliation of this payment with the open invoices or sales receipts.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to register a new payment.
</p><p>
Enter the customer and the payment method and then, either
create manually a payment record or OpenERP will propose to you
automatically the reconciliation of this payment with the open
invoices or sales receipts.
</p>
</field>
</record>
<record id="action_vendor_receipt_tree" model="ir.actions.act_window.view">

View File

@ -165,10 +165,13 @@
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_voucher_filter_sale"/>
<field name="target">current</field>
<field name="help">
Click here to create a sale receipt.
&lt;p&gt;
When the sales receipt is confirmed, you can record the customer payment related to this sales receipt.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a sale receipt.
</p><p>
When the sale receipt is confirmed, you can record the customer
payment related to this sales receipt.
</p>
</field>
</record>
<record id="action_sale_receipt_tree" model="ir.actions.act_window.view">
@ -315,10 +318,13 @@
<field name="view_id" eval="False"/>
<field name="search_view_id" eval="view_voucher_filter_vendor"/>
<field name="target">current</field>
<field name="help">
Click here to create a purchase receipt.
&lt;p&gt;
When the purchase receipt is confirmed, you can record the supplier payment related to this purchase receipt.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to register a purchase receipt.
</p><p>
When the purchase receipt is confirmed, you can record the
supplier payment related to this purchase receipt.
</p>
</field>
</record>
<record id="action_purchase_receipt_tree" model="ir.actions.act_window.view">

View File

@ -40,7 +40,6 @@ This module is for modifying account analytic view to show some data related to
],
'installable': True,
'auto_install': True,
'certificate': '',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,213 @@
# Swedish translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
"PO-Revision-Date: 2012-08-02 00:12+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-08-03 05:48+0000\n"
"X-Generator: Launchpad (build 15734)\n"
#. module: anonymization
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard
msgid "ir.model.fields.anonymize.wizard"
msgstr ""
#. module: anonymization
#: field:ir.model.fields.anonymization,field_name:0
msgid "Field Name"
msgstr "Fältnamn"
#. module: anonymization
#: field:ir.model.fields.anonymization,field_id:0
msgid "Field"
msgstr "Fält"
#. module: anonymization
#: field:ir.model.fields.anonymization.history,state:0
#: field:ir.model.fields.anonymize.wizard,state:0
msgid "State"
msgstr ""
#. module: anonymization
#: field:ir.model.fields.anonymize.wizard,file_import:0
msgid "Import"
msgstr "Import"
#. module: anonymization
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization
msgid "ir.model.fields.anonymization"
msgstr ""
#. module: anonymization
#: field:ir.model.fields.anonymization.history,direction:0
msgid "Direction"
msgstr ""
#. module: anonymization
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_tree
#: view:ir.model.fields.anonymization:0
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_fields
msgid "Anonymized Fields"
msgstr ""
#. module: anonymization
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization
msgid "Database anonymization"
msgstr ""
#. module: anonymization
#: selection:ir.model.fields.anonymization.history,direction:0
msgid "clear -> anonymized"
msgstr ""
#. module: anonymization
#: selection:ir.model.fields.anonymization,state:0
#: selection:ir.model.fields.anonymize.wizard,state:0
msgid "Anonymized"
msgstr ""
#. module: anonymization
#: field:ir.model.fields.anonymization,state:0
msgid "unknown"
msgstr "okänd"
#. module: anonymization
#: field:ir.model.fields.anonymization,model_id:0
msgid "Object"
msgstr "Object"
#. module: anonymization
#: field:ir.model.fields.anonymization.history,filepath:0
msgid "File path"
msgstr "Sökväg"
#. module: anonymization
#: field:ir.model.fields.anonymization.history,date:0
msgid "Date"
msgstr "Datum"
#. module: anonymization
#: field:ir.model.fields.anonymize.wizard,file_export:0
msgid "Export"
msgstr "Export"
#. module: anonymization
#: view:ir.model.fields.anonymize.wizard:0
msgid "Reverse the Database Anonymization"
msgstr ""
#. module: anonymization
#: view:ir.model.fields.anonymize.wizard:0
msgid "Database Anonymization"
msgstr ""
#. module: anonymization
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_wizard
msgid "Anonymize database"
msgstr ""
#. module: anonymization
#: view:ir.model.fields.anonymization.history:0
#: field:ir.model.fields.anonymization.history,field_ids:0
msgid "Fields"
msgstr "Fält"
#. module: anonymization
#: selection:ir.model.fields.anonymization,state:0
#: selection:ir.model.fields.anonymize.wizard,state:0
msgid "Clear"
msgstr "Rensa"
#. module: anonymization
#: view:ir.model.fields.anonymize.wizard:0
#: field:ir.model.fields.anonymize.wizard,summary:0
msgid "Summary"
msgstr ""
#. module: anonymization
#: view:ir.model.fields.anonymization:0
msgid "Anonymized Field"
msgstr ""
#. module: anonymization
#: selection:ir.model.fields.anonymize.wizard,state:0
msgid "Unstable"
msgstr ""
#. module: anonymization
#: selection:ir.model.fields.anonymization.history,state:0
msgid "Exception occured"
msgstr ""
#. module: anonymization
#: selection:ir.model.fields.anonymization,state:0
#: selection:ir.model.fields.anonymize.wizard,state:0
msgid "Not Existing"
msgstr ""
#. module: anonymization
#: field:ir.model.fields.anonymization,model_name:0
msgid "Object Name"
msgstr "Objektnamn"
#. module: anonymization
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymization_history_tree
#: view:ir.model.fields.anonymization.history:0
#: model:ir.ui.menu,name:anonymization.menu_administration_anonymization_history
msgid "Anonymization History"
msgstr ""
#. module: anonymization
#: model:ir.model,name:anonymization.model_ir_model_fields_anonymization_history
msgid "ir.model.fields.anonymization.history"
msgstr ""
#. module: anonymization
#: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymize_wizard
#: view:ir.model.fields.anonymize.wizard:0
msgid "Anonymize Database"
msgstr ""
#. module: anonymization
#: field:ir.model.fields.anonymize.wizard,name:0
msgid "File Name"
msgstr "Filnamn"
#. module: anonymization
#: selection:ir.model.fields.anonymization.history,direction:0
msgid "anonymized -> clear"
msgstr ""
#. module: anonymization
#: selection:ir.model.fields.anonymization.history,state:0
msgid "Started"
msgstr "Påbörjad"
#. module: anonymization
#: selection:ir.model.fields.anonymization.history,state:0
msgid "Done"
msgstr "Färdig"
#. module: anonymization
#: view:ir.model.fields.anonymization.history:0
#: field:ir.model.fields.anonymization.history,msg:0
#: field:ir.model.fields.anonymize.wizard,msg:0
msgid "Message"
msgstr "Meddelande"
#. module: anonymization
#: code:addons/anonymization/anonymization.py:55
#: sql_constraint:ir.model.fields.anonymization:0
#, python-format
msgid "You cannot have two fields with the same name on the same object!"
msgstr ""

View File

@ -110,17 +110,27 @@
<!-- Action Rule Action -->
<record id="base_action_rule_act" model="ir.actions.act_window">
<record id="base_action_rule_act" model="ir.actions.act_window">
<field name="name">Automated Actions</field>
<field name="res_model">base.action.rule</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_base_action_rule_tree"/>
<field name="help">Use automated actions to automatically trigger actions for various screens. Example: a lead created by a specific user may be automatically set to a specific sales team, or an opportunity which still has status pending after 14 days might trigger an automatic reminder email.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to setup a new automated action rule.
</p><p>
Use automated actions to automatically trigger actions for
various screens. Example: a lead created by a specific user may
be automatically set to a specific sales team, or an
opportunity which still has status pending after 14 days might
trigger an automatic reminder email.
</p>
</field>
</record>
<menuitem id="menu_base_action_rule_form"
parent="base.menu_base_action_rule_admin" action="base_action_rule_act" sequence="1"/>
<menuitem id="menu_base_action_rule_form"
parent="base.menu_base_action_rule_admin" action="base_action_rule_act" sequence="1"/>
</data>

View File

@ -167,7 +167,14 @@
<field name="res_model">res.alarm</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">Create specific calendar alarms that may be assigned to calendar events or meetings.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to setup a new alarm type.
</p><p>
You can define a customized type of calendar alarm that may be
assigned to calendar events or meetings.
</p>
</field>
</record>
<!-- Menu for Alarms-->

View File

@ -58,7 +58,6 @@
<field name="res_model">crm.meeting.type</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_crm_meeting_type_tree"/>
<field name="help">Create different meeting categories to better organize and classify your meetings.</field>
</record>
<menuitem id="menu_crm_meeting_type" parent="base.menu_calendar_configuration" sequence="1"
@ -321,10 +320,14 @@
<field name="view_id" ref="view_crm_meeting_calendar"/>
<field name="search_view_id" ref="view_crm_meeting_search"/>
<field name="context">{"calendar_default_user_id": uid}</field>
<field name="help">
The meeting calendar is shared between the sales teams and fully integrated with other applications
such as the employee holidays or the business opportunities.
You can also synchronize meetings with your mobile phone using the caldav interface.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to schedule a new meeting.
</p><p>
The agenda is shared between employees and fully integrated with
other applications such as the employee holidays or the business
opportunities.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="action_view_crm_meeting_calendar">

View File

@ -43,7 +43,6 @@
</record>
<record id="report_designer_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_report_designer_installer"/>
<field name="category_id" ref="base.category_tools_customization_config"/>
<field name="sequence">3</field>
<field name="type">automatic</field>
</record>

View File

@ -46,5 +46,6 @@ Shows you a list of applications features to install from.
'certificate': '0086711085869',
'images': ['images/base_setup1.jpeg','images/base_setup2.jpeg','images/base_setup3.jpeg','images/base_setup4.jpeg',],
'js': ['static/src/js/base_setup.js'],
'css': ['static/src/css/base_setup.css'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,47 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<data>
<!-- Show menus that are hidden in module base -->
<record id="base.menu_res_company_global" model="ir.ui.menu">
<field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
</record>
<record id="base.menu_users" model="ir.ui.menu">
<field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
</record>
<record id="base.menu_publisher_warranty" model="ir.ui.menu">
<field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
</record>
<!-- Show menus that are hidden in module base -->
<record id="base.menu_res_company_global" model="ir.ui.menu">
<field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
</record>
<record id="base.menu_users" model="ir.ui.menu">
<field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
</record>
<record id="base.menu_publisher_warranty" model="ir.ui.menu">
<field name="groups_id" eval="[(3, ref('base.group_no_one'))]"/>
</record>
<!-- Specify Your Terminology Config Wiz-->
<record id="base_setup_terminology_form" model="ir.ui.view">
<field name="name">Specify Your Terminology</field>
<field name="model">base.setup.terminology</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.res_config_view_base"/>
<field name="arch" type="xml">
<data>
<form position="attributes" version="7.0">
<attribute name="string">Specify Your Terminology</attribute>
</form>
<group string="res_config_contents" position="replace">
<label string="You can use this wizard to change the terminologies for customers in the whole application."/>
<separator string="Specify Your Terminology"/>
<group colspan="4">
<field colspan="4" name="partner"/>
</group>
</group>
</data>
</field>
</record>
<record id="action_partner_terminology_config_form" model="ir.actions.act_window">
<field name="name">Use another word to say "Customer"</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">base.setup.terminology</field>
<field name="view_type">form</field>
<field name="view_id" ref="base_setup_terminology_form"/>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<!-- Specify your terminology config wiz -->
<record id="base_setup_terminology_form" model="ir.ui.view">
<field name="name">Specify Your Terminology</field>
<field name="model">base.setup.terminology</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.res_config_view_base"/>
<field name="arch" type="xml">
<data>
<form position="attributes" version="7.0">
<attribute name="string">Specify Your Terminology</attribute>
</form>
<group string="res_config_contents" position="replace">
<label string="You can use this wizard to change the terminologies for customers in the whole application."/>
<separator string="Specify Your Terminology"/>
<group colspan="4">
<field colspan="4" name="partner"/>
</group>
</group>
</data>
</field>
</record>
<record id="action_partner_terminology_config_form" model="ir.actions.act_window">
<field name="name">Use another word to say "Customer"</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">base.setup.terminology</field>
<field name="view_type">form</field>
<field name="view_id" ref="base_setup_terminology_form"/>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</data>
</data>
</openerp>

View File

@ -25,12 +25,12 @@ class base_config_settings(osv.osv_memory):
_name = 'base.config.settings'
_inherit = 'res.config.settings'
_columns = {
'module_multi_company': fields.boolean('Multi Company',
'module_multi_company': fields.boolean('manage multiple companies',
help="""Work in multi-company environments, with appropriate security access between companies.
This installs the module multi_company."""),
'module_portal': fields.boolean('Activate Customer Portal',
'module_portal': fields.boolean('activate customer portal',
help="""The portal will give access to a series of documents for your customers; his quotations, his invoices, his projects, etc."""),
'module_share': fields.boolean('Allow Sharing Resources to External Users',
'module_share': fields.boolean('allow documents sharing',
help="""As an example, you will be able to share a project or some tasks to your customers, or quotes/sales to several persons at your customer company, or your agenda availabilities to your contacts."""),
}
@ -54,14 +54,14 @@ class sale_config_settings(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
'module_crm': fields.boolean('CRM'),
'module_plugin_thunderbird': fields.boolean('Thunderbird Plugin',
'module_plugin_thunderbird': fields.boolean('enable Thunderbird plugin',
help="""The plugin allows you archive email and its attachments to the selected
OpenERP objects. You can select a partner, or a lead and
attach the selected mail as a .eml file in
the attachment of a selected record. You can create documents for CRM Lead,
Partner from the selected emails.
This installs the module plugin_thunderbird."""),
'module_plugin_outlook': fields.boolean('Outlook Plugin',
'module_plugin_outlook': fields.boolean('enable Outlook plugin',
help="""The Outlook plugin allows you to select an object that you would like to add
to your email and its attachments from MS Outlook. You can select a partner,
or a lead object and archive a selected

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
@ -6,31 +7,45 @@
<field name="model">base.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="General Settings" version="7.0">
<form string="General Settings" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<separator string="General Settings"/>
<div>
<label string="You will also find several configuration options on your company data:
address for the header and footer, overdue payments texts, etc."/>
<button type="object" name="open_company" string="Configure Your Company Data" icon="gtk-execute" class="oe_inline oe_link"/>
</div>
<group>
<group string="Company Settings">
<field name="module_multi_company"/>
<separator string="External Accesses" colspan="2"/>
<field name="module_share"/>
<field name="module_portal"/>
</group>
<group>
<div>
You will also find several configuration options on your company data:
address for the header and footer, overdue payments texts, etc.
<label for="id" string="Options"/>
<div>
<div name="multi_company">
<field name="module_multi_company" class="oe_inline"/>
<label for="module_multi_company"/>
</div>
<button type="object" name="open_company" string="Configure Your Company Data" icon="gtk-execute"/>
<separator string="Others" colspan="2"/>
<label for="id" string="Outgoing Mail Servers"/>
<button type="action" name="%(base.action_ir_mail_server_list)d"
string="Configure" icon="gtk-execute"/>
</group>
</div>
</group>
<group>
<label for="id" string="Share Data"/>
<div>
<div>
<field name="module_share" class="oe_inline"/>
<label for="module_share"/>
</div>
<div>
<field name="module_portal" class="oe_inline"/>
<label for="module_portal"/>
</div>
<div>
<label string="Configure outgoing email servers"/>
<button type="action"
name="%(base.action_ir_mail_server_list)d"
string="Configure" icon="gtk-execute" class="oe_link"/>
</div>
</div>
</group>
</form>
</field>
@ -51,22 +66,47 @@
<field name="model">sale.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Configure Sales" version="7.0">
<form string="Configure Sales" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<group>
<group name="config_sale">
<field name="module_crm" invisible="1"/>
<separator string="Emails" colspan="2" attrs="{'invisible': [('module_crm','=',False)]}"/>
<field name="module_plugin_thunderbird" attrs="{'invisible': [('module_crm','=',False)]}"/>
<field name="module_plugin_outlook" attrs="{'invisible': [('module_crm','=',False)]}"/>
</group>
<group name="config_other">
</group>
<div name="customer feature">
<separator string="Quotations and Sales Orders"/>
<group name="Customer">
<label for="id" string="Customer Features"/>
<div name="Customer Features"/>
</group>
<group name="Sale">
<label for="id" string="Sale Features"/>
<div name="Sale Features"/>
</group>
</div>
<div name="config_sale">
<field name="module_crm" invisible="1"/>
<separator string="Emails Integration" attrs="{'invisible': [('module_crm','=',False)]}"/>
<p attrs="{'invisible': [('module_crm','=',False)]}">
OpenERP allows to automatically create leads (or others documents)
from incoming emails. You can synchronize emails with OpenERP
by connecting the mail gateway to your mail server or by manually
pressing buttons in our mail clients.
</p>
<group name="On Mail Client" attrs="{'invisible': [('module_crm','=',False)]}">
<label for="id" string="On Mail Client"/>
<div>
<div name="module_plugin_thunderbird" attrs="{'invisible': [('module_crm','=',False)]}" class="oe_inline">
<field name="module_plugin_thunderbird"/>
<label for="module_plugin_thunderbird"/>
</div>
<div name="module_plugin_outlook" attrs="{'invisible': [('module_crm','=',False)]}">
<field name="module_plugin_outlook" class="oe_inline"/>
<label for="module_plugin_outlook"/>
</div>
</div>
</group>
</div>
<div name="config_other"/>
</form>
</field>
</record>

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>

View File

@ -0,0 +1,24 @@
/* Remove bold from labels in config wizards */
.oe_form_configuration .oe_form_group td:last-child .oe_form_label_help,
.oe_form_configuration .oe_form_group td:last-child .oe_form_label {
font-weight: normal;
}
/* Separate .eo_link elements from the rest of the label's text */
.oe_form_configuration .oe_form_group td:last-child .oe_link,
.oe_form_configuration .oe_form_group td:last-child .oe_separate-from-text {
position: relative;
left: 2em;
}
.oe_form_configuration .oe_form_group td:last-child .oe_link:before,
.oe_form_configuration .oe_form_group td:last-child .oe_separate-from-text:before {
content:"—";
padding-right: 1em;
color: grey;
/* Prevent the pseudo element's content to behave like its parent element */
position: absolute;
right: 100%;
bottom: 0; /* Parent element's height can vary */
pointer-events: none;
}

View File

@ -38,51 +38,15 @@ class board_board(osv.osv):
@param ids: List of Board's IDs
@return: arch of xml view.
"""
board = self.pool.get('board.board').browse(cr, uid, ids, context=context)
left = []
right = []
#start Loop
for line in board.line_ids:
linestr = '<action string="%s" name="%d"' % (line.name, line.action_id.id)
linestr += '/>'
if line.position == 'left':
left.append(linestr)
else:
right.append(linestr)
#End Loop
arch = """<?xml version="1.0"?>
<form string="My Board">
<form string="My Board" version="7.0">
<board style="1-1">
<column>
%s
</column>
<column>
%s
</column>
<column/>
<column/>
</board>
</form>""" % ('\n'.join(left), '\n'.join(right))
</form>"""
return arch
def write(self, cr, uid, ids, vals, context=None):
"""
Writes values in one or several fields.
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param ids: List of Board's IDs
@param vals: dictionary with values to update.
dictionary must be with the form: {name_of_the_field: value, ...}.
@return: True
"""
result = super(board_board, self).write(cr, uid, ids, vals, context=context)
board = self.pool.get('board.board').browse(cr, uid, ids[0], context=context)
view = self.create_view(cr, uid, ids[0], context=context)
id = board.view_id.id
cr.execute("update ir_ui_view set arch=%s where id=%s", (view, id))
return result
def create(self, cr, user, vals, context=None):
"""
create new record.
@ -106,7 +70,6 @@ class board_board(osv.osv):
})
super(board_board, self).write(cr, user, [id], {'view_id': view_id}, context)
return id
def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None,\
@ -131,7 +94,6 @@ class board_board(osv.osv):
res['toolbar'] = {'print': [], 'action': [], 'relate': []}
return res
def _arch_preprocessing(self, cr, user, arch, context=None):
from lxml import etree
def remove_unauthorized_children(node):
@ -150,13 +112,9 @@ class board_board(osv.osv):
archnode = etree.fromstring(encode(arch))
return etree.tostring(remove_unauthorized_children(archnode),pretty_print=True)
_columns = {
'name': fields.char('Dashboard', size=64, required=True),
'view_id': fields.many2one('ir.ui.view', 'Board View'),
'line_ids': fields.one2many('board.board.line', 'board_id', 'Action Views')
}
# the following lines added to let the button on dashboard work.
@ -164,26 +122,4 @@ class board_board(osv.osv):
'name':lambda *args: 'Dashboard'
}
class board_line(osv.osv):
"""
Board Line
"""
_name = 'board.board.line'
_description = "Board Line"
_order = 'position,sequence'
_columns = {
'name': fields.char('Title', size=64, required=True),
'sequence': fields.integer('Sequence', help="Gives the sequence order\
when displaying a list of board lines.", select=True),
'height': fields.integer('Height'),
'width': fields.integer('Width'),
'board_id': fields.many2one('board.board', 'Dashboard', required=True, ondelete='cascade'),
'action_id': fields.many2one('ir.actions.act_window', 'Action', required=True),
'position': fields.selection([('left','Left'),
('right','Right')], 'Position', required=True, select=True)
}
_defaults = {
'position': lambda *args: 'left'
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -24,14 +24,19 @@
<field name="view_mode">form</field>
<field name="usage">menu</field>
<field name="view_id" ref="board_my_dash_view"/>
<field name="help">
This is your personal dashboard.
To customize it, go to any view in OpenERP, fill in the desired search filter,
and click on 'Add to Dashboard' in the search options.
The view will appear as an element in your dashboard.
&lt;p&gt;
You can drag and drop the elements to get your preferred dashboard layout.
Click on the cross (in the upper right corner) to remove an element.
<field name="help" type="html">
<div class="oe_empty_custom_dashboard">
<p>
<b>Your personal dashboard is empty.</b>
</p><p>
To add your first report into this dashboard, go to any
menu, switch to list or graph view, and click <i>'Add to
Dashboard'</i> in the extended search options.
</p><p>
You can filter and group data before inserting into the
dashboard using the search options.
</p>
</div>
</field>
</record>

View File

@ -9,7 +9,6 @@
<field name="arch" type="xml">
<search string="Dashboard">
<field name="name" string="Dashboard"/>
<field name="line_ids"/>
</search>
</field>
</record>
@ -33,28 +32,16 @@
<field name="type">form</field>
<field eval="1" name="priority"/>
<field name="arch" type="xml">
<form string="Dashboard">
<group col="6" colspan="4">
<field name="name"/>
<field name="view_id"/>
<button colspan="2" name="%(action_board_menu_create)d" string="Create Menu" type="action" icon="gtk-justify-fill" />
</group>
<field colspan="4" name="line_ids" nolabel="1">
<tree string="Dashboard View">
<form string="Dashboard" version="7.0">
<header>
<button name="%(action_board_menu_create)d" string="Create Menu" type="action" class="oe_highlight"/>
</header>
<sheet>
<group>
<field name="name"/>
<field name="sequence"/>
<field name="action_id"/>
<field name="position"/>
</tree>
<form string="Dashboard View">
<field name="name"/>
<field name="sequence"/>
<field name="width"/>
<field name="height"/>
<field name="action_id" domain="[('view_type','!=','tree')]" />
<field name="position"/>
</form>
</field>
<field name="view_id" invisible="1"/>
</group>
</sheet>
</form>
</field>
</record>
@ -70,8 +57,8 @@
<menuitem action="action_view_board_list_form"
id="menu_view_board_form" parent="base.menu_reporting_config"
groups="base.group_no_one"
sequence="2"/>
groups="base.group_no_one"
sequence="2"/>
</data>
</openerp>

View File

@ -1,5 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_board_board all,board.board,model_board_board,,1,0,0,0
access_board_board_line all,board.board.line,model_board_board_line,,1,0,0,0
access_board_board system,board.board system,model_board_board,base.group_system,1,1,1,1
access_board_board_line system,board.board.line system,model_board_board_line,base.group_system,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_board_board all board.board model_board_board 1 0 0 0
access_board_board_line all board.board.line model_board_board_line 1 0 0 0
3 access_board_board system board.board system model_board_board base.group_system 1 1 1 1
access_board_board_line system board.board.line system model_board_board_line base.group_system 1 1 1 1

View File

@ -40,10 +40,6 @@ class board_menu_create(osv.osv_memory):
"""
data = context and context.get('active_id', False) or False
if data:
board = self.pool.get('board.board').browse(cr, uid, data, context=context)
if not board.line_ids:
raise osv.except_osv(_('User Error!'),
_('Please Insert Dashboard View(s) !'))
return False
@ -67,6 +63,19 @@ class board_menu_create(osv.osv_memory):
'view_mode': 'form',
'res_model': 'board.board',
'view_id': board.view_id.id,
'help': _('''<div class="oe_empty_custom_dashboard">
<p>
<b>This dashboard is empty.</b>
</p><p>
To add the first report into this dashboard, go to any
menu, switch to list or graph view, and click <i>'Add to
Dashboard'</i> in the extended search options.
</p><p>
You can filter and group data before inserting into the
dashboard using the search options.
</p>
</div>
''')
})
obj_menu = self.pool.get('ir.ui.menu')
#start Loop
@ -74,7 +83,6 @@ class board_menu_create(osv.osv_memory):
obj_menu.create(cr, uid, {
'name': data.menu_name,
'parent_id': data.menu_parent_id.id,
'icon': 'STOCK_SELECT_COLOR',
'action': 'ir.actions.act_window,' + str(action_id)
}, context=context)
#End Loop

View File

@ -178,7 +178,6 @@
<field name="res_model">basic.calendar</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">"Calendars" allow you to Customize calendar event and todo attribute with any of OpenERP model.Caledars provide iCal Import/Export functionality.Webdav server that provides remote access to calendar.Help You to synchronize Meeting with Calendars client.You can access Calendars using CalDAV clients, like sunbird, Calendar Evaluation, Mobile.</field>
</record>
<record id="action_caldav_view1" model="ir.actions.act_window.view">

View File

@ -23,7 +23,7 @@
<field name="model">crm.lead.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Opportunities By Stage" type="pie">
<graph string="Opportunities By Stage" type="area">
<field name="stage_id"/>
<field name="nbr" operator="+"/>
</graph>
@ -65,16 +65,6 @@
<field name="context">{'search_default_Stage':1}</field>
</record>
<record model="ir.actions.act_window" id="crm_case_confirmed_meet">
<field name="name">Meetings</field>
<field name="res_model">crm.meeting</field>
<field name="view_mode">calendar,tree,form,gantt</field>
<field name="view_id" ref="base_calendar.view_crm_meeting_tree"/>
<field name="context">{"calendar_default_user_id":uid}</field>
<field name="domain">[('state','=','open'),('date','&gt;',datetime.date.today().strftime("%Y-%m-%d %H:%M:%S"))]</field>
<field name="search_view_id" ref="base_calendar.view_crm_meeting_search"/>
</record>
<record model="ir.ui.view" id="board_crm_statistical_form">
<field name="name">CRM - Statistical Dashboard Form</field>
<field name="model">board.board</field>
@ -85,7 +75,6 @@
<column>
<action string="New Leads" name="%(act_crm_tag_tree_view_leads_all)d"/>
<action string="My Opportunities" name="%(act_my_oppor)d"/>
<action string="My Next Meetings" name="%(crm_case_confirmed_meet)d"/>
</column>
<column>
<action string="Planned Revenue by Stage and User" name="%(act_oppor_stage_user)d"/>

View File

@ -1,6 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- After installation of the module, open the related menu -->
<record id="action_client_crm_menu" model="ir.actions.client">
<field name="name">Open Sale Menu</field>
<field name="tag">reload</field>
<field name="params" eval="{'menu_id': ref('base.menu_base_partner')}"/>
</record>
<record id="todo_open_crm_menu" model="ir.actions.todo">
<field name="action_id" ref="action_client_crm_menu"/>
<field name="type">automatic</field>
<field name="sequence">100</field>
</record>
<record model="crm.case.channel" id="crm_case_channel_website">
<field name="name">Website</field>
</record>
@ -23,21 +36,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module CRM has been installed</value>
<value>From the top menu Sales, manage your sales pipeline: leads,
opportunities, meetings, phone calls, and customers. OpenERP
ensures that all cases are successfully tracked by all parties.
It can automatically send reminders, escalate requests, trigger
specific methods and lots of other actions based on your own
enterprise rules.
<value>From the top menu Sales, you can: trace leads and opportunities, get accurate forecast on your sales pipeline, plan meetings and phonecalls, get realtime statistics and efficiently organize the communication with your prospects.
In the Sales settings, you can configure an email gateway to
automatically create leads from messages sent on a particular
email address.
To manage quotations and sale orders, install the module "Sales
Management". With this module, you will be able to create
quotations directly from opportunities.
</value>
To manage quotations and sale orders, install the module "Sales Management".</value>
</function>
</data>
</openerp>

View File

@ -245,7 +245,7 @@ class crm_lead(base_stage, osv.osv):
'company_currency': fields.related('company_id', 'currency_id', 'symbol', type='char', string='Company Currency', readonly=True),
'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True),
'user_login': fields.related('user_id', 'login', type='char', string='User Login', readonly=True),
# Fields for address, due to separation from crm and res.partner
'street': fields.char('Street', size=128),
'street2': fields.char('Street2', size=128),
@ -278,7 +278,7 @@ class crm_lead(base_stage, osv.osv):
self.create_send_note(cr, uid, [obj_id], context=context)
return obj_id
def onchange_stage_id(self, cr, uid, ids, stage_id, context={}):
def onchange_stage_id(self, cr, uid, ids, stage_id, context=None):
if not stage_id:
return {'value':{}}
stage = self.pool.get('crm.case.stage').browse(cr, uid, stage_id, context)
@ -286,6 +286,14 @@ class crm_lead(base_stage, osv.osv):
return {'value':{}}
return {'value':{'probability': stage.probability}}
def on_change_partner(self, cr, uid, ids, partner_id, context=None):
result = {}
if partner_id:
partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
result = {'partner_name' : partner.name}
return {'value' : result}
def _check(self, cr, uid, ids=False, context=None):
""" Override of the base.stage method.
Function called by the scheduler to process cases for date actions

View File

@ -10,13 +10,17 @@
<field name="view_id" ref="crm_case_tree_view_leads"/>
<field name="search_view_id" ref="crm.view_crm_case_leads_filter"/>
<field name="context">{'default_type':'lead', 'stage_type':'lead'}</field>
<field name="help">
&lt;img src="http://www.thaicrmsoftware.com/wp-content/uploads/2011/11/lead-conversion.jpg" align="right" style="padding: 6px" width="306" height="223"&gt;
&lt;h2&gt;Click here to create a Lead. &lt;/h2&gt;
&lt;p&gt;
A lead is usually the first step in your sales cycle.
&lt;p&gt;
Once qualified, a lead may be converted into a business opportunity, while creating the related partner for further detailed tracking of any linked activities.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create an unqualified lead.
</p><p>
A lead is usually the first step in your sales cycle. It can be
a contact with a new prospect, a company you target, a contact form
filled in your website, etc.
</p><p>
Once qualified, the lead can be converted into a business
opportunity and a new customer in your address book.
</p>
</field>
</record>
@ -37,14 +41,23 @@
<record model="ir.actions.act_window" id="crm_case_category_act_oppor11">
<field name="name">Opportunities</field>
<field name="res_model">crm.lead</field>
<field name="view_mode">kanban,tree,form,calendar</field>
<field name="view_mode">kanban,tree,graph,form,calendar</field>
<field name="domain">[('type','=','opportunity')]</field>
<field name="context">{'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
<field name="help">With opportunities you can manage and keep track of your sales pipeline by creating specific customer- or prospect-related sales documents to follow up potential sales. Information such as expected revenue, opportunity stage, expected closing date, communication history and much more can be stored. Opportunities can be connected to the email gateway: new emails may create opportunities, each of them automatically gets the history of the conversation with the customer.
You and your team(s) will be able to plan meetings and phone calls from opportunities, convert them into quotations, manage related documents, track all customer related activities, and much more.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new opportunity.
</p><p>
OpenERP helps you keep track of your sales pipeline to follow
up potential sales and better forecast your future revenues.
</p><p>
You will be able to plan meetings and phone calls from
opportunities, convert them into quotations, attach related
documents, track all discussions, and much more.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_kanban_view_oppor11">

View File

@ -63,7 +63,14 @@
<field name="res_model">crm.case.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm.crm_case_stage_tree"/>
<field name="help">Add specific stages to leads and opportunities allowing your sales to better organise their sales pipeline. Stages will allow them to easily track how a specific lead or opportunity is positioned in the sales cycle.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to set a new stage in your lead/opportunity pipeline.
</p><p>
Stages will allow salespersons to easily track how a specific
lead or opportunity is positioned in the sales cycle.
</p>
</field>
</record>
<menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages" sequence="0" parent="base.menu_crm_config_lead" groups="base.group_no_one"/>
@ -74,13 +81,22 @@
<!-- Categories Form View -->
<record id="crm_lead_categ_action" model="ir.actions.act_window">
<field name="name">Categories</field>
<field name="name">Sales Tags</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_case_categ_tree-view"/>
<field name="context" eval="{'object_id': ref('model_crm_lead')}"/>
<field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
<field name="help">Create specific categories that fit your company's activities to better classify and analyse your leads and opportunities. Such categories could for instance reflect your product structure or the different types of sales you do.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new sales tag.
</p><p>
Create specific tags that fit your company's activities
to better classify and analyse your leads and opportunities.
Such categories could for instance reflect your product
structure or the different types of sales you do.
</p>
</field>
</record>
<menuitem action="crm_lead_categ_action"
@ -129,10 +145,6 @@
</header>
<sheet>
<div class="oe_right oe_button_box" name="buttons">
<button type="action"
name="%(act_crm_opportunity_crm_meeting_new)d"
string="Meetings" />
<button type="action"
name="%(act_crm_opportunity_crm_phonecall_new)d"
string="Phone Calls" />
@ -142,20 +154,10 @@
<h1><field name="name" placeholder="Describe the lead..."/></h1>
</div>
<group>
<group>
<field name="user_id" />
<field name="section_id"/>
<field name="type" invisible="1"/>
</group>
<group>
<field name="priority"/>
<field name="categ_ids"
widget="many2many_tags"
domain="[('object_id.model','=','crm.lead')]"/>
</group>
<group>
<field name="partner_name" string="Company Name"/>
<field name="partner_id" string="Customer"/>
<field name="partner_id" string="Customer"
on_change="on_change_partner(partner_id)" />
<label for="street" string="Address"/>
<div>
<field name="street" placeholder="Street..."/>
@ -186,6 +188,17 @@
icon="terp-mail-message-new" type="action" colspan="1"/>
-->
</group>
<group>
<field name="user_id" />
<field name="section_id"/>
<field name="type" invisible="1"/>
</group>
<group>
<field name="priority"/>
<field name="categ_ids"
widget="many2many_tags"
domain="[('object_id.model','=','crm.lead')]"/>
</group>
</group>
<notebook colspan="4">
<page string="Notes">
@ -216,6 +229,20 @@
</field>
</record>
<!-- CRM Lead Graph View -->
<record model="ir.ui.view" id="crm_case_graph_view_leads">
<field name="name">Opportunities</field>
<field name="model">crm.lead</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Opportunities" type="bar">
<field name="stage_id"/>
<field name="planned_revenue" operator="+"/>
</graph>
</field>
</record>
<!-- CRM Lead Tree View -->
<record model="ir.ui.view" id="crm_case_tree_view_leads">
<field name="name">Leads</field>
@ -432,9 +459,11 @@
<button string="Schedule/Log Call"
name="%(opportunity2phonecall_act)d"
type="action"/>
<button string="Schedule Meeting"
<button string="Meeting"
name="action_makeMeeting"
type="object"/>
type="object"
context="{'search_default_attendee_id': active_id, 'default_attendee_id' : active_id}"
/>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>

View File

@ -68,14 +68,18 @@
<field name="domain">[]</field>
<field name="context">{}</field>
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
<field name="help">
Click on "Create" to log a new call.
&lt;p&gt;
This tool allows you to log your calls on the fly.
&lt;p&gt;
From this feature, you can trigger a request for another call, a meeting or an opportunity.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to log the summary of a phone call.
</p><p>
OpenERP allows you to log inbound calls on the fly to track the
history of the communication with a customer or to inform another
team member.
</p><p>
In order to follow up on the call, you can trigger a request for
another call, a meeting or an opportunity.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_phone_incoming0">
@ -112,12 +116,16 @@
<field name="domain">[('state','!=','done')]</field>
<field name="context" eval="'{\'default_state\':\'open\'}'"/>
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
<field name="help">
Click here to schedule a new call.
&lt;p&gt;
Scheduled calls list all the calls to be done by your sales team.
&lt;p&gt;
This information will be stored in the partner form to trace every contact you have with a customer.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to schedule a call
</p><p>
OpenERP allows you to easily define all the calls to be done
by your sales team and follow up based on their summary.
</p><p>
You can use the import feature to massicely import a new list of
prospects to qualify.
</p>
</field>
</record>

View File

@ -47,7 +47,14 @@
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
<field name="domain">[('object_id.model', '=', 'crm.phonecall')]</field>
<field name="context" eval="{'object_id': ref('model_crm_phonecall')}"/>
<field name="help">Create specific phone call categories to better define the type of calls tracked in the system.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new category.
</p><p>
Create specific phone call categories to better define the type of
calls tracked in the system.
</p>
</field>
</record>
<menuitem action="crm_phonecall_categ_action" name="Categories"

View File

@ -59,7 +59,18 @@
<field name="res_model">crm.case.channel</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">Track from where is coming your leads and opportunities by creating specific channels that will be maintained at the creation of a document in the system. Some examples of channels can be: Website, Phone Call, Reseller, etc.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new channel.
</p><p>
Use channels to track the soure of your leads and opportunities. Channels
are mostly used in reporting to analyse sales performance
related to marketing efforts.
</p><p>
Some examples of channels: company website, phone call
campaign, reseller, etc.
</p>
</field>
</record>
<menuitem action="crm_case_channel_action" id="menu_crm_case_channel" parent="base.menu_crm_config_lead" sequence="4" groups="base.group_no_one"/>
@ -133,7 +144,15 @@
<field name="res_model">crm.case.section</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_case_section_view_tree"/>
<field name="help">Define a Sales Team to organize your different salesmen or sales departments into separate teams. Each team will work in its own list of opportunities, sales orders, etc. Each user can set a default team in his user preferences. The opportunities and sales order displayed, will automatically be filtered according to his team.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new sales team.
</p><p>
Use sales team to organize your different salespersons or
departments into separate teams. Each team will work in
its own list of opportunities.
</p>
</field>
</record>
<menuitem action="crm_case_section_act"
@ -380,11 +399,20 @@
</record>
<record id="crm_segmentation_tree-act" model="ir.actions.act_window">
<field name="name">Partners Segmentation</field>
<field name="name">Contacts Segmentation</field>
<field name="res_model">crm.segmentation</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">Create specific partner categories which you can assign to your partners to better manage your interactions with them. The segmentation tool is able to assign categories to partners according to criteria you set.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new customer segmentation.
</p><p>
Create specific categories which you can assign to your
contacts to better manage your interactions with them. The
segmentation tool is able to assign categories to contacts
according to criteria you set.
</p>
</field>
</record>
<menuitem action="crm_segmentation_tree-act"

View File

@ -1,4 +1,4 @@
<?xml version="1.0" ?>
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>

View File

@ -26,22 +26,22 @@ class crm_configuration(osv.osv_memory):
_inherit = ['sale.config.settings', 'fetchmail.config.settings']
_columns = {
'fetchmail_lead': fields.boolean("Create Leads from Incoming Mails",
'fetchmail_lead': fields.boolean("create leads from incoming mails",
fetchmail_model='crm.lead', fetchmail_name='Incoming Leads',
help="""Allows you to configure your incoming mail server, and create leads from incoming emails."""),
'module_crm_caldav': fields.boolean("Caldav Synchronization",
'module_crm_caldav': fields.boolean("applications with Caldav protocol",
help="""Use protocol caldav to synchronize meetings with other calendar applications (like Sunbird).
This installs the module crm_caldav."""),
'module_import_sugarcrm': fields.boolean("SugarCRM Import",
'module_import_sugarcrm': fields.boolean("SugarCRM",
help="""Import SugarCRM leads, opportunities, users, accounts, contacts, employees, meetings, phonecalls, emails, project and project tasks data.
This installs the module import_sugarcrm."""),
'module_import_google': fields.boolean("Google Import",
'module_import_google': fields.boolean("Google (Contacts and Calendar)",
help="""Import google contact in partner address and add google calendar events details in Meeting.
This installs the module import_google."""),
'module_wiki_sale_faq': fields.boolean("Install a Sales FAQ",
'module_wiki_sale_faq': fields.boolean("share information with sales FAQ",
help="""This provides demo data, thereby creating a Wiki Group and a Wiki Page for Wiki Sale FAQ.
This installs the module wiki_sale_faq."""),
'module_google_map': fields.boolean("Google Maps on Customer",
'module_google_map': fields.boolean("add google maps on customer",
help="""Locate customers on Google Map.
This installs the module google_map."""),
}

View File

@ -8,26 +8,56 @@
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
<field name="arch" type="xml">
<separator string="Emails" version="7.0" position="after">
<label for="fetchmail_lead"/>
<group name="On Mail Client" version="7.0" position="after">
<group>
<label for="id" string="On Mail Server"/>
<div>
<div name="fetchmail_lead">
<field name="fetchmail_lead" class="oe_inline"/>
<label for="fetchmail_lead"/>
<button name="configure_fetchmail_lead" type="object" string="Configure" icon="gtk-go-forward"
attrs="{'invisible': [('fetchmail_lead','=',False)]}" class="oe_link"/>
</div>
</div>
</group>
</group>
<div name="config_other" version="7.0" position="inside">
<separator string="Import and Synchronize Data from an Other Application"/>
<group>
<label for="id" string="Import From"/>
<div>
<div>
<field name="module_import_sugarcrm"/>
<label for="module_import_sugarcrm"/>
</div>
</div>
</group>
<group>
<label for="id" string="Synchronize with"/>
<div>
<div>
<field name="module_import_google"/>
<label for="module_import_google"/>
</div>
<div>
<field name="module_crm_caldav"/>
<label for="module_crm_caldav"/>
</div>
</div>
</group>
</div>
<div name="Customer Features" position="inside">
<div>
<field name="fetchmail_lead"/>
<button name="configure_fetchmail_lead" type="object" string="Configure" icon="gtk-go-forward"
attrs="{'invisible': [('fetchmail_lead','=',False)]}"/>
<field name="module_google_map" class="oe_inline"/>
<label for="module_google_map"/>
</div>
</separator>
<group name="config_other" version="7.0" position="inside">
<separator string="Import and Synchronize Data from an Other Application" colspan="2"/>
<field name="module_import_sugarcrm"/>
<field name="module_crm_caldav"/>
<field name="module_import_google"/>
<separator string="Customer Form" colspan="2"/>
<field name="module_google_map"/>
</group>
<group name="config_sale" position="inside">
<separator string="Documents and Wiki" colspan="2"/>
</div>
<div name="Sale Features" position="inside">
<div>
<field name="module_wiki_sale_faq"/>
</group>
<label for="module_wiki_sale_faq"/>
</div>
</div>
</field>
</record>

View File

@ -46,6 +46,14 @@ class res_partner(osv.osv):
'meeting_count': fields.function(_opportunity_meeting_count, string="Meeting", type='integer', multi='opp_meet'),
}
def copy(self, cr, uid, record_id, default=None, context=None):
if default is None:
default = {}
default.update({'opportunity_ids': [], 'meeting_ids' : [], 'phonecall_ids' : []})
super(res_partner, self).copy(cr, uid, record_id, default, context)
def redirect_partner_form(self, cr, uid, partner_id, context=None):
search_view = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'view_res_partner_filter')
value = {

View File

@ -70,10 +70,17 @@
'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
<field name="help">
With opportunities you can manage and keep track of your sales pipeline by creating specific customer- or prospect-related sales documents to follow up potential sales. Information such as expected revenue, opportunity stage, expected closing date, communication history and much more can be stored. Opportunities can be connected to the email gateway: new emails may create opportunities, each of them automatically gets the history of the conversation with the customer.
You and your team(s) will be able to plan meetings and phone calls from opportunities, convert them into quotations, manage related documents, track all customer related activities, and much more.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create an opportunity related to this customer.
</p><p>
Use opportunities to keep track of your sales pipeline, follow
up potential sales and better forecast your future revenues.
</p><p>
You will be able to plan meetings and phone calls from
opportunities, convert them into quotations, attach related
documents, track all discussions, and much more.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="relate_partner_opportunities_kanban">

View File

@ -15,7 +15,15 @@
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
<field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
<field name="context" eval="{'object_id': ref('model_crm_claim')}"/>
<field name="help">Create claim categories to better manage and classify your claims. Some example of claims can be: preventive action, corrective action.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a claim category.
</p><p>
Create claim categories to better manage and classify your
claims. Some example of claims can be: preventive action,
corrective action.
</p>
</field>
</record>
<menuitem action="crm_claim_categ_action" name="Categories"
@ -57,7 +65,15 @@
<field name="res_model">crm.claim.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm_claim_stage_tree"/>
<field name="help">You can create claim stages to categorize the status of every claim entered in the system. The stages define all the steps required for the resolution of a claim.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to setup a new stage in the processing of the claims.
</p><p>
You can create claim stages to categorize the status of every
claim entered in the system. The stages define all the steps
required for the resolution of a claim.
</p>
</field>
</record>
<!-- Claims -->

View File

@ -26,7 +26,7 @@ class crm_claim_settings(osv.osv_memory):
_inherit = ['sale.config.settings', 'fetchmail.config.settings']
_columns = {
'fetchmail_claim': fields.boolean("Create Claims from Incoming Mails",
'fetchmail_claim': fields.boolean("create claims from incoming mails",
fetchmail_model='crm.claim', fetchmail_name='Incoming Claims',
help="""Allows you to configure your incoming mail server, and create claims from incoming emails."""),
}

View File

@ -7,16 +7,16 @@
<field name="model">sale.config.settings</field>
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
<field name="priority" eval="20"/> <!-- to put fetchmail_lead before fetchmail_claim -->
<field name="priority" eval="20"/>
<field name="arch" type="xml">
<separator string="Emails" version="7.0" position="after">
<label for="fetchmail_claim"/>
<div name="fetchmail_lead" position="after">
<div>
<field name="fetchmail_claim"/>
<button type="object" name="configure_fetchmail_claim" string="Configure" icon="gtk-go-forward"
attrs="{'invisible': [('fetchmail_claim','=',False)]}"/>
<field name="fetchmail_claim" class="oe_inline"/>
<label for="fetchmail_claim"/>
<button type="object" name="configure_fetchmail_claim" string="Configure" icon="gtk-go-forward"
attrs="{'invisible': [('fetchmail_claim','=',False)]}" class="oe_link"/>
</div>
</separator>
</div>
</field>
</record>

View File

@ -18,7 +18,18 @@
<field name="view_id" ref="crm_case_tree_view_helpdesk"/>
<field name="search_view_id" ref="view_crm_case_helpdesk_filter"/>
<field name="context">{"search_default_user_id":uid}</field>
<field name="help">Helpdesk and Support allow you to track your interventions. Select a customer, add notes and categorize interventions with partners if necessary. You can also assign a priority level. Use the OpenERP Issues system to manage your support activities. Issues can be connected to the email gateway: new emails may create issues, each of them automatically gets the history of the conversation with the customer.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new request.
</p><p>
Helpdesk and Support allow you to track your interventions.
</p><p>
Use the OpenERP Issues system to manage your support
activities. Issues can be connected to the email gateway: new
emails may create issues, each of them automatically gets the
history of the conversation with the customer.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="action_crm_sec_tree_view_act111">

View File

@ -97,7 +97,19 @@
<field name="res_model">delivery.carrier</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">Define the delivery methods you are using and their pricing in order to reinvoice the delivery costs when you are doing invoicing based on delivery orders</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new deliver method.
</p><p>
Each carrier (e.g. UPS) can have several delivery methods (e.g.
UPS Express, UPS Standard) with a set of pricing rules attached
to each method.
</p><p>
These methods allows to automaticaly compute the delivery price
according to your settings; on the sale order (based on the
quotation) or the invoice (based on the delivery orders).
</p>
</field>
</record>
<menuitem action="action_delivery_carrier_form" id="menu_action_delivery_carrier_form" parent="stock.menu_stock_configuration" sequence="15"/>
@ -152,7 +164,17 @@
<field name="res_model">delivery.grid</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">The delivery price list allows you to compute the cost and sales price of the delivery according to the weight of the products and other criteria. You can define several price lists for one delivery method, per country or a zone in a specific country defined by a postal code range.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a delivery price list for a specific region.
</p><p>
The delivery price list allows you to compute the cost and
sales price of the delivery according to the weight of the
products and other criteria. You can define several price lists
for each delivery method: per country or a zone in a specific
country defined by a postal code range.
</p>
</field>
</record>
<menuitem action="action_delivery_grid_form" id="menu_action_delivery_grid_form" parent="menu_delivery"/>

View File

@ -315,7 +315,14 @@
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.attachment</field>
<field name="view_type">form</field>
<field name="help">The Documents repository gives you access to all attachments, such as mails, project documents, invoices etc.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new document.
</p><p>
The Documents repository gives you access to all attachments, such
as mails, project documents, invoices etc.
</p>
</field>
</record>
<menuitem name="Documents" id="menu_document_doc" parent="knowledge.menu_document" sequence="0"/>
<menuitem

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_auto_config_form" model="ir.ui.view">
@ -29,15 +30,9 @@
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<record id="category_knowledge_mgmt_config" model="ir.actions.todo.category">
<field name="name">Knowledge Management</field>
<field name="sequence">5</field>
</record>
<record model="ir.actions.todo" id="config_auto_directory">
<field name="action_id" ref="action_config_auto_directory"/>
<field name="category_id" ref="category_knowledge_mgmt_config"/>
<field name="type">automatic</field>
</record>
</data>

View File

@ -5,7 +5,7 @@
# pyftpdlib is released under the MIT license, reproduced below:
# ======================================================================
# Copyright (C) 2007 Giampaolo Rodola' <g.rodola@gmail.com>
# Hacked by Fabien Pinckaers (C) 2008 <fp@tinyerp.com>
# Hacked by Fabien Pinckaers (C) 2008 <fp@openerp.com>
#
# All Rights Reserved
#

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_document_ftp_configuration" model="ir.ui.view">

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.actions.url" id="action_document_browse">
@ -35,10 +36,9 @@
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<record model="ir.actions.todo" id="config_auto_directory">
<field name="action_id" ref="action_config_auto_directory"/>
<field name="category_id" ref="document.category_knowledge_mgmt_config"/>
<field name="type">automatic</field>
</record>
</data>

View File

@ -1,15 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- After installation of the module, open the related menu -->
<record id="action_client_event_menu" model="ir.actions.client">
<field name="name">Open Event Menu</field>
<field name="tag">reload</field>
<field name="params" eval="{'menu_id': ref('event.event_main_menu')}"/>
</record>
<record id="todo_open_event_menu" model="ir.actions.todo">
<field name="action_id" ref="action_client_event_menu"/>
<field name="type">automatic</field>
<field name="sequence">100</field>
</record>
<!-- notify all employees of module installation -->
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Events Organisation has been installed</value>
<value>Organize events and manage their registrations. You can
automatically confirm and send acknowledgements of registrations
by email.
</value>
<value>From the top menu Events, you can organize events, manage registrations, automate communication around your event and sell events through your quotations.</value>
</function>
</data>
</openerp>

View File

@ -363,7 +363,15 @@
<field name="view_mode">kanban,calendar,tree,form,graph</field>
<field name="context">{"search_default_upcoming":1}</field>
<field name="search_view_id" ref="view_event_search"/>
<field name="help">Event is the low level object used by meeting and others documents that should be synchronized with mobile devices or calendar applications through caldav. Most of the users should work in the Calendar menu, and not in the list of events.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new event.
</p><p>
OpenERP helps you schedule and efficiently organize your events:
track subscriptions and participations, automate the confirmation emails,
sell tickets, etc.
</p>
</field>
</record>
<act_window

View File

@ -27,7 +27,6 @@ class report_event_registration(osv.osv):
_name = "report.event.registration"
_description = "Events Analysis"
_auto = False
_rec_name = 'date'
_columns = {
'event_date': fields.char('Event Start Date', size=64, readonly=True),
'year': fields.char('Year', size=4, readonly=True),

View File

@ -39,13 +39,9 @@
<field name="target">new</field>
</record>
<record id="marketing_cat" model="ir.actions.todo.category">
<field name="name">Marketing</field>
</record>
<!-- register configuration wizard -->
<record id="config_wizard_config_moodle" model="ir.actions.todo">
<field name="action_id" ref="configure_moodle"/>
<field name="category_id" ref="marketing_cat" />
<field name="type">automatic</field>
<field name="name">Configuration of moodle</field>
</record>

View File

@ -3,7 +3,7 @@
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# mga@tinyerp.com
# mga@openerp.com
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by

View File

@ -3,7 +3,7 @@
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# mga@tinyerp.com
# mga@openerp.com
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by

View File

@ -6,17 +6,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Employee Directory has been installed</value>
<value>Manage your human resources in OpenERP: employees and hierarchy,
HR departments and jobs.
<value>Manage your human resources in OpenERP: employees and hierarchy, HR departments and jobs.
More features are available in the following modules:
Recruitment Process (manage job positions and recruitment),
Timesheets Validation (record timesheets and attendance),
Leaves Management (keep track of employee leaves),
Expenses Management (manage employee expenses),
Employee Appraisals (organize employee surveys, where employees
evaluate their subordinates or their manager.)
</value>
More HR features are available from the following modules: Recruitment Process (manage job positions and recruitment), Timesheets Validation (record timesheets and attendance), Leaves Management (keep track of employee leaves), Expenses Management (manage employee expenses), Employee Appraisals (organize employee surveys, where employees evaluate their subordinates or their manager.)</value>
</function>
<record id="employee" model="hr.employee">

View File

@ -50,7 +50,15 @@
<field name="res_model">hr.department</field>
<field name="view_type">form</field>
<field name="search_view_id" ref="view_department_filter"/>
<field name="help">Your Company's Department Structure is used to manage all documents related to employees by departments: expenses and timesheet validation, leaves management, recruitments, etc.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a department.
</p><p>
OpenERP's department structure is used to manage all documents
related to employees by departments: expenses, timesheets,
leaves and holidays, recruitments, etc.
</p>
</field>
</record>
<menuitem action="open_module_tree_department" id="menu_hr_department_tree" parent="hr.menu_hr_configuration" sequence="5"/>

View File

@ -1,11 +1,6 @@
<openerp>
<data>
<record id="category_hr_management_config" model="ir.actions.todo.category">
<field name="name">HR Management</field>
<field name="sequence">5</field>
</record>
<record model="ir.actions.act_window" id="view_department_form_installer">
<field name="name">Create Your Departments</field>
<field name="type">ir.actions.act_window</field>
@ -13,7 +8,15 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="hr.view_department_tree"/>
<field name="help">Your departments structure is used to manage all documents related to employees by departments: expenses and timesheet validation, leaves management, recruitments, etc.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new department.
</p><p>
Your departments structure is used to manage all documents
related to employees by departments: expenses and timesheets,
leaves and holidays, recruitments, etc.
</p>
</field>
</record>
</data>

View File

@ -193,7 +193,15 @@
<field name="context">{}</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_employee_filter"/>
<field name="help">Here you can manage your work force by creating employees and assigning them specific properties in the system. Maintain all employee related information and keep track of anything that needs to be recorded for them. The personal information tab will help you maintain their identity data. The Categories tab gives you the opportunity to assign them related employee categories depending on their position and activities within the company. A category can be a seniority level within the company or a department. The Timesheets tab allows to assign them a specific timesheet and analytic journal where they will be able to enter time through the system. In the note tab, you can enter text data that should be recorded for a specific employee.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new employee.
</p><p>
With just a quick glance on the OpenERP employee screen, you
can easily find all the information you need for each person;
contact data, job position, availability, etc.
</p>
</field>
</record>
<record id="open_view_employee_list_my_kanban" model="ir.actions.act_window.view">
@ -443,7 +451,20 @@
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_job_filter"/>
<field name="context">{"search_default_Current":1}</field>
<field name="help">Job Positions are used to define jobs and their requirements. You can keep track of the number of employees you have per job position and how many you expect in the future. You can also attach a survey to a job position that will be used in the recruitment process to evaluate the applicants for this job position.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new job position.
</p><p>
Job Positions are used to define jobs and their requirements.
You can keep track of the number of employees you have per job
position and follow the evolution according to what you planned
for the future.
</p><p>
You can attach a survey to a job position. It will be used in
the recruitment process to evaluate the applicants for this job
position.
</p>
</field>
</record>
<menuitem name="Recruitment" id="base.menu_crm_case_job_req_main" parent="menu_hr_root" groups="base.group_hr_user"/>

View File

@ -26,23 +26,23 @@ class hr_config_settings(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
'module_hr_timesheet_sheet': fields.boolean('Timesheet Validation by Manager',
'module_hr_timesheet_sheet': fields.boolean('allow timesheets validation by managers',
help ="""This installs the module hr_timesheet_sheet."""),
'module_hr_attendance': fields.boolean('Track Attendances',
'module_hr_attendance': fields.boolean('track attendances',
help ="""This installs the module hr_attendance."""),
'module_hr_timesheet': fields.boolean('Manage Timesheets',
'module_hr_timesheet': fields.boolean('manage timesheets',
help ="""This installs the module hr_timesheet."""),
'module_hr_holidays': fields.boolean('Leaves & Holidays',
'module_hr_holidays': fields.boolean('manage leaves and allocation requests',
help ="""This installs the module hr_holidays."""),
'module_hr_expense': fields.boolean('Expenses',
'module_hr_expense': fields.boolean('manage employees expenses',
help ="""This installs the module hr_expense."""),
'module_hr_recruitment': fields.boolean('Recruitment',
'module_hr_recruitment': fields.boolean('manage the recruitment pipe',
help ="""This installs the module hr_recruitment."""),
'module_hr_contract': fields.boolean('Employees Contracts',
'module_hr_contract': fields.boolean('manage contract per employee',
help ="""This installs the module hr_contract."""),
'module_hr_evaluation': fields.boolean('Periodic Appraisals',
'module_hr_evaluation': fields.boolean('manage employees periodic evaluation',
help ="""This installs the module hr_evaluation."""),
'module_hr_payroll': fields.boolean('Payroll',
'module_hr_payroll': fields.boolean('manage payroll',
help ="""This installs the module hr_payroll."""),
}

View File

@ -1,6 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- After installation of the module, open the related menu -->
<record id="action_client_hr_menu" model="ir.actions.client">
<field name="name">Open HR Menu</field>
<field name="tag">reload</field>
<field name="params" eval="{'menu_id': ref('menu_hr_root')}"/>
</record>
<record id="todo_open_hr_menu" model="ir.actions.todo">
<field name="action_id" ref="action_client_hr_menu"/>
<field name="type">automatic</field>
<field name="sequence">100</field>
</record>
</data>
<data>
<record id="open_payroll_modules" model="ir.actions.act_window">
<field name="name">Payroll</field>
<field name="res_model">ir.module.module</field>
@ -14,32 +27,66 @@
<field name="model">hr.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Configure Human Resources" version="7.0">
<form string="Configure Human Resources" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<separator string="Human Resources Management"/>
<group>
<group string="Additional Features" name="left_column">
<field name="module_hr_expense"/>
<field name="module_hr_evaluation"/>
<field name="module_hr_holidays"/>
<field name="module_hr_recruitment"/>
<field name="module_hr_contract"/>
<label for="module_hr_payroll"/>
<label for="id" string="Additional Features"/>
<div>
<div>
<field name="module_hr_payroll"/>
<button name="%(open_payroll_modules)d" type="action"
string="Install Country-Specific Payroll" icon="gtk-go-forward"
attrs="{'invisible': [('module_hr_payroll','=',False)]}"/>
<field name="module_hr_holidays" class="oe_inline"/>
<label for="module_hr_holidays"/>
</div>
</group>
<group string="Timesheets" name="right_column">
<field name="module_hr_attendance" on_change="onchange_hr_attendance(module_hr_attendance)"/>
<field name="module_hr_timesheet" on_change="onchange_hr_timesheet(module_hr_timesheet)"/>
<field name="module_hr_timesheet_sheet"/>
</group>
<div>
<field name="module_hr_expense" class="oe_inline"/>
<label for="module_hr_expense"/>
</div>
<div>
<field name="module_hr_evaluation" class="oe_inline"/>
<label for="module_hr_evaluation"/>
</div>
<div>
<field name="module_hr_contract" class="oe_inline"/>
<label for="module_hr_contract"/>
</div>
<div name="hr_payroll">
<field name="module_hr_payroll" class="oe_inline"/>
<label for="module_hr_payroll"/>
<button name="%(open_payroll_modules)d" type="action"
string="Install your country's payroll" icon="gtk-go-forward"
attrs="{'invisible': [('module_hr_payroll','=',False)]}" class="oe_link"/>
</div>
</div>
</group>
<group name="timesheet_grp">
<label for="id" string="Time Tracking"/>
<div>
<div>
<field name="module_hr_attendance" on_change="onchange_hr_attendance(module_hr_attendance)" class="oe_inline"/>
<label for="module_hr_attendance"/>
</div>
<div>
<field name="module_hr_timesheet" on_change="onchange_hr_timesheet(module_hr_timesheet)" class="oe_inline"/>
<label for="module_hr_timesheet"/>
</div>
<div name="hr_timesheet">
<field name="module_hr_timesheet_sheet" class="oe_inline"/>
<label for="module_hr_timesheet_sheet"/>
</div>
</div>
</group>
<group name="recruitment_grp">
<label for="id" string="Recruitment"/>
<div name="recruitment">
<div>
<field name="module_hr_recruitment" class="oe_inline"/>
<label for="module_hr_recruitment"/>
</div>
</div>
</group>
</form>
</field>

View File

@ -1,16 +1,24 @@
<?xml version="1.0"?>
<openerp>
<data>
<record id="hr.todo_open_hr_menu" model="ir.actions.todo">
<field name="state">done</field>
</record>
</data>
<data noupdate="1">
<!-- After installation of the module, open the related menu -->
<record id="todo_open_hr_menu" model="ir.actions.todo">
<field name="action_id" ref="hr.action_client_hr_menu"/>
<field name="type">automatic</field>
<field name="sequence">100</field>
</record>
<!-- notify all employees of module installation -->
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Employee Appraisals has been installed</value>
<value>Create evaluations for your subordinates or manager. You can
define a plan with several surveys, where you organize evaluation
surveys related to the hierarchy levels. Evaluations filled by
employees can exported as pdf files.
</value>
<value>Create evaluations for your subordinates or manager. You can define a plan with several surveys, where you organize evaluation surveys related to the hierarchy levels. Evaluations filled by employees can exported as pdf files.</value>
</function>
<record id="survey_2" model="survey">

View File

@ -7,7 +7,16 @@
<field name="res_model">hr_evaluation.plan</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">You can define appraisal plans (ex: first interview after 6 months, then every year). Then, each employee can be linked to an appraisal plan so that OpenERP can automatically generate interview requests to managers and/or subordinates.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new appraisal plan.
</p><p>
You can define appraisal plans (ex: first interview after 6
months, then every year). Then, each employee can be linked to
an appraisal plan so that OpenERP can automatically generate
interview requests to managers and/or subordinates.
</p>
</field>
</record>
</data>

View File

@ -252,7 +252,18 @@
<field name="view_mode">tree,form,graph</field>
<field name="search_view_id" ref="hr_evaluation.evaluation_search"/>
<field name="context">{"search_default_next_month":1}</field>
<field name="help">Each employee may be assigned an Appraisal Plan. Such a plan defines the frequency and the way you manage your periodic personnel evaluation. You will be able to define steps and attach interviews to each step. OpenERP manages all kind of evaluations: bottom-up, top-down, self-evaluation and final evaluation by the manager.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new appraisal.
</p><p>
Each employee may be assigned an Appraisal Plan. Such a plan
defines the frequency and the way you manage your periodic
personnel evaluation. You will be able to define steps and
attach interviews to each step. OpenERP manages all kind of
evaluations: bottom-up, top-down, self-evaluation and final
evaluation by the manager.
</p>
</field>
</record>
<menuitem name="Appraisals" parent="menu_eval_hr" id="menu_open_view_hr_evaluation_tree"
@ -350,7 +361,16 @@
<field name="domain">[('is_evaluation' ,'=', True)]</field>
<field name="context">{'default_is_evaluation': True, "search_default_todo":1,"search_default_user_id":uid}</field>
<field name="search_view_id" ref="view_hr_evaluation_interview_search"/>
<field name="help">Interview Requests are generated automatically by OpenERP according to an employee's Appraisal Plan. Each user receives automatic emails and requests to evaluate their colleagues periodically.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new interview request related to a personnal evaluation.
</p><p>
Interview requests are usually generated automatically by
OpenERP according to an employee's appraisal plan. Each user
receives automatic emails and requests to evaluate their
colleagues periodically.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="hr_evaluation_interview_tree">

View File

@ -26,7 +26,6 @@ class hr_evaluation_report(osv.osv):
_name = "hr.evaluation.report"
_description = "Evaluations Statistics"
_auto = False
_rec_name = 'date'
_columns = {
'create_date': fields.date('Create Date', readonly=True),
'delay_date':fields.float('Delay to Start', digits=(16,2),readonly=True),

View File

@ -6,14 +6,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Expenses Management has been installed</value>
<value>Manage your employee's expenses, with validations by employee
manager and accountant, creation and payment of invoice.
<value>Manage your employee's expenses, with validations by employee manager and accountant, creation and payment of invoices.
This module also uses the analytic accounting and is compatible
with the invoice on timesheet module so that you will be able to
automatically re-invoice your customer's expenses if your work
by project.
</value>
This module also uses the analytic accounting and is compatible with the invoice on timesheet module so that you will be able to automatically re-invoice your customer's expenses if your work by project.</value>
</function>
<!-- Resource: product.uom.categ -->

View File

@ -1,4 +1,17 @@
<openerp>
<data>
<record id="hr.todo_open_hr_menu" model="ir.actions.todo">
<field name="state">done</field>
</record>
</data>
<data noupdate="1">
<!-- After installation of the module, open the related menu -->
<record id="todo_open_hr_menu" model="ir.actions.todo">
<field name="action_id" ref="hr.action_client_hr_menu"/>
<field name="type">automatic</field>
<field name="sequence">100</field>
</record>
</data>
<data>
<record id="product_expense_installer_tree_view" model="ir.ui.view">
<field name="name">product.product.tree</field>

View File

@ -159,10 +159,15 @@
<field name="view_type">form</field>
<field name="search_view_id" ref="view_hr_expense_filter"/>
<field name="view_id" ref="view_expenses_tree"/>
<field name="help">
Click here to create a new expense.
&lt;p&gt;
After validation of your expense, you will be able to re-invoice costs to your customers.
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to register new expenses.
</p><p>
OpenERP will ensure the whole process is followed; the expense
sheet is validated by manager(s), the employee is reimbursed
from his expenses, some expenses must be re-invoiced to the
customers.
</p>
</field>
</record>

View File

@ -1,17 +1,23 @@
<?xml version="1.0"?>
<openerp>
<data>
<record id="hr.todo_open_hr_menu" model="ir.actions.todo">
<field name="state">done</field>
</record>
</data>
<data noupdate="1">
<!-- After installation of the module, open the related menu -->
<record id="todo_open_hr_menu" model="ir.actions.todo">
<field name="action_id" ref="hr.action_client_hr_menu"/>
<field name="type">automatic</field>
<field name="sequence">100</field>
</record>
<!-- notify all employees of module installation -->
<function model="mail.group" name="message_append_note">
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Leaves Management has been installed</value>
<value>Manage employee leaves from the top menu "Human Resources."
Employees can create leave requests that are validated by their
manager and/or HR people. Once validated, they are visible in
the employee's calendar. HR people can define leave types and
allocate off-days for employees.
</value>
<value>Manage employee leaves from the top menu "Human Resources". Employees can create leave requests that are validated by their manager and/or HR people. Once validated, they are visible in the employee's calendar. HR people can define leave types and allocate off-days for employees.</value>
</function>
<!-- Casual leave -->

View File

@ -301,7 +301,16 @@
<field name="context">{}</field>
<field name="domain">[('type','=','remove')]</field>
<field name="search_view_id" ref="view_hr_holidays_filter"/>
<field name="help">Leave requests can be recorded by employees and validated by their managers. Once a leave request is validated, it appears automatically in the agenda of the employee. You can define several allowance types (paid holidays, sickness, etc.) and manage allowances per type.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new leave request.
</p><p>
Once you have recorded your leave request, it will be sent
to a manager for validation. Be sure to set the right leave
type (recuperation, legal holidays, sickness) and the exact
number of open days related to your leave.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="action_open_ask_holidays_tree">
@ -521,7 +530,12 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="hr_holidays_leaves_assign_tree_view"/>
<field name="help">You can assign remaining Legal Leaves for each employee, OpenERP will automatically create and validate allocation requests.</field>
<field name="help" type="html">
<p>
You can assign remaining Legal Leaves for each employee, OpenERP
will automatically create and validate allocation requests.
</p>
</field>
</record>
<!-- Hr employee inherit Legal Leaves -->

View File

@ -529,7 +529,15 @@
<field name="name">Contribution Registers</field>
<field name="res_model">hr.contribution.register</field>
<field name="view_type">form</field>
<field name="help">A contribution register is a third party involved in the salary payment of the employees. It can be the social security, the estate or anyone that collect or inject money on payslips.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new contribution register.
</p><p>
A contribution register is a third party involved in the salary
payment of the employees. It can be the social security, the
estate or anyone that collect or inject money on payslips.
</p>
</field>
<field name="view_id" ref="hr_contribution_register_tree"/>
</record>
<menuitem
@ -659,11 +667,10 @@
<act_window name="All Children Rules"
domain="[('id', 'in', [active_id])]"
domain="[('parent_rule_id', '=', active_id)]"
res_model="hr.salary.rule"
src_model="hr.salary.rule"
view_id="hr_salary_rule_tree"
view_type="tree"
view_id="hr_salary_rule_list"
id="act_children_salary_rules"/>
<!-- payslip runs -->

View File

@ -24,6 +24,6 @@ from osv import osv, fields
class human_resources_configuration(osv.osv_memory):
_inherit = 'hr.config.settings'
_columns = {
'module_hr_payroll_account': fields.boolean('Manage Account Payroll',
'module_hr_payroll_account': fields.boolean('link your payroll to accounting system',
help ="""Create Journal Entries from Payslips"""),
}

View File

@ -7,9 +7,11 @@
<field name="type">form</field>
<field name="inherit_id" ref="hr.view_human_resources_configuration"/>
<field name="arch" type="xml">
<!-- put after the element <div><field name="module_hr_payroll" class="oe_inline"/> ...</div> -->
<xpath expr="//group[@name='left_column']" position="inside">
<field name="module_hr_payroll_account"/>
<xpath expr="//div[@name='hr_payroll']" position="after">
<div>
<field name="module_hr_payroll_account" class="oe_inline"/>
<label for="module_hr_payroll_account"/>
</div>
</xpath>
</field>
</record>

View File

@ -6,14 +6,9 @@
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
<value eval="[ref('mail.group_all_employees')]"/>
<value>Module Recruitment Process has been installed</value>
<value>
Manage job positions and the recruitment process in your company.
This module is integrated with the module Survey to help you to
define interviews for different jobs.
<value>Manage job positions and the recruitment process in your company. This module is integrated with the module Survey to help you to define interviews for different jobs.
You can automatically create application records from an email
gateway, that you can configure in the Human Resources Settings.
</value>
You can automatically create application records from an email gateway, that you can configure in the Human Resources Settings.</value>
</function>
<!-- Meeting Types (for interview meetings) -->

View File

@ -9,7 +9,20 @@
<field name="view_mode">kanban,tree,form,graph,calendar</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_crm_case_jobs_filter"/>
<field name="help">From this menu you can track applicants in the recruitment process and manage all operations: meetings, interviews, phone calls, etc. If you setup the email gateway, applicants and their attached CV are created automatically when an email is sent to jobs@yourcompany.com. If you install the document management modules, all documents (CV and motivation letters) are indexed automatically, so that you can easily search through their content.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new job applicant.
</p><p>
OpenERP helps you track applicants in the recruitment
process and follow up all operations: meetings, interviews, etc.
</p><p>
If you setup the email gateway, applicants and their attached
CV are created automatically when an email is sent to
jobs@yourcompany.com. If you install the document management
modules, all resumes are indexed automatically, so that you can
easily search through their content.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="action_hr_sec_kanban_view_act_job">

View File

@ -22,7 +22,15 @@
<field name="view_type">form</field>
<field name="domain">[]</field>
<field name="context">{}</field>
<field name="help">Define here your stages of the recruitment process, for example: qualification call, first interview, second interview, refused, hired.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new stage in the recruitment process.
</p><p>
Define here your stages of the recruitment process, for example:
qualification call, first interview, second interview, refused,
hired.
</p>
</field>
</record>
@ -383,7 +391,14 @@
<field name="res_model">hr.recruitment.stage</field>
<field name="view_type">form</field>
<field name="view_id" ref="hr_recruitment_stage_tree"/>
<field name="help"> Check if the following stages are matching your recruitment process. Don't forget to specify the department if your recruitment process is different according to the job position.</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new stage in the recruitment process.
</p><p>
Don't forget to specify the department if your recruitment process
is different according to the job position.
</p>
</field>
</record>
<menuitem

View File

@ -26,10 +26,10 @@ class hr_applicant_settings(osv.osv_memory):
_inherit = ['hr.config.settings', 'fetchmail.config.settings']
_columns = {
'module_document_ftp': fields.boolean('Automatic Indexation of Resumes',
'module_document_ftp': fields.boolean('allow the automatic indexation of resumes',
help="""Manage your CV's and motivation letter related to all applicants.
This installs the module document_ftp. This will install the knowledge management module in order to allow you to search using specific keywords through the content of all documents (PDF, .DOCx...)"""),
'fetchmail_applicants': fields.boolean('Create Applicants from Incoming Mails',
'fetchmail_applicants': fields.boolean('create applicants from an incoming email account',
fetchmail_model='hr.applicant', fetchmail_name='Incoming HR Applications',
help ="""Allow applicants to send their job application to an email address (jobs@mycompany.com),
and create automatically application documents in the system."""),

View File

@ -1,22 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- After installation of the module, open the related menu -->
<record id="todo_open_hr_menu" model="ir.actions.todo">
<field name="action_id" ref="hr.action_client_hr_menu"/>
<field name="type">automatic</field>
<field name="sequence">100</field>
</record>
</data>
<data>
<record id="hr.todo_open_hr_menu" model="ir.actions.todo">
<field name="state">done</field>
</record>
<record id="view_hr_apll_config_settings" model="ir.ui.view">
<field name="name">hr settings for recruitment</field>
<field name="model">hr.config.settings</field>
<field name="type">form</field>
<field name="inherit_id" ref="hr.view_human_resources_configuration"/>
<field name="arch" type="xml">
<group name="right_column" position="inside">
<separator string="Recruitment" colspan="2"/>
<field name="module_document_ftp"/>
<label for="fetchmail_applicants"/>
<div name="recruitment" position="inside">
<div>
<field name="fetchmail_applicants"/>
<field name="fetchmail_applicants" class="oe_inline"/>
<label for="fetchmail_applicants"/>
<button name="configure_fetchmail_applicants" type="object" string="Configure" icon="gtk-go-forward"
attrs="{'invisible': [('fetchmail_applicants','=',False)]}"/>
attrs="{'invisible': [('fetchmail_applicants','=',False)]}" class="oe_link"/>
</div>
</group>
<div>
<field name="module_document_ftp" class="oe_inline"/>
<label for="module_document_ftp"/>
</div>
</div>
</field>
</record>
</data>

Some files were not shown because too many files have changed in this diff Show More