[FIX]All: create an index for the column on require table

lp bug: https://launchpad.net/bugs/901474 fixed

bzr revid: mma@tinyerp.com-20111209060308-muefwlr323ji4kk7
This commit is contained in:
Mayur Maheshwari (OpenERP) 2011-12-09 11:33:08 +05:30
parent 75fb009dae
commit b439bc1606
33 changed files with 82 additions and 82 deletions

View File

@ -53,7 +53,7 @@ class account_payment_term(osv.osv):
_name = "account.payment.term" _name = "account.payment.term"
_description = "Payment Term" _description = "Payment Term"
_columns = { _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."), '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), 'note': fields.text('Description', translate=True),
'line_ids': fields.one2many('account.payment.term.line', 'payment_id', 'Terms'), 'line_ids': fields.one2many('account.payment.term.line', 'payment_id', 'Terms'),
@ -96,7 +96,7 @@ class account_payment_term_line(osv.osv):
_description = "Payment Term Line" _description = "Payment Term Line"
_columns = { _columns = {
'name': fields.char('Line Name', size=32, required=True), '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'), 'value': fields.selection([('procent', 'Percent'),
('balance', 'Balance'), ('balance', 'Balance'),
('fixed', 'Fixed Amount')], 'Valuation', ('fixed', 'Fixed Amount')], 'Valuation',
@ -132,7 +132,7 @@ class account_account_type(osv.osv):
_description = "Account Type" _description = "Account Type"
_columns = { _columns = {
'name': fields.char('Account Type', size=64, required=True), '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. '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. 'None' means that nothing will be done.
@ -668,7 +668,7 @@ class account_journal_column(osv.osv):
'name': fields.char('Column Name', size=64, required=True), 'name': fields.char('Column Name', size=64, required=True),
'field': fields.selection(_col_get, 'Field Name', required=True, size=32), 'field': fields.selection(_col_get, 'Field Name', required=True, size=32),
'view_id': fields.many2one('account.journal.view', 'Journal View', select=True), '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'), 'required': fields.boolean('Required'),
'readonly': fields.boolean('Readonly'), 'readonly': fields.boolean('Readonly'),
} }
@ -852,7 +852,7 @@ class account_fiscalyear(osv.osv):
'name': fields.char('Fiscal Year', size=64, required=True), 'name': fields.char('Fiscal Year', size=64, required=True),
'code': fields.char('Code', size=6, required=True), 'code': fields.char('Code', size=6, required=True),
'company_id': fields.many2one('res.company', 'Company', 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), 'date_stop': fields.date('End Date', required=True),
'period_ids': fields.one2many('account.period', 'fiscalyear_id', 'Periods'), 'period_ids': fields.one2many('account.period', 'fiscalyear_id', 'Periods'),
'state': fields.selection([('draft','Open'), ('done','Closed')], 'State', readonly=True), 'state': fields.selection([('draft','Open'), ('done','Closed')], 'State', readonly=True),
@ -948,8 +948,8 @@ class account_period(osv.osv):
'name': fields.char('Period Name', size=64, required=True), 'name': fields.char('Period Name', size=64, required=True),
'code': fields.char('Code', size=12), 'code': fields.char('Code', size=12),
'special': fields.boolean('Opening/Closing Period', size=12, 'special': fields.boolean('Opening/Closing Period', size=12,
help="These periods can overlap."), help="These periods can overlap.", select=True),
'date_start': fields.date('Start of Period', required=True, states={'done':[('readonly',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)]}), '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), '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, 'state': fields.selection([('draft','Open'), ('done','Closed')], 'State', readonly=True,
@ -2528,8 +2528,8 @@ class account_tax_code_template(osv.osv):
_order = 'code' _order = 'code'
_rec_name = 'code' _rec_name = 'code'
_columns = { _columns = {
'name': fields.char('Tax Case Name', size=64, required=True), 'name': fields.char('Tax Case Name', size=64, required=True, select=True),
'code': fields.char('Case Code', size=64), 'code': fields.char('Case Code', size=64, select=True),
'info': fields.text('Description'), 'info': fields.text('Description'),
'parent_id': fields.many2one('account.tax.code.template', 'Parent Code', select=True), 'parent_id': fields.many2one('account.tax.code.template', 'Parent Code', select=True),
'child_ids': fields.one2many('account.tax.code.template', 'parent_id', 'Child Codes'), 'child_ids': fields.one2many('account.tax.code.template', 'parent_id', 'Child Codes'),

View File

@ -130,7 +130,7 @@ class account_bank_statement(osv.osv):
_description = "Bank Statement" _description = "Bank Statement"
_columns = { _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 '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, 'journal_id': fields.many2one('account.journal', 'Journal', required=True,
readonly=True, states={'draft':[('readonly',False)]}), readonly=True, states={'draft':[('readonly',False)]}),
'period_id': fields.many2one('account.period', 'Period', required=True, 'period_id': fields.many2one('account.period', 'Period', required=True,
@ -473,7 +473,7 @@ class account_bank_statement_line(osv.osv):
'Moves'), 'Moves'),
'ref': fields.char('Reference', size=32), 'ref': fields.char('Reference', size=32),
'note': fields.text('Notes'), '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), 'company_id': fields.related('statement_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
} }
_defaults = { _defaults = {

View File

@ -205,12 +205,12 @@ class report_account_type_sales(osv.osv):
_description = "Report of the Sales by Account Type" _description = "Report of the Sales by Account Type"
_auto = False _auto = False
_columns = { _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), 'period_id': fields.many2one('account.period', 'Force Period', readonly=True),
'product_id': fields.many2one('product.product', 'Product', readonly=True), 'product_id': fields.many2one('product.product', 'Product', readonly=True),
'quantity': fields.float('Quantity', readonly=True), 'quantity': fields.float('Quantity', readonly=True),
'user_type': fields.many2one('account.account.type', 'Account Type', 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), 'currency_id': fields.many2one('res.currency', 'Currency', readonly=True),
'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), '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), ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')], 'Month', readonly=True),
@ -247,12 +247,12 @@ class report_account_sales(osv.osv):
_description = "Report of the Sales by Account" _description = "Report of the Sales by Account"
_auto = False _auto = False
_columns = { _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), 'period_id': fields.many2one('account.period', 'Force Period', readonly=True),
'product_id': fields.many2one('product.product', 'Product', readonly=True), 'product_id': fields.many2one('product.product', 'Product', readonly=True),
'quantity': fields.float('Quantity', readonly=True), 'quantity': fields.float('Quantity', readonly=True),
'account_id': fields.many2one('account.account', 'Account', 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), 'currency_id': fields.many2one('res.currency', 'Currency', readonly=True),
'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), '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), ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')], 'Month', readonly=True),

View File

@ -84,7 +84,7 @@ class account_analytic_plan_line(osv.osv):
_columns = { _columns = {
'plan_id': fields.many2one('account.analytic.plan','Analytic Plan'), 'plan_id': fields.many2one('account.analytic.plan','Analytic Plan'),
'name': fields.char('Plan Name', size=64, required=True, select=True), '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), 'root_analytic_id': fields.many2one('account.analytic.account', 'Root Account', help="Root account of this plan.", required=False),
'min_required': fields.float('Minimum Allowed (%)'), 'min_required': fields.float('Minimum Allowed (%)'),
'max_required': fields.float('Maximum Allowed (%)'), 'max_required': fields.float('Maximum Allowed (%)'),

View File

@ -160,7 +160,7 @@ class account_invoice_line(osv.osv):
('line','Separator Line'), ('line','Separator Line'),
('break','Page Break'),] ('break','Page Break'),]
,'Type', select=True, required=True), ,'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"), '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"),
} }

