a
    Dg                     @   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 )NZavatar_imageszavatar_{uuid}_{filename}{ext})uuidfilenameext)ospathsplitextjoinformatr   uuid4)instancer   r    r   S/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/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 )-UserProfileZwagtail_userprofile)Z	on_deleteZ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   Z	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lightZLightZdarkZDarkN)__name__
__module____qualname___SYSTEMZLIGHTZDARKr   r   r   r   AdminColorThemesK   s   r$   zadmin theme)r   choicesr   r   c                   @   s$   e Zd ZdedfZdedfZdS )zUserProfile.AdminContrastThemesr   r   Zmore_contrastzMore contrastN)r   r    r!   r"   r#   ZMORE_CONTRASTr   r   r   r   AdminContrastThemesW   s   r&   contrastc                   @   s$   e Zd ZdedfZdedfZdS )zUserProfile.AdminDensityThemesr   ZDefaultZsnugZSnugN)r   r    r!   r"   DEFAULTZSNUGr   r   r   r   AdminDensityThemesb   s   r)   densityc                 C   s   | j j|dd S )N)userr   )ZobjectsZ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   s    z"UserProfile.get_preferred_languagec                 C   s   | j p
tjS r.   )current_time_zoner   Z	TIME_ZONEr0   r   r   r   get_current_time_zoneu   s    z!UserProfile.get_current_time_zonec                 C   s
   | j  S r.   )r+   Zget_usernamer0   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   Zverbose_name_pluralr   r   r   r   Meta{   s   r6   N)(r   r    r!   r   ZOneToOneFieldr   ZAUTH_USER_MODELZCASCADEr+   ZBooleanFieldr"   Zsubmitted_notificationsZapproved_notificationsZrejected_notificationsZupdated_comments_notificationsZ	CharFieldr/   r3   Z
ImageFieldr   ZavatarZ	JSONFielddictZdismissiblesZTextChoicesr$   r%   r#   Zthemer&   r'   r)   r(   r*   classmethodr-   r2   r4   r5   r6   r   r   r   r   r      s   
r   )r	   r   Zdjango.confr   Z	django.dbr   Zdjango.utils.translationr   r   r"   r   ZModelr   r   r   r   r   <module>   s   
