
    siC                         d Z ddlZddlmZmZ ddlmZ ddlmZ ddl	m
Z
 d Zd Z ed	 d
D              s@ e       Zej                  edd       ej                  edd       ej!                          yy)z?
scheduler.py

This module is used to register scheduled tasks
    N)date	timedelta)BackgroundScheduler)reverse)notifyc                     ddl m}  ddlm} t	        j
                         }|j                  j                         }| j                  j                  d      j                  d      j                         }| j                  j                  d      j                  d      j                         }|j                  j                  d	|
      }|D ]  }|j                  s|j                  }|t        |j                        z
  }t        |j                  dd      xs |}	||k(  sW|	sZt!        j"                  ||	d|j$                   d|j                   dd|j$                   d|j                   dd|j$                   d|j                   dd|j$                   d|j                   dd|j$                   d|j                   dt'        d      dd 
        y)!zV
    Finds all Expiring Assets and send a notification on the notify_before date.
    r   User)AssetWorksol BotusernameidT)is_superuserF)expiry_date__isnullexpiry_date__gtedaysemployee_user_idNzThe Asset 'z' expires in z daysu$   تنتهي صلاحية الأصل '   ' خلال u    من الأيامz
Das Asset u    läuft in z
 Tagen ab.z
El activo z caduca en u    días.zL'actif z expire dans z jours.asset-category-viewSysteminformation		recipientverbverb_arverb_deverb_esverb_frredirectlabelicon)django.contrib.auth.modelsr
   asset.modelsr   r   todayobjectsallfilteronlyfirstexpiry_dater   notify_beforegetattrownerr   send
asset_namer   )
r
   r   r&   assetsbot	superuserassetr,   notify_dater   s
             3/var/www/python-projects/worksol/asset/scheduler.pynotify_expiring_assetsr8      s    0"JJLE]] F ,,

}

5
:
:4
@
F
F
HC###6;;DAGGII ]]!!! " F
  ++K%	u7J7J(KKK-?FS)Ie#	'&u'7'7&8eFYFYEZZ_`B5CSCSBTT_`e`s`s_t  uG  H()9)9(:+eFYFYEZZde()9)9(:+eFYFYEZZab&u'7'7&8eFYFYEZZab$%:;"&    c                     ddl m}  ddlm} t	        j
                         }|j                  j                         }| j                  j                  d      j                         }|D ]  }|j                  s|j                  }|t        |j                        z
  }||k(  rt        j                  ||j                  j                   d|j"                   d|j                   d	d
|j"                   d|j                   dd|j"                   d|j                   dd|j"                   d|j                   dd|j"                   d|j                   dt%        d      dd
       ||k\  sd|_         y)zY
    Finds all Expiring Documents and send a notification on the notify_before date.
    r   r	   )Documentr   r   r   zThe document ' z ' expires in z                        daysu(   تنتهي صلاحية المستند 'r   u                       يومzDas Dokument 'u   ' läuft in z!                        Tagen ab.zEl documento 'z' caduca en u                           díaszLe document 'z' expire dans z                        joursr   r   r   r   FN)r$   r
   horilla_documents.modelsr;   r   r&   r'   r(   r)   r+   r,   r   r-   r   r0   employee_idr   titler   	is_active)r
   r;   r&   	documentsr3   documentr,   r6   s           r7   notify_expiring_documentsrB   9   s~    01JJLE  $$&I
,,

}

5
;
;
=C +"..K%	x7M7M(NNKe#&22CC*8>>*:.I_I_H` a Fx~~FVVabjbxbxay z ,X^^,<LI_I_H` a" #,X^^,<LI_I_H` a +HNN+;>(J`J`Ia b $%:;"&" #%*"1+r9   c              #   @   K   | ]  }|t         j                  v   y w)N)sysargv).0cmds     r7   	<genexpr>rH   _   s        388Os   )makemigrationsmigratecompilemessagesflushshellinterval   r      )hours)__doc__rD   datetimer   r   !apscheduler.schedulers.backgroundr   django.urlsr   notifications.signalsr   r8   rB   any	scheduleradd_jobstart r9   r7   <module>r\      s     $ A  (&R#+L  Q  $%I,jqA/1EOOr9   