U
    ch                     @   sj  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 d dlT d dlmZ e ZG d	d
 d
ejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd  d ejZG d!d" d"ejZG d#d$ d$ejZG d%d& d&ejZ G d'd( d(ejZ!G d)d* d*ejZ"G d+d, d,ejZ#d-Z$G d.d/ d/ejZ%G d0d1 d1ejZ&G d2d3 d3ejZ'G d4d5 d5ejZ(G d6d7 d7ejZ)G d8d9 d9ejZ*G d:d; d;ejZ+d<Z,d=Z-G d>d? d?ejZ.G d@dA dAejZ/G dBdC dCejZ0dDS )E    )FastChildWatcher)field)forms)get_user_model)ReadOnlyPasswordHashField)Subscription)*)RegexValidatorc                   @   sF   e Zd ZejddejdddddZejdejdd	d
ddZdS )UserLoginForm   ZUsernamezEnter usernameform-control form-control-userplaceholderclassattrs
max_lengthlabelwidgetPasswordEnter passwordr   r   r   r   N)	__name__
__module____qualname__r   	CharField	TextInputusernamePasswordInputpassword r"   r"   S/var/www/html/staging.mfahmagazine.net/magazine_api/magazine_web_admin/web/forms.pyr
      s   r
   c                   @   s   e Zd ZejddejdddddZejddejd	ddddZejdd
ejdddddZ	ejdej
dddddZejdej
dddddZej ddZejedZG dd dZdS )UserRegisterFormr   
First NameEnter First Namer   r   r   r   	Last NameEnter Last NameEmailEnter Emailr   r   r   r   zEnter Confirm passwordidnamechoicesc                   @   s    e Zd ZeZddddddgZdS )zUserRegisterForm.Meta
first_name	last_nameemailr!   confirm_password
country_idNr   r   r   Usermodelfieldsr"   r"   r"   r#   Meta!   s   r8   N)r   r   r   r   r   r   r/   r0   
EmailInputr1   r    r!   r2   Countryobjectsallvalues_listZcountry_valChoiceFieldr3   r8   r"   r"   r"   r#   r$      s   r$   c                   @   s*   e Zd ZejddejdddddZdS )	ForgotPasswordFormr   r)   r*   r   r   r   r   N)r   r   r   r   r   r9   forgot_password_emailr"   r"   r"   r#   r?   5   s   r?   c                   @   s   e Zd ZejddejdddddZejddejd	ddddZejd
dejdddddZej	dddej
dddddZG dd dZdS )ProfileFormr   r%   r&   r   r   r   r   r'   r(   2   AddresszEnter Addressl     a$逖 zPhone NumberzEnter phone number	max_value	min_valuer   r   c                   @   s   e Zd ZeZddddgZdS )zProfileForm.Metar/   r0   phone_numberaddressNr4   r"   r"   r"   r#   r8   >   s   r8   N)r   r   r   r   r   r   r/   r0   rI   IntegerFieldNumberInputrH   r8   r"   r"   r"   r#   rA   8   s
    rA   c                   @   sn   e Zd ZejdejdddddZejdejdddddZejdejdddddZG d	d
 d
