|
6 | 6 |
|
7 | 7 | class Attendant(models.Model): |
8 | 8 | ticket_id = models.CharField(max_length=128, unique=True, null=True, blank=True) |
9 | | - nfc_id = models.BinaryField(max_length=7, unique=True, null=False, blank=False) |
| 9 | + nfc_id = models.CharField(max_length=14, unique=True, null=False, blank=False) |
10 | 10 | is_crew = models.BooleanField(default=False) |
11 | 11 | _is_valid = models.BooleanField(name="is_valid", default=True) |
12 | 12 |
|
| 13 | + crewinfo = models.ForeignKey( |
| 14 | + "Crewmember", on_delete=models.CASCADE, default=None, null=True |
| 15 | + ) |
| 16 | + |
13 | 17 | @property |
14 | 18 | def is_valid(self): |
15 | 19 | # TODO: Validate daily ticket here |
16 | 20 | return self._is_valid |
17 | 21 |
|
18 | 22 |
|
| 23 | +class Crews(models.Model): |
| 24 | + name = models.CharField(max_length=32) |
19 | 25 |
|
20 | | -class Crew(models.Model): |
21 | | - attendant = models.ForeignKey(Attendant,on_delete=models.CASCADE) ##if we are deleting attandant object, delete crew aswell. |
22 | | - first_name = models.CharField(max_length=30) |
23 | | - last_name = models.CharField(max_length=30) |
24 | | - email = models.EmailField(max_length=100) |
25 | | - phone_number = models.CharField(max_length=12) |
26 | 26 |
|
| 27 | +class Crewmember(models.Model): |
| 28 | + first_name = models.CharField(max_length=100) |
| 29 | + last_name = models.CharField(max_length=100) |
| 30 | + email = models.EmailField(max_length=200) |
27 | 31 | discord = models.CharField( |
28 | 32 | max_length=32, |
29 | 33 | unique=True, |
30 | 34 | null=True, |
31 | 35 | blank=True, |
32 | 36 | validators=[discord_username_validator], |
33 | 37 | ) |
| 38 | + phone_number = models.CharField(max_length=15) |
| 39 | + crew = models.ForeignKey(Crews, on_delete=models.SET_NULL, null=True) |
| 40 | + profile_image = models.ImageField( |
| 41 | + upload_to="profile_images/", blank=True, null=True |
| 42 | + ) |
34 | 43 |
|
35 | 44 | def __str__(self): |
36 | 45 | return f"{self.first_name} {self.last_name}" |
37 | | - |
38 | | - |
|
0 commit comments