示例#1
0
文件: forms.py 项目: wass6/custom_jet
    def clean(self):
        data = super(UpdateDashboardModulesForm, self).clean()

        if (not user_is_authenticated(self.request.user)
                or not self.request.user.is_staff):
            raise ValidationError("error")

        try:
            modules = json.loads(data["modules"])

            for module in modules:
                db_module = UserDashboardModule.objects.get(
                    user=self.request.user.pk,
                    app_label=data["app_label"] if data["app_label"] else None,
                    pk=module["id"],
                )

                column = module["column"]
                order = module["order"]

                if db_module.column != column or db_module.order != order:
                    db_module.column = column
                    db_module.order = order

                    self.modules_objects.append(db_module)
        except Exception:
            raise ValidationError("error")

        return data
示例#2
0
    def clean(self):
        data = super(ModelLookupForm, self).clean()

        if (
            not user_is_authenticated(self.request.user)
            or not self.request.user.is_staff
        ):
            raise ValidationError("error")

        try:
            self.model_cls = apps.get_model(data["app_label"], data["model"])
        except:
            raise ValidationError("error")

        content_type = ContentType.objects.get_for_model(self.model_cls)
        permission = Permission.objects.filter(
            content_type=content_type, codename__startswith="change_"
        ).first()

        if not self.request.user.has_perm(
            "{}.{}".format(data["app_label"], permission.codename)
        ):
            raise ValidationError("error")

        return data
示例#3
0
 def clean(self):
     data = super(AddBookmarkForm, self).clean()
     if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
         raise ValidationError('error')
     if not self.request.user.has_perm('jet.change_bookmark'):
         raise ValidationError('error')
     return data
示例#4
0
 def clean(self):
     data = super(RemoveBookmarkForm, self).clean()
     if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
         raise ValidationError('error')
     if self.instance.user != self.request.user.pk:
         raise ValidationError('error')
     return data
示例#5
0
    def clean(self):
        cleaned_data = super(RemoveDashboardModuleForm, self).clean()

        if not user_is_authenticated(self.request.user) or self.instance.user != self.request.user.pk:
            raise ValidationError('error')

        return cleaned_data
示例#6
0
    def clean(self):
        cleaned_data = super(RemoveDashboardModuleForm, self).clean()

        if not user_is_authenticated(self.request.user) or self.instance.user != self.request.user.pk:
            raise ValidationError('error')

        return cleaned_data
