From 7850a91339c01c698133444c4dc1ced86f455544 Mon Sep 17 00:00:00 2001 From: Vijaykumar Baladaniya Date: Tue, 23 Oct 2012 18:32:42 +0530 Subject: [PATCH] [IMP]Improve a tooltip. bzr revid: vba@tinyerp.com-20121023130242-pu2o7e9x7lpr7g36 --- addons/account/product.py | 10 +++++----- addons/hr_expense/hr_expense.py | 2 +- addons/membership/membership.py | 2 +- addons/point_of_sale/point_of_sale.py | 6 +++--- addons/procurement/procurement.py | 6 +++--- addons/product/pricelist.py | 16 ++++++++-------- addons/product/product.py | 27 +++++++++++++-------------- addons/product/product_view.xml | 2 +- addons/purchase/purchase.py | 2 +- addons/stock/product.py | 26 +++++++++++++------------- 10 files changed, 49 insertions(+), 50 deletions(-) diff --git a/addons/account/product.py b/addons/account/product.py index 9be49b4c56a..5322d260295 100644 --- a/addons/account/product.py +++ b/addons/account/product.py @@ -30,14 +30,14 @@ class product_category(osv.osv): relation='account.account', string="Income Account", view_load=True, - help="This account will be used for invoices to value sales for the current product category"), + help="This account will be used for invoices to value sales for the current product category."), 'property_account_expense_categ': fields.property( - 'account.account', + 'account.account', type='many2one', relation='account.account', string="Expense Account", view_load=True, - help="This account will be used for invoices to value expenses for the current product category"), + help="This account will be used for invoices to value expenses for the current product category."), } product_category() @@ -60,14 +60,14 @@ class product_template(osv.osv): relation='account.account', string="Income Account", view_load=True, - help="This account will be used for invoices instead of the default one to value sales for the current product"), + help="This account will be used for invoices instead of the default one to value sales."), 'property_account_expense': fields.property( 'account.account', type='many2one', relation='account.account', string="Expense Account", view_load=True, - help="This account will be used for invoices instead of the default one to value expenses for the current product"), + help="This account will be used for invoices instead of the default one to value expenses."), } product_template() diff --git a/addons/hr_expense/hr_expense.py b/addons/hr_expense/hr_expense.py index 487e4f58782..12d5068f6de 100644 --- a/addons/hr_expense/hr_expense.py +++ b/addons/hr_expense/hr_expense.py @@ -233,7 +233,7 @@ hr_expense_expense() class product_product(osv.osv): _inherit = "product.product" _columns = { - 'hr_expense_ok': fields.boolean('Can Constitute an Expense', help="Determines if the product can be visible in the list of product within a selection from an HR expense sheet line."), + 'hr_expense_ok': fields.boolean('Can Constitute an Expense', help="Specify if the product can be selected in a HR expense line."), } def on_change_hr_expense_ok(self, cr, uid, id, hr_expense_ok): diff --git a/addons/membership/membership.py b/addons/membership/membership.py index 87af723f2f9..b0d6b7c68aa 100644 --- a/addons/membership/membership.py +++ b/addons/membership/membership.py @@ -466,7 +466,7 @@ class Product(osv.osv): '''Product''' _inherit = 'product.product' _columns = { - 'membership': fields.boolean('Membership', help='Select if a product is a membership product.'), + 'membership': fields.boolean('Membership', help='Check if the product is eligible for membership.'), 'membership_date_from': fields.date('Date from', help='Date from which membership becomes active.'), 'membership_date_to': fields.date('Date to', help='Date until which membership remains active.'), } diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 788c301a04f..6e8aa53f6dd 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -1296,11 +1296,11 @@ class product_product(osv.osv): # return result _columns = { - 'income_pdt': fields.boolean('Point of Sale Cash In', help="This is a product you can use to put cash into a statement for the point of sale backend."), - 'expense_pdt': fields.boolean('Point of Sale Cash Out', help="This is a product you can use to take cash from a statement for the point of sale backend, exemple: money lost, transfer to bank, etc."), + 'income_pdt': fields.boolean('Point of Sale Cash In', help="Check if, This is a product you can use to put cash into a statement for the point of sale backend."), + 'expense_pdt': fields.boolean('Point of Sale Cash Out', help="Check if, This is a product you can use to take cash from a statement for the point of sale backend, exemple: money lost, transfer to bank, etc."), 'pos_categ_id': fields.many2one('pos.category','Point of Sale Category', help="If you want to sell this product through the point of sale, select the category it belongs to."), - 'to_weight' : fields.boolean('To Weigh', help="This category contains products that should to be weighed, mainly used for the self-checkout interface"), + 'to_weight' : fields.boolean('To Weigh', help="Check if the product should be weighted (mainly used with self check-out interface)"), } def _default_pos_categ_id(self, cr, uid, context=None): diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py index b21cef30773..7c071892391 100644 --- a/addons/procurement/procurement.py +++ b/addons/procurement/procurement.py @@ -633,9 +633,9 @@ class product_template(osv.osv): _inherit="product.template" _columns = { - 'type': fields.selection([('product','Stockable Product'),('consu', 'Consumable'),('service','Service')], 'Product Type', required=True, help="Will change the way procurements are processed. Consumable are product where you don't manage stock, a service is a non-material product provided by a company or an individual."), - 'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', required=True, help="'Make to Stock': When needed, take from the stock or wait until re-supplying. 'Make to Order': When needed, purchase or produce for the procurement request."), - 'supply_method': fields.selection([('produce','Manufacture'),('buy','Buy')], 'Supply Method', required=True, help="Produce will generate production order or tasks, according to the product type. Buy will trigger purchase orders when requested."), + 'type': fields.selection([('product','Stockable Product'),('consu', 'Consumable'),('service','Service')], 'Product Type', required=True, help="Consumable: Will not imply stock management for this product. Stockable product: Will imply stock management for this product."), + 'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procurement Method', required=True, help="'Make to Stock': When needed, the product is taken from the stock or we wait for replenishment. 'Make to Order': When needed, the product is purchased or produced."), + 'supply_method': fields.selection([('produce','Manufacture'),('buy','Buy')], 'Supply Method', required=True, help="Manufacture: When procuring the product, a manufacturing order or a task will be generated, depending on the product type. Buy: When procuring the product, a purchase order will be generated."), } _defaults = { 'procure_method': 'make_to_stock', diff --git a/addons/product/pricelist.py b/addons/product/pricelist.py index f5c69c7acf7..60736323054 100644 --- a/addons/product/pricelist.py +++ b/addons/product/pricelist.py @@ -95,7 +95,7 @@ class product_pricelist(osv.osv): _description = "Pricelist" _columns = { 'name': fields.char('Pricelist Name',size=64, required=True, translate=True), - 'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the pricelist without removing it."), + 'active': fields.boolean('Active', help="If unchecked, it will allow you to hide the pricelist without removing it."), 'type': fields.selection(_pricelist_type_get, 'Pricelist Type', required=True), 'version_id': fields.one2many('product.pricelist.version', 'pricelist_id', 'Pricelist Versions'), 'currency_id': fields.many2one('res.currency', 'Currency', required=True), @@ -319,8 +319,8 @@ class product_pricelist_version(osv.osv): "and reactivate the pricelist"), 'items_id': fields.one2many('product.pricelist.item', 'price_version_id', 'Price List Items', required=True), - 'date_start': fields.date('Start Date', help="Starting date for this pricelist version to be valid."), - 'date_end': fields.date('End Date', help="Ending date for this pricelist version to be valid."), + 'date_start': fields.date('Start Date', help="First valid date for the version."), + 'date_end': fields.date('End Date', help="Last valid date for the version."), 'company_id': fields.related('pricelist_id','company_id',type='many2one', readonly=True, relation='res.company', string='Company', store=True) } @@ -403,13 +403,13 @@ class product_pricelist_item(osv.osv): _columns = { 'name': fields.char('Rule Name', size=64, help="Explicit rule name for this pricelist line."), 'price_version_id': fields.many2one('product.pricelist.version', 'Price List Version', required=True, select=True, ondelete='cascade'), - 'product_tmpl_id': fields.many2one('product.template', 'Product Template', ondelete='cascade', help="Set a template if this rule only apply to a template of product. Keep empty for all products"), - 'product_id': fields.many2one('product.product', 'Product', ondelete='cascade', help="Set a product if this rule only apply to one product. Keep empty for all products"), - 'categ_id': fields.many2one('product.category', 'Product Category', ondelete='cascade', help="Set a category of product if this rule only apply to products of a category and his children. Keep empty for all products"), + 'product_tmpl_id': fields.many2one('product.template', 'Product Template', ondelete='cascade', help="Specify a template if this rule only applies to one product template. Keep empty otherwise."), + 'product_id': fields.many2one('product.product', 'Product', ondelete='cascade', help="Specify a product if this rule only applies to one product. Keep empty otherwise."), + 'categ_id': fields.many2one('product.category', 'Product Category', ondelete='cascade', help="Specify a product category if this rule only applies to products belonging to this category or its children categories. Keep empty otherwise."), - 'min_quantity': fields.integer('Min. Quantity', required=True, help="The rule only applies if the partner buys/sells equal to or more than this quantity."), + 'min_quantity': fields.integer('Min. Quantity', required=True, help="Specify the minimum quantity that needs to be bought/sold for the rule to apply."), 'sequence': fields.integer('Sequence', required=True, help="Gives the order in which the pricelist items will be checked. The evaluation gives highest priority to lowest sequence and stops as soon as a matching item is found."), - 'base': fields.selection(_price_field_get, 'Based on', required=True, size=-1, help="The mode for computing the price for this rule."), + 'base': fields.selection(_price_field_get, 'Based on', required=True, size=-1, help="Base price for computation."), 'base_pricelist_id': fields.many2one('product.pricelist', 'Other Pricelist'), 'price_surcharge': fields.float('Price Surcharge', diff --git a/addons/product/product.py b/addons/product/product.py index 6c6c5f2650c..44a572fa9b2 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -111,7 +111,7 @@ class product_uom(osv.osv): _columns = { 'name': fields.char('Unit of Measure', size=64, required=True, translate=True), 'category_id': fields.many2one('product.uom.categ', 'Category', required=True, ondelete='cascade', - help="Quantity conversions may happen automatically between Units of Measure in the same category, according to their respective ratios."), + help="Conversion between Units of Measure can only occur if they belong to the same category. The conversion will be made based on the ratios."), 'factor': fields.float('Ratio', required=True,digits=(12, 12), help='How many times this Unit of Measure is smaller than the reference Unit of Measure in this category:\n'\ '1 * (reference unit) = ratio * (this unit)'), @@ -276,34 +276,34 @@ class product_template(osv.osv): _columns = { 'name': fields.char('Name', size=128, required=True, translate=True, select=True), - 'product_manager': fields.many2one('res.users','Product Manager',help="Responsible for product."), + 'product_manager': fields.many2one('res.users','Product Manager'), 'description': fields.text('Description',translate=True), 'description_purchase': fields.text('Purchase Description',translate=True), 'description_sale': fields.text('Sale Description',translate=True), 'type': fields.selection([('consu', 'Consumable'),('service','Service')], 'Product Type', required=True, help="Consumable are product where you don't manage stock, a service is a non-material product provided by a company or an individual."), - 'produce_delay': fields.float('Manufacturing Lead Time', help="Average delay in days to produce this product. This is only for the production order and, if it is a multi-level bill of material, it's only for the level of this product. Different lead times will be summed for all levels and purchase orders."), + 'produce_delay': fields.float('Manufacturing Lead Time', help="Average delay in days to produce this product. In the case of multi-level BOM, the manufacturing lead times of the components will be added."), 'rental': fields.boolean('Can be Rent'), 'categ_id': fields.many2one('product.category','Category', required=True, change_default=True, domain="[('type','=','normal')]" ,help="Select category for the current product"), - 'list_price': fields.float('Sale Price', digits_compute=dp.get_precision('Product Price'), help="Base price for computing the customer price. Sometimes called the catalog price."), - 'standard_price': fields.float('Cost', digits_compute=dp.get_precision('Product Price'), help="Product's cost for accounting stock valuation. It is the base price for the supplier price.", groups="base.group_user"), + 'list_price': fields.float('Sale Price', digits_compute=dp.get_precision('Product Price'), help="Base price to compute the customer price. Sometimes called the catalog price."), + 'standard_price': fields.float('Cost', digits_compute=dp.get_precision('Product Price'), help="Cost price of the product used for standard stock valuation in accounting and used as a base price on purchase orders.", groups="base.group_user"), 'volume': fields.float('Volume', help="The volume in m3."), 'weight': fields.float('Gross Weight', digits_compute=dp.get_precision('Stock Weight'), help="The gross weight in Kg."), 'weight_net': fields.float('Net Weight', digits_compute=dp.get_precision('Stock Weight'), help="The net weight in Kg."), 'cost_method': fields.selection([('standard','Standard Price'), ('average','Average Price')], 'Costing Method', required=True, - help="Standard Price: the cost price is fixed and recomputed periodically (usually at the end of the year), Average Price: the cost price is recomputed at each reception of products."), + help="Standard Price: The cost price is manually updated at the end of a specific period (usually every year), Average Price: The cost price is recomputed at each incoming shipment."), 'warranty': fields.float('Warranty'), - 'sale_ok': fields.boolean('Can be Sold', help="Determines if the product can be visible in the list of product within a selection from a sale order line."), + 'sale_ok': fields.boolean('Can be Sold', help="Specify if the product can be selected in a purchase order line."), 'state': fields.selection([('',''), ('draft', 'In Development'), ('sellable','Normal'), ('end','End of Lifecycle'), - ('obsolete','Obsolete')], 'Status', help="Tells the user if he can use the product or not."), + ('obsolete','Obsolete')], 'Status'), 'uom_id': fields.many2one('product.uom', 'Unit of Measure', required=True, help="Default Unit of Measure used for all stock operation."), 'uom_po_id': fields.many2one('product.uom', 'Purchase Unit of Measure', required=True, help="Default Unit of Measure used for purchase orders. It must be in the same category than the default unit of measure."), 'uos_id' : fields.many2one('product.uom', 'Unit of Sale', - help='Used by companies that manage two units of measure: invoicing and inventory management. For example, in food industries, you will manage a stock of ham but invoice in Kg. Keep empty to use the default Unit of Measure.'), + help='Sepcify a unit of measure here if invoicing is made in another unit of measure than inventory. Keep empty to use the default unit of measure.'), 'uos_coeff': fields.float('Unit of Measure -> UOS Coeff', digits_compute= dp.get_precision('Product UoS'), - help='Coefficient to convert Unit of Measure to UOS\n' + help='Coefficient to convert default Unit of Measure to Unit Of Sale\n' ' uos = uom * coeff'), 'mes_type': fields.selection((('fixed', 'Fixed'), ('variable', 'Variable')), 'Measure Type'), 'seller_ids': fields.one2many('product.supplierinfo', 'product_id', 'Partners'), @@ -527,10 +527,10 @@ class product_product(osv.osv): 'code': fields.function(_product_code, type='char', string='Internal Reference'), 'partner_ref' : fields.function(_product_partner_ref, type='char', string='Customer ref'), 'default_code' : fields.char('Internal Reference', size=64, select=True), - 'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the product without removing it."), + 'active': fields.boolean('Active', help="If unchecked, it will allow you to hide the product without removing it."), 'variants': fields.char('Variants', size=64), 'product_tmpl_id': fields.many2one('product.template', 'Product Template', required=True, ondelete="cascade"), - 'ean13': fields.char('EAN13 Barcode', size=13, help="The numbers encoded in EAN-13 bar codes are product identification numbers."), + 'ean13': fields.char('EAN13 Barcode', size=13, help="International Article Number used for product identification."), 'packaging' : fields.one2many('product.packaging', 'product_id', 'Logistical Units', help="Gives the different ways to package the same product. This has no impact on the picking order and is mainly used if you use the EDI module."), 'price_extra': fields.float('Variant Price Extra', digits_compute=dp.get_precision('Product Price')), 'price_margin': fields.float('Variant Price Margin', digits_compute=dp.get_precision('Product Price')), @@ -763,8 +763,7 @@ class product_packaging(osv.osv): help="The code of the transport unit."), 'weight': fields.float('Total Package Weight', help='The weight of a full package, pallet or box.'), - 'weight_ul': fields.float('Empty Package Weight', - help='The weight of the empty UL'), + 'weight_ul': fields.float('Empty Package Weight'), 'height': fields.float('Height', help='The height of the package'), 'width': fields.float('Width', help='The width of the package'), 'length': fields.float('Length', help='The length of the package'), diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml index 74b2b868f7a..3be0cdbe2a1 100644 --- a/addons/product/product_view.xml +++ b/addons/product/product_view.xml @@ -96,7 +96,7 @@ - + diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index db6ed8b80be..c45ae08adfe 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -1110,7 +1110,7 @@ class product_template(osv.osv): _name = 'product.template' _inherit = 'product.template' _columns = { - 'purchase_ok': fields.boolean('Can be Purchased', help="Determine if the product is visible in the list of products within a selection from a purchase order line."), + 'purchase_ok': fields.boolean('Can be Purchased', help="Specify if the product can be selected in a purchase order line."), } _defaults = { 'purchase_ok': 1, diff --git a/addons/stock/product.py b/addons/stock/product.py index 94252f80439..5ebdcc623b3 100644 --- a/addons/stock/product.py +++ b/addons/stock/product.py @@ -370,14 +370,14 @@ class product_product(osv.osv): "stored in the Stock Location of the Warehouse of this Shop, " "or any of its children.\n" "Otherwise, this includes goods stored in any Stock Location " - "typed as 'internal'."), + "with 'internal' type."), 'virtual_available': fields.function(_product_available, multi='qty_available', type='float', digits_compute=dp.get_precision('Product Unit of Measure'), string='Future Quantity', help="Forecast quantity (computed as Quantity On Hand " "- Outgoing + Incoming)\n" "In a context with a single Stock Location, this includes " - "goods stored at this Location, or any of its children.\n" + "goods stored in this location, or any of its children.\n" "In a context with a single Warehouse, this includes " "goods stored in the Stock Location of this Warehouse, or any " "of its children.\n" @@ -385,7 +385,7 @@ class product_product(osv.osv): "stored in the Stock Location of the Warehouse of this Shop, " "or any of its children.\n" "Otherwise, this includes goods stored in any Stock Location " - "typed as 'internal'."), + "with 'internal' type."), 'incoming_qty': fields.function(_product_available, multi='qty_available', type='float', digits_compute=dp.get_precision('Product Unit of Measure'), string='Incoming', @@ -399,21 +399,21 @@ class product_product(osv.osv): "arriving to the Stock Location of the Warehouse of this " "Shop, or any of its children.\n" "Otherwise, this includes goods arriving to any Stock " - "Location typed as 'internal'."), + "Location with 'internal' type."), 'outgoing_qty': fields.function(_product_available, multi='qty_available', type='float', digits_compute=dp.get_precision('Product Unit of Measure'), string='Outgoing', help="Quantity of products that are planned to leave.\n" "In a context with a single Stock Location, this includes " - "goods leaving from this Location, or any of its children.\n" + "goods leaving this Location, or any of its children.\n" "In a context with a single Warehouse, this includes " - "goods leaving from the Stock Location of this Warehouse, or " + "goods leaving the Stock Location of this Warehouse, or " "any of its children.\n" "In a context with a single Shop, this includes goods " - "leaving from the Stock Location of the Warehouse of this " + "leaving the Stock Location of the Warehouse of this " "Shop, or any of its children.\n" - "Otherwise, this includes goods leaving from any Stock " - "Location typed as 'internal'."), + "Otherwise, this includes goods leaving any Stock " + "Location with 'internal' type."), 'track_production': fields.boolean('Track Manufacturing Lots', help="Forces to specify a Serial Number for all moves containing this product and generated by a Manufacturing Order"), 'track_incoming': fields.boolean('Track Incoming Lots', help="Forces to specify a Serial Number for all moves containing this product and coming from a Supplier Location"), 'track_outgoing': fields.boolean('Track Outgoing Lots', help="Forces to specify a Serial Number for all moves containing this product and going to a Customer Location"), @@ -486,7 +486,7 @@ class product_template(osv.osv): string="Procurement Location", view_load=True, domain=[('usage','like','procurement')], - help="For the current product, this stock location will be used, instead of the default one, as the source location for stock moves generated by procurements"), + help="This stock location will be used, instead of the default one, as the source location for stock moves generated by procurements."), 'property_stock_production': fields.property( 'stock.location', type='many2one', @@ -494,7 +494,7 @@ class product_template(osv.osv): string="Production Location", view_load=True, domain=[('usage','like','production')], - help="For the current product, this stock location will be used, instead of the default one, as the source location for stock moves generated by production orders"), + help="This stock location will be used, instead of the default one, as the source location for stock moves generated by manufacturing orders."), 'property_stock_inventory': fields.property( 'stock.location', type='many2one', @@ -502,7 +502,7 @@ class product_template(osv.osv): string="Inventory Location", view_load=True, domain=[('usage','like','inventory')], - help="For the current product, this stock location will be used, instead of the default one, as the source location for stock moves generated when you do an inventory"), + help="This stock location will be used, instead of the default one, as the source location for stock moves generated when you do an inventory"), 'property_stock_account_input': fields.property('account.account', type='many2one', relation='account.account', string='Stock Input Account', view_load=True, @@ -513,7 +513,7 @@ class product_template(osv.osv): string='Stock Output Account', view_load=True, help="When doing real-time inventory valuation, counterpart journal items for all outgoing stock moves will be posted in this account, unless " "there is a specific valuation account set on the destination location. When not set on the product, the one from the product category is used."), - 'sale_delay': fields.float('Customer Lead Time', help="This is the average delay in days between the confirmation of the customer order and the delivery of the finished products. It's the time you promise to your customers."), + 'sale_delay': fields.float('Customer Lead Time', help="The average delay in days between the confirmation of the customer order and the delivery of the finished products. It's the time you promise to your customers."), 'loc_rack': fields.char('Rack', size=16), 'loc_row': fields.char('Row', size=16), 'loc_case': fields.char('Case', size=16),