Commit 73ac7278 authored by Gladys Forte's avatar Gladys Forte

completed and accepted, is editable, is_read retrieve

parent 82aa2fe8
......@@ -112,27 +112,33 @@ class ForgotPassword(APIView):
@transaction.atomic
def post(self, request, *args, **kwargs):
email = request.data['email']
username = request.data['username']
try:
user = request.user.email
except Exception as e:
user = str(settings.CATCH_EMAIL)
existingUser = User.objects.filter(email=email).first()
existingUser = User.objects.filter(
email=email,
username=username).first()
date_now = datetime.now()
if existingUser:
# Check if there's existing request
exToken = AuthToken\
.objects\
.filter(
user_id=existingUser.id,
is_active=True)\
user=existingUser.code,
is_active=True,
timeout_at__lt=date_now)\
.first()
if exToken:
raise ParseError('There is an existing password reset for this user.')
REF = 'AUTH'
TOKEN = ''
# TIMEOUT = 3600
PASSCODE = 0
# Generate Random token for TOKEN
......@@ -164,16 +170,8 @@ class ForgotPassword(APIView):
args = [str(PASSCODE), str(url), user, str(existingUser.email),
str(existingUser.name)]
# t1 = threading.Thread(target=sender.forgot_password, args=(args,))
# t1.start()
main_threading(args, sender.forgot_password)
# args = [str(PASSCODE), str(url), user, str(existingUser.email),
# str(existingUser.username)]
# t2 = threading.Thread(target=sender.forgot_password, args=(args,))
# t2.start()
# main_threading(args, sender.forgot_password)
main_threading(args, sender.forgot_password)
return Response(data={"detail": "Forgot Password Sent"},
status=status.HTTP_200_OK)
......@@ -189,14 +187,14 @@ class ValidateForgotPasswordResetToken(APIView):
@transaction.atomic
def post(self, request, *args, **kwargs):
token = request.data['token']
date_now = datetime.now()
existingToken = AuthToken.objects.filter(token=token).first()
if existingToken:
if not existingToken.is_active:
raise Exception('Request is no longer active')
elif existingToken.timeout_at < date_now:
elif existingToken.timeout_at > date_now:
raise Exception('Token already expired')
return Response(data={
......
......@@ -20,12 +20,27 @@ class ChangeRequestFormApproversSerializer(
"contact_no": instance.user.contact_no
}
ret['user'] = user_object
if instance.tmp_approver:
if instance.form_code.status == '' or instance.form_code.status == 'Draft':
if instance.tmp_approver.delegation.lower() == 'requestor':
ret['is_editable'] = False
elif instance.tmp_approver.user:
ret['is_editable'] = False
else:
ret['is_editable'] = True
else:
ret['is_editable'] = False
else:
ret['is_editable'] = False
return ret
except Exception as e:
ret['user'] = "none"
ret['department'] = "none"
ret['company'] = "none"
ret['is_editable'] = None
return ret
class Meta:
......
......@@ -177,7 +177,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
completed = self.queryset.filter(
status__iexact='Completed & Accepted' #Completed
).count()
high = self.queryset.filter(
requested_to_priority='High'
).count()
......@@ -241,10 +241,12 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
request.query_params.get('form_type'),
)
queryset = self.filter_queryset(self.queryset)
page = self.paginate_queryset(queryset)
if not request.query_params.get('status') == 'completed_accepted':
self.queryset = self.filter_queryset(self.queryset)
page = self.paginate_queryset(self.queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
......@@ -361,6 +363,14 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
)
def retrieve(self, request, *args, **kwargs):
id_number = self.request.user.code
form_code = kwargs['form_code']
models.Notification.objects.filter(
account_no=id_number,
form_code=form_code,
is_read=False).update(is_read=True)
instance = self.get_object()
serializer = self.get_serializer(instance)
return Response(serializer.data)
......
......@@ -188,7 +188,7 @@ def filter_status(base_queryset,
return_queryset = base_queryset
try:
if status:
if status == 'closed':
if status.lower() == 'completed_accepted':
status = 'Completed & Accepted'
return_queryset = return_queryset.filter(
......
......@@ -9,7 +9,7 @@
<h3 style="color:#888888;">Change Request Rejected</h3><br>
<p>Dear {name},</p><br>
<p>A change request you have completed has been rejected by the {delegation}.Please see the details of your change request below.</p><br>
<p>A change request you have completed has been rejected by the {delegation}. Please see the details of your change request below.</p><br>
<b>Rejected By</b><br>{action_by}<br><br>
<b>Routing Level</b><br>{routing_level}<br><br>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment