
    Ushy
                         S SK Jr  S SKJr  S SKJr   " S S\R                  5      r " S S\R                  5      r " S S	\R                  5      r	 " S
 S\R                  5      r
g)    )models)timezone)ValidationErrorc                       \ rS rSr\R
                  " SSSS9r\R
                  " SSSS9r\R
                  " SSSS9r\R
                  " SSSS9r	\R                  " SSS9r\R                  " SSSS	9rS
 rSrg)User   d   T)
max_lengthblanknull   )r   r   Eventregistered_users)related_namer   c                 T    U R                    SU R                   SU R                   S3$ )N z (UID: ))
first_name	last_nameidselfs    ED:\c drive back up\facial_attendance_system-main\attendance\models.py__str__User.__str__   s)    //"!DNN#37477)1EE     N)__name__
__module____qualname____firstlineno__r   	CharFieldr   r   mobile_numbercompany
EmailFieldemailManyToManyFieldeventsr   __static_attributes__r   r   r   r   r      s    !!S4HJ  Ct$GI$$$TJM#TEGDt4E##G:LTXYFFr   r   c                       \ rS rSr\R
                  " \S\R                  S9r\R                  " SSSS9r
\R                  " 5       r\R
                  " SSS\R                  S9rS	 rS
rg)	UserImage   images)r   	on_delete   T)r
   r   r   r   r   r   r.   c                 b    SU R                   R                   SU R                   R                   3$ )Nz
Image for r   )userr   r   r   s    r   r   UserImage.__str__   s+    DII0014993F3F2GHHr   r   N)r   r   r    r!   r   
ForeignKeyr   CASCADEr2   r"   
image_path	TextFieldencodingSET_NULLeventr   r)   r   r   r   r+   r+      s\    TFNNSD!!St4HJ!HgDXEIr   r+   c                      ^  \ rS rSr\R
                  " \\R                  S9r\R                  " SSS/SS9r
\R                  " 5       r\R
                  " SS	S	\R                  S
9rS rU 4S jrS rSrU =r$ )
Attendance   )r.   
   )loginLogin)logoutLogoutr?   )r
   choicesdefaultr   Tr0   c                    U R                   c  [        R                  " U R                  5      R	                  5       n[
        R                  R                  U R                  U R                  U R                  US9R                  5       nU(       a<  [        SU R                  R                   SU R                  R                   SU 35      eg g )N)r2   
event_typer:   timestamp__datezAttendance already marked for r   z on )pkr   	localtime	timestampdater<   objectsfilterr2   rF   r:   existsr   r   r   )r   todayexisting_attendances      r   cleanAttendance.clean    s    77?&&t~~6;;=E","4"4";";YY??jj %	 #< #
 fh   #%(FtyyG[G[F\\]^b^g^g^q^q]rrvw|v}&~ # r   c                 F   > U R                  5         [        TU ]  " U0 UD6  g N)rQ   supersave)r   argskwargs	__class__s      r   rV   Attendance.save-   s    

d%f%r   c                     U R                   R                   SU R                   R                   SU R                   SU R                   S3$ )Nr   z at z (r   )r2   r   r   rJ   rF   r   s    r   r   Attendance.__str__1   sF    ))&&'q)<)<(=T$..AQQSTXTcTcSddeffr   r   )r   r   r    r!   r   r4   r   r5   r2   r"   rF   DateTimeFieldrJ   r9   r:   rQ   rV   r   r)   __classcell__)rY   s   @r   r<   r<      st    TV^^<D!!R:LNb9cmtuJ$$&IgDXE@&g gr   r<   c                   b    \ rS rSr\R
                  " SS9r\R                  " 5       rS r	S r
Srg)r   4   r/   )r
   c                 F    U R                   [        R                  " 5       :  $ rT   )
event_dater   nowr   s    r   is_upcomingEvent.is_upcoming8   s    (,,.00r   c                     U R                   $ rT   )namer   s    r   r   Event.__str__;   s    yyr   r   N)r   r   r    r!   r   r"   rg   r]   rb   rd   r   r)   r   r   r   r   r   4   s*    s+D%%'J1r   r   N)	django.dbr   django.utilsr   django.core.exceptionsr   Modelr   r+   r<   r   r   r   r   <module>rm      sT     ! 2	F6<< 	FI Ig g4FLL r   