Z	dS )ForgetChangePasswordFormr   r   zEnter Old Passwordr   r   r   zEnter New PasswordzEnter Confirm Passwordc                   @   s   e Zd ZeZdddgZdS )zForgetChangePasswordForm.Metaold_passwordr!   r2   Nr4   r"   r"   r"   r#   r8   F   s   r8   N)
r   r   r   r   r   r    rM   r!   r2   r8   r"   r"   r"   r#   rL   B   s   rL   c                   @   s   e Zd ZejejddiddZejddejddd	d
ddZ	ej
dddejdd	dddZejddejddd	d
ddZG dd dZdS )AddAuthorFormonchangezvalidate3(this)r   r   #   Author
[A-Za-z ]+zEnter Author Namer   patternr   r   r         z
Author AgezEnter Author Ager   rE   zAuthor Writing TypezEnter Writing Typec                   @   s   e Zd ZeZddddgZdS )zAddAuthorForm.Metaauthor_imageauthor_name
author_agewriting_typeN)r   r   r   rR   r6   r7   r"   r"   r"   r#   r8   O   s   r8   N)r   r   r   r   
ImageField	FileInputrX   r   r   rY   rJ   rK   rZ   r[   r8   r"   r"   r"   r#   rN   J   s
      rN   c                   @   s:   e Zd ZejddejddddddZG d	d
 d
ZdS )AddLanguageForm   zChoose LanguagerS   zEnter Languager   rT   r   r   c                   @   s   e Zd ZeZdgZdS )zAddLanguageForm.MetalanguageNr   r   r   Languager6   r7   r"   r"   r"   r#   r8   U   s   r8   N)r   r   r   r   r   r   r`   r8   r"   r"   r"   r#   r^   S   s    r^   c                   @   s   e Zd ZG dd dZdS )UpdateLanguageFormc                   @   s   e Zd ZeZdZdS )zUpdateLanguageForm.Meta__all__Nra   r"   r"   r"   r#   r8   Z   s   r8   N)r   r   r   r8   r"   r"   r"   r#   rc   Y   s   rc   c                   @   sp   e Zd ZejejddiddZejddejddd	d
ddZ	ejddejdddddZ
G dd dZdS )AddMagazineCategoryFormrO   zvalidate4(this)r   rP   r_   zCategory NamerS   Enter Category Namer   rT   r   r   zCategory Colorcolorform-control colortyper   c                   @   s   e Zd ZeZdddgZdS )zAddMagazineCategoryForm.Metacategory_namemagazine_category_colormagazine_category_iconN)r   r   r   MagazineCategoryr6   r7   r"   r"   r"   r#   r8   b   s   r8   N)r   r   r   r   r\   r]   rm   r   r   rk   rl   r8   r"   r"   r"   r#   re   ^   s    re   c                
       sT  e Zd ZejdejddiddZejddejdd	d
