U
    njcJ                     @   sD  d dl mZ d dlmZ d dlm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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 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"G d<d= d=ejZ#G d>d? d?ejZ$d@S )A    )
Permission)models)Userc                   @   s2   e Zd ZejdddZe Ze Ze ZdS )	IntensityTnullblankN)	__name__
__module____qualname__r   IntegerFieldZ	intensitymaxValueZmedValueminValue r   r   (/var/www/html/services/utility/models.pyr      s   r   c                   @   s$   e Zd Ze Ze Ze ZdS )InolN)r	   r
   r   r   
FloatFieldZmaxInolZmodInolZminInolr   r   r   r   r      s   r   c                   @   s   e Zd ZdZdZedfedffZejdddZej	eddZ
ejedejd	d
Zejedejdd
ZejddZejddZdS )ExerciseCategory   r   zUser active in Categoryz User does not active in Category   T
max_lengthr   defaultZCategoryr   	on_deleterelated_nameZ
Categoriesauto_now_addauto_nowN)r	   r
   r   ACTIVEINACTIVECHOICESr   	CharFieldZcategoryNameSmallIntegerFieldstatus
ForeignKeyr   CASCADE	createdBy
modifiedByDateTimeFieldcreatedDatemodifiedDater   r   r   r   r      s   r   c                   @   s   e Zd ZdZdZedfedffZejdddZejdddZ	ej
edd	Zejd
d
dZejed
d
ejdZejd
d
dZejed
ejddZejed
ejddZejd
dZejd
dZdS )ExerciseTyper   r   zUser active in ExerciseTypez-User does not does not active in ExerciseTyped   Fr   r   2   )choicesr   Tr   r   r   r   r   Zextyper   Z	extypeModr   r   N)r	   r
   r   r!   r"   r#   r   r$   ZexerciseTypeNameZexerciseTypeCoder%   ZexerciseTypeStatus	TextFieldZexerciseTypeDescr'   r   r(   ZexerciseCategory	equipmentr   r)   r*   r+   r,   r-   r   r   r   r   r.   !   s   r.   c                   @   s   e Zd ZdZdZedfedffZejddddZej	e
dejdd	Zej	e
dejd
d	ZejddZejddZejeddZejddZdS )Videosr   r   zUser active in Videosz'User does not does not active in Videos   Tr   r   r   ZvideoCreatorr   ZvideoModifierr   r   r   N)r	   r
   r   r!   r"   r#   r   r$   Z	videoLinkr'   r   r(   r)   r*   r+   r,   r-   r%   ZvideosStatusBooleanFieldZ
youtubeUrlr   r   r   r   r7   3   s   r7   c                   @   sj   e Zd ZejddZejddejdZeje	dejddZ
eje	dejddZejdd	Zejdd
ZdS )PlanPurposesr   r   selfT)r   r   ZPPr   ZPP1r   r   N)r	   r
   r   r   r$   ZGoalNamer'   r(   ZparentGoalNamer   r)   r*   r+   r,   r-   r   r   r   r   r;   B   s   r;   c                   @   sf   e Zd ZejddZejdddZeje	dej
ddZeje	dej
ddZejddZejdd	Zd
S )PlanAbilitiesr   r<   Tr3   ZAbilityr   ZAbility1r   r   N)r	   r
   r   r   r$   Zabilityr5   descr'   r   r(   r)   r*   r+   r,   r-   r   r   r   r   r>   J   s   r>   c                   @   s  e Zd ZdZdZedfedffZejdddZejdddZ	ej
edd	Zejd
d
dZejd
d
dZejed
d
dejdZejdd
d
dZejdd
d
dZejd
d
dZejed
d
ejdZejdd	Zejdd	Zejdd	Zejdd
dZejd
dZejd
dZej
dd	Z ej!dd	Z"ej!dd	Z#ej!dd	Z$ej!dd	Z%ejd
dZ&ejd
dZ'ej!dd	Z(ej!dd	Z)ej!d
dZ*eje+d
ejddZ,eje+d
ejddZ-ej.d
dZ/ej.d
dZ0ejd
dZ1dS )Exerciser   r   User active in Exercise)User does not does not active in Exerciser/   Fr0   r1   r   Tr3   ZexVideo)r   r   r   r   )r   r   r   r8   r   r   r   )r   r   r   r   r   exr   ZexModr   r   N)2r	   r
   r   r!   r"   r#   r   r$   exerciseNameZexerciseCoder%   exerciseStatusr5   exerciseDescr6   r'   r7   r(   videor   ZderivedFromZderivedFormular   ZworkFormular.   ZexerciseTypeZolympicLiftZolympicParentZolympicFormulaexIconpreExInstructionspostExInstructionsaccessLevelr:   weightExistsdistanceExists
