task.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 flask import current_app
  14. from wtforms import TextField, IntegerField
  15. from wtforms import validators
  16. from walle.model.project import ProjectModel
  17. from walle.model.task import TaskModel
  18. class TaskForm(Form):
  19. name = TextField('name', [validators.Length(min=1)])
  20. project_id = IntegerField('project_id', [validators.NumberRange(min=1)])
  21. servers = TextField('servers', [validators.Length(min=1)])
  22. commit_id = TextField('commit_id', [])
  23. status = IntegerField('status', [])
  24. # TODO 应该增加一个tag/branch其一必填
  25. tag = TextField('tag', [])
  26. branch = TextField('branch', [])
  27. file_transmission_mode = IntegerField('file_transmission_mode', [])
  28. file_list = TextField('file_list', [])
  29. id = None
  30. def set_id(self, id):
  31. self.id = id
  32. def form2dict(self):
  33. project_info = ProjectModel(id=self.project_id.data).item()
  34. task_status = TaskModel.status_new if project_info['enable_audit'] == ProjectModel.enable_audit_true else TaskModel.status_pass
  35. current_app.logger.info(project_info)
  36. current_app.logger.info(project_info['enable_audit'])
  37. current_app.logger.info(task_status)
  38. return {
  39. 'name': self.name.data if self.name.data else '',
  40. # todo
  41. 'user_id': 1,
  42. 'project_id': self.project_id.data,
  43. # todo default value
  44. 'action': 0,
  45. 'status': task_status,
  46. 'link_id': '',
  47. 'ex_link_id': '',
  48. 'servers': self.servers.data if self.servers.data else '',
  49. 'commit_id': self.commit_id.data if self.commit_id.data else '',
  50. 'tag': self.tag.data if self.tag.data else '',
  51. 'branch': self.branch.data if self.branch.data else '',
  52. 'file_transmission_mode': self.file_transmission_mode.data if self.file_transmission_mode.data else 0,
  53. 'file_list': self.file_list.data if self.file_list.data else '',
  54. 'enable_rollback': 1,
  55. }