View File

@ -367,7 +367,7 @@ class auction_lots(osv.osv):
'important':fields.boolean('To be Emphatized'), 'important':fields.boolean('To be Emphatized'),
'product_id':fields.many2one('product.product', 'Product', required=True), 'product_id':fields.many2one('product.product', 'Product', required=True),
'obj_desc': fields.text('Object Description'), '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_ret': fields.float('Price retired', help="Object Ret"),
'obj_comm': fields.boolean('Commission'), 'obj_comm': fields.boolean('Commission'),
'obj_price': fields.float('Adjudication price', help="Object Price"), 'obj_price': fields.float('Adjudication price', help="Object Price"),

View File

@ -49,8 +49,8 @@ class res_partner_contact(osv.osv):
return res return res
_columns = { _columns = {
'name': fields.char('Last Name', size=64, required=True), 'name': fields.char('Last Name', size=64, required=True, select=True),
'first_name': fields.char('First Name', size=64), 'first_name': fields.char('First Name', size=64, select=True),
'mobile': fields.char('Mobile', size=64), 'mobile': fields.char('Mobile', size=64),
'title': fields.many2one('res.partner.title','Title'), 'title': fields.many2one('res.partner.title','Title'),
'website': fields.char('Website', size=120), 'website': fields.char('Website', size=120),

View File

@ -548,7 +548,7 @@ class report_creator_field(osv.osv):
_rec_name = 'field_id' _rec_name = 'field_id'
_order = "sequence,id" _order = "sequence,id"
_columns = { _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'), 'field_id': fields.many2one('ir.model.fields', 'Field'),
'report_id': fields.many2one('base_report_creator.report', 'Report', on_delete='cascade'), 'report_id': fields.many2one('base_report_creator.report', 'Report', on_delete='cascade'),
'group_method': fields.selection([('group', 'Grouped'), 'group_method': fields.selection([('group', 'Grouped'),

View File

@ -178,13 +178,13 @@ class board_line(osv.osv):
_columns = { _columns = {
'name': fields.char('Title', size=64, required=True), 'name': fields.char('Title', size=64, required=True),
'sequence': fields.integer('Sequence', help="Gives the sequence order\ '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'), 'height': fields.integer('Height'),
'width': fields.integer('Width'), 'width': fields.integer('Width'),
'board_id': fields.many2one('board.board', 'Dashboard', required=True, ondelete='cascade'), 'board_id': fields.many2one('board.board', 'Dashboard', required=True, ondelete='cascade'),
'action_id': fields.many2one('ir.actions.act_window', 'Action', required=True), 'action_id': fields.many2one('ir.actions.act_window', 'Action', required=True),
'position': fields.selection([('left','Left'), 'position': fields.selection([('left','Left'),
('right','Right')], 'Position', required=True) ('right','Right')], 'Position', required=True, select=True)
} }
_defaults = { _defaults = {
'position': lambda *args: 'left' 'position': lambda *args: 'left'

View File

@ -174,7 +174,7 @@ class crm_lead(crm_case, osv.osv):
'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."), '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."), '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"), '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), 'date_closed': fields.datetime('Closed', readonly=True),
'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"), 'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"),
'user_id': fields.many2one('res.users', 'Salesman'), 'user_id': fields.many2one('res.users', 'Salesman'),
@ -201,7 +201,7 @@ class crm_lead(crm_case, osv.osv):
'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128), 'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128),
'phone': fields.char("Phone", size=64), 'phone': fields.char("Phone", size=64),
'date_deadline': fields.date('Expected Closing'), '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), 'title_action': fields.char('Next Action', size=64),
'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"), 'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"),
'color': fields.integer('Color Index'), 'color': fields.integer('Color Index'),

View File

@ -55,12 +55,12 @@ class crm_claim(crm.crm_case, osv.osv):
'write_date': fields.datetime('Update Date' , readonly=True), 'write_date': fields.datetime('Update Date' , readonly=True),
'date_deadline': fields.date('Deadline'), 'date_deadline': fields.date('Deadline'),
'date_closed': fields.datetime('Closed', readonly=True), '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), 'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
'categ_id': fields.many2one('crm.case.categ', 'Category', \ 'categ_id': fields.many2one('crm.case.categ', 'Category', \
domain="[('section_id','=',section_id),\ domain="[('section_id','=',section_id),\
('object_id.model', '=', 'crm.claim')]"), ('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'), 'type_action': fields.selection([('correction','Corrective Action'),('prevention','Preventive Action')], 'Action Type'),
'user_id': fields.many2one('res.users', 'Responsible'), 'user_id': fields.many2one('res.users', 'Responsible'),
'user_fault': fields.char('Trouble Responsible', size=64), 'user_fault': fields.char('Trouble Responsible', size=64),

View File

@ -256,7 +256,7 @@ class hr_expense_line(osv.osv):
_columns = { _columns = {
'name': fields.char('Expense Note', size=128, required=True), '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), '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')), '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')), 'unit_amount': fields.float('Unit Price', digits_compute=dp.get_precision('Account')),
@ -266,7 +266,7 @@ class hr_expense_line(osv.osv):
'description': fields.text('Description'), 'description': fields.text('Description'),
'analytic_account': fields.many2one('account.analytic.account','Analytic account'), 'analytic_account': fields.many2one('account.analytic.account','Analytic account'),
'ref': fields.char('Reference', size=32), '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 = { _defaults = {
'unit_quantity': 1, 'unit_quantity': 1,

View File

@ -118,7 +118,7 @@ class hr_holidays(osv.osv):
\nThe state is \'Refused\', when holiday request is refused by manager.\ \nThe state is \'Refused\', when holiday request is refused by manager.\
\nThe state is \'Approved\', when holiday request is approved 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), '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)]}), '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)]}), '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'), '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 @@ class hr_holidays(osv.osv):
'number_of_days_temp': fields.float('Number of Days', readonly=True, states={'draft':[('readonly',False)]}), '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), 'number_of_days': fields.function(_compute_number_of_days, string='Number of Days', store=True),
'case_id': fields.many2one('crm.meeting', 'Meeting'), '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'), 'parent_id': fields.many2one('hr.holidays', 'Parent'),
'linked_request_ids': fields.one2many('hr.holidays', 'parent_id', 'Linked Requests',), '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), 'department_id':fields.related('employee_id', 'department_id', string='Department', type='many2one', relation='hr.department', readonly=True, store=True),

View File

@ -720,8 +720,8 @@ class hr_payslip_worked_days(osv.osv):
_description = 'Payslip Worked Days' _description = 'Payslip Worked Days'
_columns = { _columns = {
'name': fields.char('Description', size=256, required=True), 'name': fields.char('Description', size=256, required=True),
'payslip_id': fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade'), 'payslip_id': fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade', select=True),
'sequence': fields.integer('Sequence', required=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"), '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_days': fields.float('Number of Days'),
'number_of_hours': fields.float('Number of Hours'), 'number_of_hours': fields.float('Number of Hours'),
@ -742,8 +742,8 @@ class hr_payslip_input(osv.osv):
_description = 'Payslip Input' _description = 'Payslip Input'
_columns = { _columns = {
'name': fields.char('Description', size=256, required=True), 'name': fields.char('Description', size=256, required=True),
'payslip_id': fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade'), 'payslip_id': fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade', select=True),
'sequence': fields.integer('Sequence', required=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"), '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."), '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"), 'contract_id': fields.many2one('hr.contract', 'Contract', required=True, help="The contract for which applied this input"),
@ -762,7 +762,7 @@ class hr_salary_rule(osv.osv):
_columns = { _columns = {
'name':fields.char('Name', size=256, required=True, readonly=False), '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."), '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."), '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), '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."), '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 @@ class hr_payslip_line(osv.osv):
'slip_id':fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade'), 'slip_id':fields.many2one('hr.payslip', 'Pay Slip', required=True, ondelete='cascade'),
'salary_rule_id':fields.many2one('hr.salary.rule', 'Rule', required=True), 'salary_rule_id':fields.many2one('hr.salary.rule', 'Rule', required=True),
'employee_id':fields.many2one('hr.employee', 'Employee', 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')), 'amount': fields.float('Amount', digits_compute=dp.get_precision('Payroll')),
'quantity': fields.float('Quantity', 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 ), 'total': fields.function(_calculate_total, method=True, type='float', string='Total', digits_compute=dp.get_precision('Payroll'),store=True ),

View File

@ -27,8 +27,8 @@ class report_timesheet_line(osv.osv):
_description = "Timesheet Line" _description = "Timesheet Line"
_auto = False _auto = False
_columns = { _columns = {
'name': fields.char('Year',size=64,required=False, readonly=True), 'name': fields.char('Year',size=64,required=False, readonly=True, select=True),
'user_id': fields.many2one('res.users', 'User', readonly=True), 'user_id': fields.many2one('res.users', 'User', readonly=True, select=True),
'date': fields.date('Date', readonly=True), 'date': fields.date('Date', readonly=True),
'day': fields.char('Day', size=128, readonly=True), 'day': fields.char('Day', size=128, readonly=True),
'quantity': fields.float('Quantity', readonly=True), 'quantity': fields.float('Quantity', readonly=True),
@ -81,8 +81,8 @@ class report_timesheet_user(osv.osv):
_description = "Timesheet per day" _description = "Timesheet per day"
_auto = False _auto = False
_columns = { _columns = {
'name': fields.char('Year',size=64,required=False, readonly=True), 'name': fields.char('Year',size=64,required=False, readonly=True, select=True),
'user_id':fields.many2one('res.users', 'User', readonly=True), 'user_id':fields.many2one('res.users', 'User', readonly=True, select=True),
'quantity': fields.float('Quantity', readonly=True), 'quantity': fields.float('Quantity', readonly=True),
'cost': fields.float('Cost', readonly=True), 'cost': fields.float('Cost', readonly=True),
'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'),
@ -114,9 +114,9 @@ class report_timesheet_account(osv.osv):
_description = "Timesheet per account" _description = "Timesheet per account"
_auto = False _auto = False
_columns = { _columns = {
'name': fields.char('Year',size=64,required=False, readonly=True), 'name': fields.char('Year',size=64,required=False, readonly=True, select=True),
'user_id':fields.many2one('res.users', 'User', readonly=True), 'user_id':fields.many2one('res.users', 'User', readonly=True, select=True),
'account_id':fields.many2one('account.analytic.account', 'Analytic Account', readonly=True), 'account_id':fields.many2one('account.analytic.account', 'Analytic Account', readonly=True, select=True),
'quantity': fields.float('Quantity', readonly=True), 'quantity': fields.float('Quantity', readonly=True),
'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), '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), ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True),

View File

@ -67,9 +67,9 @@ class report_account_analytic_line_to_invoice(osv.osv):
_description = "Analytic lines to invoice report" _description = "Analytic lines to invoice report"
_auto = False _auto = False
_columns = { _columns = {
'name': fields.char('Year',size=64,required=False, readonly=True), 'name': fields.char('Year',size=64,required=False, readonly=True, select=True),
'product_id':fields.many2one('product.product', 'Product', readonly=True), 'product_id':fields.many2one('product.product', 'Product', readonly=True, select=True),
'account_id':fields.many2one('account.analytic.account', 'Analytic account', readonly=True), 'account_id':fields.many2one('account.analytic.account', 'Analytic account', readonly=True, select=True),
'product_uom_id':fields.many2one('product.uom', 'UoM', readonly=True), 'product_uom_id':fields.many2one('product.uom', 'UoM', readonly=True),
'unit_amount': fields.float('Units', readonly=True), 'unit_amount': fields.float('Units', readonly=True),
'sale_price': fields.float('Sale price', readonly=True, digits_compute=dp.get_precision('Sale Price')), 'sale_price': fields.float('Sale price', readonly=True, digits_compute=dp.get_precision('Sale Price')),

View File

@ -51,10 +51,10 @@ class idea_category(osv.osv):
_description = "Idea Category" _description = "Idea Category"
_columns = { _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'), 'complete_name': fields.function(_categ_name_get_fnc, type="char", string='Name'),
'summary': fields.text('Summary'), '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'), '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"), 'visibility':fields.boolean('Open Idea?', required=False, help="If True creator of the idea will be visible to others"),
} }

View File

@ -445,7 +445,7 @@ class mrp_production(osv.osv):
_columns = { _columns = {
'name': fields.char('Reference', size=64, required=True), '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."), '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_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), '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 @@ class mrp_production_workcenter_line(osv.osv):
'workcenter_id': fields.many2one('mrp.workcenter', 'Work Center', required=True), 'workcenter_id': fields.many2one('mrp.workcenter', 'Work Center', required=True),
'cycle': fields.float('Nbr of cycles', digits=(16,2)), 'cycle': fields.float('Nbr of cycles', digits=(16,2)),
'hour': fields.float('Nbr of hours', 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), 'production_id': fields.many2one('mrp.production', 'Production Order', select=True, ondelete='cascade', required=True),
} }
_defaults = { _defaults = {

View File

@ -93,7 +93,7 @@ class mrp_production_workcenter_line(osv.osv):
"* When the user cancels the work order it will be set in 'Canceled' state.\n" \ "* 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."), "* 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_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_planned_end': fields.function(_get_date_end, string='End Date', type='datetime'),
'date_start': fields.datetime('Start Date'), 'date_start': fields.datetime('Start Date'),
'date_finished': fields.datetime('End Date'), 'date_finished': fields.datetime('End Date'),

View File

@ -88,8 +88,8 @@ class procurement_order(osv.osv):
'origin': fields.char('Source Document', size=64, 'origin': fields.char('Source Document', size=64,
help="Reference of the document that created this Procurement.\n" help="Reference of the document that created this Procurement.\n"
"This is automatically completed by OpenERP."), "This is automatically completed by OpenERP."),
'priority': fields.selection([('0','Not urgent'),('1','Normal'),('2','Urgent'),('3','Very Urgent')], 'Priority', 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), 'date_planned': fields.datetime('Scheduled date', required=True, select=True),
'date_close': fields.datetime('Date Closed'), 'date_close': fields.datetime('Date Closed'),
'product_id': fields.many2one('product.product', 'Product', required=True, states={'draft':[('readonly',False)]}, readonly=True), '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), 'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True, states={'draft':[('readonly',False)]}, readonly=True),

View File

@ -402,8 +402,8 @@ class product_pricelist_item(osv.osv):
'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"), '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"), '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."), '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', 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."), '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': 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'), 'base_pricelist_id': fields.many2one('product.pricelist', 'If Other Pricelist'),

View File

@ -212,11 +212,11 @@ class product_category(osv.osv):
_name = "product.category" _name = "product.category"
_description = "Product Category" _description = "Product Category"
_columns = { _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'), 'complete_name': fields.function(_name_get_fnc, type="char", string='Name'),
'parent_id': fields.many2one('product.category','Parent Category', select=True), 'parent_id': fields.many2one('product.category','Parent Category', select=True),
'child_id': fields.one2many('product.category', 'parent_id', string='Child Categories'), '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'), 'type': fields.selection([('view','View'), ('normal','Normal')], 'Category Type'),
} }
@ -494,7 +494,7 @@ class product_product(osv.osv):
'lst_price' : fields.function(_product_lst_price, type='float', string='Public Price', digits_compute=dp.get_precision('Sale Price')), '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'), 'code': fields.function(_product_code, type='char', string='Reference'),
'partner_ref' : fields.function(_product_partner_ref, type='char', string='Customer ref'), '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."), '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), 'variants': fields.char('Variants', size=64),
'product_tmpl_id': fields.many2one('product.template', 'Product Template', required=True, ondelete="cascade"), 'product_tmpl_id': fields.many2one('product.template', 'Product Template', required=True, ondelete="cascade"),
@ -503,7 +503,7 @@ class product_product(osv.osv):
'price_extra': fields.float('Variant Price Extra', digits_compute=dp.get_precision('Sale Price')), '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')), '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'), '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'), 'color': fields.integer('Color Index'),
'product_image': fields.binary('Image'), 'product_image': fields.binary('Image'),
} }

View File

@ -586,10 +586,10 @@ class task(osv.osv):
_columns = { _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."), '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'), 'description': fields.text('Description'),
'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority'), 'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority', select=True),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of tasks."), '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'), '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, '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.\ 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.\

View File

@ -27,7 +27,7 @@ class report_project_task_user(osv.osv):
_description = "Tasks by user and project" _description = "Tasks by user and project"
_auto = False _auto = False
_columns = { _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), 'day': fields.char('Day', size=128, readonly=True),
'year': fields.char('Year', size=64, required=False, readonly=True), 'year': fields.char('Year', size=64, required=False, readonly=True),
'user_id': fields.many2one('res.users', 'Assigned To', readonly=True), 'user_id': fields.many2one('res.users', 'Assigned To', readonly=True),
@ -35,7 +35,7 @@ class report_project_task_user(osv.osv):
'no_of_days': fields.integer('# of Days', size=128, readonly=True), 'no_of_days': fields.integer('# of Days', size=128, readonly=True),
'date_end': fields.date('Ending Date', readonly=True), 'date_end': fields.date('Ending Date', readonly=True),
'date_deadline': fields.date('Deadline', 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_planned': fields.float('Planned Hours', readonly=True),
'hours_effective': fields.float('Effective Hours', readonly=True), 'hours_effective': fields.float('Effective Hours', readonly=True),
'hours_delay': fields.float('Avg. Plan.-Eff.', readonly=True), 'hours_delay': fields.float('Avg. Plan.-Eff.', readonly=True),

View File

@ -30,7 +30,7 @@ class project_gtd_context(osv.osv):
_description = "Context" _description = "Context"
_columns = { _columns = {
'name': fields.char('Context', size=64, required=True, select=1, translate=1), '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 = { _defaults = {
'sequence': 1 'sequence': 1

View File

@ -221,7 +221,7 @@ class project_issue(crm.crm_case, osv.osv):
'date': fields.datetime('Date'), 'date': fields.datetime('Date'),
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."), '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')]"), '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'), 'version_id': fields.many2one('project.issue.version', 'Version'),
'type_id': fields.many2one ('project.task.type', 'Stages', domain="[('project_ids', '=', project_id)]"), 'type_id': fields.many2one ('project.task.type', 'Stages', domain="[('project_ids', '=', project_id)]"),
'project_id':fields.many2one('project.project', 'Project'), 'project_id':fields.many2one('project.project', 'Project'),

View File

@ -106,14 +106,14 @@ class project_phase(osv.osv):
_columns = { _columns = {
'name': fields.char("Name", size=64, required=True), '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)]}), '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_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)]}), '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)]}), '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)]}), '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)]}), '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)]}), '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)]}), 'task_ids': fields.one2many('project.task', 'phase_id', "Project Tasks", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),

