Mayur Maheshwari(OpenERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-bug-901474-mma into 
lp:openobject-addons.

Requested reviews:
  Rucha (Open ERP) (rpa-openerp)
Related bugs:
  Bug #901474 in OpenERP Addons: "Performance issue - missing index for _order"
  https://bugs.launchpad.net/openobject-addons/+bug/901474

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-901474-mma/+merge/85068

Hello,

       All: I Have a create an index for the column on require table therefore 
I have a set  select=True in related column of order by

Thanks

-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-901474-mma/+merge/85068
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-bug-901474-mma.
=== modified file 'account/account.py'
--- account/account.py	2011-12-07 16:11:40 +0000
+++ account/account.py	2011-12-09 06:15:32 +0000
@@ -53,7 +53,7 @@
     _name = "account.payment.term"
     _description = "Payment Term"
     _columns = {
-        'name': fields.char('Payment Term', size=64, translate=True, required=True),
+        'name': fields.char('Payment Term', size=64, translate=True, required=True, select=True),
         'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the payment term without removing it."),
         'note': fields.text('Description', translate=True),
         'line_ids': fields.one2many('account.payment.term.line', 'payment_id', 'Terms'),
@@ -96,7 +96,7 @@
     _description = "Payment Term Line"
     _columns = {
         'name': fields.char('Line Name', size=32, required=True),
-        'sequence': fields.integer('Sequence', required=True, help="The sequence field is used to order the payment term lines from the lowest sequences to the higher ones"),
+        'sequence': fields.integer('Sequence', select=True, required=True, help="The sequence field is used to order the payment term lines from the lowest sequences to the higher ones"),
         'value': fields.selection([('procent', 'Percent'),
                                    ('balance', 'Balance'),
                                    ('fixed', 'Fixed Amount')], 'Valuation',
@@ -132,7 +132,7 @@
     _description = "Account Type"
     _columns = {
         'name': fields.char('Account Type', size=64, required=True),
-        'code': fields.char('Code', size=32, required=True),
+        'code': fields.char('Code', size=32, required=True, select=True),
         'close_method': fields.selection([('none', 'None'), ('balance', 'Balance'), ('detail', 'Detail'), ('unreconciled', 'Unreconciled')], 'Deferral Method', required=True, help="""Set here the method that will be used to generate the end of year journal entries for all the accounts of this type.
 
  'None' means that nothing will be done.
@@ -668,7 +668,7 @@
         'name': fields.char('Column Name', size=64, required=True),
         'field': fields.selection(_col_get, 'Field Name', required=True, size=32),
         'view_id': fields.many2one('account.journal.view', 'Journal View', select=True),
-        'sequence': fields.integer('Sequence', help="Gives the sequence order to journal column.", readonly=True),
+        'sequence': fields.integer('Sequence', help="Gives the sequence order to journal column.", readonly=True, select=True),
         'required': fields.boolean('Required'),
         'readonly': fields.boolean('Readonly'),
     }
@@ -852,7 +852,7 @@
         'name': fields.char('Fiscal Year', size=64, required=True),
         'code': fields.char('Code', size=6, required=True),
         'company_id': fields.many2one('res.company', 'Company', required=True),
-        'date_start': fields.date('Start Date', required=True),
+        'date_start': fields.date('Start Date', required=True, select=True),
         'date_stop': fields.date('End Date', required=True),
         'period_ids': fields.one2many('account.period', 'fiscalyear_id', 'Periods'),
         'state': fields.selection([('draft','Open'), ('done','Closed')], 'State', readonly=True),
@@ -948,8 +948,8 @@
         'name': fields.char('Period Name', size=64, required=True),
         'code': fields.char('Code', size=12),
         'special': fields.boolean('Opening/Closing Period', size=12,
-            help="These periods can overlap."),
-        'date_start': fields.date('Start of Period', required=True, states={'done':[('readonly',True)]}),
+            help="These periods can overlap.", select=True),
+        'date_start': fields.date('Start of Period', required=True, states={'done':[('readonly',True)]}, select=True),
         'date_stop': fields.date('End of Period', required=True, states={'done':[('readonly',True)]}),
         'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year', required=True, states={'done':[('readonly',True)]}, select=True),
         'state': fields.selection([('draft','Open'), ('done','Closed')], 'State', readonly=True,
@@ -2528,8 +2528,8 @@
     _order = 'code'
     _rec_name = 'code'
     _columns = {
-        'name': fields.char('Tax Case Name', size=64, required=True),
-        'code': fields.char('Case Code', size=64),
+        'name': fields.char('Tax Case Name', size=64, required=True, select=True),
+        'code': fields.char('Case Code', size=64, select=True),
         'info': fields.text('Description'),
         'parent_id': fields.many2one('account.tax.code.template', 'Parent Code', select=True),
         'child_ids': fields.one2many('account.tax.code.template', 'parent_id', 'Child Codes'),

=== modified file 'account/account_bank_statement.py'
--- account/account_bank_statement.py	2011-12-01 09:02:11 +0000
+++ account/account_bank_statement.py	2011-12-09 06:15:32 +0000
@@ -130,7 +130,7 @@
     _description = "Bank Statement"
     _columns = {
         'name': fields.char('Name', size=64, required=True, states={'draft': [('readonly', False)]}, readonly=True, help='if you give the Name other then /, its created Accounting Entries Move will be with same name as statement name. This allows the statement entries to have the same references than the statement itself'), # readonly for account_cash_statement
-        'date': fields.date('Date', required=True, states={'confirm': [('readonly', True)]}),
+        'date': fields.date('Date', required=True, states={'confirm': [('readonly', True)]}, select=True),
         'journal_id': fields.many2one('account.journal', 'Journal', required=True,
             readonly=True, states={'draft':[('readonly',False)]}),
         'period_id': fields.many2one('account.period', 'Period', required=True,
@@ -473,7 +473,7 @@
             'Moves'),
         'ref': fields.char('Reference', size=32),
         'note': fields.text('Notes'),
-        'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of bank statement lines."),
+        'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of bank statement lines."),
         'company_id': fields.related('statement_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
     }
     _defaults = {

=== modified file 'account/report/account_report.py'
--- account/report/account_report.py	2011-07-01 23:41:24 +0000
+++ account/report/account_report.py	2011-12-09 06:15:32 +0000
@@ -205,12 +205,12 @@
     _description = "Report of the Sales by Account Type"
     _auto = False
     _columns = {
-        'name': fields.char('Year', size=64, required=False, readonly=True),
+        'name': fields.char('Year', size=64, required=False, readonly=True, select=True),
         'period_id': fields.many2one('account.period', 'Force Period', readonly=True),
         'product_id': fields.many2one('product.product', 'Product', readonly=True),
         'quantity': fields.float('Quantity', readonly=True),
         'user_type': fields.many2one('account.account.type', 'Account Type', readonly=True),
-        'amount_total': fields.float('Total', readonly=True),
+        'amount_total': fields.float('Total', readonly=True, select=True),
         'currency_id': fields.many2one('res.currency', 'Currency', readonly=True),
         'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'),
                                   ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')], 'Month', readonly=True),
@@ -247,12 +247,12 @@
     _description = "Report of the Sales by Account"
     _auto = False
     _columns = {
-        'name': fields.char('Year', size=64, required=False, readonly=True),
+        'name': fields.char('Year', size=64, required=False, readonly=True, select=True),
         'period_id': fields.many2one('account.period', 'Force Period', readonly=True),
         'product_id': fields.many2one('product.product', 'Product', readonly=True),
         'quantity': fields.float('Quantity', readonly=True),
         'account_id': fields.many2one('account.account', 'Account', readonly=True),
-        'amount_total': fields.float('Total', readonly=True),
+        'amount_total': fields.float('Total', readonly=True, select=True),
         'currency_id': fields.many2one('res.currency', 'Currency', readonly=True),
         'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'),
                                   ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')], 'Month', readonly=True),

=== modified file 'account_analytic_plans/account_analytic_plans.py'
--- account_analytic_plans/account_analytic_plans.py	2011-10-16 01:28:00 +0000
+++ account_analytic_plans/account_analytic_plans.py	2011-12-09 06:15:32 +0000
@@ -84,7 +84,7 @@
     _columns = {
         'plan_id': fields.many2one('account.analytic.plan','Analytic Plan'),
         'name': fields.char('Plan Name', size=64, required=True, select=True),
-        'sequence': fields.integer('Sequence'),
+        'sequence': fields.integer('Sequence', select=True),
         'root_analytic_id': fields.many2one('account.analytic.account', 'Root Account', help="Root account of this plan.", required=False),
         'min_required': fields.float('Minimum Allowed (%)'),
         'max_required': fields.float('Maximum Allowed (%)'),

=== modified file 'account_invoice_layout/account_invoice_layout.py'
--- account_invoice_layout/account_invoice_layout.py	2011-07-01 23:41:24 +0000
+++ account_invoice_layout/account_invoice_layout.py	2011-12-09 06:15:32 +0000
@@ -160,7 +160,7 @@
                 ('line','Separator Line'),
                 ('break','Page Break'),]
             ,'Type', select=True, required=True),
-        'sequence': fields.integer('Sequence Number', help="Gives the sequence order when displaying a list of invoice lines."),
+        'sequence': fields.integer('Sequence Number', select=True, help="Gives the sequence order when displaying a list of invoice lines."),
         'functional_field': fields.function(_fnct, arg=None, fnct_inv=None, fnct_inv_arg=None, type='char', fnct_search=None, obj=None, store=False, string="Source Account"),
     }
 

=== modified file 'auction/auction.py'
--- auction/auction.py	2011-10-16 01:28:00 +0000
+++ auction/auction.py	2011-12-09 06:15:32 +0000
@@ -367,7 +367,7 @@
         'important':fields.boolean('To be Emphatized'),
         'product_id':fields.many2one('product.product', 'Product', required=True),
         'obj_desc': fields.text('Object Description'),
-        'obj_num': fields.integer('Catalog Number'),
+        'obj_num': fields.integer('Catalog Number', select=True),
         'obj_ret': fields.float('Price retired', help="Object Ret"),
         'obj_comm': fields.boolean('Commission'),
         'obj_price': fields.float('Adjudication price', help="Object Price"),

=== modified file 'base_contact/base_contact.py'
--- base_contact/base_contact.py	2011-10-27 21:11:24 +0000
+++ base_contact/base_contact.py	2011-12-09 06:15:32 +0000
@@ -49,8 +49,8 @@
         return res
 
     _columns = {
-        'name': fields.char('Last Name', size=64, required=True),
-        'first_name': fields.char('First Name', size=64),
+        'name': fields.char('Last Name', size=64, required=True, select=True),
+        'first_name': fields.char('First Name', size=64, select=True),
         'mobile': fields.char('Mobile', size=64),
         'title': fields.many2one('res.partner.title','Title'),
         'website': fields.char('Website', size=120),

=== modified file 'base_report_creator/base_report_creator.py'
--- base_report_creator/base_report_creator.py	2011-11-08 06:32:56 +0000
+++ base_report_creator/base_report_creator.py	2011-12-09 06:15:32 +0000
@@ -548,7 +548,7 @@
     _rec_name = 'field_id'
     _order = "sequence,id"
     _columns = {
-        'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of fields."),
+        'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of fields."),
         'field_id': fields.many2one('ir.model.fields', 'Field'),
         'report_id': fields.many2one('base_report_creator.report', 'Report', on_delete='cascade'),
         'group_method': fields.selection([('group', 'Grouped'),

=== modified file 'board/board.py'
--- board/board.py	2011-11-16 05:31:49 +0000
+++ board/board.py	2011-12-09 06:15:32 +0000
@@ -178,13 +178,13 @@
     _columns = {
         'name': fields.char('Title', size=64, required=True),
         'sequence': fields.integer('Sequence', help="Gives the sequence order\
-                         when displaying a list of board lines."),
+                         when displaying a list of board lines.", select=True),
         'height': fields.integer('Height'),
         'width': fields.integer('Width'),
         'board_id': fields.many2one('board.board', 'Dashboard', required=True, ondelete='cascade'),
         'action_id': fields.many2one('ir.actions.act_window', 'Action', required=True),
         'position': fields.selection([('left','Left'),
-                                      ('right','Right')], 'Position', required=True)
+                                      ('right','Right')], 'Position', required=True, select=True)
     }
     _defaults = {
         'position': lambda *args: 'left'

=== modified file 'crm/crm_lead.py'
--- crm/crm_lead.py	2011-11-30 13:06:14 +0000
+++ crm/crm_lead.py	2011-12-09 06:15:32 +0000
@@ -174,7 +174,7 @@
         'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."),
         'optout': fields.boolean('Opt-Out', help="If opt-out is checked, this contact has refused to receive emails or unsubscribed to a campaign."),
         'type':fields.selection([ ('lead','Lead'), ('opportunity','Opportunity'), ],'Type', help="Type is used to separate Leads and Opportunities"),
-        'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
+        'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
         'date_closed': fields.datetime('Closed', readonly=True),
         'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"),
         'user_id': fields.many2one('res.users', 'Salesman'),
@@ -201,7 +201,7 @@
         'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128),
         'phone': fields.char("Phone", size=64),
         'date_deadline': fields.date('Expected Closing'),
-        'date_action': fields.date('Next Action Date'),
+        'date_action': fields.date('Next Action Date', select=True),
         'title_action': fields.char('Next Action', size=64),
         'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"),
         'color': fields.integer('Color Index'),

=== modified file 'crm_claim/crm_claim.py'
--- crm_claim/crm_claim.py	2011-11-23 13:24:10 +0000
+++ crm_claim/crm_claim.py	2011-12-09 06:15:32 +0000
@@ -55,12 +55,12 @@
         'write_date': fields.datetime('Update Date' , readonly=True),
         'date_deadline': fields.date('Deadline'),
         'date_closed': fields.datetime('Closed', readonly=True),
-        'date': fields.datetime('Claim Date'),
+        'date': fields.datetime('Claim Date', select=True),
         'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
         'categ_id': fields.many2one('crm.case.categ', 'Category', \
                             domain="[('section_id','=',section_id),\
                             ('object_id.model', '=', 'crm.claim')]"),
-        'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
+        'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
         'type_action': fields.selection([('correction','Corrective Action'),('prevention','Preventive Action')], 'Action Type'),
         'user_id': fields.many2one('res.users', 'Responsible'),
         'user_fault': fields.char('Trouble Responsible', size=64),

=== modified file 'hr_expense/hr_expense.py'
--- hr_expense/hr_expense.py	2011-11-18 11:44:53 +0000
+++ hr_expense/hr_expense.py	2011-12-09 06:15:32 +0000
@@ -256,7 +256,7 @@
 
     _columns = {
         'name': fields.char('Expense Note', size=128, required=True),
-        'date_value': fields.date('Date', required=True),
+        'date_value': fields.date('Date', required=True, select=True),
         'expense_id': fields.many2one('hr.expense.expense', 'Expense', ondelete='cascade', select=True),
         'total_amount': fields.function(_amount, string='Total', digits_compute=dp.get_precision('Account')),
         'unit_amount': fields.float('Unit Price', digits_compute=dp.get_precision('Account')),
@@ -266,7 +266,7 @@
         'description': fields.text('Description'),
         'analytic_account': fields.many2one('account.analytic.account','Analytic account'),
         'ref': fields.char('Reference', size=32),
-        'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of expense lines."),
+        'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of expense lines."),
         }
     _defaults = {
         'unit_quantity': 1,

=== modified file 'hr_holidays/hr_holidays.py'
--- hr_holidays/hr_holidays.py	2011-12-05 15:55:10 +0000
+++ hr_holidays/hr_holidays.py	2011-12-09 06:15:32 +0000
@@ -118,7 +118,7 @@
             \nThe state is \'Refused\', when holiday request is refused by manager.\
             \nThe state is \'Approved\', when holiday request is approved by manager.'),
         'user_id':fields.related('employee_id', 'user_id', type='many2one', relation='res.users', string='User', store=True),
-        'date_from': fields.datetime('Start Date', readonly=True, states={'draft':[('readonly',False)]}),
+        'date_from': fields.datetime('Start Date', readonly=True, states={'draft':[('readonly',False)]}, select=True),
         'date_to': fields.datetime('End Date', readonly=True, states={'draft':[('readonly',False)]}),
         'holiday_status_id': fields.many2one("hr.holidays.status", "Leave Type", required=True,readonly=True, states={'draft':[('readonly',False)]}),
         'employee_id': fields.many2one('hr.employee', "Employee", select=True, invisible=False, readonly=True, states={'draft':[('readonly',False)]}, help='Leave Manager can let this field empty if this leave request/allocation is for every employee'),
@@ -129,7 +129,7 @@
         'number_of_days_temp': fields.float('Number of Days', readonly=True, states={'draft':[('readonly',False)]}),
         'number_of_days': fields.function(_compute_number_of_days, string='Number of Days', store=True),
         'case_id': fields.many2one('crm.meeting', 'Meeting'),
-        'type': fields.selection([('remove','Leave Request'),('add','Allocation Request')], 'Request Type', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Choose 'Leave Request' if someone wants to take an off-day. \nChoose 'Allocation Request' if you want to increase the number of leaves available for someone"),
+        'type': fields.selection([('remove','Leave Request'),('add','Allocation Request')], 'Request Type', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Choose 'Leave Request' if someone wants to take an off-day. \nChoose 'Allocation Request' if you want to increase the number of leaves available for someone", select=True),
         'parent_id': fields.many2one('hr.holidays', 'Parent'),
         'linked_request_ids': fields.one2many('hr.holidays', 'parent_id', 'Linked Requests',),
         'department_id':fields.related('employee_id', 'department_id', string='Department', type='many2one', relation='hr.department', readonly=True, store=True),

=== modified file 'hr_payroll/hr_payroll.py'
--- hr_payroll/hr_payroll.py	2011-11-30 14:01:07 +0000
+++ hr_payroll/hr_payroll.py	2011-12-09 06:15:32 +0000
@@ -720,8 +720,8 @@
     _description = 'Payslip Worked Days'
     _columns = {
         'name': fields.char('Description', size=256, required=True),
-        'payslip_id': fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade'),
-        'sequence': fields.integer('Sequence', required=True,),
+        'payslip_id': fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade', select=True),
+        'sequence': fields.integer('Sequence', required=True, select=True),
         'code': fields.char('Code', size=52, required=True, help="The code that can be used in the salary rules"),
         'number_of_days': fields.float('Number of Days'),
         'number_of_hours': fields.float('Number of Hours'),
@@ -742,8 +742,8 @@
     _description = 'Payslip Input'
     _columns = {
         'name': fields.char('Description', size=256, required=True),
-        'payslip_id': fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade'),
-        'sequence': fields.integer('Sequence', required=True,),
+        'payslip_id': fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade', select=True),
+        'sequence': fields.integer('Sequence', required=True, select=True),
         'code': fields.char('Code', size=52, required=True, help="The code that can be used in the salary rules"),
         'amount': fields.float('Amount', help="It is used in computation. For e.g. A rule for sales having 1% commission of basic salary for per product can defined in expression like result = inputs.SALEURO.amount * contract.wage*0.01."),
         'contract_id': fields.many2one('hr.contract', 'Contract', required=True, help="The contract for which applied this input"),
@@ -762,7 +762,7 @@
     _columns = {
         'name':fields.char('Name', size=256, required=True, readonly=False),
         'code':fields.char('Code', size=64, required=True, help="The code of salary rules can be used as reference in computation of other rules. In that case, it is case sensitive."),
-        'sequence': fields.integer('Sequence', required=True, help='Use to arrange calculation sequence'),
+        'sequence': fields.integer('Sequence', required=True, help='Use to arrange calculation sequence', select=True),
         'quantity': fields.char('Quantity', size=256, help="It is used in computation for percentage and fixed amount.For e.g. A rule for Meal Voucher having fixed amount of 1€ per worked day can have its quantity defined in expression like worked_days.WORK100.number_of_days."),
         'category_id':fields.many2one('hr.salary.rule.category', 'Category', required=True),
         'active':fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the salary rule without removing it."),
@@ -930,7 +930,7 @@
         'slip_id':fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade'),
         'salary_rule_id':fields.many2one('hr.salary.rule', 'Rule', required=True),
         'employee_id':fields.many2one('hr.employee', 'Employee', required=True),
-        'contract_id':fields.many2one('hr.contract', 'Contract', required=True),
+        'contract_id':fields.many2one('hr.contract', 'Contract', required=True, select=True),
         'amount': fields.float('Amount', digits_compute=dp.get_precision('Payroll')),
         'quantity': fields.float('Quantity', digits_compute=dp.get_precision('Payroll')),
         'total': fields.function(_calculate_total, method=True, type='float', string='Total', digits_compute=dp.get_precision('Payroll'),store=True ),

=== modified file 'hr_timesheet_invoice/report/hr_timesheet_invoice_report.py'
--- hr_timesheet_invoice/report/hr_timesheet_invoice_report.py	2011-11-22 08:51:38 +0000
+++ hr_timesheet_invoice/report/hr_timesheet_invoice_report.py	2011-12-09 06:15:32 +0000
@@ -27,8 +27,8 @@
     _description = "Timesheet Line"
     _auto = False
     _columns = {
-        'name': fields.char('Year',size=64,required=False, readonly=True),
-        'user_id': fields.many2one('res.users', 'User', readonly=True),
+        'name': fields.char('Year',size=64,required=False, readonly=True, select=True),
+        'user_id': fields.many2one('res.users', 'User', readonly=True, select=True),
         'date': fields.date('Date', readonly=True),
         'day': fields.char('Day', size=128, readonly=True),
         'quantity': fields.float('Quantity', readonly=True),
@@ -81,8 +81,8 @@
     _description = "Timesheet per day"
     _auto = False
     _columns = {
-        'name': fields.char('Year',size=64,required=False, readonly=True),
-        'user_id':fields.many2one('res.users', 'User', readonly=True),
+        'name': fields.char('Year',size=64,required=False, readonly=True, select=True),
+        'user_id':fields.many2one('res.users', 'User', readonly=True, select=True),
         'quantity': fields.float('Quantity', readonly=True),
         'cost': fields.float('Cost', readonly=True),
         'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'),
@@ -114,9 +114,9 @@
     _description = "Timesheet per account"
     _auto = False
     _columns = {
-        'name': fields.char('Year',size=64,required=False, readonly=True),
-        'user_id':fields.many2one('res.users', 'User', readonly=True),
-        'account_id':fields.many2one('account.analytic.account', 'Analytic Account', readonly=True),
+        'name': fields.char('Year',size=64,required=False, readonly=True, select=True),
+        'user_id':fields.many2one('res.users', 'User', readonly=True, select=True),
+        'account_id':fields.many2one('account.analytic.account', 'Analytic Account', readonly=True, select=True),
         'quantity': fields.float('Quantity', readonly=True),
         'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'),
                           ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True),

=== modified file 'hr_timesheet_invoice/report/report_analytic.py'
--- hr_timesheet_invoice/report/report_analytic.py	2011-01-14 00:11:01 +0000
+++ hr_timesheet_invoice/report/report_analytic.py	2011-12-09 06:15:32 +0000
@@ -67,9 +67,9 @@
     _description = "Analytic lines to invoice report"
     _auto = False
     _columns = {
-        'name': fields.char('Year',size=64,required=False, readonly=True),
-        'product_id':fields.many2one('product.product', 'Product', readonly=True),
-        'account_id':fields.many2one('account.analytic.account', 'Analytic account', readonly=True),
+        'name': fields.char('Year',size=64,required=False, readonly=True, select=True),
+        'product_id':fields.many2one('product.product', 'Product', readonly=True, select=True),
+        'account_id':fields.many2one('account.analytic.account', 'Analytic account', readonly=True, select=True),
         'product_uom_id':fields.many2one('product.uom', 'UoM', readonly=True),
         'unit_amount': fields.float('Units', readonly=True),
         'sale_price': fields.float('Sale price', readonly=True, digits_compute=dp.get_precision('Sale Price')),

=== modified file 'idea/idea.py'
--- idea/idea.py	2011-10-16 01:28:00 +0000
+++ idea/idea.py	2011-12-09 06:15:32 +0000
@@ -51,10 +51,10 @@
     _description = "Idea Category"
 
     _columns = {
-        'name': fields.char('Category', size=64, required=True),
+        'name': fields.char('Category', size=64, required=True, select=True),
         'complete_name': fields.function(_categ_name_get_fnc, type="char", string='Name'),
         'summary': fields.text('Summary'),
-        'parent_id': fields.many2one('idea.category', 'Parent Categories', ondelete='set null'),
+        'parent_id': fields.many2one('idea.category', 'Parent Categories', ondelete='set null', select=True),
         'child_ids': fields.one2many('idea.category', 'parent_id', 'Child Categories'),
         'visibility':fields.boolean('Open Idea?', required=False, help="If True creator of the idea will be visible to others"),
     }

=== modified file 'mrp/mrp.py'
--- mrp/mrp.py	2011-12-06 08:12:49 +0000
+++ mrp/mrp.py	2011-12-09 06:15:32 +0000
@@ -445,7 +445,7 @@
     _columns = {
         'name': fields.char('Reference', size=64, required=True),
         'origin': fields.char('Source Document', size=64, help="Reference of the document that generated this production order request."),
-        'priority': fields.selection([('0','Not urgent'),('1','Normal'),('2','Urgent'),('3','Very Urgent')], 'Priority'),
+        'priority': fields.selection([('0','Not urgent'),('1','Normal'),('2','Urgent'),('3','Very Urgent')], 'Priority', select=True),
 
         'product_id': fields.many2one('product.product', 'Product', required=True, readonly=True, states={'draft':[('readonly',False)]}),
         'product_qty': fields.float('Product Qty', digits_compute=dp.get_precision('Product UoM'), required=True, states={'draft':[('readonly',False)]}, readonly=True),
@@ -990,7 +990,7 @@
         'workcenter_id': fields.many2one('mrp.workcenter', 'Work Center', required=True),
         'cycle': fields.float('Nbr of cycles', digits=(16,2)),
         'hour': fields.float('Nbr of hours', digits=(16,2)),
-        'sequence': fields.integer('Sequence', required=True, help="Gives the sequence order when displaying a list of work orders."),
+        'sequence': fields.integer('Sequence', required=True, select=True, help="Gives the sequence order when displaying a list of work orders."),
         'production_id': fields.many2one('mrp.production', 'Production Order', select=True, ondelete='cascade', required=True),
     }
     _defaults = {

=== modified file 'mrp_operations/mrp_operations.py'
--- mrp_operations/mrp_operations.py	2011-12-08 09:49:28 +0000
+++ mrp_operations/mrp_operations.py	2011-12-09 06:15:32 +0000
@@ -93,7 +93,7 @@
                                        "* When the user cancels the work order it will be set in 'Canceled' state.\n" \
                                        "* When order is completely processed that time it is set in 'Finished' state."),
        'date_start_date': fields.function(_get_date_date, string='Start Date', type='date'),
-       'date_planned': fields.datetime('Scheduled Date'),
+       'date_planned': fields.datetime('Scheduled Date', select=True),
        'date_planned_end': fields.function(_get_date_end, string='End Date', type='datetime'),
        'date_start': fields.datetime('Start Date'),
        'date_finished': fields.datetime('End Date'),

=== modified file 'procurement/procurement.py'
--- procurement/procurement.py	2011-12-07 14:58:54 +0000
+++ procurement/procurement.py	2011-12-09 06:15:32 +0000
@@ -88,8 +88,8 @@
         'origin': fields.char('Source Document', size=64,
             help="Reference of the document that created this Procurement.\n"
             "This is automatically completed by OpenERP."),
-        'priority': fields.selection([('0','Not urgent'),('1','Normal'),('2','Urgent'),('3','Very Urgent')], 'Priority', required=True),
-        'date_planned': fields.datetime('Scheduled date', required=True),
+        'priority': fields.selection([('0','Not urgent'),('1','Normal'),('2','Urgent'),('3','Very Urgent')], 'Priority', required=True, select=True),
+        'date_planned': fields.datetime('Scheduled date', required=True, select=True),
         'date_close': fields.datetime('Date Closed'),
         'product_id': fields.many2one('product.product', 'Product', required=True, states={'draft':[('readonly',False)]}, readonly=True),
         'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True, states={'draft':[('readonly',False)]}, readonly=True),

=== modified file 'product/pricelist.py'
--- product/pricelist.py	2011-12-01 21:32:12 +0000
+++ product/pricelist.py	2011-12-09 06:15:32 +0000
@@ -402,8 +402,8 @@
         '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"),
 
-        'min_quantity': fields.integer('Min. Quantity', required=True, help="The rule only applies if the partner buys/sells more than this quantity."),
-        '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."),
+        'min_quantity': fields.integer('Min. Quantity', select=True, required=True, help="The rule only applies if the partner buys/sells more than this quantity."),
+        'sequence': fields.integer('Sequence', select=True, 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_pricelist_id': fields.many2one('product.pricelist', 'If Other Pricelist'),
 

=== modified file 'product/product.py'
--- product/product.py	2011-11-28 12:19:40 +0000
+++ product/product.py	2011-12-09 06:15:32 +0000
@@ -212,11 +212,11 @@
     _name = "product.category"
     _description = "Product Category"
     _columns = {
-        'name': fields.char('Name', size=64, required=True, translate=True),
+        'name': fields.char('Name', size=64, required=True, translate=True, select=True),
         'complete_name': fields.function(_name_get_fnc, type="char", string='Name'),
         'parent_id': fields.many2one('product.category','Parent Category', select=True),
         'child_id': fields.one2many('product.category', 'parent_id', string='Child Categories'),
-        'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."),
+        'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of product categories."),
         'type': fields.selection([('view','View'), ('normal','Normal')], 'Category Type'),
     }
 
@@ -494,7 +494,7 @@
         'lst_price' : fields.function(_product_lst_price, type='float', string='Public Price', digits_compute=dp.get_precision('Sale Price')),
         'code': fields.function(_product_code, type='char', string='Reference'),
         'partner_ref' : fields.function(_product_partner_ref, type='char', string='Customer ref'),
-        'default_code' : fields.char('Reference', size=64),
+        'default_code' : fields.char('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."),
         'variants': fields.char('Variants', size=64),
         'product_tmpl_id': fields.many2one('product.template', 'Product Template', required=True, ondelete="cascade"),
@@ -503,7 +503,7 @@
         'price_extra': fields.float('Variant Price Extra', digits_compute=dp.get_precision('Sale Price')),
         'price_margin': fields.float('Variant Price Margin', digits_compute=dp.get_precision('Sale Price')),
         'pricelist_id': fields.dummy(string='Pricelist', relation='product.pricelist', type='many2one'),
-        'name_template': fields.related('product_tmpl_id', 'name', string="Name", type='char', size=128, store=True),
+        'name_template': fields.related('product_tmpl_id', 'name', string="Name", type='char', size=128, store=True, select=True),
         'color': fields.integer('Color Index'),
         'product_image': fields.binary('Image'),
     }

=== modified file 'project/project.py'
--- project/project.py	2011-12-03 14:04:27 +0000
+++ project/project.py	2011-12-09 06:15:32 +0000
@@ -586,10 +586,10 @@
 
     _columns = {
         'active': fields.function(_is_template, store=True, string='Not a Template Task', type='boolean', help="This field is computed automatically and have the same behavior than the boolean 'active' field: if the task is linked to a template or unactivated project, it will be hidden unless specifically asked."),
-        'name': fields.char('Task Summary', size=128, required=True),
+        'name': fields.char('Task Summary', size=128, required=True, select=True),
         'description': fields.text('Description'),
-        'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority'),
-        'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of tasks."),
+        'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority', select=True),
+        'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of tasks."),
         'type_id': fields.many2one('project.task.type', 'Stage'),
         'state': fields.selection([('draft', 'New'),('open', 'In Progress'),('pending', 'Pending'), ('done', 'Done'), ('cancelled', 'Cancelled')], 'State', readonly=True, required=True,
                                   help='If the task is created the state is \'Draft\'.\n If the task is started, the state becomes \'In Progress\'.\n If review is needed the task is in \'Pending\' state.\

=== modified file 'project/report/project_report.py'
--- project/report/project_report.py	2011-11-29 10:35:37 +0000
+++ project/report/project_report.py	2011-12-09 06:15:32 +0000
@@ -27,7 +27,7 @@
     _description = "Tasks by user and project"
     _auto = False
     _columns = {
-        'name': fields.char('Task Summary', size=128, readonly=True),
+        'name': fields.char('Task Summary', size=128, readonly=True, select=True),
         'day': fields.char('Day', size=128, readonly=True),
         'year': fields.char('Year', size=64, required=False, readonly=True),
         'user_id': fields.many2one('res.users', 'Assigned To', readonly=True),
@@ -35,7 +35,7 @@
         'no_of_days': fields.integer('# of Days', size=128, readonly=True),
         'date_end': fields.date('Ending Date', readonly=True),
         'date_deadline': fields.date('Deadline', readonly=True),
-        'project_id': fields.many2one('project.project', 'Project', readonly=True),
+        'project_id': fields.many2one('project.project', 'Project', readonly=True, select=True),
         'hours_planned': fields.float('Planned Hours', readonly=True),
         'hours_effective': fields.float('Effective Hours', readonly=True),
         'hours_delay': fields.float('Avg. Plan.-Eff.', readonly=True),

=== modified file 'project_gtd/project_gtd.py'
--- project_gtd/project_gtd.py	2011-11-14 10:47:34 +0000
+++ project_gtd/project_gtd.py	2011-12-09 06:15:32 +0000
@@ -30,7 +30,7 @@
     _description = "Context"
     _columns = {
         'name': fields.char('Context', size=64, required=True, select=1, translate=1),
-        'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of contexts."),
+        'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of contexts."),
     }
     _defaults = {
         'sequence': 1

=== modified file 'project_issue/project_issue.py'
--- project_issue/project_issue.py	2011-12-06 11:22:58 +0000
+++ project_issue/project_issue.py	2011-12-09 06:15:32 +0000
@@ -221,7 +221,7 @@
         'date': fields.datetime('Date'),
         'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."),
         'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('object_id.model', '=', 'crm.project.bug')]"),
-        'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
+        'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
         'version_id': fields.many2one('project.issue.version', 'Version'),
         'type_id': fields.many2one ('project.task.type', 'Stages', domain="[('project_ids', '=', project_id)]"),
         'project_id':fields.many2one('project.project', 'Project'),

=== modified file 'project_long_term/project_long_term.py'
--- project_long_term/project_long_term.py	2011-11-22 08:51:38 +0000
+++ project_long_term/project_long_term.py	2011-12-09 06:15:32 +0000
@@ -106,14 +106,14 @@
 
     _columns = {
         'name': fields.char("Name", size=64, required=True),
-        'date_start': fields.datetime('Start Date', help="It's computed by the scheduler according the project date or the end date of the previous phase.", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
+        'date_start': fields.datetime('Start Date', select=True, help="It's computed by the scheduler according the project date or the end date of the previous phase.", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
         'date_end': fields.datetime('End Date', help=" It's computed by the scheduler according to the start date and the duration.", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
         'constraint_date_start': fields.datetime('Minimum Start Date', help='force the phase to start after this date', states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
         'constraint_date_end': fields.datetime('Deadline', help='force the phase to finish before this date', states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
-        'project_id': fields.many2one('project.project', 'Project', required=True),
+        'project_id': fields.many2one('project.project', 'Project', required=True, select=True),
         'next_phase_ids': fields.many2many('project.phase', 'project_phase_rel', 'prv_phase_id', 'next_phase_id', 'Next Phases', states={'cancelled':[('readonly',True)]}),
         'previous_phase_ids': fields.many2many('project.phase', 'project_phase_rel', 'next_phase_id', 'prv_phase_id', 'Previous Phases', states={'cancelled':[('readonly',True)]}),
-        'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of phases."),
+        'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of phases."),
         'duration': fields.float('Duration', required=True, help="By default in days", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
         'product_uom': fields.many2one('product.uom', 'Duration UoM', required=True, help="UoM (Unit of Measure) is the unit of measurement for Duration", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
         'task_ids': fields.one2many('project.task', 'phase_id', "Project Tasks", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),

=== modified file 'project_planning/project_planning.py'
--- project_planning/project_planning.py	2011-07-01 23:41:24 +0000
+++ project_planning/project_planning.py	2011-12-09 06:15:32 +0000
@@ -196,9 +196,9 @@
         return result
 
     _columns = {
-        'account_id': fields.many2one('account.analytic.account', 'Analytic account'),
+        'account_id': fields.many2one('account.analytic.account', 'Analytic account', select=True),
         'planning_id': fields.many2one('report_account_analytic.planning', 'Planning', required=True, ondelete='cascade'),
-        'user_id': fields.many2one('res.users', 'User'),
+        'user_id': fields.many2one('res.users', 'User', select=True),
         'amount': fields.float('Quantity', required=True),
         'amount_unit': fields.many2one('product.uom', 'Qty UoM', required=True),
         'note': fields.text('Note', size=64),
@@ -541,8 +541,8 @@
         return result
 
     _columns = {
-        'planning_id': fields.many2one('report_account_analytic.planning', 'Planning'),
-        'user_id': fields.many2one('res.users', 'User'),
+        'planning_id': fields.many2one('report_account_analytic.planning', 'Planning', select=True),
+        'user_id': fields.many2one('res.users', 'User', select=True),
         'manager_id': fields.many2one('res.users', 'Manager'),
         'account_id': fields.many2one('account.analytic.account', 'Account'),
         'sum_amount': fields.float('Planned Days', required=True),

=== modified file 'purchase/report/purchase_report.py'
--- purchase/report/purchase_report.py	2011-11-22 08:51:38 +0000
+++ purchase/report/purchase_report.py	2011-12-09 06:15:32 +0000
@@ -32,7 +32,7 @@
     _auto = False
     _columns = {
         'date': fields.date('Order Date', readonly=True, help="Date on which this document has been created"),
-        'name': fields.char('Year',size=64,required=False, readonly=True),
+        'name': fields.char('Year',size=64,required=False, readonly=True, select=True),
         'day': fields.char('Day', size=128, readonly=True),
         'state': fields.selection([('draft', 'Request for Quotation'),
                                     ('wait', 'Waiting'),
@@ -58,7 +58,7 @@
         'delay':fields.float('Days to Validate', digits=(16,2), readonly=True),
         'delay_pass':fields.float('Days to Deliver', digits=(16,2), readonly=True),
         'quantity': fields.float('Quantity', readonly=True),
-        'price_total': fields.float('Total Price', readonly=True),
+        'price_total': fields.float('Total Price', readonly=True, select=True),
         'price_average': fields.float('Average Price', readonly=True, group_operator="avg"),
         'negociation': fields.float('Purchase-Standard Price', readonly=True, group_operator="avg"),
         'price_standard': fields.float('Products Value', readonly=True, group_operator="sum"),

=== modified file 'resource/resource.py'
--- resource/resource.py	2011-11-11 13:46:12 +0000
+++ resource/resource.py	2011-12-09 06:15:32 +0000
@@ -214,9 +214,9 @@
     
     _columns = {
         'name' : fields.char("Name", size=64, required=True),
-        'dayofweek': fields.selection([('0','Monday'),('1','Tuesday'),('2','Wednesday'),('3','Thursday'),('4','Friday'),('5','Saturday'),('6','Sunday')], 'Day of week', required=True),
+        'dayofweek': fields.selection([('0','Monday'),('1','Tuesday'),('2','Wednesday'),('3','Thursday'),('4','Friday'),('5','Saturday'),('6','Sunday')], 'Day of week', required=True, select=True),
         'date_from' : fields.date('Starting date'),
-        'hour_from' : fields.float('Work from', size=8, required=True, help="Working time will start from"),
+        'hour_from' : fields.float('Work from', size=8, required=True, help="Working time will start from", select=True),
         'hour_to' : fields.float("Work to", size=8, required=True, help="Working time will end at"),
         'calendar_id' : fields.many2one("resource.calendar", "Resource's Calendar", required=True),
     }

=== modified file 'sale/sale.py'
--- sale/sale.py	2011-12-07 14:58:54 +0000
+++ sale/sale.py	2011-12-09 06:15:32 +0000
@@ -922,7 +922,7 @@
     _columns = {
         'order_id': fields.many2one('sale.order', 'Order Reference', required=True, ondelete='cascade', select=True, readonly=True, states={'draft':[('readonly',False)]}),
         'name': fields.char('Description', size=256, required=True, select=True, readonly=True, states={'draft': [('readonly', False)]}),
-        'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of sales order lines."),
+        'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of sales order lines."),
         'delay': fields.float('Delivery Lead Time', required=True, help="Number of days between the order confirmation the shipping of the products to the customer", readonly=True, states={'draft': [('readonly', False)]}),
         'product_id': fields.many2one('product.product', 'Product', domain=[('sale_ok', '=', True)], change_default=True),
         'invoice_lines': fields.many2many('account.invoice.line', 'sale_order_line_invoice_rel', 'order_line_id', 'invoice_id', 'Invoice Lines', readonly=True),

=== modified file 'sale_layout/sale_layout.py'
--- sale_layout/sale_layout.py	2011-11-08 11:11:02 +0000
+++ sale_layout/sale_layout.py	2011-12-09 06:15:32 +0000
@@ -118,7 +118,7 @@
                 ('line', 'Separator Line'),
                 ('break', 'Page Break'),]
             ,'Line Type', select=True, required=True),
-        'sequence': fields.integer('Line Sequence'),
+        'sequence': fields.integer('Line Sequence', select=True),
         'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Sale Price'), readonly=True, states={'draft': [('readonly', False)]}),
         'product_uom_qty': fields.float('Quantity (UoM)', digits=(16,2)),
         'product_uom': fields.many2one('product.uom', 'Product UoM'),

=== modified file 'stock_planning/stock_planning.py'
--- stock_planning/stock_planning.py	2011-11-11 13:59:06 +0000
+++ stock_planning/stock_planning.py	2011-12-09 06:15:32 +0000
@@ -45,7 +45,7 @@
     _order = "date_start"
     _columns = {
         'name': fields.char('Period Name', size=64, required=True),
-        'date_start': fields.datetime('Start Date', required=True),
+        'date_start': fields.datetime('Start Date', required=True, select=True),
         'date_stop': fields.datetime('End Date', required=True),
         'state': fields.selection([('draft','Draft'), ('open','Open'),('close','Close')], 'State'),
     }
@@ -449,7 +449,7 @@
         'history': fields.text('Procurement History', readonly=True, help = "History of procurement or internal supply of this planning line."),
         'state' : fields.selection([('draft','Draft'),('done','Done')],'State',readonly=True),
         'period_id': fields.many2one('stock.period' , 'Period', required=True, \
-                help = 'Period for this planning. Requisition will be created for beginning of the period.'),
+                help = 'Period for this planning. Requisition will be created for beginning of the period.', select=True),
         'warehouse_id': fields.many2one('stock.warehouse','Warehouse', required=True),
         'product_id': fields.many2one('product.product' , 'Product', required=True, help = 'Product which this planning is created for.'),
         'product_uom_categ' : fields.many2one('product.uom.categ', 'Product UoM Category'), # Invisible field for product_uom domain

_______________________________________________
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

Reply via email to