Преглед изворни кода

Partial commit -- invoice item API

master
kj1352 пре 3 година
родитељ
комит
9150dc42b3
6 измењених фајлова са 53 додато и 5 уклоњено
  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 Прегледај датотеку

@@ -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 Прегледај датотеку

@@ -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 Прегледај датотеку

@@ -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 Прегледај датотеку

@@ -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 Прегледај датотеку

@@ -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 Прегледај датотеку

@@ -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))
]))
])),
]