From f392a19bfc5467129b1f5f5a2d9954f21a815c3d Mon Sep 17 00:00:00 2001 From: kj1352 Date: Tue, 12 Jul 2022 19:49:44 +0530 Subject: [PATCH] Added draft models related to client, employee, project, invoice & representative --- client/__init__.py | 0 client/admin.py | 3 +++ client/apps.py | 6 ++++++ client/models.py | 9 +++++++++ client/tests.py | 3 +++ client/views.py | 3 +++ employee/__init__.py | 0 employee/admin.py | 3 +++ employee/apps.py | 6 ++++++ employee/models.py | 16 ++++++++++++++++ employee/tests.py | 3 +++ employee/views.py | 3 +++ invoice/__init__.py | 0 invoice/admin.py | 3 +++ invoice/apps.py | 6 ++++++ invoice/models.py | 13 +++++++++++++ invoice/tests.py | 3 +++ invoice/views.py | 3 +++ project/__init__.py | 0 project/admin.py | 3 +++ project/apps.py | 6 ++++++ project/models.py | 11 +++++++++++ project/tests.py | 3 +++ project/views.py | 3 +++ representative/__init__.py | 0 representative/admin.py | 3 +++ representative/apps.py | 6 ++++++ representative/models.py | 15 +++++++++++++++ representative/tests.py | 3 +++ representative/views.py | 3 +++ workx_backend/settings/base.py | 7 ++++++- 31 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 client/__init__.py create mode 100644 client/admin.py create mode 100644 client/apps.py create mode 100644 client/models.py create mode 100644 client/tests.py create mode 100644 client/views.py create mode 100644 employee/__init__.py create mode 100644 employee/admin.py create mode 100644 employee/apps.py create mode 100644 employee/models.py create mode 100644 employee/tests.py create mode 100644 employee/views.py create mode 100644 invoice/__init__.py create mode 100644 invoice/admin.py create mode 100644 invoice/apps.py create mode 100644 invoice/models.py create mode 100644 invoice/tests.py create mode 100644 invoice/views.py create mode 100644 project/__init__.py create mode 100644 project/admin.py create mode 100644 project/apps.py create mode 100644 project/models.py create mode 100644 project/tests.py create mode 100644 project/views.py create mode 100644 representative/__init__.py create mode 100644 representative/admin.py create mode 100644 representative/apps.py create mode 100644 representative/models.py create mode 100644 representative/tests.py create mode 100644 representative/views.py diff --git a/client/__init__.py b/client/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/client/admin.py b/client/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/client/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/client/apps.py b/client/apps.py new file mode 100644 index 0000000..20d81d8 --- /dev/null +++ b/client/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class ClientConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'client' diff --git a/client/models.py b/client/models.py new file mode 100644 index 0000000..85eafbd --- /dev/null +++ b/client/models.py @@ -0,0 +1,9 @@ +from django.db import models + + +class Client(models.Model): + name = models.CharField(max_length=30) + tax_id = models.CharField(max_length=30) + + def __str__(self): + return self.name diff --git a/client/tests.py b/client/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/client/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/client/views.py b/client/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/client/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/employee/__init__.py b/employee/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/employee/admin.py b/employee/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/employee/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/employee/apps.py b/employee/apps.py new file mode 100644 index 0000000..b5ef142 --- /dev/null +++ b/employee/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class EmployeeConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'employee' diff --git a/employee/models.py b/employee/models.py new file mode 100644 index 0000000..405a8b7 --- /dev/null +++ b/employee/models.py @@ -0,0 +1,16 @@ +from django.contrib.auth.models import User +from django.db import models +from project.models import Project + + +class Employee(models.Model): + user = models.ForeignKey(User) + phone = models.CharField(max_length=15) + salary = models.FloatField() + emp_id = models.CharField(max_length=15) + start_date = models.DateField() + end_date = models.DateField(null=True, blank=True) + projects = models.ManyToManyField(Project) + + def __str__(self): + return self.name diff --git a/employee/tests.py b/employee/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/employee/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/employee/views.py b/employee/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/employee/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/invoice/__init__.py b/invoice/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/invoice/admin.py b/invoice/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/invoice/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/invoice/apps.py b/invoice/apps.py new file mode 100644 index 0000000..640ed3f --- /dev/null +++ b/invoice/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class InvoiceConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'invoice' diff --git a/invoice/models.py b/invoice/models.py new file mode 100644 index 0000000..a3624c1 --- /dev/null +++ b/invoice/models.py @@ -0,0 +1,13 @@ +from django.db import models +from project.models import Project + + +class Invoice(models.Model): + project = models.ForeignKey(Project) + invoice_id = models.CharField(max_length=15) + raised_date = models.DateField() + due_date = models.DateField() + is_paid = models.BooleanField() + + def __str__(self): + return self.invoice_id diff --git a/invoice/tests.py b/invoice/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/invoice/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/invoice/views.py b/invoice/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/invoice/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/project/__init__.py b/project/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/project/admin.py b/project/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/project/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/project/apps.py b/project/apps.py new file mode 100644 index 0000000..9f1761b --- /dev/null +++ b/project/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class ProjectConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'project' diff --git a/project/models.py b/project/models.py new file mode 100644 index 0000000..d1996a3 --- /dev/null +++ b/project/models.py @@ -0,0 +1,11 @@ +from django.db import models +from client.models import Client + + +class Project(models.Model): + name = models.CharField(max_length=30) + price = models.FloatField() + client = models.ForeignKey(Client) + + def __str__(self): + return self.name diff --git a/project/tests.py b/project/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/project/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/project/views.py b/project/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/project/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/representative/__init__.py b/representative/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/representative/admin.py b/representative/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/representative/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/representative/apps.py b/representative/apps.py new file mode 100644 index 0000000..ff5da47 --- /dev/null +++ b/representative/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class RepresentativeConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'representative' diff --git a/representative/models.py b/representative/models.py new file mode 100644 index 0000000..1fc98f1 --- /dev/null +++ b/representative/models.py @@ -0,0 +1,15 @@ +from django.contrib.auth.models import User +from django.db import models +from project.models import Project +from client.models import Client + + +class Representative(models.Model): + user = models.ForeignKey(User) + phone = models.CharField(max_length=15) + role = models.CharField(max_length=15) + projects = models.ManyToManyField(Project) + clients = models.ManyToManyField(Client) + + def __str__(self): + return self.user.name diff --git a/representative/tests.py b/representative/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/representative/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/representative/views.py b/representative/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/representative/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/workx_backend/settings/base.py b/workx_backend/settings/base.py index 2254da1..b56f11a 100644 --- a/workx_backend/settings/base.py +++ b/workx_backend/settings/base.py @@ -23,7 +23,12 @@ INSTALLED_APPS = [ 'rest_framework', 'rest_framework.authtoken', 'drfpasswordless', - 'drf_yasg' + 'drf_yasg', + 'client', + 'employee', + 'invoice', + 'project', + 'representative' ] PASSWORDLESS_AUTH = {