
    Dvg(                        d dl mZ d dlmZmZ 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mZ d dlmZ d d	lmZmZ d d
lmZmZ d dlmZ d dl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*  e e(          Z+ e  e*                      Z, ej-        e           G d dej.                              Z/ ej-        e           G d dej.                              Z0dS )    )settings)adminmessages)IS_POPUP_VAR)unquote)update_session_auth_hash)AdminPasswordChangeFormAdminUserCreationFormUserChangeForm)GroupUser)PermissionDenied)routertransaction)Http404HttpResponseRedirect)TemplateResponse)pathreverse)method_decorator)escape)gettext)gettext_lazy)csrf_protect)sensitive_post_parametersc                   ,     e Zd ZdZdZdZd fd	Z xZS )
GroupAdminname)permissionsNc                     |j         dk    r=|                    d|j        j        j                  }|                    d          |d<    t                      j        |fd|i|S )Nr    querysetcontent_typerequest)r   getremote_fieldmodelobjectsselect_relatedsuperformfield_for_manytomany)selfdb_fieldr$   kwargsqs	__class__s        V/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/contrib/auth/admin.pyr+   z#GroupAdmin.formfield_for_manytomany"   sj    =M))J(=(C(KLLB "$!2!2>!B!BF:/uww/TT'TVTTT    N)__name__
__module____qualname__search_fieldsorderingfilter_horizontalr+   __classcell__r0   s   @r1   r   r      sW        MH(U U U U U U U U U Ur2   r   c                   4    e Zd ZdZdZdddif ed          ddif ed          ddif ed	          dd
iffZddddffZeZ	e
ZeZdZdZdZdZdZd fd	Zd fd	Z fdZd fd	Zeedd                        Zd fd	Zedd            Zd fd	Z xZS )	UserAdminzadmin/auth/user/add_form.htmlNfields)usernamepasswordzPersonal info)
first_name	last_nameemailPermissions)	is_activeis_staffis_superusergroupsuser_permissionszImportant dates)
last_logindate_joined)wide)r?   usable_password	password1	password2)classesr>   )r?   rC   rA   rB   rF   )rF   rG   rE   rH   )r?   rA   rB   rC   )r?   )rH   rI   c                 Z    |s| j         S t                                          ||          S r3   )add_fieldsetsr*   get_fieldsets)r,   r$   objr0   s      r1   rS   zUserAdmin.get_fieldsetsU   s.     	&%%ww$$Wc222r2   c                     i }|
| j         |d<   |                    |            t                      j        ||fi |S )z7
        Use special form during user creation
        Nform)add_formupdater*   get_form)r,   r$   rT   r.   defaultsr0   s        r1   rY   zUserAdmin.get_formZ   sN     ;#}HVuww99999r2   c                     t          d| j                            | j                  d          gt	                                                      z   S )Nz<id>/password/auth_user_password_changer   )r   
