Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2 ตอบกลับ
2399 มุมมอง

Hello!

I'm trying make button which will change 'stage_id' in Recruitment form view.

Code:

def CONTINUE_TO_NEXT_STEP_FUNCTION_1(self):
        if self.stage_id.sequence == 2:
            return self.write({'stage_id'3})
        elif self.stage_id.sequence == 3:
            return self.write({'stage_id'4})
        elif self.stage_id.sequence == 4:
            return self.write({'stage_id'5})
        else:
            raise ValidationError("Error. Contact the administrator.")

And this code works if I create new database and use button in new DB. But in my original DB in 2 stage_id I getting ValidationError. And in 3 stage nothing happens when I push the button.

I suspect I’ve used the wrong syntax. Can you tell me the best way to proceed?

อวตาร
ละทิ้ง
ผู้เขียน คำตอบที่ดีที่สุด

self.stage_id has an 'id' besides 'sequense'

I managed to make it work on all databases using this code:

def CONTINUE_TO_NEXT_STEP_FUNCTION_1(self):
if self.stage_id.id == 2:
return self.write({'stage_id': 3})
if self.stage_id.id == 3:
return self.write({'stage_id': 4})
elif self.stage_id.id == 4:
return self.write({'stage_id': 5})
else:
raise ValidationError("Error. Contact the administrator.")
อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

try this 

if self.stage_id.sequence == 2 or self.stage_id.sequence == '2':

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
1
มี.ค. 24
2229
2
มี.ค. 23
3828
2
ส.ค. 22
3055
0
มิ.ย. 21
2913
0
เม.ย. 25
1482