Randhir Mayatra (OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-config-wizard-apa-account_wizard-rma
into lp:~openerp-dev/openobject-addons/trunk-config-wizard-apa.
Requested reviews:
Amit Patel (OpenERP) (apa-tiny)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-config-wizard-apa-account_wizard-rma/+merge/118047
Hello Sir,
I have Improve the account wizard.
Thank you..
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-config-wizard-apa-account_wizard-rma/+merge/118047
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-config-wizard-apa.
=== modified file 'account/res_config.py'
--- account/res_config.py 2012-08-02 15:37:19 +0000
+++ account/res_config.py 2012-08-03 06:58:03 +0000
@@ -37,75 +37,145 @@
'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',
+<<<<<<< TREE
string='This company has its own chart of accounts',
+=======
+ string='this company has its own chart of accounts',
+>>>>>>> MERGE-SOURCE
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."),
'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."),
'company_footer': fields.related('company_id', 'rml_footer2', type='char', size=250, readonly=True,
+<<<<<<< TREE
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 display 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\"."),
+>>>>>>> MERGE-SOURCE
'has_chart_of_accounts': fields.boolean('Company has a chart of accounts'),
+<<<<<<< TREE
'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"),
+=======
+ '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"),
+>>>>>>> MERGE-SOURCE
'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',
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."),
+<<<<<<< TREE
'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'),
+>>>>>>> MERGE-SOURCE
'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),
'period': fields.selection([('month', 'Monthly'), ('3months','3 Monthly')], 'Periods', required=True),
+<<<<<<< TREE
'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'),
+>>>>>>> MERGE-SOURCE
'purchase_journal_id': fields.many2one('account.journal', 'Purchase Journal'),
+<<<<<<< TREE
'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 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='Next credit note number'),
+ 'purchase_refund_sequence_next': fields.related('purchase_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next credit note number'),
+>>>>>>> MERGE-SOURCE
+<<<<<<< TREE
'module_account_check_writing': fields.boolean('check writing',
+=======
+ 'module_account_check_writing': fields.boolean('Pay your supplier by check',
+>>>>>>> MERGE-SOURCE
help="""This allows you to check writing and printing.
This installs the module account_check_writing."""),
+<<<<<<< TREE
'module_account_accountant': fields.boolean('accountant features',
+=======
+ 'module_account_accountant': fields.boolean('Accountant features',
+>>>>>>> MERGE-SOURCE
help="""If you do not check this box, you will be able to do invoicing & payments, but not accounting (Journal Items, Chart of Accounts, ...)"""),
+<<<<<<< TREE
'module_account_asset': fields.boolean('assets management',
+=======
+ 'module_account_asset': fields.boolean('Assets management',
+>>>>>>> MERGE-SOURCE
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, ...)"""),
+<<<<<<< TREE
'module_account_budget': fields.boolean('budget management',
+=======
+ 'module_account_budget': fields.boolean('Budget management',
+>>>>>>> MERGE-SOURCE
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."""),
+<<<<<<< TREE
'module_account_payment': fields.boolean('manage payment orders',
+=======
+ 'module_account_payment': fields.boolean('Manage payment orders',
+>>>>>>> MERGE-SOURCE
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."""),
+<<<<<<< TREE
'module_account_voucher': fields.boolean('anage customer payments',
+=======
+ 'module_account_voucher': fields.boolean('Manage customer payments',
+>>>>>>> MERGE-SOURCE
help="""This includes all the basic requirements of voucher entries for bank, cash, sales, purchase, expense, contra, etc.
This installs the module account_voucher."""),
+<<<<<<< TREE
'module_account_followup': fields.boolean('manage customer payment follow-ups',
+=======
+ 'module_account_followup': fields.boolean('Manage customer payment follow-ups',
+>>>>>>> MERGE-SOURCE
help="""This allows to automate letters for unpaid invoices, with multi-level recalls.
This installs the module account_followup."""),
+<<<<<<< TREE
'group_proforma_invoices': fields.boolean('allow pro-forma invoices',
+=======
+ 'group_proforma_invoices': fields.boolean('Allow pro-forma invoices',
+>>>>>>> MERGE-SOURCE
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',
=== modified file 'account/res_config_view.xml'
--- account/res_config_view.xml 2012-08-03 00:27:44 +0000
+++ account/res_config_view.xml 2012-08-03 06:58:03 +0000
@@ -26,7 +26,7 @@
<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"/>
+ <separator string="Chart of Account and Fiscal Year" groups="base.group_multi_company"/>
<group groups="base.group_multi_company">
<label for="id" string="Chart of Accounts"/>
<div>
@@ -41,12 +41,16 @@
<field name="expects_chart_of_accounts" class="oe_inline"/>
<label for="expects_chart_of_accounts"/>
</div>
+<<<<<<< TREE
</div>
</group>
<separator string="Chart of Account and Fiscal Year"/>
<group attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}">
<label for="id" string="Chart of Account"/>
<div>
+=======
+ <group attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}"/>
+>>>>>>> MERGE-SOURCE
<div>
<label for="chart_template_id"/>
<field name="chart_template_id"
@@ -86,15 +90,15 @@
</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"/>
+ <label string="from"/>
<field name="date_start"
on_change="onchange_start_date(date_start)"
- class="oe_inline"/> -
+ class="oe_inline"/>
+ <label string="to"/>
<field name="date_stop" class="oe_inline"/>
</div>
<div>
@@ -103,7 +107,11 @@
</div>
</div>
</group>
+<<<<<<< TREE
<separator string="eInvoicing & Payments"/>
+=======
+ <separator string="eInvoicing & Payments "/>
+>>>>>>> MERGE-SOURCE
<group>
<label for="id" string="Customer"/>
<div>
@@ -144,6 +152,7 @@
<label for="module_account_followup"/>
</div>
</div>
+<<<<<<< TREE
</group>
<group>
<label for="id" string="Supplier"/>
@@ -154,6 +163,18 @@
domain="[('type_tax_use','=','purchase'), ('company_id','=',company_id)]"
class="oe_inline"/>
</div>
+=======
+ </group>
+ <group>
+ <label for="id" string="Supplier"/>
+ <div >
+ <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>
+>>>>>>> MERGE-SOURCE
<div>
<label for="purchase_sequence_next"/>
<field name="purchase_sequence_prefix"
@@ -176,8 +197,17 @@
<field name="module_account_payment" class="oe_inline"/>
<label for="module_account_payment"/>
</div>
- </div>
- </group>
+<<<<<<< TREE
+ </div>
+ </group>
+=======
+ <div>
+ <field name="module_account_check_writing" class="oe_inline"/>
+ <label for="module_account_check_writing"/>
+ </div>
+ </div>
+ </group>
+>>>>>>> MERGE-SOURCE
<separator string="Bank & Cash"/>
<div style="color:grey">
Bank accounts displays on reports: IBAN: XX12 3456 7890 1234 5678 - SWIFT: SWIFTCODE - VAT: Company vat number
@@ -186,7 +216,11 @@
<label for="id" string="Configuration"/>
<div>
<div>
+<<<<<<< TREE
<label string="Configure your bank accounts"/>
+=======
+ <label name="%(action_bank_tree)d" string="Configure your bank account "/>
+>>>>>>> MERGE-SOURCE
<button name="%(action_bank_tree)d"
string="Configure"
icon="gtk-go-forward"
@@ -194,6 +228,7 @@
class="oe_inline oe_link"/>
</div>
<div>
+<<<<<<< TREE
<label for="paypal_account"/>
<field name="paypal_account" placeholder="[email protected]" class="oe_inline"/>
</div>
@@ -229,15 +264,72 @@
<div>
<field name="module_account_budget" class="oe_inline"/>
<label for="module_account_budget"/>
+=======
+ <label for="company_footer"/>
+ <field name="company_footer" class="oe_inline"/>
+ </div>
+ <div>
+ <label for="paypal_account"/>
+ <field name="paypal_account" placeholder="[email protected]" class="oe_inline"/>
+ </div>
+ </div>
+ </group>
+ <separator string="Accounting & Finance"/>
+ <group>
+ <label for="id" string="Options"/>
+ <div>
+ <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>
+ </group>
+ <group>
+ <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"/>
+>>>>>>> MERGE-SOURCE
</div>
</div>
</group>
<separator name="analytic_account" string="Analytic Accounting" invisible="1"/>
+<<<<<<< TREE
<group name="analytic_account" invisible="1">
<label for="id" string="Sale"/>
<div name="analytic_account_sale"></div>
<label for="id" string="Purchase"/>
<div name="analytic_account_purchase"></div>
+=======
+ <group name="analytic_account_sale" invisible="1">
+ <label for="id" string="Sale"/>
+ <div>
+ <div name="analytic_account_sale"/>
+ </div>
+ </group>
+ <group name="analytic_account_purchase" invisible="1">
+ <label for="id" string="Purchase"/>
+ <div>
+ <div name="analytic_account_purchase"/>
+ </div>
+>>>>>>> MERGE-SOURCE
</group>
<field name="sale_journal_id" invisible="1"/>
@@ -267,4 +359,4 @@
sequence="14" action="action_account_config"/>
</data>
-</openerp>
+</openerp>
=== modified file 'purchase/res_config.py'
--- purchase/res_config.py 2012-08-02 15:37:19 +0000
+++ purchase/res_config.py 2012-08-03 06:58:03 +0000
@@ -32,34 +32,42 @@
[('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("manage pricelist per supplier",
+ ], 'Default Invoicing Control Method', required=True, default_model='purchase.order'),
+ 'group_purchase_pricelist':fields.boolean("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."""),
+<<<<<<< TREE
'group_uom':fields.boolean("manage different units of measure for products",
+=======
+ 'group_uom':fields.boolean("Manage Different Units of Measure for Products",
+>>>>>>> MERGE-SOURCE
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
+<<<<<<< TREE
'group_purchase_delivery_address': fields.boolean("allow a different address for incoming products and invoicings",
+=======
+ 'group_purchase_delivery_address': fields.boolean("Allow Different Addresses for Delivery and Invoice",
+>>>>>>> MERGE-SOURCE
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 orders',
+ 'module_purchase_analytic_plans': fields.boolean('Use Multiple Analytic Accounts on Purchases',
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 supllier",
+ 'module_warning': fields.boolean("Alerts by Products or Supplier",
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("force two levels of approvals",
+ 'module_purchase_double_validation': fields.boolean("Two Levels of Approval",
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('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."),
+ '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."),
}
_defaults = {
@@ -80,9 +88,13 @@
class account_config_settings(osv.osv_memory):
_inherit = 'account.config.settings'
_columns = {
- 'module_purchase_analytic_plans': fields.boolean('use multiple analytic accounts on orders',
+ 'module_purchase_analytic_plans': fields.boolean('Several analytic accounts on purchases',
help="""This allows install module purchase_analytic_plans."""),
+<<<<<<< TREE
'group_analytic_account_for_purchases': fields.boolean('analytic accounting for purchases',
+=======
+ 'group_analytic_account_for_purchases': fields.boolean('Analytic accounting for purchases',
+>>>>>>> MERGE-SOURCE
implied_group='purchase.group_analytic_accounting',
help="Allows you to specify an analytic account on purchase orders."),
}
=== modified file 'purchase/res_config_view.xml'
--- purchase/res_config_view.xml 2012-08-03 00:27:44 +0000
+++ purchase/res_config_view.xml 2012-08-03 06:58:03 +0000
@@ -13,7 +13,11 @@
</header>
<separator string="Invoicing Process"/>
<group>
+<<<<<<< TREE
<label for="id" string="Invoicing Settings"/>
+=======
+ <label for="id" string="Invoicing Setting"/>
+>>>>>>> MERGE-SOURCE
<div>
<div>
<label for="default_invoice_method"/>
@@ -89,7 +93,7 @@
<separator name="analytic_account" position="attributes">
<attribute name="invisible">0</attribute>
</separator>
- <group name="analytic_account" position="attributes">
+ <group name="analytic_account_purchase" position="attributes">
<attribute name="invisible">0</attribute>
</group>
<div name="analytic_account_purchase" position="inside">
=== modified file 'sale/res_config.py'
--- sale/res_config.py 2012-08-02 15:37:19 +0000
+++ sale/res_config.py 2012-08-03 06:58:03 +0000
@@ -190,9 +190,17 @@
class account_config_settings(osv.osv_memory):
_inherit = 'account.config.settings'
_columns = {
+<<<<<<< TREE
'module_sale_analytic_plans': fields.boolean('several analytic accounts on sales',
+=======
+ 'module_sale_analytic_plans': fields.boolean('Several analytic accounts on sales',
+>>>>>>> MERGE-SOURCE
help="""This allows install module sale_analytic_plans."""),
+<<<<<<< TREE
'group_analytic_account_for_sales': fields.boolean('analytic accounting for sales',
+=======
+ 'group_analytic_account_for_sales': fields.boolean('Analytic accounting for sales',
+>>>>>>> MERGE-SOURCE
implied_group='sale.group_analytic_accounting',
help="Allows you to specify an analytic account on sale orders."),
}
=== modified file 'sale/res_config_view.xml'
--- sale/res_config_view.xml 2012-08-03 00:27:44 +0000
+++ sale/res_config_view.xml 2012-08-03 06:58:03 +0000
@@ -141,7 +141,7 @@
<separator name="analytic_account" position="attributes">
<attribute name="invisible">0</attribute>
</separator>
- <group name="analytic_account" position="attributes">
+ <group name="analytic_account_sale" position="attributes">
<attribute name="invisible">0</attribute>
</group>
<div name="analytic_account_sale" position="inside">
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp