a
    zhg                     @   s   d dl mZ d dlmZ G dd dejZG dd dejZG dd dejZG d	d
 d
ejZd dl mZ G dd dejZ	G dd dejZ
dS )    )models)JRPUserc                   @   s   e Zd ZdZejdddZejdddddZejdddZ	ejddddZ
ejddddZejd	ed
dZejdddZejdddZejddZejddZejdddZejdddZdd ZdS )Project))NNew)IIn Progress)C	Completed)HzOn Hold)XZ	Cancelled   T)
max_lengthunique2   )r   r   nullblankr   r   )r   r   r      r   r   choicesdefaultauto_now_addauto_nowc                 C   s   | j pd| j S )NzProject ID: )project
project_idself r    AE:\Server_2_sachin\app\JRP\backend_erp\prj_mgt\models\projects.py__str__!   s    zProject.__str__N)__name__
__module____qualname__STATUS_CHOICESr   	CharFieldproject_nameZproject_code	TextFielddescriptionZproject_ownerZclient_namestatus	DateField
start_dateend_dateDateTimeField
created_at
updated_atIntegerField
created_by
updated_byr"   r    r    r    r!   r      s   r   c                   @   s   e Zd ZejeejddZejeejddZ	ej
dg d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ejdddZG dd dZdd ZdS )ProjectMembermembers	on_deleterelated_nameZproject_membershipsr   ))managerzProject Manager)	developerZ	Developer)ZtesterZTester)ZviewerZViewerr;   r   Tr   r   r   r   c                   @   s   e Zd ZdZdS )zProjectMember.Meta)r   memberN)r#   r$   r%   unique_togetherr    r    r    r!   Meta5   s   r?   c                 C   s   | j j d| jj d| j S )Nz in z as )r=   emailr   r(   roler   r    r    r!   r"   8   s    zProjectMember.__str__N)r#   r$   r%   r   
ForeignKeyr   CASCADEr   r   r=   r'   rA   r/   	joined_atBooleanField	is_activer0   r1   r2   r3   r4   r?   r"   r    r    r    r!   r5   $   s   r5   c                   @   sx   e Zd Zejeej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ejdddZejdddZd
S )ProjectModulemoduler7   r   r   Tr   r<   r   r   N)r#   r$   r%   r   rB   r   rC   r   r'   titler)   r*   rE   activer/   r0   r1   r2   r3   r4   r    r    r    r!   rG   :   s   rG   c                   @   s   e Zd ZejeejddZejddZ	ej
dddZejeddZejdddZejdddZejd	g d
ddZejd	g dddZejddZejddZejdddZejdddZdS )ProjectTaskZ	mod_tasksr7   r   rI   Tr   tasks)r9      ))newr   )progressr   )doner
   rO   r   ))lowZLow)mediumZMedium)highZHighrS   r   r   N)r#   r$   r%   r   rB   rG   rC   rH   r'   rJ   r)   r*   ManyToManyFieldr   assigned_membersr,   r-   r.   r+   priorityr/   r0   r1   r2   r3   r4   r    r    r    r!   rL   E   s   rL   c                   @   s>   e Zd ZejeejddZejddZ	ej
ddZdd Zd	S )
ProjectTaskAttachmentattachmentsr7   zproject_task_attachments/)	upload_toTr   c                 C   s   | j jS )N)filenamer   r    r    r!   r"   _   s    zProjectTaskAttachment.__str__N)r#   r$   r%   r   rB   rL   rC   task	FileFieldr[   r/   Zuploaded_atr"   r    r    r    r!   rX   V   s   rX   c                   @   s   e Zd ZejeejddZejeejddZ	ejeejddZ
e 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ejddd
ZG dd dZdd ZdS )TaskMessagemessagesr7   Zsent_task_messagesZreceived_task_messagesTr   Fr<   r   r   c                   @   s   e Zd ZdgZdS )zTaskMessage.Metasent_atN)r#   r$   r%   orderingr    r    r    r!   r?   p   s   r?   c                 C   s"   d| j j d| jj d| jj S )NzMessage from z to z	 on Task )senderr@   receiverr]   idr   r    r    r!   r"   s   s    zTaskMessage.__str__N)r#   r$   r%   r   rB   rL   rC   r]   r   rc   rd   r)   messager/   ra   rE   Zis_readr0   r1   r2   r3   r4   r?   r"   r    r    r    r!   r_   d   s   r_   N)	django.dbr   hrms.models.userr   Modelr   r5   rG   rL   rX   r_   r    r    r    r!   <module>   s   