[MERGE] latest trunk

bzr revid: abo@openerp.com-20120803160951-4n7ckom9hyhgeio2
This commit is contained in:
Antonin Bourguignon 2012-08-03 18:09:51 +02:00
commit b12e606e18
79 changed files with 1614 additions and 579 deletions

View File

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

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>
<div style="color:grey">
<label for="company_footer"/>: <field name="company_footer" class="oe_inline"/>
</div>
<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

@ -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

@ -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

@ -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

@ -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

@ -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,45 @@
<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)]}"/>
<div style="color:grey" attrs="{'invisible': [('module_crm','=',False)]}">
The email integration allows you to automatically create leads or others documents from an incoming emails account.
Users can do it from the mail client by pressing a button or it can be configured to automatically synchronize from your mail server.
</div>
<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

@ -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

@ -129,10 +129,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 +138,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 +172,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">
@ -432,9 +429,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

@ -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

@ -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

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_auto_config_form" model="ir.ui.view">
@ -29,11 +30,11 @@
<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>
<record model="ir.actions.todo" id="config_auto_directory">
<field name="action_id" ref="action_config_auto_directory"/>

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,7 +36,7 @@
<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"/>

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

@ -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

@ -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,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
@ -14,32 +15,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

@ -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

@ -659,11 +659,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

@ -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

@ -7,16 +7,18 @@
<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>

View File

@ -26,8 +26,8 @@ class hr_timesheet_settings(osv.osv_memory):
_columns = {
'timesheet_range': fields.selection([('day','Day'),('week','Week'),('month','Month')],
'Validate Timesheets Every', help="Periodicity on which you validate your timesheets."),
'timesheet_max_difference': fields.float('Timesheet Allowed Difference (Hours)',
'Validate timesheets every', help="Periodicity on which you validate your timesheets."),
'timesheet_max_difference': fields.float('Allow a difference of time between timesheets and attendances of (in hours)',
help="""Allowed difference in hours between the sign in/out and the timesheet
computation for one sheet. Set this to 0 if you do not want any control."""),
}

View File

@ -7,10 +7,16 @@
<field name="type">form</field>
<field name="inherit_id" ref="hr.view_human_resources_configuration"/>
<field name="arch" type="xml">
<field name="module_hr_timesheet_sheet" position="after">
<field name="timesheet_range" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)], 'required': [('module_hr_timesheet_sheet','=',True)]}"/>
<field name="timesheet_max_difference" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)], 'required': [('module_hr_timesheet_sheet','=',True)]}"/>
</field>
<xpath expr="//div[@name='hr_timesheet']" position="after">
<div>
<label for="timesheet_range" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)]}"/>
<field name="timesheet_range" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)], 'required': [('module_hr_timesheet_sheet','=',True)]}" class="oe_inline"/>
</div>
<div>
<label for="timesheet_max_difference" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)]}"/>
<field name="timesheet_max_difference" attrs="{'invisible': [('module_hr_timesheet_sheet','=',False)], 'required': [('module_hr_timesheet_sheet','=',True)]}" class="oe_inline"/>
</div>
</xpath>
</field>
</record>
</data>

View File

@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-08-01 04:44+0000\n"
"X-Launchpad-Export-Date: 2012-08-02 04:46+0000\n"
"X-Generator: Launchpad (build 15719)\n"
#. module: import_base

View File

