Commit 7a3ba26a authored by Jenica Vizmanos's avatar Jenica Vizmanos

Created a dashboard app

parent 0695fe1e
from django.contrib import admin
from .models import Department, WidgetUser
class DepartmentAdmin(admin.ModelAdmin):
model = Department
search_fields = ('dept_name', 'home_unit')
list_display = ('dept_name', 'home_unit')
class WidgetUserAdmin(admin.ModelAdmin):
model = WidgetUser
search_fields = ('first_name', 'middle_name', 'last_name')
list_display = ('first_name', 'middle_name', 'last_name')
admin.site.register(Department, DepartmentAdmin)
admin.site.register(WidgetUser, WidgetUserAdmin)
\ No newline at end of file
from django.apps import AppConfig
class DashboardConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "dashboard"
# Generated by Django 4.1.6 on 2023-03-04 17:30
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = []
operations = [
migrations.CreateModel(
name="Department",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("dept_name", models.CharField(default="", max_length=255)),
("home_unit", models.CharField(default="", max_length=255)),
],
),
migrations.CreateModel(
name="WidgetUser",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("first_name", models.CharField(default="", max_length=255)),
("middle_name", models.CharField(default="", max_length=255)),
("last_name", models.CharField(default="", max_length=255)),
(
"department",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="dashboard.department",
),
),
],
),
]
from django.db import models
class Department(models.Model):
dept_name = models.CharField(max_length=255, default='')
home_unit = models.CharField(max_length=255, default='')
def __str__(self):
return 'Department Name and Home Unit: {}, {}'.format(self.dept_name, self.home_unit)
class WidgetUser(models.Model):
first_name = models.CharField(max_length=255, default='')
middle_name = models.CharField(max_length=255, default='')
last_name = models.CharField(max_length=255, default='')
department = models.ForeignKey(Department, on_delete=models.CASCADE)
def __str__(self):
return 'Name: {}, {} {}'.format(self.last_name, self.first_name, self.middle_name)
\ No newline at end of file
from django.test import TestCase
# Create your tests here.
from django.urls import path
from .views import index
urlpatterns = [
path('', index, name='index')
]
app_name = 'dashboard'
\ No newline at end of file
from django.shortcuts import render
from django.http import HttpResponse
from .models import WidgetUser
def index(request):
return_string = '<p>Welcome to Widget!</p> <p>WIDGET USERS:<br>'
for user in WidgetUser.objects.all():
user_string = '{}, {} {}: {}, {}<br>'.format(
user.last_name, user.first_name, user.middle_name,
user.department.dept_name, user.department.home_unit
)
return_string += user_string
return_string += '</p>'
html_string = '<html><body>{}</body></html>'.format(return_string)
return HttpResponse(html_string)
\ No newline at end of file
...@@ -41,6 +41,7 @@ INSTALLED_APPS = [ ...@@ -41,6 +41,7 @@ INSTALLED_APPS = [
'django.contrib.sessions', 'django.contrib.sessions',
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'dashboard',
] ]
MIDDLEWARE = [ MIDDLEWARE = [
......
...@@ -14,8 +14,9 @@ Including another URLconf ...@@ -14,8 +14,9 @@ Including another URLconf
2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
""" """
from django.contrib import admin from django.contrib import admin
from django.urls import path from django.urls import path, include
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
path('dashboard/', include('dashboard.urls', namespace='dashboard')),
] ]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment