Browse Source

walle 2.0 alpha - fix #662 时间问题

walle 6 years ago
parent
commit
3c57565265
3 changed files with 19 additions and 13 deletions
  1. 8 4
      walle/api/environment.py
  2. 7 3
      walle/form/environment.py
  3. 4 6
      walle/model/environment.py

+ 8 - 4
walle/api/environment.py

@@ -81,12 +81,12 @@ class EnvironmentAPI(SecurityResource):
 
         form = EnvironmentForm(request.form, csrf=False)
         if form.validate_on_submit():
-            env_new = EnvironmentModel()
+            env = EnvironmentModel()
             data = form.form2dict()
-            env_id = env_new.add(data)
-            if not env_id:
+            env_new = env.add(data)
+            if not env_new:
                 return self.render_json(code=-1)
-            return self.render_json(data=env_new.item())
+            return self.render_json(data=env_new)
         else:
             return self.render_error(code=Code.form_error, message=form.errors)
 
@@ -104,6 +104,10 @@ class EnvironmentAPI(SecurityResource):
         form.set_env_id(env_id)
         if form.validate_on_submit():
             env = EnvironmentModel(id=env_id)
+
+            data = form.form2dict()
+            env_new = env.add(data)
+
             ret = env.update(env_name=form.env_name.data, status=form.status.data)
             return self.render_json(data=env.item())
         else:

+ 7 - 3
walle/form/environment.py

@@ -19,12 +19,16 @@ from datetime import datetime
 
 class EnvironmentForm(FlaskForm):
     env_name = StringField('env_name', [validators.Length(min=1, max=100)])
-    status = StringField('status', [validators.Length(min=0, max=10)])
+    status = StringField('status', [])
+    space_id = None
     env_id = None
 
     def set_env_id(self, env_id):
         self.env_id = env_id
 
+    def set_space_id(self, space_id):
+        self.space_id = space_id
+
     def validate_env_name(self, field):
         filters = {
             EnvironmentModel.status.notin_([EnvironmentModel.status_remove]),
@@ -42,8 +46,8 @@ class EnvironmentForm(FlaskForm):
 
     def form2dict(self):
         return {
-            'env_name': self.name.data if self.name.data else '',
-            'space_id': self.space_id,
+            'name': self.env_name.data,
+            'space_id': current_user.space_id(),
             'status': 1,
             'created_at': datetime.now(),
             'updated_at': datetime.now(),

+ 4 - 6
walle/model/environment.py

@@ -68,16 +68,14 @@ class EnvironmentModel(Model):
         data = self.query.filter(EnvironmentModel.status.notin_([self.status_remove])).filter_by(id=self.id).first()
         return data.to_json() if data else []
 
-    def add(self, env_name, space_id):
-        env = EnvironmentModel(name=env_name, status=self.status_open, space_id=space_id)
+    def add(self, *args, **kwargs):
+        data = dict(*args)
+        env = EnvironmentModel(**data)
 
         db.session.add(env)
         db.session.commit()
 
-        if env.id:
-            self.id = env.id
-
-        return env.id
+        return env.to_json()
 
     def update(self, env_name, status, env_id=None):
         role = EnvironmentModel.query.filter_by(id=self.id).first()