Ë
    ^Pg$  ã                   ó¼  — d dl mZmZmZ ddlmZmZmZ ddlm	Z	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Zd d
lmZ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j@                  e!«      Z" ed¬«      dd„«       Z# ed¬«      d„ «       Z$ G d„ dejJ                  «      Z& G d„ de«      Z' G d„ de«      Z( G d„ dejJ                  «      Z) G d„ de«      Z*y	)é    )ÚrenderÚredirectÚget_object_or_404é   )ÚContactPersonFormÚContactDetailFormSetÚFarmerContactForm)ÚContactPersonÚContactDetail)ÚFarmer)Úlogin_required)Úautocomplete)ÚQN)ÚListViewÚ
DetailView)Ú
UpdateView)Úreverse_lazy)Úis_supervisorÚ
is_manager)Úforms)Úmessageszaccounts/login/)Ú	login_urlc                 ó”  — | j                   }d }|rŽt        t        |¬«      }t        |«      rn”t	        |«      r[|j
                  dk(  s@|j                  j                  t        |¬«      t        |¬«      z  «      j                  «       rn9t        d«      S t        d«      S t        |«      rnt	        |«      rnt        d«      S | j                  dk(  �rt        | j                  «      }t        | j                  «      }|j                  «       r¸|j                  «       r¨|j!                  «       }|r|j"                  j%                  |«       n6|j&                  j)                  d«      }|r |j"                  j$                  |Ž  ||_        |j!                  «        t-        j.                  | d	«       t1        d
