o
    h                     @   sp   d dl mZ d dlmZ d dlmZ ddlmZmZ e	eG dd dej
Ze	eG dd	 d	ej
Zd
S )    )admin)format_html)reverse   )
JobPostingApplicationc                   @   s`   e Zd ZdZdZdZdZdZdZddd	ifd
ddifdddifddddffZ	dd Z
de
_dS )JobPostingAdminz$Admin interface for JobPosting model)title	posted_bystatusapplication_deadlineapplication_count
created_at)r   employment_typeexperience_levelr   )r	   descriptionlocationposted_by__username)r   
updated_atr   )z-created_atzJob Informationfields)r	   r   requirementsr   zJob Details)salary_ranger   r   r   zStatus & Management)r
   r   Metadatacollapser   classesc                 C   s6   |j  }|dkrtdd|j  }td||S dS )Nr   z!admin:jobs_application_changelistz?job__id__exact=z <a href="{}">{} applications</a>z0 applications)applicationscountr   idr   )selfobjr   url r#   &/var/www/html/ictaz-jobs/jobs/admin.pyr   !   s
   
z!JobPostingAdmin.application_countApplicationsN)__name__
__module____qualname____doc__list_displaylist_filtersearch_fieldsreadonly_fieldsordering	fieldsetsr   short_descriptionr#   r#   r#   r$   r      s.    
r   c                   @   sz   e Zd ZdZdZdZdZdZdZdddifd	dd
ifdddifddddffZ	dd Z
de
_de
_dgZdd Zde_dS )ApplicationAdminz%Admin interface for Application model)applicant_namejobapplicant_email	is_membersubmitted_at)r6   
job__title)r2   r4   membership_numberr7   )r6   zApplicant Informationr   )r2   r4   applicant_phoner8   userzApplication Details)r3   cover_letterresumeictaz_certificateadditional_documents
Management)admin_notesr   r   r   c                 C   s   |j S )N)r5   )r    r!   r#   r#   r$   r5   D   s   zApplicationAdmin.is_memberICTAZ MemberTexport_applications_csvc                 C   s   ddl }ddlm} |dd}d|d< ||}|g d |D ]}||j|j|j|jj	|j
p2d	|jr7d
nd|jdg q!|S )#Export selected applications to CSVr   N)HttpResponseztext/csv)content_typez'attachment; filename="applications.csv"zContent-Disposition)zApplicant NameEmailPhonez	Job TitlezMembership NumberrA   zSubmitted AtzN/AYesNoz%Y-%m-%d %H:%M:%S)csvdjango.httprD   writerwriterowr2   r4   r9   r3   r	   r8   r5   r6   strftime)r    requestquerysetrJ   rD   responserL   applicationr#   r#   r$   rB   K   s"   



z(ApplicationAdmin.export_applications_csvrC   N)r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r5   r0   booleanactionsrB   r#   r#   r#   r$   r1   *   s6    
r1   N)django.contribr   django.utils.htmlr   django.urlsr   modelsr   r   register
ModelAdminr   r1   r#   r#   r#   r$   <module>   s    "