timeExists
repsExistsZexAbilitiessetInstructionsspeedExistsheightExiststimeShortestr   r)   r*   r+   r,   r-   ZexOrderr   r   r   r   r@   R   sH   r@   c                   @   s  e Zd ZdZdZedfedffZejdddZej	e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	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Zejdd	dZejdd	dZejdd	dZejd	dZejd	dZej	ddZejddZejddZejddZejddZejd	dZ ejddZ!ejddZ"ejd	dZ#ej$e%d	ej&ddZ'ej$e%d	ej&ddZ(ej)d	dZ*ej)d	dZ+ejd	d	d
Z,dS )NewExerciser   r   rA   rB   r/   Fr0   r   Tr3   rC   r8   r   rD   ZnewExr   ZnewExModr   r   N)-r	   r
   r   r!   r"   r#   r   r$   rF   r%   rG   r5   rH   r6   rI   Zthumb_imageZcover_imager   ZstressFactorZexCoeffiecientrJ   ZexGroupZexMainGroupZflowTyperK   rL   rM   r:   rN   rO   rP   rQ   rR   rS   rT   rU   r'   r   r(   r)   r*   r+   r,   r-   ZdistanceFactorr   r   r   r   rV   y   sD   rV   c                   @   s  e Zd ZejeejdZejddZ	ejddZ
ejddZejddZejddZejddZejddZejddZejddZejddZejddZejddZejddZejddZejddZejddZejddZejeddejdZejddZejddZdS )	AdvExercisesr   TrD   r   r   ZpeX)r   r   r   N) r	   r
   r   r   r'   r@   r(   Zexerciser:   ZstraightActivityZcomplexActivityr5   ZcomplexMethodZcomplexInstructionsr   ZcomplexRoundsZ	maxWeightZmaxRepsZmaxTimeZmaxDistanceZmaxSpeedZ	maxHeightr   ZtmaxRepsZ
tmaxWeightZtmaxDistanceZtmaxTimeZ	tmaxSpeedZ
tmaxHeightZparentExerciseZtmaxTestInstZ	exPurposer   r   r   r   rW      s*   rW   c                   @   s   e Zd ZdZdZedfedffZejeddej	dZ
ejeddej	dZejedej	ddZejedej	d	dZejdd
ZejddZejeddZdS )ExcerciseTypeVideosr   r   z"User active in ExcerciseTypeVideosz4User does not does not active in ExcerciseTypeVideosTr4   Zextypevideor   ZextypevideoModr   r   r   N)r	   r
   r   r!   r"   r#   r   r'   r.   r(   ZexcerciseTyper7   rI   r   r)   r*   r+   r,   r-   r%   ZexcerciseStatusr   r   r   r   rY      s   rY   c                   @   s   e Zd ZdZdZedfedffZejeddej	dZ
ejeddej	dZejedej	ddZejedej	d	dZejdd
ZejddZejeddZdS )ExcerciseVideosr   r   zUser active in ExcerciseVideosz0User does not does not active in ExcerciseVideosTr4   Zexvideor   Z
exvideoModr   r   r   N)r	   r
   r   r!   r"   r#   r   r'   r@   r(   	excerciser7   rI   r   r)   r*   r+   r,   r-   r%   ZexcerciseVideosStatusr   r   r   r   rZ      s   rZ   c                   @   s   e Zd ZdZdZedfedffZejdddZej	e
dejd	d
Zej	e
dejdd
ZejddZejddZejeddZdd ZdS )ProgramTyper   r   zUser active in ProgramTypez,User does not does not active in ProgramType   Fr0   TZvideo_creatorr   Zvideo_modifierr   r   r   c                 C   s   | j S )N)programTypeName)r=   r   r   r   __str__   s    zProgramType.__str__N)r	   r
   r   r!   r"   r#   r   r$   r^   r'   r   r(   r)   r*   r+   r,   r-   r%   ZprogramTypeStatusr_   r   r   r   r   r\      s   r\   c                   @   s   e Zd ZdZdZedfedffZejddddZej	eddZ
ejd	ddd
ejdZejedejddZejedejddZejddZejddZdS )Goalsr   r   zUser active in Goalsz&User does not does not active in Goalsr/   Tr9   r   r=   Zpa_goal)r   r   r   r   Zgoalr   ZgoalModr   r   N)r	   r
   r   r!   r"   r#   r   r$   ZgoalNamer%   Z
goalStatusr'   r(   Z
parentGoalr   r)   r*   r+   r,   r-   r   r   r   r   r`      s   r`   c                   @   s   e Zd ZdZdZedfedffZejdddZejdddZ	ejdddZ
ejdddZejdddZejedejddZejedejd	dZejdd
ZejddZejeddZdS )	InolRanger   r   zUser active in InolRangez*User does not does not active in InolRangeTr   r   r   ZInolModr   r   r   N)r	   r
   r   r!   r"   r#   r   r   levelr   r   ZavgValueZstressValuer'   r   r(   r)   r*   r+   r,   r-   r%   ZinolRangeStatusr   r   r   r   ra      s   ra   c                   @   s~   e Zd ZdZdZedfedffZejddZej	eddZ
ejedejd	d
Zejedejdd
ZejddZejddZdS )Rolesr   r   zUser active in Rolesz&User does not does not active in Roles   r<   r   TZRoalr   ZRoalModifierr   r   N)r	   r
   r   r!   r"   r#   r   r$   roler%   Z