ddZ	ej
dddejdd	d
ddZej
dddejdd	d
ddZejdddejdddd	dddZejddejddiddZejddejdddddZejddd ejdddddZejd!d"ejd#d	d
ddZejd$ejd%d$d	d&dd'Zejd(ejd)d(d	d&dd'Zejd*ejd+d	d
dd'Zejd,ejd-d	d
dd'Zejd.ejd/d	d
dd'Zejd0ejd1d	d
dd'Z ejdd2ejd3d	d
ddZ!d4Z"ej#e"d5Z$ejd!d6ejd6d	d
ddZ%ejdd7ejd8d	d
ddZ& fd9d:Z'G d;d< d<Z(  Z)S )=AddMagazineInfoFormTrO   zvalidate2(this)r   )requiredr   r   zMagazine NamezEnter Magazine Namer   r   r   @B r   zEnter Rent PricerE   zEnter Buy Price   FrW      Enter Description(250 words)rowscolsr   r   )r   rp   r   r   zIs Promotedr   zform-control promoted_tab)r   rp   r   zBackground first Colorrg   rh   ri   zBackground Second Color   z
Free PageszEnter Free Pages
issue_datedaterj   r   r   r   published_datezdatetime-localZSkuz	Enter SkuZIssueszEnter IssueszYears AvailablezEnter Years AvailableZUmcz	Enter UmczCover PricezEnter Cover Price))rW   Englishr-   ZValidityCommentzEnter Commentc                    sf   t  j|| d| jd _d| jd _d| jd _d| jd _d| jd _d| jd _d| jd	 _d S )
NTsystem_categorymagazine_categoryF
rent_price	buy_price	rent_date	frequency
free_pagessuper__init__r7   rp   selfargskwargs	__class__r"   r#   r      s    zAddMagazineInfoForm.__init__c                   @   sB   e Zd ZeZddddddddd	d
dddddddddddddgZdS )zAddMagazineInfoForm.Metacomment	cover_picdesktop_cover_picr,   r   r   r   r   descriptionis_promotedbackground_first_colorbackground_second_colorr   ry   r|   language_idr   r   skuissuesyear_availableumccover_priceN)r   r   r   MagazineInfor6   r7   r"   r"   r"   r#   r8      s   r8   )*r   r   r   r   	FileFieldr]   r   r   r   r,   
FloatFieldrK   r   r   Textarear   BooleanFieldCheckboxInputr   r   r   r   	DateField	DateInputry   DateTimeFieldDateTimeInputr|   rJ   r   r   r   r   r   GEEKS_CHOICESr>   r   r   r   r   r8   __classcell__r"   r"   r   r#   ro   f   s,     $ ro   c                       sD   e Zd Zejej de dZ	 fddZ
G dd dZ  ZS )MagazineAuthorFormTquerysetrp   r   c                    s   t  j|| d| jd _d S )NTauthorr   r   r   r"   r#   r      s    zMagazineAuthorForm.__init__c                   @   s   e Zd ZeZdgZdS )zMagazineAuthorForm.Metar   N)r   r   r   MagMapAuthorr6   r7   r"   r"   r"   r#   r8      s   r8   )r   r   r   r   ModelMultipleChoiceFieldrR   r;   r<   CheckboxSelectMultipler   r   r8   r   r"   r"   r   r#   r      s   r   c                       sB   e Zd ZejejddiddZ fddZG dd dZ  Z	S )	AddMegazinePagesFormrO   zvalidate1(this)r   rP   c                    s*   t  j|| d| jd _d| jd _d S )NTmagazineFpagesr   r   r   r"   r#   r      s    zAddMegazinePagesForm.__init__c                   @   s   e Zd ZeZddgZdS )zAddMegazinePagesForm.Metar   r   N)r   r   r   MegazinePagesr6   r7   r"   r"   r"   r#   r8      s   r8   )
r   r   r   r   r   r]   r   r   r8   r   r"   r"   r   r#   r      s   r   c                   @   s:   e Zd ZejddejddddddZG dd	 d	Zd
S )AddSystemCategoryFormr_   rf   rS   r   rT   r   r   c                   @   s   e Zd ZeZdgZdS )zAddSystemCategoryForm.Metark   N)r   r   r   SystemCategoryr6   r7   r"   r"   r"   r#   r8      s   r8   N)r   r   r   r   r   r   rk   r8   r"   r"   r"   r#   r      s    r   c                   @   sx   e Zd ZejddejddddddZejdd	ejdd
ddddZejddejdddddZ	G dd dZ
dS )SubAdminFormr_   r%   rS   r&   r   rT   r   r   r'   r(   r   r)   r*   r   c                   @   s   e Zd ZeZdddgZdS )zSubAdminForm.Metar/   r0   r1   Nr4   r"   r"   r"   r#   r8      s   r8   Nr   r   r   r   r   r   r/   r0   r9   r1   r8   r"   r"   r"   r#   r      s     	r   c                   @   st   e Zd ZejddejdddddZejddejd	ddddZejd
dejdddddZ	G dd dZ
dS )PublisherFormr_   r%   r&   r   r   r   r   r'   r(   r   r)   r*   c                   @   s   e Zd ZeZdddgZdS )zPublisherForm.Metar/   r0   r1   Nr4   r"   r"   r"   r#   r8      s   r8   Nr   r"   r"   r"   r#   r      s   r   c                   @   st   e Zd ZejddejdddddZejddejd	ddddZejd
dejdddddZ	G dd dZ
dS )SubPublisherFormr_   Subscription Typer&   r   r   r   r   r'   r(   r   r)   r*   c                   @   s   e Zd ZeZdddgZdS )zSubPublisherForm.Metar/   r0   r1   Nr4   r"   r"   r"   r#   r8      s   r8   Nr   r"   r"   r"   r#   r      s   r   c                   @   s   e Zd ZejddejdddddZejddejd	ddd
ddZejdddej	dddddZ
ejdejddddddZejdejddddddZG dd dZdS )AddSubscriptionFormr_   r   r   r   r   r   rQ   NamerS   rT   rq   rW   ZPricerE   
Start Daterz   r{   r   End Datec                   @   s"   e Zd ZeZdddddddgZdS )	zAddSubscriptionForm.Metauserssubscription_typer,   price
start_dateend_datesubscription_statusN)r   r   r   r   r6   r7   r"   r"   r"   r#   r8      s   r8   N)r   r   r   r   r   r   r   r,   r   rK   r   r   r   r   r   r8   r"   r"   r"   r#   r      s     r   c                   @   s4   e Zd Zejej de dZ	G dd dZ
dS )AssignUsersToOffersFormTr   c                   @   s   e Zd ZeZdgZdS )zAssignUsersToOffersForm.Metar   Nr4   r"   r"   r"   r#   r8      s   r8   N)r   r   r   r   r   r5   r;   r<   r   r   r8   r"   r"   r"   r#   r      s   r   ))AllzAll User)
PerticularzPerticular Usersc                	       s  e Zd ZejedejdddddZejddej	d	d
dddZ
ejdddejdd
ddddZejddddejdd
dddZejdejddd
dddZejdejddd
dddZejdddejd d
ddd!Z fd"d#ZG d$d% d%Z  ZS )&AddOffersFormTzshowUser("user_div", this)ZuserShow)rO   r+   r   )r.   rp   r      z
Offer CodezEnter Offer Coder   r   r   d   rW   z
Discount %Enter Discountz([0-9]{2})(,[0-9]{2})*)r   r   rU   rE   FrD   zMax DiscountzEnter Max Discount)rp   rF   rG   r   r   r   rz   r{   r   r   rr   Descriptionrt   )rp   r   r   r   c                    sP   t   }|d}|d}|d ks.|d kr:tdn||k rLtdd S )Nr   r   zPlease Check Date Once.z+End date should be greater than start date.)r   cleangetr   ValidationError)r   cleaned_datar   r   r   r"   r#   r      s    


