space.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # -*- coding: utf-8 -*-
  2. """
  3. walle-web
  4. :copyright: © 2015-2017 walle-web.io
  5. :created time: 2017-03-19 15:50:07
  6. :author: wushuiyong@walle-web.io
  7. """
  8. try:
  9. from flask_wtf import FlaskForm # Try Flask-WTF v0.13+
  10. except ImportError:
  11. from flask_wtf import Form as FlaskForm # Fallback to Flask-WTF v0.12 or older
  12. from flask_wtf import Form
  13. from wtforms import TextField
  14. from wtforms import validators, ValidationError
  15. from walle.model.user import SpaceModel
  16. class SpaceForm(Form):
  17. name = TextField('name', [validators.Length(min=1, max=100)])
  18. user_id = TextField('user_id', [validators.Length(min=1, max=100)])
  19. status = TextField('status', [])
  20. id = None
  21. def set_id(self, id):
  22. self.id = id
  23. def validate_name(self, field):
  24. space = SpaceModel.query.filter_by(name=field.data).first()
  25. # 新建时,环境名不可与
  26. if space and space.id != self.id:
  27. raise ValidationError('该Space已重名')
  28. def form2dict(self):
  29. return {
  30. 'name': self.name.data if self.name.data else '',
  31. # TODO g.uid
  32. 'user_id': self.user_id.data if self.user_id.data else '',
  33. 'status': 1,
  34. }