Browse Source

Fix add module validation keyerror

Denis K 9 năm trước cách đây
mục cha
commit
d3db8153e9
1 tập tin đã thay đổi với 13 bổ sung11 xóa
  1. 13 11
      jet/dashboard/forms.py

+ 13 - 11
jet/dashboard/forms.py

@@ -65,17 +65,19 @@ class AddUserDashboardModuleForm(forms.ModelForm):
     def clean(self):
         data = super(AddUserDashboardModuleForm, self).clean()
 
-        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 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
+        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
 
     def save(self, commit=True):