bzr revid: fp@tinyerp.com-20090120203803-zle02nuftco8al67
This commit is contained in:
Fabien Pinckaers
2009-01-20 21:38:03 +01:00
@@ -205,8 +205,10 @@ class hr_timesheet_sheet(osv.osv):
return True
_columns = {
'name': fields.char('Description', size=64, select=1),
'user_id': fields.many2one('res.users', 'User', required=True, select=1),
'name': fields.char('Description', size=64, select=1,
states={'confirm':[('readonly', True)], 'done':[('readonly', True)]}),
'user_id': fields.many2one('res.users', 'User', required=True, select=1,
states={'confirm':[('readonly', True)], 'done':[('readonly', True)]}),
'date_from': fields.date('Date from', required=True, select=1, readonly=True, states={'new':[('readonly', False)]}),
'date_to': fields.date('Date to', required=True, select=1, readonly=True, states={'new':[('readonly', False)]}),
'date_current': fields.date('Current date', required=True),
@@ -297,6 +299,12 @@ class hr_timesheet_sheet(osv.osv):
for r in self.read(cr, uid, ids, ['date_from', 'date_to'],
context, load='_classic_write')]
def unlink(self, cr, uid, ids, context=None):
sheets = self.read(cr, uid, ids, ['state'])
if any(s['state'] in ('confirm', 'done') for s in sheets):
raise osv.except_osv(_('Invalid action !'), _('Cannot delete Sheet(s) which are already confirmed !'))
return super(hr_timesheet_sheet, self).unlink(cr, uid, ids, context=context)
hr_timesheet_sheet()