View File

@ -196,9 +196,9 @@ class report_account_analytic_planning_line(osv.osv):
return result return result
_columns = { _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'), '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': fields.float('Quantity', required=True),
'amount_unit': fields.many2one('product.uom', 'Qty UoM', required=True), 'amount_unit': fields.many2one('product.uom', 'Qty UoM', required=True),
'note': fields.text('Note', size=64), 'note': fields.text('Note', size=64),
@ -541,8 +541,8 @@ WHERE user_id=%s and account_id=%s and date>=%s and date<=%s''', (line.user_id.i
return result return result
_columns = { _columns = {
'planning_id': fields.many2one('report_account_analytic.planning', 'Planning'), 'planning_id': fields.many2one('report_account_analytic.planning', 'Planning', select=True),
'user_id': fields.many2one('res.users', 'User'), 'user_id': fields.many2one('res.users', 'User', select=True),
'manager_id': fields.many2one('res.users', 'Manager'), 'manager_id': fields.many2one('res.users', 'Manager'),
'account_id': fields.many2one('account.analytic.account', 'Account'), 'account_id': fields.many2one('account.analytic.account', 'Account'),
'sum_amount': fields.float('Planned Days', required=True), 'sum_amount': fields.float('Planned Days', required=True),

View File

@ -32,7 +32,7 @@ class purchase_report(osv.osv):
_auto = False _auto = False
_columns = { _columns = {
'date': fields.date('Order Date', readonly=True, help="Date on which this document has been created"), '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), 'day': fields.char('Day', size=128, readonly=True),
'state': fields.selection([('draft', 'Request for Quotation'), 'state': fields.selection([('draft', 'Request for Quotation'),
('wait', 'Waiting'), ('wait', 'Waiting'),
@ -58,7 +58,7 @@ class purchase_report(osv.osv):
'delay':fields.float('Days to Validate', digits=(16,2), readonly=True), 'delay':fields.float('Days to Validate', digits=(16,2), readonly=True),
'delay_pass':fields.float('Days to Deliver', digits=(16,2), readonly=True), 'delay_pass':fields.float('Days to Deliver', digits=(16,2), readonly=True),
'quantity': fields.float('Quantity', 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"), 'price_average': fields.float('Average Price', readonly=True, group_operator="avg"),
'negociation': fields.float('Purchase-Standard 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"), 'price_standard': fields.float('Products Value', readonly=True, group_operator="sum"),

View File

@ -214,9 +214,9 @@ class resource_calendar_attendance(osv.osv):
_columns = { _columns = {
'name' : fields.char("Name", size=64, required=True), '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'), '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"), '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), 'calendar_id' : fields.many2one("resource.calendar", "Resource's Calendar", required=True),
} }

View File

@ -922,7 +922,7 @@ class sale_order_line(osv.osv):
_columns = { _columns = {
'order_id': fields.many2one('sale.order', 'Order Reference', required=True, ondelete='cascade', select=True, readonly=True, states={'draft':[('readonly',False)]}), '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)]}), '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)]}), '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), '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), 'invoice_lines': fields.many2many('account.invoice.line', 'sale_order_line_invoice_rel', 'order_line_id', 'invoice_id', 'Invoice Lines', readonly=True),

View File

@ -118,7 +118,7 @@ class sale_order_line(osv.osv):
('line', 'Separator Line'), ('line', 'Separator Line'),
('break', 'Page Break'),] ('break', 'Page Break'),]
,'Line Type', select=True, required=True), ,'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)]}), '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_qty': fields.float('Quantity (UoM)', digits=(16,2)),
'product_uom': fields.many2one('product.uom', 'Product UoM'), 'product_uom': fields.many2one('product.uom', 'Product UoM'),

View File

@ -45,7 +45,7 @@ class stock_period(osv.osv):
_order = "date_start" _order = "date_start"
_columns = { _columns = {
'name': fields.char('Period Name', size=64, required=True), '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), 'date_stop': fields.datetime('End Date', required=True),
'state': fields.selection([('draft','Draft'), ('open','Open'),('close','Close')], 'State'), 'state': fields.selection([('draft','Draft'), ('open','Open'),('close','Close')], 'State'),
} }
@ -449,7 +449,7 @@ class stock_planning(osv.osv):
'history': fields.text('Procurement History', readonly=True, help = "History of procurement or internal supply of this planning line."), '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), 'state' : fields.selection([('draft','Draft'),('done','Done')],'State',readonly=True),
'period_id': fields.many2one('stock.period' , 'Period', required=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), '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_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 'product_uom_categ' : fields.many2one('product.uom.categ', 'Product UoM Category'), # Invisible field for product_uom domain