situations that can not be canceled

This commit is contained in:
David 2019-05-19 13:55:54 +08:00
parent 5456042a85
commit 269f13a369
2 changed files with 13 additions and 6 deletions

View File

@ -161,6 +161,10 @@ class BookingCancel(generics.GenericAPIView):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
booking = self.get_queryset()
if not booking.status == 'SUCCESS':
raise ValidationError('未申请成功不能取消')
if booking.arrive_time:
raise ValidationError('签到后不能取消')
booking.status = 'CANCELED'
booking.cancel_by = request.user
booking.cancel_datetime = datetime.datetime.now()

View File

@ -135,8 +135,16 @@
</a-textarea>
</a-form-item>
<a-form-item>
<a-tooltip
v-if="bookingEdit.status !== 'SUCCESS' || bookingEdit.arrive_time"
title="申请不成功或已经签到时不可取消">
<a-button
style="float: right"
:disabled="true">取消预约
</a-button>
</a-tooltip>
<a-popconfirm
v-if="bookingEdit.status === 'SUCCESS'"
v-else
style="float: right"
title="取消预约不可逆"
@confirm="handleCancelSubmit"
@ -147,11 +155,6 @@
取消预约
</a-button>
</a-popconfirm>
<a-button
v-else
style="float: right"
:disabled="true">取消预约
</a-button>
<a-button @click="$router.go(-1)" style="float: right; margin-right: 8px">
返回
</a-button>