[MERGE] merged with lp:~openerp-dev/openobject-addons/trunk-application_setting_cleanup-atp

bzr revid: bde@tinyerp.com-20120608122556-lyj6ww988wpl1q7a
bzr revid: bde@tinyerp.com-20120608125227-m5wxml0qo8lw3cai
This commit is contained in:
Bharat Devnani (OpenERP) 2012-06-08 18:22:27 +05:30
commit d72b801970
17 changed files with 111 additions and 58 deletions

View File

@ -37,14 +37,14 @@ 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='Chart of Accounts for this Company',
string='This Company Has it\'s 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."),
'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.)"),
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 on footer of reports."),
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\"."),
'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)]"),
@ -62,23 +62,23 @@ class account_config_settings(osv.osv_memory):
'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_prefix': fields.related('sale_journal_id', 'sequence_id', 'prefix', type='char', string='Next Invoice Number'),
'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_prefix': fields.related('sale_refund_journal_id', 'sequence_id', 'prefix', type='char', string=' Next Credit Note Number'),
'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_prefix': fields.related('purchase_journal_id', 'sequence_id', 'prefix', type='char', string='Next Supplier Invoice Number'),
'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_prefix': fields.related('purchase_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Next Supplier Credit Note Number'),
'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',
help="""This allows you to check writing and printing.
This installs the module account_check_writing."""),
'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, ...)."""),
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',
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.
@ -111,10 +111,10 @@ class account_config_settings(osv.osv_memory):
'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', help="Selected tax will be applied by default to Product's Sale Tax, while creating a new product"),
'default_purchase_tax': fields.many2one('account.tax', 'Default Purchase Tax', help="Selected tax will be applied by default to Product's Purchase Tax, while creating a new product"),
'decimal_precision': fields.integer('Decimal Precision',
help="""Set the decimal precision for rounding results in accounting."""),
'default_sale_tax': fields.many2one('account.tax', 'Default Sale Tax', help="Selected tax will be applied by default to Product's Sale Tax, while creating a new product."),
'default_purchase_tax': fields.many2one('account.tax', 'Default Purchase Tax', help="Selected tax will be applied by default to Product's Purchase Tax, while creating a new product."),
'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."""),
}
def _default_company(self, cr, uid, context=None):

View File

@ -57,7 +57,7 @@
<separator string="Accounting Configuration" colspan="4"/>
<field name ="complete_tax_set" invisible="1"/>
<newline/>
<group colspan="2" col="2">
<group colspan="" col="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="module_account_asset"/>
@ -72,13 +72,13 @@
<group colspan="2" col="2">
<separator string="Customer Invoices" colspan="2"/>
<field name="sale_journal_id" invisible="1"/>
<label string="Invoice Sequence" for="sale_sequence_prefix"/>
<label string="Next Invoice Number" for="sale_sequence_prefix" help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
<group colspan="1" col="2">
<field name="sale_sequence_prefix" nolabel="1"/>
<field name="sale_sequence_next" nolabel="1" attrs="{'readonly': [('sale_journal_id','=',False)]}"/>
</group>
<field name="sale_refund_journal_id" invisible="1"/>
<label string="Credit Note Sequence" for="sale_refund_sequence_prefix"/>
<label string="Next Credit Note Number" for="sale_refund_sequence_prefix" help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
<group colspan="1" col="2">
<field name="sale_refund_sequence_prefix" nolabel="1"/>
<field name="sale_refund_sequence_next" nolabel="1" attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
@ -91,13 +91,13 @@
<group colspan="2" col="2">
<separator string="Supplier Invoices" colspan="2"/>
<field name="purchase_journal_id" invisible="1"/>
<label string="Supplier Invoice Sequence" for="purchase_sequence_prefix"/>
<label string="Next Supplier Invoice Number" for="purchase_sequence_prefix" help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
<group colspan="1" col="2">
<field name="purchase_sequence_prefix" nolabel="1"/>
<field name="purchase_sequence_next" nolabel="1" attrs="{'readonly': [('purchase_journal_id','=',False)]}"/>
</group>
<field name="purchase_refund_journal_id" invisible="1"/>
<label string="Supplier Credit Note Sequence" for="purchase_refund_sequence_prefix"/>
<label string="Next Supplier Credit Note Number" for="purchase_refund_sequence_prefix" help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
<group colspan="1" col="2">
<field name="purchase_refund_sequence_prefix" nolabel="1"/>
<field name="purchase_refund_sequence_next" nolabel="1" attrs="{'readonly': [('purchase_refund_journal_id','=',False)]}"/>
@ -110,7 +110,7 @@
</group>
<group colspan="2" col="2">
<separator string="Bank &amp; Cash" colspan="2"/>
<label string="Configure Bank Accounts :"/>
<b><label string="Configure Bank Accounts :"/></b>
<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"/>

