Exemple #1
0
    def post(self, request, *args, **kwargs):
        form = ReturnsLogEntryForm(data=request.POST, files=request.FILES)
        if form.is_valid():
            ret = get_object_or_404(Return, pk=args[0])

            customer = ret.licence.holder

            staff = request.user

            kwargs = {
                "staff": staff,
                "customer": customer,
                "ret": ret,
                "type": form.cleaned_data["type"],
                "text": form.cleaned_data["text"],
                "subject": form.cleaned_data["subject"],
                "to": form.cleaned_data["to"],
                "fromm": form.cleaned_data["fromm"],
            }
            entry = ReturnLogEntry.objects.create(**kwargs)
            if request.FILES and "attachment" in request.FILES:
                document = Document.objects.create(file=request.FILES["attachment"])
                entry.documents.add(document)

            return JsonResponse("ok", safe=False, encoder=WildlifeLicensingJSONEncoder)
        else:
            return JsonResponse(
                {"errors": [{"status": "422", "title": "Data not valid", "detail": form.errors}]},
                safe=False,
                encoder=WildlifeLicensingJSONEncoder,
                status_code=422,
            )
Exemple #2
0
    def get_context_data(self, **kwargs):
        ctx = super(CurateReturnView, self).get_context_data(**kwargs)
        ret = ctx['return']
        ctx['return'] = serialize(
            ret,
            posthook=format_return,
            exclude=['application', 'applicationrequest_ptr', 'licence'])

        if ret.proxy_customer is None:
            to = ret.licence.holder
        else:
            to = ret.proxy_customer

        ctx['log_entry_form'] = ReturnsLogEntryForm(
            to=to.get_full_name(),
            fromm=self.request.user.get_full_name(),
        )

        ctx['amendment_request_form'] = ReturnAmendmentRequestForm(
            ret=ret, officer=self.request.user)

        amendment_requests = ReturnAmendmentRequest.objects.filter(ret=ret)
        ctx['amendment_requests'] = serialize(amendment_requests,
                                              fields=['status', 'reason'])
        return ctx
Exemple #3
0
    def post(self, request, *args, **kwargs):
        form = ReturnsLogEntryForm(data=request.POST, files=request.FILES)
        if form.is_valid():
            ret = get_object_or_404(Return, pk=args[0])

            customer = ret.licence.holder

            staff = request.user

            kwargs = {
                'staff': staff,
                'customer': customer,
                'ret': ret,
                'type': form.cleaned_data['type'],
                'text': form.cleaned_data['text'],
                'subject': form.cleaned_data['subject'],
                'to': form.cleaned_data['to'],
                'fromm': form.cleaned_data['fromm']
            }
            entry = ReturnLogEntry.objects.create(**kwargs)
            if request.FILES and 'attachment' in request.FILES:
                document = Document.objects.create(
                    file=request.FILES['attachment'])
                entry.documents.add(document)

            return JsonResponse('ok',
                                safe=False,
                                encoder=WildlifeLicensingJSONEncoder)
        else:
            return JsonResponse(
                {
                    "errors": [{
                        'status': "422",
                        'title': 'Data not valid',
                        'detail': form.errors
                    }]
                },
                safe=False,
                encoder=WildlifeLicensingJSONEncoder,
                status=422)
Exemple #4
0
    def post(self, request, *args, **kwargs):
        form = ReturnsLogEntryForm(data=request.POST, files=request.FILES)
        if form.is_valid():
            ret = get_object_or_404(Return, pk=args[0])

            customer = ret.licence.holder

            staff = request.user

            kwargs = {
                'staff': staff,
                'customer': customer,
                'ret': ret,
                'type': form.cleaned_data['type'],
                'text': form.cleaned_data['text'],
                'subject': form.cleaned_data['subject'],
                'to': form.cleaned_data['to'],
                'fromm': form.cleaned_data['fromm']
            }
            entry = ReturnLogEntry.objects.create(**kwargs)
            if request.FILES and 'attachment' in request.FILES:
                document = Document.objects.create(file=request.FILES['attachment'])
                entry.documents.add(document)

            return JsonResponse('ok', safe=False, encoder=WildlifeLicensingJSONEncoder)
        else:
            return JsonResponse(
                {
                    "errors": [
                        {
                            'status': "422",
                            'title': 'Data not valid',
                            'detail': form.errors
                        }
                    ]
                },
                safe=False, encoder=WildlifeLicensingJSONEncoder, status_code=422)
Exemple #5
0
    def get_context_data(self, **kwargs):
        ctx = super(CurateReturnView, self).get_context_data(**kwargs)
        ret = ctx['return']
        ctx['return'] = serialize(ret, posthook=format_return)

        if ret.proxy_customer is None:
            to = ret.licence.holder
        else:
            to = ret.proxy_customer

        ctx['log_entry_form'] = ReturnsLogEntryForm(
            to=to.get_full_name(),
            fromm=self.request.user.get_full_name(),
        )
        return ctx
Exemple #6
0
    def get_context_data(self, **kwargs):
        ret = get_object_or_404(Return, pk=self.args[0])

        kwargs['return'] = serialize(ret, posthook=format_return)

        kwargs['tables'] = []

        for resource in ret.return_type.resources:
            resource_name = resource.get('name')
            schema = Schema(resource.get('schema'))
            table = {
                'name': resource_name,
                'title': resource.get('title', resource.get('name')),
                'headers': schema.headers
            }

            try:
                return_table = ret.returntable_set.get(name=resource_name)
                rows = [
                    return_row.data
                    for return_row in return_table.returnrow_set.all()
                ]
                validated_rows = list(schema.rows_validator(rows))
                table['data'] = validated_rows
            except ReturnTable.DoesNotExist:
                pass

            kwargs['tables'].append(table)

        kwargs['upload_spreadsheet_form'] = UploadSpreadsheetForm()

        if ret.proxy_customer is None:
            to = ret.licence.holder
        else:
            to = ret.proxy_customer

        kwargs['log_entry_form'] = ReturnsLogEntryForm(
            to=to.get_full_name(),
            fromm=self.request.user.get_full_name(),
        )

        return super(CurateReturnView, self).get_context_data(**kwargs)