403Webshell
Server IP : 65.108.144.40  /  Your IP : 216.73.217.165
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ubuntu-8gb-hel1-1 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64
User : dev ( 1000)
PHP Version : 8.2.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/erp/horilla_views/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/erp/horilla_views/__pycache__/views.cpython-310.pyc
o

hͦh�Q�@sddlZddlmZddlmZddlmZddlmZddl	m
Z
ddlmZ
ddlmZdd	lmZmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlm Z m!Z!m"Z"ddl#m$Z$ddl%m&Z&m'Z'ee!dd�Gdd�de��Z(ee!dd�Gdd�de��Z)ee!dd�Gdd�de��Z*ee!dd�Gdd�de��Z+ee!dd�Gdd�de&��Z,ee!dd�Gdd �d e��Z-ee!dd�Gd!d"�d"e��Z.ee!dd�eedd�Gd#d$�d$e���Z/ee!dd�Gd%d&�d&e��Z0Gd'd(�d(e'�Z1Gd)d*�d*e�Z2dS)+�N)�defaultdict)�forms)�apps)�messages)�
NestedObjects)�cache)�router)�HttpResponse�JsonResponse)�render)�method_decorator)�View)�csrf_protect)�
eval_validate)�models)�get_short_uuid�login_required�merge_dicts)�SavedFilterForm)�HorillaFormView�HorillaListView�dispatch��namec@�eZdZdZdd�ZdS)�ToggleColumnz
    ToggleColumn
    cOsv|jj}|d}t|�}|d=dd�|��D�}tjjj|jj|d��	�}|s+t��n|}||_
||_|��t
d�S)z*
        method to toggle columns
        �pathcSsg|]
\}}|dr|�qS�r���.0�key�valuerr�#/var/www/erp/horilla_views/views.py�
<listcomp>)sz$ToggleColumn.get.<locals>.<listcomp>)�user_idr�success)�request�GET�dict�itemsrr�objects�filter�user�firstr�excluded_columns�saver	)�self�args�kwargs�
query_dictr�
hidden_fields�existing_instance�instancerrr#�gets��zToggleColumn.getN��__name__�
__module__�__qualname__�__doc__r8rrrr#r�rc@r)�ReloadFieldz
    ReloadField
    cOs�|jd}|jd}|�dd�\}}t�|�}t||��}	t�|jjd|�}
t�|jjd|d�}|s9d}|
d}|
�d	d�}
|
d}||krM|}|	j	|}|j
��}|j}d
d�|D�}|�
dd
�|�d�tj}t|tj�r�tj}|j�dg�}td|
d	�d|�d��}
n|
s�|jj�d�r�t|jj�d��}
|||j|jd�|	j	|<d|	j	|j_|jj|	j	|j_|
|	j	|_||	j	|jjd<|	|}td�}t|d||d��S)z=
        Http method to reload dynamic create fields
        �form_class_path�
dynamic_field�.��cbv�onchange��modelr"cSsg|]}|j|f�qSr)�id�r r7rrr#r$Zsz#ReloadField.get.<locals>.<listcomp>r)rFz
Select option)�dynamic_createzDynamic create�dynamic_initial�[�,�])�choices�label�required)z"horilla_widgets/select_option.html�z generic/reload_select_field.html)�field�
dynamic_id)r(�rsplit�	importlib�
import_module�getattr�CACHEr8�session�session_key�fieldsr+�all�queryset�insert�appendr�ChoiceField�
isinstance�ModelMultipleChoiceField�MultipleChoiceFieldrr'rPrQ�widget�option_template_name�attrs�initialrr)r1r'r2r3�
class_path�reload_field�module_name�
class_name�module�parent_form�
dynamic_cacherErGr"�cache_fieldrSr^rO�
form_fieldrKrTrrr#r8>sZ


�


��zReloadField.getNr9rrrr#r?8r>r?c@�eZdZdd�ZdS)�	ActiveTabcOsv|jj�d�}|jj�d�}|r5|r5|jjr5tjjj|jj|d���}|s)t��n|}||_	||_
|��tddi�S)z1
        CBV method to handle active tab
        r�target)�
