o
    h                     @   s^   d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlmZ	 dd Z
G dd	 d	ejZdS )
    N)settings)models)get_language)gettext_lazyc                 C   s.   t j|\}}t jddjt ||dS )Navatar_imageszavatar_{uuid}_{filename}{ext})uuidfilenameext)ospathsplitextjoinformatr   uuid4)instancer   r	    r   T/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/users/models.pyupload_avatar_to
   s   
r   c                   @   s  e Zd ZejejejddZej	e
dde
ddZej	e
dde
ddZej	e
d	de
d
dZej	e
dde
ddZeje
dde
dddZeje
dde
dddZeje
deddZejeddZG dd dejZeje
dejejddZG dd dejZeje
dejejddZG dd  d ejZeje
d!ejej ddZ!e"d"d# Z#d$d% Z$d&d' Z%d(d) Z&G d*d+ d+Z'd,S )-UserProfilewagtail_userprofile)	on_deleterelated_namezsubmitted notificationsTz<Receive notification when a page is submitted for moderation)verbose_namedefault	help_textzapproved notificationsz4Receive notification when your page edit is approvedzrejected notificationsz4Receive notification when your page edit is rejectedzupdated comments notificationszReceive notification when comments have been created, resolved, or deleted on a page that you have subscribed to receive comment notifications onzpreferred language
   zSelect language for the admin )r   
max_lengthr   r   zcurrent time zone(   zSelect your current time zonezprofile picture)r   	upload_toblank)r   r    c                   @   s0   e Zd ZdedfZdedfZdedfZdS )zUserProfile.AdminColorThemessystemSystem defaultlightLightdarkDarkN)__name__
__module____qualname___SYSTEMLIGHTDARKr   r   r   r   AdminColorThemesK   s    r.   zadmin theme)r   choicesr   r   c                   @   $   e Zd ZdedfZdedfZdS )zUserProfile.AdminContrastThemesr!   r"   more_contrastzMore contrastN)r'   r(   r)   r*   r+   MORE_CONTRASTr   r   r   r   AdminContrastThemesW       r3   contrastc                   @   r0   )zUserProfile.AdminDensityThemesr   DefaultsnugSnugN)r'   r(   r)   r*   DEFAULTSNUGr   r   r   r   AdminDensityThemesb   r4   r;   densityc                 C   s   | j j|dd S )N)userr   )objectsget_or_create)clsr=   r   r   r   get_for_usern   s   zUserProfile.get_for_userc                 C   s   | j pt S N)preferred_languager   selfr   r   r   get_preferred_languager      z"UserProfile.get_preferred_languagec                 C   s   | j ptjS rB   )current_time_zoner   	TIME_ZONErD   r   r   r   get_current_time_zoneu   rG   z!UserProfile.get_current_time_zonec                 C   s
   | j  S rB   )r=   get_usernamerD   r   r   r   __str__x   s   
zUserProfile.__str__c                   @   s   e Zd ZedZedZdS )zUserProfile.Metazuser profilezuser profilesN)r'   r(   r)   r*   r   verbose_name_pluralr   r   r   r   Meta{   s    rN   N)(r'   r(   r)   r   OneToOneFieldr   AUTH_USER_MODELCASCADEr=   BooleanFieldr*   submitted_notificationsapproved_notificationsrejected_notificationsupdated_comments_notifications	CharFieldrC   rH   
ImageFieldr   avatar	JSONFielddictdismissiblesTextChoicesr.   r/   r+   themer3   r5   r;   r9   r<   classmethodrA   rF   rJ   rL   rN   r   r   r   r   r      s    
r   )r
   r   django.confr   	django.dbr   django.utils.translationr   r   r*   r   Modelr   r   r   r   r   <module>   s    
