
    sip                         d 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mZ ddlmZ dd	lmZ dd
lmZmZ ddlmZ ddlmZ  eed       e ed      d       G d de                    Zy)z
Announcement page
    )messages)User)HttpResponse)method_decorator)gettext_lazy)AnnouncementForm)Announcement)Employee)login_requiredpermission_required)HorillaFormView)notifydispatch)namezbase.add_announcement)permc                   N     e Zd ZdZeZeZ ed      Z	 fdZ
dedef fdZ xZS )AnnouncementFormViewz%
    form view for create button
    zCreate Announcements.c                     t        |   di |}| j                  j                  j                  rt        d      | j                  _        |S )NzEdit Announcement. )superget_context_dataforminstancepk_
form_classverbose_name)selfkwargscontext	__class__s      =/var/www/python-projects/worksol/base/cbv/announcement_cbv.pyr   z%AnnouncementFormView.get_context_data   s?    '*4V499  +,-A+BDOO(    r   returnc                 h   |j                         r|j                  j                  rt        d      }nt        d      }|j	                  d      \  }}|j	                          |j
                  j                  |       |j                  d   }|j                  d   }|j                  d   }|j                  j                  |       |j                  j                  |       t        j                  j                  |      }t        j                  j                  |	      }	|t        j                  j                  |
      z  }|t        j                  j                  |      z  } |j                  j                  |  t!        j"                  | j$                  j&                  j(                  |ddddddd	       t!        j"                  | j$                  j&                  j(                  |	ddddddd	       t+        j,                  | j$                  |       t/        d      S t0        
| e  |      S )Nz"Announcement updated successfully.z"Announcement created successfully.F)commit	employees
departmentjob_position)3employee_get__employee_work_info__department_id__in)5employee_get__employee_work_info__job_position_id__in)%employee_work_info__department_id__in)'employee_work_info__job_position_id__inz(Your department was mentioned in a post.u%   تم ذكر قسمك في منشور.u.   Ihr Abteilung wurde in einem Beitrag erwähnt.u3   Tu departamento fue mencionado en una publicación.u3   Votre département a été mentionné dans un post./zchatbox-ellipses)	recipientverbverb_arverb_deverb_esverb_frredirecticonz*Your job position was mentioned in a post.u)   تم ذكر وظيفتك في منشور.u5   Ihre Arbeitsposition wurde in einem Beitrag erwähnt.u8   Tu puesto de trabajo fue mencionado en una publicación.u7   Votre poste de travail a été mentionné dans un post.z*<script>window.location.reload();</script>)is_validr   r   r   saveattachmentssetcleaned_datar(   r)   r   objectsfilterr
   r'   addr   sendrequestuseremployee_getr   successr   r   
form_valid)r   r   messageanouattachment_idsr'   departmentsjob_positionsemp_depemp_jobsr!   s             r"   rD   zAnnouncementFormView.form_valid%   s   ==?}}@A@A#'99E9#: D.IIK  0))+6I++L9K --n=MOO,!!-0ll))DO * G ||**FS + H "H$4$4$;$;6A %< % I "H$4$4$;$;8E %< % I DNN	*KK!!..!??HMM'
 KK!!.."ACORQ'
 T\\73 LMMw!$''r#   )__name__
__module____qualname____doc__r   r   r	   modelr   new_display_titler   r   rD   __classcell__)r!   s   @r"   r   r      s>     "JE123(/ 3(L 3( 3(r#   r   N)rO   django.contribr   django.contrib.auth.modelsr   django.httpr   django.utils.decoratorsr   django.utils.translationr   r   
base.formsr   base.modelsr	   employee.modelsr
   horilla_views.cbv_methodsr   r   horilla_views.generic.cbv.viewsr   notifications.signalsr   r   r   r#   r"   <module>r^      si    $ + $ 4 6 ' $ $ I ; ( .z2%+BC*UC(? C( V 3C(r#   