예제 #1
0
 def approve(self, request, pk=None):
     instance = self.get_object()
     if not instance.is_approved:
         data = {'is_approved': True, 'approval_time': timezone.now()}
         serializer = self.get_serializer(instance, data, partial=True)
         serializer.is_valid(raise_exception=True)
         serializer.save()
         return response.Ok(serializer.data)
     else:
         serializer = self.get_serializer(instance)
         return response.Ok(serializer.data)
예제 #2
0
파일: tests.py 프로젝트: DELHIINDIA/lawsuit
 def login(self, request):
     serializer = self.get_serializer(data=request.data)
     serializer.is_valid(raise_exception=True)
     user = user_services.get_and_authenticate_user(
         **serializer.validated_data)
     data = serializers.AuthUserSerializer(user).data
     return response.Ok(data)
예제 #3
0
 def delete_image(self, request, pk=None):
     instance = self.get_object()
     if not instance.image:
         return response.BadRequest(
             {'error_message': 'Image is not present for this post'})
     instance.image.delete(save=True)
     serializer = self.get_serializer(instance)
     return response.Ok(serializer.data)
예제 #4
0
파일: api.py 프로젝트: storymode7/nexus
 def partial_update(self, request):
     """Update logged in user profile"""
     instance = self.get_object()
     serializer = self.get_serializer(instance,
                                      data=request.data,
                                      partial=True)
     serializer.is_valid(raise_exception=True)
     serializer.save()
     return response.Ok(serializer.data)
예제 #5
0
파일: tests.py 프로젝트: DELHIINDIA/lawsuit
 def password_reset(self, request):
     serializer = self.get_serializer(data=request.data)
     serializer.is_valid(raise_exception=True)
     user = user_services.get_user_by_email(serializer.data['email'])
     if user:
         services.send_password_reset_mail(user)
     return response.Ok({
         'message':
         'Further instructions will be sent to the email if it exists'
     })
예제 #6
0
 def upload_image(self, request, pk=None):
     instance = self.get_object()
     if request.FILES:
         data = request.data
         serializer = self.get_serializer(instance, data, partial=True)
         serializer.is_valid(raise_exception=True)
         serializer.save()
         return response.Ok(serializer.data)
     return response.BadRequest(
         {'error_message': 'Image file missing from the request'})
예제 #7
0
파일: api.py 프로젝트: storymode7/nexus
 def retract(self, request, pk):
     proposal = get_object_or_404(models.Proposal, pk=pk)
     has_perm('can_retract_proposal',
              request.user,
              proposal,
              raise_exception=True)
     data = {
         'status': models.Proposal.STATUS_CHOICES.RETRACTED,
     }
     serializer = self.get_serializer(proposal, data, partial=True)
     serializer.is_valid(raise_exception=True)
     serializer.save()
     return response.Ok(serializer.data)
예제 #8
0
파일: api.py 프로젝트: storymode7/nexus
 def accept(self, request, pk):
     proposal = get_object_or_404(models.Proposal, pk=pk)
     has_perm('can_accept_proposal',
              request.user,
              proposal,
              raise_exception=True)
     data = {
         'status': models.Proposal.STATUS_CHOICES.ACCEPTED,
         'accepted_at': timezone.now(),
     }
     serializer = self.get_serializer(proposal, data, partial=True)
     serializer.is_valid(raise_exception=True)
     serializer.save()
     return response.Ok(serializer.data)
예제 #9
0
 def unapprove(self, request, pk=None):
     instance = self.get_object()
     if not instance.is_approved:
         return response.BadRequest(
             {'error_message': 'Post has not been approved yet'})
     elif not instance.is_posted:
         data = {'is_approved': False, 'approval_time': None}
         serializer = self.get_serializer(instance, data, partial=True)
         serializer.is_valid(raise_exception=True)
         serializer.save()
         return response.Ok(serializer.data)
     else:
         return response.BadRequest({
             'error_message':
             'Can not unapprove, post has already been published'
         })
예제 #10
0
파일: api.py 프로젝트: storymode7/nexus
 def list(self, request):
     """Get logged in user profile"""
     serializer = self.get_serializer(self.get_object())
     return response.Ok(serializer.data)
예제 #11
0
파일: tests.py 프로젝트: DELHIINDIA/lawsuit
 def logout(self, request):
     """
     Calls Django logout method; Does not work for UserTokenAuth.
     """
     logout(request)
     return response.Ok({"success": "Successfully logged out."})