|
|
|
|
@ -102,6 +102,37 @@ class BillDetailView(APIView): |
|
|
|
|
return Response("Permission denied", status=403) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class FindBillView(APIView): |
|
|
|
|
renderer_classes = (JSONRenderer,) |
|
|
|
|
status_code = 200 |
|
|
|
|
|
|
|
|
|
@staticmethod |
|
|
|
|
def get(request): |
|
|
|
|
if request.user.is_authenticated() and \ |
|
|
|
|
(request.user.is_superuser |
|
|
|
|
or request.user.groups.filter(name__in=['managers', 'lead_managers']).exists()): |
|
|
|
|
|
|
|
|
|
key = request.GET.get('key', None) |
|
|
|
|
count = int(request.GET.get('count', '10')) |
|
|
|
|
|
|
|
|
|
if key: |
|
|
|
|
res = Bill.objects.filter( |
|
|
|
|
Q(opener__email__contains=key.lower()) | Q(user__email__contains=key.lower()) |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
else: |
|
|
|
|
res = Bill.objects.all() |
|
|
|
|
|
|
|
|
|
res = res[:(count if len(res) > count else len(res))] |
|
|
|
|
|
|
|
|
|
return Response( |
|
|
|
|
[BillSerializer(i).data for i in res], |
|
|
|
|
status=200 |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
return Response('Permission denied', status=403) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class YandexPay(APIView): |
|
|
|
|
renderer_classes = (JSONRenderer,) |
|
|
|
|
|
|
|
|
|
|