created_byr�message�Success)
r'r(r8r-rrsr+r,r.r�
tab_targetr0r
)r1r2r3rrtr6r7rrr#r8~s���z
ActiveTab.getN�r:r;r<r8rrrr#rs|�rsc@rr)�ActiveGroupcOs�|jj�d�}|jj�d�}|jj�d�}|rB|rB|rB|jjrBtjjj|jj||d���}|s3t��n|}||_	||_
||_|��t
ddi�S)z
        ActiveGroup
        rrtrS)rur�group_by_fieldrvrw)r'r(r8r-rr{r+r,r.rr|�group_targetr0r
)r1r2r3rrt�group_fieldr6r7rrr#r8�s$���zActiveGroup.getNryrrrr#r{�rzr{csReZdZdZejZeZdZ	dZ
dZdedef�fdd�Z
def�fd	d
�Z�ZS)�SavedFilterz
    SavedFilter
    zSave Applied Filterzgeneric/saved_filter_form.html�Blah�form�returncs�|jj�dd�}|jj�dd�}dd�|jj��D�}|��rG|jdd�}|js8||_||_	||_
|jj��|_|��t�
|jd	�|��St��|�S)
N�referrerrFr�/cSsi|]	\}}||d�qSrrrrrr#�
<dictcomp>�sz*SavedFilter.form_valid.<locals>.<dictcomp>F)�commitzFilter Saved)r'�POSTr8r(�lists�is_validr0�pkrr�r,�	urlencoderr&r	�super�
form_valid)r1r�r�r�result_dictr7��	__class__rr#r��szSavedFilter.form_validcsbt�jdi|��}|jj�dd�}|r!dd�|�d�dd��}|jj�dd�|d<||d<|S)Nr�rFr��rr)r��get_context_datar'r(r8�join�split)r1r3�contextr�r�rr#r��szSavedFilter.get_context_data)r:r;r<r=rrrGr�
form_class�new_display_title�
template_name�form_disaply_attrr	r�r)r��
__classcell__rrr�r#r�src@r)�DeleteSavedFilterz
    Delete saved filter
    cOs*|d}tjjj|jj|d���td�S)Nr�)rur�rF)rrr+r,r'r-�deleter	)r1r2r3r�rrr#r8�szDeleteSavedFilter.getNr9rrrr#r��r>r�c@r)�
ActiveViewz
    ActiveView CBV
    cOs^|jjd}|jjd}tjjj||jjd���}|r|nt��}||_||_	|�
�td�S)Nr�view)rrurF)r'r(rr�r+r,r-r.r�typer0r	)r1r2r3r�	view_type�active_viewrrr#r8�s��zActiveView.getNr9rrrr#r��r>r�c@r)�SearchInIdsz
    Search in ids view
    cOs>|jjj�d�}t�|�}|d|jj�j|d<t|jd|�S)z/
        Search in instance ids method
        �search_in_instance_ids�filter_class�	instanceszgeneric/filter_result.html)r'rZr[rYr8r(�qsr)r1r2r3�	cache_keyr�rrr#r8�s
zSearchInIds.getNr9rrrr#r��sr�c@r)�LastAppliedFilterz2
    Class view to handle last applied filter
    cOs<|jj�d�}|rtj|jjjd||jjdd�td�S)z
        Get method
        �nav_urlzlast-applied-filteriX)�timeoutr&)r'r(r8rY�setrZr[r	)r1r2r3�nav_pathrrr#r8
s��zLastAppliedFilter.getNr9rrrr#r�r>r�c@seZdZdZgZdd�ZdS)�DynamiListViewz,
    DynamicListView for Generic Delete
    cs(|jj�dd���fdd�}t||j�S)N�searchrFc��t|���vS�N��str�lower�r7�r�rr#�_search_filter%�z3DynamiListView.get_queryset.<locals>._search_filter)r'r(r8r,r�)r1r�rr�r#�get_queryset"szDynamiListView.get_querysetN)r:r;r<r=r�r�rrrr#r�sr�c@s2eZdZdZdZdd�Zdd�Zdefdd	�Zd