|j2                  ¬«      S t-        j4                  | d«       t7        | d|||dœ«      S |r8d|gi}t        |¬«      }t9        j:                  «       |j<                  d   _        n
t        «       }t        «       }t7        | d|||dœ«      S )N)ÚidÚunprocessed)Úuser)Úassigned_touC   Ð’Ð¸ Ð½Ðµ Ð¼Ð°Ñ”Ñ‚Ðµ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ñƒ Ð´Ð¾ Ñ†ÑŒÐ¾Ð³Ð¾ Ñ„ÐµÑ€Ð¼ÐµÑ€Ð°.uC   Ð’Ð¸ Ð½Ðµ Ð¼Ð°Ñ”Ñ‚Ðµ Ð´Ð¾Ñ�Ñ‚ÑƒÐ¿Ñƒ Ð´Ð¾ Ñ†Ñ–Ñ”Ñ— Ñ�Ñ‚Ð¾Ñ€Ñ–Ð½ÐºÐ¸.ÚPOSTÚfarmersu:   ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð° Ð¾Ñ�Ð¾Ð±Ð° ÑƒÑ�Ð¿Ñ–ÑˆÐ½Ð¾ Ð´Ð¾Ð´Ð°Ð½Ð°.úcontacts:contact_person_detail©ÚpkuC   Ð‘ÑƒÐ´ÑŒ Ð»Ð°Ñ�ÐºÐ°, Ð²Ð¸Ð¿Ñ€Ð°Ð²Ñ‚Ðµ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ Ñƒ Ñ„Ð¾Ñ€Ð¼Ñ–.z contacts/add_contact_person.html)ÚformÚformsetÚfarmer)Úinitial) r   r   r   r   r   Úclient_statusÚinteractionsÚfilterr   ÚexistsÚHttpResponseForbiddenÚmethodr   r   r   Úis_validÚsaver   ÚaddÚcleaned_dataÚgetÚinstancer   Úsuccessr   r   Úerrorr   r   ÚHiddenInputÚfieldsÚwidget)	ÚrequestÚ	farmer_idr   r%   r#   r$   Úcontact_personr   Úinitial_datas	            ú0/var/www/tradingcms/tradingcms/contacts/views.pyÚadd_contact_personr=      sü  € à�<‰<€DØ€Fáä"¤6¨iÔ8ˆô ˜ÔØÜ˜ÔØ×#Ñ# }Ò4¸×8KÑ8K×8RÑ8RÜ˜4”L¤1°Ô#6Ñ6ó98ß8>¹»ð9Aàä,Ð-rÓsÐsä(Ð)nÓoÐoô ˜ÔØÜ˜ÔØä(Ð)nÓoÐoà‡~�~˜ÓÜ  §¡Ó.ˆÜ& w§|¡|Ó4ˆØ�=‰=Œ?˜w×/Ñ/Ô1Ø!ŸY™Y›[ˆNÙà×&Ñ&×*Ñ*¨6Õ2ð ×+Ñ+×/Ñ/°	Ó:�ÙØ.�N×*Ñ*×.Ñ.°Ñ8Ø-ˆGÔØ�L‰LŒNÜ×Ñ˜WÐ&bÔcÜÐ<À×ARÑARÔSÐSä�N‰N˜7Ð$iÔjÜ˜'Ð#EÐPTÐahÐtzÑG{Ó|Ð|áà%¨ xÐ0ˆLÜ$¨\Ô:ˆDÜ,1×,=Ñ,=Ó,?ˆD�K‰K˜	Ñ"Õ)ä$Ó&ˆDÜ&Ó(ˆÜ�gÐAÈDÐ]dÐpvÑCwÓxÐxó    c                 ó    — t        | dd|i«      S )Nzcontacts/contact_success.htmlÚcontact_person_id)r   )r8   r@   s     r<   Úcontact_successrA   Q   s   € ä�'Ð:Ð=PÐRcÐ<dÓeÐer>   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚFarmerAutocompletec                 óü  — | j                   j                  j                  st        j                  j                  «       S t        j                  j                  «       }| j                  r“| j                  j                  «       }t        «       }|D ]  }|t        |¬«      z  }Œ |j                  |«      }t        j                  d|j                  «       › �«       t        j                  d|j                  › �«       |S )N©Úname__icontainsu&   Ð¤Ñ–Ð»ÑŒÑ‚Ñ€Ð¾Ð²Ð°Ð½Ñ– Ð¾Ð±'Ñ”ÐºÑ‚Ð¸: u   SQL Ð·Ð°Ð¿Ð¸Ñ‚: )r8   r   Úis_authenticatedr   ÚobjectsÚnoneÚallÚqÚsplitr   r)   ÚloggerÚdebugÚcountÚquery)ÚselfÚqsÚsearch_termsrP   Úterms        r<   Úget_querysetzFarmerAutocomplete.get_querysetW   s¼   € Ø�|‰|× Ñ ×1Ò1Ü—>‘>×&Ñ&Ó(Ð(ä�^‰^×ÑÓ!ˆà�6Š6ØŸ6™6Ÿ<™<›>ˆLÜ“CˆEØ$ò 1�Øœ¨4Ô0Ñ0‘ð1ð —‘˜5Ó!ˆBÜ�L‰LÐAÀ"Ç(Á(Ã*ÀÐNÔOÜ�L‰LÐ+¨B¯H©H¨:Ð6Ô7àˆ	r>   c                 ó   — |j                   S ©N©Úname©rQ   Úitems     r<   Úget_result_labelz#FarmerAutocomplete.get_result_labeli   ó   € Ø�y‰yÐr>   c                 ó   — |j                   S rW   rX   rZ   s     r<   Úget_selected_result_labelz,FarmerAutocomplete.get_selected_result_labell   r]   r>   N)Ú__name__Ú
__module__Ú__qualname__rU   r\   r_   © r>   r<   rC   rC   V   s   „ òò$ór>   rC   c                   ó8   ‡ — e Zd ZeZdZdZdZˆ fd„Zˆ fd„Z	ˆ xZ
S )ÚContactPersonListViewz!contacts/contact_person_list.htmlÚcontact_personsé
   c                 ój  •— t         ‰| �  «       }| j                  j                  j	                  d«      }| j                  j                  j	                  d«      }|rC|j                  t        |¬«      t        |¬«      z  t        |¬«      z  «      j                  «       }|r|j                  |¬«      }|S )NrK   Úletter©Úsurname__icontainsrE   )Ú!contact_details__value__icontains)Úsurname__istartswith)ÚsuperrU   r8   ÚGETr1   r)   r   Údistinct)rQ   ÚquerysetrP   Úfilter_letterÚ	__class__s       €r<   rU   z"ContactPersonListView.get_querysetu   s�   ø€ Ü‘7Ñ'Ó)ˆØ—‘× Ñ ×$Ñ$ SÓ)ˆØŸ™×(Ñ(×,Ñ,¨XÓ6ˆáØ—‘Ü UÔ+Ü %Ô(ñ)ä°EÔ:ñ;ó÷ ‰h‹jð	 ñ Ø—‘¸M�ÓJˆHàˆr>   c                 óÔ   •— t        ‰| �  di |¤Ž}d|d<   | j                  j                  j	                  dd«      |d<   | j                  j                  j	                  dd«      |d<   |S )	NuB   Ð�Ð‘Ð’Ð“Ò�Ð”Ð•Ð„Ð–Ð—Ð˜Ð†Ð‡Ð™ÐšÐ›ÐœÐ�ÐžÐŸÐ Ð¡Ð¢Ð£Ð¤Ð¥Ð¦Ð§Ð¨Ð©Ð¬Ð®Ð¯Úalphabetri   Ú rr   rK   Úsearch_queryrc   )rn   Úget_context_datar8   ro   r1   )rQ   ÚkwargsÚcontextrs   s      €r<   rx   z&ContactPersonListView.get_context_data†   sf   ø€ Ü‘'Ñ*Ñ4¨VÑ4ˆØbˆ�
