
    {e                        d dl mZ ddlmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dl mZ  G d dej                   Z! e!d          Z"d Z#de#_$         G d dej%                  Z& G d dej%                  Z' G d dej%                  Z( G d dej)                  Z* G d dej)                  Z+ G d dej)                  Z, G d dej%                  Z- G d  d!ej)                  Z.ej/        0                    ee*           ej/        0                    e           ej/        0                    e           ej/        0                    e           ej/        0                    e           ej/        0                    ee,           ej/        0                    e	           ej/        0                    e
           ej/        0                    ee+           ej/        0                    e           ej/        0                    e           ej/        0                    e           ej/        0                    ee.           d"S )#    )admin   )ArticleArticleCategoriesCareer
DepartmentJobProjectProjectImagesJobTypeLegalCategoryCompanyLegalIdentityStatusIdentityRegisterIdentityRegisterChangeLog)CKEditorUploadingWidget)forms)IntegrityError)slugify)format_html)gettext_lazy)ValidationError)messagesc                       e Zd ZdZdS )MyAdminSitezMy AdministrationN)__name__
__module____qualname__site_header     -C:\Users\weeiw\Documents\kok\kck2021\admin.pyr   r      s        %KKKr"   r   z	KCK Group)namec                 X   |D ]}d |_         d}|j        }| d| d}t          j                            |                                          r?|dz  }| d| d}t          j                            |                                          ?||_        |                                 d S )Nr   z (Copy ))title)idr'   r   objectsfilterexistssave)
modeladminrequestquerysetoriginal_objectcounteroriginal_title	new_titles          r#   duplicate_modelr4      s    #  ! (.%88g888	m"""33::<< 	=qLG)<<'<<<I m"""33::<< 	= !* r"   zDuplicate selected itemsc                   (    e Zd Z G d d          ZdS )ArticleAdminFormc                   .    e Zd ZeZdZd e            iZdS )ArticleAdminForm.Meta__all__bodyN)r   r   r   r   modelfieldsr   widgetsr!   r"   r#   Metar8   %   .        ++--
r"   r>   Nr   r   r   r>   r!   r"   r#   r6   r6   $   <        
 
 
 
 
 
 
 
 
 
r"   r6   c                   (    e Zd Z G d d          ZdS )LegalAdminFormc                   .    e Zd ZeZdZd e            iZdS )LegalAdminForm.Metar9   r:   N)r   r   r   r   r;   r<   r   r=   r!   r"   r#   r>   rE   -   s.        ++--
r"   r>   Nr@   r!   r"   r#   rC   rC   ,   rA   r"   rC   c                   (    e Zd Z G d d          ZdS )ProjectAdminFormc                   .    e Zd ZeZdZd e            iZdS )ProjectAdminForm.Metar9   r:   N)r   r   r   r
   r;   r<   r   r=   r!   r"   r#   r>   rI   5   r?   r"   r>   Nr@   r!   r"   r#   rG   rG   4   rA   r"   rG   c                   2     e Zd ZeZdZdZdZdZ fdZ	 xZ
