Clock - Technische Spezifikation
  • Über das Projekt
  • Datenbank Referenz
    • Einleitendes
    • User Model
    • Contract Model
    • Shift Model
    • ClockedInShift Model
    • Report Model
  • User Stories
    • Einleitendes
    • User
    • Shift
    • Contract
    • Allgemeines
  • Business rules
    • Einleitendes
    • User Model
    • Shift Model
    • ClockedInShift Model
    • Contract Model
    • Report Model
Powered by GitBook
On this page
  1. Datenbank Referenz

Contract Model

Definition des Contract Models

PreviousUser ModelNextShift Model

Last updated 4 years ago

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

---------

-----------

--------

Bemerkung

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.

UUID