ÑØ#'§<¡<×#3Ñ#3×#7Ñ#7¸À"Ó#Eˆ�Ñ Ø"&§,¡,×"2Ñ"2×"6Ñ"6°s¸BÓ"?ˆ�ÑØˆr>   )r`   ra   rb   r
   ÚmodelÚtemplate_nameÚcontext_object_nameÚpaginate_byrU   rx   Ú__classcell__©rs   s   @r<   re   re   o   s'   ø„ Ø€EØ7€MØ+ÐØ€Kô÷"ð r>   re   c                   ó   — e Zd ZeZdZdZy)ÚContactPersonDetailViewz#contacts/contact_person_detail.htmlr:   N)r`   ra   rb   r
   r{   r|   r}   rc   r>   r<   r‚   r‚   �   s   „ Ø€EØ9€MØ*Ñr>   r‚   c                   ó   — e Zd Zd„ Zd„ Zy)ÚContactPersonAutocompletec                 ó   — t         j                  j                  «       }| j                  rS|j	                  t        | j                  ¬«      t        | j                  ¬«      z  t        | j                  ¬«      z  «      }|S )NrE   rj   )Úfather_name__icontains)r
   rH   rJ   rK   r)   r   )rQ   rR   s     r<   rU   z&ContactPersonAutocomplete.get_queryset”   s`   € Ü×"Ñ"×&Ñ&Ó(ˆà�6Š6Ø—‘Ü $§&¡&Ô)Ü T§V¡VÔ,ñ-ä¨¯©Ô0ñ1óˆBð ˆ	r>   c                 óŠ   — |j                   xs d› d|j                  xs d› d|j                  xs d› �j                  «       }|S )Nrv   Ú )ÚsurnamerY   Úfather_nameÚstrip)rQ   r[   Ú	full_names      r<   r\   z*ContactPersonAutocomplete.get_result_label    sG   € à—|‘|Ò) rÐ*¨!¨D¯I©IªO¸Ð+<¸A¸d×>NÑ>NÒ>TÐRTÐ=UÐV×\Ñ\Ó^ˆ	ØÐr>   N)r`   ra   rb   rU   r\   rc   r>   r<   r„   r„   “   s   „ ò
ór>   r„   c                   ó@   ‡ — e Zd ZeZeZdZ ed«      Z	ˆ fd„Z
d„ Zˆ xZS )ÚContactPersonUpdateViewz!contacts/contact_person_form.htmlzcontacts:contact_person_listc                 óä   •— t        ‰| �  di |¤Ž}| j                  j                  r0t	        | j                  j                  | j
                  ¬«      |d<   |S t	        | j
                  ¬«      |d<   |S )N)r2   r$   rc   )rn   rx   r8   r   r   Úobject)rQ   ry   Údatars   s      €r<   rx   z(ContactPersonUpdateView.get_context_data¬   s`   ø€ Ü‰wÑ'Ñ1¨&Ñ1ˆØ�<‰<×ÒÜ2°4·<±<×3DÑ3DÈtÏ{É{Ô[ˆD�‰Oð ˆô 3¸D¿K¹KÔHˆD�‰OØˆr>   c                 ó\  — | j                  «       }|d   }|j                  «       rg|j                  «       rW|j                  «       | _        | j                  |_        |j                  «        t        d| j                  j                  ¬«      S | j                  | j                  |¬«      «      S )Nr$   r    r!   )r#   )rx   r-   r.   r�   r2   r   r"   Úrender_to_response)rQ   r#   rz   r$   s       r<   Ú
form_validz"ContactPersonUpdateView.form_valid´   s…   € Ø×'Ñ'Ó)ˆØ˜)Ñ$ˆØ�=‰=Œ?˜w×/Ñ/Ô1ØŸ)™)›+ˆDŒKØ#Ÿ{™{ˆGÔØ�L‰LŒNÜÐ<ÀÇÁÇÁÔPÐPà×*Ñ*¨4×+@Ñ+@ÀdÐ+@Ó+KÓLÐLr>   )r`   ra   rb   r
   r{   r   Ú
form_classr|   r   Úsuccess_urlrx   r”   r   r€   s   @r<   rŽ   rŽ   ¦   s(   ø„ Ø€EØ"€JØ7€MÙÐ=Ó>€Kôö	Mr>   rŽ   rW   )+Údjango.shortcutsr   r   r   r   r   r   r	   Úmodelsr
   r   Úfarmerapp.modelsr   Údjango.contrib.auth.decoratorsr   Údalr   Údjango.db.modelsr   ÚloggingÚdjango.views.genericr   r   r   Údjango.urlsr   Úcommon.utilsr   r   ÚdjangoÚdjango.contribr   Ú	getLoggerr`   rM   r=   rA   ÚSelect2QuerySetViewrC   re   r‚   r„   rŽ   rc   r>   r<   ú<module>r¥      sÊ   ðç @Ñ @ß MÑ Mß 0Ý #Ý 9Ý Ý Û ß 5Ý +Ý $ß 2Ý Ý #à	ˆ×	Ñ	˜8Ó	$€ñ Ð+Ô,ò9yó -ð9yñx Ð+Ô,ñfó -ðfô˜×9Ñ9ô ô2˜Hô ô<+˜jô +ô × @Ñ @ô ô&M˜jõ Mr>   