o
    fsi
                     @   sb   d dl Z d dlZd dlZd dlmZ d dlmZ dddZG dd dejZ	G d	d
 d
ejZ
dS )    N)models)timezone   c                 C   s:   t jt j }	 dtj|| d}tjj|d	 s|S q)NT )k)registration_code)
stringdigitsascii_uppercasejoinrandomchoicesRegistrationobjectsfilterexists)length
characterscode r   ?/var/www/html/smartRegister/backend/apps/registration/models.pygenerate_registration_code   s   r   c                       s   e Zd ZdZdZejdejddZ	ej
ddedZej
dd	Ze Zej
d
ddZej
dddZejdejddZej
deddZej
deddZejddZejdddZejddZejddZejddZG dd dZdd Z  fddZ!  Z"S )r   )pendingPendingapprovedApprovedrejectedRejected))not_requiredzNot Requiredr   r   r   TF)primary_keydefaulteditable   )
max_lengthuniquer#      )r&      )r&   blankzevents.Eventregistrations	on_deleterelated_name2   r   )r&   r   r#   r!   r#   nullr*   r*   auto_now_add)auto_nowc                   @   s"   e Zd ZddgZdgZdZdZdS )zRegistration.Metaemaileventz-registered_atr   RegistrationsN)__name__
__module____qualname__unique_togetherorderingverbose_nameverbose_name_pluralr   r   r   r   Meta,   s
    rA   c                 C   s   | j  d| jj d| j dS )Nu    — z ())	full_namer8   namer   selfr   r   r   __str__2   s   zRegistration.__str__c                    s8   | j s| jjrd| _nd| _d| _t j|i | d S )Nr   r!   r   )pkr8   is_paidpayment_statusstatussupersave)rF   argskwargs	__class__r   r   rM   5   s   zRegistration.save)#r:   r;   r<   STATUS_CHOICESPAYMENT_STATUS_CHOICESr   	UUIDFielduuiduuid4id	CharFieldr   r   rC   
EmailFieldr7   phoneorganisation
ForeignKeyCASCADEr8   rK   rJ   BooleanFieldhas_attendedDateTimeFieldattendance_timestamp	TextFieldnotesregistered_at
updated_atrA   rG   rM   __classcell__r   r   rP   r   r      s(    r   c                   @   sd   e Zd ZejeejddZejddZ	ej
ddZejddZejdd	Zej
ddd
Zdd ZdS )PaymentProofpayment_proofr,   zpayment_proofs/%Y/%m/)	upload_toTr4   r3   Fr0   r1   c                 C   s   d| j  S )NzPayment proof for )registrationrE   r   r   r   rG   G   s   zPaymentProof.__str__N)r:   r;   r<   r   OneToOneFieldr   r]   rj   	FileFieldfiler`   uploaded_atrb   rc   r^   reviewedreviewed_atrG   r   r   r   r   rg   ?   s    rg   )r   )rU   r   r   	django.dbr   django.utilsr   r   Modelr   rg   r   r   r   r   <module>   s    
/