View File

@ -28,13 +28,27 @@ class base_config_settings(osv.osv_memory):
'module_multi_company': fields.boolean('Multi Company',
help="""Work in multi-company environments, with appropriate security access between companies.
This installs the module multi_company."""),
'module_portal': fields.boolean('Portal',
help="""Define a portal for your customers or suppliers. The portal is a group of
external users that has specific access rights and rules.
This installs the module portal."""),
'module_share': fields.boolean('Share',
help="""Share OpenERP documents (records) with external users.
This installs the module share."""),
'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',
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."""),
}
def open_company(self, cr, uid, ids, context=None):
if context is None:
context = {}
company_obj = self.pool.get('res.company')
company_id = company_obj.browse(cr, uid, uid, context=context).id
return {
'name': 'Your Company',
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'res.company',
'res_id': company_id,
'view_id': False,
'type': 'ir.actions.act_window',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -16,13 +16,18 @@
<field name="module_multi_company"/>
<separator string="Others" colspan="4"/>
<label string="Outgoing Mail Servers"/>
<b><label string="Outgoing Mail Servers"/></b>
<button type="action" name="%(base.action_ir_mail_server_list)d"
string="Configure" icon="gtk-execute"/>
<newline/>
<field name="module_share"/>
<newline/>
<field name="module_portal"/>
<group col="4" colspan="4" >
<p>You will also find several configuration options on your company data; address for the header and footer, overdue payments texts, etc.</p>
<newline/>
<p><button type="object" name="open_company" string="Configure Your Company Data" icon="gtk-execute"/></p>
</group>
</sheet>
</form>
</field>

View File

@ -372,14 +372,24 @@
<field name="arch" type="xml">
<form string="Opportunities" validate="0">
<header>
<button name="case_mark_won" string="Mark Won" states="open,pending" type="object" />
<button name="case_open" string="Open" states="draft,pending" type="object" />
<button name="case_pending" string="Pending" states="draft,open" type="object" />
<button name="case_escalate" string="Escalate" states="open,pending" type="object" />
<button name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" />
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" />
<button name="case_cancel" string="Cancel" states="draft" type="object" />
<field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
<button name="case_mark_won" string="Mark Won" type="object"
states="draft,open,pending"/>
<button name="case_open" string="Open" type="object"
states="draft,pending"/>
<button name="case_escalate" string="Escalate" type="object"
states="open"/>
<button name="case_mark_lost" string="Mark Lost" type="object"
states="draft,open"/>
<button name="case_reset" string="Reset to Draft" type="object"
states="done,cancel"/>
<button name="case_cancel" string="Cancel" type="object"
states="draft"/>
<button name="stage_previous" string="Previous" type="object"
states="open" icon="gtk-go-back" context="{'stage_type': 'opportunity'}"/>
<button name="stage_next" string="Next" type="object"
states="open" icon="gtk-go-forward" context="{'stage_type': 'opportunity'}"/>
<field name="stage_id" nolabel="1" widget="statusbar"
on_change="onchange_stage_id(stage_id)"/>
</header>
<sheet>
<div class="oe_right oe_form_button_box">
@ -480,6 +490,8 @@
<field name="day_open" groups="base.group_no_one"/>
<field name="day_close" groups="base.group_no_one"/>
<field name="referred"/>
<field name="state" groups="base.group_no_one"/>
<field name="type" invisible="1"/>
</group>
<group string="References">
<field name="ref"/>

View File

@ -4,7 +4,7 @@
<field name="name">Knowledge Application</field>
<field name="model">knowledge.config.settings</field>
<field name="type">form</field>
<field name="inherit_id" ref="base_setup.view_knowledge_configuration"/>
<field name="inherit_id" ref="knowledge.view_knowledge_configuration"/>
<field name="arch" type="xml">
<field name="module_document_ftp" position="after">
<field name="document_ftp_url" widget="url"/>

View File

@ -46,4 +46,27 @@ class hr_config_settings(osv.osv_memory):
help ="""This installs the module hr_payroll."""),
}
def onchange_hr_timesheet(self, cr, uid, ids, timesheet, context=None):
if timesheet:
vals = {'value': {
'module_hr_timesheet': timesheet,
'module_hr_attendance': timesheet,
}}
if timesheet == False:
vals = {'value': {
'module_hr_timesheet': timesheet,
}}
return vals
def onchange_hr_attendance(self, cr, uid, ids, attendance, context=None):
if attendance:
vals = {'value': {
'module_hr_attendance': attendance,
}}
if attendance == False:
vals = {'value': {
'module_hr_attendance': attendance,
'module_hr_timesheet': attendance,
}}
return vals
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -32,8 +32,8 @@
string="Install Country-Specific Payroll" icon="gtk-go-forward"/>
<separator string="Timesheets" colspan="4"/>
<field name="module_hr_attendance"/>
<field name="module_hr_timesheet"/>
<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 name="config_recruitment" colspan="4"/>

View File

@ -25,5 +25,5 @@ class human_resources_configuration(osv.osv_memory):
_inherit = 'hr.config.settings'
_columns = {
'module_hr_payroll_account': fields.boolean('Manage Account Payroll',
help ="""This installs the module hr_payroll_account."""),
help ="""Create Journal Entries from Payslips"""),
}

View File

@ -28,7 +28,7 @@ class hr_applicant_settings(osv.osv_memory):
_columns = {
'module_document_ftp': fields.boolean('Automatic Indexation of Resumes',
help="""Manage your CV's and motivation letter related to all applicants.
This installs the module document_ftp."""),
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', readonly=True,
fetchmail_model='hr.applicant', fetchmail_name='Incoming HR Applications',
help ="""Allow applicants to send their job application to an email address (jobs@mycompany.com),

