o
    h
                     @   s   d dl mZmZ d dlmZ d dlmZmZmZ d dl	m
Z
 d dlmZmZ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dS )    )viewsetspermissions)ContactType)
MenuLevel1
MenuLevel2
MenuLevel3)ContactTypeSerializer)MenuLevel_1SerializerMenuLevel_2SerializerMenuLevel_3Serializer)action)Responsec                   @   P   e Zd Zej dZeZ	e
jgZdd Zdd Zeddgdd	d
d ZdS )MenuLevel_1ViewSet-created_atc                 C      |j | jjjd dS z: Set the created_by user when creating a new ContactType. )
created_byNsaverequestuseridself
serializer r   5/var/www/html/backend_erp/masters/views/menu_level.pyperform_create      z!MenuLevel_1ViewSet.perform_createc                 C   r   z6 Set the updated_by user when updating a ContactType. )
updated_byNr   r   r   r   r   perform_update   r   z!MenuLevel_1ViewSet.perform_updateFGETDDL Listdetailmethodsnamec                 O   0   t j }t|ddd}dd |jD }t|S )NT	read_onlymanyc                 S      g | ]}|d  |d dqS r   	menu_name)r   r(   r   .0itemr   r   r   
<listcomp>%       z*MenuLevel_1ViewSet.ddl.<locals>.<listcomp>r   objectsfilterr	   datar   r   r   argskwargs	data_listdata_list_serializrfiltered_datar   r   r   ddl      
zMenuLevel_1ViewSet.ddlN)__name__
__module____qualname__r   r6   allorder_byquerysetr	   serializer_classr   IsAuthenticatedpermission_classesr   r"   r   r?   r   r   r   r   r          r   c                   @   r   )MenuLevel_2ViewSetr   c                 C   r   r   r   r   r   r   r   r   -   r   z!MenuLevel_2ViewSet.perform_createc                 C   r   r    r   r   r   r   r   r"   1   r   z!MenuLevel_2ViewSet.perform_updateFr#   r$   r%   c                 O   r)   )NTr*   c                 S   r-   r.   r   r0   r   r   r   r3   B   r4   z*MenuLevel_2ViewSet.ddl.<locals>.<listcomp>r5   r9   r   r   r   r?   4   r@   zMenuLevel_2ViewSet.ddlN)rA   rB   rC   r   r6   rD   rE   rF   r
   rG   r   rH   rI   r   r"   r   r?   r   r   r   r   rK   (   rJ   rK   c                   @   s8   e Zd Zej dZeZ	e
jgZdd Zdd ZdS )MenuLevel_3ViewSetr   c                 C   r   r   r   r   r   r   r   r   J   r   z!MenuLevel_3ViewSet.perform_createc                 C   r   r    r   r   r   r   r   r"   N   r   z!MenuLevel_3ViewSet.perform_updateN)rA   rB   rC   r   r6   rD   rE   rF   r   rG   r   rH   rI   r   r"   r   r   r   r   rL   E   s    rL   N)rest_frameworkr   r   masters.models.contact_typer   masters.models.menu_levelr   r   r    masters.serializers.contact_typer   masters.serializers.menu_levelr	   r
   r   rest_framework.decoratorsr   rest_framework.responser   ModelViewSetr   rK   rL   r   r   r   r   <module>   s    