Я в настоящее время работаю с hr_holidays
(aka Leave Management
) Модуль и мне нужно добавить распределение отпуска в качестве уникальной записи для данного типа отпуска.Openerp, как сделать уникальную запись
Я добавил одно дополнительное условие в функцию create()
, и это приводит к тому, что вы не разрешаете делать запрос на отпуск.
Ниже моя create()
функция:
def create(self, cr, uid, values, context=None):
#-------what I have added starting from here------
hol_stat=values['holiday_status_id']
emp_id=values['employee_id']
n_allo=values['test_allocation']
ids=self.pool.get('hr.holidays').search(cr, uid, [('holiday_status_id','=', hol_stat),('employee_id','=', emp_id),('type','=','add')], context=context)
if ids:
raise osv.except_osv(_('Warning!'),_('Already allocated leaves .'))
# ------end from here-----
""" Override to avoid automatic logging of creation """
if context is None:
context = {}
context = dict(context, mail_create_nolog=True)
if ('date_from' in values and 'date_to' in values):
define_holidays = self.pool.get('company.holidays').search(cr, uid, ['|',('date', '=', values['date_from']),('date', '=', values['date_to'])])
if define_holidays:
raise osv.except_osv(_('Warning!'),_('You need not to apply leaves one Company holidays.'))
else:
return super(hr_holidays, self).create(cr, uid, values, context=context)
else:#mani
return super(hr_holidays, self).create(cr, uid, values, context=context)
Вопрос
Как я могу изменить мою create()
функции для достижения уникального требования записи?
Разве это не работает над новой базой данных? –
Я не понимаю, что вы имеете в виду ... он будет работать в любой новой или старой базе данных, при условии, что никакая запись в db не нарушает ограничение – danidee