Ë
    Øá’jÙ  ã                   ó&  — d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 d dl
mZ d dlmZmZmZ  G d„ d«      Z G d	„ d
ee«      Z ed¬«      Z G d„ dee«      Zej)                  ee«        G d„ deej*                  «      Zej)                  ee«        G d„ dej*                  «      Zej)                  ee«       d dl mZ ej2                  j4                  j7                  «       D ],  \  ZZeej4                  vsŒej)                  e ee«      «       Œ. y)é    )Úadmin)Ú	UserAdmin)Ú	AdminSite)ÚADDITIONÚCHANGEÚDELETION)ÚContentType)ÚAdminLogEntryÚ	AdminUserÚ
AdminTokenc                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚAdminLogMixinzAMixin das Django's Standard-LogEntry durch AdminLogEntry ersetzt.c                 ó  — t         j                  j                  |j                  t        j                  j                  |«      t        |j                  «      t        |«      t        t        |t        «      r|¬«       y t        |«      ¬«       y ©N©ÚuserÚcontent_typeÚ	object_idÚobject_reprÚaction_flagÚchange_message)
r
   ÚobjectsÚcreater   r	   Úget_for_modelÚstrÚpkr   Ú
isinstance©ÚselfÚrequestÚobjÚmessages       ú(/var/www/html/vportal/app_admin/admin.pyÚlog_additionzAdminLogMixin.log_addition   sl   € Ü×Ñ×$Ñ$Ø—‘Ü$×,Ñ,×:Ñ:¸3Ó?Ü˜#Ÿ&™&“kÜ˜C›Ü Ü&0°¼#Ô&>˜7ð 	%õ 	
ô EHÈÃLð 	%õ 	
ó    c                 ó  — t         j                  j                  |j                  t        j                  j                  |«      t        |j                  «      t        |«      t        t        |t        «      r|¬«       y t        |«      ¬«       y r   )
r
   r   r   r   r	   r   r   r   r   r   r   s       r#   Ú
log_changezAdminLogMixin.log_change   sl   € Ü×Ñ×$Ñ$Ø—‘Ü$×,Ñ,×:Ñ:¸3Ó?Ü˜#Ÿ&™&“kÜ˜C›ÜÜ&0°¼#Ô&>˜7ð 	%õ 	
ô EHÈÃLð 	%õ 	
r%   c                 óÊ   — t         j                  j                  |j                  t        j                  j                  |«      t        |j                  «      |t        d¬«       y )NÚ r   )	r
   r   r   r   r	   r   r   r   r   )r   r    r!   r   s       r#   Úlog_deletionzAdminLogMixin.log_deletion"   sJ   € Ü×Ñ×$Ñ$Ø—‘Ü$×,Ñ,×:Ñ:¸3Ó?Ü˜#Ÿ&™&“kØ#Ü Øð 	%õ 	
r%   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r$   r'   r*   © r%   r#   r   r      s   „ ÙKò
ò
ó
r%   r   c                   ó&   ‡ — e Zd ZdZdZˆ fd„Zˆ xZS )ÚAdminUserSitezVerbrauchsportal Administrationzapp_admin/index.htmlc                 óˆ   •— ddl m} ddlm}  |d| j	                  |j
                  «      d¬«      g}|t        ‰| �  «       z   S )ziEigene Admin-Seiten vor die Standard-URLs haengen
        (super().get_urls() endet mit einem Catch-All).r   )Úpath)Úviewsznutzer-suche/Únutzer_suche©Úname)Údjango.urlsr3   Ú	app_adminr4   Ú