zAddOffersForm.cleanc                   @   s.   e Zd ZeZdddddddgZddd	iiZd
S )zAddOffersForm.Meta	for_userscodediscountmax_discountr   r   r   r   zError: End date cannot be past.N)r   r   r   MagazineOfferinfor6   r7   error_messagesr"   r"   r"   r#   r8     s    r8   )r   r   r   r   r>   user_choiceSelectr   r   r   r   rJ   rK   r   r   r   r   r   r   r   r   r   r8   r   r"   r"   r   r#   r      s   "" 
r   c                   @   sV   e Zd ZejddejdddddZejddejdddddZG d	d
 d
ZdS )ChangePasswordFormr   rx   r   r   r   r   r   
min_lengthr   zConfirm passwordc                   @   s   e Zd ZeZddgZdS )zChangePasswordForm.Metar!   r2   Nr4   r"   r"   r"   r#   r8     s   r8   N)	r   r   r   r   r   r    r!   r2   r8   r"   r"   r"   r#   r     s   r   c                   @   s*   e Zd ZejddejdddddZdS )	VerifyRegiterFormEnter your otp   r   	Enter otpr   r   r   N)r   r   r   r   r   r    register_otpr"   r"   r"   r#   r     s   r   c                   @   s*   e Zd ZejddejdddddZdS )	VerifyMobileFormr   r   r   r   r   r   r   N)r   r   r   r   r   r    
mobile_otpr"   r"   r"   r#   r     s   r   c                	   @   sZ   e Zd ZejddejdddddZejdd	d
dejdddddZ	G dd dZ
dS )CountryFormrQ   r:   zEnter Country Namer   r   r   r   r   rW   F
CommissionEnter Commission)rF   rG   rp   r   r   c                   @   s   e Zd ZeZddgZdS )zCountryForm.Metar,   
commissionNr   r   r   r:   r6   r7   r"   r"   r"   r#   r8   #  s   r8   N)r   r   r   r   r   r   r,   rJ   rK   r   r8   r"   r"   r"   r#   r      s   "r   c                   @   s>   e Zd Zejej jdddde	 dZ
G dd dZdS )CountrySubscriptionFormr,   T)flatr   c                   @   s   e Zd ZeZdgZdS )zCountrySubscriptionForm.Metar,   Nr   r"   r"   r"   r#   r8   .  s   r8   N)r   r   r   r   r   r:   r;   r<   r=   r   r,   r8   r"   r"   r"   r#   r   '  s   $r   c                   @   s:   e Zd ZejdddejdddddZG d	d
 d