S)�HorillaDeleteConfirmationViewz*
    Generic Delete Confirmation View
    �deleteConfirmationBodycslddlm�m�	|jjd}|jjd�d�\}�|jj�|d����s,t	|jd�St
�|��}|jj
|d���g}t��jj�}t||d	�}|�|�i�i�i�i�i�d���������	f	dd�	�|���}	�fd
d�|jD�}
dd�|j��D�}tt�}|jD]}
t|
�}||jjd7<q�t|�}t	|jdt�����|
t|���||d�|� �B�S)z
        GET method
        r)r�urlpatternsr�rGrB�.delete_�no_perm.html�r���using�originFcs^���jj�sg��jj<g��jj<���fdd�}|����jj�t���j��jj}|j�d�d|_|r;�n�}�|vrEi|�<||�vr�g|�|<t	ddd���|j<G����fdd	�d	t
�}|j|_||_d|jvr{���g|_
n��|g�|_
|�||_�|j|_|j|j|_�
��	|j|��|jd
��|�|����S)Ncsz|j��D]5}t|tjjtjjf�r:t||j�}||kr:d|jj	j
vr0��jj�|j|j
f���jj�|j�qdS)N�PROTECT)�_meta�
get_fieldsrbr�
ForeignKey�
OneToOneFieldrXr�remote_field�	on_deleter:rGr`�verbose_name)�obj�related_instancerS�field_value)�MODEL_RELATED_FIELD_MAP�!MODEL_RELATED_PROTECTED_FIELD_MAPr7rr#�find_related_fieldOs �����zVHorillaDeleteConfirmationView.get.<locals>.format_callback.<locals>.find_related_field�_rzgeneric-delete�
)�prefix�lengthcs^eZdZdZgZdgZdZd�Z��fdd�Z�fdd�Z	�fd	d
�Z
��fdd�Z�ZS)
zRHorillaDeleteConfirmationView.get.<locals>.format_callback.<locals>.DynamiListViewzL
                    DynamicListView for Generic Delete
                    )�Record�#dynamic_display_name_generic_delete��	storedIdsc
sd}|jj}|jj}t�|�j}��|i��|jjg�}dd�|D�}|j	|vr*d}d|vrZ|�
dd�d}|�
d�d}|��}t�||�}	|	j�
|�}
dt||��d	|
j�d
�Sd|�d�}|r~dd�tt��|jjd
���D�}|dd�|��d
�}|S)NFcS�g|]}|j�qSrr�rIrrr#r$�sz�HorillaDeleteConfirmationView.get.<locals>.format_callback.<locals>.DynamiListView.dynamic_display_name_generic_delete.<locals>.<listcomp>Tr�rCrz
                            z;
                            <i style="color:#989898;">(In z")</i>
                            z
                        cSsg|]}t|d��qS)rC)r�)r �irrr#r$�s
��rFz>
                            <i style="color:red;">(Record in rM)r�r:r��	app_labelr�get_app_configr�r8rGr�r�r��	get_model�	get_fieldrX�listr�r�)
r1�is_protected�	classnamer��app_verbose_name�	protected�ids�
field_name�object_field_namerGrS�
indication�
verbose_names)r��PROTECTED_MODEL_MAPrr#r��sR�
����������zvHorillaDeleteConfirmationView.get.<locals>.format_callback.<locals>.DynamiListView.dynamic_display_name_generic_deletecs t�jdi|��|jj|_dS)Nr)r��__init__r'r(�_saved_filters)r1r3r�rr#r��sz[HorillaDeleteConfirmationView.get.<locals>.format_callback.<locals>.DynamiListView.__init__cs$t�jdi|��}d|j|d<|S)Nr��
search_urlr)r�r�r��r1r3r�r�rr#r��szcHorillaDeleteConfirmationView.get.<locals>.format_callback.<locals>.DynamiListView.get_context_datacs�|jj�dd���fdd�}tt|j��t�|jj	j
�ji��|jg���t�|jj	j
�ji��|jg���|_|jjj
dd�t
||j�D�d�}|S)Nr�rFcr�r�r�r�r�rr#r��r�zwHorillaDeleteConfirmationView.get.<locals>.format_callback.<locals>.DynamiListView.get_queryset.<locals>._search_filtercSr�rr�rIrrr#r$�s��zsHorillaDeleteConfirmationView.get.<locals>.format_callback.<locals>.DynamiListView.get_queryset.<locals>.<listcomp>)�pk__in)r'r(r8r�r�r�rr�rGr�r�r�r+r,)r1r�r^)�	MODEL_MAPr�r�r#r��s>��
���
���
��z_HorillaDeleteConfirmationView.get.<locals>.format_callback.<locals>.DynamiListView.get_queryset)
r:r;r<r=r��columns�records_per_page�selected_instances_key_idr�r�r�r�r�r)r�r�r�r�r�r#r�ss�1r�r)r8r�rGr�rr�r�r:r�rrr�r��bulk_update_fieldsr�r�r�r`�as_view)r7r�r�rG�	model_mapr�)	�DYNAMIC_PATH_MAPr��
MODEL_NAMEr�r�r��
delete_objectrr�)r�r7r#�format_callbackJsL
�m�
�
���z:HorillaDeleteConfirmationView.get.<locals>.format_callbackcsg|]}�|dd��qS)T�r�r)r r�)r�rr#r$�s�z5HorillaDeleteConfirmationView.get.<locals>.<listcomp>cSsi|]\}}|jjt|��qSr)r��verbose_name_plural�len)r rG�objsrrr#r�s��z5HorillaDeleteConfirmationView.get.<locals>.<dictcomp>rCz generic/delete_confirmation.html)r��dynamic_list_pathr�r��model_count_sum�related_objects_count�protected_objects_countN�F)!�horilla.urlsrr�r'r(r�r-�has_permr�rrr�r+r8r�db_for_writer�rGr�collect�nestedr��
model_objsr*r�intr�r�r)r�sum�valuesr�)r1r2r3r��apprGr�r��	collector�
_to_deleter��model_count�protected_model_countr�r)
r�r�r�r�r�r�r�r�rr�r#r82sX

