[WIP] refactoring/location-club-statistics #71
|
@ -131,11 +131,20 @@ class Club(models.Model):
|
|||
|
||||
Returns:
|
||||
Une structure (dict) reprenant les informations suivantes:
|
||||
|
||||
{
|
||||
"total_hours_paid": <Le nombre d'heures devant être payées pour ce cours>
|
||||
}
|
||||
|
||||
* La liste des cours associés à ce club et à la saison passée en paramètre
|
||||
* Des informations statistiques concernant les gymnastes associés à chacun de ces cours
|
||||
* Le nombre total de cours réellement donnés
|
||||
* Le nombre
|
||||
* Le nombre d'heures réellement passées pour l'ensemble des cours
|
||||
|
||||
"""
|
||||
|
||||
courses = self.courses.filter(season=season)
|
||||
|
||||
return {
|
||||
"total_hours_paid": sum[x.total_number_of_paid_hours for x in courses]
|
||||
}
|
||||
|
|
|
@ -336,6 +336,12 @@ class Course(Markdownizable, Temporizable):
|
|||
"""
|
||||
return self.get_number_of_real_occurrences * self.number_of_hours
|
||||
|
||||
@property
|
||||
def total_number_of_paid_hours(self) -> timedelta:
|
||||
"""Retourne le temps total consacré à ce cours par le(s) entraineur(s)
|
||||
"""
|
||||
return self.total_number_of_hours * self.number_of_trainers
|
||||
|
||||
@property
|
||||
def get_number_of_planned_occurrences(self):
|
||||
return self.get_total_occurence()
|
||||
|
|
|
@ -124,6 +124,23 @@ class TestCourse(TestCase):
|
|||
|
||||
self.assertEqual(course.number_of_trainers, 2)
|
||||
|
||||
def test_total_number_of_paid_hours(self):
|
||||
course = Course.objects.create(
|
||||
iso_day_number=2,
|
||||
datebegin=datetime(2021, 1, 1),
|
||||
dateend=datetime(2021, 9, 30),
|
||||
hour_begin=time(hour=19, minute=0),
|
||||
hour_end=time(hour=22, minute=0),
|
||||
club=self.club
|
||||
)
|
||||
|
||||
course.trainers.add(self.user1)
|
||||
course.trainers.add(self.user2)
|
||||
|
||||
self.assertEqual(course.total_number_of_paid_hours, timedelta(days=4, seconds=75600) * 2)
|
||||
|
||||
|
||||
|
||||
def test_number_of_course_hours(self):
|
||||
course = Course.objects.create(
|
||||
iso_day_number=2,
|
||||
|
|
Loading…
Reference in New Issue