Ver a proveniência

Partial commit -- invoice item API

master
kj1352 há 3 anos
ascendente
cometimento
9150dc42b3
6 ficheiros alterados com 53 adições e 5 eliminações
  1. +3
    -1
      invoice/admin.py
  2. +1
    -1
      invoice/models.py
  3. +14
    -0
      invoice/serializers.py
  4. +7
    -0
      invoice/urls.py
  5. +25
    -2
      invoice/views.py
  6. +3
    -1
      workx_backend/urls.py

+ 3
- 1
invoice/admin.py Ver ficheiro

@@ -1,3 +1,5 @@
from django.contrib import admin
from .models import *

# Register your models here.

admin.site.register([Invoice, Item])

+ 1
- 1
invoice/models.py Ver ficheiro

@@ -25,4 +25,4 @@ class Item(models.Model):
return self.amount * self.quantity

def __str__(self):
return self.name
return self.id

+ 14
- 0
invoice/serializers.py Ver ficheiro

@@ -0,0 +1,14 @@
from rest_framework import serializers
from .models import Item, Invoice


class ItemSerializer(serializers.ModelSerializer):
class Meta:
model = Item
fields = ['id', 'name', 'amount', 'quantity', 'invoice', 'item_total']


class InvoiceSerializer(serializers.ModelSerializer):
class Meta:
model = Invoice
fields = ['id', 'project', 'invoice_id', 'raised_date', 'due_date', 'paid_date', 'is_archived']

+ 7
- 0
invoice/urls.py Ver ficheiro

@@ -0,0 +1,7 @@
from django.urls import path
from . import views

urlpatterns = [
path('invoices/', views.InvoiceList.as_view()),
path('invoice-items/', views.ItemList.as_view()),
]

+ 25
- 2
invoice/views.py Ver ficheiro

@@ -1,3 +1,26 @@
from django.shortcuts import render
from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.authentication import TokenAuthentication, SessionAuthentication
from rest_framework.permissions import IsAuthenticated
from .models import Item, Invoice
from .serializers import ItemSerializer, InvoiceSerializer

# Create your views here.

class ItemList(APIView):
authentication_classes = [TokenAuthentication, SessionAuthentication]
permission_classes = [IsAuthenticated]

def get(self, request):
items = Item.objects.filter(pk=Item.invoice)
serializer = ItemSerializer(items, many=True)
return Response(serializer.data)


class InvoiceList(APIView):
authentication_classes = [TokenAuthentication, SessionAuthentication]
permission_classes = [IsAuthenticated]

def get(self, request):
items = Invoice.objects.all()
serializer = InvoiceSerializer(items, many=True)
return Response(serializer.data)

+ 3
- 1
workx_backend/urls.py Ver ficheiro

@@ -7,6 +7,7 @@ from client import urls as clientUrls
from employee import urls as employeeUrls
from project import urls as projectUrls
from representative import urls as representativeUrls
from invoice import urls as invoiceUrls


schema_view = get_schema_view(
@@ -33,7 +34,8 @@ urlpatterns = [
path('', include(clientUrls)),
path('', include(employeeUrls)),
path('', include(projectUrls)),
path('', include(representativeUrls))
path('', include(representativeUrls)),
path('', include(invoiceUrls))
]))
])),
]