('open','Open'),
('paid','Paid'),
('cancel','Cancelled'),
- ],'Status', select=True, readonly=True,
- ],'Status', select=True, readonly=True,tracked=True,
++ ],'Status', select=True, readonly=True, tracked=True,
help=' * The \'Draft\' status is used when a user is encoding a new and unconfirmed Invoice. \
\n* The \'Pro-forma\' when invoice is in Pro-forma status,invoice does not have an invoice number. \
\n* The \'Open\' status is used when user create invoice,a invoice number is generated.Its in open status till user does not pay invoice. \
'type':fields.selection([ ('lead','Lead'), ('opportunity','Opportunity'), ],'Type', help="Type is used to separate Leads and Opportunities"),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
'date_closed': fields.datetime('Closed', readonly=True),
- 'stage_id': fields.many2one('crm.case.stage', 'Stage',
+ 'stage_id': fields.many2one('crm.case.stage', 'Stage',tracked=True,
domain="['&', ('fold', '=', False), '&', '|', ('section_ids', '=', section_id), ('case_default', '=', True), '|', ('type', '=', type), ('type', '=', 'both')]"),
- 'user_id': fields.many2one('res.users', 'Salesperson'),
- 'user_id': fields.many2one('res.users', 'Salesperson',tracked=True),
++ 'user_id': fields.many2one('res.users', 'Salesperson', tracked=True),
'referred': fields.char('Referred By', size=64),
'date_open': fields.datetime('Opened', readonly=True),
'day_open': fields.function(_compute_day, string='Days to Open', \
# Only used for type opportunity
'probability': fields.float('Success Rate (%)',group_operator="avg"),
- 'planned_revenue': fields.float('Expected Revenue'),
- 'planned_revenue': fields.float('Expected Revenue',tracked=True),
++ 'planned_revenue': fields.float('Expected Revenue', tracked=True),
'ref': fields.reference('Reference', selection=crm._links_get, size=128),
'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128),
'phone': fields.char("Phone", size=64),
return res
_columns = {
- 'section_id': fields.many2one('crm.case.section', 'Sales Team'),
- 'section_id': fields.many2one('crm.case.section', 'Sales Team',tracked=True),
++ 'section_id': fields.many2one('crm.case.section', 'Sales Team', tracked=True),
'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\
'Leads and Opportunities', domain=[('state','in', ('draft','open','pending'))]),
'meeting_ids': fields.many2many('crm.meeting', 'crm_meeting_partner_rel','partner_id', 'meeting_id',
'partner_id': fields.many2one('res.partner', 'Contact'),
'create_date': fields.datetime('Creation Date', readonly=True, select=True),
'write_date': fields.datetime('Update Date', readonly=True),
- 'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage',
- 'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage',tracked=True,
++ 'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage', tracked=True,
domain="['&', ('fold', '=', False), '|', ('department_id', '=', department_id), ('department_id', '=', False)]"),
'state': fields.related('stage_id', 'state', type="selection", store=True,
selection=AVAILABLE_STATES, string="Status", readonly=True,
'description': fields.text('Description'),
'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."),
- 'stage_id': fields.many2one('project.task.type', 'Stage',
- 'stage_id': fields.many2one('project.task.type', 'Stage',tracked=True,
++ 'stage_id': fields.many2one('project.task.type', 'Stage', tracked=True,
domain="['&', ('fold', '=', False), ('project_ids', '=', project_id)]"),
'state': fields.related('stage_id', 'state', type="selection", store=True,
selection=_TASK_STATE, string="Status", readonly=True,
'date_start': fields.datetime('Starting Date',select=True),
'date_end': fields.datetime('Ending Date',select=True),
'date_deadline': fields.date('Deadline',select=True),
- 'project_id': fields.many2one('project.project', 'Project', ondelete='set null', select="1"),
- 'project_id': fields.many2one('project.project', 'Project', ondelete='set null', select="1",tracked=True),
++ 'project_id': fields.many2one('project.project', 'Project', ondelete='set null', select="1", tracked=True),
'parent_ids': fields.many2many('project.task', 'project_task_parent_rel', 'task_id', 'parent_id', 'Parent Tasks'),
'child_ids': fields.many2many('project.task', 'project_task_parent_rel', 'parent_id', 'task_id', 'Delegated Tasks'),
'notes': fields.text('Notes'),
'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours'], 10),
'project.task.work': (_get_task, ['hours'], 10),
}),
- 'user_id': fields.many2one('res.users', 'Assigned to'),
- 'user_id': fields.many2one('res.users', 'Assigned to',tracked=True),
++ 'user_id': fields.many2one('res.users', 'Assigned to', tracked=True),
'delegated_user_id': fields.related('child_ids', 'user_id', type='many2one', relation='res.users', string='Delegated To'),
'partner_id': fields.many2one('res.partner', 'Customer'),
'work_ids': fields.one2many('project.task.work', 'task_id', 'Work done'),
'version_id': fields.many2one('project.issue.version', 'Version'),
'stage_id': fields.many2one ('project.task.type', 'Stage',
domain="['&', ('fold', '=', False), ('project_ids', '=', project_id)]"),
- 'project_id':fields.many2one('project.project', 'Project'),
- 'project_id':fields.many2one('project.project', 'Project',tracked=True),
++ 'project_id':fields.many2one('project.project', 'Project', tracked=True),
'duration': fields.float('Duration'),
'task_id': fields.many2one('project.task', 'Task', domain="[('project_id','=',project_id)]"),
'day_open': fields.function(_compute_day, string='Days to Open', \
multi='compute_day', type="float", store=True),
'day_close': fields.function(_compute_day, string='Days to Close', \
multi='compute_day', type="float", store=True),
- 'user_id': fields.many2one('res.users', 'Assigned to', required=False, select=1),
- 'user_id': fields.many2one('res.users', 'Assigned to', required=False, select=1,tracked=True),
++ 'user_id': fields.many2one('res.users', 'Assigned to', required=False, select=1, tracked=True),
'working_hours_open': fields.function(_compute_day, string='Working Hours to Open the Issue', \
multi='compute_day', type="float", store=True),
'working_hours_close': fields.function(_compute_day, string='Working Hours to Close the Issue', \