admin_site
admin_viewuser_change_passwordr*   get_urls)r,   r0   s    r1   r`   zUserAdmin.get_urlsd   sU     **4+DEE0  
 GG 	r2   c                 v    |                     d           o"t                                          |||          S )Nr@   )
startswithr*   lookup_allowed)r,   lookupvaluer$   r0   s       r1   rc   zUserAdmin.lookup_allowedo   s>    $$Z000 
UWW5K5KE76
 6
 	
r2    c                     t          j        t          j        | j                            5  |                     |||          cd d d            S # 1 swxY w Y   d S )N)using)r   atomicr   db_for_writer'   	_add_view)r,   r$   form_urlextra_contexts       r1   add_viewzUserAdmin.add_viewu   s     f&9$*&E&EFFF 	D 	D>>'8]CC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	Ds   AAAc                 p   |                      |          s7|                     |          rt          j        rt	          d          t
          |i }| j                            | j        j	                  }d|j
        d}|                    |           t                                          |||          S )NzYour user does not have the "Change user" permission. In order to add users, Django requires that your user account have both the "Add user" and "Change user" permissions set. )auto_populated_fieldsusername_help_text)has_change_permissionhas_add_permissionr   DEBUGr   r   opts	get_fieldr'   USERNAME_FIELD	help_textrX   r*   rn   )r,   r$   rl   rm   username_fieldrZ   r0   s         r1   rk   zUserAdmin._add_view{   s     ))'22 
	#&&w// HN  '   #" M,,TZ-FGG%'"0":
 
 	X&&&ww=AAAr2   c                 :   |                      |t          |                    }|                     ||          st          |9t	          t          d          | j        j        t          |          dz            |j	        dk    rx| 
                    ||j                  }|                                rG|j        d         pd|j        v }|sEt          d          }t          j        ||           t#          |                                          S |                                }|                     ||d           }|                     |||           |                                rt          d          }nt          d          }t          j        ||           t1          ||j                   t#          t5          | j        j        d	|j        j        d
|j        j        d|j         f                    S n| 
                    |          }d dtC          |j"                  ifg}	tF          j$        %                    ||	i           }
|                                rt          d          }nt          d          }|t          |&                                          z  |
||tN          |j        v ptN          |j(        v tN          ddddd| j        |ddd| j        )                    |          }| j        j        |_*        tW          || j,        pd|          S )Nz8%(name)s object with primary key %(key)r does not exist.)r   keyPOSTset_usable_passwordzunset-passwordz2Conflicting form data submitted. Please try again.zPassword changed successfully.z+Password-based authentication was disabled.:__change)argsr>   zChange password: %szSet password: %sTF)title	adminFormrl   rV   is_popupis_popup_varaddchangehas_delete_permissionrs   has_absolute_urlrv   originalsave_as	show_savez$admin/auth/user/change_password.html)-
get_objectr   rs   r   r   r   rv   verbose_namer   methodchange_password_formr}   is_validcleaned_datar   r   errorr   get_full_pathsaveconstruct_change_message
log_changehas_usable_passwordsuccessr   userr   r]   r   _meta	app_label
model_namepklistbase_fieldsr   helpers	AdminFormget_usernamer   GETeach_contextcurrent_appr   change_user_password_template)r,   r$   idrl   r   rV   valid_submissionmsgchange_message	fieldsets
admin_formr   contexts                r1   r_   zUserAdmin.user_change_password   sB   w44))'488 	#""<LMM I2!"::    >V##,,T7<@@D}} " %&;< 8'7<7 ! ( I!"VWWCN7C000/0E0E0G0GHHHyy{{!%!>!>wd!S!S~>>>++-- Q!"BCCCC!"OPPC #...($)<<<+ !O000 J000 J111	 #gZ  
 
 
1"H ,,T22DXtD,<'='=>?@	],,T9bAA
##%% 	*+,,EE())EVD$5$5$7$7888# %5T9T(%*%) %I
 
  o**733!
& #o2. 65	
 
 	
r2   c                     d|j         vr6t          |j         vr(|j                                         |_         d|j         d<   t                                          |||          S )z
        Determine the HttpResponse for the add_view stage. It mostly defers to
        its superclass implementation but is customized because the User model
        has a slightly different workflow.
        _addanother   	_continue)r}   r   copyr*   response_add)r,   r$   rT   post_url_continuer0   s       r1   r   zUserAdmin.response_add   s\     ,,W\1Q1Q"<,,..GL()GL%ww##GS2CDDDr2   r3   )rf   N)rf   )r4   r5   r6   add_form_templater   r   r   rR   r   rV   r
   rW   r	   r   list_displaylist_filterr7   r8   r9   rS   rY   r`   rc   sensitive_post_parameters_mcsrf_protect_mrn   rk   r_   r   r:   r;   s   @r1   r=   r=   +   s       7$(!	234	
?		h(LMNAm 	
 
		*GHII& $S 	
M D$H2OLEKDMH
3 3 3 3 3 3
: : : : : :    
 
 
 
 
 
 !D D D ^ ! DB B B B B B8 !U
 U
 U
 ! U
nE E E E E E E E E Er2   r=   N)1django.confr   django.contribr   r   django.contrib.admin.optionsr   django.contrib.admin.utilsr   django.contrib.authr   django.contrib.auth.formsr	   r
   r   django.contrib.auth.modelsr   r   django.core.exceptionsr   	django.dbr   r   django.httpr   r   django.template.responser   django.urlsr   r   django.utils.decoratorsr   django.utils.htmlr   django.utils.translationr   r   r   django.views.decorators.csrfr   django.views.decorators.debugr   r   r   register
ModelAdminr   r=   rp   r2   r1   <module>r      sf               * * * * * * * * 5 5 5 5 5 5 . . . . . . 8 8 8 8 8 8         
 3 2 2 2 2 2 2 2 3 3 3 3 3 3 ) ) ) ) ) ) ) ) 5 5 5 5 5 5 5 5 5 5 5 5 5 5 % % % % % % % % 4 4 4 4 4 4 $ $ $ $ $ $ , , , , , , 6 6 6 6 6 6 5 5 5 5 5 5 C C C C C C!!,//../H/H/J/JKK  U U U U U! U U U QE QE QE QE QE  QE QE QE QE QEr2   