a #e@sddlmZddlmZddlmZmZddlmZddlmZm Z ddl m Z ddl m Z ddlmZdd lmZGd d d ejZGd d d ejZdS)) transaction) permissions) serializersviewsets)Q)status exceptions)OrderingFilter)DjangoFilterBackend)Response)Presetc@seZdZGdddZdS)PresetSerializerc@seZdZeZdZdZdS)zPresetSerializer.Metaowner)r created_atsystemN)__name__ __module__ __qualname__r modelexcluderead_only_fieldsrr/webodm/app/api/presets.pyMetasrN)rrrrrrrrr sr csJeZdZdZdZeZejfZ e e fZ ddZ ddZd fdd ZZS) PresetViewSetz Preset get/add/delete/update Presets represent a set of options that a user can save/customize for use in processing a task. NcCs"tjt|jjjdtddBS)NrT)r)r objectsfilterrrequestuserid)selfrrr get_queryset#szPresetViewSet.get_querysetcCsrtVtjj|jjd}t||jdd}|j dd| t |jt j dWdS1sd0YdS)NrT)datapartial)raise_exception)r)ratomicr rcreaterrr r#is_validsaver rHTTP_201_CREATED)r!rpreset serializerrrrr'&s   zPresetViewSet.createcsFtjj|d}|j|jkr*|jjs*t|jr8t t ||S)N)pk) r rgetrr is_superuserrNotFoundrPermissionDeniedsuperdestroy)r!rr-r+ __class__rrr31s zPresetViewSet.destroy)N)rrr__doc__pagination_classr serializer_classrDjangoModelPermissionspermission_classesr r filter_backendsr"r'r3 __classcell__rrr4rrs rN) django.dbrrest_frameworkrrrdjango.db.modelsrrrrest_framework.filtersr Zdjango_filters.rest_frameworkr rest_framework.responser Z app.modelsr ModelSerializerr ModelViewSetrrrrrs