diff --git a/core/__pycache__/admin.cpython-311.pyc b/core/__pycache__/admin.cpython-311.pyc index cd6f855..7d80990 100644 Binary files a/core/__pycache__/admin.cpython-311.pyc and b/core/__pycache__/admin.cpython-311.pyc differ diff --git a/core/__pycache__/models.cpython-311.pyc b/core/__pycache__/models.cpython-311.pyc index 9aa598b..ca4aa1e 100644 Binary files a/core/__pycache__/models.cpython-311.pyc and b/core/__pycache__/models.cpython-311.pyc differ diff --git a/core/__pycache__/urls.cpython-311.pyc b/core/__pycache__/urls.cpython-311.pyc index 1f807fa..c61ea0b 100644 Binary files a/core/__pycache__/urls.cpython-311.pyc and b/core/__pycache__/urls.cpython-311.pyc differ diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 6867ddf..d947244 100644 Binary files a/core/__pycache__/views.cpython-311.pyc and b/core/__pycache__/views.cpython-311.pyc differ diff --git a/core/admin.py b/core/admin.py index 8c38f3f..093feca 100644 --- a/core/admin.py +++ b/core/admin.py @@ -1,3 +1,9 @@ from django.contrib import admin +from .models import Parcel -# Register your models here. +@admin.register(Parcel) +class ParcelAdmin(admin.ModelAdmin): + list_display = ('tracking_number', 'sender_name', 'recipient_name', 'status', 'assignee', 'received_date') + list_filter = ('status', 'assignee', 'received_date') + search_fields = ('tracking_number', 'sender_name', 'recipient_name', 'sender_email', 'recipient_email') + ordering = ('-received_date',) \ No newline at end of file diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py new file mode 100644 index 0000000..71f4da9 --- /dev/null +++ b/core/migrations/0001_initial.py @@ -0,0 +1,28 @@ +# Generated by Django 5.2.7 on 2026-01-11 15:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Parcel', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sender_name', models.CharField(max_length=255)), + ('sender_email', models.EmailField(max_length=254)), + ('recipient_name', models.CharField(max_length=255)), + ('recipient_email', models.EmailField(max_length=254)), + ('tracking_number', models.CharField(max_length=100, unique=True)), + ('status', models.CharField(choices=[('pending', 'Pending'), ('processed', 'Processed'), ('rejected', 'Rejected')], default='pending', max_length=20)), + ('assignee', models.CharField(blank=True, max_length=100, null=True)), + ('received_date', models.DateTimeField()), + ], + ), + ] diff --git a/core/migrations/__pycache__/0001_initial.cpython-311.pyc b/core/migrations/__pycache__/0001_initial.cpython-311.pyc new file mode 100644 index 0000000..e01b424 Binary files /dev/null and b/core/migrations/__pycache__/0001_initial.cpython-311.pyc differ diff --git a/core/models.py b/core/models.py index 71a8362..4924dee 100644 --- a/core/models.py +++ b/core/models.py @@ -1,3 +1,29 @@ from django.db import models -# Create your models here. +class Parcel(models.Model): + STATUS_CHOICES = [ + ('pending', 'Pending'), + ('processed', 'Processed'), + ('rejected', 'Rejected'), + ] + + sender_name = models.CharField(max_length=255) + sender_email = models.EmailField() + recipient_name = models.CharField(max_length=255) + recipient_email = models.EmailField() + tracking_number = models.CharField(max_length=100, unique=True) + status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='pending') + assignee = models.CharField(max_length=100, blank=True, null=True) + received_date = models.DateTimeField() + + def __str__(self): + return f"Parcel {self.tracking_number} for {self.recipient_name}" + + @property + def sender_initials(self): + if self.sender_name: + parts = self.sender_name.split() + if len(parts) > 1: + return (parts[0][0] + parts[-1][0]).upper() + return parts[0][0].upper() + return "?" \ No newline at end of file diff --git a/core/templates/base.html b/core/templates/base.html index 1e7e5fb..fc9862a 100644 --- a/core/templates/base.html +++ b/core/templates/base.html @@ -1,25 +1,60 @@ -
- -AppWizzy AI is collecting your requirements and applying the first changes.
-This page will refresh automatically as the plan is implemented.
-
- Runtime: Django {{ django_version }} · Python {{ python_version }}
- — UTC {{ current_time|date:"Y-m-d H:i:s" }}
-
| Sender | +Recipient | +Tracking # | +Status | +Assignee | +Received | +
|---|---|---|---|---|---|
|
+
+
+ {{ parcel.sender_initials }}
+
+
+ {{ parcel.sender_name }}
+ {{ parcel.sender_email }}
+ |
+
+ {{ parcel.recipient_name }}
+ {{ parcel.recipient_email }}
+ |
+ {{ parcel.tracking_number }} | ++ {% if parcel.status == 'processed' %} + Processed + {% elif parcel.status == 'rejected' %} + Rejected + {% else %} + Pending + {% endif %} + | +{{ parcel.assignee }} | +{{ parcel.received_date|date:"M d, Y, P" }} | +
+ No parcels found.+Click "Add Parcel" to get started. + |
+ |||||