Contract Model
Definition des Contract Models
Last updated
Definition des Contract Models
Last updated
Das Contract-Model stellt einen Vertrag eines Users dar. Ein User kann gemäß der Vorgaben mehrere Verträge haben, für die jeweils unterschiedlich viele Stunden Arbeitszeit zu leisten sind. Das Model ist wie folgt definiert:
Feldname
Feld Type
Nutzung
id
UUIDField(primary_key= True, default=uuid.uuid4, editable=False, unique=True)
Eine wird zur Identifikation eines Users in der Datenbank benutzt
user
ForeignKey(to=User)
Relation zu einem Usereintrag
name
CharField()
Vom User vergebener Name des Vertrags
hours
FloatField()
Anzahl der monatlich zu leistenden Arbeitszeit in Minuten
start_date
DateField()
Vertragsbeginn
end_date
DateField()
Vertragsende
start_carry_over
DurationField()
Übertrag aus dem AZK für den Monat in month_start_clocking
month_start_clocking
DateField()
Monat in dem ein User beginnen möchte zu clocken
created_at
DateTimeField(auto_now_add=True)
Timestamp (Zeitpunkt), an dem der Eintrag erstellt wurde
created_by
ForeignKey(to=User)
User, der den Eintrag erstellt hat
modified_at
DateTimeField(auto_now=True)
Timestamp, an dem der Eintrag zuletzt verändert wurde
modified_by
ForeignKey(to=User)
User, der den Eintrag zuletzt modifiziert hat
---------
-----------
--------
Die Felder start_carry_over
und month_start_clocking
dienen der akuraten Abbildung des Falls, dass ein Nutzer nicht zu Beginn seines Arbeitsverhältnisses beginnt Clock zu nutzen sondern einige Monate später. Zu diesem Zeitpunkt existiert für den User womöglich bereits ein Übertrag aus dem Vormonat und er möchte für die vergangenen Monate keine Schichten eintragen. Mit diesen beiden Feldern ist es uns möglich Report's erst ab month_start_clocking
mit einem start_carry_over
als default "carry_over" zu erstellen.