2
��

�	��z!HorillaDeleteConfirmationView.getc
s��jjd}�jjd�d�\}}�jj�|d|���s$t�jd�St�||�}|j	j
|d�}|g}t�|j
j�}	t|	|d�}
|
�|�d�fd	d
�	}|
jD]}||dd�qP|
�|�td
�S)z2
        Post method to handle the delete
        r�rGrBr�r�r�r�FcsDz|��t��jd|���WdSt��jd|���YdS)NzDeleted zCannot delete : )r�rr&r'�error)r7r��r1rr#�delete_callback*s
z;HorillaDeleteConfirmationView.post.<locals>.delete_callbackTr�z�
        <script>
            $("#reloadMessagesButton").click();
            $(".oh-modal--show").removeClass("oh-modal--show");
        </script>
        Nr)r'r(r�r-rr�rrr�r+r8rrr�rGrrr�rr	)
r1r2r3r�rr�rGr�r�r�rrr�rrr#�posts"


�z"HorillaDeleteConfirmationView.postr�cKsi}|j|d<|S)N�confirmation_target)rr�rrr#r�@s
z.HorillaDeleteConfirmationView.get_context_dataN)	r:r;r<r=rr8rr)r�rrrr#r�+sj%r�)3rV�collectionsr�djangor�django.appsr�django.contribr�django.contrib.admin.utilsr�django.core.cacherrY�	django.dbr�django.httpr	r
�django.shortcutsr�django.utils.decoratorsr�django.viewsr
�django.views.decorators.csrfr�base.methodsr�
horilla_viewsr�horilla_views.cbv_methodsrrr�horilla_views.formsr�horilla_views.generic.cbv.viewsrrrr?rsr{rr�r�r�r�r�r�rrrr#�<module>sN


C


&





Youez - 2016 - github.com/yon3zu
LinuXploit