U
    ¥cïh  ã                   @   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