示例#7
0
    def clean(self):
        from django.db.models import Q

        data = super(ModelLookupForm, self).clean()

        if not user_is_authenticated(
                self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        try:
            self.model_cls = get_model(data['app_label'], data['model'])
        except:
            raise ValidationError('error')

        content_type = ContentType.objects.get_for_model(self.model_cls)

        # User needs view or change permission on the object
        permissions = Permission.objects.filter(
            Q(codename__startswith='change_')
            | Q(codename__startswith='view_'),
            content_type=content_type)

        permission_granted = False
        for permission in permissions:
            if self.request.user.has_perm('{}.{}'.format(
                    data['app_label'], permission.codename)):
                permission_granted = True
                break

        if not permission_granted:
            raise ValidationError('error')

        return data
示例#8
0
 def clean(self):
     data = super(RemoveBookmarkForm, self).clean()
     if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
         raise ValidationError('error')
     if self.instance.user != self.request.user:
         raise ValidationError('error')
     return data
示例#9
0
    def clean(self):
        data = super(UpdateDashboardModulesForm, self).clean()

        if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        try:
            modules = json.loads(data['modules'])

            for module in modules:
                db_module = UserDashboardModule.objects.get(
                    user=self.request.user.pk,
                    app_label=data['app_label'] if data['app_label'] else None,
                    pk=module['id']
                )

                column = module['column']
                order = module['order']

                if db_module.column != column or db_module.order != order:
                    db_module.column = column
                    db_module.order = order

                    self.modules_objects.append(db_module)
        except Exception:
            raise ValidationError('error')

        return data
示例#10
0
 def clean(self):
     data = super(AddBookmarkForm, self).clean()
     if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
         raise ValidationError('error')
     if not self.request.user.has_perm('jet.change_bookmark'):
         raise ValidationError('error')
     return data
示例#11
0
    def clean(self):
        data = super(UpdateDashboardModulesForm, self).clean()

        if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        try:
            modules = json.loads(data['modules'])

            for module in modules:
                db_module = UserDashboardModule.objects.get(
                    user=self.request.user.pk,
                    app_label=data['app_label'] if data['app_label'] else None,
                    pk=module['id']
                )

                column = module['column']
                order = module['order']

                if db_module.column != column or db_module.order != order:
                    db_module.column = column
                    db_module.order = order

                    self.modules_objects.append(db_module)
        except Exception:
            raise ValidationError('error')

        return data
示例#12
0
 def clean(self):
     data = super(ToggleApplicationPinForm, self).clean()
     if (
         not user_is_authenticated(self.request.user)
         or not self.request.user.is_staff
     ):
         raise ValidationError("error")
     return data
示例#13
0
    def clean(self):
        data = super(ResetDashboardForm, self).clean()
        data['app_label'] = data['app_label'] if data['app_label'] else None

        if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        return data
示例#14
0
    def clean(self):
        data = super(ResetDashboardForm, self).clean()
        data['app_label'] = data['app_label'] if data['app_label'] else None

        if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        return data
示例#15
0
    def clean(self):
        data = super(UpdateDashboardModuleCollapseForm, self).clean()

        if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        if self.instance.user != self.request.user.pk:
            raise ValidationError('error')

        return data
示例#16
0
    def clean(self):
        data = super(UpdateDashboardModuleCollapseForm, self).clean()

        if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        if self.instance.user != self.request.user.pk:
            raise ValidationError('error')

        return data
示例#17
0
def load_dashboard_module_view(request, pk):
    result = {'error': False}

    try:
        if not user_is_authenticated(request.user) or not request.user.is_staff:
            raise ValidationError('error')

        instance = UserDashboardModule.objects.get(pk=pk, user=request.user.pk)
        module_cls = instance.load_module()
        module = module_cls(model=instance, context={'request': request})
        result['html'] = module.render()
    except (ValidationError, UserDashboardModule.DoesNotExist):
        result['error'] = True

    return JsonResponse(result)
示例#18
0
def load_dashboard_module_view(request, pk):
    result = {'error': False}

    try:
        if not user_is_authenticated(request.user) or not request.user.is_staff:
            raise ValidationError('error')

        instance = UserDashboardModule.objects.get(pk=pk, user=request.user.pk)
        module_cls = instance.load_module()
        module = module_cls(model=instance, context={'request': request})
        result['html'] = module.render()
    except (ValidationError, UserDashboardModule.DoesNotExist):
        result['error'] = True

    return JsonResponse(result)
示例#19
0
    def clean(self):
        data = super(ModelLookupForm, self).clean()

        if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        try:
            self.model_cls = get_model(data['app_label'], data['model'])
        except:
            raise ValidationError('error')

        content_type = ContentType.objects.get_for_model(self.model_cls)
        permission = Permission.objects.filter(content_type=content_type, codename__startswith='change_').first()

        if not self.request.user.has_perm('{}.{}'.format(data['app_label'], permission.codename)):
            raise ValidationError('error')

        return data
示例#20
0
    def clean(self):
        data = super(ModelLookupForm, self).clean()

        if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        try:
            self.model_cls = get_model(data['app_label'], data['model'])
        except:
            raise ValidationError('error')

        content_type = ContentType.objects.get_for_model(self.model_cls)
        permission = Permission.objects.filter(content_type=content_type, codename__startswith='change_').first()

        if not self.request.user.has_perm('{}.{}'.format(data['app_label'], permission.codename)):
            raise ValidationError('error')

        return data
示例#21
0
    def clean(self):
        data = super(AddUserDashboardModuleForm, self).clean()

        if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        if 'app_label' in data:
            index_dashboard_cls = get_current_dashboard(data['app_label'])
            index_dashboard = index_dashboard_cls({'request': self.request}, app_label=data['app_label'])

            if 'type' in data:
                if data['type'] == 'children':
                    module = index_dashboard.children[data['module']]
                elif data['type'] == 'available_children':
                    module = index_dashboard.available_children[data['module']]()
                else:
                    raise ValidationError('error')

                self.module_cls = module
        return data
示例#22
0
    def clean(self):
        data = super(AddUserDashboardModuleForm, self).clean()

        if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
            raise ValidationError('error')

        if 'app_label' in data:
            index_dashboard_cls = get_current_dashboard('app_index' if data['app_label'] else 'index')
            index_dashboard = index_dashboard_cls({'request': self.request}, app_label=data['app_label'])

            if 'type' in data:
                if data['type'] == 'children':
                    module = index_dashboard.children[data['module']]
                elif data['type'] == 'available_children':
                    module = index_dashboard.available_children[data['module']]()
                else:
                    raise ValidationError('error')

                self.module_cls = module
        return data
示例#23
0
文件: forms.py 项目: wass6/custom_jet
    def clean(self):
        data = super(AddUserDashboardModuleForm, self).clean()

        if (not user_is_authenticated(self.request.user)
                or not self.request.user.is_staff):
            raise ValidationError("error")

        if "app_label" in data:
            index_dashboard_cls = get_current_dashboard(
                "app_index" if data["app_label"] else "index")
            index_dashboard = index_dashboard_cls({"request": self.request},
                                                  app_label=data["app_label"])

            if "type" in data:
                if data["type"] == "children":
                    module = index_dashboard.children[data["module"]]
                elif data["type"] == "available_children":
                    module = index_dashboard.available_children[
                        data["module"]]()
                else:
                    raise ValidationError("error")

                self.module_cls = module
        return data
示例#24
0
 def clean(self):
     data = super(ToggleApplicationPinForm, self).clean()
     if not user_is_authenticated(self.request.user) or not self.request.user.is_staff:
         raise ValidationError('error')
     return data