瀏覽代碼

walle 2.0 alpha - fix

walle 6 年之前
父節點
當前提交
2ac7667b7d
共有 4 個文件被更改,包括 22 次插入6 次删除
  1. 2 0
      walle/api/project.py
  2. 7 2
      walle/form/environment.py
  3. 8 3
      walle/form/project.py
  4. 5 1
      walle/form/space.py

+ 2 - 0
walle/api/project.py

@@ -78,9 +78,11 @@ class ProjectAPI(SecurityResource):
 
         form = ProjectForm(request.form, csrf_enabled=False)
         if form.validate_on_submit():
+            # add project
             project_new = ProjectModel()
             data = form.form2dict()
             id = project_new.add(data)
+            # TODO
             if not id:
                 return self.render_json(code=-1)
 

+ 7 - 2
walle/form/environment.py

@@ -14,7 +14,7 @@ from flask_wtf import Form
 from walle.model.environment import EnvironmentModel
 from wtforms import TextField
 from wtforms import validators, ValidationError
-
+from flask_login import current_user
 
 class EnvironmentForm(Form):
     env_name = TextField('env_name', [validators.Length(min=1, max=100)])
@@ -25,7 +25,12 @@ class EnvironmentForm(Form):
         self.env_id = env_id
 
     def validate_env_name(self, field):
-        env = EnvironmentModel.query.filter_by(name=field.data).first()
+        filters = {
+            EnvironmentModel.status.notin_([EnvironmentModel.status_remove]),
+            EnvironmentModel.name == field.data,
+            EnvironmentModel.space_id == current_user.space_id(),
+        }
+        env = EnvironmentModel.query.filter(*filters).first()
         # 新建时,环境名不可与
         if env and env.id != self.env_id:
             raise ValidationError('该环境已经配置过')

+ 8 - 3
walle/form/project.py

@@ -52,7 +52,12 @@ class ProjectForm(Form):
         self.id = id
 
     def validate_name(self, field):
-        server = ProjectModel.query.filter_by(name=field.data).first()
+        filters = {
+            ProjectModel.status.notin_([ProjectModel.status_remove]),
+            ProjectModel.name == field.data,
+            ProjectModel.space_id == current_user.space_id(),
+        }
+        server = ProjectModel.query.filter(*filters).first()
         # 新建时,项目名不可与
         if server and server.id != self.id:
             raise ValidationError('该项目已重名')
@@ -62,10 +67,10 @@ class ProjectForm(Form):
             'name': self.name.data if self.name.data else '',
             'user_id': current_user.id,
 
-            'status': self.status.data if self.status.data else 0,
+            'status': self.status.data if self.status.data else 1,
             'master': self.master.data if self.master.data else '',
             'environment_id': self.environment_id.data if self.environment_id.data else '',
-            'space_id': self.space_id.data if self.space_id.data else '',
+            'space_id': self.space_id.data if self.space_id.data else current_user.space_id(),
             'excludes': self.excludes.data if self.excludes.data else '',
             'server_ids': self.server_ids.data if self.server_ids.data else '',
             'keep_version_num': self.keep_version_num.data if self.keep_version_num.data else 5,

+ 5 - 1
walle/form/space.py

@@ -27,7 +27,11 @@ class SpaceForm(Form):
         self.id = id
 
     def validate_name(self, field):
-        space = SpaceModel.query.filter_by(name=field.data).first()
+        filters = {
+            SpaceModel.status.notin_([SpaceModel.status_remove]),
+            SpaceModel.name == field.data
+        }
+        space = SpaceModel.query.filter(*filters).first()
         # 新建时,环境名不可与
         if space and space.id != self.id:
             raise ValidationError('该Space已重名')