Skip to content

Commit a33ad33

Browse files
committed
Move model to database
1 parent c497de6 commit a33ad33

17 files changed

Lines changed: 149 additions & 110 deletions

backendapi/admin.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1 @@
11
from django.contrib import admin
2-
from .models import Attendant
3-
4-
5-
class AttendantAdmin(admin.ModelAdmin):
6-
list_display = ["first_name", "last_name", "email", "phone_number"]
7-
8-
9-
admin.site.register(Attendant, AttendantAdmin)

backendapi/converters.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class BinaryHexConverter:
55
regex = "(?:[0-9a-fA-F]{2})+"
66

77
def to_python(self, value: str) -> bytes:
8-
return b16decode(value, casefold=True)
8+
return b16encode(b16decode(value, casefold=True)).decode
99

1010
def to_url(self, value: bytes) -> str:
11-
return b16encode(value).decode()
11+
return value

backendapi/forms.py

Lines changed: 51 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,60 @@
11
from django import forms
2-
from .models import Attendant # Import your model
2+
from database.models import Attendant, Crewmember, Crews
3+
4+
5+
class AttendantNFCForm(forms.ModelForm):
6+
prefix = "attendant"
37

4-
class RegistrationForm(forms.ModelForm):
58
class Meta:
6-
model = Attendant # Link the form to the Attendant model
9+
model = Attendant
710
fields = [
8-
'first_name',
9-
'last_name',
10-
'email',
11-
'discord',
12-
'phone_number',
13-
'crew',
14-
'ticketCrewID',
15-
'profile_image'
11+
"nfc_id",
1612
]
1713
widgets = {
18-
'first_name': forms.TextInput(attrs={"class": "form-input", "placeholder": "Ola"}),
19-
'last_name': forms.TextInput(attrs={"class": "form-input", "placeholder": "Nordmann"}),
20-
'email': forms.EmailInput(attrs={"class": "form-input", "placeholder": "example@email.com"}),
21-
'discord': forms.TextInput(attrs={"class": "form-input", "placeholder": "Discord#1234"}),
22-
'phone_number': forms.TextInput(attrs={"class": "form-input", "placeholder": "+123456789"}),
23-
'crew': forms.TextInput(attrs={"class": "form-input", "placeholder": "Enter your crew name"}),
24-
'ticketCrewID': forms.TextInput(attrs={"class": "form-input", "placeholder": "Ticket ID", "disabled": True}),
25-
}
26-
ticketCrewID = forms.CharField(required=False)
14+
"nfc_id": forms.TextInput(
15+
attrs={
16+
"class": "form-input",
17+
"placeholder": "Scan NFC tag...",
18+
# "disabled": True,
19+
}
20+
),
21+
}
2722

2823

24+
class CrewmemberForm(forms.ModelForm):
25+
# Allow multiple (different) forms in single page
26+
# Can also be specified as an argument to the class init
27+
prefix = "crewmember"
2928

29+
class Meta:
30+
model = Crewmember # Link the form to the Attendant model
31+
fields = [
32+
"first_name",
33+
"last_name",
34+
"email",
35+
"discord",
36+
"phone_number",
37+
"crew",
38+
"profile_image",
39+
]
40+
widgets = {
41+
"first_name": forms.TextInput(
42+
attrs={"class": "form-input", "placeholder": "Ola"}
43+
),
44+
"last_name": forms.TextInput(
45+
attrs={"class": "form-input", "placeholder": "Nordmann"}
46+
),
47+
"email": forms.EmailInput(
48+
attrs={"class": "form-input", "placeholder": "email@example.com"}
49+
),
50+
"discord": forms.TextInput(
51+
attrs={"class": "form-input", "placeholder": "Discord#1234"}
52+
),
53+
"phone_number": forms.TextInput(
54+
attrs={"class": "form-input", "placeholder": "+47012345678"}
55+
),
56+
"crew": forms.TextInput(
57+
# Crews.objects.all(),
58+
attrs={"class": "form-input", "placeholder": "Select crew..."},
59+
),
60+
}

backendapi/migrations/0002_delete_attendant.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
class Migration(migrations.Migration):
77

88
dependencies = [
9-
('backendapi', '0001_initial'),
9+
("backendapi", "0001_initial"),
1010
]
1111

1212
operations = [
1313
migrations.DeleteModel(
14-
name='Attendant',
14+
name="Attendant",
1515
),
1616
]

backendapi/migrations/0003_initial.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,26 @@ class Migration(migrations.Migration):
88
initial = True
99

1010
dependencies = [
11-
('backendapi', '0002_delete_attendant'),
11+
("backendapi", "0002_delete_attendant"),
1212
]
1313

1414
operations = [
1515
migrations.CreateModel(
16-
name='Attendant',
16+
name="Attendant",
1717
fields=[
18-
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
19-
('first_name', models.CharField(max_length=30)),
20-
('last_name', models.CharField(max_length=30)),
21-
('email', models.EmailField(max_length=100)),
22-
('phone_number', models.CharField(max_length=12)),
18+
(
19+
"id",
20+
models.BigAutoField(
21+
auto_created=True,
22+
primary_key=True,
23+
serialize=False,
24+
verbose_name="ID",
25+
),
26+
),
27+
("first_name", models.CharField(max_length=30)),
28+
("last_name", models.CharField(max_length=30)),
29+
("email", models.EmailField(max_length=100)),
30+
("phone_number", models.CharField(max_length=12)),
2331
],
2432
),
2533
]