S )ArticleAdmin)r(   authorr'   
date_added)r'   slugr:   
categories)rN   rL   Tc                     |j         s|j        s|j        j        |_        t	                                          ||||           d S )N)pkrL   userusernamesuper
save_model)selfr.   objformchange	__class__s        r#   rU   zArticleAdmin.save_modelC   sF    v 	/cj 	/ .CJ7Cv66666r"   )r   r   r   r6   rX   list_displaysearch_fieldsreadonly_fieldsview_on_siterU   __classcell__rZ   s   @r#   rK   rK   <   sQ        D:L;M(OL7 7 7 7 7 7 7 7 7r"   rK   c                   <    e Zd ZeZdZdZdZegZ	dZ
d Zde_        dS )
LegalAdmin)r(   r'   categorycompanycreatedview_on_site_link)r'   rN   r:   rc   rd   )rN   Tc                 F    t          d|                                          S )Nz<a href="{}">View</a>)r   get_absolute_urlrV   rW   s     r#   rf   zLegalAdmin.view_on_site_linkR   s    2C4H4H4J4JKKKr"   zView on SiteN)r   r   r   rC   rX   r[   r\   r]   r4   actionsr^   rf   short_descriptionr!   r"   r#   rb   rb   I   sL        DYLDM OGLL L L*8'''r"   rb   c                       e Zd ZeZdS )ProjectAdminN)r   r   r   rG   rX   r!   r"   r#   rm   rm   V   s        DDDr"   rm   c                   8     e Zd Z G d d          Z fdZ xZS )IdentityRegisterFormc                       e Zd ZeZdZdS )IdentityRegisterForm.Metar9   N)r   r   r   r   r;   r<   r!   r"   r#   r>   rq   [   s         r"   r>   c                 :   t                                                      }|                    d          }|                    d          }|rM|                    d                                          s%t          d          }|                     d|           |S )NstatusesverifiedzPengesahan selesaistatuszF'Pengesahan selesai' must be included in statuses if verified is True.)rT   cleangetr*   r+   r   	add_error)rV   cleaned_datars   rt   error_messagerZ   s        r#   rw   zIdentityRegisterForm.clean_   s    ww}}##J//##J// 	6HOO3GOHHOOQQ 	6()qrrMNN:}555r"   )r   r   r   r>   rw   r_   r`   s   @r#   ro   ro   Z   s`               	 	 	 	 	 	 	 	 	r"   ro   c                   L    e Zd ZeZdZdZdZd Zde_	        d Z
de
_	        d Zd	S )
IdentityRegisterAdmin)reference_coder$   phonere   get_statusesrt   
changed_by)r~   r   r$   rt   )r   frontbackselfier$   rs   rt   c                 n    d                     d |j                                        D                       S )Nz, c                     g | ]	}|j         
S r!   ru   ).0rv   s     r#   
<listcomp>z6IdentityRegisterAdmin.get_statuses.<locals>.<listcomp>s   s    IIIF&-IIIr"   )joinrs   allri   s     r#   r   z"IdentityRegisterAdmin.get_statusesr   s1    yyIIcl6F6F6H6HIIIJJJr"   Statusesc                     t           j                            |                              d                                          }|r|j        j        ndS )N)identity_registerz
-timestampUnknown)r   r)   r*   order_byfirstrR   rS   )rV   rW   latest_changes      r#   r   z IdentityRegisterAdmin.changed_byv   sM    19@@SV@WW``amnnttvv.;J}!**Jr"   z
Changed Byc                    |                                  |rYt          j                            ||j                   d|j        j         }t          j                            | |||           d S t          j                            ||j                   d|j        j         }t          j        	                    | |||           d S )N)r   rR   zChanged by z	Added by )
r,   r   r)   createrR   rS   r   
ModelAdmin
log_changelog_addition)rV   r.   rW   rX   rY   change_messages         r#   rU   z IdentityRegisterAdmin.save_model|   s    


 		N%-44sQXQ]4^^^B7<+@BBN''gsNKKKKK &-44sQXQ]4^^^@)>@@N))$nMMMMMr"   N)r   r   r   ro   rX   r[   r\   r<   r   rk   r   rU   r!   r"   r#   r}   r}   j   sr        DlLCMPFK K K%/L"K K K $0J N N N N Nr"   r}   N)1django.contribr   modelsr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   ckeditor_uploader.widgetsr   djangor   	django.dbr   django.utils.textr   django.utils.htmlr   django.utils.translationr   django.core.exceptionsr   r   	AdminSiter   
admin_siter4   rk   	ModelFormr6   rC   rG   r   rK   rb   rm   ro   r}   siteregisterr!   r"   r#   <module>r      s^               E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E = = = = = =       $ $ $ $ $ $ % % % % % % ) ) ) ) ) ) 1 1 1 1 1 1 2 2 2 2 2 2 # # # # # #& & & & &%/ & & & [k***
   %? !
 
 
 
 
u 
 
 

 
 
 
 
U_ 
 
 

 
 
 
 
u 
 
 

7 
7 
7 
7 
75# 
7 
7 
79 9 9 9 9! 9 9 9    5#       5?    N N N N NE, N N NB 
  G\ * * * 
  % & & & 
  F    
  J    
  C    
  G\ * * * 
  M " " " 
  G    
  E: & & & 
  G    
  M " " " 
  N # # # 
  $&; < < < < <r"   