More initial sketching
This commit is contained in:
@@ -9,13 +9,13 @@
|
|||||||
<title>Fleet Management</title>
|
<title>Fleet Management</title>
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="keywords" content="">
|
<meta name="keywords" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="FreneticScribbler">
|
||||||
|
|
||||||
<link rel="stylesheet" href="{% static 'css/styles.css' %}">
|
<link rel="stylesheet" href="{% static 'css/styles.css' %}">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="bg-grey-lightest font-serif leading-normal tracking-normal">
|
<body class="bg-gray-900 font-sans leading-normal tracking-normal">
|
||||||
<div class="container mx-auto">
|
<div class="container mx-auto text-white py-4 text-center">
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,16 @@
|
|||||||
from django.contrib.auth.models import AbstractUser
|
from django.contrib.auth.models import AbstractUser
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
# Create your models here.
|
|
||||||
class CustomUser(AbstractUser):
|
class CustomUser(AbstractUser):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Licence(models.Model):
|
||||||
|
licence_number = models.CharField(max_length=100)
|
||||||
|
date_obtained = models.DateField()
|
||||||
|
# entitlements
|
||||||
|
|
||||||
|
|
||||||
|
class Driver(CustomUser):
|
||||||
|
licence = models.ForeignKey('Licence', on_delete=models.CASCADE)
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
# Register your models here.
|
from vehicles.models import Make, Model, Status, Vehicle
|
||||||
|
|
||||||
|
admin.site.register(Make)
|
||||||
|
admin.site.register(Model)
|
||||||
|
admin.site.register(Status)
|
||||||
|
admin.site.register(Vehicle)
|
||||||
|
|||||||
@@ -4,23 +4,45 @@ from django.db import models
|
|||||||
class Status(models.Model):
|
class Status(models.Model):
|
||||||
name = models.CharField(max_length=80)
|
name = models.CharField(max_length=80)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
class Make(models.Model):
|
class Make(models.Model):
|
||||||
name = models.CharField(max_length=80)
|
name = models.CharField(max_length=80)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
class Model(models.Model): # Cause that won't be a confusing name at all
|
class Model(models.Model): # Cause that won't be a confusing name at all
|
||||||
name = models.CharField(max_length=80)
|
name = models.CharField(max_length=80)
|
||||||
make = models.ForeignKey('Make', on_delete=models.CASCADE)
|
make = models.ForeignKey('Make', on_delete=models.CASCADE)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return "{} {}".format(self.make.name, self.name)
|
||||||
|
|
||||||
|
|
||||||
class Vehicle(models.Model):
|
class Vehicle(models.Model):
|
||||||
name = models.CharField(max_length=50)
|
name = models.CharField(max_length=50)
|
||||||
|
# color
|
||||||
|
|
||||||
|
yom = models.DateField()
|
||||||
|
first_registered = models.DateField()
|
||||||
|
date_purchased = models.DateField()
|
||||||
|
|
||||||
reg_number = models.CharField(max_length=7)
|
reg_number = models.CharField(max_length=7)
|
||||||
vin_number = models.CharField(max_length=50)
|
vin_number = models.CharField(max_length=50)
|
||||||
chassis_number = models.CharField(max_length=50)
|
chassis_number = models.CharField(max_length=50)
|
||||||
engine_number = models.CharField(max_length=50)
|
|
||||||
|
|
||||||
status = models.ForeignKey('Status', on_delete=models.CASCADE)
|
status = models.ForeignKey('Status', on_delete=models.CASCADE)
|
||||||
owner = models.ForeignKey('users.CustomUser', blank=True, null=True, on_delete=models.CASCADE)
|
owner = models.ForeignKey('users.CustomUser', blank=True, null=True, on_delete=models.CASCADE)
|
||||||
model = models.ForeignKey('Model', on_delete=models.CASCADE)
|
model = models.ForeignKey('Model', on_delete=models.CASCADE)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
|
class ICEVehicle(Vehicle):
|
||||||
|
engine_number = models.CharField(max_length=50)
|
||||||
|
capacity = models.IntegerField()
|
||||||
|
|||||||
5
vehicles/templates/vehicle_detail.html
Normal file
5
vehicles/templates/vehicle_detail.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1 class="text-2xl">Vehicle {{ object }}</h1>
|
||||||
|
{% endblock %}
|
||||||
@@ -1,5 +1,37 @@
|
|||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
Test!
|
<h1 class="text-2xl">All Vehicles</h1>
|
||||||
|
<table class="table-auto border">
|
||||||
|
<thead>
|
||||||
|
<th class="p-2">Name</th>
|
||||||
|
<th class="p-2">Make & Model</th>
|
||||||
|
<th class="p-2">Registration</th>
|
||||||
|
<th class="p-2">Owner</th>
|
||||||
|
<th class="p-2">Status</th>
|
||||||
|
<th class="p-2">VIN Number</th>
|
||||||
|
<th class="p-2">Engine Number</th>
|
||||||
|
<th class="p-2">Chassis Number</th>
|
||||||
|
<th></th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for object in object_list %}
|
||||||
|
<tr>
|
||||||
|
<th scope="row" class="p-2">{{ object.name }}</th>
|
||||||
|
<td class="p-2">{{ object.model }}</td>
|
||||||
|
<td class="bg-yellow-400 text-black font-black rounded text-xl px-2">{{ object.reg_number|slice:"4:" }} {{ object.reg_number|slice:":3" }}</td>
|
||||||
|
<td class="p-2">{{ object.owner|default:"God" }}</td>
|
||||||
|
<td class="p-2">{{ object.status }}</td>
|
||||||
|
<td class="p-2">{{ object.vin_number|default:"Unknown" }}</td>
|
||||||
|
<td class="p-2">{{ object.engine_number|default:"Unknown" }}</td>
|
||||||
|
<td class="p-2">{{ object.chassis_number|default:"Unknown" }}</td>
|
||||||
|
<td>{% url 'vehicle_detail' object.pk %}</td>
|
||||||
|
</tr>
|
||||||
|
{% empty %}
|
||||||
|
<tr class="bg-yellow-400">
|
||||||
|
<td span="10">Nothing found!</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
from django.urls import path
|
from django.urls import path
|
||||||
|
|
||||||
from .views import VehicleList
|
from . import views
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('list/', VehicleList.as_view(), name='vehicle_list')
|
path('list/', views.VehicleList.as_view(), name='vehicle_list'),
|
||||||
|
path('<int:pk>/', views.VehicleDetail.as_view(), name='vehicle_detail')
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.views.generic.list import ListView
|
from django.views import generic
|
||||||
|
|
||||||
from .models import Vehicle
|
from .models import Vehicle
|
||||||
|
|
||||||
|
|
||||||
class VehicleList(ListView):
|
class VehicleList(generic.ListView):
|
||||||
template_name = 'vehicle_list.html'
|
template_name = 'vehicle_list.html'
|
||||||
model = Vehicle
|
model = Vehicle
|
||||||
|
|
||||||
|
|
||||||
|
class VehicleDetail(generic.DetailView):
|
||||||
|
template_name = 'vehicle_detail.html'
|
||||||
|
model = Vehicle
|
||||||
|
|||||||
Reference in New Issue
Block a user