backendapi/migrations/0004_attendant_crew_attendant_discord_and_more.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,50 +6,50 @@
66
class Migration(migrations.Migration):
77

88
dependencies = [
9-
('backendapi', '0003_initial'),
9+
("backendapi", "0003_initial"),
1010
]
1111

1212
operations = [
1313
migrations.AddField(
14-
model_name='attendant',
15-
name='crew',
16-
field=models.CharField(default='Undefined crew', max_length=100),
14+
model_name="attendant",
15+
name="crew",
16+
field=models.CharField(default="Undefined crew", max_length=100),
1717
),
1818
migrations.AddField(
19-
model_name='attendant',
20-
name='discord',
19+
model_name="attendant",
20+
name="discord",
2121
field=models.CharField(default=False, max_length=100),
2222
preserve_default=False,
2323
),
2424
migrations.AddField(
25-
model_name='attendant',
26-
name='profile_image',
27-
field=models.ImageField(blank=True, null=True, upload_to='profile_images/'),
25+
model_name="attendant",
26+
name="profile_image",
27+
field=models.ImageField(blank=True, null=True, upload_to="profile_images/"),
2828
),
2929
migrations.AddField(
30-
model_name='attendant',
31-
name='ticketCrewID',
30+
model_name="attendant",
31+
name="ticketCrewID",
3232
field=models.CharField(default=False, max_length=100),
3333
preserve_default=False,
3434
),
3535
migrations.AlterField(
36-
model_name='attendant',
37-
name='email',
36+
model_name="attendant",
37+
name="email",
3838
field=models.EmailField(max_length=200),
3939
),
4040
migrations.AlterField(
41-
model_name='attendant',
42-
name='first_name',
41+
model_name="attendant",
42+
name="first_name",
4343
field=models.CharField(max_length=100),
4444
),
4545
migrations.AlterField(
46-
model_name='attendant',
47-
name='last_name',
46+
model_name="attendant",
47+
name="last_name",
4848
field=models.CharField(max_length=100),
4949
),
5050
migrations.AlterField(
51-
model_name='attendant',
52-
name='phone_number',
51+
model_name="attendant",
52+
name="phone_number",
5353
field=models.CharField(max_length=15),
5454
),
5555
]

backendapi/migrations/0005_alter_attendant_crew_alter_attendant_ticketcrewid.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@
66
class Migration(migrations.Migration):
77

88
dependencies = [
9-
('backendapi', '0004_attendant_crew_attendant_discord_and_more'),
9+
("backendapi", "0004_attendant_crew_attendant_discord_and_more"),
1010
]
1111

1212
operations = [
1313
migrations.AlterField(
14-
model_name='attendant',
15-
name='crew',
14+
model_name="attendant",
15+
name="crew",
1616
field=models.CharField(max_length=100),
1717
),
1818
migrations.AlterField(
19-
model_name='attendant',
20-
name='ticketCrewID',
19+
model_name="attendant",
20+
name="ticketCrewID",
2121
field=models.CharField(max_length=100, null=True),
2222
),
2323
]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Generated by Django 5.1.5 on 2025-02-20 14:45
2+
3+
from django.db import migrations
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("backendapi", "0005_alter_attendant_crew_alter_attendant_ticketcrewid"),
10+
]
11+
12+
operations = [
13+
migrations.DeleteModel(
14+
name="Attendant",
15+
),
16+
]

backendapi/models.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,4 @@
22
from rest_framework import serializers
33
from django.contrib.auth.models import User
44

5-
6-
7-
class Attendant(models.Model):
8-
first_name = models.CharField(max_length=100)
9-
last_name = models.CharField(max_length=100)
10-
email = models.EmailField(max_length=200)
11-
discord = models.CharField(max_length=100)
12-
phone_number = models.CharField(max_length=15)
13-
crew = models.CharField(max_length=100)
14-
ticketCrewID = models.CharField(max_length=100, null=True)
15-
profile_image = models.ImageField(upload_to='profile_images/', blank=True, null=True)
16-
17-
def __str__(self):
18-
return f"{self.first_name} {self.last_name}"
19-
205
# Create your models here.

backendapi/serializers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import re
22
from rest_framework import serializers
33
from django.conf import settings
4-
from .models import Attendant
4+
from database.models import Crewmember
55

66
# Serializer for the Attendant model: handles validation, serialization, and desersialization of data.
77
# Change the model later depending on requirements. Please tell me what, and il remake the model later to fit requirements.
88

99

10-
class AttendantAdmin(serializers.ModelSerializer): # defined a serialiser class
10+
class CrewmemberAdmin(serializers.ModelSerializer): # defined a serialiser class
1111
first_name = serializers.CharField(
1212
label=("First Name* "), # Labels for the field
1313
required=True, # This makes the fields required.
@@ -68,7 +68,7 @@ class AttendantAdmin(serializers.ModelSerializer): # defined a serialiser class
6868
)
6969

7070
class Meta:
71-
model = Attendant
71+
model = Crewmember
7272
fields = ["first_name", "last_name", "email", "phone_number"]
7373

7474

0 commit comments

Comments
 (0)