refine teamsnap user

Use fields for User from TeamSnap. Removed Token from this model.
This commit is contained in:
2021-12-13 07:25:56 -06:00
parent 7378fe1750
commit c6320cf56f
3 changed files with 18 additions and 12 deletions

View File

@@ -14,14 +14,7 @@ class TeamsnapBaseModel(models.Model):
abstract = True
def __str__(self):
return f"{self.name} ({self.teamsnap_id})"
class User(TeamsnapBaseModel):
access_token = models.CharField(max_length = 50)
name = None
def __str__(self):
return f"{self.teamsnap_id}"
return f"TeamSnap {self.__class__.__name__} Object ({self.teamsnap_id})"
class Team(TeamsnapBaseModel):
bencoach_team = models.ForeignKey(teams.models.Team, null=True, on_delete=models.CASCADE)
@@ -35,7 +28,7 @@ class Team(TeamsnapBaseModel):
return f"https://go.teamsnap.com/{self.team.teamsnap_id}/team/edit/{self.teamsnap_id}"
class Location(TeamsnapBaseModel):
benchcoach_venue = models.ForeignKey(venues.models.Venue, null=True, on_delete=models.CASCADE)
benchcoach_object = models.ForeignKey(venues.models.Venue, null=True, on_delete=models.CASCADE)
@property
def view_url(self):
@@ -47,7 +40,7 @@ class Location(TeamsnapBaseModel):
class Member(TeamsnapBaseModel):
name = None
benchcoach_player = models.ForeignKey(players.models.Player, null=True, on_delete=models.CASCADE)
benchcoach_object = models.ForeignKey(players.models.Player, null=True, on_delete=models.CASCADE)
team = models.ForeignKey(Team, null=True, on_delete=models.CASCADE)
first_name = models.CharField(max_length = 50, null=True)
last_name = models.CharField(max_length = 50, null=True)
@@ -66,7 +59,8 @@ class Member(TeamsnapBaseModel):
return f"https://go.teamsnap.com/{self.team.teamsnap_id}/roster/edit/{self.teamsnap_id}"
class Event(TeamsnapBaseModel):
benchcoach_event = models.ForeignKey(events.models.Event, null=True, on_delete=models.CASCADE)
name = None
benchcoach_object = models.ForeignKey(events.models.Event, null=True, on_delete=models.CASCADE)
label = models.CharField(max_length = 50, null=True)
start_date = models.DateTimeField(null=True)
opponent = models.ForeignKey(Team, null=True, on_delete=models.CASCADE, related_name="opponent")
@@ -99,7 +93,7 @@ class Availability(TeamsnapBaseModel):
team = models.ForeignKey(Team, null=True, on_delete=models.CASCADE)
event = models.ForeignKey(Event, null=True, on_delete=models.CASCADE)
member = models.ForeignKey(Member, null=True, on_delete=models.CASCADE)
benchcoach_availability = models.ForeignKey(lineups.models.Availability, null=True, on_delete=models.CASCADE)
benchcoach_object = models.ForeignKey(lineups.models.Availability, null=True, on_delete=models.CASCADE)
status_code = models.SmallIntegerField(null=True, choices=status_codes, default=None)
def __str__(self):
@@ -131,3 +125,10 @@ class LineupEntry(TeamsnapBaseModel):
class Meta:
unique_together = ('member', 'event',)
class User(TeamsnapBaseModel):
name = None
first_name = models.CharField(max_length=50, null=True)
last_name = models.CharField(max_length = 50, null=True)
email = models.EmailField(null=True)
managed_teams = models.ManyToManyField(Team)

View File

@@ -26,6 +26,9 @@ class Me (ApiObject):
def __init__(self, client):
super().__init__(client=client, rel=self.rel, data=client.get(client.link(self.rel)))
class User (ApiObject):
rel = "users"
class Event (ApiObject):
rel = "events"

View File

@@ -6,7 +6,9 @@ from functools import partial
from . import views
urlpatterns = [
path('', views.home, name='teamsnap home'),
path('events', views.EventsListView.as_view(), name="teamsnap list events"),
path('events-table', views.EventsTableView.as_view(), name="teamsnap table events"),
path('edit/event/<int:id>', views.edit_event, name='teamsnap edit event'),
path('edit/lineup/<int:event_id>', views.edit_lineup, name='teamsnap edit lineup')
]