View File

@ -12,17 +12,16 @@
<button string="Cancel" special="cancel"/>
</header>
<sheet layout="auto">
<separator string="Wiki" colspan="4"/>
<field name="module_wiki_faq"/>
<newline/>
<field name="module_wiki_quality_manual"/>
<separator string="Documents" colspan="4"/>
<field name="module_document"/>
<newline/>
<field name="module_document_ftp"/>
<newline/>
<field name="module_document_webdav"/>
<separator string="Wiki" colspan="4"/>
<field name="module_wiki_faq"/>
<newline/>
<field name="module_wiki_quality_manual"/>
</sheet>
</form>
</field>

View File

@ -28,7 +28,7 @@ class mrp_config_settings(osv.osv_memory):
_inherit = 'res.config.settings'
_columns = {
'module_stock_planning': fields.boolean('Master Manufacturing Order Schedule',
'module_stock_planning': fields.boolean('Master Production Schedule',
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."""),

View File

@ -32,7 +32,7 @@ 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'),
], 'Invoicing Method', required=True, default_model='purchase.order'),
], '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.
@ -58,11 +58,11 @@ class purchase_config_settings(osv.osv_memory):
'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("Use Purchase Requisition",
'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'),
'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 = {

View File

@ -12,7 +12,7 @@
<button string="Cancel" special="cancel"/>
</header>
<sheet layout="auto">
<separator string="Invoicing" colspan="4"/>
<separator string="Invoicing Control" colspan="4"/>
<field name="default_invoice_method"/>
<field name="decimal_precision"/>

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('Double Validation Limit',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

@ -52,13 +52,13 @@ class sale_configuration(osv.osv_memory):
[('manual', 'Invoice Based on Sales Orders'), ('picking', 'Invoice Based on Deliveries')],
'Default Method', default_model='sale.order',
help="You can generate invoices based on sales orders or based on shippings."),
'module_delivery': fields.boolean('Charge Shipping Cost',
'module_delivery': fields.boolean('Allow Charging 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("Deliver all Products at Once",
help = "You can set picking policy on sale order that will allow you to deliver all products at once."),
'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",
implied_group='product.group_sale_pricelist',
help="""Allows to manage different prices based on rules per category of customers.
@ -101,7 +101,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'),
'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."),
}
def default_get(self, cr, uid, fields, context=None):

View File

@ -70,10 +70,10 @@ class stock_config_settings(osv.osv_memory):
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("Product Variant",
'group_product_variant': fields.boolean("Support Multiple Variants per Product",
implied_group='product.group_product_variant',
help="""This allows to configure and use Product Variant."""),
'decimal_precision': fields.integer('Decimal Precision on Weight'),
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."),
}
def get_default_dp(self, cr, uid, fields, context=None):