roleStatusr'   r   r(   r)   r*   r+   r,   r-   r   r   r   r   rc     s   rc   c                   @   s   e Zd ZdZdZedfedffZejeej	dZ
ejeej	dZejeddZejedej	dd	Zejedej	d
d	ZejddZejddZdS )	UserRolesr   r   zUser active in UserRolesz*User does not does not active in UserRolesrX   r   TZUserRoalr   ZUserRoalModifierr   r   N)r	   r
   r   r!   r"   r#   r   r'   rc   r(   rolesr   userr%   Z
userStatusr)   r*   r+   r,   r-   r   r   r   r   rf     s   rf   c                   @   sR   e Zd ZdZdZedfedffZejeddZej	e
ejdZej	eejdZdS )rolepermissionsr   r   zUser active in rolepermissionsz'User does not active in rolepermissionsr   rX   N)r	   r
   r   r!   r"   r#   r   r%   ZpermissionStatusr'   rc   r(   rg   r   permissionsr   r   r   r   ri   "  s   ri   c                   @   s   e Z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	e
dejddZej	e
dejddZejddZejddZd	S )
	protocolsr/   Tr9   protor   ZprotoModr   r   N)r	   r
   r   r   r$   ZprotocolNameZprotocolTypeZprotocolMethodZprotocolLevelr'   r   r(   r)   r*   r+   r,   r-   r   r   r   r   rk   -  s   rk   c                   @   s   e Zd ZdZdZedfedffZejdddZej	eddZ
ejd	ddZejd
ddZejedejd dZejedejddZejddZejddZdS )Countryr   r   zUser active in CountryzUser does not active in Countryr   Tr   r      
   r   Z	Countriesr   r   N)r	   r
   r   r!   r"   r#   r   r$   namer%   ZcountryStatusZdialCodeZcountryCoder'   r   r(   r)   r*   r+   r,   r-   r   r   r   r   rm   7  s   rm   c                   @   s   e Zd ZdZdZedfedffZejeej	dZ
ejdddZejedd	Zejedej	d d
Zejedej	dd
ZejddZejddZdS )Stater   r   zUser active in StatezUser does not active in StaterX   r   Tr   r   r   ZStatesr   r   N)r	   r
   r   r!   r"   r#   r   r'   rm   r(   countryr$   rp   r%   ZstateStatusr   r)   r*   r+   r,   r-   r   r   r   r   rq   G  s   rq   c                   @   sd   e Zd ZejddZejddZejedej	ddZ
ejedej	ddZejddZejdd	Zd
S )PartnerTyper   r<   ro   TZPTr   ZPT1r   r   N)r	   r
   r   r   r$   ZpartnerTypeNameZpartnerTypeCoder'   r   r(   r)   r*   r+   r,   r-   r   r   r   r   rs   V  s   rs   c                   @   s   e Zd Ze Ze ZdS )PriceMappingN)r	   r
   r   r   r   ZinrZusdr   r   r   r   rt   ^  s   rt   c                   @   st   e Zd ZejdddZejdddZejddZej	e
dejddZej	e
dejddZejddZejdd	Zd
S )Partnersr   Tr   rD   ZPar   ZPa1r   r   N)r	   r
   r   r   r$   ZpartnerNameZpartnerImager5   ZpartnerLinkr'   r   r(   r)   r*   r+   r,   r-   r   r   r   r   ru   c  s   ru   c                   @   s   e Zd Ze Ze ZdS )PriceConversionN)r	   r
   r   r   r   ZinrValueZusdValuer   r   r   r   rv   l  s   rv   c                   @   s&   e Zd ZejddZejdddZdS )
AppVersion   r<   Tr   N)r	   r
   r   r   r$   versionZ
deviceTyper   r   r   r   rw   p  s   rw   c                   @   s>   e Zd ZejdddZejddZejddZej	ddZ
d	S )
TrainingLevelr]   Fr0   Tr   r   r   r   N)r	   r
   r   r   r$   trainingLevelr+   r,   r-   r%   r&   r   r   r   r   rz   t  s   rz   c                   @   sD   e Zd ZejeejdZe Z	e Z
ejeejdZe ZdS )
TmaxLookuprX   N)r	   r
   r   r   r'   r@   r(   r[   r   Z
bodyWeightZgenderrz   r{   r   Zweightr   r   r   r   r|   z  s
   r|   c                   @   s   e Zd ZejdddZdS )	FullMealsTr3   N)r	   r
   r   r   r5   r}   r   r   r   r   r}     s   r}   c                   @   s4   e Zd ZejdddZejdddZejddZdS )Science   Tr   Fr   N)	r	   r
   r   r   r$   rp   Z	blog_linkr:   r&   r   r   r   r   r~     s   r~   N)%django.contrib.auth.modelsr   	django.dbr   ZSubscriber.modelsr   Modelr   r   r   r.   r7   r;   r>   r@   rV   rW   rY   rZ   r\   r`   ra   rc   rf   ri   rk   rm   rq   rs   rt   ru   rv   rw   rz   r|   r}   r~   r   r   r   r   <module>   s@   '%
	