@ -25,18 +25,18 @@ class knowledge_config_settings(osv.osv_memory):
_name = 'knowledge.config.settings'
_inherit = 'res.config.settings'
_columns = {
'module_wiki_faq': fields.boolean('Internal FAQ as a Wiki',
help="""This installs the module wiki_faq."""),
'module_wiki_quality_manual': fields.boolean('Quality Manual as a Wiki',
'module_wiki_faq': fields.boolean('manage internal FAQ as a wiki',
help="""This installs the module wiki_faq."""),
'module_wiki_quality_manual': fields.boolean('use quality manual as a wiki',
help="""This installs the module wiki_quality_manual."""),
'module_document': fields.boolean('Document Management',
'module_document': fields.boolean('manage documents',
help="""This is a complete document management system, with: user authentication,
full document search (but pptx and docx are not supported), and a document dashboard.
This installs the module document."""),
'module_document_ftp': fields.boolean('Share repositories (FTP)',
'module_document_ftp': fields.boolean('share repositories (FTP)',
help="""Access your documents in OpenERP through an FTP interface.
This installs the module document_ftp."""),
'module_document_webdav': fields.boolean('Share Repositories (WebDAV)',
'module_document_webdav': fields.boolean('share repositories (WebDAV)',
help="""Access your documents in OpenERP through WebDAV.
This installs the module document_webdav."""),
}

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
@ -6,27 +7,46 @@
<field name="model">knowledge.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Configure Knowledge" version="7.0">
<form string="Configure Knowledge" class= "oe_form_configuration" version="7.0">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<separator string="Knowledge and Documents Management"/>
<group>
<group string="Wiki">
<field name="module_wiki_faq"/>
<field name="module_wiki_quality_manual"/>
</group>
<group string="Documents">
<field name="module_document"/>
<field name="module_document_ftp"/>
<field name="module_document_webdav"/>
</group>
<label for="id" string="Documents"/>
<div>
<div>
<field name="module_document" class="oe_inline"/>
<label for="module_document"/>
</div>
<div>
<field name="module_document_ftp" class="oe_inline"/>
<label for="module_document_ftp"/>
</div>
<div>
<field name="module_document_webdav" class="oe_inline"/>
<label for="module_document_webdav"/>
</div>
</div>
</group>
<group>
<label for="id" string="Wiki"/>
<div>
<div>
<field name="module_wiki_quality_manual" class="oe_inline"/>
<label for="module_wiki_quality_manual"/>
</div>
<div>
<field name="module_wiki_faq" class="oe_inline"/>
<label for="module_wiki_faq"/>
</div>
</div>
</group>
</form>
</field>
</record>
<record id="action_knowledge_configuration" model="ir.actions.act_window">
<field name="name">Configure Knowledge</field>
<field name="res_model">knowledge.config.settings</field>

View File

@ -45,7 +45,6 @@ Plan contable argentino e impuestos de acuerdo a disposiciones vigentes
],
"active": False,
"installable": True,
"certificate" : "",
'images': ['images/config_chart_l10n_ar.jpeg','images/l10n_ar_chart.jpeg'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -36,7 +36,7 @@ You can also add ZIP and bank completion with:
------------------------------------------------------------------------
Module incluant la localisation Suisse de TinyERP revu et corrigé par Camptocamp.
Module incluant la localisation Suisse de OpenERP revu et corrigé par Camptocamp.
Cette nouvelle version comprend la gestion et l'émissionde BVR, le paiement
électronique via DTA (pour les banques, le système postal est en développement)
et l'import du relevé de compte depuis la banque de manière automatisée. De plus,

View File

@ -85,7 +85,7 @@
-
!python {model: create.dta.wizard}: |
import base64
wiz_id = self.create(cr,uid,[])
wiz_id = self.create(cr, uid, {})
wiz = self.browse(cr, uid, wiz_id)
pay_order_id = ref("dta_payment_order")
#set the payment order as the active id
@ -146,7 +146,7 @@
# I import the payment line
#-
# !python {model: account.payment.populate.statement}: |
# wiz_id = self.create(cr,uid,[])
# wiz_id = self.create(cr, uid, {})
# wiz = self.browse(cr, uid, wiz_id)
#
# line_obj = self.pool.get('payment.line')

View File

@ -45,7 +45,6 @@ Plan contable chileno e impuestos de acuerdo a disposiciones vigentes
],
"active": False,
"installable": True,
"certificate" : "",
'images': ['images/config_chart_l10n_cl.jpeg','images/l10n_cl_chart.jpeg'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -373,7 +373,8 @@ openerp.mail = function(session) {
action_buttons: false,
pager: false,
initial_mode: 'edit',
});
disable_autofocus: true,
});
// add the form, bind events, activate the form
var msg_node = this.$element.find('div.oe_mail_msg_content');
return $.when(this.form_view.appendTo(msg_node)).pipe(function() {

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
@ -6,17 +7,30 @@
<field name="model">marketing.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Configure Marketing" version="7.0">
<form string="Configure Marketing" class="oe_form_configuration" version="7.0">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<group string="Campaigns">
<field name="module_marketing_campaign"/>
<field name="module_marketing_campaign_crm_demo"/>
<field name="module_crm_profiling"/>
<separator string="Campaigns"/>
<group>
<label for="id" string="Campaigns Settings"/>
<div>
<div>
<field name="module_marketing_campaign" class="oe_inline"/>
<label for="module_marketing_campaign"/>
</div>
<div>
<field name="module_marketing_campaign_crm_demo" class="oe_inline"/>
<label for="module_marketing_campaign_crm_demo"/>
</div>
<div>
<field name="module_crm_profiling" class="oe_inline"/>
<label for="module_crm_profiling"/>
</div>
</div>
</group>
</form>
</field>

View File

@ -4,7 +4,7 @@
<!-- Email tempalte -->
<record id="email_template_1" model="email.template">
<field name="name">Template for New Partner</field>
<field name="email_from">info@tinyerp.com</field>
<field name="email_from">info@openerp.com</field>
<field name="subject">Welcome in OpenERP Partner Channel!</field>
<field name="email_to">${object.email or ''}</field>
<field name="model_id" ref="base.model_res_partner"/>
@ -12,7 +12,7 @@
</record>
<record id="email_template_2" model="email.template">
<field name="name">Template for Silver Partner</field>
<field name="email_from">info@tinyerp.com</field>
<field name="email_from">info@openerp.com</field>
<field name="subject">Congratulation! You become now our Silver Partner.</field>
<field name="email_to">${object.email or ''}</field>
<field name="model_id" ref="base.model_res_partner"/>
@ -21,7 +21,7 @@
<record id="email_template_3" model="email.template">
<field name="name">Template for Gold Partner</field>
<field name="email_from">info@tinyerp.com</field>
<field name="email_from">info@openerp.com</field>
<field name="subject">Congratulation! You become our Gold Partner.</field>
<field name="email_to">${object.email or ''}</field>
<field name="model_id" ref="base.model_res_partner"/>

View File

@ -35,7 +35,7 @@
<!-- Email tempalte -->
<record id="email_template_1" model="email.template">
<field name="subject">Thanks for showing interest in OpenERP</field>
<field name="email_to">info@tinyerp.com</field>
<field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@ -45,7 +45,7 @@
</record>
<record id="email_template_2" model="email.template">
<field name="subject">Propose to subscribe to the OpenERP Discovery Day on May 2010</field>
<field name="email_to">info@tinyerp.com</field>
<field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@ -60,7 +60,7 @@
<record id="email_template_3" model="email.template">
<field name="subject">Thanks for subscribing to the OpenERP Discovery Day</field>
<field name="email_to">info@tinyerp.com</field>
<field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@ -74,7 +74,7 @@
<record id="email_template_4" model="email.template">
<field name="subject">Thanks for buying the OpenERP book</field>
<field name="email_to">info@tinyerp.com</field>
<field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@ -88,7 +88,7 @@
<record id="email_template_5" model="email.template">
<field name="subject">Propose a free technical training to Gold partners</field>
<field name="email_to">info@tinyerp.com</field>
<field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field eval="0" name="user_signature"/>
@ -102,7 +102,7 @@
<record id="email_template_6" model="email.template">
<field name="subject">Propose paid training to Silver partners</field>
<field name="email_to">info@tinyerp.com</field>
<field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@ -117,7 +117,7 @@
<record id="email_template_7" model="email.template">
<field name="subject">Propose gold partnership to silver partners</field>
<field name="email_to">info@tinyerp.com</field>
<field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>
@ -132,7 +132,7 @@
<record id="email_template_8" model="email.template">
<field name="subject">Thanks for subscribing to technical training</field>
<field name="email_to">info@tinyerp.com</field>
<field name="email_to">info@openerp.com</field>
<field model="ir.actions.act_window" name="ref_ir_act_window" search="[('name', '=', u'For OpenERP OnDemand Free Trial 2010 Mail Form')]"/>
<field model="ir.values" name="ref_ir_value" search="[('name', '=', u'Send Mail (For OpenERP OnDemand Free Trial 2010)')]"/>
<field name="model_id" ref="crm.model_crm_lead"/>

View File

@ -28,11 +28,11 @@ class mrp_config_settings(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
'module_stock_planning': fields.boolean('Master Production Schedule',
'module_stock_planning': fields.boolean('manage master production shedule',
help ="""This allows to create a manual procurement plan apart of the normal MRP scheduling,
which works automatically based on minimum stock rules.
This installs the module stock_planning."""),
'module_mrp_repair': fields.boolean("Manage Product Repairs",
'module_mrp_repair': fields.boolean("manage repairs of products ",
help="""Allows to manage all product repairs.
* Add/remove products in the reparation
* Impact for stocks
@ -41,40 +41,40 @@ class mrp_config_settings(osv.osv_memory):
* Repair quotation report
* Notes for the technician and for the final customer.
This installs the module mrp_repair."""),
'module_mrp_operations': fields.boolean("Detailed Planning of Work Orders",
'module_mrp_operations': fields.boolean("allow detailed planning of work order",
help="""This allows to add state, date_start,date_stop in production order operation lines (in the "Work Centers" tab).
This installs the module mrp_operations."""),
'module_mrp_subproduct': fields.boolean("Produce Several Products from One Manufacturing Order",
'module_mrp_subproduct': fields.boolean("produce several products from one manufacturing order",
help="""You can configure sub-products in the bill of material.
Without this module: A + B + C -> D.
With this module: A + B + C -> D + E.
This installs the module mrp_subproduct."""),
'module_mrp_jit': fields.boolean("Real-Time Scheduling",
'module_mrp_jit': fields.boolean("generate procurement in real time",
help="""This allows Just In Time computation of procurement orders.
All procurement orders will be processed immediately, which could in some
cases entail a small performance impact.
This installs the module mrp_jit."""),
'module_stock_no_autopicking': fields.boolean("Manual Picking to Fulfill Manufacturing Orders",
'module_stock_no_autopicking': fields.boolean("manage manual picking to fulfill manufacturing orders ",
help="""This module allows an intermediate picking process to provide raw materials to production orders.
For example to manage production made by your suppliers (sub-contracting).
To achieve this, set the assembled product which is sub-contracted to "No Auto-Picking"
and put the location of the supplier in the routing of the assembly operation.
This installs the module stock_no_autopicking."""),
'group_mrp_routings': fields.boolean("Manage Routings and Work Orders",
This installs the module stock_no_autopicking."""),
'group_mrp_routings': fields.boolean("manage routings and work orders ",
implied_group='mrp.group_mrp_routings',
help="""Routings allow you to create and manage the manufacturing operations that should be followed
within your work centers in order to produce a product. They are attached to bills of materials
that will define the required raw materials."""),
'group_mrp_properties': fields.boolean("Allow Several BoMs per Product",
'group_mrp_properties': fields.boolean("allow several bill of materials per products",
implied_group='product.group_mrp_properties',
help="""The selection of the right Bill of Material to use will depend on the properties specified on the sale order and the Bill of Material."""),
'module_product_manufacturer': fields.boolean("Define Manufacturers on Products",
'module_product_manufacturer': fields.boolean("define manufacturers on products ",
help="""This allows you to define the following for a product:
* Manufacturer
* Manufacturer Product Name
* Manufacturer Product Code
* Product Attributes.
This installs the module product_manufacturer."""),
This installs the module product_manufacturer."""),
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,38 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_mrp_config" model="ir.ui.view">
<field name="name">mrp settings</field>
<field name="model">mrp.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Configure Manufacturing" version="7.0">
<form string="Configure Manufacturing" class= "oe_form_configuration" version="7.0">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<separator string="Manufacturing Order"/>
<group>
<group string="Manufacturing Order">
<field name="module_mrp_operations"/>
<field name="module_stock_planning"/>
<field name="module_mrp_subproduct"/>
<field name="module_mrp_repair"/>
<separator string="Logistics" colspan="2"/>
<field name="module_mrp_jit"/>
<field name="module_stock_no_autopicking"/>
</group>
<group string="Products">
<field name="module_product_manufacturer"/>
<separator string="Bill Of Material" colspan="2"/>
<field name="group_mrp_routings"/>
<field name="group_mrp_properties"/>
</group>
<label for="id" string="Order"/>
<div>
<div>
<field name="module_mrp_subproduct" class="oe_inline"/>
<label for="module_mrp_subproduct"/>
</div>
<div>
<field name="module_mrp_repair" class="oe_inline"/>
<label for="module_mrp_repair"/>
</div>
<div>
<field name="module_stock_no_autopicking" class="oe_inline"/>
<label for="module_stock_no_autopicking" />
</div>
</div>
</group>
<group >
<label for="id" string="Planning"/>
<div>
<div>
<field name="module_mrp_jit" class="oe_inline"/>
<label for="module_mrp_jit"/>
</div>
<div>
<field name="group_mrp_routings" class="oe_inline"/>
<label for="group_mrp_routings"/>
</div>
<div>
<field name="module_mrp_operations" class="oe_inline"/>
<label for="module_mrp_operations" />
</div>
<div>
<field name="module_stock_planning" class="oe_inline"/>
<label for="module_stock_planning"/>
</div>
</div>
</group>
<separator string="Master Data"/>
<group >
<label for="id" string="Products"/>
<div>
<div>
<field name="module_product_manufacturer" class="oe_inline"/>
<label for="module_product_manufacturer"/>
</div>
<div>
<field name="group_mrp_properties" class="oe_inline"/>
<label for="group_mrp_properties" />
</div>
</div>
</group>
</form>
</field>
</record>
<record id="action_mrp_configuration" model="ir.actions.act_window">
<field name="name">Configure Manufacturing</field>
<field name="type">ir.actions.act_window</field>

View File

@ -49,14 +49,14 @@
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
<field name="arch" type="xml">
<field name="module_plugin_outlook" version="7.0" position="replace">
<label for="module_plugin_outlook"/>
<div name="module_plugin_outlook" version="7.0" position="replace">
<div>
<field name="module_plugin_outlook"/>
<button name="%(action_outlook_installer)d" type="action" string="Configure" icon="gtk-execute"
attrs="{'invisible': [('module_plugin_outlook','=',False)]}"/>
<field name="module_plugin_outlook" class="oe_inline"/>
<label for="module_plugin_outlook"/>
<button name="%(action_outlook_installer)d" type="action" string="Download and install the plugin" icon="gtk-execute"
attrs="{'invisible': [('module_plugin_outlook','=',False)]}" class="oe_link"/>
</div>
</field>
</div>
</field>
</record>

View File

@ -55,14 +55,14 @@
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
<field name="arch" type="xml">
<field name="module_plugin_thunderbird" version="7.0" position="replace">
<label for="module_plugin_thunderbird"/>
<div name="module_plugin_thunderbird" version="7.0" position="replace">
<div>
<field name="module_plugin_thunderbird"/>
<button name="%(action_thunderbird_installer)d" type="action" string="Configure" icon="gtk-execute"
attrs="{'invisible': [('module_plugin_thunderbird','=',False)]}"/>
<field name="module_plugin_thunderbird" class="oe_inline"/>
<label for="module_plugin_thunderbird"/>
<button name="%(action_thunderbird_installer)d" type="action" string="Download and install the plugin" icon="gtk-execute"
attrs="{'invisible': [('module_plugin_thunderbird','=',False)]}" class="oe_link"/>
</div>
</field>
</div>
</field>
</record>

View File

@ -13,5 +13,11 @@
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
<record id="rule_pos_multi_company" model="ir.rule">
<field name="name">Point Of Sale Order</field>
<field name="model_id" ref="model_pos_order" />
<field name="global" eval="True" />
<field name="domain_force">[('company_id', '=', user.company_id.id)]</field>
</record>
</data>
</openerp>

View File

@ -45,7 +45,6 @@
<field name="categ_id" invisible="1"/>
<field name="variants" groups="product.group_product_variant"/>
<field name="uom_id" string="Unit of Measure" groups="product.group_uom"/>
<field name="type"/>
<field name="qty_available"/>
<field name="virtual_available"/>
<field name="lst_price"/>

View File

@ -27,38 +27,38 @@ class project_configuration(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
'module_project_mrp': fields.boolean('Create Tasks from a Sale Order',
'module_project_mrp': fields.boolean('generate tasks from sale orders',
help ="""This feature automatically creates project tasks from service products in sale orders.
More precisely, tasks are created for procurement lines with product of type 'Service',
procurement method 'Make to Order', and supply method 'Produce'.
This installs the module project_mrp."""),
'module_pad': fields.boolean("Use Collaborative Note Pads for Tasks",
'module_pad': fields.boolean("use integrated collaborative note pads on task",
help="""Lets the company customize which Pad installation should be used to link to new pads
(by default, http://ietherpad.com/).
This installs the module pad."""),
'module_project_timesheet': fields.boolean("Timesheets per Task",
'module_project_timesheet': fields.boolean("record timesheet lines per tasks",
help="""This allows you to transfer the entries under tasks defined for Project Management to
the timesheet line entries for particular date and user, with the effect of creating,
editing and deleting either ways.
This installs the module project_timesheet."""),
'module_project_long_term': fields.boolean("Manage Gantt and Resource Planning",
'module_project_long_term': fields.boolean("manage resources planning on gantt view",
help="""A long term project management module that tracks planning, scheduling, and resource allocation.
This installs the module project_long_term."""),
'module_project_issue': fields.boolean("Issues and Bug Tracking",
'module_project_issue': fields.boolean("track issues and bugs",
help="""Provides management of issues/bugs in projects.
This installs the module project_issue."""),
'time_unit': fields.many2one('product.uom', 'Working Time Unit', required=True,
'time_unit': fields.many2one('product.uom', 'Working time unit', required=True,
help="""This will set the unit of measure used in projects and tasks."""),
'module_project_issue_sheet': fields.boolean("Track and Invoice Issues Working Time",
'module_project_issue_sheet': fields.boolean("invoice working time on issues",
help="""Provides timesheet support for the issues/bugs management in project.
This installs the module project_issue_sheet."""),
'group_tasks_work_on_tasks': fields.boolean("Task's Work on Tasks",
'group_tasks_work_on_tasks': fields.boolean("compute work activities on tasks",
implied_group='project.group_tasks_work_on_tasks',
help="Allows you to compute work on tasks."),
'group_time_work_estimation_tasks': fields.boolean("Time Estimation on Tasks",
'group_time_work_estimation_tasks': fields.boolean("manage time estimation on tasks",
implied_group='project.group_time_work_estimation_tasks',
help="Allows you to compute Time Estimation on tasks."),
'group_manage_delegation_task': fields.boolean("Manage Task Delegation",
'group_manage_delegation_task': fields.boolean("allow task delegation",
implied_group='project.group_delegate_task',
help="Allows you to delegate tasks to other users."),
}

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_config_settings" model="ir.ui.view">
@ -6,30 +7,68 @@
<field name="type">form</field>
<field name="priority" eval="20"/>
<field name="arch" type="xml">
<form string="Configure Project" version="7.0">
<form string="Configure Project" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<separator string="Project Management"/>
<group>
<group>
<separator string="Project" colspan="2"/>
<field name="module_project_mrp"/>
<field name="module_project_timesheet"/>
<field name="module_pad"/>
<field name="group_tasks_work_on_tasks"/>
<field name="group_time_work_estimation_tasks"/>
<field name="group_manage_delegation_task"/>
<field name="time_unit" domain="[('category_id.name','=','Working Time')]"/>
</group>
<group name="project_left_column">
<separator string="Planing" colspan="2"/>
<field name="module_project_long_term"/>
<separator string="Helpdesk and Support" colspan="2"/>
<field name="module_project_issue"/>
<field name="module_project_issue_sheet"/>
</group>
<label for="id" string="Task"/>
<div>
<div>
<field name="module_project_timesheet" class="oe_inline"/>
<label for="module_project_timesheet"/>
</div>
<div>
<field name="module_project_mrp" class="oe_inline"/>
<label for="module_project_mrp"/>
</div>
<div>
<field name="module_pad" class="oe_inline"/>
<label for="module_pad"/>
</div>
<div>
<field name="group_manage_delegation_task" class="oe_inline"/>
<label for="group_manage_delegation_task"/>
</div>
</div>
</group>
<group>
<label for="id" string="Planning"/>
<div>
<div>
<field name="group_time_work_estimation_tasks" class="oe_inline"/>
<label for="group_time_work_estimation_tasks"/>
</div>
<div>
<label for="time_unit"/>
<field name="time_unit" class="oe_inline" domain="[('category_id.name','=','Working Time')]"/>
</div>
<div>
<field name="group_tasks_work_on_tasks" class="oe_inline"/>
<label for="group_tasks_work_on_tasks" />
</div>
<div>
<field name="module_project_long_term" class="oe_inline"/>
<label for="module_project_long_term"/>
</div>
</div>
</group>
<separator string="Helpdesk &amp; Support"/>
<group>
<label for="id" string="Support"/>
<div>
<div>
<field name="module_project_issue" class="oe_inline"/>
<label for="module_project_issue"/>
</div>
<div name="module_project_issue_sheet">
<field name="module_project_issue_sheet" class="oe_inline"/>
<label for="module_project_issue_sheet"/>
</div>
</div>
</group>
</form>
</field>

View File

@ -26,7 +26,7 @@ class project_issue_settings(osv.osv_memory):
_inherit = ['project.config.settings', 'fetchmail.config.settings']
_columns = {
'fetchmail_issue': fields.boolean("Create Issues from Incoming Mails",
'fetchmail_issue': fields.boolean("create issues from an incoming email account ",
fetchmail_model='project.issue', fetchmail_name='Incoming Issues',
help="""Allows you to configure your incoming mail server, and create issues from incoming emails."""),
}

View File

@ -1,23 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_config_settings" model="ir.ui.view">
<field name="name">Project Application</field>
<field name="model">project.config.settings</field>
<field name="type">form</field>
<field name="inherit_id" ref="project.view_config_settings"/>
<field name="arch" type="xml">
<field name="module_project_issue_sheet" position="after">
<label for="fetchmail_issue"/>
<div name="module_project_issue_sheet" position="after">
<div>
<field name="fetchmail_issue"/>
<button name="configure_fetchmail_issue" type="object" string="Configure" icon="gtk-go-forward"
attrs="{'invisible': [('fetchmail_issue','=',False)]}"/>
<field name="fetchmail_issue" class="oe_inline"/>
<label for="fetchmail_issue"/>
<button name="configure_fetchmail_issue"
type="object"
string="Configure"
icon="gtk-go-forward"
attrs="{'invisible': [('fetchmail_issue','=',False)]}" class="oe_link"/>
</div>
</field>
</div>
</field>
</record>
</data>
</openerp>

View File

@ -32,34 +32,34 @@ class purchase_config_settings(osv.osv_memory):
[('manual', 'Based on Purchase Order Lines'),
('picking', 'Based on Receptions'),
('order', 'Pre-Generate Draft Invoices based on Purchase Orders'),
], 'Default Invoicing Control Method', required=True, default_model='purchase.order'),
'group_purchase_pricelist':fields.boolean("Pricelist per Supplier",
], 'default invoicing control method', required=True, default_model='purchase.order'),
'group_purchase_pricelist':fields.boolean("manage pricelist per supplier",
implied_group='product.group_purchase_pricelist',
help="""Allows to manage different prices based on rules per category of Supplier.
Example: 10% for retailers, promotion of 5 EUR on this product, etc."""),
'group_uom':fields.boolean("Manage Different Units of Measure for Products",
'group_uom':fields.boolean("manage different units of measure for products",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
'group_purchase_delivery_address': fields.boolean("Allow Different Addresses for Delivery and Invoice",
'group_purchase_delivery_address': fields.boolean("allow a different address for incoming products and invoicings",
implied_group='purchase.group_delivery_invoice_address',
help="Allows you to specify different delivery and invoice addresses on a purchase order."),
'module_purchase_analytic_plans': fields.boolean('Use Multiple Analytic Accounts on Purchases',
'module_purchase_analytic_plans': fields.boolean('use multiple analytic accounts on orders',
help ="""Allows the user to maintain several analysis plans. These let you split
lines on a purchase order between several accounts and analytic plans.
This installs the module purchase_analytic_plans."""),
'module_warning': fields.boolean("Alerts by Products or Supplier",
'module_warning': fields.boolean("alerts by products or supllier",
help="""Allow to configure warnings on products and trigger them when a user wants to purchase a given product or a given supplier.
Example: Product: this product is deprecated, do not purchase more than 5.
Supplier: don't forget to ask for an express delivery."""),
'module_purchase_double_validation': fields.boolean("Two Levels of Approval",
'module_purchase_double_validation': fields.boolean("force two levels of approvals",
help="""Provide a double validation mechanism for purchases exceeding minimum amount.
This installs the module purchase_double_validation."""),
'module_purchase_requisition': fields.boolean("Manage Purchase Requisitions",
'module_purchase_requisition': fields.boolean("manage purchase requisitions",
help="""Purchase Requisitions are used when you want to request quotations from several suppliers for a given set of products.
You can configure per product if you directly do a Request for Quotation
to one supplier or if you want a purchase requisition to negotiate with several suppliers."""),
'decimal_precision': fields.integer('Decimal Precision on Price',help="As an example, a decimal precision of 2 will allow prices like: 9.99 EUR, whereas a decimal precision of 4 will allow prices like: 0.0231 EUR per unit."),
'decimal_precision': fields.integer('specify decimal precision on price',help="As an example, a decimal precision of 2 will allow prices like: 9.99 EUR, whereas a decimal precision of 4 will allow prices like: 0.0231 EUR per unit."),
}
_defaults = {
@ -80,9 +80,9 @@ class purchase_config_settings(osv.osv_memory):
class account_config_settings(osv.osv_memory):
_inherit = 'account.config.settings'
_columns = {
'module_purchase_analytic_plans': fields.boolean('Several Analytic Accounts on Purchases',
'module_purchase_analytic_plans': fields.boolean('use multiple analytic accounts on orders',
help="""This allows install module purchase_analytic_plans."""),
'group_analytic_account_for_purchases': fields.boolean('Analytic Accounting for Purchases',
'group_analytic_account_for_purchases': fields.boolean('analytic accounting for purchases',
implied_group='purchase.group_analytic_accounting',
help="Allows you to specify an analytic account on purchase orders."),
}

View File

@ -1,33 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_purchase_configuration" model="ir.ui.view">
<field name="name">purchase settings</field>
<field name="model">purchase.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Configure Purchases" version="7.0">
<form string="Configure Purchases" class="oe_form_configuration" version="7.0">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<separator string="Invoicing Process"/>
<group>
<group>
<separator string="Purchase Order" colspan="2"/>
<field name="group_purchase_pricelist"/>
<field name="group_uom"/>
<field name="group_purchase_delivery_address"/>
<field name="module_purchase_double_validation"/>
<field name="module_purchase_requisition"/>
<field name="module_warning"/>
<field name="module_purchase_analytic_plans"/>
</group>
<group>
<separator string="Invoicing" colspan="2"/>
<field name="default_invoice_method" class="oe_inline"/>
<field name="decimal_precision" class="oe_inline"/>
</group>
<label for="id" string="Invoicing Settings"/>
<div>
<div>
<label for="default_invoice_method"/>
<field name="default_invoice_method" class="oe_inline"/>
</div>
<div>
<label for="decimal_precision"/>
<field name="decimal_precision" class="oe_inline"/>
</div>
</div>
</group>
<separator string="Purchase Order"/>
<group>
<label for="id" string="Supplier Features"/>
<div>
<div>
<field name="group_purchase_pricelist" class="oe_inline"/>
<label for="group_purchase_pricelist"/>
</div>
<div>
<field name="module_warning" class="oe_inline"/>
<label for="module_warning"/>
</div>
</div>
</group>
<group>
<label for="id" string="Purchase Order"/>
<div>
<div>
<field name="group_uom" class="oe_inline"/>
<label for="group_uom"/>
</div>
<div>
<field name="group_purchase_delivery_address" class="oe_inline"/>
<label for="group_purchase_delivery_address"/>
</div>
<div name="module_purchase_double_validation">
<field name="module_purchase_double_validation" class="oe_inline"/>
<label for="module_purchase_double_validation"/>
</div>
<div>
<field name="module_purchase_requisition" class="oe_inline"/>
<label for="module_purchase_requisition"/>
</div>
<div>
<field name="module_purchase_analytic_plans" class="oe_inline"/>
<label for="module_purchase_analytic_plans"/>
</div>
</div>
</group>
</form>
</field>
@ -51,14 +87,22 @@
<field name="inherit_id" ref="account.view_account_config_settings"/>
<field name="priority" eval="18"/>
<field name="arch" type="xml">
<separator name="analytic_accounting" position="attributes">
<separator name="analytic_account" position="attributes">
<attribute name="invisible">0</attribute>
<attribute name="colspan">2</attribute>
</separator>
<separator name="analytic_accounting" position="after">
<field name="group_analytic_account_for_purchases"/>
<field name="module_purchase_analytic_plans" on_change="onchange_purchase_analytic_plans(module_purchase_analytic_plans)"/>
</separator>
<group name="analytic_account_purchase" position="attributes">
<attribute name="invisible">0</attribute>
</group>
<xpath expr="//group[@name='analytic_account_purchase']/div" position="inside">
<div>
<field name="group_analytic_account_for_purchases" class="oe_inline"/>
<label for="group_analytic_account_for_purchases"/>
</div>
<div>
<field name="module_purchase_analytic_plans" on_change="onchange_purchase_analytic_plans(module_purchase_analytic_plans)" class="oe_inline"/>
<label for="module_purchase_analytic_plans"/>
</div>
</xpath>
</field>
</record>

View File

@ -24,7 +24,7 @@ from osv import fields, osv
class purchase_config_settings(osv.osv_memory):
_inherit = 'purchase.config.settings'
_columns = {
'limit_amount': fields.integer('Limit to Require a Second Approval',required=True,
'limit_amount': fields.integer('limit to require a second approval',required=True,
help="Amount after which validation of purchase is required."),
}

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
@ -7,9 +8,12 @@
<field name="type">form</field>
<field name="inherit_id" ref="purchase.view_purchase_configuration"/>
<field name="arch" type="xml">
<field name="module_purchase_double_validation" position="after">
<field name="limit_amount" attrs="{'required': [('module_purchase_double_validation','=',True)]}"/>
</field>
<div name="module_purchase_double_validation" position="inside">
<span attrs="{'invisible': [('module_purchase_double_validation','=',False)]}" class="oe_separate-from-text">
<label for="limit_amount"/>
<field name="limit_amount" attrs="{'required': [('module_purchase_double_validation','=',True)]}" class="oe_inline"/>
</span>
</div>
</field>
</record>

View File

@ -27,22 +27,22 @@ class sale_configuration(osv.osv_memory):
_inherit = 'sale.config.settings'
_columns = {
'group_invoice_so_lines': fields.boolean('Based on Sale Orders',
'group_invoice_so_lines': fields.boolean('generate invoices based on the sale order',
implied_group='sale.group_invoice_so_lines',
help="To allow your salesman to make invoices for sale order lines using the menu 'Lines to Invoice'."),
'group_invoice_deli_orders': fields.boolean('Based on Delivery Orders',
'group_invoice_deli_orders': fields.boolean('generate invoices after and based on delivery orders',
implied_group='sale.group_invoice_deli_orders',
help="To allow your salesman to make invoices for Delivery Orders using the menu 'Deliveries to Invoice'."),
'task_work': fields.boolean('Based on Task Activities',
'task_work': fields.boolean("prepare invoices based on task's activities",
help="""Lets you transfer the entries under tasks defined for Project Management to
the Timesheet line entries for particular date and particular user with the effect of creating, editing and deleting either ways
and to automatically creates project tasks from procurement lines.
This installs the modules project_timesheet and project_mrp."""),
'timesheet': fields.boolean('Based on Timesheet',
'timesheet': fields.boolean('prepare invoices based on timesheets',
help = """For modifying account analytic view to show important data to project manager of services companies.
You can also view the report of account analytic summary user-wise as well as month wise.
This installs the module account_analytic_analysis."""),
'module_account_analytic_analysis': fields.boolean('Manage Customer Contracts',
'module_account_analytic_analysis': fields.boolean('use contracts management',
help = """Allows to define your customer contracts conditions: invoicing
method (fixed price, on timesheet, advance invoice), the exact pricing
(650/day for a developer), the duration (one year support contract).
@ -50,47 +50,47 @@ class sale_configuration(osv.osv_memory):
It installs the account_analytic_analysis module."""),
'default_order_policy': fields.selection(
[('manual', 'Invoice Based on Sales Orders'), ('picking', 'Invoice Based on Deliveries')],
'Default Method', default_model='sale.order',
'The default invoicing method is', default_model='sale.order',
help="You can generate invoices based on sales orders or based on shippings."),
'module_delivery': fields.boolean('Allow Charging Shipping Costs',
'module_delivery': fields.boolean('allow adding shipping costs',
help ="""Allows you to add delivery methods in sale orders and delivery orders.
You can define your own carrier and delivery grids for prices.
This installs the module delivery."""),
'time_unit': fields.many2one('product.uom', 'Working Time Unit'),
'default_picking_policy' : fields.boolean("Configurable Shipping Policy",
help = "You will be able to configure, per sale order, if you deliver all products at once or if you deliver each product when it is available. This may have an impact on the shipping price."),
'group_sale_pricelist':fields.boolean("Pricelist per Customer",
'time_unit': fields.many2one('product.uom', 'The default working time unit for services is'),
'default_picking_policy' : fields.boolean("deliver all at once when all products are available.",
help = "Sales order by default will be configured to deliver all products at once instead of delivering each product when it is available. This may have an impact on the shipping price."),
'group_sale_pricelist':fields.boolean("use pricelists to adapt your price per customers",
implied_group='product.group_sale_pricelist',
help="""Allows to manage different prices based on rules per category of customers.
Example: 10% for retailers, promotion of 5 EUR on this product, etc."""),
'group_uom':fields.boolean("Allow Different Units of Measure",
'group_uom':fields.boolean("allow using different units of measures",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
'group_sale_delivery_address': fields.boolean("Allow Different Addresses for Delivery and Invoice",
'group_sale_delivery_address': fields.boolean("allow a different address for delivery and invoicing ",
implied_group='sale.group_delivery_invoice_address',
help="Allows you to specify different delivery and invoice addresses on a sale order."),
'group_mrp_properties': fields.boolean('Properties on Lines',
'group_mrp_properties': fields.boolean('product properties on order lines',
implied_group='sale.group_mrp_properties',
help="Allows you to tag sale order lines with properties."),
'group_discount_per_so_line': fields.boolean("Discount per Line",
'group_discount_per_so_line': fields.boolean("allow setting a discount on the sale order lines",
implied_group='sale.group_discount_per_so_line',
help="Allows you to apply some discount per sale order line."),
'group_multiple_shops': fields.boolean("Manage Multiple Shops",
'group_multiple_shops': fields.boolean("manage multiple shops",
implied_group='stock.group_locations',
help="This allows to configure and use multiple shops."),
'module_warning': fields.boolean("Alerts by Products or Customers",
'module_warning': fields.boolean("allow configuring alerts by customer or products",
help="""Allow to configure warnings on products and trigger them when a user wants to sale a given product or a given customer.
Example: Product: this product is deprecated, do not purchase more than 5.
Supplier: don't forget to ask for an express delivery."""),
'module_sale_margin': fields.boolean("Display Margins on Sale Orders",
'module_sale_margin': fields.boolean("display margins on sales orders",
help="""This adds the 'Margin' on sales order.
This gives the profitability by calculating the difference between the Unit Price and Cost Price.
This installs the module sale_margin."""),
'module_sale_journal': fields.boolean("Allow Batch Invoicing through Journals",
'module_sale_journal': fields.boolean("allow batch invoicing through journals",
help="""Allows you to categorize your sales and deliveries (picking lists) between different journals,
and perform batch operations on journals.
This installs the module sale_journal."""),
'module_analytic_user_function': fields.boolean("Assign User Roles per Contract",
'module_analytic_user_function': fields.boolean("assign user roles per contract",
help="""Allows you to define what is the default function of a specific user on a given account.
This is mostly used when a user encodes his timesheet. The values are retrieved and the fields are auto-filled.
But the possibility to change these values is still available.
@ -98,7 +98,7 @@ class sale_configuration(osv.osv_memory):
'module_project_timesheet': fields.boolean("Project Timesheet"),
'module_project_mrp': fields.boolean("Project MRP"),
'module_project': fields.boolean("Project"),
'decimal_precision': fields.integer('Decimal Precision on Price',help="As an example, a decimal precision of 2 will allow prices like: 9.99 EUR, whereas a decimal precision of 4 will allow prices like: 0.0231 EUR per unit."),
'decimal_precision': fields.integer("Decimal precision on prices:",help="As an example, a decimal precision of 2 will allow prices like: 9.99 EUR, whereas a decimal precision of 4 will allow prices like: 0.0231 EUR per unit."),
}
def _check_decimal(self, cr, uid, ids, context=None):
for decimal in self.browse(cr, uid, ids, context=context):
@ -190,9 +190,9 @@ class sale_configuration(osv.osv_memory):
class account_config_settings(osv.osv_memory):
_inherit = 'account.config.settings'
_columns = {
'module_sale_analytic_plans': fields.boolean('Several Analytic Accounts on Sales',
'module_sale_analytic_plans': fields.boolean('several analytic accounts on sales',
help="""This allows install module sale_analytic_plans."""),
'group_analytic_account_for_sales': fields.boolean('Analytic Accounting for Sales',
'group_analytic_account_for_sales': fields.boolean('analytic accounting for sales',
implied_group='sale.group_analytic_accounting',
help="Allows you to specify an analytic account on sale orders."),
}

View File

@ -8,36 +8,123 @@
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
<field name="arch" type="xml">
<group name="config_sale" position="inside">
<div name="customer feature" position="before">
<separator string="Invoicing Process"/>
<group>
<label for="id" string="Invoicing Process"/>
<div>
<div>
<field name="group_invoice_so_lines" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)" class="oe_inline"/>
<label for="group_invoice_so_lines"/>
</div>
<div>
<field name="group_invoice_deli_orders" class="oe_inline" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)"/>
<label for="group_invoice_deli_orders"/>
</div>
<div>
<field name="task_work" class="oe_inline" on_change="onchange_task_work(task_work)"/>
<label for="task_work"/>
</div>
<div>
<field name="timesheet" class="oe_inline" on_change="onchange_timesheet(timesheet)"/>
<label for="timesheet"/>
</div>
</div>
</group>
<group>
<label for="id" string="Default Options" attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('group_invoice_deli_orders','=',False),('group_invoice_so_lines','=',False), ('group_invoice_deli_orders','=',False),('task_work','=',False), ('module_account_analytic_analysis','=',False)]}"/>
<div>
<div attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('group_invoice_deli_orders','=',False)],'required': ['|',('group_invoice_so_lines','=',True),('group_invoice_deli_orders','=',True)]}">
<label for="default_order_policy"/>
<field name="default_order_policy" class="oe_inline"/>
</div>
<div attrs="{'invisible':[('group_invoice_so_lines','=',False), ('group_invoice_deli_orders','=',False)]}">
<field name="module_delivery" class="oe_inline"/>
<label for="module_delivery"/>
</div>
<div attrs="{'invisible': [('task_work','=',False), ('module_account_analytic_analysis','=',False)],'required': ['|', ('task_work','=',True), ('module_account_analytic_analysis','=',True)]}">
<label for="time_unit"/>
<field name="time_unit" domain="[('category_id.name','=','Working Time')]" class="oe_inline"/>
</div>
</div>
</group>
<field name="module_project_timesheet" invisible="1"/>
<field name="module_project_mrp" invisible="1"/>
<separator string="Sale Order" colspan="2"/>
<field name="group_uom"/>
<field name="group_sale_delivery_address"/>
<field name="group_sale_pricelist"/>
<field name="group_multiple_shops"/>
<field name="module_warning"/>
<field name="decimal_precision"/>
<field name="default_picking_policy" attrs="{'invisible':[('group_invoice_deli_orders','=',False)]}"/>
<field name="group_discount_per_so_line"/>
<field name="group_mrp_properties"/>
<field name="module_sale_margin"/>
<field name="module_sale_journal"/>
</group>
<group name="config_other" position="inside">
<separator string="Invoicing Policy" colspan="2" />
<field name="group_invoice_so_lines" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)"/>
<field name="group_invoice_deli_orders" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)"/>
<field name="task_work" on_change="onchange_task_work(task_work)"/>
<field name="timesheet" on_change="onchange_timesheet(timesheet)"/>
<field name="default_order_policy" attrs="{'invisible':['|',('group_invoice_so_lines','=',False),('group_invoice_deli_orders','=',False)],'required': ['|',('group_invoice_so_lines','=',True),('group_invoice_deli_orders','=',True)]}"/>
<field name="module_delivery"/>
<field name="time_unit" domain="[('category_id.name','=','Working Time')]"
attrs="{'invisible': [('task_work','=',False), ('module_account_analytic_analysis','=',False)],'required': ['|', ('task_work','=',True), ('module_account_analytic_analysis','=',True)]}"/>
<separator string="Contracts" colspan="2"/>
<field name="module_account_analytic_analysis" on_change="onchange_timesheet(module_account_analytic_analysis)"/>
<field name="module_analytic_user_function" attrs="{'invisible':[('module_account_analytic_analysis','=',False)]}"/>
</div>
<div name="Customer Features" position="inside">
<div>
<field name="group_sale_delivery_address" class="oe_inline"/>
<label for="group_sale_delivery_address"/>
</div>
<div>
<field name="group_sale_pricelist" class="oe_inline"/>
<label for="group_sale_pricelist"/>
</div>
<div>
<field name="module_sale_journal" class="oe_inline"/>
<label for="module_sale_journal"/>
</div>
<div name="module_warning">
<field name="module_warning" class="oe_inline"/>
<label for="module_warning"/>
</div>
</div>
<group name="Sale" position="before">
<group>
<label for="id" string="Product Features"/>
<div>
<div>
<field name="group_uom" class="oe_inline"/>
<label for="group_uom"/>
</div>
<div>
<field name="group_discount_per_so_line" class="oe_inline"/>
<label for="group_discount_per_so_line"/>
</div>
<div>
<field name="group_mrp_properties" class="oe_inline"/>
<label for="group_mrp_properties"/>
</div>
<div>
<label for="decimal_precision"/>
<field name="decimal_precision" class="oe_inline"/>
</div>
</div>
</group>
</group>
<div name="Sale Features" position="inside">
<div>
<field name="group_multiple_shops" class="oe_inline"/>
<label for="group_multiple_shops"/>
</div>
<div attrs="{'invisible':[('group_invoice_deli_orders','=',False)]}">
<field name="default_picking_policy" class="oe_inline"/>
<label for="default_picking_policy"/>
</div>
<div name="module_sale_margin">
<field name="module_sale_margin" class="oe_inline"/>
<label for="module_sale_margin"/>
</div>
</div>
<div name="customer feature" position="after">
<separator string="Contracts Management"/>
<div style="color:grey">
Use contract to be able to manage your services with multiple invoicing as part of the same contract with your customer
</div>
<group>
<label for="id" string="Contract Feature"/>
<div>
<div>
<field name="module_account_analytic_analysis" on_change="onchange_timesheet(module_account_analytic_analysis)" class="oe_inline"/>
<label for="module_account_analytic_analysis"/>
</div>
<div attrs="{'invisible':[('module_account_analytic_analysis','=',False)]}">
<field name="module_analytic_user_function" class="oe_inline"/>
<label for="module_analytic_user_function"/>
</div>
</div>
</group>
</div>
</field>
</record>
@ -51,16 +138,23 @@
<field name="inherit_id" ref="account.view_account_config_settings"/>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
<separator name="analytic_accounting" position="attributes">
<separator name="analytic_account" position="attributes">
<attribute name="invisible">0</attribute>
<attribute name="colspan">2</attribute>
</separator>
<separator name="analytic_accounting" position="after">
<field name="group_analytic_account_for_sales"/>
<field name="module_sale_analytic_plans" on_change="onchange_sale_analytic_plans(module_sale_analytic_plans)"/>
</separator>
<group name="analytic_account_sale" position="attributes">
<attribute name="invisible">0</attribute>
</group>
<xpath expr="//group[@name='analytic_account_sale']/div" position="inside">
<div>
<field name="group_analytic_account_for_sales" class="oe_inline"/>
<label for="group_analytic_account_for_sales"/>
</div>
<div>
<field name="module_sale_analytic_plans" on_change="onchange_sale_analytic_plans(module_sale_analytic_plans)" class="oe_inline"/>
<label for="module_sale_analytic_plans"/>
</div>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -31,6 +31,14 @@ class res_partner(osv.osv):
res[partner.id] = len(partner.sale_order_ids)
return res
def copy(self, cr, uid, record_id, default=None, context=None):
if default is None:
default = {}
default.update({'sale_order_ids': []})
super(res_partner, self).copy(cr, uid, record_id, default, context)
_columns = {
'sale_order_count': fields.function(_sale_order_count, string='# of Sales Order', type='integer'),
'sale_order_ids': fields.one2many('sale.order','partner_id','Sales Order')

View File

@ -164,7 +164,7 @@
<button name="action_button_confirm" states="sent" string="Confirm" class="oe_highlight" type="object"/>
<button name="action_view_invoice" string="Open Invoice" type="object" class="oe_highlight"
attrs="{'invisible': ['|','|',('state', '!=','progress'), ('invoiced', '=', True),('order_policy','=','picking')]}"/>
<button name="action_view_delivery" string="Open Delivery Order" type="object" class="oe_highlight"
<button name="action_view_delivery" string="View Delivery Order" type="object" class="oe_highlight"
attrs="{'invisible': ['|','|','|',('picking_ids','=',False),('picking_ids','=',[]), ('state', 'not in', ('progress','manual')),('shipped','=',True)]}"/>
<button name="%(action_view_sale_advance_payment_inv)d" string="Create Invoice"
type="action" states="manual" class="oe_highlight"/>
@ -287,14 +287,18 @@
<group class="oe_subtotal_footer oe_right" colspan="2" name="sale_total">
<field name="amount_untaxed"/>
<field name="amount_tax"/>
<field name="amount_total" class="oe_subtotal_footer_separator"/>
<div class="oe_subtotal_footer_separator oe_inline">
<label for="amount_total" />
<button name="button_dummy"
states="draft" string="(update)" type="object" class="oe_edit_only oe_link"/>
</div>
<field name="amount_total" nolabel="1" class="oe_subtotal_footer_separator"/>
</group>
<group name="sale_margin_grp">
</group>
<div class="oe_clear">
<label for="note"/>
</div>
<field name="note" class="oe_inline"/>
<div class="oe_clear"/>
<label for="note"/>
<field name="note"/>
</page>
<page string="Other Information" groups="base.group_user">
<group>
@ -364,6 +368,7 @@
<filter icon="terp-document-new" string="Quotations" name="draft" domain="[('state','in',('draft','sent'))]" help="Sales Order that haven't yet been confirmed"/>
<filter icon="terp-check" string="Sales" name="sales" domain="[('state','in',('manual','progress'))]"/>
<filter icon="terp-dolar_ok!" string="To Invoice" domain="[('state','=','manual')]" help="Sales Order ready to be invoiced"/>
<filter icon="terp-dolar_ok!" string="Done" domain="[('state','=','done')]" help="Sales Order done"/>
<separator/>
<filter string="My Sale Orders" domain="[('user_id','=',uid)]" help="My Sale Orders" icon="terp-personal" name="my_sale_orders_filter"/>
<field name="partner_id"/>

View File

@ -28,7 +28,7 @@ class sale_advance_payment_inv(osv.osv_memory):
_columns = {
'advance_payment_method':fields.selection(
[('all', 'All'), ('percentage','Percentage'), ('fixed','Fixed Price'),
[('all', 'Invoice all the Sale Order'), ('percentage','Percentage'), ('fixed','Fixed Price'),
('lines', 'Some Order Lines')],
'Type', required=True,
help="""Use All to create the final invoice.

View File

@ -143,7 +143,7 @@ class crm_make_sale(osv.osv_memory):
_columns = {
'shop_id': fields.many2one('sale.shop', 'Shop', required=True),
'partner_id': fields.many2one('res.partner', 'Customer', required=True, domain=[('customer','=',True)]),
'close': fields.boolean('Close Opportunity', help='Check this to close the opportunity after having created the sale order.'),
'close': fields.boolean('Mark Won', help='Check this to close the opportunity after having created the sale order.'),
}
_defaults = {
'shop_id': _get_shop_id,

View File

@ -4,7 +4,7 @@ class base_config_settings(osv.TransientModel):
_inherit = 'base.config.settings'
_columns = {
'signup_template_user_id': fields.many2one('res.users', 'Template user for signup')
'signup_template_user_id': fields.many2one('res.users', 'Template user for new users created through signup')
}
def get_default_signup(self, cr, uid, fields, context=None):

View File

@ -1,16 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record id="view_general_configuration" model="ir.ui.view">
<field name="name">base.config.settings.signup</field>
<field name="model">base.config.settings</field>
<field name="inherit_id" ref="base_setup.view_general_configuration"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="module_portal" position="after">
<field name="signup_template_user_id"/>
</field>
<xpath expr="//group[last()]" position="after">
<group>
<label for="id" string="External Users"/>
<div>
<div>
<label for="signup_template_user_id"/>
<field name="signup_template_user_id" class="oe_inline"/>
</div>
</div>
</group>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -1,13 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record id="signup_form_view" model="ir.ui.view">
<field name="name">signup.signup.form</field>
<field name="model">signup.signup</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Signup" version="7.0">
<field name="state" invisible="1"/>
<field name="state" invisible="1"/>
<group colspan="4" states="draft,missmatch">
<field name="name" required="1"/>
<field name="email" required="1"/>

View File

@ -26,14 +26,14 @@ class stock_config_settings(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
'module_claim_from_delivery': fields.boolean("Allow Claims on Delivery Orders",
'module_claim_from_delivery': fields.boolean("allow claim on deliveries",
help="""Adds a Claim link to the delivery order.
This installs the module claim_from_delivery."""),
'module_stock_invoice_directly': fields.boolean("Invoice Directly from the Picking",
'module_stock_invoice_directly': fields.boolean("generate invoice directly from the picking",
help="""This allows to automatically launch the invoicing wizard if the delivery is
to be invoiced when you send or deliver goods.
This installs the module stock_invoice_directly."""),
'module_product_expiry': fields.boolean("Expiry Date on Lots",
'module_product_expiry': fields.boolean("expiry date on lots",
help="""Track different dates on products and serial numbers.
The following dates can be tracked:
- end of life
@ -41,39 +41,39 @@ class stock_config_settings(osv.osv_memory):
- removal date
- alert date.
This installs the module product_expiry."""),
'module_stock_location': fields.boolean("Push/Pull Logistic Rules",
'module_stock_location': fields.boolean("create push/pull logistic rules",
help="""Provide push and pull inventory flows. Typical uses of this feature are:
manage product manufacturing chains, manage default locations per product,
define routes within your warehouse according to business needs, etc.
This installs the module stock_location."""),
'group_uom': fields.boolean("Manage Different Units of Measure for Products",
'group_uom': fields.boolean("manage units of measure on products",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
'group_uos': fields.boolean("Manage Secondary Unit of Measure (for Sale)",
'group_uos': fields.boolean("invoice products in a different unit of measure than the sale order",
implied_group='product.group_uos',
help="""Allows you to sell units of a product, but invoice based on a different unit of measure.
For instance, you can sell pieces of meat that you invoice based on their weight."""),
'group_stock_packaging': fields.boolean("Manage Product Packaging",
'group_stock_packaging': fields.boolean("manage product packaging",
implied_group='product.group_stock_packaging',
help="""Allows you to create and manage your packaging dimensions and types you want to be maintained in your system."""),
'group_stock_production_lot': fields.boolean("Serial Numbers on Products",
'group_stock_production_lot': fields.boolean("track serial number on products",
implied_group='stock.group_production_lot',
help="""This allows you to manage products by using serial numbers.
When you select a lot, you can get the upstream or downstream traceability of the products contained in lot."""),
'group_stock_tracking_lot': fields.boolean("Serial Numbers on Logistic Units (Pallets)",
'group_stock_tracking_lot': fields.boolean("track serial number on logistic units (pallets)",
implied_group='stock.group_tracking_lot',
help="""Allows you to get the upstream or downstream traceability of the products contained in lot."""),
'group_stock_inventory_valuation': fields.boolean("Generate Accounting Entries per Stock Movement",
'group_stock_inventory_valuation': fields.boolean("generate accounting entries per stock movement",
implied_group='stock.group_inventory_valuation',
help="""Allows to configure inventory valuations on products and product categories."""),
'group_stock_multiple_locations': fields.boolean("Manage Multiple Locations and Warehouses",
'group_stock_multiple_locations': fields.boolean("manage multiple locations and warehouses",
implied_group='stock.group_locations',
help="""This allows to configure and use multiple stock locations and warehouses,
instead of having a single default one."""),
'group_product_variant': fields.boolean("Support Multiple Variants per Product",
'group_product_variant': fields.boolean("support multiple variants per products ",
implied_group='product.group_product_variant',
help="""Allow to manage several variants per product. As an example, if you sell T-Shirts, for the same "Linux T-Shirt", you may have variants on sizes or colors; S, M, L, XL, XXL."""),
'decimal_precision': fields.integer('Decimal Precision on Weights', help="As an example, a decimal precision of 2 will allow weights like: 9.99 kg, whereas a decimal precision of 4 will allow weights like: 0.0231 kg."),
help="""Allow to manage several variants per product. As an example, if you sell T-Shirts, for the same "Linux T-Shirt", you may have variants on sizes or colors; S, M, L, XL, XXL."""),
'decimal_precision': fields.integer('Decimal precision on weight', help="As an example, a decimal precision of 2 will allow weights like: 9.99 kg, whereas a decimal precision of 4 will allow weights like: 0.0231 kg."),
}
def get_default_dp(self, cr, uid, fields, context=None):

View File

@ -7,35 +7,85 @@
<field name="model">stock.config.settings</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Configure Warehouse" version="7.0">
<form string="Configure Warehouse" version="7.0" class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
or
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<separator string="Traceability &amp; Accounting"/>
<group>
<group>
<separator string="Traceability" colspan="2"/>
<field name="group_stock_production_lot"/>
<field name="group_stock_tracking_lot"/>
<field name="module_product_expiry"
attrs="{'invisible': [('group_stock_production_lot','=',False)]}"/>
<separator string="Logistics" colspan="2"/>
<field name="group_stock_multiple_locations"/>
<field name="module_stock_invoice_directly"/>
<field name="module_stock_location"/>
<field name="decimal_precision" class="oe_inline"/>
</group>
<group>
<separator string="Partners" colspan="2"/>
<field name="module_claim_from_delivery"/>
<separator string="Products" colspan="2"/>
<field name="group_stock_packaging"/>
<field name="group_uom"/>
<field name="group_uos"/>
<field name="group_stock_inventory_valuation" class="oe_inline"/>
<field name="group_product_variant"/>
</group>
<label for="id" string="Traceability"/>
<div>
<div>
<field name="group_stock_production_lot" class="oe_inline"/>
<label for="group_stock_production_lot"/>
</div>
<div attrs="{'invisible': [('group_stock_production_lot','=',False)]}">
<field name="module_product_expiry" class="oe_inline"/>
<label for="module_product_expiry"/>
</div>
<div>
<field name="group_stock_tracking_lot" class="oe_inline"/>
<label for="group_stock_tracking_lot"/>
</div>
</div>
</group>
<group>
<label for="id" string="Accounting"/>
<div>
<div>
<field name="group_stock_inventory_valuation" class="oe_inline"/>
<label for="group_stock_inventory_valuation"/>
</div>
<div>
<field name="module_stock_invoice_directly" class="oe_inline"/>
<label for="module_stock_invoice_directly"/>
</div>
</div>
</group>
<separator string="Location &amp; Warehouse"/>
<group>
<label for="id" string="Logistic"/>
<div>
<div>
<field name="group_stock_multiple_locations" class="oe_inline"/>
<label for="group_stock_multiple_locations"/>
</div>
<div>
<field name="module_stock_location" class="oe_inline"/>
<label for="module_stock_location"/>
</div>
<div>
<field name="module_claim_from_delivery" class="oe_inline"/>
<label for="module_claim_from_delivery"/>
</div>
</div>
</group>
<group>
<label for="id" string="Products"/>
<div>
<div>
<field name="group_stock_packaging" class="oe_inline"/>
<label for="group_stock_packaging"/>
</div>
<div>
<label for="decimal_precision"/>
<field name="decimal_precision" class="oe_inline"/>
</div>
<div>
<field name="group_uom" class="oe_inline"/>
<label for="group_uom"/>
</div>
<div>
<field name="group_uos" class="oe_inline"/>
<label for="group_uos" />
</div>
<div>
<field name="group_product_variant" class="oe_inline"/>
<label for="group_product_variant"/>
</div>
</div>
</group>
</form>
</field>

View File

@ -1547,6 +1547,7 @@ class stock_move(osv.osv):
cr.execute('select id from stock_tracking where create_uid=%s order by id desc limit 1', (uid,))
res = cr.fetchone()
return (res and res[0]) or False
_name = "stock.move"
_description = "Stock Move"
_order = 'date_expected desc, id'
@ -1744,6 +1745,13 @@ class stock_move(osv.osv):
'date_expected': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
}
def create(self, cr, uid, vals, context=None):
# TODO
# the create_date is passed in the vals dict, and the ORM has a problem with that !
# make a real patch and remove this workaround
vals.pop('create_date', False)
return super(stock_move, self).create(cr, uid, vals, context=context)
def write(self, cr, uid, ids, vals, context=None):
if isinstance(ids, (int, long)):
ids = [ids]

View File

@ -120,10 +120,8 @@
<sheet>
<div>
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name" placeholder="e.g. Annual inventory" class="oe_inline"/> -
<field name="date" class="oe_inline"/>
</h1>
<field name="name" placeholder="e.g. Annual inventory" class="oe_inline"/> -
<field name="date" class="oe_inline"/>
</div>
<group>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>

View File

@ -20,13 +20,16 @@
##############################################################################
from osv import fields, osv
from tools.translate import _
class stock_location_product(osv.osv_memory):
_name = "stock.location.product"
_description = "Products by Location"
_columns = {
'from_date': fields.datetime('From'),
'to_date': fields.datetime('To'),
'to_date': fields.datetime('To'),
'type': fields.selection([('inventory','Analyse Current Inventory'),
('period','Analyse a Period')], 'Analyse Type', required=True),
}
def action_open_window(self, cr, uid, ids, context=None):
@ -43,7 +46,7 @@ class stock_location_product(osv.osv_memory):
location_products = self.read(cr, uid, ids, ['from_date', 'to_date'], context=context)
if location_products:
return {
'name': False,
'name': _('Current Inventory'),
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'product.product',

View File

@ -7,14 +7,15 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="View Stock of Products" version="7.0">
<separator string="Stock Location Analysis"/>
<group>
<field name="type"/>
</group>
<group attrs="{'invisible':[('type', '!=', 'period')], 'required':[('type', '=', 'period')]}">
<field name="from_date"/>
<field name="to_date"/>
</group>
<label string="(Keep empty to open the current situation. Adjust HH:MM:SS to 00:00:00 to filter all resources of the day for the 'From' date and 23:59:59 for the 'To' date)"/>
<footer>
<button name="action_open_window" string="Open Product" type="object" class="oe_highlight"/>
<button name="action_open_window" string="View Products Inventory" type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>