admin_viewÚnutzer_suche_viewÚsuperÚget_urls)r   r3   Úadmin_viewsÚcustom_urlsÚ	__class__s       €r#   r=   zAdminUserSite.get_urls5   sI   ø€ õ 	%Ý2ñ ØØ—‘ × =Ñ =Ó>Ø#ôð
ˆð œU™WÑ-Ó/Ñ/Ð/r%   )r+   r,   r-   Úsite_headerÚindex_templater=   Ú__classcell__©r@   s   @r#   r1   r1   1   s   ø„ Ø3€KØ+€N÷0ð 0r%   r1   zportal-adminr6   c                   óZ   — e Zd ZeZg d¢ZdgZdddifdddifddd	iffZdd
ddœffZdgZ	g Z
y)ÚAdminUserAdmin)r7   ÚemailÚ	is_activeÚis_staffrG   NÚfields)rG   ÚpasswordÚInfor6   ÚBerechtigungen)rI   rH   Úis_superuser)Úwide)rG   Ú	password1Ú	password2)ÚclassesrJ   )r+   r,   r-   r   ÚmodelÚlist_displayÚorderingÚ	fieldsetsÚadd_fieldsetsÚsearch_fieldsÚfilter_horizontalr/   r%   r#   rF   rF   I   sn   „ Ø€EÚ>€LØˆy€Hà	˜HÐ&;Ð<Ð=Ø	˜H iÐ0Ð1Ø	˜HÐ&OÐPÐQð€Ið 
Ø Ø9ñ
ð 	ð€Mð �I€MØÑr%   rF   c                   ó^   ‡ — e Zd Zg d¢Zg d¢Zg d¢Zd„ Zde_        d„ Zd	ˆ fd„	Z	d
ˆ fd„	Z
ˆ xZS )ÚAdminTokenAdmin)r   ÚlabelÚcreated)Úkey_hashr]   Úplain_token_display)r   r\   r_   r^   r]   c                 ó6   — t        |d«      r|j                  S dS )u.   Wird nur beim Erstellen befÃ¼llt, danach leer.Ú_plain_tokenz(nur beim Erstellen sichtbar))Úhasattrra   )r   r!   s     r#   r_   z#AdminTokenAdmin.plain_token_displaye   s   € ä#*¨3°Ô#?ˆs×ÑÐdÐEdÐdr%   zToken (einmalig)c                 ó€   — |s,t        j                  «       }|j                  |«       ||_        |j	                  «        y ©N)r   Úgenerate_tokenÚ	set_tokenra   Úsave)r   r    r!   ÚformÚchangeÚplain_tokens         r#   Ú
save_modelzAdminTokenAdmin.save_modelj   s0   € ÙÜ$×3Ñ3Ó5ˆKØ�M‰M˜+Ô&Ø*ˆCÔØ�‰�
r%   c                 ó4   •— |xs i }t         ‰| �  ||||«      S rd   )r<   Úchange_view)r   r    r   Úform_urlÚextra_contextr@   s        €r#   rm   zAdminTokenAdmin.change_viewq   s#   ø€ Ø%Ò+¨ˆÜ‰wÑ" 7¨I°xÀÓOÐOr%   c                 óˆ   •— ddl m} t        |d«      r|j                  |d|j                  › �«       t
        ‰| �  |||«      S )z,Nach dem Erstellen: Token einmalig anzeigen.r   )Úmessagesra   u3   âš ï¸� Token einmalig sichtbar â€“ jetzt kopieren: )Údjango.contribrq   rb   Úwarningra   r<   Úresponse_add)r   r    r!   Úpost_url_continuerq   r@   s        €r#   rt   zAdminTokenAdmin.response_addu   sI   ø€ å+Ü�3˜Ô'Ø×ÑØØEÀc×FVÑFVÐEWÐXôô ‰wÑ# G¨SÐ2CÓDÐDr%   )r)   Nrd   )r+   r,   r-   rT   Úreadonly_fieldsrJ   r_   Úshort_descriptionrk   rm   rt   rC   rD   s   @r#   r[   r[   `   s:   ø„ Ú/€LÚD€OÚL€Fòeð -?ÐÔ)òõP÷Eñ Er%   r[   c                   ó   — e Zd Zg d¢Zg d¢Zy)ÚAdminLogEntryAdmin)Úaction_timer   r   r   )rz   r   r   r   r   r   r   N)r+   r,   r-   rT   rv   r/   r%   r#   ry   ry   „   s   „ ÚH€LòG�Or%   ry   N)rr   r   Údjango.contrib.auth.adminr   Údjango.contrib.adminr   Údjango.contrib.admin.modelsr   r   r   Ú"django.contrib.contenttypes.modelsr	   Úapp_admin.modelsr
   r   r   r   r1   Ú
admin_siterF   ÚregisterÚ
ModelAdminr[   ry   Údefault_adminÚsiteÚ	_registryÚitemsrS   Úmodel_adminÚtyper/   r%   r#   ú<module>r‰      s  ðõ !Ý /Ý *ß BÑ BÝ :ß AÑ A÷
ñ 
ôL0�M 9ô 0ñ&  Ô/€
ô
�] Iô ð$ × Ñ �I˜~Ô .ô
E�m U×%5Ñ%5ô Eð> × Ñ �J Ô 0ô
G˜×)Ñ)ô Gð
 × Ñ �MÐ#5Ô 6õ
 2ð (×,Ñ,×6Ñ6×<Ñ<Ó>ò 6Ñ€Eˆ;Ø�J×(Ñ(Ò(Ø×Ñ˜E¡4¨Ó#4Õ5ñ6r%   