ZdS )CommissionFormr   rW   r   r   r   r   r   rE   c                   @   s   e Zd ZeZdgZdS )zCommissionForm.Metar   Nr   r"   r"   r"   r#   r8   A  s   r8   N)r   r   r   r   rJ   rK   r   r8   r"   r"   r"   r#   r   ?  s    r   ))Buyr   )Rentr   ))1z1 Month)2z2 Month)3z3 Month)4z4 Month)5z5 Month)6z6 Month)7z7 Month)8z8 Month)9z9 Month)10z10 Month)Z11z11 Month)Z12z12 Monthc                	   @   s   e Zd ZejddejdddddZejedd	Z	ej
d
ddejdddddZejddejdddddddZejdddejdddddZG dd dZdS )SubscriptionTypeFormr_   Subscritpion TypeEnter Subscription Namer   r   r   r   Fr.   rp   rq   r   Enter PricerE   r   rr   rW   rs   rt   ru   r   r   r   r   Discountr   c                   @   s    e Zd ZeZddddddgZdS )zSubscriptionTypeForm.Metar   daysr   r   countryr   Nr   r   r   SubscriptionTyper6   r7   r"   r"   r"   r#   r8   d  s   r8   Nr   r   r   r   r   r   r   r>   MONTH_CHOICESr   r   rK   r   r   r   rJ   r   r8   r"   r"   r"   r#   r   W  s    " r   c                	   @   s   e Zd ZejdddejdddddZejed	d
Z	ej
dddejdddddZejddejdddddddZejdddejdddddZG dd dZdS )SubscriptionCommisionFormr_   Tr   r   r   r   r   )r   disabledr   r   Fr   rq   r   r   rE   r   rr   rW   rs   rt   ru   r   r   r   r   c                   @   s   e Zd ZeZdddddgZdS )zSubscriptionCommisionForm.Metar   r   r   r   r   Nr   r"   r"   r"   r#   r8   s  s   r8   Nr  r"   r"   r"   r#   r  h  s     " r  c                   @   s   e Zd ZejddejddiddZejdejddiddZ	ejdejddiddZ
ejdejddiddZejdejddiddZejdejddiddZejdejddiddZejdejddiddZG d	d
 d
ZdS )WithdrawalFormrW   withdrawal_amountr   r   r   )rG   r   r   r_   )r   r   c                   @   s$   e Zd ZeZddddddddgZd	S )
zWithdrawalForm.Metar  r,   mobile_numberbank_account_number	bank_namemcr_code
swift_code	ifsc_codeN)r   r   r   WithdrawalDetailsr6   r7   r"   r"   r"   r#   r8     s   r8   N)r   r   r   r   rJ   rK   r  r   r   r,   r  r  r	  r
  r  r  r8   r"   r"   r"   r#   r  x  s   r  N)1asyncior   dataclassesr   djangor   django.contrib.authr   django.contrib.auth.formsr   base.modelsr   magazineapp.modelsZdjango.core.validatorsr	   r5   Formr
   	ModelFormr$   r?   rA   rL   rN   r^   rc   re   ro   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r"   r"   r"   r#   <module>   sN   "
	3