o
    ayh                     @   sH   d dl mZ d dlmZ dd ZG dd dejZG dd dejZd	S )
    )models)RegexValidatorc                 C   s   d| j  d| S )Nzshop_logos//name)instancefilename r	   (/var/www/html/kangema/settings/models.pyshop_logo_path   s   r   c                   @   s`   e Zd ZddgZejdedddZejdded	d
dgddZdd Z	G dd dZ
dd ZdS )Theme)lightz
Light Mode)darkz	Dark Mode
   r   z"Choose between light and dark mode)
max_lengthchoicesdefault	help_text   z#28a745z^#(?:[0-9a-fA-F]{3}){1,2}$zEnter a valid HEX color code.)regexmessagez3Primary brand color (used for buttons, links, etc.))r   r   
validatorsr   c                 C   s   |    dS )Nz Theme)get_mode_displayselfr	   r	   r
   __str__    s   zTheme.__str__c                   @      e Zd ZdZdZdS )z
Theme.Metar   ThemesN__name__
__module____qualname__verbose_nameverbose_name_pluralr	   r	   r	   r
   Meta#       r$   c                    sX   | j d t fdddD }tdd |D }d|d d|d d|d	 dS )
zCGenerate a darker shade of the primary color for secondary elements#c                 3   s&    | ]}t  ||d   dV  qdS )      N)int).0i	hex_colorr	   r
   	<genexpr>+   s   $ z,Theme.get_secondary_color.<locals>.<genexpr>)r   r'      c                 s   s"    | ]}t d t|d V  qdS )r   g?N)maxr)   )r*   cr	   r	   r
   r.   ,   s     r   02x   r'   )primary_colorlstriptuple)r   rgb
darker_rgbr	   r,   r
   get_secondary_color'   s   $zTheme.get_secondary_colorN)r   r    r!   THEME_CHOICESr   	CharFieldmoder   r4   r   r$   r9   r	   r	   r	   r
   r      s,    
r   c                   @   sP  e Zd ZejddZe ZejdeddgdZ	e
 ZejdddZejeddd	Zejdddd
Zejdddd
Zejdddd
Zejdddd
ZejdddgddZejdddd
ZejdddZej
dddZejdddd
ZejddZejddZejdddZejdddd
Zejdddd
Z dd Z!dd Z"G dd dZ#dS )Shop   )r      z^\+?\d{9,15}$zEnter a valid phone number.)r   r   T)blanknull)	upload_tor@   rA   )r   r@   rA   r   )sandboxSandbox)
production
ProductionrC   )r   r   r   )r   F2   c                 C   s   | j S )Nr   r   r	   r	   r
   r   S   s   zShop.__str__c                 C   s   | j r| j jS dS )Nz/static/images/default_logo.png)logourlr   r	   r	   r
   get_logo_urlV   s   zShop.get_logo_urlc                   @   r   )z	Shop.Metar=   ShopsNr   r	   r	   r	   r
   r$   [   r%   r$   N)$r   r    r!   r   r;   r   	TextFieldaddressr   phone
EmailFieldemailURLFieldwebsite
ImageFieldr   rH   mpesa_consumer_keympesa_consumer_secretmpesa_short_codempesa_passkey	mpesa_env	smtp_hostPositiveIntegerField	smtp_port	smtp_usersmtp_passwordBooleanFieldsmtp_use_tlssmtp_use_sslsms_api_urlsms_api_keysms_sender_idr   rJ   r$   r	   r	   r	   r
   r=   /   s>    
r=   N)	django.dbr   django.core.validatorsr   r   Modelr   r=   r	   r	   r	   r
   <module>   s
   '