66 lines
3.9 KiB
Python
66 lines
3.9 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import fields, models
|
|
|
|
|
|
class PurchaseConfigSettings(models.TransientModel):
|
|
_name = 'purchase.config.settings'
|
|
_inherit = 'res.config.settings'
|
|
|
|
company_id = fields.Many2one('res.company', string='Company', required=True,
|
|
default=lambda self: self.env.user.company_id)
|
|
po_lead = fields.Float(related='company_id.po_lead', string="Purchase Lead Time *")
|
|
po_lock = fields.Selection(related='company_id.po_lock', string="Purchase Order Modification *")
|
|
po_double_validation = fields.Selection(related='company_id.po_double_validation', string="Levels of Approvals *")
|
|
po_double_validation_amount = fields.Monetary(related='company_id.po_double_validation_amount', string="Double validation amount *", currency_field='company_currency_id')
|
|
company_currency_id = fields.Many2one('res.currency', related='company_id.currency_id', readonly=True,
|
|
help='Utility field to express amount currency')
|
|
group_product_variant = fields.Selection([
|
|
(0, "No variants on products"),
|
|
(1, 'Products can have several attributes, defining variants (Example: size, color,...)')
|
|
], "Product Variants",
|
|
help='Work with product variant allows you to define some variant of the same products, an ease the product management in the ecommerce for example',
|
|
implied_group='product.group_product_variant')
|
|
group_uom = fields.Selection([
|
|
(0, 'Products have only one unit of measure (easier)'),
|
|
(1, 'Some products may be sold/puchased in different units of measure (advanced)')
|
|
], "Units of Measure",
|
|
implied_group='product.group_uom',
|
|
help="""Allows you to select and maintain different units of measure for products.""")
|
|
group_costing_method = fields.Selection([
|
|
(0, 'Set a fixed cost price on each product'),
|
|
(1, "Use a 'Fixed', 'Real' or 'Average' price costing method")
|
|
], "Costing Methods",
|
|
implied_group='stock_account.group_inventory_valuation',
|
|
help="""Allows you to compute product cost price based on average cost.""")
|
|
module_purchase_requisition = fields.Selection([
|
|
(0, 'Purchase propositions trigger draft purchase orders to a single supplier'),
|
|
(1, 'Allow using call for tenders to get quotes from multiple suppliers (advanced)')
|
|
], "Calls for Tenders",
|
|
help="Calls for tenders are used when you want to generate requests for quotations to several vendors for a given set of products.\n"
|
|
"You can configure per product if you directly do a Request for Quotation "
|
|
"to one vendor or if you want a Call for Tenders to compare offers from several vendors.")
|
|
group_warning_purchase = fields.Selection([
|
|
(0, 'All the products and the customers can be used in purchase orders'),
|
|
(1, 'An informative or blocking warning can be set on a product or a customer')
|
|
], "Warning", implied_group='purchase.group_warning_purchase')
|
|
module_stock_dropshipping = fields.Selection([
|
|
(0, 'Suppliers always deliver to your warehouse(s)'),
|
|
(1, "Allow suppliers to deliver directly to your customers")
|
|
], "Dropshipping",
|
|
help='\nCreates the dropship Route and add more complex tests\n'
|
|
'-This installs the module stock_dropshipping.')
|
|
group_manage_vendor_price = fields.Selection([
|
|
(0, 'Manage vendor price on the product form'),
|
|
(1, 'Allow using and importing vendor pricelists')
|
|
], "Vendor Price",
|
|
implied_group="purchase.group_manage_vendor_price")
|
|
|
|
|
|
class AccountConfigSettings(models.TransientModel):
|
|
_inherit = 'account.config.settings'
|
|
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 order lines.")
|